Version Description
- 2022-02-22 =
- Add support for inverted style patterns
- Improve library loading time
- Add pattern library variants to open the library
Download this release
Release Info
Developer | extendify |
Plugin | Extendify — Gutenberg Patterns and Templates |
Version | 0.5.0 |
Comparing to | |
See all releases |
Code changes from version 0.4.0 to 0.5.0
- app/Admin.php +1 -0
- app/App.php +1 -1
- app/Controllers/UserController.php +11 -0
- extendify.php +1 -1
- jsconfig.json +8 -0
- loader.php +1 -1
- public/build/extendify.css +1 -1
- public/build/extendify.js +1 -1
- readme.txt +12 -3
- routes/api.php +1 -0
- src/ExtendifyLibrary.js +21 -17
- src/api/General.js +6 -1
- src/api/Templates.js +14 -2
- src/api/User.js +15 -2
- src/api/axios.js +4 -3
- src/app.css +8 -8
- src/app.js +7 -7
- src/blocks/block-category.js +14 -0
- src/blocks/blocks.js +1 -0
- src/blocks/library/block.js +105 -3
- src/blocks/library/block.json +4 -2
- src/buttons.js +6 -6
- src/components/DevHelpers.js +17 -12
- src/components/ImportCounter.js +39 -20
- src/components/ImportTemplateBlock.js +18 -14
- src/components/LibraryAccessModal.js +4 -5
- src/components/MainButtons.js +19 -6
- src/components/SiteTypeSelector.js +17 -17
- src/components/TaxonomySection.js +5 -5
- src/components/TypeSelect.js +4 -4
- src/components/modals/InstallStandaloneModal.js +12 -12
- src/components/modals/Modal.js +9 -9
- src/components/modals/NoImportModal.js +20 -11
- src/components/modals/ProModal.js +15 -6
- src/components/modals/SplitModal.js +7 -7
- src/components/modals/settings/DevSettings.js +86 -0
- src/components/{LoginInterface.js → modals/settings/LoginInterface.js} +51 -29
- src/components/modals/{SettingsModal.js → settings/SettingsModal.js} +7 -5
- src/components/notices/FeedbackNotice.js +13 -4
- src/components/notices/FooterNotice.js +13 -11
- src/components/notices/InstallStandaloneNotice.js +7 -7
- src/components/notices/PromotionNotice.js +12 -3
- src/components/notices/WelcomeNotice.js +15 -7
- src/components/popovers/NewImportsPopover.js +2 -2
- src/hooks/helpers.js +7 -3
- src/hooks/useModal.js +4 -4
- src/hooks/useTaxonomies.js +0 -27
- src/hooks/useTestGroup.js +16 -0
- src/listeners/index.js +2 -1
- src/listeners/softerror-encountered.js +2 -2
- src/listeners/template-inserted.js +2 -2
- src/middleware/NeedsPermissionModal.js +4 -4
- src/middleware/ReloadRequiredModal.js +2 -2
- src/middleware/hasPluginsActivated/ActivatePluginsModal.js +6 -6
- src/middleware/hasPluginsActivated/ActivatingModal.js +4 -4
- src/middleware/hasPluginsActivated/ErrorActivating.js +1 -1
- src/middleware/hasPluginsActivated/index.js +1 -1
- src/middleware/hasRequiredPlugins/ErrorInstalling.js +1 -1
- src/middleware/hasRequiredPlugins/InstallingModal.js +4 -4
- src/middleware/hasRequiredPlugins/RequiredPluginsModal.js +6 -6
- src/middleware/hasRequiredPlugins/index.js +1 -1
- src/middleware/helpers.js +8 -8
- src/middleware/index.js +1 -1
- src/pages/GridView.js +50 -21
- src/pages/MainWindow.js +20 -8
- src/pages/Sidebar.js +14 -14
- src/pages/layout/HasSidebar.js +8 -5
- src/pages/layout/Layout.js +17 -15
- src/pages/layout/Toolbar.js +10 -10
- src/state/GlobalState.js +32 -29
- src/state/SiteSettings.js +1 -1
- src/state/Taxonomies.js +13 -1
- src/state/Templates.js +114 -105
- src/state/User.js +51 -2
- src/util/general.js +1 -1
- src/utility-control/index.js +2 -3
app/Admin.php
CHANGED
@@ -129,6 +129,7 @@ class Admin
|
|
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');
|
129 |
'sdk_partner' => \esc_attr(APP::$sdkPartner),
|
130 |
'asset_path' => \esc_url(EXTENDIFY_URL . 'public/assets'),
|
131 |
'standalone' => \esc_attr(APP::$standalone),
|
132 |
+
'devbuild' => \esc_attr(APP::$environment === 'DEVELOPMENT'),
|
133 |
]
|
134 |
);
|
135 |
\wp_enqueue_script(App::$slug . '-scripts');
|
app/App.php
CHANGED
@@ -83,7 +83,7 @@ class App
|
|
83 |
*/
|
84 |
public function __construct()
|
85 |
{
|
86 |
-
if (isset($GLOBALS['extendify_sdk_partner'])) {
|
87 |
self::$sdkPartner = $GLOBALS['extendify_sdk_partner'];
|
88 |
}
|
89 |
|
83 |
*/
|
84 |
public function __construct()
|
85 |
{
|
86 |
+
if (isset($GLOBALS['extendify_sdk_partner']) && $GLOBALS['extendify_sdk_partner']) {
|
87 |
self::$sdkPartner = $GLOBALS['extendify_sdk_partner'];
|
88 |
}
|
89 |
|
app/Controllers/UserController.php
CHANGED
@@ -55,6 +55,17 @@ class UserController
|
|
55 |
return new \WP_REST_Response(User::state());
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/**
|
59 |
* Sign up the user to the mailing list.
|
60 |
*
|
55 |
return new \WP_REST_Response(User::state());
|
56 |
}
|
57 |
|
58 |
+
/**
|
59 |
+
* Delete the data
|
60 |
+
*
|
61 |
+
* @return array
|
62 |
+
*/
|
63 |
+
public static function delete()
|
64 |
+
{
|
65 |
+
\delete_user_meta(\get_current_user_id(), 'extendifysdk_user_data');
|
66 |
+
return new \WP_REST_Response(User::state());
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* Sign up the user to the mailing list.
|
71 |
*
|
extendify.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Plugin URI: https://extendify.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
|
6 |
* Author: Extendify
|
7 |
* Author URI: https://extendify.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
|
8 |
-
* Version: 0.
|
9 |
* License: GPL-2.0-or-later
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
* Text Domain: extendify
|
5 |
* Plugin URI: https://extendify.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
|
6 |
* Author: Extendify
|
7 |
* Author URI: https://extendify.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
|
8 |
+
* Version: 0.5.0
|
9 |
* License: GPL-2.0-or-later
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
* Text Domain: extendify
|
jsconfig.json
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"compilerOptions": {
|
3 |
+
"baseUrl": "./",
|
4 |
+
"paths": {
|
5 |
+
"@extendify/*": ["src/*"]
|
6 |
+
}
|
7 |
+
}
|
8 |
+
}
|
loader.php
CHANGED
@@ -37,7 +37,7 @@ if ($extendifyPluginName) {
|
|
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 |
}
|
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'] = 'standalone';
|
41 |
return false;
|
42 |
}
|
43 |
}
|
public/build/extendify.css
CHANGED
@@ -1 +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 .group:focus .group-focus\:visible,div.extendify .group:hover .group-hover\:visible{visibility:visible!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 .group:hover .group-hover\:-top-2{top:-.5rem!important}div.extendify .group:hover .group-hover\:-top-2\.5{top:-.625rem!important}div.extendify .group:focus .group-focus\:-top-2{top:-.5rem!important}div.extendify .group:focus .group-focus\:-top-2\.5{top:-.625rem!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-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\.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-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 .inline-block{display:inline-block!important}div.extendify .flex{display:flex!important}div.extendify .inline-flex{display:inline-flex!important}div.extendify .table{display:table!important}div.extendify .grid{display:grid!important}div.extendify .hidden{display:none!important}div.extendify .h-0{height:0!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-screen{min-height:100vh!important}div.extendify .w-0{width:0!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-6\/12{width:50%!important}div.extendify .w-7\/12{width:58.333333%!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-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 .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 .gap-6{gap:1.5rem!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-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*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-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 .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-transparent{border-color:transparent!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-50{--tw-bg-opacity:1!important;background-color:rgba(251,251,251,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-cover{background-size:cover!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-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 .group:focus .group-focus\:opacity-100,div.extendify .group:hover .group-hover\:opacity-100,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 .delay-200{transition-delay:.2s!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}div.extendify button.extendify-skip-to-sr-link:focus{--tw-bg-opacity:1!important;background-color:rgba(255,255,255,var(--tw-bg-opacity))!important;padding:1rem!important;position:fixed!important;top:0!important;z-index:99999!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,.035),0 0 1px rgba(0,0,0,.025)!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}.extendify-tooltip-default:not(.is-without-arrow)[data-y-axis=bottom]:after{border-bottom-color:#1e1e1e!important}.extendify-tooltip-default:not(.is-without-arrow):before{border-color:transparent!important}.extendify-tooltip-default:not(.is-without-arrow) .components-popover__content{--tw-bg-opacity:1!important;--tw-text-opacity:1!important;background-color:rgba(30,30,30,var(--tw-bg-opacity))!important;border-color:transparent!important;color:rgba(255,255,255,var(--tw-text-opacity))!important;min-width:250px!important;padding:1rem!important}.extendify-bottom-arrow:after{--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;--tw-translate-y:-1px!important;border-color:#1e1e1e transparent transparent!important;border-width:8px!important;bottom:-15px!important;content:""!important;display:inline-block!important;height:0!important;position:absolute!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;width:0!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\:-ml-8{margin-left:-2rem!important}div.extendify .md\:block{display:block!important}div.extendify .md\:flex{display:flex!important}div.extendify .md\:max-w-2xl{max-width:42rem!important}div.extendify .md\:gap-8{gap:2rem!important}div.extendify .md\: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 .md\:p-8{padding:2rem!important}div.extendify .md\:px-8{padding-right:2rem!important}div.extendify .md\:pl-8,div.extendify .md\:px-8{padding-left:2rem!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\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}div.extendify .lg\:overflow-hidden{overflow:hidden!important}div.extendify .lg\:p-16{padding:4rem!important}}
|
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 .group:focus .group-focus\:visible,div.extendify .group:hover .group-hover\:visible{visibility:visible!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 .group:hover .group-hover\:-top-2{top:-.5rem!important}div.extendify .group:hover .group-hover\:-top-2\.5{top:-.625rem!important}div.extendify .group:focus .group-focus\:-top-2{top:-.5rem!important}div.extendify .group:focus .group-focus\:-top-2\.5{top:-.625rem!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-px{margin-top:1px!important}div.extendify .-mt-2{margin-top:-.5rem!important}div.extendify .-mt-6{margin-top:-1.5rem!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-2{margin-left:.5rem!important}div.extendify .ml-4{margin-left:1rem!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 .inline-block{display:inline-block!important}div.extendify .flex{display:flex!important}div.extendify .inline-flex{display:inline-flex!important}div.extendify .table{display:table!important}div.extendify .grid{display:grid!important}div.extendify .hidden{display:none!important}div.extendify .h-0{height:0!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-screen{min-height:100vh!important}div.extendify .w-0{width:0!important}div.extendify .w-6{width:1.5rem!important}div.extendify .w-72{width:18rem!important}div.extendify .w-auto{width:auto!important}div.extendify .w-6\/12{width:50%!important}div.extendify .w-7\/12{width:58.333333%!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-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-px{--tw-translate-y:-1px!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 .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 .gap-6{gap:1.5rem!important}div.extendify .space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(0px*var(--tw-space-x-reverse))!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-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.75rem*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-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.125rem*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-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 .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0!important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse))!important;border-top-width:calc(1px*(1 - var(--tw-divide-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-l-8{border-left-width:8px!important}div.extendify .border-solid{border-style:solid!important}div.extendify .border-none{border-style:none!important}div.extendify .border-transparent{border-color:transparent!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-secondary{--tw-border-opacity:1!important;border-color:rgba(203,195,245,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-50{--tw-bg-opacity:1!important;background-color:rgba(251,251,251,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-cover{background-size:cover!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-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-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 .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 .italic{font-style:italic!important}div.extendify .leading-none{line-height:1!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-500{--tw-text-opacity:1!important;color:rgba(204,204,204,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 .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 .focus\:opacity-100:focus,div.extendify .group:focus .group-focus\:opacity-100,div.extendify .group:hover .group-hover\:opacity-100,div.extendify .hover\:opacity-100:hover,div.extendify .opacity-100{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}div.extendify .focus\:shadow-none:focus,div.extendify .shadow-modal{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}div.extendify .focus\:shadow-none:focus{--tw-shadow:0 0 #0000!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 .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 .delay-200{transition-delay:.2s!important}div.extendify .duration-100{transition-duration:.1s!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}div.extendify button.extendify-skip-to-sr-link:focus{--tw-bg-opacity:1!important;background-color:rgba(255,255,255,var(--tw-bg-opacity))!important;padding:1rem!important;position:fixed!important;top:0!important;z-index:99999!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,.035),0 0 1px rgba(0,0,0,.025)!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}.extendify-tooltip-default:not(.is-without-arrow)[data-y-axis=bottom]:after{border-bottom-color:#1e1e1e!important}.extendify-tooltip-default:not(.is-without-arrow):before{border-color:transparent!important}.extendify-tooltip-default:not(.is-without-arrow) .components-popover__content{--tw-bg-opacity:1!important;--tw-text-opacity:1!important;background-color:rgba(30,30,30,var(--tw-bg-opacity))!important;border-color:transparent!important;color:rgba(255,255,255,var(--tw-text-opacity))!important;min-width:250px!important;padding:1rem!important}.extendify-bottom-arrow:after{--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;--tw-translate-y:-1px!important;border-color:#1e1e1e transparent transparent!important;border-width:8px!important;bottom:-15px!important;content:""!important;display:inline-block!important;height:0!important;position:absolute!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;width:0!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\:-ml-8{margin-left:-2rem!important}div.extendify .md\:block{display:block!important}div.extendify .md\:flex{display:flex!important}div.extendify .md\:max-w-2xl{max-width:42rem!important}div.extendify .md\:gap-8{gap:2rem!important}div.extendify .md\: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 .md\:p-8{padding:2rem!important}div.extendify .md\:px-8{padding-right:2rem!important}div.extendify .md\:pl-8,div.extendify .md\:px-8{padding-left:2rem!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\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}div.extendify .lg\:overflow-hidden{overflow:hidden!important}div.extendify .lg\:p-16{padding:4rem!important}}
|
public/build/extendify.js
CHANGED
@@ -1,2 +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}}},147:(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 C(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}(C(e))}),(function(e){return function(e){if(e.response)return console.error(e.response),Promise.reject(C(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 S=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(){return k.get("max-free-imports")};function N(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 A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){P(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function P(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e){return function(e){if(Array.isArray(e))return I(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 I(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 I(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 I(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 L(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 M(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){L(i,r,o,a,s,"next",e)}function s(e){L(i,r,o,a,s,"throw",e)}a(void 0)}))}}var R,D,F={getItem:(D=M(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(){return D.apply(this,arguments)}),setItem:(R=M(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 R.apply(this,arguments)}),removeItem:function(){}},B=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)},z=l(x((function(e,t){return{firstLoadedOn:(new Date).toISOString(),email:"",apiKey:"",uuid:"",sdkPartner:"",noticesDismissedAt:{},modalNoticesDismissedAt:{},imports:0,runningImports:0,allowedImports:0,freebieImports:0,entryPoint:"not-set",enabled:B(),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(T(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:{},P({},n,r)),n="taxonomies");e({preferredOptions:A({},Object.assign({},t().preferredOptions,P({},n,r)))})},markNoticeSeen:function(n,r){e(P({},"".concat(r,"DismissedAt"),A(A({},t()["".concat(r,"DismissedAt")]),{},P({},n,(new Date).toISOString()))))}}}),{name:"extendify-user",getStorage:function(){return F}})),U=l(x((function(e){return{taxonomies:{},setTaxonomies:function(t){return e({taxonomies:t})}}}),{name:"extendify-taxonomies"}));function W(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 q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){$(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(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 H(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,J,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:H(new Map([].concat(H(t().templates),H(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:q({},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 X(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 Y(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 Y(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)?Y(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:G.None;if(l&G.Static){var c=t.static,u=void 0!==c&&c,d=X(t,["static"]);if(u)return ne(d,n,r,s)}if(l&G.RenderStrategy){var f,p=t.unmount,h=void 0===p||p,m=X(t,["unmount"]);return ee(h?J.Unmount:J.Hidden,((f={})[J.Unmount]=function(){return null},f[J.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=X(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"}(G||(G={})),function(e){e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden"}(J||(J={}));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 Ce=(0,o.createContext)(null);function Se(e){return"children"in e?Se(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=J.Hidden);var a=n.current.findIndex((function(t){return t.id===e}));-1!==a&&(ee(o,((i={})[J.Unmount]=function(){n.current.splice(a,1)},i[J.Hidden]=function(){n.current[a].state=je.Hidden},i)),!Se(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,J.Unmount)}}),[n,i]);return(0,o.useMemo)((function(){return{children:n,register:a,unregister:i}}),[a,i,n])}function Ee(){}Ce.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=G.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=X(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?J.Unmount:J.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,C=w.initial,S=function(){var e=(0,o.useContext)(Ce);if(null===e)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}(),O=S.register,E=S.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===J.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=C&&!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&&(Se(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},W=m;return i().createElement(Ce.Provider,{value:A},i().createElement(xe,{value:ee(v,(t={},t[je.Visible]=fe.Open,t[je.Hidden]=fe.Closed,t))},te({props:Z({},W,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=X(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):Se(p)||f(je.Hidden)}),[n,p]);var x={unmount:s};return i().createElement(Ce.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,We=["[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 qe(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(We))}(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 He(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(){qe(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)?qe(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(),qe(o)):(l.current=i,qe(i)):qe(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 Ve=new Set,Ge=new Map;function Je(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function Ke(e){var t=Ge.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 Xe(e){return i().createElement(Ze.Provider,{value:e.force},e.children)}const Ye=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,Ye.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=X(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=G.RenderStrategy|G.Static,yt=re((function(e,t){var n,r=e.open,a=e.onClose,s=e.initialFocus,l=X(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]),C=(0,o.useCallback)((function(e){return j({type:ct.SetTitleId,id:e})}),[j]),S=se()&&v===lt.Open,O=u>1,E=null!==(0,o.useContext)(pt);He(h,S?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;Ve.add(n);for(var r,o=Q(Ge.keys());!(r=o()).done;){var i=r.value;i.contains(n)&&(Ke(i),Ge.delete(i))}return document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement){for(var t,n=Q(Ve);!(t=n()).done;){var r=t.value;if(e.contains(r))return}1===Ve.size&&(Ge.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),Je(e))}})),function(){if(Ve.delete(n),Ve.size>0)document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement&&!Ge.has(e)){for(var t,n=Q(Ve);!(t=n()).done;){var r=t.value;if(e.contains(r))return}Ge.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),Je(e)}}));else for(var e,t=Q(Ge.keys());!(e=t()).done;){var r=e.value;Ke(r),Ge.delete(r)}}}}),[t])}(h,!!O&&S),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:C},w]}),[v,w,k,C]),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(Xe,{force:!0},i().createElement(tt,null,i().createElement(pt.Provider,{value:T},i().createElement(tt.Group,{target:h},i().createElement(Xe,{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 Ct=lodash;var St=function(e){return Ot(e,"open")};function Ot(){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 Et(e){switch(e){case"editorplus":return"Editor Plus";case"ml-slider":return"MetaSlider"}return e}function _t(e){switch(e){case"siteType":return"Site Type";case"patternType":return"Content";case"layoutType":return"Page Types"}}var Nt=n(246);function At(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,Nt.jsx)(wt.PanelBody,{title:_t(t),className:"ext-type-control p-0",initialOpen:!0,children:(0,Nt.jsx)(wt.PanelRow,{children:(0,Nt.jsx)("div",{className:"overflow-hidden w-full relative",children:(0,Nt.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,Nt.jsx)("li",{className:"m-0 w-full",children:(0,Nt.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,Nt.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 Pt(e){return Array.isArray?Array.isArray(e):"[object Array]"===Ft(e)}function Tt(e){return"string"==typeof e}function It(e){return"number"==typeof e}function Lt(e){return!0===e||!1===e||function(e){return Mt(e)&&null!==e}(e)&&"[object Boolean]"==Ft(e)}function Mt(e){return"object"==typeof e}function Rt(e){return null!=e}function Dt(e){return!e.trim().length}function Ft(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Bt=Object.prototype.hasOwnProperty;class zt{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=Ut(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 Ut(e){let t=null,n=null,r=null,o=1;if(Tt(e)||Pt(e))r=e,t=Wt(e),n=qt(e);else{if(!Bt.call(e,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const i=e.name;if(r=i,Bt.call(e,"weight")&&(o=e.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=Wt(i),n=qt(i)}return{path:t,id:n,weight:o,src:r}}function Wt(e){return Pt(e)?e:e.split(".")}function qt(e){return Pt(e)?e.join("."):e}var $t={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(Rt(e))if(t[i]){const a=e[t[i]];if(!Rt(a))return;if(i===t.length-1&&(Tt(a)||It(a)||Lt(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(Pt(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,Tt(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const Ht=/[^ ]+/g;class Vt{constructor({getFn:e=$t.getFn,fieldNormWeight:t=$t.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,r=Math.pow(10,t);return{get(t){const o=t.match(Ht).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,Tt(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();Tt(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(!Rt(e)||Dt(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(Rt(o))if(Pt(o)){let e=[];const t=[{nestedArrIndex:-1,value:o}];for(;t.length;){const{nestedArrIndex:n,value:r}=t.pop();if(Rt(r))if(Tt(r)&&!Dt(r)){let t={v:r,i:n,n:this.norm.get(r)};e.push(t)}else Pt(r)&&r.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[r]=e}else if(!Dt(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 Gt(e,t,{getFn:n=$t.getFn,fieldNormWeight:r=$t.fieldNormWeight}={}){const o=new Vt({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(Ut)),o.setSources(t),o.create(),o}function Jt(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=$t.distance,ignoreLocation:i=$t.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 Kt=32;function Zt(e,t,n,{location:r=$t.location,distance:o=$t.distance,threshold:i=$t.threshold,findAllMatches:a=$t.findAllMatches,minMatchCharLength:s=$t.minMatchCharLength,includeMatches:l=$t.includeMatches,ignoreLocation:c=$t.ignoreLocation}={}){if(t.length>Kt)throw new Error(`Pattern length exceeds max of ${Kt}.`);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=$t.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 Xt(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=$t.location,threshold:n=$t.threshold,distance:r=$t.distance,includeMatches:o=$t.includeMatches,findAllMatches:i=$t.findAllMatches,minMatchCharLength:a=$t.minMatchCharLength,isCaseSensitive:s=$t.isCaseSensitive,ignoreLocation:l=$t.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:Xt(e),startIndex:t})},u=this.pattern.length;if(u>Kt){let e=0;const t=u%Kt,n=u-t;for(;e<n;)c(this.pattern.substr(e,Kt),e),e+=Kt;if(t){const e=u-Kt;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}=Zt(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 Qt{constructor(e){this.pattern=e}static isMultiMatch(e){return en(e,this.multiRegex)}static isSingleMatch(e){return en(e,this.singleRegex)}search(){}}function en(e,t){const n=e.match(t);return n?n[1]:null}class tn extends Qt{constructor(e,{location:t=$t.location,threshold:n=$t.threshold,distance:r=$t.distance,includeMatches:o=$t.includeMatches,findAllMatches:i=$t.findAllMatches,minMatchCharLength:a=$t.minMatchCharLength,isCaseSensitive:s=$t.isCaseSensitive,ignoreLocation:l=$t.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 nn extends Qt{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 rn=[class extends Qt{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]}}},nn,class extends Qt{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 Qt{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 Qt{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 Qt{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 Qt{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]}}},tn],on=rn.length,an=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;const sn=new Set([tn.type,nn.type]);class ln{constructor(e,{isCaseSensitive:t=$t.isCaseSensitive,includeMatches:n=$t.includeMatches,minMatchCharLength:r=$t.minMatchCharLength,ignoreLocation:o=$t.ignoreLocation,findAllMatches:i=$t.findAllMatches,location:a=$t.location,threshold:s=$t.threshold,distance:l=$t.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(an).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<on;){const e=rn[a];let n=e.isMultiMatch(o);n&&(r.push(new e(n,t)),i=!0)}if(!i)for(a=-1;++a<on;){const e=rn[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;sn.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 cn=[];function un(e,t){for(let n=0,r=cn.length;n<r;n+=1){let r=cn[n];if(r.condition(e,t))return new r(e,t)}return new Yt(e,t)}const dn="$and",fn="$or",pn="$path",hn="$val",mn=e=>!(!e[dn]&&!e[fn]),xn=e=>({[dn]:Object.keys(e).map((t=>({[t]:e[t]})))});function yn(e,t,{auto:n=!0}={}){const r=e=>{let o=Object.keys(e);const i=(e=>!!e[pn])(e);if(!i&&o.length>1&&!mn(e))return r(xn(e));if((e=>!Pt(e)&&Mt(e)&&!mn(e))(e)){const r=i?e[pn]:o[0],a=i?e[hn]:e[r];if(!Tt(a))throw new Error((e=>`Invalid value for key ${e}`)(r));const s={keyId:qt(r),pattern:a};return n&&(s.searcher=un(a,t)),s}let a={children:[],operator:o[0]};return o.forEach((t=>{const n=e[t];Pt(n)&&n.forEach((e=>{a.children.push(r(e))}))})),a};return mn(e)||(e=xn(e)),r(e)}function vn(e,t){const n=e.matches;t.matches=[],Rt(n)&&n.forEach((e=>{if(!Rt(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 gn(e,t){t.score=e.score}class bn{constructor(e,t={},n){this.options={...$t,...t},this.options.useExtendedSearch,this._keyStore=new zt(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||Gt(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){Rt(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=Tt(e)?Tt(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=$t.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),It(t)&&t>-1&&(s=s.slice(0,t)),function(e,t,{includeMatches:n=$t.includeMatches,includeScore:r=$t.includeScore}={}){const o=[];return n&&o.push(vn),r&&o.push(gn),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=un(e,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:e,i:n,n:o})=>{if(!Rt(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=yn(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===dn)return[]}return o},r=this._myIndex.records,o={},i=[];return r.forEach((({$:e,i:r})=>{if(Rt(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=un(e,this.options),{keys:n,records:r}=this._myIndex,o=[];return r.forEach((({$:e,i:r})=>{if(!Rt(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(!Rt(t))return[];let r=[];if(Pt(t))t.forEach((({v:t,i:o,n:i})=>{if(!Rt(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 wn(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 jn(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 jn(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 jn(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}bn.version="6.5.3",bn.createIndex=Gt,bn.parseIndex=function(e,{getFn:t=$t.getFn,fieldNormWeight:n=$t.fieldNormWeight}={}){const{keys:r,records:o}=e,i=new Vt({getFn:t,fieldNormWeight:n});return i.setKeys(r),i.setIndexRecords(o),i},bn.config=$t,bn.parseQuery=yn,function(...e){cn.push(...e)}(ln);var kn=new Map,Cn=function(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=wn((0,r.useState)(!1),2),u=c[0],d=c[1],f=(0,r.useRef)(),p=wn((0,r.useState)({}),2),h=p[0],m=p[1],x=wn((0,r.useState)(""),2),y=x[0],v=x[1],g=wn((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(kn.has(e))w(kn.get(e));else{var t=h.search(e);kn.set(e,null!=t&&t.length?t.map((function(e){return e.item})):j),w(kn.get(e))}},C="unknown"===o.slug||!(null!=o&&o.slug);(0,r.useEffect)((function(){m(new bn(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 S,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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("h4",{className:"mt-4 mb-2 text-left uppercase text-xss text-gray-700 font-medium",children:t}),(0,Nt.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,Nt.jsx)("li",{className:"m-0 mb-1",children:(0,Nt.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,Nt.jsxs)("div",{className:"w-full bg-extendify-transparent-black rounded",children:[(0,Nt.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:(S=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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsxs)("span",{className:"flex flex-col text-left",children:[(0,Nt.jsx)("span",{className:"text-sm mb-1",children:(0,bt.__)("Site Type","extendify")}),(0,Nt.jsx)("span",{className:"font-light text-xs",children:S})]}),(0,Nt.jsxs)("span",{className:"flex items-center space-x-4",children:[C&&!u&&(0,Nt.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,Nt.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,Nt.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,Nt.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,Nt.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,Nt.jsx)("path",{d:"M1.24194 11.5952L6.24194 6.09519L1.24194 0.595215",strokeWidth:"1.5"})})]})]}))}),u&&(0,Nt.jsxs)("div",{className:"p-4 pt-0 overflow-y-auto max-h-96",children:[(0,Nt.jsxs)("div",{className:"relative my-2",children:[(0,Nt.jsx)("label",{htmlFor:"site-type-search",className:"sr-only",children:(0,bt.__)("Search","extendify")}),(0,Nt.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,Nt.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,Nt.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,Nt.jsx)("p",{className:"text-left",children:(0,bt.__)("Nothing found...","extendify")}),b===j&&Object.keys(s).length>0&&(0,Nt.jsx)("div",{className:"mb-8",children:O(s,(0,bt.__)("Recent","extendify"))}),b.length>0&&(0,Nt.jsx)("div",{children:O(b)}),C?null:(0,Nt.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})},On=e=>(0,r.createElement)("circle",e),En=e=>(0,r.createElement)("g",e),_n=e=>(0,r.createElement)("path",e),Nn=e=>(0,r.createElement)("rect",e),An=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 Pn=(0,Nt.jsxs)(An,{viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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 Tn=(0,Nt.jsx)(An,{fill:"none",viewBox:"0 0 25 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)(_n,{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 In=(0,Nt.jsx)(An,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)(_n,{clipRule:"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",fillRule:"evenodd"})});const Ln=(0,Nt.jsx)(An,{fill:"none",width:"150",height:"30",viewBox:"0 0 2524 492",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsxs)(En,{fill:"currentColor",children:[(0,Nt.jsx)(_n,{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,Nt.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,Nt.jsx)("path",{d:"m994.142 125h155.998v51h-155.998zm108.498 247h-61v-324h61z"}),(0,Nt.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,Nt.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,Nt.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,Nt.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,Nt.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,Nt.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,Nt.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 Mn=(0,Nt.jsx)(An,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)("path",{d:"m11.9893 2.59931c-.1822.00285-.3558.07789-.4827.20864s-.1967.30653-.1941.48871v1.375c-.0013.0911.0156.18155.0495.26609.034.08454.0844.16149.1484.22637s.1402.11639.2242.15156c.0841.03516.1743.05327.2654.05327s.1813-.01811.2654-.05327c.084-.03517.1603-.08668.2242-.15156.064-.06488.1144-.14183.1484-.22637s.0508-.17499.0495-.26609v-1.375c.0013-.09202-.0158-.18337-.0505-.26863-.0346-.08526-.086-.1627-.1511-.22773s-.1426-.11633-.2279-.15085c-.0853-.03453-.1767-.05158-.2687-.05014zm-5.72562.46013c-.1251.00033-.24775.0348-.35471.09968-.10697.06488-.19421.15771-.25232.2685-.05812.1108-.0849.23534-.07747.36023.00744.12488.0488.24537.11964.34849l.91667 1.375c.04939.07667.11354.14274.18872.19437.07517.05164.15987.0878.24916.10639.08928.01858.18137.01922.27091.00187.08953-.01734.17472-.05233.2506-.10292.07589-.05059.14095-.11577.1914-.19174.05045-.07598.08528-.16123.10246-.2508.01719-.08956.01638-.18165-.00237-.2709s-.05507-.17388-.10684-.24897l-.91666-1.375c-.06252-.09667-.14831-.1761-.2495-.231-.1012-.0549-.21456-.08351-.32969-.0832zm11.45212 0c-.1117.00307-.2209.03329-.3182.08804-.0973.05474-.1798.13237-.2404.22616l-.9167 1.375c-.0518.07509-.0881.15972-.1068.24897-.0188.08925-.0196.18134-.0024.2709.0172.08957.052.17482.1024.2508.0505.07597.1156.14115.1914.19174.0759.05059.1611.08558.2506.10292.0896.01735.1817.01671.271-.00187.0892-.01859.1739-.05475.2491-.10639.0752-.05163.1393-.1177.1887-.19437l.9167-1.375c.0719-.10456.1135-.22698.1201-.3537s-.022-.25281-.0826-.36429c-.0606-.11149-.1508-.20403-.2608-.26738-.11-.06334-.2353-.09502-.3621-.09153zm-9.61162 3.67472c-.09573-.00001-.1904.01998-.27795.05867-.08756.03869-.16607.09524-.23052.16602l-4.58333 5.04165c-.11999.1319-.18407.3052-.17873.4834.00535.1782.0797.3473.20738.4718l8.47917 8.25c.1284.1251.3006.1951.4798.1951.1793 0 .3514-.07.4798-.1951l8.4792-8.25c.1277-.1245.202-.2936.2074-.4718.0053-.1782-.0588-.3515-.1788-.4834l-4.5833-5.04165c-.0644-.07078-.1429-.12733-.2305-.16602s-.1822-.05868-.278-.05867h-3.877zm.30436 1.375h2.21646l-2.61213 3.48314c-.04258.0557-.07639.1176-.10026.1835h-2.83773zm4.96646 0h2.2165l3.3336 3.66664h-2.8368c-.0241-.066-.0582-.1278-.1011-.1835zm-1.375.45833 2.4063 3.20831h-4.81254zm-6.78637 4.58331h2.70077c.00665.0188.01412.0374.02238.0555l2.11442 4.6505zm4.20826 0h5.15621l-2.5781 5.6719zm6.66371 0h2.7008l-4.8376 4.706 2.1144-4.6505c.0083-.0181.0158-.0367.0224-.0555z",fill:"#000"})});const Rn=(0,Nt.jsxs)(An,{viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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 Dn=(0,Nt.jsxs)(An,{viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.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,Nt.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 Fn=(0,Nt.jsxs)(An,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(_n,{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",strokeWidth:"1.25",fill:"none"}),(0,Nt.jsxs)(En,{fill:"currentColor",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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 Bn=(0,Nt.jsx)(An,{fill:"none",height:"25",viewBox:"0 0 25 25",width:"25",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)(_n,{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 zn=(0,Nt.jsx)(An,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsxs)(En,{stroke:"currentColor",strokeWidth:"1.5",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{d:"m9.25 19v-14"})]})});const Un=(0,Nt.jsxs)(An,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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 Wn=(0,Nt.jsxs)(An,{fill:"none",viewBox:"0 0 151 148",width:"151",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(On,{cx:"65.6441",cy:"66.6114",fill:"#0b4a43",r:"65.3897"}),(0,Nt.jsxs)(En,{fill:"#cbc3f5",stroke:"#0b4a43",children:[(0,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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,Nt.jsx)(Nn,{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,Nt.jsx)(Nn,{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,Nt.jsx)(Nn,{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,Nt.jsx)(Nn,{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,Nt.jsx)(_n,{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,Nt.jsx)(_n,{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 qn=(0,Nt.jsxs)(An,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Nt.jsx)(On,{cx:"12",cy:"12",r:"7.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,Nt.jsx)(On,{cx:"12",cy:"12",r:"4.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,Nt.jsx)(On,{cx:"11.9999",cy:"12.2",r:"6",transform:"rotate(-45 11.9999 12.2)",stroke:"currentColor",strokeWidth:"3",strokeDasharray:"1.5 4"})]});const $n=(0,Nt.jsx)(An,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)(_n,{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 Hn=(0,Nt.jsx)(An,{fill:"none",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg",children:(0,Nt.jsx)(_n,{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"})});function Vn(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}var Gn=(0,r.memo)((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?Rn:Pn,s=(0,r.useRef)();return(0,r.useEffect)((function(){if(t<1||!t){_().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,Nt.jsxs)("div",{tabIndex:"0",className:"group relative",children:[(0,Nt.jsxs)("a",{target:"_blank",ref:s,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,Nt.jsxs)("span",{className:"flex items-center space-x-2 no-underline text-xs",children:[(0,Nt.jsx)(Sn,{icon:a,size:14}),(0,Nt.jsx)("span",{children:(0,bt.sprintf)((0,bt._n)("%s Import","%s Imports",n,"extendify"),n)})]}),(0,Nt.jsxs)("span",{className:"text-white text-sm no-underline font-medium outline-none flex items-center",children:[(0,bt.__)("Get more","extendify"),(0,Nt.jsx)(Sn,{icon:Bn,size:24,className:"-mr-1.5"})]})]}),(0,Nt.jsx)("div",{className:"invisible opacity-0 -translate-y-full absolute duration-300 delay-200 ease-in-out group-hover:-top-2.5 group-hover:opacity-100 group-hover:visible group-focus:-top-2.5 group-focus:opacity-100 group-focus:visible top-0 transform transition-all w-full extendify-bottom-arrow shadow-md",tabIndex:"-1",children:(0,Nt.jsx)("a",{href:"https://www.extendify.com/pricing/?utm_source=".concat(encodeURIComponent(window.extendifyData.sdk_partner),"&utm_medium=library&utm_campaign=import-counter-tooltip&utm_content=get-50-off&utm_term=").concat(o),className:"block bg-gray-900 text-white p-4 no-underline rounded bg-cover",style:{backgroundImage:"url(".concat(window.extendifyData.asset_path,"/logo-tips.png)")},children:(0,Nt.jsx)("span",{dangerouslySetInnerHTML:{__html:Vn((0,bt.sprintf)((0,bt.__)("%1$sGet %2$s off%3$s Extendify Pro when you upgrade today!","extendify"),"<strong>","50%","</strong>"))}})})})]}):null}));var Jn=(0,r.memo)((function(){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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("div",{className:"hidden sm:flex px-5 -ml-1.5 text-extendify-black",children:(0,Nt.jsx)(Sn,{icon:In,size:40})}),(0,Nt.jsx)("div",{className:"px-5",children:(0,Nt.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,Nt.jsx)(Sn,{icon:Fn,size:24}),(0,Nt.jsx)("span",{className:"text-sm",children:(0,bt.__)("Featured","extendify")})]})}),(0,Nt.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,Nt.jsx)(Cn,{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,Nt.jsx)("div",{className:"mt-px flex-grow hidden overflow-y-auto pb-32 pt-px sm:block",children:(0,Nt.jsx)(wt.Panel,{className:"bg-transparent",children:(0,Nt.jsx)(At,{taxType:u,taxonomies:i[u]})})}),!c.length&&(0,Nt.jsx)("div",{className:"px-5",children:(0,Nt.jsx)(Gn,{})})]})}));function Kn(e){var t=e.children;return(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.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,Nt.jsx)("div",{className:"flex flex-col h-full sm:w-64 py-6 sm:py-0 sm:space-y-6",children:t[0]})}),(0,Nt.jsx)("main",{id:"extendify-templates",className:"bg-gray-50 w-full pt-6 sm:pt-0 h-full overflow-hidden",children:t[1]})]})}const Zn=(0,r.createElement)(An,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(_n,{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 Xn=function(e){var t=e.className,n=K((function(e){return e.updateType})),r=g((function(e){var t;return null!==(t=null==e?void 0:e.currentType)&&void 0!==t?t:"pattern"}));return(0,Nt.jsxs)("div",{className:t,children:[(0,Nt.jsx)("h4",{className:"sr-only",children:(0,bt.__)("Type select","extendify")}),(0,Nt.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,Nt.jsx)("span",{className:"",children:(0,bt.__)("Patterns","extendify")})}),(0,Nt.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,Nt.jsx)("span",{className:"",children:(0,bt.__)("Page Layouts","extendify")})})]})};function Yn(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 Qn(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 Qn(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 Qn(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 er(){var e=(0,r.useRef)(!1);return(0,r.useEffect)((function(){return e.current=!0,function(){return e.current=!1}})),e}var tr=function(){var e=Yn((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 nr(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 rr(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 or(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 or(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 or(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 ir(e){var t=e.actionCallback,n=e.initialFocus,o=z((function(e){return e.apiKey.length})),i=rr((0,r.useState)(""),2),a=i[0],s=i[1],l=rr((0,r.useState)(""),2),c=l[0],u=l[1],d=rr((0,r.useState)(""),2),f=d[0],p=d[1],h=rr((0,r.useState)("info"),2),m=h[0],x=h[1],y=rr((0,r.useState)(!1),2),v=y[0],g=y[1],b=rr((0,r.useState)(!1),2),j=b[0],k=b[1],C=(0,r.useRef)(null),S=(0,r.useRef)(null),E=tr();(0,r.useEffect)((function(){return s(z.getState().email),function(){return x("info")}}),[]),(0,r.useEffect)((function(){var e;j&&(null==C||null===(e=C.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){nr(i,r,o,a,s,"next",e)}function s(e){nr(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();return j?(0,Nt.jsxs)("section",{className:"w-80 space-y-8 text-center pt-2 pb-4",children:[(0,Nt.jsx)(Sn,{icon:Wn,size:148}),(0,Nt.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,Nt.jsx)(wt.Button,{ref:C,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,Nt.jsxs)("section",{className:"space-y-8 w-full pb-2",children:[(0,Nt.jsx)("p",{className:"text-base text-extendify-black leading-extra-tight",children:(0,bt.__)("Account","extendify")}),(0,Nt.jsxs)("div",{className:"flex justify-between items-center",children:[(0,Nt.jsxs)("div",{className:"flex items-center space-x-2 -ml-2",children:[(0,Nt.jsx)(Sn,{icon:Hn,size:48}),(0,Nt.jsx)("p",{className:"text-extendify-black",children:null!=a&&a.length?a:(0,bt.__)("Logged In","extendify")})]}),E&&(0,Nt.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==S||null===(e=S.current)||void 0===e||e.focus()}),0)},children:(0,bt.__)("Sign out","extendify")})]})]}):(0,Nt.jsxs)("section",{className:"w-80 text-left space-y-8 pb-6",children:[(0,Nt.jsxs)("div",{children:[(0,Nt.jsx)("p",{className:"text-lg text-extendify-black text-center leading-extra-tight font-semibold",children:(0,bt.__)("Sign in to Extendify","extendify")}),(0,Nt.jsxs)("p",{className:"text-sm text-extendify-gray text-center space-x-1 leading-extra-tight",children:[(0,Nt.jsx)("span",{children:(0,bt.__)("Don't have an account?","extendify")}),(0,Nt.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,Nt.jsxs)("form",{onSubmit:_,className:"space-y-2",children:[(0,Nt.jsxs)("div",{className:"flex items-center",children:[(0,Nt.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-email",children:(0,bt.__)("Email address","extendify")}),(0,Nt.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,Nt.jsxs)("div",{className:"flex items-center",children:[(0,Nt.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-license",children:(0,bt.__)("License key","extendify")}),(0,Nt.jsx)("input",{ref:S,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,Nt.jsx)("div",{className:"pt-2 flex justify-center",children:(0,Nt.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,Nt.jsx)("span",{children:(0,bt.__)("Sign In","extendify")}),v&&(0,Nt.jsx)("div",{className:"absolute right-2.5",children:(0,Nt.jsx)(wt.Spinner,{})})]})}),f&&(0,Nt.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,Nt.jsx)("div",{className:"text-center pt-4",children:(0,Nt.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 ar(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 sr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ar(Object(n),!0).forEach((function(t){lr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ar(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cr=(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,Nt.jsx)(Ie,{appear:!0,show:o,as:r.Fragment,className:"extendify",children:(0,Nt.jsx)(gt,{initialFocus:null!=t?t:l,onClose:a,children:(0,Nt.jsxs)("div",{className:"fixed z-high inset-0 flex",children:[(0,Nt.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-200 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Nt.jsx)(gt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40"})}),(0,Nt.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,Nt.jsx)("div",{className:"m-auto relative w-full",children:(0,Nt.jsxs)("div",{className:"bg-white shadow-modal items-center justify-center m-auto max-w-lg relative rounded-sm w-full",children:[i?(0,Nt.jsxs)("div",{className:"border-b flex justify-between items-center leading-none pl-8 py-2 pr-3",children:[(0,Nt.jsx)("span",{className:"text-base text-extendify-black whitespace-nowrap",children:i}),(0,Nt.jsx)(ur,{onClick:a})]}):(0,Nt.jsx)("div",{className:"absolute block px-4 py-4 top-0 right-0 ",children:(0,Nt.jsx)(ur,{ref:l,onClick:a})}),(0,Nt.jsx)("div",{children:s})]})})})]})})})})),ur=(0,r.forwardRef)((function(e,t){return(0,Nt.jsx)(wt.Button,sr(sr({},e),{},{icon:(0,Nt.jsx)(Sn,{icon:Zn}),ref:t,className:"text-extendify-black opacity-75 hover:opacity-100",showTooltip:!1,label:(0,bt.__)("Close dialog","extendify")}))}));function dr(){var e=(0,r.useRef)(null),t=g((function(e){return e.removeAllModals}));return(0,Nt.jsx)(cr,{heading:(0,bt.__)("Settings","extendify"),isOpen:!0,ref:e,children:(0,Nt.jsx)("div",{className:"flex p-6 justify-center",children:(0,Nt.jsx)(ir,{initialFocus:e,actionCallback:t})})})}var fr=(0,r.memo)((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,Nt.jsx)("div",{className:t,children:(0,Nt.jsxs)("div",{className:"flex justify-between items-center h-full",children:[(0,Nt.jsx)("div",{className:"flex-1"}),(0,Nt.jsx)(Xn,{className:"flex-1 flex items-center justify-center"}),(0,Nt.jsxs)("div",{className:"flex-1 flex justify-end items-center",children:[(0,Nt.jsx)(wt.Button,{onClick:function(){return r((0,Nt.jsx)(dr,{}))},icon:(0,Nt.jsx)(Sn,{icon:Hn,size:24}),label:(0,bt.__)("Login and settings area","extendify"),children:o?"":(0,bt.__)("Sign in","extendify")}),(0,Nt.jsx)(wt.Button,{onClick:function(){return n(!1)},icon:(0,Nt.jsx)(Sn,{icon:Zn,size:24}),label:(0,bt.__)("Close library","extendify")})]})]})})}));function pr(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 hr(){return hr=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},hr.apply(this,arguments)}function mr(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 xr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mr(Object(n),!0).forEach((function(t){yr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function yr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const vr={breakpointCols:void 0,className:void 0,columnClassName:void 0,children:void 0,columnAttrs:void 0,column:void 0};class gr 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=xr(xr(xr({},e),t),{},{style:xr(xr({},t.style),{},{width:o}),className:a});return r.map(((e,t)=>i().createElement("div",hr({},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=pr(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",hr({},l,{className:c}),this.renderColumns())}}gr.defaultProps=vr;const br=gr;function wr(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 jr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){wr(i,r,o,a,s,"next",e)}function s(e){wr(i,r,o,a,s,"throw",e)}a(void 0)}))}}var kr=0,Cr=function(e){var t=arguments;return jr(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]:{},kr++,a="pattern"===e.type?"8":"4",s="pattern"===e.type?"patternType":"layoutType",l=Object.assign({filterByFormula:Er(e,s),pageSize:a,categories:e.taxonomies,search:e.search,type:e.type,offset:"",initial:1===kr,request_count:kr,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)})))()},Sr=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})},Or=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})},Er=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 _r(){return _r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_r.apply(this,arguments)}function Nr(e,t){return Nr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Nr(e,t)}var Ar=new Map,Pr=new WeakMap,Tr=0,Ir=void 0;function Lr(e){return Object.keys(e).sort().filter((function(t){return void 0!==e[t]})).map((function(t){return t+"_"+("root"===t?(n=e.root)?(Pr.has(n)||(Tr+=1,Pr.set(n,Tr.toString())),Pr.get(n)):"0":e[t]);var n})).toString()}function Mr(e,t,n,r){if(void 0===n&&(n={}),void 0===r&&(r=Ir),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=Lr(e),n=Ar.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},Ar.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(),Ar.delete(a))}}var Rr=["children","as","tag","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function Dr(e){return"function"!=typeof e.children}var Fr=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(),Dr(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,Nr(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=Mr(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(!Dr(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,Rr);return o.createElement(a||s||"div",_r({ref:this.handleNode},l),i)},r}(o.Component);Fr.displayName="InView",Fr.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1};const Br=wp.blockEditor,zr=wp.blocks;var Ur=function(){return k.get("plugins")},Wr=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"}})},qr=function(){return k.get("active-plugins")};function $r(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 Hr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){$r(i,r,o,a,s,"next",e)}function s(e){$r(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Vr=[],Gr=[];function Jr(e){return Kr.apply(this,arguments)}function Kr(){return(Kr=Hr(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(Vr.length){e.next=10;break}return e.t0=Object,e.next=8,Ur();case 8:e.t1=e.sent,Vr=e.t0.keys.call(e.t0,e.t1);case 10:return i=!!o.length&&o.filter((function(e){return!Vr.some((function(t){return t.includes(e)}))})),e.abrupt("return",i.length);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Zr(e){return Xr.apply(this,arguments)}function Xr(){return(Xr=Hr(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(Gr.length){e.next=10;break}return e.t0=Object,e.next=8,qr();case 8:e.t1=e.sent,Gr=e.t0.values.call(e.t0,e.t1);case 10:if(!(i=!!o.length&&o.filter((function(e){return!Gr.some((function(t){return t.includes(e)}))})))){e.next=16;break}return e.next=14,Jr(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 Yr=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 Qr(e){var t=e.msg;return(0,Nt.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,Nt.jsx)("br",{}),(0,Nt.jsx)(wt.Notice,{isDismissible:!1,status:"error",children:t}),(0,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,Nt.jsx)(lo,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Go back","extendify")})]})}const eo=wp.data;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(){var e=to((0,r.useState)(!1),2),t=e[0],n=e[1],o=function(){};return(0,(0,eo.select)("core/editor").isEditedPostDirty)()?(0,Nt.jsxs)(wt.Modal,{title:(0,bt.__)("Reload required","extendify"),isDismissible:!1,children:[(0,Nt.jsx)("p",{style:{maxWidth:"400px"},children:(0,bt.__)("Just one more thing! We need to reload the page to continue.","extendify")}),(0,Nt.jsxs)(wt.ButtonGroup,{children:[(0,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:o,disabled:t,children:(0,bt.__)("Reload page","extendify")}),(0,Nt.jsx)(wt.Button,{isSecondary:!0,onClick:function(){n(!0),(0,eo.dispatch)("core/editor").savePost(),n(!1)},isBusy:t,style:{margin:"0 4px"},children:(0,bt.__)("Save changes","extendify")})]})]}):null}function oo(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 io(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 io(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 io(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 ao(e){var t,n=e.requiredPlugins,o=oo((0,r.useState)(""),2),i=o[0],a=o[1],s=Yr((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 Wr(l).then((function(){Yr.setState({importOnLoad:!0}),(0,r.render)((0,Nt.jsx)(ro,{}),document.getElementById("extendify-root"))})).catch((function(e){var t=e.message;a(t)})),i?(0,Nt.jsx)(Qr,{msg:i}):(0,Nt.jsx)(wt.Modal,{title:(0,bt.__)("Installing plugins","extendify"),isDismissible:!1,children:(0,Nt.jsx)(wt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,bt.__)("Installing...","extendify")})})}function so(){var e,t,n,o=Yr((function(e){return e.wantedTemplate})),i=(null==o||null===(e=o.fields)||void 0===e?void 0:e.required_plugins)||[];return(0,Nt.jsxs)(wt.Modal,{title:(0,bt.__)("Plugins required","extendify"),isDismissible:!1,children:[(0,Nt.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,Nt.jsx)("ul",{children:i.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Nt.jsx)("li",{children:Et(e)},e)}))}),(0,Nt.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,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,Nt.jsx)(Di,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none"},children:(0,bt.__)("Return to library","extendify")})]})}function lo(e){var t,n,o,i,a,s=e.forceOpen,l=e.buttonLabel,c=e.title,u=e.message,d=e.requiredPlugins,f=Yr((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,Nt.jsxs)(wt.Modal,{title:null!=c?c:(0,bt.__)("Install required plugins","extendify"),isDismissible:!1,children:[(0,Nt.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,Nt.jsx)("ul",{children:d.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Nt.jsx)("li",{children:Et(e)},e)}))}),(0,Nt.jsxs)(wt.ButtonGroup,{children:[(0,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,Nt.jsx)(ao,{requiredPlugins:d}),document.getElementById("extendify-root"))},children:null!=l?l:(0,bt.__)("Install Plugins","extendify")}),s||(0,Nt.jsx)(wt.Button,{isTertiary:!0,onClick:function(){s||(0,r.render)((0,Nt.jsx)(Di,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,bt.__)("No thanks, take me back","extendify")})]})]}):(0,Nt.jsx)(so,{})}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)}var uo=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,Nt.jsx)(lo,{}),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){co(i,r,o,a,s,"next",e)}function s(e){co(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function fo(e){var t=e.msg;return(0,Nt.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,Nt.jsx)("br",{}),(0,Nt.jsx)(wt.Notice,{isDismissible:!1,status:"error",children:t}),(0,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:function(){(0,r.render)((0,Nt.jsx)(vo,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Go back","extendify")})]})}function po(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 ho(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){po(i,r,o,a,s,"next",e)}function s(e){po(i,r,o,a,s,"throw",e)}a(void 0)}))}}function mo(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 xo(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 xo(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 xo(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 yo(){var e,t=mo((0,r.useState)(""),2),n=t[0],o=t[1],i=Yr((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 Wr(a).then((function(){Yr.setState({importOnLoad:!0})})).then(ho(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,Nt.jsx)(ro,{}),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,Nt.jsx)(fo,{msg:n}):(0,Nt.jsx)(wt.Modal,{title:(0,bt.__)("Activating plugins","extendify"),isDismissible:!1,children:(0,Nt.jsx)(wt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,bt.__)("Activating...","extendify")})})}function vo(e){var t,n,o,i,a,s=Yr((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,Nt.jsx)(wt.Modal,{title:(0,bt.__)("Activate required plugins","extendify"),isDismissible:!1,children:(0,Nt.jsxs)("div",{children:[(0,Nt.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,Nt.jsx)("ul",{children:l.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Nt.jsx)("li",{children:Et(e)},e)}))}),(0,Nt.jsxs)(wt.ButtonGroup,{children:[(0,Nt.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,Nt.jsx)(yo,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Activate Plugins","extendify")}),e.showClose&&(0,Nt.jsx)(wt.Button,{isTertiary:!0,onClick:function(){return(0,r.render)((0,Nt.jsx)(Di,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,bt.__)("No thanks, return to library","extendify")})]})]})}):(0,Nt.jsx)(so,{})}function go(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 bo=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,Zr(t);case 2:return e.t0=!e.sent,e.t1=function(){},e.t2=function(){return new Promise((function(){(0,r.render)((0,Nt.jsx)(vo,{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){go(i,r,o,a,s,"next",e)}function s(e){go(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function wo(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 jo(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 jo(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 jo(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 ko(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 Co(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){ko(i,r,o,a,s,"next",e)}function s(e){ko(i,r,o,a,s,"throw",e)}a(void 0)}))}}function So(e){return new _o(e)}function Oo(e){return function(){return new Eo(e.apply(this,arguments))}}function Eo(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof _o;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 _o(e){this.wrapped=e}Eo.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Eo.prototype.next=function(e){return this._invoke("next",e)},Eo.prototype.throw=function(e){return this._invoke("throw",e)},Eo.prototype.return=function(e){return this._invoke("return",e)};function No(e){return Ao.apply(this,arguments)}function Ao(){return(Ao=Co(w().mark((function e(t){var n,r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Po(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 Po(e){return To.apply(this,arguments)}function To(){return(To=Oo(w().mark((function e(t){var n,r,o;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=wo(t),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=11;break}return o=r.value,e.next=7,So(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 Io(e,t){var n=(0,eo.dispatch)("core/block-editor"),r=n.insertBlocks,o=n.replaceBlock,i=(0,eo.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 Lo=n(306);function Mo(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 Ro(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 Ro(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 Ro(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 Do=function(e){var t=e.template,n=Mo((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,Nt.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,Nt.jsx)(Lo.CopyToClipboard,{text:t.id,onCopy:function(){return i((0,bt.__)("Copied...","extendify"))},children:(0,Nt.jsx)("button",{className:"bg-white border border-black p-2 rounded-md shadow-md cursor-pointer",children:o})}),(0,Nt.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")})]})},Fo=(0,r.forwardRef)((function(e,t){var n,o=e.onClose,i=e.isOpen,a=e.invertedButtonColor,s=e.children,l=e.leftContainerBgColor,c=void 0===l?"bg-white":l,u=e.rightContainerBgColor,d=void 0===u?"bg-gray-100":u,f=(0,r.useRef)(null),p=g((function(e){return e.removeAllModals}));return o=null!==(n=o)&&void 0!==n?n:p,(0,Nt.jsx)(Ie.Root,{appear:!0,show:!0,as:r.Fragment,children:(0,Nt.jsx)(gt,{as:"div",static:!0,open:i,className:"extendify",initialFocus:null!=t?t:f,onClose:o,children:(0,Nt.jsxs)("div",{className:"fixed z-high inset-0 flex",children:[(0,Nt.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-50 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Nt.jsx)(gt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,Nt.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,Nt.jsx)("div",{className:"m-auto",children:(0,Nt.jsxs)("div",{className:"shadow-modal relative m-8 md:m-0 max-w-md rounded-sm md:flex justify-between md:max-w-2xl",children:[(0,Nt.jsxs)("button",{onClick:o,ref:f,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,Nt.jsx)("span",{className:"sr-only",children:(0,bt.__)("Close","extendify")}),(0,Nt.jsx)(Sn,{icon:Zn})]}),(0,Nt.jsx)("div",{className:"w-7/12 p-12 ".concat(c),children:s[0]}),(0,Nt.jsx)("div",{className:"w-6/12 hidden md:block ".concat(d),children:s[1]})]})})})]})})})})),Bo=function(){var e=g((function(e){return e.pushModal})),t=(0,r.useRef)(null);return(0,Nt.jsxs)(Fo,{isOpen:!0,ref:t,leftContainerBgColor:"bg-white",children:[(0,Nt.jsxs)("div",{children:[(0,Nt.jsx)("div",{className:"flex space-x-2 items-center mb-5 text-extendify-black",children:Ln}),(0,Nt.jsx)("h3",{className:"text-xl mt-0",children:(0,bt.__)("You're out of imports","extendify")}),(0,Nt.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,Nt.jsxs)("div",{children:[(0,Nt.jsxs)("a",{target:"_blank",ref:t,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=no-imports-modal&utm_content=get-unlimited-imports"),rel:"noreferrer",children:[(0,bt.__)("Get Unlimited Imports","extendify"),(0,Nt.jsx)(wt.Icon,{icon:Bn,size:24,className:"-mr-1"})]}),(0,Nt.jsxs)("p",{className:"text-sm text-extendify-gray mb-0 text-left",children:[(0,bt.__)("Have an account?","extendify"),(0,Nt.jsx)(wt.Button,{onClick:function(){return e((0,Nt.jsx)(dr,{}))},className:"underline hover:no-underline text-sm text-extendify-gray pl-2",children:(0,bt.__)("Sign in","extendify")})]})]})]}),(0,Nt.jsxs)("div",{className:"space-y-2 flex flex-col justify-center p-10 text-black h-full",children:[(0,Nt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Nt.jsx)(wt.Icon,{icon:Un,size:24}),(0,Nt.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Access to 100's of Patterns","extendify")})]}),(0,Nt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Nt.jsx)(wt.Icon,{icon:Mn,size:24}),(0,Nt.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)('Access to "Pro" catalog',"extendify")})]}),(0,Nt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Nt.jsx)(wt.Icon,{icon:zn,size:24}),(0,Nt.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Beautiful full page layouts","extendify")})]}),(0,Nt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Nt.jsx)(wt.Icon,{icon:qn,size:24}),(0,Nt.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Fast and friendly support","extendify")})]}),(0,Nt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Nt.jsx)(wt.Icon,{icon:$n,size:24}),(0,Nt.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("14-Day guarantee","extendify")})]})]})]})},zo=function(){var e=(0,r.useRef)(null);return(0,Nt.jsxs)(Fo,{isOpen:!0,invertedButtonColor:!0,ref:e,children:[(0,Nt.jsxs)("div",{children:[(0,Nt.jsx)("div",{className:"flex space-x-2 items-center mb-5 text-extendify-black",children:Ln}),(0,Nt.jsx)("h3",{className:"text-xl mt-0",children:(0,bt.__)("Get unlimited access to all our Pro patterns & layouts","extendify")}),(0,Nt.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,Nt.jsx)("div",{children:(0,Nt.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,Nt.jsx)(wt.Icon,{icon:Bn,size:24,className:"-mr-1"})]})})]}),(0,Nt.jsx)("div",{className:"w-full bg-black flex justify-endrounded-tr-sm rounded-br-sm",children:(0,Nt.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 Uo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wo(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 qo(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 $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)||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 $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}var Ho=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{hasRequiredPlugins:uo,hasPluginsActivated:bo,stack:[],check:function(t){var n=this;return Co(w().mark((function r(){var o,i,a,s;return w().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=wo(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=[]}}}(["hasRequiredPlugins","hasPluginsActivated"]);function Vo(e){var t,n,o,i,a=e.template,s=e.maxHeight,l=(0,r.useRef)(null),c=(0,r.useRef)(!1),u=z((function(e){return e.hasAvailableImports})),d=z((function(e){return e.apiKey.length})),f=g((function(e){return e.setOpen})),p=g((function(e){return e.pushModal})),h=g((function(e){return e.removeAllModals})),m=(0,r.useMemo)((function(){return(0,zr.rawHandler)({HTML:a.fields.code})}),[a.fields.code]),x=qo((0,r.useState)(!1),2),y=x[0],v=x[1],b=tr(),j=qo((0,r.useState)(0),2),k=j[0],C=j[1],S=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,Ho.check(a);case 2:No(Ho).then((function(){setTimeout((function(){Io(m,a).then((function(){return h()})).then((function(){return f(!1)})).then((function(){return Ho.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){Wo(i,r,o,a,s,"next",e)}function s(e){Wo(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}(),O=function(){var e;Sr(a),null==a||null===(e=a.fields)||void 0===e||!e.pro||d?u()?S():p((0,Nt.jsx)(Bo,{})):p((0,Nt.jsx)(zo,{}))};return(0,r.useEffect)((function(){var e,t,n,r,o=[],i=[];return e=window.requestAnimationFrame((function(){t=window.requestAnimationFrame((function(){l.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"}),2e3);i.push(a)}}e.contentWindow.dispatchEvent(new Event("resize"))}));o.push(n)})),n=window.requestAnimationFrame((function(){window.dispatchEvent(new Event("resize")),v(!0)}))}))})),function(){[].concat(o,[e,t,n,r]).forEach((function(e){return window.cancelAnimationFrame(e)})),i.forEach((function(e){return window.clearTimeout(e)}))}}),[]),(0,r.useEffect)((function(){if(Number.isInteger(s)){var e=l.current,t=function(){var t=e.offsetHeight;e.style.transitionDuration=1.5*t+"ms",C(-1*Math.abs(t-s))},n=function(){var t=e.offsetHeight;e.style.transitionDuration=t/1.5+"ms",C(0)};return e.addEventListener("focus",t),e.addEventListener("mouseenter",t),e.addEventListener("blur",n),e.addEventListener("mouseleave",n),function(){e.removeEventListener("focus",t),e.removeEventListener("mouseenter",t),e.removeEventListener("blur",n),e.removeEventListener("mouseleave",n)}}}),[s]),(0,Nt.jsxs)("div",{className:"relative group",children:[(0,Nt.jsx)("div",{role:"button",tabIndex:"0","aria-label":(0,bt.sprintf)((0,bt.__)("Press to import %s","extendify"),null==a||null===(t=a.fields)||void 0===t?void 0:t.type),style:{maxHeight:s},className:"m-0 cursor-pointer button-focus ease-in-out relative overflow-hidden bg-gray-100",onFocus:function(){c.current||(c.current=!0,Array.from(l.current.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')).forEach((function(e){return e.setAttribute("tabIndex","-1")})))},onClick:O,onKeyDown:function(e){["Enter","Space"," "].includes(e.key)&&(e.stopPropagation(),e.preventDefault(),O())},children:(0,Nt.jsx)("div",{ref:l,style:{top:k,transitionProperty:"all"},className:kt()("with-light-shadow relative",(o={},Uo(o,"is-template--".concat(a.fields.status),(null==a||null===(n=a.fields)||void 0===n?void 0:n.status)&&b),Uo(o,"p-6 md:p-8",Number.isInteger(s)),o)),children:(0,Nt.jsx)(Br.BlockPreview,{blocks:m,live:!1,viewportWidth:1400})})}),b&&y&&(0,Nt.jsx)(Do,{template:a}),(null==a||null===(i=a.fields)||void 0===i?void 0:i.pro)&&(0,Nt.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 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 Jo(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 Jo(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 Jo(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 Ko=(0,r.memo)((function(){var e=er(),t=K((function(e){return e.templates})),n=K((function(e){return e.appendTemplates})),i=Go((0,r.useState)(""),2),a=i[0],s=i[1],l=Go((0,r.useState)(!1),2),c=l[0],u=l[1],d=Go((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=Mr(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=Go(h,2),x=m[0],y=m[1],v=K((function(e){return e.searchParams})),b=g((function(e){return e.currentType})),w=K((function(e){return e.resetTemplates})),j=(0,r.useRef)(K.getState().nextPage),k=(0,r.useRef)(K.getState().searchParams),C="pattern"===k.current.type?"patternType":"layoutType",S=k.current.taxonomies[C];(0,r.useEffect)((function(){return K.subscribe((function(e){return j.current=e}),(function(e){return e.nextPage}))}),[]),(0,r.useEffect)((function(){return K.subscribe((function(e){return k.current=e}),(function(e){return e.searchParams}))}),[]);var O,E=(0,r.useCallback)((function(){s(""),u(!1);var t=(0,bt.__)("Unknown error occured. Check browser console or contact support.","extendify"),r={offset:j.current};Cr(k.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===k.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]);return(0,r.useEffect)((function(){0!==t.length||p(!0)}),[t.length,v]),(0,r.useEffect)((function(){Object.keys(k.current.taxonomies).length&&(K.getState().skipNextFetch?K.setState({skipNextFetch:!1}):E())}),[E,k]),(0,r.useEffect)((function(){j.current&&y&&E()}),[y,E,t]),a.length?(0,Nt.jsxs)("div",{className:"text-left",children:[(0,Nt.jsx)("h2",{className:"text-left",children:(0,bt.__)("Server error","extendify")}),(0,Nt.jsx)("code",{className:"block max-w-xl p-4 mb-4",style:{minHeight:"10rem"},children:a}),(0,Nt.jsx)(wt.Button,{isTertiary:!0,onClick:function(){return w()&&E()},children:(0,bt.__)("Press here to reload")})]}):c?(0,Nt.jsx)("div",{className:"flex h-full items-center justify-center w-full -mt-2 sm:mt-0",children:(0,Nt.jsx)("h2",{className:"text-sm text-extendify-gray font-normal",children:(0,bt.sprintf)("template"===k.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!==(O=null==S?void 0:S.title)&&void 0!==O?O:S.slug)})}):(0,Nt.jsxs)(Nt.Fragment,{children:[f&&(0,Nt.jsx)("div",{className:"flex h-full items-center justify-center w-full -mt-2 sm:mt-0",children:(0,Nt.jsx)(wt.Spinner,{})}),(0,Nt.jsx)(Zo,{type:b,templates:t,children:t.map((function(e){return(0,Nt.jsx)(Vo,{maxHeight:"template"===b?520:"none",template:e},e.id)}))}),j.current&&(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("div",{className:"my-20",children:(0,Nt.jsx)(wt.Spinner,{})}),(0,Nt.jsx)("div",{className:"-translate-y-full flex flex-col items-end justify-end relative transform",ref:x,style:{zIndex:-1,marginBottom:"-100%",height:"template"===b?"150vh":"75vh"}})]})]})})),Zo=function(e){var t=e.type,n=e.children,r="relative min-h-screen z-10 pb-40 pt-0.5";if("template"===t)return(0,Nt.jsx)("div",{className:"grid lg:grid-cols-2 gap-6 md:gap-8 ".concat(r),children:n});return(0,Nt.jsx)(br,{breakpointCols:{default:3,1600:2,860:1,599:2,400:1},className:"flex -ml-6 md:-ml-8 w-auto px-0.5 ".concat(r),columnClassName:"pl-6 md:pl-8 bg-clip-padding space-y-6 md:space-y-8",children:n})};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 Yo(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 Yo(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 Yo(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 Qo=function(e){var t=e.setOpen,n=(0,r.useRef)(),o=K((function(e){return e.searchParams})),i=Xo((0,r.useState)(!1),2),a=i[0],s=i[1],l=K((function(e){return e.resetTemplates})),c=function(e){var t=Yn((0,r.useState)(!0),2),n=t[0],o=t[1],i=Yn((0,r.useState)(!1),2),a=i[0],s=i[1],l=er(),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,Nt.jsx)("div",{className:"h-full flex flex-col items-center relative max-w-screen-4xl mx-auto",children:(0,Nt.jsxs)("div",{className:"w-full flex-grow overflow-hidden",children:[(0,Nt.jsx)("button",{onClick:function(){return document.getElementById("extendify-templates").querySelector("button").focus()},className:"extendify-skip-to-sr-link sr-only focus:not-sr-only focus:text-blue-500",children:(0,bt.__)("Skip to templates","extendify")}),(0,Nt.jsx)("div",{className:"sm:flex relative mx-auto h-full",children:(0,Nt.jsxs)(Kn,{children:[(0,Nt.jsx)(Jn,{}),(0,Nt.jsxs)("div",{className:"relative h-full z-30 flex flex-col",children:[(0,Nt.jsx)(fr,{className:"hidden sm:block w-full h-20 flex-shrink-0 px-6 md:px-8",hideLibrary:function(){return t(!1)}}),(0,Nt.jsx)("div",{ref:n,className:"flex-grow z-20 overflow-y-auto px-6 md:px-8",children:a?(0,Nt.jsx)(ei,{callback:u}):(0,Nt.jsx)(Ko,{})})]})]})})]})})},ei=function(e){var t=e.callback;return(0,Nt.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,Nt.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,Nt.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 ti=(0,r.createElement)(An,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(_n,{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 ni=function(){return k.get("meta-data")},ri=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 oi(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 ii(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){oi(i,r,o,a,s,"next",e)}function s(e){oi(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ai(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 si(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 si(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 si(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 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,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 ui(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 ui(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 ui(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 di={welcome:function(){var e=g((function(e){return e.setOpen}));return(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{className:"text-black",children:(0,bt.__)("Welcome to the Extendify Library","extendify")}),(0,Nt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Nt.jsxs)("div",{className:"flex space-x-2 justify-center items-center",children:[(0,Nt.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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{className:"font-bold","aria-hidden":"true",children:"•"}),(0,Nt.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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{className:"text-black",children:null!==(t=null==n?void 0:n.text)&&void 0!==t?t:""}),(0,Nt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Nt.jsx)("div",{className:"flex space-x-2 justify-center items-center",children:(null==n?void 0:n.url)&&(0,Nt.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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("span",{className:"text-black",children:(0,bt.__)("Tell us how to make the Extendify Library work better for you","extendify")}),(0,Nt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Nt.jsx)("div",{className:"flex space-x-2 justify-center items-center",children:(0,Nt.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=ai((0,r.useState)(""),2),t=e[0],n=e[1],o=z((function(e){return e.giveFreebieImports}));return(0,Nt.jsxs)("div",{children:[(0,Nt.jsx)("span",{className:"text-black",children:(0,bt.__)("Install the new Extendify Library plugin to get the latest we have to offer","extendify")}),(0,Nt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Nt.jsxs)("div",{className:"inline-flex space-x-2 items-center relative",children:[(0,Nt.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([ri("stln-footer-install"),Wr(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(ii(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,ri("stln-footer-success");case 4:window.location.reload();case 5:case"end":return e.stop()}}),e)})))).catch(function(){var e=ii(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,ri("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,Nt.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 fi(){var e,t=ci((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(di).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=di[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,ri("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){li(i,r,o,a,s,"next",e)}function s(e){li(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){di[s]&&!i.current&&(o(!0),i.current=!0)}),[s]),n?(0,Nt.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,Nt.jsx)(l,{promotionData:a}),(0,Nt.jsx)("div",{className:"absolute right-1",children:(0,Nt.jsx)(wt.Button,{className:"opacity-50 hover:opacity-100 focus:opacity-100 text-extendify-black",icon:(0,Nt.jsx)(Sn,{icon:ti}),label:(0,bt.__)("Dismiss this notice","extendify"),onClick:c,showTooltip:!1})})]}):null}function pi(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 hi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){pi(i,r,o,a,s,"next",e)}function s(e){pi(i,r,o,a,s,"throw",e)}a(void 0)}))}}function mi(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 xi(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 xi(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 xi(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 yi=function(){var e=mi((0,r.useState)((0,bt.__)("Install Extendify","extendify")),2),t=e[0],n=e[1],o=mi((0,r.useState)(!1),2),i=o[0],a=o[1],s=mi((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=hi(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,ri("stln-modal-x");case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,Nt.jsxs)(Fo,{ref:u,onClose:h,children:[(0,Nt.jsxs)("div",{children:[(0,Nt.jsx)("div",{className:"flex space-x-2 items-center mb-10 text-extendify-black",children:Ln}),(0,Nt.jsx)("h3",{className:"text-xl",children:(0,bt.__)("Get the brand new Extendify plugin today!","extendify")}),(0,Nt.jsx)("p",{className:"text-sm text-black",dangerouslySetInnerHTML:{__html:Vn((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,Nt.jsx)("div",{children:(0,Nt.jsxs)("button",{onClick:function(){n((0,bt.__)("Installing...","extendify")),c(!0),Promise.all([ri("stln-modal-install"),Wr(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(hi(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,ri("stln-modal-success");case 5:window.location.reload();case 6:case"end":return e.stop()}}),e)})))).catch(function(){var e=hi(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,ri("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,Nt.jsx)(wt.Icon,{icon:Dn,size:24,className:"w-6 ml-2 flex-grow-0"})]})})]}),(0,Nt.jsx)("div",{className:"w-full bg-extendify-secondary flex justify-end rounded-tr-sm rounded-br-sm",children:(0,Nt.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 vi(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 gi(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 gi(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 gi(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 bi(){var e=(0,r.useRef)(null),t=g((function(e){return e.open})),n=g((function(e){return e.setOpen})),o=function(){var e=vi((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:yi},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,Nt.jsx)(n,{}))}else a()}),[o,i,a]),t}();return(0,Nt.jsx)(Ie,{appear:!0,show:t,as:r.Fragment,children:(0,Nt.jsx)(gt,{as:"div",static:!0,className:"extendify",initialFocus:e,onClose:function(){return n(!1)},children:(0,Nt.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,Nt.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,Nt.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Nt.jsx)(gt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,Nt.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,Nt.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,Nt.jsx)(Qo,{}),(0,Nt.jsx)(fi,{}),o]})})]})})})})}const wi=wp.compose,ji=wp.hooks,ki=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 Ci(e){return function(e){if(Array.isArray(e))return Si(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 Si(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 Si(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 Si(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 Oi(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 Ei(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Oi(Object(n),!0).forEach((function(t){_i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ni=(0,wi.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=ki.t.map((function(e){return e.replace(".","").replace(new RegExp("\\\\","g"),"")}));return(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)(e,Ei({},t)),o&&(0,Nt.jsx)(Br.InspectorAdvancedControls,{children:(0,Nt.jsx)(wt.FormTokenField,{label:(0,bt.__)("Extendify Utilities","extendify"),tokenizeOnSpace:!0,value:o,suggestions:i,onChange:function(e){t.setAttributes({extUtilities:e})}})})]})}}),"utilityClassEdit");function Ai(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(Ci(c(l)),Ci(c(a)),Ci(c(s))));return Object.assign({},e,{className:Ci(u).join(" ")})}function Pi(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,ji.addFilter)("blocks.registerBlockType","extendify/utilities/attributes",(function(e){return Ei(Ei({},e),{},{attributes:Ei(Ei({},e.attributes),{},{extUtilities:{type:"array",default:[]}})})})),(0,ji.addFilter)("blocks.registerBlockType","extendify/utilities/addEditProps",(function(e){var t=e.getEditWrapperProps;return e.getEditWrapperProps=function(n){var r={};return t&&(r=t(n)),Ai(r,e,n)},e})),(0,ji.addFilter)("editor.BlockEdit","extendify/utilities/advancedClassControls",Ni),(0,ji.addFilter)("blocks.getSaveContent.extraProps","extendify/utilities/extra-props",Ai);var Ti=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){Pi(i,r,o,a,s,"next",e)}function s(e){Pi(i,r,o,a,s,"throw",e)}a(void 0)}))})();var e};function Ii(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 Li(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Ii(i,r,o,a,s,"next",e)}function s(e){Ii(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Mi(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 Ri(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 Ri(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 Ri(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 Di(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=Mi((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)(Li(w().mark((function e(){var r,o;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ti();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(){ni().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,Nt.jsx)(bi,{}):null}const Fi=wp.plugins,Bi=wp.editPost;var zi=function(){return k.get("site-settings")},Ui=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 Wi(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 qi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Wi(i,r,o,a,s,"next",e)}function s(e){Wi(i,r,o,a,s,"throw",e)}a(void 0)}))}}var $i={getItem:function(){var e=qi(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zi();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=qi(w().mark((function e(t,n){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ui(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(){}},Hi=l(x((function(){return{enabled:!0}}),{name:"extendify-sitesettings",getStorage:function(){return $i}}));function Vi(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 Gi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Vi(i,r,o,a,s,"next",e)}function s(e){Vi(i,r,o,a,s,"throw",e)}a(void 0)}))}}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}const Zi=function(){var e=(0,eo.useSelect)((function(e){return e("core").canUser("create","users")})),t=Ji((0,r.useState)(z((function(e){return e.enabled}))),2),n=t[0],o=t[1],i=Ji((0,r.useState)(Hi((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=Gi(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=Gi(w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Hi.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=Gi(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,Nt.jsxs)(wt.Modal,{title:(0,bt.__)("Extendify Settings","extendify"),onRequestClose:function(){var e=document.getElementById("extendify-util");(0,r.unmountComponentAtNode)(e)},children:[(0,Nt.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,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)("br",{}),(0,Nt.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 Xi=function(e){var t=e.anchorRef,n=e.onPressX,r=e.onClick,o=e.onClickOutside;return t.current?(0,Nt.jsx)(wt.Popover,{anchorRef:t.current,shouldAnchorIncludePadding:!0,className:"extendify-tooltip-default",focusOnMount:!1,onFocusOutside:o,onClick:r,position:"bottom center",noArrow:!1,children:(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.5rem"},children:[(0,Nt.jsx)("span",{style:{textTransform:"uppercase",color:"#8b8b8b"},children:(0,bt.__)("Monthly Imports","extendify")}),(0,Nt.jsx)(wt.Button,{style:{color:"white",position:"relative",right:"-5px",padding:"0",minWidth:"0",height:"20px",width:"20px"},onClick:function(e){e.stopPropagation(),n()},icon:(0,Nt.jsx)(Sn,{icon:Zn,size:12}),showTooltip:!1,label:(0,bt.__)("Close callout","extendify")})]}),(0,Nt.jsx)("div",{dangerouslySetInnerHTML:{__html:Vn((0,bt.sprintf)((0,bt.__)("%1$sGood news!%2$s We've added more imports to your library. Enjoy!","extendify"),"<strong>","</strong>"))}})]})}):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 Qi(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 ea(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 ta(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 ta(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 ta(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 na,ra,oa=function(){var e=ea((0,r.useState)(!1),2),t=e[0],n=e[1],o=(0,r.useRef)(!1),i=(0,r.useRef)(),a=z((function(e){return e.apiKey.length})),s=z((function(e){return e.imports>0})),l=g((function(e){return e.open})),c=z((function(e){return 0===e.allowedImports})),u=function(){var e=Qi(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ri("mb-tooltip-closed");case 2:n(!1),z.setState({allowedImports:-1});case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){l&&(n(!1),o.current=!0),!a&&c&&s&&(o.current||n(!0),o.current=!0)}),[a,c,s,l]),(0,Nt.jsxs)(Nt.Fragment,{children:[(0,Nt.jsx)(wt.Button,{isPrimary:!0,ref:i,style:{padding:"12px"},onClick:function(){return St("main-button")},id:"extendify-templates-inserter-btn",icon:(0,Nt.jsx)(Sn,{style:{marginRight:"4px"},icon:In,size:24}),children:(0,bt.__)("Library","extendify")}),t&&(0,Nt.jsx)(Xi,{anchorRef:i,onClick:Qi(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ri("mb-tooltip-pressed");case 2:St("main-button-tooltip");case 3:case"end":return e.stop()}}),e)}))),onPressX:u})]})},ia=function(){return(0,Nt.jsx)(wt.Button,{id:"extendify-cta-button",style:{margin:"1rem 1rem 0",width:"calc(100% - 2rem)",justifyContent:" center"},onClick:function(){return St("patterns-cta")},isSecondary:!0,children:(0,bt.__)("Discover patterns in Extendify Library","extendify")})},aa=null===(na=window.extendifyData)||void 0===na||null===(ra=na.user)||void 0===ra?void 0:ra.state,sa=function(){return null===window.extendifyData.user||(null==aa?void 0:aa.isAdmin)},la=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)};if(window._wpLoadBlockEditor)var ca=window.wp.data.subscribe((function(){requestAnimationFrame((function(){if((la()||sa())&&!document.getElementById("extendify-templates-inserter")&&document.querySelector(".edit-post-header-toolbar")){var e=Object.assign(document.createElement("div"),{id:"extendify-templates-inserter"});document.querySelector(".edit-post-header-toolbar").append(e),(0,r.render)((0,Nt.jsx)(oa,{}),e),(null===window.extendifyData.user?la():null==aa?void 0:aa.enabled)||document.getElementById("extendify-templates-inserter-btn").classList.add("invisible"),ca()}}))}));window._wpLoadBlockEditor&&window.wp.data.subscribe((function(){requestAnimationFrame((function(){if((la()||sa())&&document.querySelector("[id$=patterns-view]")&&!document.getElementById("extendify-cta-button")){var e=Object.assign(document.createElement("div"),{id:"extendify-cta-button-container"});document.querySelector("[id$=patterns-view]").prepend(e),(0,r.render)((0,Nt.jsx)(ia,{}),e)}}))}));window._wpLoadBlockEditor&&(0,Fi.registerPlugin)("extendify-settings-enable-disable",{render:function(){return(0,Nt.jsx)(Nt.Fragment,{children:(0,Nt.jsxs)(Bi.PluginSidebarMoreMenuItem,{onClick:function(){var e=document.getElementById("extendify-util");(0,r.render)((0,Nt.jsx)(Zi,{}),e)},icon:(0,Nt.jsx)(Sn,{icon:In,size:24}),children:[" ",(0,bt.__)("Extendify","extendify")]})})}}),[{register:function(){var e=(0,eo.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(),Or(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,Ct.camelCase)(t.detail.type)](t.detail)}))},versionOutdated:function(e){(0,r.render)((0,Nt.jsx)(lo,{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 ua=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,zr.registerBlockType)(ua,{icon:Tn,example:{attributes:{preview:window.extendifyData.asset_path+"/preview.png"}},edit:function(e){var t=e.clientId,n=e.attributes,o=(0,eo.useDispatch)("core/block-editor").removeBlock;return(0,r.useEffect)((function(){n.preview||(Ot("library-block","open"),o(t))}),[t,n,o]),(0,Nt.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,Nt.jsx)(Di,{}),e),e.parentNode.insertBefore(Object.assign(document.createElement("div"),{id:"extendify-util"}),e.nextSibling),Yr.getState().importOnLoad){var t=Yr.getState().wantedTemplate;setTimeout((function(){Io((0,zr.rawHandler)({HTML:t.fields.code}),t)}),0)}Yr.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=S(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 C(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 S(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,S(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(C.prototype),l(C.prototype,a,(function(){return this})),e.AsyncIterator=C,e.async=function(t,n,r,o,i){void 0===i&&(i=Promise);var a=new C(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(147))),r.O(void 0,[506,551],(()=>r(716)));var o=r.O(void 0,[506,551],(()=>r(965)));o=r.O(o)})();
|
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,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=s(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var n=t.transitional;void 0!==n&&l.assertOptions(n,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var r=[],o=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(o=o&&e.synchronous,r.unshift(e.fulfilled,e.rejected))}));var i,u=[];if(this.interceptors.response.forEach((function(e){u.push(e.fulfilled,e.rejected)})),!o){var d=[a,void 0];for(Array.prototype.unshift.apply(d,r),d=d.concat(u),i=Promise.resolve(t);d.length;)i=i.then(d.shift(),d.shift());return i}for(var f=t;r.length;){var p=r.shift(),h=r.shift();try{f=p(f)}catch(e){h(e);break}}try{i=a(f)}catch(e){return Promise.reject(e)}for(;u.length;)i=i.then(u.shift(),u.shift());return i},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.26.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,t,n)=>{"use strict";var r=n(485);e.exports=function(e){return r.isObject(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 Array.isArray(e)}function a(e){return void 0===e}function s(e){return"[object ArrayBuffer]"===o.call(e)}function l(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return"[object Function]"===o.call(e)}function d(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:s,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"[object FormData]"===o.call(e)},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&s(e.buffer)},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:l,isPlainObject:c,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:u,isStream:function(e){return l(e)&&u(e.pipe)},isURLSearchParams:function(e){return"[object URLSearchParams]"===o.call(e)},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:d,merge:function e(){var t={};function n(n,r){c(t[r])&&c(n)?t[r]=e(t[r],n):c(n)?t[r]=e({},n):i(n)?t[r]=n.slice():t[r]=n}for(var r=0,o=arguments.length;r<o;r++)d(arguments[r],n);return t},extend:function(e,t,n){return d(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}}},165:(e,t,n)=>{"use strict";const r=wp.blocks,o=wp.element;var i=n(363),a=n.n(i);function s(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 l="undefined"==typeof window||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent)?i.useEffect:i.useLayoutEffect;function c(e){const t="function"==typeof e?s(e):e,n=(e=t.getState,n=Object.is)=>{const[,r]=(0,i.useReducer)((e=>e+1),0),o=t.getState(),a=(0,i.useRef)(o),s=(0,i.useRef)(e),c=(0,i.useRef)(n),u=(0,i.useRef)(!1),d=(0,i.useRef)();let f;void 0===d.current&&(d.current=e(o));let p=!1;(a.current!==o||s.current!==e||c.current!==n||u.current)&&(f=e(o),p=!n(d.current,f)),l((()=>{p&&(d.current=f),a.current=o,s.current=e,c.current=n,u.current=!1}));const h=(0,i.useRef)(o);l((()=>{const e=()=>{try{const e=t.getState(),n=s.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,i.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;const u=e=>(t,n,r)=>{const o=r.subscribe;r.subscribe=(e,t,n)=>{let i=e;if(t){const o=(null==n?void 0:n.equalityFn)||Object.is;let a=e(r.getState());i=n=>{const r=e(n);if(!o(a,r)){const e=a;t(a=r,e)}},(null==n?void 0:n.fireImmediately)&&t(a,a)}return o(i)};return e(t,n,r)};var d=Object.defineProperty,f=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,m=(e,t,n)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(e,t)=>{for(var n in t||(t={}))p.call(t,n)&&m(e,n,t[n]);if(f)for(var n of f(t))h.call(t,n)&&m(e,n,t[n]);return e};const y=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then:e=>y(e)(n),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>y(t)(e)}}},v=(e,t)=>(n,r,o)=>{let i=x({getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:e=>e,version:0,merge:(e,t)=>x(x({},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=y(i.serialize),d=()=>{const e=i.partialize(x({},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 h;const m=()=>{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 y(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=>(h=i.merge(e,p),n(h,!0),d()))).then((()=>{null==t||t(h,void 0),a=!0,l.forEach((e=>e(h)))})).catch((e=>{null==t||t(void 0,e)}))};return o.persist={setOptions:e=>{i=x(x({},i),e),e.getStorage&&(c=e.getStorage())},clearStorage:()=>{var e;null==(e=null==c?void 0:c.removeItem)||e.call(c,i.name)},rehydrate:()=>m(),hasHydrated:()=>a,onHydrate:e=>(s.add(e),()=>{s.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},m(),h||p};function g(e){return function(e){if(Array.isArray(e))return b(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 b(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 b(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 b(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 w=c(u(v((function(e,t){return{open:!1,ready:!1,metaData:{},currentTaxonomies:{},currentType:"pattern",modals:[],pushModal:function(n){return e({modals:[n].concat(g(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){return e({open:t})},setReady:function(t){return e({ready:t})}}}),{name:"extendify-global-state",partialize:function(e){return delete e.modals,delete e.ready,e}}))),j=n(135),k=n.n(j),S=n(206),C=n.n(S);const _=lodash;function O(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 E,A=function(){return(e=k().mark((function e(){var t;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat(window.extendifyData.root,"/user"),{method:"GET",headers:{"X-WP-Nonce":window.extendifyData.nonce,"X-Requested-With":"XMLHttpRequest","X-Extendify":!0}});case 2:return t=e.sent,e.next=5,t.json();case 5:return e.abrupt("return",e.sent);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){O(i,r,o,a,s,"next",e)}function s(e){O(i,r,o,a,s,"throw",e)}a(void 0)}))})();var e},N=function(e,t){var n=new FormData;return n.append("email",e),n.append("key",t),X.post("login",n,{headers:{"Content-Type":"multipart/form-data"}})},P=function(e){var t=new FormData;return t.append("data",JSON.stringify(e)),X.post("user",t,{headers:{"Content-Type":"multipart/form-data"}})},T=function(){return X.post("clear-user")},I=function(){return X.get("max-free-imports")};function L(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 M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?L(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function R(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(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 D(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)||F(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 F(e,t){if(e){if("string"==typeof e)return B(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)?B(e,t):void 0}}function B(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 z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(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 V(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){U(i,r,o,a,s,"next",e)}function s(e){U(i,r,o,a,s,"throw",e)}a(void 0)}))}}var H,W,q,$={getItem:(q=V(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,A();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(){return q.apply(this,arguments)}),setItem:(W=V(k().mark((function e(t,n){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,P(n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(e,t){return W.apply(this,arguments)}),removeItem:(H=V(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,T();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(){return H.apply(this,arguments)})},G=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)},J=(z(E={},"notice-position","0001"),z(E,"main-button-text","0002"),z(E,"import-counter-color","0003"),E),K=c(v((function(e,t){return{_hasHydrated:!1,firstLoadedOn:(new Date).toISOString(),email:"",apiKey:"",uuid:"",group:0,sdkPartner:"",noticesDismissedAt:{},modalNoticesDismissedAt:{},imports:0,runningImports:0,allowedImports:0,freebieImports:0,entryPoint:"not-set",enabled:G(),canInstallPlugins:!1,canActivatePlugins:!1,participatingTestsGroups:{},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)},testGroup:function(n,r){if(t().uuid&&Object.keys(J).includes(n)){var o=t().participatingTestsGroups;return o[n]||e({participatingTestsGroups:Object.assign({},o,z({},n,(0,_.sample)(r)))}),o[n]}},activeTestGroups:function(){return Object.entries(t().participatingTestsGroups).filter((function(e){var t=D(e,1)[0];return Object.keys(J).includes(t)})).reduce((function(e,t){var n=D(t,2),r=n[0],o=n[1];return e[r]=o,e}),{})},activeTestGroupsUtmValue:function(){var e=Object.entries(t().activeTestGroups()).map((function(e){var t=D(e,2),n=t[0],r=t[1];return"".concat(J[n],"=").concat(r)}),"").join(":");return encodeURIComponent(e)},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(R(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:{},z({},n,r)),n="taxonomies");e({preferredOptions:M({},Object.assign({},t().preferredOptions,z({},n,r)))})},markNoticeSeen:function(n,r){e(z({},"".concat(r,"DismissedAt"),M(M({},t()["".concat(r,"DismissedAt")]),{},z({},n,(new Date).toISOString()))))}}}),{name:"extendify-user",getStorage:function(){return $},onRehydrateStorage:function(){return function(){K.setState({_hasHydrated:!0})}},partialize:function(e){return delete e._hasHydrated,e}})),X=C().create({baseURL:window.extendifyData.root,headers:{"X-WP-Nonce":window.extendifyData.nonce,"X-Requested-With":"XMLHttpRequest","X-Extendify":!0}});function Z(e){return Object.prototype.hasOwnProperty.call(e,"data")?e.data:e}function Y(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)}X.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}(Z(e))}),(function(e){return function(e){if(e.response)return console.error(e.response),Promise.reject(Z(e.response))}(e)})),X.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=K.getState(),n=t.apiKey?"unlimited":t.remainingImports();return e.data&&(e.data.remaining_imports=n,e.data.entry_point=t.entryPoint,e.data.total_imports=t.imports,e.data.participating_tests=t.activeTestGroups()),e}(e))}),(function(e){return e}));var Q=function(){return(e=k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X.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){Y(i,r,o,a,s,"next",e)}function s(e){Y(i,r,o,a,s,"throw",e)}a(void 0)}))})();var e};function ee(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 te=c(v((function(e,t){return{taxonomies:{},setTaxonomies:function(t){return e({taxonomies:t})},fetchTaxonomies:(n=k().mark((function e(){var n,r;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Q();case 2:if(r=e.sent,r=Object.keys(r).reduce((function(e,t){return e[t]=r[t],e}),{}),null!==(n=Object.keys(r))&&void 0!==n&&n.length){e.next=6;break}return e.abrupt("return");case 6:t().setTaxonomies(r);case 7:case"end":return e.stop()}}),e)})),r=function(){var e=this,t=arguments;return new Promise((function(r,o){var i=n.apply(e,t);function a(e){ee(i,r,o,a,s,"next",e)}function s(e){ee(i,r,o,a,s,"throw",e)}a(void 0)}))},function(){return r.apply(this,arguments)})};var n,r}),{name:"extendify-taxonomies"}));function ne(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 re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){oe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ie(e){return function(e){if(Array.isArray(e))return ae(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 ae(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 ae(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 ae(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 se,le,ce=c(u((function(e,t){return{templates:[],skipNextFetch:!1,fetchToken:null,taxonomyDefaultState:{},nextPage:"",searchParams:{taxonomies:{},type:"pattern"},initTemplateData:function(){e({activeTemplate:{}}),t().setupDefaultTaxonomies(),t().updateType(w.getState().currentType)},appendTemplates:function(n){return e({templates:ie(new Map([].concat(ie(t().templates),ie(n)).map((function(e){return[e.id,e]}))).values())})},setupDefaultTaxonomies:function(){var n,r,o,i,a=te.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=K.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=w.getState())||void 0===i?void 0:i.currentTaxonomies)&&void 0!==o?o:{}),l.taxonomies=Object.assign({},s),e({taxonomyDefaultState:s,searchParams:re({},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)&&K.getState().updatePreferredOption("siteType",null==o||null===(r=o.taxonomies)||void 0===r?void 0:r.siteType);w.getState().updateCurrentTaxonomies(null==o?void 0:o.taxonomies),t().updateSearchParams(o)},updateType:function(e){w.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 K.getState().updatePreferredSiteType(r),t().updateTaxonomies({siteType:r}),K.getState().updatePreferredOption("tax_categories",null),K.getState().preferredOptions.taxonomies}}}))),ue=function(){return X.get("meta-data")},de=function(e){var t,n,r,o,i,a,s,l=null!==(t=null===(n=ce.getState())||void 0===n||null===(r=n.searchParams)||void 0===r?void 0:r.taxonomies)&&void 0!==t?t:[];return X.post("simple-ping",{action:e,categories:l,group:null!==(o=null===(i=K.getState())||void 0===i?void 0:i.group)&&void 0!==o?o:0,sdk_partner:null!==(a=null===(s=K.getState())||void 0===s?void 0:s.sdkPartner)&&void 0!==a?a:""})};function fe(){return fe=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},fe.apply(this,arguments)}function pe(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 he(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 me(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 he(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)?he(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 xe(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,xe),a}function ye(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 ve(t,n,r,s);var l=null!=o?o:se.None;if(l&se.Static){var c=t.static,u=void 0!==c&&c,d=pe(t,["static"]);if(u)return ve(d,n,r,s)}if(l&se.RenderStrategy){var f,p=t.unmount,h=void 0===p||p,m=pe(t,["unmount"]);return xe(h?le.Unmount:le.Hidden,((f={})[le.Unmount]=function(){return null},f[le.Hidden]=function(){return ve(fe({},m,{hidden:!0,style:{display:"none"}}),n,r,s)},f))}return ve(t,n,r,s)}function ve(e,t,n,r){var o;void 0===t&&(t={});var a=be(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=pe(a,["as","children","refName"]),p=void 0!==e.ref?((o={})[d]=e.ref,o):{},h="function"==typeof c?c(t):c;if(f.className&&"function"==typeof f.className&&(f.className=f.className(t)),l===i.Fragment&&Object.keys(f).length>0){if(!(0,i.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,i.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=me(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}(be(f,["ref"])),h.props,["onClick"]),p))}return(0,i.createElement)(l,Object.assign({},be(f,["ref"]),l!==i.Fragment&&p),h)}function ge(e){var t;return Object.assign((0,i.forwardRef)(e),{displayName:null!=(t=e.displayName)?t:e.name})}function be(e,t){void 0===t&&(t=[]);for(var n,r=Object.assign({},e),o=me(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"}(se||(se={})),function(e){e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden"}(le||(le={}));var we="undefined"!=typeof window?i.useLayoutEffect:i.useEffect,je={serverHandoffComplete:!1};function ke(){var e=(0,i.useState)(je.serverHandoffComplete),t=e[0],n=e[1];return(0,i.useEffect)((function(){!0!==t&&n(!0)}),[t]),(0,i.useEffect)((function(){!1===je.serverHandoffComplete&&(je.serverHandoffComplete=!0)}),[]),t}var Se=0;function Ce(){return++Se}function _e(){var e=ke(),t=(0,i.useState)(e?Ce:null),n=t[0],r=t[1];return we((function(){null===n&&r(Ce())}),[n]),null!=n?""+n:void 0}function Oe(){var e=(0,i.useRef)(!1);return(0,i.useEffect)((function(){return e.current=!0,function(){e.current=!1}}),[]),e}var Ee,Ae,Ne=(0,i.createContext)(null);function Pe(){return(0,i.useContext)(Ne)}function Te(e){var t=e.value,n=e.children;return a().createElement(Ne.Provider,{value:t},n)}function Ie(){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=me(e.splice(0));!(t=n()).done;){var r=t.value;r()}}};return t}function Le(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 Me(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 Re(e,t,n,r,o,i){var a=Ie(),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 Me.apply(void 0,[e].concat(o)),Le.apply(void 0,[e].concat(t,n)),a.nextFrame((function(){Me.apply(void 0,[e].concat(n)),Le.apply(void 0,[e].concat(r)),a.add(function(e,t){var n=Ie();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(Ae.Finished)}),i+a):t(Ae.Finished),n.add((function(){return t(Ae.Cancelled)})),n.dispose}(e,(function(n){return Me.apply(void 0,[e].concat(r,t)),Le.apply(void 0,[e].concat(o)),s(n)})))})),a.add((function(){return Me.apply(void 0,[e].concat(t,n,r,o))})),a.add((function(){return s(Ae.Cancelled)})),a.dispose}function De(e){return void 0===e&&(e=""),(0,i.useMemo)((function(){return e.split(" ").filter((function(e){return e.trim().length>1}))}),[e])}Ne.displayName="OpenClosedContext",function(e){e[e.Open=0]="Open",e[e.Closed=1]="Closed"}(Ee||(Ee={})),function(e){e.Finished="finished",e.Cancelled="cancelled"}(Ae||(Ae={}));var Fe,Be=(0,i.createContext)(null);Be.displayName="TransitionContext",function(e){e.Visible="visible",e.Hidden="hidden"}(Fe||(Fe={}));var ze=(0,i.createContext)(null);function Ue(e){return"children"in e?Ue(e.children):e.current.filter((function(e){return e.state===Fe.Visible})).length>0}function Ve(e){var t=(0,i.useRef)(e),n=(0,i.useRef)([]),r=Oe();(0,i.useEffect)((function(){t.current=e}),[e]);var o=(0,i.useCallback)((function(e,o){var i;void 0===o&&(o=le.Hidden);var a=n.current.findIndex((function(t){return t.id===e}));-1!==a&&(xe(o,((i={})[le.Unmount]=function(){n.current.splice(a,1)},i[le.Hidden]=function(){n.current[a].state=Fe.Hidden},i)),!Ue(n)&&r.current&&(null==t.current||t.current()))}),[t,r,n]),a=(0,i.useCallback)((function(e){var t=n.current.find((function(t){return t.id===e}));return t?t.state!==Fe.Visible&&(t.state=Fe.Visible):n.current.push({id:e,state:Fe.Visible}),function(){return o(e,le.Unmount)}}),[n,o]);return(0,i.useMemo)((function(){return{children:n,register:a,unregister:o}}),[a,o,n])}function He(){}ze.displayName="NestingContext";var We=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function qe(e){for(var t,n={},r=me(We);!(t=r()).done;){var o,i=t.value;n[i]=null!=(o=e[i])?o:He}return n}var $e,Ge=se.RenderStrategy;function Je(e){var t,n=e.beforeEnter,r=e.afterEnter,o=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=pe(e,["beforeEnter","afterEnter","beforeLeave","afterLeave","enter","enterFrom","enterTo","entered","leave","leaveFrom","leaveTo"]),x=(0,i.useRef)(null),y=(0,i.useState)(Fe.Visible),v=y[0],g=y[1],b=m.unmount?le.Unmount:le.Hidden,w=function(){var e=(0,i.useContext)(Be);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,i.useContext)(ze);if(null===e)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}(),_=C.register,O=C.unregister,E=_e(),A=(0,i.useRef)(!1),N=Ve((function(){A.current||(g(Fe.Hidden),O(E),F.current.afterLeave())}));we((function(){if(E)return _(E)}),[_,E]),we((function(){var e;b===le.Hidden&&E&&(j&&v!==Fe.Visible?g(Fe.Visible):xe(v,((e={})[Fe.Hidden]=function(){return O(E)},e[Fe.Visible]=function(){return _(E)},e)))}),[v,E,_,O,j,b]);var P=De(l),T=De(c),I=De(u),L=De(d),M=De(f),R=De(p),D=De(h),F=function(e){var t=(0,i.useRef)(qe(e));return(0,i.useEffect)((function(){t.current=qe(e)}),[e]),t}({beforeEnter:n,afterEnter:r,beforeLeave:o,afterLeave:s}),B=ke();(0,i.useEffect)((function(){if(B&&v===Fe.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;we((function(){var e=x.current;if(e&&!z)return A.current=!0,j&&F.current.beforeEnter(),j||F.current.beforeLeave(),j?Re(e,P,T,I,L,(function(e){A.current=!1,e===Ae.Finished&&F.current.afterEnter()})):Re(e,M,R,D,L,(function(e){A.current=!1,e===Ae.Finished&&(Ue(N)||(g(Fe.Hidden),O(E),F.current.afterLeave()))}))}),[F,E,A,O,N,x,z,j,P,T,I,M,R,D]);var U={ref:x},V=m;return a().createElement(ze.Provider,{value:N},a().createElement(Te,{value:xe(v,(t={},t[Fe.Visible]=Ee.Open,t[Fe.Hidden]=Ee.Closed,t))},ye({props:fe({},V,U),defaultTag:"div",features:Ge,visible:v===Fe.Visible,name:"Transition.Child"})))}function Ke(e){var t,n=e.show,r=e.appear,o=void 0!==r&&r,s=e.unmount,l=pe(e,["show","appear","unmount"]),c=Pe();void 0===n&&null!==c&&(n=xe(c,((t={})[Ee.Open]=!0,t[Ee.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,i.useState)(n?Fe.Visible:Fe.Hidden),d=u[0],f=u[1],p=Ve((function(){f(Fe.Hidden)})),h=function(){var e=(0,i.useRef)(!0);return(0,i.useEffect)((function(){e.current=!1}),[]),e.current}(),m=(0,i.useMemo)((function(){return{show:n,appear:o||!h,initial:h}}),[n,o,h]);(0,i.useEffect)((function(){n?f(Fe.Visible):Ue(p)||f(Fe.Hidden)}),[n,p]);var x={unmount:s};return a().createElement(ze.Provider,{value:p},a().createElement(Be.Provider,{value:m},ye({props:fe({},x,{as:i.Fragment,children:a().createElement(Je,Object.assign({},x,l))}),defaultTag:i.Fragment,features:Ge,visible:d===Fe.Visible,name:"Transition"})))}function Xe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=(0,i.useRef)(t);return(0,i.useEffect)((function(){r.current=t}),[t]),(0,i.useCallback)((function(e){for(var t,n=me(r.current);!(t=n()).done;){var o=t.value;null!=o&&("function"==typeof o?o(e):o.current=e)}}),[r])}function Ze(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 Ye(e,t,n){var r=(0,i.useRef)(t);r.current=t,(0,i.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])}Ke.Child=function(e){var t=null!==(0,i.useContext)(Be),n=null!==Pe();return!t&&n?a().createElement(Ke,Object.assign({},e)):a().createElement(Je,Object.assign({},e))},Ke.Root=Ke,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"}($e||($e={}));var Qe,et,tt,nt,rt,ot=["[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 it(e){null==e||e.focus({preventScroll:!0})}function at(e,t){var n=Array.isArray(e)?e:function(e){return void 0===e&&(e=document.body),null==e?[]:Array.from(e.querySelectorAll(ot))}(e),r=document.activeElement,o=function(){if(t&(Qe.First|Qe.Next))return tt.Next;if(t&(Qe.Previous|Qe.Last))return tt.Previous;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")}(),i=function(){if(t&Qe.First)return 0;if(t&Qe.Previous)return Math.max(0,n.indexOf(r))-1;if(t&Qe.Next)return Math.max(0,n.indexOf(r))+1;if(t&Qe.Last)return n.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")}(),a=t&Qe.NoScroll?{preventScroll:!0}:{},s=0,l=n.length,c=void 0;do{var u;if(s>=l||s+l<=0)return et.Error;var d=i+s;if(t&Qe.WrapAround)d=(d+l)%l;else{if(d<0)return et.Underflow;if(d>=l)return et.Overflow}null==(u=c=n[d])||u.focus(a),s+=o}while(c!==document.activeElement);return c.hasAttribute("tabindex")||c.setAttribute("tabindex","0"),et.Success}function st(e,t,n){void 0===t&&(t=rt.All);var r=void 0===n?{}:n,o=r.initialFocus,a=r.containers,s=(0,i.useRef)("undefined"!=typeof window?document.activeElement:null),l=(0,i.useRef)(null),c=Oe(),u=Boolean(t&rt.RestoreFocus),d=Boolean(t&rt.InitialFocus);(0,i.useEffect)((function(){u&&(s.current=document.activeElement)}),[u]),(0,i.useEffect)((function(){if(u)return function(){it(s.current),s.current=null}}),[u]),(0,i.useEffect)((function(){if(d&&e.current){var t=document.activeElement;if(null==o?void 0:o.current){if((null==o?void 0:o.current)===t)return void(l.current=t)}else if(e.current.contains(t))return void(l.current=t);(null==o?void 0:o.current)?it(o.current):at(e.current,Qe.First)===et.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),l.current=document.activeElement}}),[e,o,d]),Ye("keydown",(function(n){t&rt.TabLock&&e.current&&n.key===$e.Tab&&(n.preventDefault(),at(e.current,(n.shiftKey?Qe.Previous:Qe.Next)|Qe.WrapAround)===et.Success&&(l.current=document.activeElement))})),Ye("focus",(function(n){if(t&rt.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=me(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(),it(o)):(l.current=i,it(i)):it(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"}(Qe||(Qe={})),function(e){e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow"}(et||(et={})),function(e){e[e.Previous=-1]="Previous",e[e.Next=1]="Next"}(tt||(tt={})),function(e){e[e.Strict=0]="Strict",e[e.Loose=1]="Loose"}(nt||(nt={})),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"}(rt||(rt={}));var lt=new Set,ct=new Map;function ut(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function dt(e){var t=ct.get(e);t&&(null===t["aria-hidden"]?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert)}var ft=(0,i.createContext)(!1);function pt(e){return a().createElement(ft.Provider,{value:e.force},e.children)}const ht=ReactDOM;function mt(){var e=(0,i.useContext)(ft),t=(0,i.useContext)(gt),n=(0,i.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],o=n[1];return(0,i.useEffect)((function(){e||null!==t&&o(t.current)}),[t,o,e]),r}var xt=i.Fragment;function yt(e){var t=e,n=mt(),r=(0,i.useState)((function(){return"undefined"==typeof window?null:document.createElement("div")}))[0],o=ke();return we((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]),o&&n&&r?(0,ht.createPortal)(ye({props:t,defaultTag:xt,name:"Portal"}),r):null}var vt=i.Fragment,gt=(0,i.createContext)(null);yt.Group=function(e){var t=e.target,n=pe(e,["target"]);return a().createElement(gt.Provider,{value:t},ye({props:n,defaultTag:vt,name:"Popover.Group"}))};var bt=(0,i.createContext)(null);function wt(){var e=(0,i.useContext)(bt);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,wt),t}return e}var jt,kt,St,Ct,_t=(0,i.createContext)((function(){}));function Ot(e){var t=e.children,n=e.onUpdate,r=e.type,o=e.element,s=(0,i.useContext)(_t),l=(0,i.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 we((function(){return l(jt.Add,r,o),function(){return l(jt.Remove,r,o)}}),[l,r,o]),a().createElement(_t.Provider,{value:l},t)}_t.displayName="StackContext",function(e){e[e.Add=0]="Add",e[e.Remove=1]="Remove"}(jt||(jt={})),function(e){e[e.Open=0]="Open",e[e.Closed=1]="Closed"}(St||(St={})),function(e){e[e.SetTitleId=0]="SetTitleId"}(Ct||(Ct={}));var Et=((kt={})[Ct.SetTitleId]=function(e,t){return e.titleId===t.id?e:fe({},e,{titleId:t.id})},kt),At=(0,i.createContext)(null);function Nt(e){var t=(0,i.useContext)(At);if(null===t){var n=new Error("<"+e+" /> is missing a parent <"+Mt.displayName+" /> component.");throw Error.captureStackTrace&&Error.captureStackTrace(n,Nt),n}return t}function Pt(e,t){return xe(t.type,Et,e,t)}At.displayName="DialogContext";var Tt=se.RenderStrategy|se.Static,It=ge((function(e,t){var n,r=e.open,o=e.onClose,s=e.initialFocus,l=pe(e,["open","onClose","initialFocus"]),c=(0,i.useState)(0),u=c[0],d=c[1],f=Pe();void 0===r&&null!==f&&(r=xe(f,((n={})[Ee.Open]=!0,n[Ee.Closed]=!1,n)));var p=(0,i.useRef)(new Set),h=(0,i.useRef)(null),m=Xe(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 o)throw new Error("You provided an `onClose` prop to the `Dialog`, but the value is not a function. Received: "+o);var v=r?St.Open:St.Closed,g=null!==f?f===Ee.Open:v===St.Open,b=(0,i.useReducer)(Pt,{titleId:null,descriptionId:null}),w=b[0],j=b[1],k=(0,i.useCallback)((function(){return o(!1)}),[o]),S=(0,i.useCallback)((function(e){return j({type:Ct.SetTitleId,id:e})}),[j]),C=ke()&&v===St.Open,_=u>1,O=null!==(0,i.useContext)(At);st(h,C?xe(_?"parent":"leaf",{parent:rt.RestoreFocus,leaf:rt.All}):rt.None,{initialFocus:s,containers:p}),function(e,t){void 0===t&&(t=!0),we((function(){if(t&&e.current){var n=e.current;lt.add(n);for(var r,o=me(ct.keys());!(r=o()).done;){var i=r.value;i.contains(n)&&(dt(i),ct.delete(i))}return document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement){for(var t,n=me(lt);!(t=n()).done;){var r=t.value;if(e.contains(r))return}1===lt.size&&(ct.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),ut(e))}})),function(){if(lt.delete(n),lt.size>0)document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement&&!ct.has(e)){for(var t,n=me(lt);!(t=n()).done;){var r=t.value;if(e.contains(r))return}ct.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),ut(e)}}));else for(var e,t=me(ct.keys());!(e=t()).done;){var r=e.value;dt(r),ct.delete(r)}}}}),[t])}(h,!!_&&C),Ye("mousedown",(function(e){var t,n=e.target;v===St.Open&&(_||(null==(t=h.current)?void 0:t.contains(n))||k())})),Ye("keydown",(function(e){e.key===$e.Escape&&v===St.Open&&(_||(e.preventDefault(),e.stopPropagation(),k()))})),(0,i.useEffect)((function(){if(v===St.Open&&!O){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,O]),(0,i.useEffect)((function(){if(v===St.Open&&h.current){var e=new IntersectionObserver((function(e){for(var t,n=me(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 E=function(){var e=(0,i.useState)([]),t=e[0],n=e[1];return[t.length>0?t.join(" "):void 0,(0,i.useMemo)((function(){return function(e){var t=(0,i.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,i.useMemo)((function(){return{register:t,slot:e.slot,name:e.name,props:e.props}}),[t,e.slot,e.name,e.props]);return a().createElement(bt.Provider,{value:r},e.children)}}),[n])]}(),A=E[0],N=E[1],P="headlessui-dialog-"+_e(),T=(0,i.useMemo)((function(){return[{dialogState:v,close:k,setTitleId:S},w]}),[v,w,k,S]),I=(0,i.useMemo)((function(){return{open:v===St.Open}}),[v]),L={ref:m,id:P,role:"dialog","aria-modal":v===St.Open||void 0,"aria-labelledby":w.titleId,"aria-describedby":A,onClick:function(e){e.stopPropagation()}},M=l;return a().createElement(Ot,{type:"Dialog",element:h,onUpdate:(0,i.useCallback)((function(e,t,n){var r;"Dialog"===t&&xe(e,((r={})[jt.Add]=function(){p.current.add(n),d((function(e){return e+1}))},r[jt.Remove]=function(){p.current.add(n),d((function(e){return e-1}))},r))}),[])},a().createElement(pt,{force:!0},a().createElement(yt,null,a().createElement(At.Provider,{value:T},a().createElement(yt.Group,{target:h},a().createElement(pt,{force:!1},a().createElement(N,{slot:I,name:"Dialog.Description"},ye({props:fe({},M,L),slot:I,defaultTag:"div",features:Tt,visible:g,name:"Dialog"}))))))))})),Lt=ge((function e(t,n){var r=Nt([Mt.displayName,e.name].join("."))[0],o=r.dialogState,a=r.close,s=Xe(n),l="headlessui-dialog-overlay-"+_e(),c=(0,i.useCallback)((function(e){if(e.target===e.currentTarget){if(Ze(e.currentTarget))return e.preventDefault();e.preventDefault(),e.stopPropagation(),a()}}),[a]),u=(0,i.useMemo)((function(){return{open:o===St.Open}}),[o]);return ye({props:fe({},t,{ref:s,id:l,"aria-hidden":!0,onClick:c}),slot:u,defaultTag:"div",name:"Dialog.Overlay"})}));var Mt=Object.assign(It,{Overlay:Lt,Title:function e(t){var n=Nt([Mt.displayName,e.name].join("."))[0],r=n.dialogState,o=n.setTitleId,a="headlessui-dialog-title-"+_e();(0,i.useEffect)((function(){return o(a),function(){return o(null)}}),[a,o]);var s=(0,i.useMemo)((function(){return{open:r===St.Open}}),[r]);return ye({props:fe({},t,{id:a}),slot:s,defaultTag:"h2",name:"Dialog.Title"})},Description:function(e){var t=wt(),n="headlessui-description-"+_e();we((function(){return t.register(n)}),[n,t.register]);var r=e,o=fe({},t.props,{id:n});return ye({props:fe({},r,o),slot:t.slot||{},defaultTag:"p",name:t.name||"Description"})}});const Rt=wp.components,Dt=wp.i18n;const Ft=function(e){let{icon:t,size:n=24,...r}=e;return(0,o.cloneElement)(t,{width:n,height:n,...r})};var Bt=n(42),zt=n.n(Bt);const Ut=e=>(0,o.createElement)("circle",e),Vt=e=>(0,o.createElement)("g",e),Ht=e=>(0,o.createElement)("path",e),Wt=e=>(0,o.createElement)("rect",e),qt=e=>{let{className:t,isPressed:n,...r}=e;const i={...r,className:zt()(t,{"is-pressed":n})||void 0,role:"img","aria-hidden":!0,focusable:!1};return(0,o.createElement)("svg",i)},$t=(0,o.createElement)(qt,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(Ht,{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 Gt=n(246);function Jt(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 Kt(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Jt(i,r,o,a,s,"next",e)}function s(e){Jt(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Xt=function(){return X.get("plugins")},Zt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new FormData;return t.append("plugins",JSON.stringify(e)),X.post("plugins",t,{headers:{"Content-Type":"multipart/form-data"}})},Yt=function(){return X.get("active-plugins")};function Qt(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 en(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Qt(i,r,o,a,s,"next",e)}function s(e){Qt(i,r,o,a,s,"throw",e)}a(void 0)}))}}function tn(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 nn(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 nn(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 nn(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 rn(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 on(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){rn(i,r,o,a,s,"next",e)}function s(e){rn(i,r,o,a,s,"throw",e)}a(void 0)}))}}function an(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 sn(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 ln(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 ln(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 ln(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 cn={promotion:function(e){var t,n=e.promotionData;return(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("span",{className:"text-black",children:null!==(t=null==n?void 0:n.text)&&void 0!==t?t:""}),(0,Gt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Gt.jsx)("div",{className:"flex items-center justify-center space-x-2",children:(null==n?void 0:n.url)&&(0,Gt.jsx)(Rt.Button,{variant:"link",className:"h-auto p-0 text-black underline hover:no-underline",href:"".concat(n.url,"&utm_source=").concat(window.extendifyData.sdk_partner,"&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),onClick:on(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("promotion-notice-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),target:"_blank",children:null==n?void 0:n.button_text})})]})},feedback:function(){return(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("span",{className:"text-black",children:(0,Dt.__)("Tell us how to make the Extendify Library work better for you","extendify")}),(0,Gt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Gt.jsx)("div",{className:"flex items-center justify-center space-x-2",children:(0,Gt.jsx)(Rt.Button,{variant:"link",className:"h-auto p-0 text-black underline hover:no-underline",href:"https://extendify.com/feedback/?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=feedback-notice&utm_content=give-feedback&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),onClick:Kt(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("feedback-notice-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),target:"_blank",children:(0,Dt.__)("Give feedback","extendify")})})]})},standalone:function(){var e=tn((0,o.useState)(""),2),t=e[0],n=e[1],r=K((function(e){return e.giveFreebieImports}));return(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("span",{className:"text-black",children:(0,Dt.__)("Install the new Extendify Library plugin to get the latest we have to offer","extendify")}),(0,Gt.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,Gt.jsxs)("div",{className:"relative inline-flex items-center space-x-2",children:[(0,Gt.jsx)(Rt.Button,{variant:"link",className:zt()("h-auto p-0 text-black underline hover:no-underline",{"opacity-0":t}),onClick:function(){n((0,Dt.__)("Installing...","extendify")),Promise.all([de("stln-footer-install"),Zt(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(en(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r(10),n((0,Dt.__)("Success! Reloading...","extendify")),e.next=4,de("stln-footer-success");case 4:window.location.reload();case 5:case"end":return e.stop()}}),e)})))).catch(function(){var e=en(k().mark((function e(t){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),n((0,Dt.__)("Error. See console.","extendify")),e.next=4,de("stln-footer-fail");case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())},children:(0,Dt.__)("Install Extendify standalone plugin","extendify")}),t?(0,Gt.jsx)(Rt.Button,{variant:"link",disabled:!0,className:"absolute left-0 h-auto p-0 text-black underline opacity-100 hover:no-underline",onClick:function(){},children:t}):null]})]})}};function un(e){var t,n=e.className,r=void 0===n?"":n,i=sn((0,o.useState)(null),2),a=i[0],s=i[1],l=(0,o.useRef)(!1),c=w((function(e){var t,n;return null===(t=e.metaData)||void 0===t||null===(n=t.banners)||void 0===n?void 0:n.footer})),u=null!==(t=Object.keys(cn).find((function(e){return"promotion"===e?(null==c?void 0:c.key)&&!K.getState().noticesDismissedAt[c.key]:"feedback"===e?(o=null!==(t=K.getState().imports)&&void 0!==t?t:0,i=null!==(n=null===(r=K.getState())||void 0===r?void 0:r.firstLoadedOn)&&void 0!==n?n:new Date,a=(new Date).getTime()-new Date(i).getTime(),o>=3&&a/864e5>3&&!K.getState().noticesDismissedAt[e]):"standalone"===e?!window.extendifyData.standalone&&!K.getState().noticesDismissedAt[e]:!K.getState().noticesDismissedAt[e];var t,n,r,o,i,a})))&&void 0!==t?t:null,d=cn[u],f=function(){var e,t=(e=k().mark((function e(){var t;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!1),t="promotion"===u?c.key:u,K.getState().markNoticeSeen(t,"notices"),e.next=5,de("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){an(i,r,o,a,s,"next",e)}function s(e){an(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}();return(0,o.useEffect)((function(){cn[u]&&!l.current&&(s(!0),l.current=!0)}),[u]),a?(0,Gt.jsxs)("div",{className:"".concat(r," relative mx-auto hidden max-w-screen-4xl items-center justify-center space-x-4 bg-extendify-secondary py-3 px-5 lg:flex"),children:[(0,Gt.jsx)(d,{promotionData:c}),(0,Gt.jsx)("div",{className:"absolute right-1",children:(0,Gt.jsx)(Rt.Button,{className:"text-extendify-black opacity-50 hover:opacity-100 focus:opacity-100",icon:(0,Gt.jsx)(Ft,{icon:$t}),label:(0,Dt.__)("Dismiss this notice","extendify"),onClick:f,showTooltip:!1})})]}):null}function dn(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}const fn=(0,Gt.jsxs)(qt,{viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(qt,{fill:"none",viewBox:"0 0 25 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)(Ht,{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 hn=(0,Gt.jsx)(qt,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)(Ht,{clipRule:"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",fillRule:"evenodd"})});const mn=(0,Gt.jsx)(qt,{fill:"none",width:"150",height:"30",viewBox:"0 0 2524 492",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsxs)(Vt,{fill:"currentColor",children:[(0,Gt.jsx)(Ht,{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,Gt.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,Gt.jsx)("path",{d:"m994.142 125h155.998v51h-155.998zm108.498 247h-61v-324h61z"}),(0,Gt.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,Gt.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,Gt.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,Gt.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,Gt.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,Gt.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,Gt.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 xn=(0,Gt.jsx)(qt,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)("path",{d:"m11.9893 2.59931c-.1822.00285-.3558.07789-.4827.20864s-.1967.30653-.1941.48871v1.375c-.0013.0911.0156.18155.0495.26609.034.08454.0844.16149.1484.22637s.1402.11639.2242.15156c.0841.03516.1743.05327.2654.05327s.1813-.01811.2654-.05327c.084-.03517.1603-.08668.2242-.15156.064-.06488.1144-.14183.1484-.22637s.0508-.17499.0495-.26609v-1.375c.0013-.09202-.0158-.18337-.0505-.26863-.0346-.08526-.086-.1627-.1511-.22773s-.1426-.11633-.2279-.15085c-.0853-.03453-.1767-.05158-.2687-.05014zm-5.72562.46013c-.1251.00033-.24775.0348-.35471.09968-.10697.06488-.19421.15771-.25232.2685-.05812.1108-.0849.23534-.07747.36023.00744.12488.0488.24537.11964.34849l.91667 1.375c.04939.07667.11354.14274.18872.19437.07517.05164.15987.0878.24916.10639.08928.01858.18137.01922.27091.00187.08953-.01734.17472-.05233.2506-.10292.07589-.05059.14095-.11577.1914-.19174.05045-.07598.08528-.16123.10246-.2508.01719-.08956.01638-.18165-.00237-.2709s-.05507-.17388-.10684-.24897l-.91666-1.375c-.06252-.09667-.14831-.1761-.2495-.231-.1012-.0549-.21456-.08351-.32969-.0832zm11.45212 0c-.1117.00307-.2209.03329-.3182.08804-.0973.05474-.1798.13237-.2404.22616l-.9167 1.375c-.0518.07509-.0881.15972-.1068.24897-.0188.08925-.0196.18134-.0024.2709.0172.08957.052.17482.1024.2508.0505.07597.1156.14115.1914.19174.0759.05059.1611.08558.2506.10292.0896.01735.1817.01671.271-.00187.0892-.01859.1739-.05475.2491-.10639.0752-.05163.1393-.1177.1887-.19437l.9167-1.375c.0719-.10456.1135-.22698.1201-.3537s-.022-.25281-.0826-.36429c-.0606-.11149-.1508-.20403-.2608-.26738-.11-.06334-.2353-.09502-.3621-.09153zm-9.61162 3.67472c-.09573-.00001-.1904.01998-.27795.05867-.08756.03869-.16607.09524-.23052.16602l-4.58333 5.04165c-.11999.1319-.18407.3052-.17873.4834.00535.1782.0797.3473.20738.4718l8.47917 8.25c.1284.1251.3006.1951.4798.1951.1793 0 .3514-.07.4798-.1951l8.4792-8.25c.1277-.1245.202-.2936.2074-.4718.0053-.1782-.0588-.3515-.1788-.4834l-4.5833-5.04165c-.0644-.07078-.1429-.12733-.2305-.16602s-.1822-.05868-.278-.05867h-3.877zm.30436 1.375h2.21646l-2.61213 3.48314c-.04258.0557-.07639.1176-.10026.1835h-2.83773zm4.96646 0h2.2165l3.3336 3.66664h-2.8368c-.0241-.066-.0582-.1278-.1011-.1835zm-1.375.45833 2.4063 3.20831h-4.81254zm-6.78637 4.58331h2.70077c.00665.0188.01412.0374.02238.0555l2.11442 4.6505zm4.20826 0h5.15621l-2.5781 5.6719zm6.66371 0h2.7008l-4.8376 4.706 2.1144-4.6505c.0083-.0181.0158-.0367.0224-.0555z",fill:"#000"})});const yn=(0,Gt.jsxs)(qt,{viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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 vn=(0,Gt.jsxs)(qt,{viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.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,Gt.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 gn=(0,Gt.jsxs)(qt,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ht,{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",strokeWidth:"1.25",fill:"none"}),(0,Gt.jsxs)(Vt,{fill:"currentColor",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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 bn=(0,Gt.jsx)(qt,{fill:"none",height:"25",viewBox:"0 0 25 25",width:"25",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)(Ht,{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 wn=(0,Gt.jsx)(qt,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsxs)(Vt,{stroke:"currentColor",strokeWidth:"1.5",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{d:"m9.25 19v-14"})]})});const jn=(0,Gt.jsxs)(qt,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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 kn=(0,Gt.jsxs)(qt,{fill:"none",viewBox:"0 0 151 148",width:"151",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ut,{cx:"65.6441",cy:"66.6114",fill:"#0b4a43",r:"65.3897"}),(0,Gt.jsxs)(Vt,{fill:"#cbc3f5",stroke:"#0b4a43",children:[(0,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Wt,{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,Gt.jsx)(Wt,{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,Gt.jsx)(Wt,{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,Gt.jsx)(Wt,{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,Gt.jsx)(Ht,{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,Gt.jsx)(Ht,{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 Sn=(0,Gt.jsxs)(qt,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Gt.jsx)(Ut,{cx:"12",cy:"12",r:"7.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,Gt.jsx)(Ut,{cx:"12",cy:"12",r:"4.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,Gt.jsx)(Ut,{cx:"11.9999",cy:"12.2",r:"6",transform:"rotate(-45 11.9999 12.2)",stroke:"currentColor",strokeWidth:"3",strokeDasharray:"1.5 4"})]});const Cn=(0,Gt.jsx)(qt,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)(Ht,{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 _n=(0,Gt.jsx)(qt,{fill:"none",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg",children:(0,Gt.jsx)(Ht,{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"})}),On=(0,o.createElement)(qt,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(Ht,{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 En=(0,o.forwardRef)((function(e,t){var n,r=e.onClose,i=e.isOpen,a=e.invertedButtonColor,s=e.children,l=e.leftContainerBgColor,c=void 0===l?"bg-white":l,u=e.rightContainerBgColor,d=void 0===u?"bg-gray-100":u,f=(0,o.useRef)(null),p=w((function(e){return e.removeAllModals}));return r=null!==(n=r)&&void 0!==n?n:p,(0,Gt.jsx)(Ke.Root,{appear:!0,show:!0,as:o.Fragment,children:(0,Gt.jsx)(Mt,{as:"div",static:!0,open:i,className:"extendify",initialFocus:null!=t?t:f,onClose:r,children:(0,Gt.jsxs)("div",{className:"fixed inset-0 z-high flex",children:[(0,Gt.jsx)(Ke.Child,{as:o.Fragment,enter:"ease-out duration-50 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Gt.jsx)(Mt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,Gt.jsx)(Ke.Child,{as:o.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,Gt.jsx)("div",{className:"m-auto",children:(0,Gt.jsxs)("div",{className:"relative m-8 max-w-md justify-between rounded-sm shadow-modal md:m-0 md:flex md:max-w-2xl",children:[(0,Gt.jsxs)("button",{onClick:r,ref:f,className:"absolute top-0 right-0 block cursor-pointer rounded-md bg-transparent p-4 text-gray-700 opacity-30 hover:opacity-100",style:a&&{filter:"invert(1)"},children:[(0,Gt.jsx)("span",{className:"sr-only",children:(0,Dt.__)("Close","extendify")}),(0,Gt.jsx)(Ft,{icon:On})]}),(0,Gt.jsx)("div",{className:"w-7/12 p-12 ".concat(c),children:s[0]}),(0,Gt.jsx)("div",{className:"hidden w-6/12 md:block ".concat(d),children:s[1]})]})})})]})})})}));function An(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 Nn(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){An(i,r,o,a,s,"next",e)}function s(e){An(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Pn(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 Tn(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 Tn(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 Tn(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 In=function(){var e=Pn((0,o.useState)((0,Dt.__)("Install Extendify","extendify")),2),t=e[0],n=e[1],r=Pn((0,o.useState)(!1),2),i=r[0],a=r[1],s=Pn((0,o.useState)(!1),2),l=s[0],c=s[1],u=(0,o.useRef)(null),d=K((function(e){return e.markNoticeSeen})),f=K((function(e){return e.giveFreebieImports})),p=w((function(e){return e.removeAllModals})),h=function(){var e=Nn(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p(),d("standalone","modalNotices"),e.next=4,de("stln-modal-x");case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,Gt.jsxs)(En,{ref:u,onClose:h,children:[(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("div",{className:"mb-10 flex items-center space-x-2 text-extendify-black",children:mn}),(0,Gt.jsx)("h3",{className:"text-xl",children:(0,Dt.__)("Get the brand new Extendify plugin today!","extendify")}),(0,Gt.jsx)("p",{className:"text-sm text-black",dangerouslySetInnerHTML:{__html:dn((0,Dt.sprintf)((0,Dt.__)("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,Gt.jsx)("div",{children:(0,Gt.jsxs)("button",{onClick:function(){n((0,Dt.__)("Installing...","extendify")),c(!0),Promise.all([de("stln-modal-install"),Zt(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(Nn(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n((0,Dt.__)("Success! Reloading...","extendify")),a(!0),f(10),e.next=5,de("stln-modal-success");case 5:window.location.reload();case 6:case"end":return e.stop()}}),e)})))).catch(function(){var e=Nn(k().mark((function e(t){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),n((0,Dt.__)("Error. See console.","extendify")),e.next=4,de("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 button-focus mt-2 inline-flex justify-center px-4 py-3",style:{minWidth:"225px"},children:[t,i||(0,Gt.jsx)(Rt.Icon,{icon:vn,size:24,className:"ml-2 w-6 flex-grow-0"})]})})]}),(0,Gt.jsx)("div",{className:"flex w-full justify-end rounded-tr-sm rounded-br-sm bg-extendify-secondary",children:(0,Gt.jsx)("img",{alt:(0,Dt.__)("Upgrade Now","extendify"),className:"roudned-br-sm max-w-full rounded-tr-sm",src:window.extendifyData.asset_path+"/modal-extendify-purple.png"})})]})};function Ln(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 Mn(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 Mn(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 Mn(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 Rn(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 Dn(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 Dn(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 Dn(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 Fn=function(e,t){var n=Rn((0,o.useState)(),2),r=n[0],i=n[1],a=K((function(e){return e.testGroup}));return(0,o.useLayoutEffect)((function(){r&&!window.extendifyData.devbuild||i(a(e,t))}),[e,t,r,a]),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 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 Un(){var e=(0,o.useRef)(!1);return(0,o.useEffect)((function(){return e.current=!0,function(){return e.current=!1}})),e}var Vn=function(){var e=Bn((0,o.useState)(!1),2),t=e[0],n=e[1];return(0,o.useEffect)((function(){var e=function(){return n(window.location.search.indexOf("DEVMODE")>-1||window.location.search.indexOf("LOCALMODE")>-1)};return e(),window.addEventListener("popstate",e),function(){window.removeEventListener("popstate",e)}}),[]),t};function Hn(){return Hn=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},Hn.apply(this,arguments)}function Wn(e,t){return Wn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Wn(e,t)}var qn=new Map,$n=new WeakMap,Gn=0,Jn=void 0;function Kn(e){return Object.keys(e).sort().filter((function(t){return void 0!==e[t]})).map((function(t){return t+"_"+("root"===t?(n=e.root)?($n.has(n)||(Gn+=1,$n.set(n,Gn.toString())),$n.get(n)):"0":e[t]);var n})).toString()}function Xn(e,t,n,r){if(void 0===n&&(n={}),void 0===r&&(r=Jn),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=Kn(e),n=qn.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},qn.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(),qn.delete(a))}}var Zn=["children","as","tag","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function Yn(e){return"function"!=typeof e.children}var Qn=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(),Yn(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,Wn(t,n);var o=r.prototype;return o.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())},o.componentWillUnmount=function(){this.unobserve(),this.node=null},o.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=Xn(this.node,this.handleChange,{threshold:t,root:n,rootMargin:r,trackVisibility:o,delay:i},a)}},o.unobserve=function(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)},o.render=function(){if(!Yn(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,o=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,Zn);return i.createElement(a||s||"div",Hn({ref:this.handleNode},l),o)},r}(i.Component);function er(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 tr(){return tr=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},tr.apply(this,arguments)}function nr(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 rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nr(Object(n),!0).forEach((function(t){or(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function or(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Qn.displayName="InView",Qn.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1};const ir={breakpointCols:void 0,className:void 0,columnClassName:void 0,children:void 0,columnAttrs:void 0,column:void 0};class ar extends a().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=a().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 i=n;i&&"string"!=typeof i&&(this.logDeprecated('The property "columnClassName" requires a string'),void 0===i&&(i="my-masonry-grid_column"));const s=rr(rr(rr({},e),t),{},{style:rr(rr({},t.style),{},{width:o}),className:i});return r.map(((e,t)=>a().createElement("div",tr({},s,{key:t}),e)))}logDeprecated(e){console.error("[Masonry]",e)}render(){const e=this.props,{children:t,breakpointCols:n,columnClassName:r,columnAttrs:o,column:i,className:s}=e,l=er(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")),a().createElement("div",tr({},l,{className:c}),this.renderColumns())}}ar.defaultProps=ir;const sr=ar;function lr(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 cr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){lr(i,r,o,a,s,"next",e)}function s(e){lr(i,r,o,a,s,"throw",e)}a(void 0)}))}}var ur=0,dr=function(e){var t=arguments;return cr(k().mark((function n(){var r,o,i,a,s,l,c;return k().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=t.length>1&&void 0!==t[1]?t[1]:{},ur++,s="pattern"===e.type?"8":"4",l="pattern"===e.type?"patternType":"layoutType",c=Object.assign({filterByFormula:hr(e,l),pageSize:s,categories:e.taxonomies,search:e.search,type:e.type,offset:"",initial:1===ur,request_count:ur,group:null!==(r=null===(o=K.getState())||void 0===o?void 0:o.group)&&void 0!==r?r:0,sdk_partner:null!==(i=K.getState().sdkPartner)&&void 0!==i?i:""},a),n.next=7,X.post("templates",c);case 7:return n.abrupt("return",n.sent);case 8:case"end":return n.stop()}}),n)})))()},fr=function(e){var t,n,r,o,i,a,s,l,c=null!==(t=null===(n=ce.getState())||void 0===n||null===(r=n.searchParams)||void 0===r?void 0:r.taxonomies)&&void 0!==t?t:[];return X.post("templates/".concat(e.id),{template_id:null==e?void 0:e.id,categories:c,maybe_import:!0,type:null===(o=e.fields)||void 0===o?void 0:o.type,sdk_partner:null!==(i=K.getState().sdkPartner)&&void 0!==i?i:"",group:null!==(a=null===(s=K.getState())||void 0===s?void 0:s.group)&&void 0!==a?a:0,pageSize:"1",template_name:null===(l=e.fields)||void 0===l?void 0:l.title})},pr=function(e){var t,n,r,o,i,a,s,l,c,u,d,f=null!==(t=null===(n=ce.getState())||void 0===n||null===(r=n.searchParams)||void 0===r?void 0:r.taxonomies)&&void 0!==t?t:[];return X.post("templates/".concat(e.id),{template_id:e.id,categories:f,imported:!0,basePattern:null!==(o=null!==(i=null===(a=e.fields)||void 0===a?void 0:a.basePattern)&&void 0!==i?i:null===(s=e.fields)||void 0===s?void 0:s.baseLayout)&&void 0!==o?o:"",type:e.fields.type,sdk_partner:null!==(l=K.getState().sdkPartner)&&void 0!==l?l:"",group:null!==(c=null===(u=K.getState())||void 0===u?void 0:u.group)&&void 0!==c?c:0,pageSize:"1",template_name:null===(d=e.fields)||void 0===d?void 0:d.title})},hr=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,"")};const mr=wp.blockEditor;function xr(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 yr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){xr(i,r,o,a,s,"next",e)}function s(e){xr(i,r,o,a,s,"throw",e)}a(void 0)}))}}var vr=[],gr=[];function br(e){return wr.apply(this,arguments)}function wr(){return(wr=yr(k().mark((function e(t){var n,r,o,i,a,s,l;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(s=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})),null!==(o=s)&&void 0!==o&&o.length){e.next=4;break}return e.abrupt("return",!1);case 4:if(null!==(i=vr)&&void 0!==i&&i.length){e.next=10;break}return e.t0=Object,e.next=8,Xt();case 8:e.t1=e.sent,vr=e.t0.keys.call(e.t0,e.t1);case 10:return l=!(null===(a=s)||void 0===a||!a.length)&&s.filter((function(e){return!vr.some((function(t){return t.includes(e)}))})),e.abrupt("return",l.length);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jr(e){return kr.apply(this,arguments)}function kr(){return(kr=yr(k().mark((function e(t){var n,r,o,i,a,s,l;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(s=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})),null!==(o=s)&&void 0!==o&&o.length){e.next=4;break}return e.abrupt("return",!1);case 4:if(null!==(i=gr)&&void 0!==i&&i.length){e.next=10;break}return e.t0=Object,e.next=8,Yt();case 8:e.t1=e.sent,gr=e.t0.values.call(e.t0,e.t1);case 10:if(!(l=!(null===(a=s)||void 0===a||!a.length)&&s.filter((function(e){return!gr.some((function(t){return t.includes(e)}))})))){e.next=16;break}return e.next=14,br(t);case 14:if(!e.sent){e.next=16;break}return e.abrupt("return",!1);case 16:return e.abrupt("return",null==l?void 0:l.length);case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Sr=c(v((function(e){return{wantedTemplate:{},importOnLoad:!1,setWanted:function(t){return e({wantedTemplate:t})},removeWanted:function(){return e({wantedTemplate:{}})}}}),{name:"extendify-wanted-template"}));var Cr=function(e){return _r(e,"open")};function _r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"broken-event",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"open";K.setState({entryPoint:e}),window.dispatchEvent(new CustomEvent("extendify::".concat(t,"-library"),{detail:e,bubbles:!0}))}function Or(e){switch(e){case"editorplus":return"Editor Plus";case"ml-slider":return"MetaSlider"}return e}function Er(e){switch(e){case"siteType":return"Site Type";case"patternType":return"Content";case"layoutType":return"Page Types"}}function Ar(){var e,t,n,r=Sr((function(e){return e.wantedTemplate})),i=(null==r||null===(e=r.fields)||void 0===e?void 0:e.required_plugins)||[];return(0,Gt.jsxs)(Rt.Modal,{title:(0,Dt.__)("Plugins required","extendify"),isDismissible:!1,children:[(0,Gt.jsx)("p",{style:{maxWidth:"400px"},children:(0,Dt.sprintf)((0,Dt.__)("In order to add this %s to your site, the following plugins are required to be installed and activated.","extendify"),null!==(t=null==r||null===(n=r.fields)||void 0===n?void 0:n.type)&&void 0!==t?t:"template")}),(0,Gt.jsx)("ul",{children:i.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Gt.jsx)("li",{children:Or(e)},e)}))}),(0,Gt.jsx)("p",{style:{maxWidth:"400px",fontWeight:"bold"},children:(0,Dt.__)("Please contact a site admin for assistance in adding these plugins to your site.","extendify")}),(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:function(){return(0,o.render)((0,Gt.jsx)(ca,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none"},children:(0,Dt.__)("Return to library","extendify")})]})}const Nr=wp.data;function Pr(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 Ir(){var e=Pr((0,o.useState)(!1),2),t=e[0],n=e[1],r=function(){};return(0,(0,Nr.select)("core/editor").isEditedPostDirty)()?(0,Gt.jsxs)(Rt.Modal,{title:(0,Dt.__)("Reload required","extendify"),isDismissible:!1,children:[(0,Gt.jsx)("p",{style:{maxWidth:"400px"},children:(0,Dt.__)("Just one more thing! We need to reload the page to continue.","extendify")}),(0,Gt.jsxs)(Rt.ButtonGroup,{children:[(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:r,disabled:t,children:(0,Dt.__)("Reload page","extendify")}),(0,Gt.jsx)(Rt.Button,{isSecondary:!0,onClick:function(){n(!0),(0,Nr.dispatch)("core/editor").savePost(),n(!1)},isBusy:t,style:{margin:"0 4px"},children:(0,Dt.__)("Save changes","extendify")})]})]}):null}function Lr(e){var t=e.msg;return(0,Gt.jsxs)(Rt.Modal,{style:{maxWidth:"500px"},title:(0,Dt.__)("Error Activating plugins","extendify"),isDismissible:!1,children:[(0,Dt.__)("You have encountered an error that we cannot recover from. Please try again.","extendify"),(0,Gt.jsx)("br",{}),(0,Gt.jsx)(Rt.Notice,{isDismissible:!1,status:"error",children:t}),(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:function(){(0,o.render)((0,Gt.jsx)(zr,{}),document.getElementById("extendify-root"))},children:(0,Dt.__)("Go back","extendify")})]})}function Mr(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 Rr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Mr(i,r,o,a,s,"next",e)}function s(e){Mr(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Dr(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 Fr(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 Fr(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 Fr(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 Br(){var e,t=Dr((0,o.useState)(""),2),n=t[0],r=t[1],i=Sr((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 Zt(a).then((function(){Sr.setState({importOnLoad:!0})})).then(Rr(k().mark((function e(){return k().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,o.render)((0,Gt.jsx)(Ir,{}),document.getElementById("extendify-root"));case 3:case"end":return e.stop()}}),e)})))).catch((function(e){var t=e.response;r(t.data.message)})),n?(0,Gt.jsx)(Lr,{msg:n}):(0,Gt.jsx)(Rt.Modal,{title:(0,Dt.__)("Activating plugins","extendify"),isDismissible:!1,children:(0,Gt.jsx)(Rt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,Dt.__)("Activating...","extendify")})})}function zr(e){var t,n,r,i,a,s=Sr((function(e){return e.wantedTemplate})),l=(null==s||null===(t=s.fields)||void 0===t?void 0:t.required_plugins)||[];return null!==(n=K.getState())&&void 0!==n&&n.canActivatePlugins?(0,Gt.jsx)(Rt.Modal,{title:(0,Dt.__)("Activate required plugins","extendify"),isDismissible:!1,children:(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("p",{style:{maxWidth:"400px"},children:null!==(r=e.message)&&void 0!==r?r:(0,Dt.__)((0,Dt.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,Gt.jsx)("ul",{children:l.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Gt.jsx)("li",{children:Or(e)},e)}))}),(0,Gt.jsxs)(Rt.ButtonGroup,{children:[(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:function(){return(0,o.render)((0,Gt.jsx)(Br,{}),document.getElementById("extendify-root"))},children:(0,Dt.__)("Activate Plugins","extendify")}),e.showClose&&(0,Gt.jsx)(Rt.Button,{isTertiary:!0,onClick:function(){return(0,o.render)((0,Gt.jsx)(ca,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,Dt.__)("No thanks, return to library","extendify")})]})]})}):(0,Gt.jsx)(Ar,{})}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)}var Vr=function(){var e,t=(e=k().mark((function e(t){return k().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,o.render)((0,Gt.jsx)(zr,{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){Ur(i,r,o,a,s,"next",e)}function s(e){Ur(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function Hr(e){var t=e.msg;return(0,Gt.jsxs)(Rt.Modal,{style:{maxWidth:"500px"},title:(0,Dt.__)("Error installing plugins","extendify"),isDismissible:!1,children:[(0,Dt.__)("You have encountered an error that we cannot recover from. Please try again.","extendify"),(0,Gt.jsx)("br",{}),(0,Gt.jsx)(Rt.Notice,{isDismissible:!1,status:"error",children:t}),(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:function(){return(0,o.render)((0,Gt.jsx)(Gr,{}),document.getElementById("extendify-root"))},children:(0,Dt.__)("Go back","extendify")})]})}function Wr(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 $r(e){var t,n=e.requiredPlugins,r=Wr((0,o.useState)(""),2),i=r[0],a=r[1],s=Sr((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 Zt(l).then((function(){Sr.setState({importOnLoad:!0}),(0,o.render)((0,Gt.jsx)(Ir,{}),document.getElementById("extendify-root"))})).catch((function(e){var t=e.message;a(t)})),i?(0,Gt.jsx)(Hr,{msg:i}):(0,Gt.jsx)(Rt.Modal,{title:(0,Dt.__)("Installing plugins","extendify"),isDismissible:!1,children:(0,Gt.jsx)(Rt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,Dt.__)("Installing...","extendify")})})}function Gr(e){var t,n,r,i,a,s=e.forceOpen,l=e.buttonLabel,c=e.title,u=e.message,d=e.requiredPlugins,f=Sr((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!==(r=K.getState())&&void 0!==r&&r.canInstallPlugins?(0,Gt.jsxs)(Rt.Modal,{title:null!=c?c:(0,Dt.__)("Install required plugins","extendify"),isDismissible:!1,children:[(0,Gt.jsx)("p",{style:{maxWidth:"400px"},children:null!=u?u:(0,Dt.__)((0,Dt.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,Gt.jsx)("ul",{children:d.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,Gt.jsx)("li",{children:Or(e)},e)}))}),(0,Gt.jsxs)(Rt.ButtonGroup,{children:[(0,Gt.jsx)(Rt.Button,{isPrimary:!0,onClick:function(){return(0,o.render)((0,Gt.jsx)($r,{requiredPlugins:d}),document.getElementById("extendify-root"))},children:null!=l?l:(0,Dt.__)("Install Plugins","extendify")}),s||(0,Gt.jsx)(Rt.Button,{isTertiary:!0,onClick:function(){s||(0,o.render)((0,Gt.jsx)(ca,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,Dt.__)("No thanks, take me back","extendify")})]})]}):(0,Gt.jsx)(Ar,{})}function Jr(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 Kr=function(){var e,t=(e=k().mark((function e(t){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,br(t);case 2:return e.t0=!e.sent,e.t1=function(){},e.t2=function(){return new Promise((function(){(0,o.render)((0,Gt.jsx)(Gr,{}),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){Jr(i,r,o,a,s,"next",e)}function s(e){Jr(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function Xr(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 Zr(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 Zr(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 Zr(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 Yr(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){Yr(i,r,o,a,s,"next",e)}function s(e){Yr(i,r,o,a,s,"throw",e)}a(void 0)}))}}function eo(e){return new ro(e)}function to(e){return function(){return new no(e.apply(this,arguments))}}function no(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof ro;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 ro(e){this.wrapped=e}no.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},no.prototype.next=function(e){return this._invoke("next",e)},no.prototype.throw=function(e){return this._invoke("throw",e)},no.prototype.return=function(e){return this._invoke("return",e)};function oo(e){return io.apply(this,arguments)}function io(){return(io=Qr(k().mark((function e(t){var n,r;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=ao(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 ao(e){return so.apply(this,arguments)}function so(){return(so=to(k().mark((function e(t){var n,r,o;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Xr(t),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=11;break}return o=r.value,e.next=7,eo(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 lo(e,t){var n=(0,Nr.dispatch)("core/block-editor"),r=n.insertBlocks,o=n.replaceBlock,i=(0,Nr.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 co=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 fo(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 fo(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 fo(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 po=function(e){var t,n,r,i,a,s=e.template,l=null!=s&&null!==(t=s.fields)&&void 0!==t&&null!==(n=t.basePattern)&&void 0!==n&&n.length?null==s||null===(r=s.fields)||void 0===r?void 0:r.basePattern[0]:"",c=uo((0,o.useState)(l),2),u=c[0],d=c[1];return(0,o.useEffect)((function(){null!=l&&l.length&&u!==l&&setTimeout((function(){return d(l)}),1e3)}),[u,l]),l?(0,Gt.jsxs)("div",{className:"absolute bottom-0 left-0 z-50 mb-4 ml-4 flex items-center space-x-2 opacity-0 transition duration-100 group-hover:opacity-100 space-x-0.5",children:[(0,Gt.jsx)(co.CopyToClipboard,{text:null==s||null===(i=s.fields)||void 0===i?void 0:i.basePattern,onCopy:function(){return d((0,Dt.__)("Copied!","extendify"))},children:(0,Gt.jsx)("button",{className:"text-sm rounded-md border border-black bg-white py-1 px-2.5 font-medium text-black no-underline m-0 cursor-pointer",children:(0,Dt.sprintf)((0,Dt.__)("Base: %s","extendify"),u)})}),(0,Gt.jsx)("a",{target:"_blank",className:"text-sm rounded-md border border-black bg-white py-1 px-2.5 font-medium text-black no-underline m-0",href:null==s||null===(a=s.fields)||void 0===a?void 0:a.editURL,rel:"noreferrer",children:(0,Dt.__)("Edit","extendify")})]}):null};function ho(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 mo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ho(Object(n),!0).forEach((function(t){xo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ho(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yo=(0,o.forwardRef)((function(e,t){var n,r=e.isOpen,i=e.heading,a=e.onClose,s=e.children,l=(0,o.useRef)(null),c=w((function(e){return e.removeAllModals}));return a=null!==(n=a)&&void 0!==n?n:c,(0,Gt.jsx)(Ke,{appear:!0,show:r,as:o.Fragment,className:"extendify",children:(0,Gt.jsx)(Mt,{initialFocus:null!=t?t:l,onClose:a,children:(0,Gt.jsxs)("div",{className:"fixed inset-0 z-high flex",children:[(0,Gt.jsx)(Ke.Child,{as:o.Fragment,enter:"ease-out duration-200 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Gt.jsx)(Mt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40"})}),(0,Gt.jsx)(Ke.Child,{as:o.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,Gt.jsx)("div",{className:"relative m-auto w-full",children:(0,Gt.jsxs)("div",{className:"relative m-auto w-full max-w-lg items-center justify-center rounded-sm bg-white shadow-modal",children:[i?(0,Gt.jsxs)("div",{className:"flex items-center justify-between border-b py-2 pl-6 pr-3 leading-none",children:[(0,Gt.jsx)("span",{className:"whitespace-nowrap text-base text-extendify-black",children:i}),(0,Gt.jsx)(vo,{onClick:a})]}):(0,Gt.jsx)("div",{className:"absolute top-0 right-0 block px-4 py-4 ",children:(0,Gt.jsx)(vo,{ref:l,onClick:a})}),(0,Gt.jsx)("div",{children:s})]})})})]})})})})),vo=(0,o.forwardRef)((function(e,t){return(0,Gt.jsx)(Rt.Button,mo(mo({},e),{},{icon:(0,Gt.jsx)(Ft,{icon:On}),ref:t,className:"text-extendify-black opacity-75 hover:opacity-100",showTooltip:!1,label:(0,Dt.__)("Close dialog","extendify")}))}));function go(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 bo(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){go(i,r,o,a,s,"next",e)}function s(e){go(i,r,o,a,s,"throw",e)}a(void 0)}))}}function wo(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 jo(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 jo(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 jo(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 ko=function(){var e=wo((0,o.useState)(!1),2),t=e[0],n=e[1],r=wo((0,o.useState)(!1),2),i=r[0],a=r[1],s=Vn(),l=function(){var e=bo(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=2;break}return e.abrupt("return");case 2:if(n(!0),!i){e.next=10;break}return a(!1),K.setState({participatingTestsGroups:[]}),e.next=8,K.persist.rehydrate();case 8:return n(!1),e.abrupt("return");case 10:return K.persist.clearStorage(),e.next=13,new Promise((function(e){return setTimeout(e,1e3)}));case 13:a(!0),n(!1);case 15:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),c=function(){var e=bo(k().mark((function e(){var t;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(t=new URLSearchParams(window.location.search)).delete("LOCALMODE",1),t[t.has("DEVMODE")||s?"delete":"append"]("DEVMODE",1),window.history.replaceState(null,null,window.location.pathname+"?"+t.toString()),e.next=6,new Promise((function(e){return setTimeout(e,500)}));case 6:window.dispatchEvent(new Event("popstate")),ce.getState().resetTemplates(),ce.getState().updateSearchParams({}),te.persist.clearStorage(),te.persist.rehydrate(),ce.setState({taxonomyDefaultState:{}}),te.getState().fetchTaxonomies().then((function(){ce.getState().setupDefaultTaxonomies()}));case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return window.extendifyData.devbuild?(0,Gt.jsxs)("section",{className:"p-6 flex flex-col space-y-6 border-l-8 border-extendify-secondary",children:[(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("p",{className:"text-base m-0 text-extendify-black",children:"Development Settings"}),(0,Gt.jsx)("p",{className:"text-sm italic m-0 text-gray-500",children:"Only available on dev builds"})]}),(0,Gt.jsxs)("div",{className:"flex space-x-2",children:[(0,Gt.jsxs)(Rt.Button,{isSecondary:!0,onClick:c,children:["Switch to ",s?"Live":"Dev"," Server"]}),(0,Gt.jsx)(Rt.Button,{isSecondary:!0,onClick:l,children:t?"Processing...":i?"OK! Press to rehydrate app":"Reset User Data"})]})]}):null};function So(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 Co(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){So(i,r,o,a,s,"next",e)}function s(e){So(i,r,o,a,s,"throw",e)}a(void 0)}))}}function _o(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 Oo(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 Oo(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 Oo(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(e){var t=e.actionCallback,n=e.initialFocus,r=K((function(e){return e.apiKey.length})),i=_o((0,o.useState)(""),2),a=i[0],s=i[1],l=_o((0,o.useState)(""),2),c=l[0],u=l[1],d=_o((0,o.useState)(""),2),f=d[0],p=d[1],h=_o((0,o.useState)("info"),2),m=h[0],x=h[1],y=_o((0,o.useState)(!1),2),v=y[0],g=y[1],b=_o((0,o.useState)(!1),2),w=b[0],j=b[1],S=(0,o.useRef)(null),C=(0,o.useRef)(null),_=Vn();(0,o.useEffect)((function(){return s(K.getState().email),function(){return x("info")}}),[]),(0,o.useEffect)((function(){var e;w&&(null==S||null===(e=S.current)||void 0===e||e.focus())}),[w]);var O=function(){var e=Co(k().mark((function e(t){var n,r,o,i,s;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),g(!0),p(""),e.next=5,N(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(null!=s&&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(null!=o&&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,Dt.__)("Something went wrong","extendify")),e.abrupt("return");case 25:x("success"),p("Success!"),j(!0),g(!1),K.setState({email:a,apiKey:r});case 30:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return w?(0,Gt.jsxs)("section",{className:"space-y-6 p-6 text-center flex flex-col items-center",children:[(0,Gt.jsx)(Ft,{icon:kn,size:148}),(0,Gt.jsx)("p",{className:"text-center text-lg font-semibold m-0 text-extendify-black",children:(0,Dt.__)("You've signed in to Extendify","extendify")}),(0,Gt.jsx)(Rt.Button,{ref:S,className:"cursor-pointer rounded bg-extendify-main p-2 px-4 text-center text-white",onClick:t,children:(0,Dt.__)("View patterns","extendify")})]}):r?(0,Gt.jsxs)("section",{className:"w-full space-y-6 p-6",children:[(0,Gt.jsx)("p",{className:"text-base m-0 text-extendify-black",children:(0,Dt.__)("Account","extendify")}),(0,Gt.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Gt.jsxs)("div",{className:"-ml-2 flex items-center space-x-2",children:[(0,Gt.jsx)(Ft,{icon:_n,size:48}),(0,Gt.jsx)("p",{className:"text-extendify-black",children:null!=a&&a.length?a:(0,Dt.__)("Logged In","extendify")})]}),_&&(0,Gt.jsx)(Rt.Button,{className:"cursor-pointer rounded bg-extendify-main px-4 py-3 text-center text-white hover:bg-extendify-main-dark",onClick:function(){u(""),K.setState({apiKey:""}),setTimeout((function(){var e;null==C||null===(e=C.current)||void 0===e||e.focus()}),0)},children:(0,Dt.__)("Sign out","extendify")})]})]}):(0,Gt.jsxs)("section",{className:"space-y-6 p-6 text-left",children:[(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("p",{className:"text-center text-lg font-semibold m-0 text-extendify-black",children:(0,Dt.__)("Sign in to Extendify","extendify")}),(0,Gt.jsxs)("p",{className:"space-x-1 text-center text-sm m-0 text-extendify-gray",children:[(0,Gt.jsx)("span",{children:(0,Dt.__)("Don't have an account?","extendify")}),(0,Gt.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&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),target:"_blank",onClick:Co(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("sign-up-link-from-login-modal-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),className:"underline hover:no-underline text-extendify-gray",rel:"noreferrer",children:(0,Dt.__)("Sign up","extendify")})]})]}),(0,Gt.jsxs)("form",{onSubmit:O,className:"flex flex-col items-center justify-center space-y-2",children:[(0,Gt.jsxs)("div",{className:"flex items-center",children:[(0,Gt.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-email",children:(0,Dt.__)("Email address","extendify")}),(0,Gt.jsx)("input",{ref:n,id:"extendify-login-email",name:"extendify-login-email",style:{minWidth:"320px"},type:"email",className:"w-full rounded border-2 p-2",placeholder:(0,Dt.__)("Email address","extendify"),value:a.length?a:"",onChange:function(e){return s(e.target.value)}})]}),(0,Gt.jsxs)("div",{className:"flex items-center",children:[(0,Gt.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-license",children:(0,Dt.__)("License key","extendify")}),(0,Gt.jsx)("input",{ref:C,id:"extendify-login-license",name:"extendify-login-license",style:{minWidth:"320px"},type:"text",className:"w-full rounded border-2 p-2",placeholder:(0,Dt.__)("License key","extendify"),value:c,onChange:function(e){return u(e.target.value)}})]}),(0,Gt.jsx)("div",{className:"flex justify-center pt-2",children:(0,Gt.jsxs)("button",{type:"submit",className:"relative flex w-72 max-w-full cursor-pointer justify-center rounded bg-extendify-main p-2 py-3 text-center text-base text-white hover:bg-extendify-main-dark ",children:[(0,Gt.jsx)("span",{children:(0,Dt.__)("Sign In","extendify")}),v&&(0,Gt.jsx)("div",{className:"absolute right-2.5",children:(0,Gt.jsx)(Rt.Spinner,{})})]})}),f&&(0,Gt.jsx)("div",{className:zt()({"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,Gt.jsx)("div",{className:"pt-4 text-center",children:(0,Gt.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&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),onClick:Co(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("need-help-link-from-login-modal-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),className:"underline hover:no-underline text-sm text-extendify-gray",children:(0,Dt.__)("Need Help?","extendify")})})]})]})}var Ao=function(){var e=(0,o.useRef)(null),t=w((function(e){return e.removeAllModals}));return(0,Gt.jsx)(yo,{heading:(0,Dt.__)("Settings","extendify"),isOpen:!0,ref:e,children:(0,Gt.jsxs)("div",{className:"flex justify-center flex-col divide-y",children:[(0,Gt.jsx)(ko,{}),(0,Gt.jsx)(Eo,{initialFocus:e,actionCallback:t})]})})};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 Po(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)}))}}var To=function(){var e=w((function(e){return e.pushModal})),t=(0,o.useRef)(null);return(0,Gt.jsxs)(En,{isOpen:!0,ref:t,leftContainerBgColor:"bg-white",children:[(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("div",{className:"mb-5 flex items-center space-x-2 text-extendify-black",children:mn}),(0,Gt.jsx)("h3",{className:"mt-0 text-xl",children:(0,Dt.__)("You're out of imports","extendify")}),(0,Gt.jsx)("p",{className:"text-sm text-black",children:(0,Dt.__)("Sign up today and get unlimited access to our entire collection of patterns and page layouts.","extendify")}),(0,Gt.jsxs)("div",{children:[(0,Gt.jsxs)("a",{target:"_blank",ref:t,className:"button-extendify-main button-focus mt-2 inline-flex justify-center px-4 py-3",style:{minWidth:"225px"},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&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),onClick:Po(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("no-imports-modal-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),rel:"noreferrer",children:[(0,Dt.__)("Get Unlimited Imports","extendify"),(0,Gt.jsx)(Rt.Icon,{icon:bn,size:24,className:"-mr-1"})]}),(0,Gt.jsxs)("p",{className:"mb-0 text-left text-sm text-extendify-gray",children:[(0,Dt.__)("Have an account?","extendify"),(0,Gt.jsx)(Rt.Button,{onClick:function(){return e((0,Gt.jsx)(Ao,{}))},className:"pl-2 text-sm text-extendify-gray underline hover:no-underline",children:(0,Dt.__)("Sign in","extendify")})]})]})]}),(0,Gt.jsxs)("div",{className:"flex h-full flex-col justify-center space-y-2 p-10 text-black",children:[(0,Gt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Gt.jsx)(Rt.Icon,{icon:jn,size:24}),(0,Gt.jsx)("span",{className:"text-sm leading-none",children:(0,Dt.__)("Access to 100's of Patterns","extendify")})]}),(0,Gt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Gt.jsx)(Rt.Icon,{icon:xn,size:24}),(0,Gt.jsx)("span",{className:"text-sm leading-none",children:(0,Dt.__)('Access to "Pro" catalog',"extendify")})]}),(0,Gt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Gt.jsx)(Rt.Icon,{icon:wn,size:24}),(0,Gt.jsx)("span",{className:"text-sm leading-none",children:(0,Dt.__)("Beautiful full page layouts","extendify")})]}),(0,Gt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Gt.jsx)(Rt.Icon,{icon:Sn,size:24}),(0,Gt.jsx)("span",{className:"text-sm leading-none",children:(0,Dt.__)("Fast and friendly support","extendify")})]}),(0,Gt.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Gt.jsx)(Rt.Icon,{icon:Cn,size:24}),(0,Gt.jsx)("span",{className:"text-sm leading-none",children:(0,Dt.__)("14-Day guarantee","extendify")})]})]})]})};function Io(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 Lo(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Io(i,r,o,a,s,"next",e)}function s(e){Io(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Mo=function(){var e=(0,o.useRef)(null);return(0,Gt.jsxs)(En,{isOpen:!0,invertedButtonColor:!0,ref:e,children:[(0,Gt.jsxs)("div",{children:[(0,Gt.jsx)("div",{className:"mb-5 flex items-center space-x-2 text-extendify-black",children:mn}),(0,Gt.jsx)("h3",{className:"mt-0 text-xl",children:(0,Dt.__)("Get unlimited access to all our Pro patterns & layouts","extendify")}),(0,Gt.jsx)("p",{className:"text-sm text-black",children:(0,Dt.__)("Upgrade to Extendify Pro and use all the patterns and layouts you'd like, including our exclusive Pro catalog.","extendify")}),(0,Gt.jsx)("div",{children:(0,Gt.jsxs)("a",{target:"_blank",ref:e,className:"button-extendify-main button-focus mt-2 inline-flex justify-center px-4 py-3",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&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),onClick:Lo(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("pro-modal-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),rel:"noreferrer",children:[(0,Dt.__)("Upgrade Now","extendify"),(0,Gt.jsx)(Rt.Icon,{icon:bn,size:24,className:"-mr-1"})]})})]}),(0,Gt.jsx)("div",{className:"justify-endrounded-tr-sm flex w-full rounded-br-sm bg-black",children:(0,Gt.jsx)("img",{alt:(0,Dt.__)("Upgrade Now","extendify"),className:"max-w-full rounded-tr-sm rounded-br-sm",src:window.extendifyData.asset_path+"/modal-extendify-black.png"})})]})};function Ro(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Do(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 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 Bo(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 Bo(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 Bo(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:Kr,hasPluginsActivated:Vr,stack:[],check:function(t){var n=this;return Qr(k().mark((function r(){var o,i,a,s;return k().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=Xr(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=[]}}}(["hasRequiredPlugins","hasPluginsActivated"]);function Uo(e){var t,n,i,a,s=e.template,l=e.maxHeight,c=(0,o.useRef)(null),u=(0,o.useRef)(!1),d=K((function(e){return e.hasAvailableImports})),f=K((function(e){return e.apiKey.length})),p=w((function(e){return e.setOpen})),h=w((function(e){return e.pushModal})),m=w((function(e){return e.removeAllModals})),x=(0,o.useMemo)((function(){return(0,r.rawHandler)({HTML:s.fields.code})}),[s.fields.code]),y=Fo((0,o.useState)(!1),2),v=y[0],g=y[1],b=Vn(),j=Fo((0,o.useState)(0),2),S=j[0],C=j[1],_=function(){var e,t=(e=k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,zo.check(s);case 2:oo(zo).then((function(){setTimeout((function(){lo(x,s).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){Do(i,r,o,a,s,"next",e)}function s(e){Do(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}(),O=function(){var e;fr(s),null==s||null===(e=s.fields)||void 0===e||!e.pro||f?d()?_():h((0,Gt.jsx)(To,{})):h((0,Gt.jsx)(Mo,{}))};return(0,o.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&&(null==n?void 0:n.offsetHeight)){r=window.requestAnimationFrame((function(){e.contentWindow.dispatchEvent(new Event("resize"))}));var o=window.setTimeout((function(){e.contentWindow.dispatchEvent(new Event("resize"))}),2e3);i.push(o)}e.contentWindow.dispatchEvent(new Event("resize"))}));o.push(n)})),n=window.requestAnimationFrame((function(){window.dispatchEvent(new Event("resize")),g(!0)}))}))})),function(){[].concat(o,[e,t,n,r]).forEach((function(e){return window.cancelAnimationFrame(e)})),i.forEach((function(e){return window.clearTimeout(e)}))}}),[]),(0,o.useEffect)((function(){if(Number.isInteger(l)){var e=c.current,t=function(){var t=e.offsetHeight;e.style.transitionDuration=1.5*t+"ms",C(-1*Math.abs(t-l))},n=function(){var t=e.offsetHeight;e.style.transitionDuration=t/1.5+"ms",C(0)};return e.addEventListener("focus",t),e.addEventListener("mouseenter",t),e.addEventListener("blur",n),e.addEventListener("mouseleave",n),function(){e.removeEventListener("focus",t),e.removeEventListener("mouseenter",t),e.removeEventListener("blur",n),e.removeEventListener("mouseleave",n)}}}),[l]),(0,Gt.jsxs)("div",{className:"group relative",children:[(0,Gt.jsx)("div",{role:"button",tabIndex:"0","aria-label":(0,Dt.sprintf)((0,Dt.__)("Press to import %s","extendify"),null==s||null===(t=s.fields)||void 0===t?void 0:t.type),style:{maxHeight:l},className:"button-focus relative m-0 cursor-pointer overflow-hidden bg-gray-100 ease-in-out",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:O,onKeyDown:function(e){["Enter","Space"," "].includes(e.key)&&(e.stopPropagation(),e.preventDefault(),O())},children:(0,Gt.jsx)("div",{ref:c,style:{top:S,transitionProperty:"all"},className:zt()("with-light-shadow relative",(i={},Ro(i,"is-template--".concat(s.fields.status),(null==s||null===(n=s.fields)||void 0===n?void 0:n.status)&&b),Ro(i,"p-6 md:p-8",Number.isInteger(l)),i)),children:(0,Gt.jsx)(mr.BlockPreview,{blocks:x,live:!1,viewportWidth:1400})})}),b&&v&&(0,Gt.jsx)(po,{template:s}),(null==s||null===(a=s.fields)||void 0===a?void 0:a.pro)&&(0,Gt.jsx)("div",{className:"pointer-events-none absolute top-4 right-4 z-20 rounded-md border border-none bg-white bg-wp-theme-500 py-1 px-2.5 font-medium text-white no-underline shadow-sm",children:(0,Dt.__)("Pro","extendify")})]})}function Vo(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 Ho(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 Ho(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 Ho(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=(0,o.memo)((function(){var e=Un(),t=ce((function(e){return e.templates})),n=ce((function(e){return e.appendTemplates})),r=Vo((0,o.useState)(""),2),a=r[0],s=r[1],l=Vo((0,o.useState)(!1),2),c=l[0],u=l[1],d=Vo((0,o.useState)(!1),2),f=d[0],p=d[1],h=function(e){var t=void 0===e?{}:e,n=t.threshold,r=t.delay,o=t.trackVisibility,a=t.rootMargin,s=t.root,l=t.triggerOnce,c=t.skip,u=t.initialInView,d=t.fallbackInView,f=i.useRef(),p=i.useState({inView:!!u}),h=p[0],m=p[1],x=i.useCallback((function(e){void 0!==f.current&&(f.current(),f.current=void 0),c||e&&(f.current=Xn(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:o,delay:r},d))}),[Array.isArray(n)?n.toString():n,s,a,l,c,o,d,r]);(0,i.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=Vo(h,2),x=m[0],y=m[1],v=ce((function(e){return e.searchParams})),g=w((function(e){return e.currentType})),b=ce((function(e){return e.resetTemplates})),j=w((function(e){return e.open})),k=te((function(e){return e.taxonomies})),S=ce((function(e){return e.updateType})),C=ce((function(e){return e.updateTaxonomies})),_=(0,o.useRef)(ce.getState().nextPage),O=(0,o.useRef)(ce.getState().searchParams),E="pattern"===O.current.type?"patternType":"layoutType",A=O.current.taxonomies[E];(0,o.useEffect)((function(){return ce.subscribe((function(e){return e.nextPage}),(function(e){return _.current=e}))}),[]),(0,o.useEffect)((function(){return ce.subscribe((function(e){return e.searchParams}),(function(e){return O.current=e}))}),[]);var N,P=(0,o.useCallback)((function(){s(""),u(!1);var t=(0,Dt.__)("Unknown error occured. Check browser console or contact support.","extendify"),r={offset:_.current};dr(O.current,r).then((function(t){var r,o,i,a;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===O.current&&null!=t&&null!==(i=t.records)&&void 0!==i&&i.length&&(ce.setState({nextPage:null!==(a=null==t?void 0:t.offset)&&void 0!==a?a:""}),n(t.records),p(!1)))})).catch((function(n){e.current&&(console.error(n),s(t))}))}),[n,e,v]);return(0,o.useEffect)((function(){0!==(null==t?void 0:t.length)||p(!0)}),[null==t?void 0:t.length,v]),(0,o.useEffect)((function(){var e;if(j&&null!=k&&null!==(e=k.patternType)&&void 0!==e&&e.length){var t=new URLSearchParams(window.location.search);if(t.has("ext-patternType")){var n=t.get("ext-patternType");t.delete("ext-patternType"),window.history.replaceState(null,null,window.location.pathname+"?"+t.toString());var r=k.patternType.find((function(e){return e.slug===n}));r&&(C({patternType:r}),S("pattern"))}}}),[j,k,S,C]),(0,o.useEffect)((function(){var e,t;if(null!==(e=Object.keys(null===(t=O.current)||void 0===t?void 0:t.taxonomies))&&void 0!==e&&e.length){if(!ce.getState().skipNextFetch)return P(),function(){return b()};ce.setState({skipNextFetch:!1})}}),[P,O,b]),(0,o.useEffect)((function(){_.current&&y&&P()}),[y,P,t]),a.length?(0,Gt.jsxs)("div",{className:"text-left",children:[(0,Gt.jsx)("h2",{className:"text-left",children:(0,Dt.__)("Server error","extendify")}),(0,Gt.jsx)("code",{className:"mb-4 block max-w-xl p-4",style:{minHeight:"10rem"},children:a}),(0,Gt.jsx)(Rt.Button,{isTertiary:!0,onClick:function(){return b()&&P()},children:(0,Dt.__)("Press here to reload")})]}):c?(0,Gt.jsx)("div",{className:"-mt-2 flex h-full w-full items-center justify-center sm:mt-0",children:(0,Gt.jsx)("h2",{className:"text-sm font-normal text-extendify-gray",children:(0,Dt.sprintf)("template"===O.current.type?(0,Dt.__)('We couldn\'t find any layouts in the "%s" category.',"extendify"):(0,Dt.__)('We couldn\'t find any patterns in the "%s" category.',"extendify"),null!==(N=null==A?void 0:A.title)&&void 0!==N?N:A.slug)})}):(0,Gt.jsxs)(Gt.Fragment,{children:[f&&(0,Gt.jsx)("div",{className:"-mt-2 flex h-full w-full items-center justify-center sm:mt-0",children:(0,Gt.jsx)(Rt.Spinner,{})}),(0,Gt.jsx)(qo,{type:g,templates:t,children:t.map((function(e){return(0,Gt.jsx)(Uo,{maxHeight:"template"===g?520:"none",template:e},e.id)}))}),_.current&&(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("div",{className:"my-20",children:(0,Gt.jsx)(Rt.Spinner,{})}),(0,Gt.jsx)("div",{className:"relative flex -translate-y-full transform flex-col items-end justify-end",ref:x,style:{zIndex:-1,marginBottom:"-100%",height:"template"===g?"150vh":"75vh"}})]})]})})),qo=function(e){var t=e.type,n=e.children,r="relative min-h-screen z-10 pb-40 pt-0.5";if("template"===t)return(0,Gt.jsx)("div",{className:"grid gap-6 md:gap-8 lg:grid-cols-2 ".concat(r),children:n});return(0,Gt.jsx)(sr,{breakpointCols:{default:3,1600:2,860:1,599:2,400:1},className:"-ml-6 flex w-auto px-0.5 md:-ml-8 ".concat(r),columnClassName:"pl-6 md:pl-8 bg-clip-padding space-y-6 md:space-y-8",children:n})};function $o(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){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){$o(i,r,o,a,s,"next",e)}function s(e){$o(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Jo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ko=(0,o.memo)((function(){var e,t=K((function(e){return e.remainingImports})),n=K((function(e){return e.allowedImports})),r=t(),i=r>0?"has-imports":"no-imports",a=(0,o.useRef)(),s=Fn("import-counter-color",["A","B"]);return(0,o.useEffect)((function(){if(n<1||!n){I().then((function(e){e=/^[1-9]\d*$/.test(e)?e:5,K.setState({allowedImports:e})})).catch((function(){return K.setState({allowedImports:5})}))}}),[n]),n?(0,Gt.jsxs)("div",{tabIndex:"0",className:"group relative",children:[(0,Gt.jsxs)("a",{target:"_blank",ref:a,rel:"noreferrer",className:zt()("button-focus hidden w-full justify-between rounded py-3 px-4 text-sm text-white no-underline sm:flex",(e={},Jo(e,"B"===s?"bg-wp-theme-500 hover:bg-wp-theme-600":"bg-extendify-main hover:bg-extendify-main-dark",r>0),Jo(e,"bg-extendify-alert",!r),e)),onClick:Go(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("import-counter-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),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(i,"&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),children:[(0,Gt.jsxs)("span",{className:"flex items-center space-x-2 text-xs no-underline",children:[(0,Gt.jsx)(Ft,{icon:r>0?yn:fn,size:14}),(0,Gt.jsx)("span",{children:(0,Dt.sprintf)((0,Dt._n)("%s Import","%s Imports",r,"extendify"),r)})]}),(0,Gt.jsxs)("span",{className:"outline-none flex items-center text-sm font-medium text-white no-underline",children:[(0,Dt.__)("Get more","extendify"),(0,Gt.jsx)(Ft,{icon:bn,size:24,className:"-mr-1.5"})]})]}),(0,Gt.jsx)("div",{className:"extendify-bottom-arrow invisible absolute top-0 w-full -translate-y-full transform opacity-0 shadow-md transition-all delay-200 duration-300 ease-in-out group-hover:visible group-hover:-top-2.5 group-hover:opacity-100 group-focus:visible group-focus:-top-2.5 group-focus:opacity-100",tabIndex:"-1",children:(0,Gt.jsx)("a",{href:"https://www.extendify.com/pricing/?utm_source=".concat(encodeURIComponent(window.extendifyData.sdk_partner),"&utm_medium=library&utm_campaign=import-counter-tooltip&utm_content=get-50-off&utm_term=").concat(i,"&utm_group=").concat(K.getState().activeTestGroupsUtmValue()),className:"block bg-gray-900 text-white p-4 no-underline rounded bg-cover",onClick:Go(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("import-counter-tooltip-click");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),style:{backgroundImage:"url(".concat(window.extendifyData.asset_path,"/logo-tips.png)"),backgroundSize:"100% 100%"},children:(0,Gt.jsx)("span",{dangerouslySetInnerHTML:{__html:dn((0,Dt.sprintf)((0,Dt.__)("%1$sGet %2$s off%3$s Extendify Pro when you upgrade today!","extendify"),"<strong>","50%","</strong>"))}})})})]}):null}));function Xo(e){return Array.isArray?Array.isArray(e):"[object Array]"===ri(e)}function Zo(e){return"string"==typeof e}function Yo(e){return"number"==typeof e}function Qo(e){return!0===e||!1===e||function(e){return ei(e)&&null!==e}(e)&&"[object Boolean]"==ri(e)}function ei(e){return"object"==typeof e}function ti(e){return null!=e}function ni(e){return!e.trim().length}function ri(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const oi=Object.prototype.hasOwnProperty;class ii{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=ai(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 ai(e){let t=null,n=null,r=null,o=1;if(Zo(e)||Xo(e))r=e,t=si(e),n=li(e);else{if(!oi.call(e,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const i=e.name;if(r=i,oi.call(e,"weight")&&(o=e.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=si(i),n=li(i)}return{path:t,id:n,weight:o,src:r}}function si(e){return Xo(e)?e:e.split(".")}function li(e){return Xo(e)?e.join("."):e}var ci={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(ti(e))if(t[i]){const a=e[t[i]];if(!ti(a))return;if(i===t.length-1&&(Zo(a)||Yo(a)||Qo(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(Xo(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,Zo(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const ui=/[^ ]+/g;class di{constructor({getFn:e=ci.getFn,fieldNormWeight:t=ci.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,r=Math.pow(10,t);return{get(t){const o=t.match(ui).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,Zo(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();Zo(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(!ti(e)||ni(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(ti(o))if(Xo(o)){let e=[];const t=[{nestedArrIndex:-1,value:o}];for(;t.length;){const{nestedArrIndex:n,value:r}=t.pop();if(ti(r))if(Zo(r)&&!ni(r)){let t={v:r,i:n,n:this.norm.get(r)};e.push(t)}else Xo(r)&&r.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[r]=e}else if(!ni(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 fi(e,t,{getFn:n=ci.getFn,fieldNormWeight:r=ci.fieldNormWeight}={}){const o=new di({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(ai)),o.setSources(t),o.create(),o}function pi(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=ci.distance,ignoreLocation:i=ci.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 hi=32;function mi(e,t,n,{location:r=ci.location,distance:o=ci.distance,threshold:i=ci.threshold,findAllMatches:a=ci.findAllMatches,minMatchCharLength:s=ci.minMatchCharLength,includeMatches:l=ci.includeMatches,ignoreLocation:c=ci.ignoreLocation}={}){if(t.length>hi)throw new Error(`Pattern length exceeds max of ${hi}.`);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=pi(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;){pi(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=pi(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(pi(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=ci.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 xi(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 yi{constructor(e,{location:t=ci.location,threshold:n=ci.threshold,distance:r=ci.distance,includeMatches:o=ci.includeMatches,findAllMatches:i=ci.findAllMatches,minMatchCharLength:a=ci.minMatchCharLength,isCaseSensitive:s=ci.isCaseSensitive,ignoreLocation:l=ci.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:xi(e),startIndex:t})},u=this.pattern.length;if(u>hi){let e=0;const t=u%hi,n=u-t;for(;e<n;)c(this.pattern.substr(e,hi),e),e+=hi;if(t){const e=u-hi;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}=mi(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 vi{constructor(e){this.pattern=e}static isMultiMatch(e){return gi(e,this.multiRegex)}static isSingleMatch(e){return gi(e,this.singleRegex)}search(){}}function gi(e,t){const n=e.match(t);return n?n[1]:null}class bi extends vi{constructor(e,{location:t=ci.location,threshold:n=ci.threshold,distance:r=ci.distance,includeMatches:o=ci.includeMatches,findAllMatches:i=ci.findAllMatches,minMatchCharLength:a=ci.minMatchCharLength,isCaseSensitive:s=ci.isCaseSensitive,ignoreLocation:l=ci.ignoreLocation}={}){super(e),this._bitapSearch=new yi(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 wi extends vi{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 ji=[class extends vi{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]}}},wi,class extends vi{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 vi{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 vi{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 vi{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 vi{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]}}},bi],ki=ji.length,Si=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;const Ci=new Set([bi.type,wi.type]);class _i{constructor(e,{isCaseSensitive:t=ci.isCaseSensitive,includeMatches:n=ci.includeMatches,minMatchCharLength:r=ci.minMatchCharLength,ignoreLocation:o=ci.ignoreLocation,findAllMatches:i=ci.findAllMatches,location:a=ci.location,threshold:s=ci.threshold,distance:l=ci.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(Si).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<ki;){const e=ji[a];let n=e.isMultiMatch(o);n&&(r.push(new e(n,t)),i=!0)}if(!i)for(a=-1;++a<ki;){const e=ji[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;Ci.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 Oi=[];function Ei(e,t){for(let n=0,r=Oi.length;n<r;n+=1){let r=Oi[n];if(r.condition(e,t))return new r(e,t)}return new yi(e,t)}const Ai="$and",Ni="$or",Pi="$path",Ti="$val",Ii=e=>!(!e[Ai]&&!e[Ni]),Li=e=>({[Ai]:Object.keys(e).map((t=>({[t]:e[t]})))});function Mi(e,t,{auto:n=!0}={}){const r=e=>{let o=Object.keys(e);const i=(e=>!!e[Pi])(e);if(!i&&o.length>1&&!Ii(e))return r(Li(e));if((e=>!Xo(e)&&ei(e)&&!Ii(e))(e)){const r=i?e[Pi]:o[0],a=i?e[Ti]:e[r];if(!Zo(a))throw new Error((e=>`Invalid value for key ${e}`)(r));const s={keyId:li(r),pattern:a};return n&&(s.searcher=Ei(a,t)),s}let a={children:[],operator:o[0]};return o.forEach((t=>{const n=e[t];Xo(n)&&n.forEach((e=>{a.children.push(r(e))}))})),a};return Ii(e)||(e=Li(e)),r(e)}function Ri(e,t){const n=e.matches;t.matches=[],ti(n)&&n.forEach((e=>{if(!ti(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 Di(e,t){t.score=e.score}class Fi{constructor(e,t={},n){this.options={...ci,...t},this.options.useExtendedSearch,this._keyStore=new ii(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof di))throw new Error("Incorrect 'index' type");this._myIndex=t||fi(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){ti(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=Zo(e)?Zo(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=ci.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),Yo(t)&&t>-1&&(s=s.slice(0,t)),function(e,t,{includeMatches:n=ci.includeMatches,includeScore:r=ci.includeScore}={}){const o=[];return n&&o.push(Ri),r&&o.push(Di),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=Ei(e,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:e,i:n,n:o})=>{if(!ti(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=Mi(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===Ai)return[]}return o},r=this._myIndex.records,o={},i=[];return r.forEach((({$:e,i:r})=>{if(ti(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=Ei(e,this.options),{keys:n,records:r}=this._myIndex,o=[];return r.forEach((({$:e,i:r})=>{if(!ti(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(!ti(t))return[];let r=[];if(Xo(t))t.forEach((({v:t,i:o,n:i})=>{if(!ti(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 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}Fi.version="6.5.3",Fi.createIndex=fi,Fi.parseIndex=function(e,{getFn:t=ci.getFn,fieldNormWeight:n=ci.fieldNormWeight}={}){const{keys:r,records:o}=e,i=new di({getFn:t,fieldNormWeight:n});return i.setKeys(r),i.setIndexRecords(o),i},Fi.config=ci,Fi.parseQuery=Mi,function(...e){Oi.push(...e)}(_i);var Ui=new Map,Vi=function(e){var t,n,r=e.value,i=e.setValue,a=e.terms,s=K((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=ce((function(e){return e.searchParams})),c=Bi((0,o.useState)(!1),2),u=c[0],d=c[1],f=(0,o.useRef)(),p=Bi((0,o.useState)({}),2),h=p[0],m=p[1],x=Bi((0,o.useState)(""),2),y=x[0],v=x[1],g=Bi((0,o.useState)([]),2),b=g[0],w=g[1],j=(0,o.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(Ui.has(e))w(Ui.get(e));else{var t=h.search(e);Ui.set(e,null!=t&&t.length?t.map((function(e){return e.item})):j),w(Ui.get(e))}},S="unknown"===r.slug||!(null!=r&&r.slug);(0,o.useEffect)((function(){m(new Fi(a,{keys:["slug","title","keywords"],minMatchCharLength:2,threshold:.3}))}),[a]),(0,o.useEffect)((function(){null!=y&&y.length||w(j)}),[j,y]),(0,o.useEffect)((function(){u&&f.current.focus()}),[u]);var C,_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,Dt.__)("Suggestions","extendify");return e===j&&(t=(0,Dt.__)("Examples","extendify")),(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("h4",{className:"mt-4 mb-2 text-left text-xss font-medium uppercase text-gray-700",children:t}),(0,Gt.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,Gt.jsx)("li",{className:"m-0 mb-1",children:(0,Gt.jsx)("button",{type:"button",className:zt()("m-0 w-full cursor-pointer bg-transparent pl-0 text-left text-sm hover:text-wp-theme-500",{"text-gray-800":!a}),onClick:function(){d(!1),i(e)},children:o})},e.slug+(null==e?void 0:e.title))}))})]})};return(0,Gt.jsxs)("div",{className:"w-full rounded bg-extendify-transparent-black",children:[(0,Gt.jsx)("button",{type:"button",onClick:function(){return d((function(e){return!e}))},className:"button-focus m-0 flex w-full cursor-pointer items-center justify-between rounded bg-transparent p-4 text-gray-800 hover:bg-extendify-transparent-black-100",children:(C=u?(0,Dt.__)("What kind of site is this?","extendify"):null!==(t=null!==(n=null==r?void 0:r.title)&&void 0!==n?n:r.slug)&&void 0!==t?t:"Unknown",(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsxs)("span",{className:"flex flex-col text-left",children:[(0,Gt.jsx)("span",{className:"mb-1 text-sm",children:(0,Dt.__)("Site Type","extendify")}),(0,Gt.jsx)("span",{className:"text-xs font-light",children:C})]}),(0,Gt.jsxs)("span",{className:"flex items-center space-x-4",children:[S&&!u&&(0,Gt.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,Gt.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,Gt.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,Gt.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,Gt.jsx)("svg",{className:zt()("stroke-current text-gray-700",{"-translate-x-1 rotate-90 transform":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,Gt.jsx)("path",{d:"M1.24194 11.5952L6.24194 6.09519L1.24194 0.595215",strokeWidth:"1.5"})})]})]}))}),u&&(0,Gt.jsxs)("div",{className:"max-h-96 overflow-y-auto p-4 pt-0",children:[(0,Gt.jsxs)("div",{className:"relative my-2",children:[(0,Gt.jsx)("label",{htmlFor:"site-type-search",className:"sr-only",children:(0,Dt.__)("Search","extendify")}),(0,Gt.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 m-0 w-full rounded border-0 bg-white p-3.5 py-2.5 text-sm",placeholder:(0,Dt.__)("Search","extendify")}),(0,Gt.jsx)("svg",{className:"pointer-events-none absolute top-2 right-2 hidden lg:block",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,Gt.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"})})]}),(null==y?void 0:y.length)>1&&b===j&&(0,Gt.jsx)("p",{className:"text-left",children:(0,Dt.__)("Nothing found...","extendify")}),b===j&&Object.keys(s).length>0&&(0,Gt.jsx)("div",{className:"mb-8",children:_(s,(0,Dt.__)("Recent","extendify"))}),(null==b?void 0:b.length)>0&&(0,Gt.jsx)("div",{children:_(b)}),S?null:(0,Gt.jsx)("button",{type:"button",className:"mt-4 w-full cursor-pointer bg-transparent pl-0 text-left text-sm text-wp-theme-500 hover:text-wp-theme-500",onClick:function(){d(!1),i("Unknown")},children:(0,Dt.__)("Reset","extendify")})]})]})};function Hi(e){var t=e.taxType,n=e.taxonomies,r=ce((function(e){return e.updateTaxonomies})),o=ce((function(e){return e.searchParams}));return!(null!=n&&n.length)>0?null:(0,Gt.jsx)(Rt.PanelBody,{title:Er(t),className:"ext-type-control p-0",initialOpen:!0,children:(0,Gt.jsx)(Rt.PanelRow,{children:(0,Gt.jsx)("div",{className:"relative w-full overflow-hidden",children:(0,Gt.jsx)("ul",{className:"m-0 w-full px-5 py-1",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,Gt.jsx)("li",{className:"m-0 w-full",children:(0,Gt.jsx)("button",{type:"button",className:"button-focus m-0 flex w-full cursor-pointer items-center justify-between bg-transparent px-0 py-2 text-left text-sm leading-none transition duration-200 hover:text-wp-theme-500",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,Gt.jsx)("span",{className:zt()({"text-wp-theme-500":a}),children:null!==(i=null==e?void 0:e.title)&&void 0!==i?i:e.slug})})},e.slug)}))})})})})}var Wi=(0,o.memo)((function(){var e,t,n,r,o,i=te((function(e){return e.taxonomies})),a=ce((function(e){return e.searchParams})),s=K((function(e){return e.updatePreferredSiteType})),l=ce((function(e){return e.updateTaxonomies})),c=K((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,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("div",{className:"-ml-1.5 hidden px-5 text-extendify-black sm:flex",children:(0,Gt.jsx)(Ft,{icon:hn,size:40})}),(0,Gt.jsx)("div",{className:"px-5",children:(0,Gt.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:zt()("button-focus m-0 flex w-full cursor-pointer items-center space-x-1 bg-transparent px-0 py-2 text-left text-sm leading-none transition duration-200 hover:text-wp-theme-500",{"text-wp-theme-500":d}),children:[(0,Gt.jsx)(Ft,{icon:gn,size:24}),(0,Gt.jsx)("span",{className:"text-sm",children:(0,Dt.__)("Featured","extendify")})]})}),(0,Gt.jsx)("div",{className:"mx-6 px-5 pt-0.5 sm:mx-0 sm:mb-8 sm:mt-0",children:Object.keys(null!==(n=null==i?void 0:i.siteType)&&void 0!==n?n:{}).length>0&&(0,Gt.jsx)(Vi,{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,Gt.jsx)("div",{className:"mt-px hidden flex-grow overflow-y-auto pb-32 pt-px sm:block",children:(0,Gt.jsx)(Rt.Panel,{className:"bg-transparent",children:(0,Gt.jsx)(Hi,{taxType:u,taxonomies:i[u]})})}),!c.length&&(0,Gt.jsx)("div",{className:"px-5",children:(0,Gt.jsx)(Ko,{})})]})}));function qi(e){var t=e.children,n=w((function(e){return e.ready}));return(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("aside",{className:"relative flex-shrink-0 border-r border-extendify-transparent-black-100 bg-extendify-transparent-white py-0 backdrop-blur-xl backdrop-saturate-200 backdrop-filter sm:py-5",children:(0,Gt.jsx)("div",{className:"flex h-full flex-col py-6 sm:w-64 sm:space-y-6 sm:py-0",children:n?t[0]:null})}),(0,Gt.jsx)("main",{id:"extendify-templates",className:"h-full w-full overflow-hidden bg-gray-50 pt-6 sm:pt-0",children:n?t[1]:null})]})}var $i=function(e){var t=e.className,n=ce((function(e){return e.updateType})),r=w((function(e){var t;return null!==(t=null==e?void 0:e.currentType)&&void 0!==t?t:"pattern"}));return(0,Gt.jsxs)("div",{className:t,children:[(0,Gt.jsx)("h4",{className:"sr-only",children:(0,Dt.__)("Type select","extendify")}),(0,Gt.jsx)("button",{type:"button",className:zt()({"button-focus m-0 min-w-sm cursor-pointer rounded-tl-sm rounded-bl-sm border border-black py-2.5 px-4 text-xs leading-none":!0,"bg-gray-900 text-white":"pattern"===r,"bg-transparent text-black":"pattern"!==r}),onClick:function(){return n("pattern")},children:(0,Gt.jsx)("span",{className:"",children:(0,Dt.__)("Patterns","extendify")})}),(0,Gt.jsx)("button",{type:"button",className:zt()({"outline-none button-focus m-0 -ml-px min-w-sm cursor-pointer items-center rounded-tr-sm rounded-br-sm border border-black py-2.5 px-4 text-xs leading-none":!0,"bg-gray-900 text-white":"template"===r,"bg-transparent text-black":"template"!==r}),onClick:function(){return n("template")},children:(0,Gt.jsx)("span",{className:"",children:(0,Dt.__)("Page Layouts","extendify")})})]})},Gi=(0,o.memo)((function(e){var t=e.className,n=w((function(e){return e.setOpen})),r=w((function(e){return e.pushModal})),o=K((function(e){return e.apiKey.length}));return(0,Gt.jsx)("div",{className:t,children:(0,Gt.jsxs)("div",{className:"flex h-full items-center justify-between",children:[(0,Gt.jsx)("div",{className:"flex-1"}),(0,Gt.jsx)($i,{className:"flex flex-1 items-center justify-center"}),(0,Gt.jsxs)("div",{className:"flex flex-1 items-center justify-end",children:[(0,Gt.jsx)(Rt.Button,{onClick:function(){return r((0,Gt.jsx)(Ao,{}))},icon:(0,Gt.jsx)(Ft,{icon:_n,size:24}),label:(0,Dt.__)("Login and settings area","extendify"),children:o?"":(0,Dt.__)("Sign in","extendify")}),(0,Gt.jsx)(Rt.Button,{onClick:function(){return n(!1)},icon:(0,Gt.jsx)(Ft,{icon:On,size:24}),label:(0,Dt.__)("Close library","extendify")})]})]})})}));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}var Xi=function(e){var t=e.setOpen,n=(0,o.useRef)(),r=ce((function(e){return e.searchParams})),i=Ji((0,o.useState)(!1),2),a=i[0],s=i[1],l=ce((function(e){return e.resetTemplates})),c=function(e){var t=Bn((0,o.useState)(!0),2),n=t[0],r=t[1],i=Bn((0,o.useState)(!1),2),a=i[0],s=i[1],l=Un(),c=(0,o.useRef)();return(0,o.useEffect)((function(){var e=function(){return r(!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,o.useEffect)((function(){n&&(r(!1),s(!1),window.clearTimeout(c.current),c.current=window.setTimeout((function(){l.current&&s(!0)}),e))}),[n,e,l]),a}(3e5),u=(0,o.useCallback)((function(){s(!1),l()}),[l]);return(0,o.useEffect)((function(){c&&s(!0)}),[c]),(0,o.useEffect)((function(){s(!1)}),[r]),(0,o.useEffect)((function(){n.current&&(n.current.scrollTop=0)}),[r]),(0,Gt.jsx)("div",{className:"relative mx-auto flex h-full max-w-screen-4xl flex-col items-center",children:(0,Gt.jsxs)("div",{className:"w-full flex-grow overflow-hidden",children:[(0,Gt.jsx)("button",{onClick:function(){return document.getElementById("extendify-templates").querySelector("button").focus()},className:"extendify-skip-to-sr-link sr-only focus:not-sr-only focus:text-blue-500",children:(0,Dt.__)("Skip to templates","extendify")}),(0,Gt.jsx)("div",{className:"relative mx-auto h-full sm:flex",children:(0,Gt.jsxs)(qi,{children:[(0,Gt.jsx)(Wi,{}),(0,Gt.jsxs)("div",{className:"relative z-30 flex h-full flex-col",children:[(0,Gt.jsx)(Gi,{className:"hidden h-20 w-full flex-shrink-0 px-6 sm:block md:px-8",hideLibrary:function(){return t(!1)}}),(0,Gt.jsx)("div",{ref:n,className:"z-20 flex-grow overflow-y-auto px-6 md:px-8",children:a?(0,Gt.jsx)(Zi,{callback:u}):(0,Gt.jsx)(Wo,{})})]})]})})]})})},Zi=function(e){var t=e.callback;return(0,Gt.jsxs)("div",{className:"flex h-full flex-col items-center justify-center",children:[(0,Gt.jsx)("p",{className:"mb-6 text-sm font-normal text-extendify-gray",children:(0,Dt.__)("We've added new stuff while you were away.","extendify")}),(0,Gt.jsx)(Rt.Button,{className:"components-button border-color-wp-theme-500 bg-wp-theme-500 text-white hover:bg-wp-theme-600",onClick:t,children:(0,Dt.__)("Reload")})]})};function Yi(){var e=(0,o.useRef)(null),t=w((function(e){return e.open})),n=w((function(e){return e.setOpen})),r=function(){var e=Ln((0,o.useState)(null),2),t=e[0],n=e[1],r=w((function(e){return e.open})),i=w((function(e){return e.pushModal})),a=w((function(e){return e.removeAllModals}));return(0,o.useEffect)((function(){return w.subscribe((function(e){return e.modals}),(function(e){return n((null==e?void 0:e.length)>0?e[0]:null)}))}),[]),(0,o.useEffect)((function(){var e;if(r){var t={standalone:In},n=t[null!==(e=Object.keys(t).find((function(e){return"standalone"===e?!window.extendifyData.standalone&&!K.getState().modalNoticesDismissedAt[e]:!K.getState().modalNoticesDismissedAt[e]})))&&void 0!==e?e:null];n&&i((0,Gt.jsx)(n,{}))}else a()}),[r,i,a]),t}(),i=w((function(e){return e.ready})),a=Fn("notice-position",["A","B"]);return(0,Gt.jsx)(Ke,{appear:!0,show:t,as:o.Fragment,children:(0,Gt.jsx)(Mt,{as:"div",static:!0,className:"extendify",initialFocus:e,onClose:function(){return n(!1)},children:(0,Gt.jsx)("div",{className:"fixed inset-0 z-high m-auto h-screen w-screen overflow-y-auto sm:h-auto sm:w-auto",children:(0,Gt.jsxs)("div",{className:"flex min-h-screen items-end justify-center px-4 pt-4 pb-20 text-center sm:block sm:p-0",children:[(0,Gt.jsx)(Ke.Child,{as:o.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,Gt.jsx)(Mt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,Gt.jsx)(Ke.Child,{as:o.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0 translate-y-4 sm:translate-y-5",enterTo:"opacity-100 translate-y-0",children:(0,Gt.jsxs)("div",{ref:e,tabIndex:"0",onClick:function(e){return e.target===e.currentTarget&&n(!1)},className:"fixed inset-0 transform p-2 transition-all lg:absolute lg:overflow-hidden lg:p-16",children:["B"===a&&(0,Gt.jsx)(un,{className:"-mt-6"}),(0,Gt.jsx)(Xi,{}),i?(0,Gt.jsxs)(Gt.Fragment,{children:["A"===a&&(0,Gt.jsx)(un,{}),r]}):null]})})]})})})})}const Qi=wp.compose,ea=wp.hooks,ta=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 na(e){return function(e){if(Array.isArray(e))return ra(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 ra(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 ra(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 ra(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 oa(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 ia(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oa(Object(n),!0).forEach((function(t){aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function aa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sa=(0,Qi.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=ta.t.map((function(e){return e.replace(".","").replace(new RegExp("\\\\","g"),"")}));return(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)(e,ia({},t)),o&&(0,Gt.jsx)(mr.InspectorAdvancedControls,{children:(0,Gt.jsx)(Rt.FormTokenField,{label:(0,Dt.__)("Extendify Utilities","extendify"),tokenizeOnSpace:!0,value:o,suggestions:i,onChange:function(e){t.setAttributes({extUtilities:e})}})})]})}}),"utilityClassEdit");function la(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(na(c(l)),na(c(a)),na(c(s))));return Object.assign({},e,{className:na(u).join(" ")})}function ca(e){var t=e.show,n=void 0!==t&&t,r=w((function(e){return e.open})),i=w((function(e){return e.setReady})),a=w((function(e){return e.setOpen})),s=(0,o.useCallback)((function(){return a(!0)}),[a]),l=(0,o.useCallback)((function(){return a(!1)}),[a]),c=ce((function(e){return e.initTemplateData})),u=te((function(e){return e.fetchTaxonomies})),d=K((function(e){return e._hasHydrated})),f=ce((function(e){return Object.keys(e.taxonomyDefaultState).length>0}));return(0,o.useEffect)((function(){r&&u().then((function(){ce.getState().setupDefaultTaxonomies()}))}),[r,u]),(0,o.useEffect)((function(){d&&f&&(c(),i(!0))}),[d,f,c,i]),(0,o.useEffect)((function(){n&&a(!0)}),[n,a]),(0,o.useEffect)((function(){ue().then((function(e){w.setState({metaData:e})}))}),[]),(0,o.useEffect)((function(){return window.addEventListener("extendify::open-library",s),window.addEventListener("extendify::close-library",l),function(){window.removeEventListener("extendify::open-library",s),window.removeEventListener("extendify::close-library",l)}}),[l,s]),(0,Gt.jsx)(Yi,{})}(0,ea.addFilter)("blocks.registerBlockType","extendify/utilities/attributes",(function(e){return ia(ia({},e),{},{attributes:ia(ia({},e.attributes),{},{extUtilities:{type:"array",default:[]}})})})),(0,ea.addFilter)("blocks.registerBlockType","extendify/utilities/addEditProps",(function(e){var t=e.getEditWrapperProps;return e.getEditWrapperProps=function(n){var r={};return t&&(r=t(n)),la(r,e,n)},e})),(0,ea.addFilter)("editor.BlockEdit","extendify/utilities/advancedClassControls",sa),(0,ea.addFilter)("blocks.getSaveContent.extraProps","extendify/utilities/extra-props",la),(0,r.registerBlockCollection)("extendify",{title:"Extendify",icon:(0,Gt.jsx)(Rt.Icon,{icon:pn})});const ua=(0,o.createElement)(qt,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,o.createElement)(Ht,{d:"M20.2 8v11c0 .7-.6 1.2-1.2 1.2H6v1.5h13c1.5 0 2.7-1.2 2.7-2.8V8h-1.5zM18 16.4V4.6c0-.9-.7-1.6-1.6-1.6H4.6C3.7 3 3 3.7 3 4.6v11.8c0 .9.7 1.6 1.6 1.6h11.8c.9 0 1.6-.7 1.6-1.6zM4.5 4.6c0-.1.1-.1.1-.1h11.8c.1 0 .1.1.1.1V12l-2.3-1.7c-.3-.2-.6-.2-.9 0l-2.9 2.1L8 11.3c-.2-.1-.5-.1-.7 0l-2.9 1.5V4.6zm0 11.8v-1.8l3.2-1.7 2.4 1.2c.2.1.5.1.8-.1l2.8-2 2.8 2v2.5c0 .1-.1.1-.1.1H4.6c0-.1-.1-.2-.1-.2z"})),da=(0,o.createElement)(qt,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,o.createElement)(Ht,{d:"M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z",fillRule:"evenodd",clipRule:"evenodd"})),fa=(0,o.createElement)(qt,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(Ht,{d:"M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z"})),pa=(0,o.createElement)(qt,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(Ht,{d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z"})),ha=(0,o.createElement)(qt,{xmlns:"https://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,o.createElement)(Ht,{d:"M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z"})),ma=(0,o.createElement)(qt,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,o.createElement)(Ht,{d:"M19 6.5H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v7zM8 12.8h8v-1.5H8v1.5z"})),xa=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"extendify/library","title":"Pattern Library","description":"Add block patterns and full page layouts with the Extendify Library.","keywords":["template","layouts"],"textdomain":"extendify","attributes":{"preview":{"type":"string"},"search":{"type":"string"}}}');(0,r.registerBlockType)(xa,{icon:pn,category:"extendify",example:{attributes:{preview:window.extendifyData.asset_path+"/preview.png"}},variations:[{name:"gallery",icon:(0,Gt.jsx)(Ft,{icon:ua}),category:"extendify",attributes:{search:"gallery"},title:(0,Dt.__)("Gallery Patterns","extendify"),description:(0,Dt.__)("Add gallery patterns and layouts.","extendify"),keywords:[(0,Dt.__)("slideshow","extendify"),(0,Dt.__)("images","extendify")]},{name:"team",icon:(0,Gt.jsx)(Ft,{icon:da}),category:"extendify",attributes:{search:"team"},title:(0,Dt.__)("Team Patterns","extendify"),description:(0,Dt.__)("Add team patterns and layouts.","extendify"),keywords:[(0,Dt._x)("crew","As in team","extendify"),(0,Dt.__)("colleagues","extendify"),(0,Dt.__)("members","extendify")]},{name:"hero",icon:(0,Gt.jsx)(Ft,{icon:fa}),category:"extendify",attributes:{search:"hero"},title:(0,Dt._x)("Hero Patterns","Hero being a hero/top section of a webpage","extendify"),description:(0,Dt.__)("Add hero patterns and layouts.","extendify"),keywords:[(0,Dt.__)("heading","extendify"),(0,Dt.__)("headline","extendify")]},{name:"text",icon:(0,Gt.jsx)(Ft,{icon:pa}),category:"extendify",attributes:{search:"text"},title:(0,Dt._x)("Text Patterns","Relating to patterns that feature text only","extendify"),description:(0,Dt.__)("Add text patterns and layouts.","extendify"),keywords:[(0,Dt.__)("simple","extendify"),(0,Dt.__)("paragraph","extendify")]},{name:"about",icon:(0,Gt.jsx)(Ft,{icon:ha}),category:"extendify",attributes:{search:"about"},title:(0,Dt._x)("About Page Patterns","Add patterns relating to an about us page","extendify"),description:(0,Dt.__)("About patterns and layouts.","extendify"),keywords:[(0,Dt.__)("who we are","extendify"),(0,Dt.__)("team","extendify")]},{name:"call-to-action",icon:(0,Gt.jsx)(Ft,{icon:ma}),category:"extendify",attributes:{search:"call-to-action"},title:(0,Dt.__)("Call to Action Patterns","extendify"),description:(0,Dt.__)("Add call to action patterns and layouts.","extendify"),keywords:[(0,Dt._x)("cta","Initialism for call to action","extendify"),(0,Dt.__)("callout","extendify"),(0,Dt.__)("buttons","extendify")]}],edit:function(e){var t=e.clientId,n=e.attributes,r=(0,Nr.useDispatch)("core/block-editor").removeBlock;return(0,o.useEffect)((function(){n.preview||(n.search&&ya(n.search),_r("library-block","open"),r(t))}),[t,n,r]),(0,Gt.jsx)("img",{style:{display:"block",maxWidth:"100%"},src:n.preview,alt:(0,Dt.sprintf)((0,Dt.__)("%s Pattern Library","extendify"),"Extendify")})}});var ya=function(e){var t=new URLSearchParams(window.location.search);t.append("ext-patternType",e),window.history.replaceState(null,null,window.location.pathname+"?"+t.toString())};const va=wp.editPost,ga=wp.plugins;var ba=function(){return X.get("site-settings")},wa=function(e){var t=new FormData;return t.append("data",JSON.stringify(e)),X.post("site-settings",t,{headers:{"Content-Type":"multipart/form-data"}})};function ja(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 ka(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){ja(i,r,o,a,s,"next",e)}function s(e){ja(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Sa={getItem:function(){var e=ka(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ba();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=ka(k().mark((function e(t,n){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wa(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(){}},Ca=c(v((function(){return{enabled:!0}}),{name:"extendify-sitesettings",getStorage:function(){return Sa}}));function _a(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 Oa(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){_a(i,r,o,a,s,"next",e)}function s(e){_a(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Ea(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 Aa(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 Aa(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 Aa(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 Na=function(){var e=(0,Nr.useSelect)((function(e){return e("core").canUser("create","users")})),t=Ea((0,o.useState)(K((function(e){return e.enabled}))),2),n=t[0],r=t[1],i=Ea((0,o.useState)(Ca((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=Oa(k().mark((function e(t){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,K.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=Oa(k().mark((function e(t){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ca.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=Oa(k().mark((function e(t,n){return k().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})):r((function(t){return l(!t),p(!t,e),!t}))}return(0,o.useEffect)((function(){l(!n)}),[n]),(0,Gt.jsxs)(Rt.Modal,{title:(0,Dt.__)("Extendify Settings","extendify"),onRequestClose:function(){var e=document.getElementById("extendify-util");(0,o.unmountComponentAtNode)(e)},children:[(0,Gt.jsx)(Rt.ToggleControl,{label:e?(0,Dt.__)("Enable the library for myself","extendify"):(0,Dt.__)("Enable the library","extendify"),help:(0,Dt.__)("Publish with hundreds of patterns & page layouts","extendify"),checked:n,onChange:function(){return m("user")}}),e&&(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("br",{}),(0,Gt.jsx)(Rt.ToggleControl,{label:(0,Dt.__)("Allow all users to publish with the library"),help:(0,Dt.__)("Everyone publishes with patterns & page layouts","extendify"),checked:a,onChange:function(){return m("global")}})]})]})};var Pa=function(e){var t=e.anchorRef,n=e.onPressX,r=e.onClick,o=e.onClickOutside;return t.current?(0,Gt.jsx)(Rt.Popover,{anchorRef:t.current,shouldAnchorIncludePadding:!0,className:"extendify-tooltip-default",focusOnMount:!1,onFocusOutside:o,onClick:r,position:"bottom center",noArrow:!1,children:(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.5rem"},children:[(0,Gt.jsx)("span",{style:{textTransform:"uppercase",color:"#8b8b8b"},children:(0,Dt.__)("Monthly Imports","extendify")}),(0,Gt.jsx)(Rt.Button,{style:{color:"white",position:"relative",right:"-5px",padding:"0",minWidth:"0",height:"20px",width:"20px"},onClick:function(e){e.stopPropagation(),n()},icon:(0,Gt.jsx)(Ft,{icon:On,size:12}),showTooltip:!1,label:(0,Dt.__)("Close callout","extendify")})]}),(0,Gt.jsx)("div",{dangerouslySetInnerHTML:{__html:dn((0,Dt.sprintf)((0,Dt.__)("%1$sGood news!%2$s We've added more imports to your library. Enjoy!","extendify"),"<strong>","</strong>"))}})]})}):null};function Ta(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 Ia(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Ta(i,r,o,a,s,"next",e)}function s(e){Ta(i,r,o,a,s,"throw",e)}a(void 0)}))}}function La(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 Ma(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 Ma(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 Ma(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 Ra,Da,Fa=function(){var e=La((0,o.useState)(!1),2),t=e[0],n=e[1],r=(0,o.useRef)(!1),i=(0,o.useRef)(),a=K((function(e){return e.apiKey.length})),s=K((function(e){return e.imports>0})),l=w((function(e){return e.open})),c=K((function(e){return 0===e.allowedImports})),u=Fn("main-button-text",["A","B","C"]),d=function(){var e=Ia(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("mb-tooltip-closed");case 2:n(!1),K.setState({allowedImports:-1});case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,o.useEffect)((function(){l&&(n(!1),r.current=!0),!a&&c&&s&&(r.current||n(!0),r.current=!0)}),[a,c,s,l]),(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)(Rt.Button,{isPrimary:!0,ref:i,style:{padding:"12px"},onClick:function(){return Cr("main-button")},id:"extendify-templates-inserter-btn",icon:(0,Gt.jsx)(Ft,{style:{marginRight:"4px"},icon:hn,size:24}),children:function(){switch(u){case"B":return(0,Dt.__)("Add section","extendify");case"C":return(0,Dt.__)("Add template","extendify");default:return(0,Dt.__)("Library","extendify")}}()}),t&&(0,Gt.jsx)(Pa,{anchorRef:i,onClick:Ia(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de("mb-tooltip-pressed");case 2:Cr("main-button-tooltip");case 3:case"end":return e.stop()}}),e)}))),onPressX:d})]})},Ba=function(){return(0,Gt.jsx)(Rt.Button,{id:"extendify-cta-button",style:{margin:"1rem 1rem 0",width:"calc(100% - 2rem)",justifyContent:" center"},onClick:function(){return Cr("patterns-cta")},isSecondary:!0,children:(0,Dt.__)("Discover patterns in Extendify Library","extendify")})},za=null===(Ra=window.extendifyData)||void 0===Ra||null===(Da=Ra.user)||void 0===Da?void 0:Da.state,Ua=function(){return null===window.extendifyData.user||(null==za?void 0:za.isAdmin)},Va=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)};if(window._wpLoadBlockEditor)var Ha=window.wp.data.subscribe((function(){requestAnimationFrame((function(){if((Va()||Ua())&&!document.getElementById("extendify-templates-inserter")&&document.querySelector(".edit-post-header-toolbar")){var e=Object.assign(document.createElement("div"),{id:"extendify-templates-inserter"});document.querySelector(".edit-post-header-toolbar").append(e),(0,o.render)((0,Gt.jsx)(Fa,{}),e),(null===window.extendifyData.user?Va():null==za?void 0:za.enabled)||document.getElementById("extendify-templates-inserter-btn").classList.add("invisible"),Ha()}}))}));window._wpLoadBlockEditor&&window.wp.data.subscribe((function(){requestAnimationFrame((function(){if((Va()||Ua())&&document.querySelector("[id$=patterns-view]")&&!document.getElementById("extendify-cta-button")){var e=Object.assign(document.createElement("div"),{id:"extendify-cta-button-container"});document.querySelector("[id$=patterns-view]").prepend(e),(0,o.render)((0,Gt.jsx)(Ba,{}),e)}}))}));window._wpLoadBlockEditor&&(0,ga.registerPlugin)("extendify-settings-enable-disable",{render:function(){return(0,Gt.jsx)(Gt.Fragment,{children:(0,Gt.jsxs)(va.PluginSidebarMoreMenuItem,{onClick:function(){var e=document.getElementById("extendify-util");(0,o.render)((0,Gt.jsx)(Na,{}),e)},icon:(0,Gt.jsx)(Ft,{icon:hn,size:24}),children:[" ",(0,Dt.__)("Extendify","extendify")]})})}}),[{register:function(){var e=(0,Nr.dispatch)("core/notices").createNotice,t=K.getState().incrementImports;window.addEventListener("extendify::template-inserted",(function(n){e("info",(0,Dt.__)("Page layout added"),{isDismissible:!0,type:"snackbar"}),setTimeout((function(){var e;t(),pr(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,_.camelCase)(t.detail.type)](t.detail)}))},versionOutdated:function(e){(0,o.render)((0,Gt.jsx)(Gr,{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()})),window._wpLoadBlockEditor&&window.wp.domReady((function(){var e=Object.assign(document.createElement("div"),{id:"extendify-root"});if(document.body.append(e),(0,o.render)((0,Gt.jsx)(ca,{}),e),e.parentNode.insertBefore(Object.assign(document.createElement("div"),{id:"extendify-util"}),e.nextSibling),Sr.getState().importOnLoad){var t=Sr.getState().wantedTemplate;setTimeout((function(){lo((0,r.rawHandler)({HTML:t.fields.code}),t)}),0)}Sr.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 E(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 N()}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(A([])));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 _(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 O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function A(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:N}}function N(){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=A,E.prototype={constructor:E,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(O),!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),O(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;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:A(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(165))),r.O(void 0,[506,551],(()=>r(716)));var o=r.O(void 0,[506,551],(()=>r(965)));o=r.O(o)})();
|
readme.txt
CHANGED
@@ -1,13 +1,17 @@
|
|
1 |
-
=== Extendify ===
|
2 |
Contributors: extendify, richtabor, kbat82, clubkert, arturgrabo
|
3 |
-
Tags:
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.9.0
|
6 |
-
Stable tag: 0.
|
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.
|
@@ -120,6 +124,11 @@ Nope! Extendify imports lightweight block-based content that is served directly
|
|
120 |
|
121 |
== Changelog ==
|
122 |
|
|
|
|
|
|
|
|
|
|
|
123 |
= 0.4.0 - 2022-02-08 =
|
124 |
- Enhance layout view with autoscroll
|
125 |
- Improve modal layout design consistency
|
1 |
+
=== Extendify — Gutenberg Patterns and Templates ===
|
2 |
Contributors: extendify, richtabor, kbat82, clubkert, arturgrabo
|
3 |
+
Tags: templates, patterns, layouts, blocks, gutenberg
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.9.0
|
6 |
+
Stable tag: 0.5.0
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
The best WordPress templates, pattern, and layout library with 1,000+ designs built for the Gutenberg block editor.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
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.
|
16 |
|
17 |
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.
|
124 |
|
125 |
== Changelog ==
|
126 |
|
127 |
+
= 0.5.0 - 2022-02-22 =
|
128 |
+
- Add support for inverted style patterns
|
129 |
+
- Improve library loading time
|
130 |
+
- Add pattern library variants to open the library
|
131 |
+
|
132 |
= 0.4.0 - 2022-02-08 =
|
133 |
- Enhance layout view with autoscroll
|
134 |
- Improve modal layout design consistency
|
routes/api.php
CHANGED
@@ -31,6 +31,7 @@ use Extendify\Library\Controllers\TemplateController;
|
|
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 |
|
31 |
|
32 |
ApiRouter::get('/user', [UserController::class, 'show']);
|
33 |
ApiRouter::post('/user', [UserController::class, 'store']);
|
34 |
+
ApiRouter::post('/clear-user', [UserController::class, 'delete']);
|
35 |
ApiRouter::get('/user-meta', [UserController::class, 'meta']);
|
36 |
ApiRouter::get('/max-free-imports', [UserController::class, 'maxImports']);
|
37 |
|
src/ExtendifyLibrary.js
CHANGED
@@ -1,37 +1,44 @@
|
|
1 |
-
import { useEffect, useCallback
|
2 |
-
import {
|
3 |
-
import
|
4 |
-
import {
|
5 |
-
import
|
6 |
-
import '
|
7 |
-
import
|
8 |
-
import {
|
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
|
24 |
-
const
|
25 |
(state) => Object.keys(state.taxonomyDefaultState).length > 0,
|
26 |
)
|
27 |
-
useTaxonomies(open)
|
28 |
|
29 |
useEffect(() => {
|
30 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
initTemplateData()
|
32 |
setReady(true)
|
33 |
}
|
34 |
-
}, [
|
35 |
|
36 |
useEffect(() => {
|
37 |
show && setOpen(true)
|
@@ -55,8 +62,5 @@ export default function ExtendifyLibrary({ show = false }) {
|
|
55 |
}
|
56 |
}, [hideLibrary, showLibrary])
|
57 |
|
58 |
-
if (!ready) {
|
59 |
-
return null
|
60 |
-
}
|
61 |
return <MainWindow />
|
62 |
}
|
1 |
+
import { useEffect, useCallback } from '@wordpress/element'
|
2 |
+
import { General as GeneralApi } from '@extendify/api/General'
|
3 |
+
import MainWindow from '@extendify/pages/MainWindow'
|
4 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
5 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
+
import '@extendify/utility-control'
|
8 |
+
import { useTaxonomyStore } from './state/Taxonomies'
|
9 |
|
10 |
export default function ExtendifyLibrary({ show = false }) {
|
11 |
const open = useGlobalStore((state) => state.open)
|
12 |
+
const setReady = useGlobalStore((state) => state.setReady)
|
13 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
|
|
14 |
const showLibrary = useCallback(() => setOpen(true), [setOpen])
|
15 |
const hideLibrary = useCallback(() => setOpen(false), [setOpen])
|
16 |
const initTemplateData = useTemplatesStore(
|
17 |
(state) => state.initTemplateData,
|
18 |
)
|
19 |
+
const fetchTaxonomies = useTaxonomyStore((state) => state.fetchTaxonomies)
|
20 |
|
21 |
// When the uuid of the user comes back from the database, we can
|
22 |
// assume that the state object is ready. This is important to check
|
23 |
// as the library may be "open" when loaded, but not ready.
|
24 |
+
const userHasHydrated = useUserStore((state) => state._hasHydrated)
|
25 |
+
const taxonomiesReady = useTemplatesStore(
|
26 |
(state) => Object.keys(state.taxonomyDefaultState).length > 0,
|
27 |
)
|
|
|
28 |
|
29 |
useEffect(() => {
|
30 |
+
if (!open) return
|
31 |
+
fetchTaxonomies().then(() => {
|
32 |
+
useTemplatesStore.getState().setupDefaultTaxonomies()
|
33 |
+
})
|
34 |
+
}, [open, fetchTaxonomies])
|
35 |
+
|
36 |
+
useEffect(() => {
|
37 |
+
if (userHasHydrated && taxonomiesReady) {
|
38 |
initTemplateData()
|
39 |
setReady(true)
|
40 |
}
|
41 |
+
}, [userHasHydrated, taxonomiesReady, initTemplateData, setReady])
|
42 |
|
43 |
useEffect(() => {
|
44 |
show && setOpen(true)
|
62 |
}
|
63 |
}, [hideLibrary, showLibrary])
|
64 |
|
|
|
|
|
|
|
65 |
return <MainWindow />
|
66 |
}
|
src/api/General.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
-
import {
|
|
|
2 |
import { Axios as api } from './axios'
|
3 |
|
4 |
export const General = {
|
@@ -6,8 +7,12 @@ export const General = {
|
|
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 |
},
|
1 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
import { Axios as api } from './axios'
|
4 |
|
5 |
export const General = {
|
7 |
return api.get('meta-data')
|
8 |
},
|
9 |
ping(action) {
|
10 |
+
const categories =
|
11 |
+
useTemplatesStore.getState()?.searchParams?.taxonomies ?? []
|
12 |
return api.post('simple-ping', {
|
13 |
action,
|
14 |
+
categories,
|
15 |
+
group: useUserStore.getState()?.group ?? 0,
|
16 |
sdk_partner: useUserStore.getState()?.sdkPartner ?? '',
|
17 |
})
|
18 |
},
|
src/api/Templates.js
CHANGED
@@ -1,5 +1,6 @@
|
|
|
|
|
|
1 |
import { Axios as api } from './axios'
|
2 |
-
import { useUserStore } from '../state/User'
|
3 |
|
4 |
let count = 0
|
5 |
|
@@ -22,7 +23,8 @@ export const Templates = {
|
|
22 |
offset: '',
|
23 |
initial: count === 1,
|
24 |
request_count: count,
|
25 |
-
|
|
|
26 |
},
|
27 |
options,
|
28 |
)
|
@@ -31,23 +33,33 @@ export const Templates = {
|
|
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 |
})
|
1 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
import { Axios as api } from './axios'
|
|
|
4 |
|
5 |
let count = 0
|
6 |
|
23 |
offset: '',
|
24 |
initial: count === 1,
|
25 |
request_count: count,
|
26 |
+
group: useUserStore.getState()?.group ?? 0,
|
27 |
+
sdk_partner: useUserStore.getState().sdkPartner ?? '',
|
28 |
},
|
29 |
options,
|
30 |
)
|
33 |
|
34 |
// TODO: Refactor this later to combine the following three
|
35 |
maybeImport(template) {
|
36 |
+
const categories =
|
37 |
+
useTemplatesStore.getState()?.searchParams?.taxonomies ?? []
|
38 |
return api.post(`templates/${template.id}`, {
|
39 |
template_id: template?.id,
|
40 |
+
categories,
|
41 |
maybe_import: true,
|
42 |
type: template.fields?.type,
|
43 |
+
sdk_partner: useUserStore.getState().sdkPartner ?? '',
|
44 |
+
group: useUserStore.getState()?.group ?? 0,
|
45 |
pageSize: '1',
|
46 |
template_name: template.fields?.title,
|
47 |
})
|
48 |
},
|
49 |
import(template) {
|
50 |
+
const categories =
|
51 |
+
useTemplatesStore.getState()?.searchParams?.taxonomies ?? []
|
52 |
return api.post(`templates/${template.id}`, {
|
53 |
template_id: template.id,
|
54 |
+
categories,
|
55 |
imported: true,
|
56 |
basePattern:
|
57 |
template.fields?.basePattern ??
|
58 |
template.fields?.baseLayout ??
|
59 |
'',
|
60 |
type: template.fields.type,
|
61 |
+
sdk_partner: useUserStore.getState().sdkPartner ?? '',
|
62 |
+
group: useUserStore.getState()?.group ?? 0,
|
63 |
pageSize: '1',
|
64 |
template_name: template.fields?.title,
|
65 |
})
|
src/api/User.js
CHANGED
@@ -1,8 +1,18 @@
|
|
1 |
import { Axios as api } from './axios'
|
2 |
|
3 |
export const User = {
|
4 |
-
getData() {
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
},
|
7 |
getMeta(key) {
|
8 |
return api.get('user-meta', {
|
@@ -39,6 +49,9 @@ export const User = {
|
|
39 |
},
|
40 |
})
|
41 |
},
|
|
|
|
|
|
|
42 |
registerMailingList(email) {
|
43 |
const formData = new FormData()
|
44 |
formData.append('email', email)
|
1 |
import { Axios as api } from './axios'
|
2 |
|
3 |
export const User = {
|
4 |
+
async getData() {
|
5 |
+
// Zustand changed their persist middleware to bind to the store
|
6 |
+
// so api was undefined here. That's why using fetch for this one request.
|
7 |
+
const data = await fetch(`${window.extendifyData.root}/user`, {
|
8 |
+
method: 'GET',
|
9 |
+
headers: {
|
10 |
+
'X-WP-Nonce': window.extendifyData.nonce,
|
11 |
+
'X-Requested-With': 'XMLHttpRequest',
|
12 |
+
'X-Extendify': true,
|
13 |
+
},
|
14 |
+
})
|
15 |
+
return await data.json()
|
16 |
},
|
17 |
getMeta(key) {
|
18 |
return api.get('user-meta', {
|
49 |
},
|
50 |
})
|
51 |
},
|
52 |
+
deleteData() {
|
53 |
+
return api.post('clear-user')
|
54 |
+
},
|
55 |
registerMailingList(email) {
|
56 |
const formData = new FormData()
|
57 |
formData.append('email', email)
|
src/api/axios.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
import axios from 'axios'
|
2 |
-
import { useUserStore } from '
|
3 |
|
4 |
const Axios = axios.create({
|
5 |
baseURL: window.extendifyData.root,
|
@@ -32,8 +32,9 @@ function addDefaults(request) {
|
|
32 |
: userState.remainingImports()
|
33 |
if (request.data) {
|
34 |
request.data.remaining_imports = remainingImports
|
35 |
-
request.data.entry_point =
|
36 |
-
request.data.total_imports =
|
|
|
37 |
}
|
38 |
return request
|
39 |
}
|
1 |
import axios from 'axios'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
|
4 |
const Axios = axios.create({
|
5 |
baseURL: window.extendifyData.root,
|
32 |
: userState.remainingImports()
|
33 |
if (request.data) {
|
34 |
request.data.remaining_imports = remainingImports
|
35 |
+
request.data.entry_point = userState.entryPoint
|
36 |
+
request.data.total_imports = userState.imports
|
37 |
+
request.data.participating_tests = userState.activeTestGroups()
|
38 |
}
|
39 |
return request
|
40 |
}
|
src/app.css
CHANGED
@@ -17,19 +17,19 @@
|
|
17 |
border: 0 solid #e5e7eb;
|
18 |
}
|
19 |
.extendify .button-focus {
|
20 |
-
@apply focus:ring-wp focus:ring-wp-theme-500
|
21 |
}
|
22 |
.extendify select.button-focus,
|
23 |
.extendify input.button-focus {
|
24 |
-
@apply focus:
|
25 |
}
|
26 |
|
27 |
div.extendify button.extendify-skip-to-sr-link:focus {
|
28 |
-
@apply fixed z-high
|
29 |
}
|
30 |
|
31 |
.button-extendify-main {
|
32 |
-
@apply
|
33 |
}
|
34 |
#extendify-search-input:focus ~ svg,
|
35 |
#extendify-search-input:not(:placeholder-shown) ~ svg {
|
@@ -128,7 +128,7 @@ div.extendify button.extendify-skip-to-sr-link:focus {
|
|
128 |
.components-panel__body.ext-type-control
|
129 |
.components-panel__body-title
|
130 |
.components-button {
|
131 |
-
@apply m-0 border-b-0
|
132 |
}
|
133 |
|
134 |
.components-panel__body.ext-type-control
|
@@ -154,7 +154,7 @@ div.extendify button.extendify-skip-to-sr-link:focus {
|
|
154 |
.is-template--inactive::before,
|
155 |
.is-template--in-review::before {
|
156 |
content: "";
|
157 |
-
@apply absolute
|
158 |
}
|
159 |
|
160 |
.is-template--inactive::before {
|
@@ -169,11 +169,11 @@ div.extendify button.extendify-skip-to-sr-link:focus {
|
|
169 |
}
|
170 |
.extendify-tooltip-default:not(.is-without-arrow) .components-popover__content {
|
171 |
min-width: 250px;
|
172 |
-
@apply border-transparent bg-gray-900 text-white
|
173 |
}
|
174 |
.extendify-bottom-arrow::after {
|
175 |
content: "";
|
176 |
bottom: -15px;
|
177 |
-
@apply
|
178 |
border-top-color: #1e1e1e !important;
|
179 |
}
|
17 |
border: 0 solid #e5e7eb;
|
18 |
}
|
19 |
.extendify .button-focus {
|
20 |
+
@apply outline-none focus:shadow-none focus:ring-wp focus:ring-wp-theme-500;
|
21 |
}
|
22 |
.extendify select.button-focus,
|
23 |
.extendify input.button-focus {
|
24 |
+
@apply focus:outline-none focus:border-transparent focus:shadow-none;
|
25 |
}
|
26 |
|
27 |
div.extendify button.extendify-skip-to-sr-link:focus {
|
28 |
+
@apply fixed top-0 z-high bg-white p-4;
|
29 |
}
|
30 |
|
31 |
.button-extendify-main {
|
32 |
+
@apply button-focus cursor-pointer whitespace-nowrap rounded bg-extendify-main p-1.5 px-3 text-base text-white no-underline transition duration-200 hover:bg-extendify-main-dark hover:text-white focus:text-white active:bg-gray-900 active:text-white;
|
33 |
}
|
34 |
#extendify-search-input:focus ~ svg,
|
35 |
#extendify-search-input:not(:placeholder-shown) ~ svg {
|
128 |
.components-panel__body.ext-type-control
|
129 |
.components-panel__body-title
|
130 |
.components-button {
|
131 |
+
@apply m-0 border-b-0 py-2 text-xss font-medium uppercase text-extendify-gray;
|
132 |
}
|
133 |
|
134 |
.components-panel__body.ext-type-control
|
154 |
.is-template--inactive::before,
|
155 |
.is-template--in-review::before {
|
156 |
content: "";
|
157 |
+
@apply absolute top-0 left-0 bottom-0 right-0 z-40 h-full w-full border-8 border-solid border-extendify-secondary;
|
158 |
}
|
159 |
|
160 |
.is-template--inactive::before {
|
169 |
}
|
170 |
.extendify-tooltip-default:not(.is-without-arrow) .components-popover__content {
|
171 |
min-width: 250px;
|
172 |
+
@apply border-transparent bg-gray-900 p-4 text-white;
|
173 |
}
|
174 |
.extendify-bottom-arrow::after {
|
175 |
content: "";
|
176 |
bottom: -15px;
|
177 |
+
@apply absolute inline-block h-0 w-0 -translate-y-px transform border-8 border-transparent;
|
178 |
border-top-color: #1e1e1e !important;
|
179 |
}
|
src/app.js
CHANGED
@@ -1,11 +1,11 @@
|
|
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 '
|
7 |
-
import '
|
8 |
-
import '
|
|
|
|
|
|
|
|
|
9 |
|
10 |
window._wpLoadBlockEditor &&
|
11 |
window.wp.domReady(() => {
|
|
|
|
|
|
|
|
|
1 |
import { rawHandler } from '@wordpress/blocks'
|
2 |
+
import { render } from '@wordpress/element'
|
3 |
+
import ExtendifyLibrary from '@extendify/ExtendifyLibrary'
|
4 |
+
import '@extendify/blocks/blocks'
|
5 |
+
import '@extendify/buttons'
|
6 |
+
import '@extendify/listeners'
|
7 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
8 |
+
import { injectTemplateBlocks } from '@extendify/util/templateInjection'
|
9 |
|
10 |
window._wpLoadBlockEditor &&
|
11 |
window.wp.domReady(() => {
|
src/blocks/block-category.js
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* WordPress dependencies
|
3 |
+
*/
|
4 |
+
import { registerBlockCollection } from '@wordpress/blocks'
|
5 |
+
import { Icon } from '@wordpress/components'
|
6 |
+
import { brandBlockIcon } from '@extendify/components/icons'
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Function to register a block collection for our block(s).
|
10 |
+
*/
|
11 |
+
registerBlockCollection('extendify', {
|
12 |
+
title: 'Extendify',
|
13 |
+
icon: <Icon icon={brandBlockIcon} />,
|
14 |
+
})
|
src/blocks/blocks.js
CHANGED
@@ -1 +1,2 @@
|
|
|
|
1 |
import './library/block.js'
|
1 |
+
import './block-category.js'
|
2 |
import './library/block.js'
|
src/blocks/library/block.js
CHANGED
@@ -1,26 +1,118 @@
|
|
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 {
|
6 |
-
import {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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])
|
@@ -36,3 +128,13 @@ registerBlockType(metadata, {
|
|
36 |
)
|
37 |
},
|
38 |
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import { registerBlockType } from '@wordpress/blocks'
|
2 |
import { useDispatch } from '@wordpress/data'
|
3 |
import { useEffect } from '@wordpress/element'
|
4 |
+
import { __, _x, sprintf } from '@wordpress/i18n'
|
5 |
+
import {
|
6 |
+
Icon,
|
7 |
+
gallery,
|
8 |
+
postAuthor,
|
9 |
+
mapMarker,
|
10 |
+
button,
|
11 |
+
cover,
|
12 |
+
overlayText,
|
13 |
+
} from '@wordpress/icons'
|
14 |
+
import { brandBlockIcon } from '@extendify/components/icons'
|
15 |
+
import { setModalVisibility } from '@extendify/util/general'
|
16 |
import metadata from './block.json'
|
17 |
|
18 |
export const openModal = (source) => setModalVisibility(source, 'open')
|
19 |
|
20 |
registerBlockType(metadata, {
|
21 |
icon: brandBlockIcon,
|
22 |
+
category: 'extendify',
|
23 |
example: {
|
24 |
attributes: {
|
25 |
preview: window.extendifyData.asset_path + '/preview.png',
|
26 |
},
|
27 |
},
|
28 |
+
variations: [
|
29 |
+
{
|
30 |
+
name: 'gallery',
|
31 |
+
icon: <Icon icon={gallery} />,
|
32 |
+
category: 'extendify',
|
33 |
+
attributes: { search: 'gallery' },
|
34 |
+
title: __('Gallery Patterns', 'extendify'),
|
35 |
+
description: __('Add gallery patterns and layouts.', 'extendify'),
|
36 |
+
keywords: [__('slideshow', 'extendify'), __('images', 'extendify')],
|
37 |
+
},
|
38 |
+
{
|
39 |
+
name: 'team',
|
40 |
+
icon: <Icon icon={postAuthor} />,
|
41 |
+
category: 'extendify',
|
42 |
+
attributes: { search: 'team' },
|
43 |
+
title: __('Team Patterns', 'extendify'),
|
44 |
+
description: __('Add team patterns and layouts.', 'extendify'),
|
45 |
+
keywords: [
|
46 |
+
_x('crew', 'As in team', 'extendify'),
|
47 |
+
__('colleagues', 'extendify'),
|
48 |
+
__('members', 'extendify'),
|
49 |
+
],
|
50 |
+
},
|
51 |
+
{
|
52 |
+
name: 'hero',
|
53 |
+
icon: <Icon icon={cover} />,
|
54 |
+
category: 'extendify',
|
55 |
+
attributes: { search: 'hero' },
|
56 |
+
title: _x(
|
57 |
+
'Hero Patterns',
|
58 |
+
'Hero being a hero/top section of a webpage',
|
59 |
+
'extendify',
|
60 |
+
),
|
61 |
+
description: __('Add hero patterns and layouts.', 'extendify'),
|
62 |
+
keywords: [__('heading', 'extendify'), __('headline', 'extendify')],
|
63 |
+
},
|
64 |
+
{
|
65 |
+
name: 'text',
|
66 |
+
icon: <Icon icon={overlayText} />,
|
67 |
+
category: 'extendify',
|
68 |
+
attributes: { search: 'text' },
|
69 |
+
title: _x(
|
70 |
+
'Text Patterns',
|
71 |
+
'Relating to patterns that feature text only',
|
72 |
+
'extendify',
|
73 |
+
),
|
74 |
+
description: __('Add text patterns and layouts.', 'extendify'),
|
75 |
+
keywords: [__('simple', 'extendify'), __('paragraph', 'extendify')],
|
76 |
+
},
|
77 |
+
{
|
78 |
+
name: 'about',
|
79 |
+
icon: <Icon icon={mapMarker} />,
|
80 |
+
category: 'extendify',
|
81 |
+
attributes: { search: 'about' },
|
82 |
+
title: _x(
|
83 |
+
'About Page Patterns',
|
84 |
+
'Add patterns relating to an about us page',
|
85 |
+
'extendify',
|
86 |
+
),
|
87 |
+
description: __('About patterns and layouts.', 'extendify'),
|
88 |
+
keywords: [__('who we are', 'extendify'), __('team', 'extendify')],
|
89 |
+
},
|
90 |
+
{
|
91 |
+
name: 'call-to-action',
|
92 |
+
icon: <Icon icon={button} />,
|
93 |
+
category: 'extendify',
|
94 |
+
attributes: { search: 'call-to-action' },
|
95 |
+
title: __('Call to Action Patterns', 'extendify'),
|
96 |
+
description: __(
|
97 |
+
'Add call to action patterns and layouts.',
|
98 |
+
'extendify',
|
99 |
+
),
|
100 |
+
keywords: [
|
101 |
+
_x('cta', 'Initialism for call to action', 'extendify'),
|
102 |
+
__('callout', 'extendify'),
|
103 |
+
__('buttons', 'extendify'),
|
104 |
+
],
|
105 |
+
},
|
106 |
+
],
|
107 |
edit: function Edit({ clientId, attributes }) {
|
108 |
const { removeBlock } = useDispatch('core/block-editor')
|
109 |
useEffect(() => {
|
110 |
if (attributes.preview) {
|
111 |
return
|
112 |
}
|
113 |
+
if (attributes.search) {
|
114 |
+
addTermToSearchParams(attributes.search)
|
115 |
+
}
|
116 |
openModal('library-block')
|
117 |
removeBlock(clientId)
|
118 |
}, [clientId, attributes, removeBlock])
|
128 |
)
|
129 |
},
|
130 |
})
|
131 |
+
|
132 |
+
const addTermToSearchParams = (term) => {
|
133 |
+
const params = new URLSearchParams(window.location.search)
|
134 |
+
params.append('ext-patternType', term)
|
135 |
+
window.history.replaceState(
|
136 |
+
null,
|
137 |
+
null,
|
138 |
+
window.location.pathname + '?' + params.toString(),
|
139 |
+
)
|
140 |
+
}
|
src/blocks/library/block.json
CHANGED
@@ -3,13 +3,15 @@
|
|
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": ["
|
9 |
"textdomain": "extendify",
|
10 |
"attributes": {
|
11 |
"preview": {
|
12 |
"type": "string"
|
|
|
|
|
|
|
13 |
}
|
14 |
}
|
15 |
}
|
3 |
"apiVersion": 2,
|
4 |
"name": "extendify/library",
|
5 |
"title": "Pattern Library",
|
|
|
6 |
"description": "Add block patterns and full page layouts with the Extendify Library.",
|
7 |
+
"keywords": ["template", "layouts"],
|
8 |
"textdomain": "extendify",
|
9 |
"attributes": {
|
10 |
"preview": {
|
11 |
"type": "string"
|
12 |
+
},
|
13 |
+
"search": {
|
14 |
+
"type": "string"
|
15 |
}
|
16 |
}
|
17 |
}
|
src/buttons.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
-
import { render } from '@wordpress/element'
|
3 |
-
import { registerPlugin } from '@wordpress/plugins'
|
4 |
import { PluginSidebarMoreMenuItem } from '@wordpress/edit-post'
|
|
|
|
|
5 |
import { Icon } from '@wordpress/icons'
|
6 |
-
import {
|
7 |
-
import LibraryAccessModal from '
|
8 |
-
import { CtaButton, MainButton } from '
|
|
|
9 |
|
10 |
const userState = window.extendifyData?.user?.state
|
11 |
const isAdmin = () => window.extendifyData.user === null || userState?.isAdmin
|
|
|
|
|
|
|
1 |
import { PluginSidebarMoreMenuItem } from '@wordpress/edit-post'
|
2 |
+
import { render } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon } from '@wordpress/icons'
|
5 |
+
import { registerPlugin } from '@wordpress/plugins'
|
6 |
+
import LibraryAccessModal from '@extendify/components/LibraryAccessModal'
|
7 |
+
import { CtaButton, MainButton } from '@extendify/components/MainButtons'
|
8 |
+
import { brandMark } from '@extendify/components/icons/'
|
9 |
|
10 |
const userState = window.extendifyData?.user?.state
|
11 |
const isAdmin = () => window.extendifyData.user === null || userState?.isAdmin
|
src/components/DevHelpers.js
CHANGED
@@ -1,29 +1,34 @@
|
|
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
|
|
|
|
|
|
|
8 |
|
9 |
useEffect(() => {
|
10 |
-
if (idText ===
|
11 |
-
setTimeout(() => setIdText(
|
12 |
-
}, [idText,
|
|
|
|
|
13 |
|
14 |
return (
|
15 |
-
<div className="
|
16 |
<CopyToClipboard
|
17 |
-
text={template
|
18 |
-
onCopy={() => setIdText(__('Copied
|
19 |
-
<button className="
|
20 |
-
{idText}
|
21 |
</button>
|
22 |
</CopyToClipboard>
|
23 |
<a
|
24 |
target="_blank"
|
25 |
-
className="
|
26 |
-
href={
|
27 |
rel="noreferrer">
|
28 |
{__('Edit', 'extendify')}
|
29 |
</a>
|
1 |
import { useEffect, useState } from '@wordpress/element'
|
2 |
+
import { __, sprintf } from '@wordpress/i18n'
|
3 |
import { CopyToClipboard } from 'react-copy-to-clipboard'
|
|
|
4 |
|
5 |
/** Overlay for pattern import button */
|
6 |
export const DevButtonOverlay = ({ template }) => {
|
7 |
+
const basePatternId = template?.fields?.basePattern?.length
|
8 |
+
? template?.fields?.basePattern[0]
|
9 |
+
: ''
|
10 |
+
const [idText, setIdText] = useState(basePatternId)
|
11 |
|
12 |
useEffect(() => {
|
13 |
+
if (!basePatternId?.length || idText === basePatternId) return
|
14 |
+
setTimeout(() => setIdText(basePatternId), 1000)
|
15 |
+
}, [idText, basePatternId])
|
16 |
+
|
17 |
+
if (!basePatternId) return null
|
18 |
|
19 |
return (
|
20 |
+
<div className="absolute bottom-0 left-0 z-50 mb-4 ml-4 flex items-center space-x-2 opacity-0 transition duration-100 group-hover:opacity-100 space-x-0.5">
|
21 |
<CopyToClipboard
|
22 |
+
text={template?.fields?.basePattern}
|
23 |
+
onCopy={() => setIdText(__('Copied!', 'extendify'))}>
|
24 |
+
<button className="text-sm rounded-md border border-black bg-white py-1 px-2.5 font-medium text-black no-underline m-0 cursor-pointer">
|
25 |
+
{sprintf(__('Base: %s', 'extendify'), idText)}
|
26 |
</button>
|
27 |
</CopyToClipboard>
|
28 |
<a
|
29 |
target="_blank"
|
30 |
+
className="text-sm rounded-md border border-black bg-white py-1 px-2.5 font-medium text-black no-underline m-0"
|
31 |
+
href={template?.fields?.editURL}
|
32 |
rel="noreferrer">
|
33 |
{__('Edit', 'extendify')}
|
34 |
</a>
|
src/components/ImportCounter.js
CHANGED
@@ -1,24 +1,31 @@
|
|
1 |
-
import
|
2 |
-
import { Icon } from '@wordpress/icons'
|
3 |
-
import { __, _n, sprintf } from '@wordpress/i18n'
|
4 |
import { useEffect, memo, useRef } from '@wordpress/element'
|
5 |
-
import {
|
6 |
-
import {
|
7 |
-
import
|
|
|
|
|
|
|
|
|
8 |
import { growthArrow } from './icons'
|
9 |
-
import {
|
10 |
|
11 |
export const ImportCounter = memo(function ImportCounter() {
|
12 |
const remainingImports = useUserStore((state) => state.remainingImports)
|
13 |
const allowedImports = useUserStore((state) => state.allowedImports)
|
14 |
const count = remainingImports()
|
15 |
const status = count > 0 ? 'has-imports' : 'no-imports'
|
16 |
-
const backgroundColor =
|
17 |
-
status === 'has-imports'
|
18 |
-
? 'bg-extendify-main hover:bg-extendify-main-dark'
|
19 |
-
: 'bg-extendify-alert'
|
20 |
-
const icon = status === 'has-imports' ? download : alert
|
21 |
const buttonRef = useRef()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
useEffect(() => {
|
24 |
if (allowedImports < 1 || !allowedImports) {
|
@@ -48,14 +55,20 @@ export const ImportCounter = memo(function ImportCounter() {
|
|
48 |
ref={buttonRef}
|
49 |
rel="noreferrer"
|
50 |
className={classnames(
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
53 |
)}
|
|
|
54 |
href={`https://www.extendify.com/pricing/?utm_source=${encodeURIComponent(
|
55 |
window.extendifyData.sdk_partner,
|
56 |
-
)}&utm_medium=library&utm_campaign=import-counter&utm_content=get-more&utm_term=${status}
|
57 |
-
|
58 |
-
|
|
|
|
|
59 |
<span>
|
60 |
{sprintf(
|
61 |
_n('%s Import', '%s Imports', count, 'extendify'),
|
@@ -63,21 +76,27 @@ export const ImportCounter = memo(function ImportCounter() {
|
|
63 |
)}
|
64 |
</span>
|
65 |
</span>
|
66 |
-
<span className="
|
67 |
{__('Get more', 'extendify')}
|
68 |
<Icon icon={growthArrow} size={24} className="-mr-1.5" />
|
69 |
</span>
|
70 |
</a>
|
71 |
<div
|
72 |
-
className="invisible
|
73 |
tabIndex="-1">
|
74 |
<a
|
75 |
href={`https://www.extendify.com/pricing/?utm_source=${encodeURIComponent(
|
76 |
window.extendifyData.sdk_partner,
|
77 |
-
)}&utm_medium=library&utm_campaign=import-counter-tooltip&utm_content=get-50-off&utm_term=${status}
|
|
|
|
|
78 |
className="block bg-gray-900 text-white p-4 no-underline rounded bg-cover"
|
|
|
|
|
|
|
79 |
style={{
|
80 |
backgroundImage: `url(${window.extendifyData.asset_path}/logo-tips.png)`,
|
|
|
81 |
}}>
|
82 |
<span
|
83 |
dangerouslySetInnerHTML={{
|
1 |
+
import { safeHTML } from '@wordpress/dom'
|
|
|
|
|
2 |
import { useEffect, memo, useRef } from '@wordpress/element'
|
3 |
+
import { __, _n, sprintf } from '@wordpress/i18n'
|
4 |
+
import { Icon } from '@wordpress/icons'
|
5 |
+
import classnames from 'classnames'
|
6 |
+
import { General } from '@extendify/api/General'
|
7 |
+
import { User as UserApi } from '@extendify/api/User'
|
8 |
+
import { useTestGroup } from '@extendify/hooks/useTestGroup'
|
9 |
+
import { useUserStore } from '@extendify/state/User'
|
10 |
import { growthArrow } from './icons'
|
11 |
+
import { alert, download } from './icons/'
|
12 |
|
13 |
export const ImportCounter = memo(function ImportCounter() {
|
14 |
const remainingImports = useUserStore((state) => state.remainingImports)
|
15 |
const allowedImports = useUserStore((state) => state.allowedImports)
|
16 |
const count = remainingImports()
|
17 |
const status = count > 0 ? 'has-imports' : 'no-imports'
|
|
|
|
|
|
|
|
|
|
|
18 |
const buttonRef = useRef()
|
19 |
+
const buttonColorGroup = useTestGroup('import-counter-color', ['A', 'B'])
|
20 |
+
const backgroundColor = () => {
|
21 |
+
switch (buttonColorGroup) {
|
22 |
+
// case 'A' is the default
|
23 |
+
case 'B':
|
24 |
+
return 'bg-wp-theme-500 hover:bg-wp-theme-600'
|
25 |
+
default:
|
26 |
+
return 'bg-extendify-main hover:bg-extendify-main-dark'
|
27 |
+
}
|
28 |
+
}
|
29 |
|
30 |
useEffect(() => {
|
31 |
if (allowedImports < 1 || !allowedImports) {
|
55 |
ref={buttonRef}
|
56 |
rel="noreferrer"
|
57 |
className={classnames(
|
58 |
+
'button-focus hidden w-full justify-between rounded py-3 px-4 text-sm text-white no-underline sm:flex',
|
59 |
+
{
|
60 |
+
[backgroundColor()]: count > 0,
|
61 |
+
'bg-extendify-alert': !count,
|
62 |
+
},
|
63 |
)}
|
64 |
+
onClick={async () => await General.ping('import-counter-click')}
|
65 |
href={`https://www.extendify.com/pricing/?utm_source=${encodeURIComponent(
|
66 |
window.extendifyData.sdk_partner,
|
67 |
+
)}&utm_medium=library&utm_campaign=import-counter&utm_content=get-more&utm_term=${status}&utm_group=${useUserStore
|
68 |
+
.getState()
|
69 |
+
.activeTestGroupsUtmValue()}`}>
|
70 |
+
<span className="flex items-center space-x-2 text-xs no-underline">
|
71 |
+
<Icon icon={count > 0 ? download : alert} size={14} />
|
72 |
<span>
|
73 |
{sprintf(
|
74 |
_n('%s Import', '%s Imports', count, 'extendify'),
|
76 |
)}
|
77 |
</span>
|
78 |
</span>
|
79 |
+
<span className="outline-none flex items-center text-sm font-medium text-white no-underline">
|
80 |
{__('Get more', 'extendify')}
|
81 |
<Icon icon={growthArrow} size={24} className="-mr-1.5" />
|
82 |
</span>
|
83 |
</a>
|
84 |
<div
|
85 |
+
className="extendify-bottom-arrow invisible absolute top-0 w-full -translate-y-full transform opacity-0 shadow-md transition-all delay-200 duration-300 ease-in-out group-hover:visible group-hover:-top-2.5 group-hover:opacity-100 group-focus:visible group-focus:-top-2.5 group-focus:opacity-100"
|
86 |
tabIndex="-1">
|
87 |
<a
|
88 |
href={`https://www.extendify.com/pricing/?utm_source=${encodeURIComponent(
|
89 |
window.extendifyData.sdk_partner,
|
90 |
+
)}&utm_medium=library&utm_campaign=import-counter-tooltip&utm_content=get-50-off&utm_term=${status}&utm_group=${useUserStore
|
91 |
+
.getState()
|
92 |
+
.activeTestGroupsUtmValue()}`}
|
93 |
className="block bg-gray-900 text-white p-4 no-underline rounded bg-cover"
|
94 |
+
onClick={async () =>
|
95 |
+
await General.ping('import-counter-tooltip-click')
|
96 |
+
}
|
97 |
style={{
|
98 |
backgroundImage: `url(${window.extendifyData.asset_path}/logo-tips.png)`,
|
99 |
+
backgroundSize: '100% 100%',
|
100 |
}}>
|
101 |
<span
|
102 |
dangerouslySetInnerHTML={{
|
src/components/ImportTemplateBlock.js
CHANGED
@@ -1,14 +1,14 @@
|
|
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 {
|
7 |
-
import {
|
8 |
-
import
|
9 |
-
import {
|
10 |
-
import {
|
11 |
-
import {
|
|
|
|
|
|
|
12 |
import { DevButtonOverlay } from './DevHelpers'
|
13 |
import { NoImportModal } from './modals/NoImportModal'
|
14 |
import { ProModal } from './modals/ProModal'
|
@@ -105,11 +105,15 @@ export function ImportTemplateBlock({ template, maxHeight }) {
|
|
105 |
if (height) {
|
106 |
rafId4 = window.requestAnimationFrame(
|
107 |
() => {
|
108 |
-
frame.
|
|
|
|
|
109 |
},
|
110 |
)
|
111 |
const id = window.setTimeout(() => {
|
112 |
-
frame.
|
|
|
|
|
113 |
}, 2000)
|
114 |
timeouts.push(id)
|
115 |
}
|
@@ -161,7 +165,7 @@ export function ImportTemplateBlock({ template, maxHeight }) {
|
|
161 |
}, [maxHeight])
|
162 |
|
163 |
return (
|
164 |
-
<div className="relative
|
165 |
<div
|
166 |
role="button"
|
167 |
tabIndex="0"
|
@@ -170,7 +174,7 @@ export function ImportTemplateBlock({ template, maxHeight }) {
|
|
170 |
template?.fields?.type,
|
171 |
)}
|
172 |
style={{ maxHeight }}
|
173 |
-
className="m-0 cursor-pointer
|
174 |
onFocus={focusTrapInnerBlocks}
|
175 |
onClick={importTemplate}
|
176 |
onKeyDown={handleKeyDown}>
|
@@ -192,7 +196,7 @@ export function ImportTemplateBlock({ template, maxHeight }) {
|
|
192 |
{/* Show dev info after the preview is loaded to trigger observer */}
|
193 |
{devMode && loaded && <DevButtonOverlay template={template} />}
|
194 |
{template?.fields?.pro && (
|
195 |
-
<div className="
|
196 |
{__('Pro', 'extendify')}
|
197 |
</div>
|
198 |
)}
|
|
|
|
|
|
|
1 |
import { BlockPreview } from '@wordpress/block-editor'
|
2 |
import { rawHandler } from '@wordpress/blocks'
|
3 |
+
import { useEffect, useState, useRef, useMemo } from '@wordpress/element'
|
4 |
+
import { __, sprintf } from '@wordpress/i18n'
|
5 |
+
import classNames from 'classnames'
|
6 |
+
import { Templates as TemplatesApi } from '@extendify/api/Templates'
|
7 |
+
import { useIsDevMode } from '@extendify/hooks/helpers'
|
8 |
+
import { AuthorizationCheck, Middleware } from '@extendify/middleware'
|
9 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
10 |
+
import { useUserStore } from '@extendify/state/User'
|
11 |
+
import { injectTemplateBlocks } from '@extendify/util/templateInjection'
|
12 |
import { DevButtonOverlay } from './DevHelpers'
|
13 |
import { NoImportModal } from './modals/NoImportModal'
|
14 |
import { ProModal } from './modals/ProModal'
|
105 |
if (height) {
|
106 |
rafId4 = window.requestAnimationFrame(
|
107 |
() => {
|
108 |
+
frame.contentWindow.dispatchEvent(
|
109 |
+
new Event('resize'),
|
110 |
+
)
|
111 |
},
|
112 |
)
|
113 |
const id = window.setTimeout(() => {
|
114 |
+
frame.contentWindow.dispatchEvent(
|
115 |
+
new Event('resize'),
|
116 |
+
)
|
117 |
}, 2000)
|
118 |
timeouts.push(id)
|
119 |
}
|
165 |
}, [maxHeight])
|
166 |
|
167 |
return (
|
168 |
+
<div className="group relative">
|
169 |
<div
|
170 |
role="button"
|
171 |
tabIndex="0"
|
174 |
template?.fields?.type,
|
175 |
)}
|
176 |
style={{ maxHeight }}
|
177 |
+
className="button-focus relative m-0 cursor-pointer overflow-hidden bg-gray-100 ease-in-out"
|
178 |
onFocus={focusTrapInnerBlocks}
|
179 |
onClick={importTemplate}
|
180 |
onKeyDown={handleKeyDown}>
|
196 |
{/* Show dev info after the preview is loaded to trigger observer */}
|
197 |
{devMode && loaded && <DevButtonOverlay template={template} />}
|
198 |
{template?.fields?.pro && (
|
199 |
+
<div className="pointer-events-none absolute top-4 right-4 z-20 rounded-md border border-none bg-white bg-wp-theme-500 py-1 px-2.5 font-medium text-white no-underline shadow-sm">
|
200 |
{__('Pro', 'extendify')}
|
201 |
</div>
|
202 |
)}
|
src/components/LibraryAccessModal.js
CHANGED
@@ -1,11 +1,10 @@
|
|
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 {
|
8 |
-
import { useSiteSettingsStore } from '
|
|
|
9 |
|
10 |
const LibraryAccessModal = () => {
|
11 |
const isAdmin = useSelect((select) =>
|
1 |
import { Modal } from '@wordpress/components'
|
|
|
2 |
import { ToggleControl } from '@wordpress/components'
|
|
|
3 |
import { useSelect } from '@wordpress/data'
|
4 |
+
import { unmountComponentAtNode, useState, useEffect } from '@wordpress/element'
|
5 |
+
import { __ } from '@wordpress/i18n'
|
6 |
+
import { useSiteSettingsStore } from '@extendify/state/SiteSettings'
|
7 |
+
import { useUserStore } from '@extendify/state/User'
|
8 |
|
9 |
const LibraryAccessModal = () => {
|
10 |
const isAdmin = useSelect((select) =>
|
src/components/MainButtons.js
CHANGED
@@ -1,12 +1,13 @@
|
|
1 |
import { Button } from '@wordpress/components'
|
2 |
import { useState, useEffect, useRef } from '@wordpress/element'
|
|
|
3 |
import { Icon } from '@wordpress/icons'
|
|
|
|
|
|
|
|
|
|
|
4 |
import { brandMark } from './icons'
|
5 |
-
import { __ } from '@wordpress/i18n'
|
6 |
-
import { openModal } from '../util/general'
|
7 |
-
import { useUserStore } from '../state/User'
|
8 |
-
import { useGlobalStore } from '../state/GlobalState'
|
9 |
-
import { General } from '../api/General'
|
10 |
import { NewImportsPopover } from './popovers/NewImportsPopover'
|
11 |
|
12 |
export const MainButton = () => {
|
@@ -19,6 +20,7 @@ export const MainButton = () => {
|
|
19 |
const hasPendingNewImports = useUserStore(
|
20 |
(state) => state.allowedImports === 0,
|
21 |
)
|
|
|
22 |
|
23 |
const handleTooltipClose = async () => {
|
24 |
await General.ping('mb-tooltip-closed')
|
@@ -30,6 +32,17 @@ export const MainButton = () => {
|
|
30 |
allowedImports: -1,
|
31 |
})
|
32 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
useEffect(() => {
|
35 |
if (open) {
|
@@ -57,7 +70,7 @@ export const MainButton = () => {
|
|
57 |
size={24}
|
58 |
/>
|
59 |
}>
|
60 |
-
{
|
61 |
</Button>
|
62 |
|
63 |
{showTooltip && (
|
1 |
import { Button } from '@wordpress/components'
|
2 |
import { useState, useEffect, useRef } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon } from '@wordpress/icons'
|
5 |
+
import { General } from '@extendify/api/General'
|
6 |
+
import { useTestGroup } from '@extendify/hooks/useTestGroup'
|
7 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
8 |
+
import { useUserStore } from '@extendify/state/User'
|
9 |
+
import { openModal } from '@extendify/util/general'
|
10 |
import { brandMark } from './icons'
|
|
|
|
|
|
|
|
|
|
|
11 |
import { NewImportsPopover } from './popovers/NewImportsPopover'
|
12 |
|
13 |
export const MainButton = () => {
|
20 |
const hasPendingNewImports = useUserStore(
|
21 |
(state) => state.allowedImports === 0,
|
22 |
)
|
23 |
+
const buttonText = useTestGroup('main-button-text', ['A', 'B', 'C'])
|
24 |
|
25 |
const handleTooltipClose = async () => {
|
26 |
await General.ping('mb-tooltip-closed')
|
32 |
allowedImports: -1,
|
33 |
})
|
34 |
}
|
35 |
+
const libraryButtonText = () => {
|
36 |
+
switch (buttonText) {
|
37 |
+
// case 'A' is the default
|
38 |
+
case 'B':
|
39 |
+
return __('Add section', 'extendify')
|
40 |
+
case 'C':
|
41 |
+
return __('Add template', 'extendify')
|
42 |
+
default:
|
43 |
+
return __('Library', 'extendify')
|
44 |
+
}
|
45 |
+
}
|
46 |
|
47 |
useEffect(() => {
|
48 |
if (open) {
|
70 |
size={24}
|
71 |
/>
|
72 |
}>
|
73 |
+
{libraryButtonText()}
|
74 |
</Button>
|
75 |
|
76 |
{showTooltip && (
|
src/components/SiteTypeSelector.js
CHANGED
@@ -2,8 +2,8 @@ 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 '
|
6 |
-
import { useUserStore } from '
|
7 |
|
8 |
const searchMemo = new Map()
|
9 |
|
@@ -64,7 +64,7 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
64 |
}, [terms])
|
65 |
|
66 |
useEffect(() => {
|
67 |
-
if (!tempValue
|
68 |
}, [examples, tempValue])
|
69 |
|
70 |
useEffect(() => {
|
@@ -75,10 +75,10 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
75 |
return (
|
76 |
<>
|
77 |
<span className="flex flex-col text-left">
|
78 |
-
<span className="text-sm
|
79 |
{__('Site Type', 'extendify')}
|
80 |
</span>
|
81 |
-
<span className="font-light
|
82 |
</span>
|
83 |
<span className="flex items-center space-x-4">
|
84 |
{unknown && !expanded && (
|
@@ -107,8 +107,8 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
107 |
</svg>
|
108 |
)}
|
109 |
<svg
|
110 |
-
className={classNames('text-gray-700
|
111 |
-
'
|
112 |
})}
|
113 |
aria-hidden="true"
|
114 |
focusable="false"
|
@@ -133,7 +133,7 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
133 |
}
|
134 |
return (
|
135 |
<>
|
136 |
-
<h4 className="mt-4 mb-2 text-left
|
137 |
{title}
|
138 |
</h4>
|
139 |
<ul className="m-0">
|
@@ -149,7 +149,7 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
149 |
<button
|
150 |
type="button"
|
151 |
className={classNames(
|
152 |
-
'w-full text-left text-sm
|
153 |
{ 'text-gray-800': !current },
|
154 |
)}
|
155 |
onClick={() => {
|
@@ -167,11 +167,11 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
167 |
}
|
168 |
|
169 |
return (
|
170 |
-
<div className="w-full bg-extendify-transparent-black
|
171 |
<button
|
172 |
type="button"
|
173 |
onClick={() => setExpanded((expanded) => !expanded)}
|
174 |
-
className="flex items-center justify-between
|
175 |
{contentHeader(
|
176 |
expanded
|
177 |
? __('What kind of site is this?', 'extendify')
|
@@ -179,7 +179,7 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
179 |
)}
|
180 |
</button>
|
181 |
{expanded && (
|
182 |
-
<div className="
|
183 |
<div className="relative my-2">
|
184 |
<label htmlFor="site-type-search" className="sr-only">
|
185 |
{__('Search', 'extendify')}
|
@@ -192,11 +192,11 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
192 |
updateSearch(event.target.value)
|
193 |
}
|
194 |
type="text"
|
195 |
-
className="button-focus
|
196 |
placeholder={__('Search', 'extendify')}
|
197 |
/>
|
198 |
<svg
|
199 |
-
className="absolute top-2 right-2 hidden lg:block
|
200 |
xmlns="http://www.w3.org/2000/svg"
|
201 |
viewBox="0 0 24 24"
|
202 |
width="24"
|
@@ -207,7 +207,7 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
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
|
211 |
<p className="text-left">
|
212 |
{__('Nothing found...', 'extendify')}
|
213 |
</p>
|
@@ -220,13 +220,13 @@ export const SiteTypeSelector = ({ value, setValue, terms }) => {
|
|
220 |
)}
|
221 |
</div>
|
222 |
)}
|
223 |
-
{visibleChoices
|
224 |
<div>{choicesList(visibleChoices)}</div>
|
225 |
)}
|
226 |
{unknown ? null : (
|
227 |
<button
|
228 |
type="button"
|
229 |
-
className="mt-4 w-full text-left text-sm
|
230 |
onClick={() => {
|
231 |
setExpanded(false)
|
232 |
setValue('Unknown')
|
2 |
import { __ } from '@wordpress/i18n'
|
3 |
import classNames from 'classnames'
|
4 |
import Fuse from 'fuse.js'
|
5 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
|
8 |
const searchMemo = new Map()
|
9 |
|
64 |
}, [terms])
|
65 |
|
66 |
useEffect(() => {
|
67 |
+
if (!tempValue?.length) setVisibleChoices(examples)
|
68 |
}, [examples, tempValue])
|
69 |
|
70 |
useEffect(() => {
|
75 |
return (
|
76 |
<>
|
77 |
<span className="flex flex-col text-left">
|
78 |
+
<span className="mb-1 text-sm">
|
79 |
{__('Site Type', 'extendify')}
|
80 |
</span>
|
81 |
+
<span className="text-xs font-light">{description}</span>
|
82 |
</span>
|
83 |
<span className="flex items-center space-x-4">
|
84 |
{unknown && !expanded && (
|
107 |
</svg>
|
108 |
)}
|
109 |
<svg
|
110 |
+
className={classNames('stroke-current text-gray-700', {
|
111 |
+
'-translate-x-1 rotate-90 transform': expanded,
|
112 |
})}
|
113 |
aria-hidden="true"
|
114 |
focusable="false"
|
133 |
}
|
134 |
return (
|
135 |
<>
|
136 |
+
<h4 className="mt-4 mb-2 text-left text-xss font-medium uppercase text-gray-700">
|
137 |
{title}
|
138 |
</h4>
|
139 |
<ul className="m-0">
|
149 |
<button
|
150 |
type="button"
|
151 |
className={classNames(
|
152 |
+
'm-0 w-full cursor-pointer bg-transparent pl-0 text-left text-sm hover:text-wp-theme-500',
|
153 |
{ 'text-gray-800': !current },
|
154 |
)}
|
155 |
onClick={() => {
|
167 |
}
|
168 |
|
169 |
return (
|
170 |
+
<div className="w-full rounded bg-extendify-transparent-black">
|
171 |
<button
|
172 |
type="button"
|
173 |
onClick={() => setExpanded((expanded) => !expanded)}
|
174 |
+
className="button-focus m-0 flex w-full cursor-pointer items-center justify-between rounded bg-transparent p-4 text-gray-800 hover:bg-extendify-transparent-black-100">
|
175 |
{contentHeader(
|
176 |
expanded
|
177 |
? __('What kind of site is this?', 'extendify')
|
179 |
)}
|
180 |
</button>
|
181 |
{expanded && (
|
182 |
+
<div className="max-h-96 overflow-y-auto p-4 pt-0">
|
183 |
<div className="relative my-2">
|
184 |
<label htmlFor="site-type-search" className="sr-only">
|
185 |
{__('Search', 'extendify')}
|
192 |
updateSearch(event.target.value)
|
193 |
}
|
194 |
type="text"
|
195 |
+
className="button-focus m-0 w-full rounded border-0 bg-white p-3.5 py-2.5 text-sm"
|
196 |
placeholder={__('Search', 'extendify')}
|
197 |
/>
|
198 |
<svg
|
199 |
+
className="pointer-events-none absolute top-2 right-2 hidden lg:block"
|
200 |
xmlns="http://www.w3.org/2000/svg"
|
201 |
viewBox="0 0 24 24"
|
202 |
width="24"
|
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>
|
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 cursor-pointer bg-transparent pl-0 text-left text-sm text-wp-theme-500 hover:text-wp-theme-500"
|
230 |
onClick={() => {
|
231 |
setExpanded(false)
|
232 |
setValue('Unknown')
|
src/components/TaxonomySection.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import { PanelBody, PanelRow } from '@wordpress/components'
|
2 |
import classNames from 'classnames'
|
3 |
-
import { useTemplatesStore } from '
|
4 |
-
import { getTaxonomyName } from '
|
5 |
|
6 |
export default function TaxonomySection({ taxType, taxonomies }) {
|
7 |
const updateTaxonomies = useTemplatesStore(
|
@@ -16,8 +16,8 @@ export default function TaxonomySection({ taxType, taxonomies }) {
|
|
16 |
className="ext-type-control p-0"
|
17 |
initialOpen={true}>
|
18 |
<PanelRow>
|
19 |
-
<div className="
|
20 |
-
<ul className="px-5 py-1
|
21 |
{taxonomies.map((tax) => {
|
22 |
const isCurrentTax =
|
23 |
searchParams?.taxonomies[taxType]?.slug ===
|
@@ -26,7 +26,7 @@ export default function TaxonomySection({ taxType, taxonomies }) {
|
|
26 |
<li className="m-0 w-full" key={tax.slug}>
|
27 |
<button
|
28 |
type="button"
|
29 |
-
className="
|
30 |
onClick={() =>
|
31 |
updateTaxonomies({ [taxType]: tax })
|
32 |
}>
|
1 |
import { PanelBody, PanelRow } from '@wordpress/components'
|
2 |
import classNames from 'classnames'
|
3 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
4 |
+
import { getTaxonomyName } from '@extendify/util/general'
|
5 |
|
6 |
export default function TaxonomySection({ taxType, taxonomies }) {
|
7 |
const updateTaxonomies = useTemplatesStore(
|
16 |
className="ext-type-control p-0"
|
17 |
initialOpen={true}>
|
18 |
<PanelRow>
|
19 |
+
<div className="relative w-full overflow-hidden">
|
20 |
+
<ul className="m-0 w-full px-5 py-1">
|
21 |
{taxonomies.map((tax) => {
|
22 |
const isCurrentTax =
|
23 |
searchParams?.taxonomies[taxType]?.slug ===
|
26 |
<li className="m-0 w-full" key={tax.slug}>
|
27 |
<button
|
28 |
type="button"
|
29 |
+
className="button-focus m-0 flex w-full cursor-pointer items-center justify-between bg-transparent px-0 py-2 text-left text-sm leading-none transition duration-200 hover:text-wp-theme-500"
|
30 |
onClick={() =>
|
31 |
updateTaxonomies({ [taxType]: tax })
|
32 |
}>
|
src/components/TypeSelect.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import { __ } from '@wordpress/i18n'
|
2 |
-
import { useTemplatesStore } from '../state/Templates'
|
3 |
import classNames from 'classnames'
|
4 |
-
import { useGlobalStore } from '
|
|
|
5 |
|
6 |
export const TypeSelect = ({ className }) => {
|
7 |
const updateType = useTemplatesStore((state) => state.updateType)
|
@@ -15,7 +15,7 @@ export const TypeSelect = ({ className }) => {
|
|
15 |
<button
|
16 |
type="button"
|
17 |
className={classNames({
|
18 |
-
'
|
19 |
'bg-gray-900 text-white': currentType === 'pattern',
|
20 |
'bg-transparent text-black': currentType !== 'pattern',
|
21 |
})}
|
@@ -25,7 +25,7 @@ export const TypeSelect = ({ className }) => {
|
|
25 |
<button
|
26 |
type="button"
|
27 |
className={classNames({
|
28 |
-
'
|
29 |
'bg-gray-900 text-white': currentType === 'template',
|
30 |
'bg-transparent text-black': currentType !== 'template',
|
31 |
})}
|
1 |
import { __ } from '@wordpress/i18n'
|
|
|
2 |
import classNames from 'classnames'
|
3 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
4 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
5 |
|
6 |
export const TypeSelect = ({ className }) => {
|
7 |
const updateType = useTemplatesStore((state) => state.updateType)
|
15 |
<button
|
16 |
type="button"
|
17 |
className={classNames({
|
18 |
+
'button-focus m-0 min-w-sm cursor-pointer rounded-tl-sm rounded-bl-sm border border-black py-2.5 px-4 text-xs leading-none': true,
|
19 |
'bg-gray-900 text-white': currentType === 'pattern',
|
20 |
'bg-transparent text-black': currentType !== 'pattern',
|
21 |
})}
|
25 |
<button
|
26 |
type="button"
|
27 |
className={classNames({
|
28 |
+
'outline-none button-focus m-0 -ml-px min-w-sm cursor-pointer items-center rounded-tr-sm rounded-br-sm border border-black py-2.5 px-4 text-xs leading-none': true,
|
29 |
'bg-gray-900 text-white': currentType === 'template',
|
30 |
'bg-transparent text-black': currentType !== 'template',
|
31 |
})}
|
src/components/modals/InstallStandaloneModal.js
CHANGED
@@ -1,13 +1,13 @@
|
|
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'))
|
@@ -48,7 +48,7 @@ export const InstallStandaloneModal = () => {
|
|
48 |
return (
|
49 |
<SplitModal ref={initialFocus} onClose={dismiss}>
|
50 |
<div>
|
51 |
-
<div className="flex space-x-2
|
52 |
{brandLogo}
|
53 |
</div>
|
54 |
<h3 className="text-xl">
|
@@ -77,23 +77,23 @@ export const InstallStandaloneModal = () => {
|
|
77 |
onClick={installAndActivate}
|
78 |
ref={initialFocus}
|
79 |
disabled={disabled}
|
80 |
-
className="button-extendify-main
|
81 |
style={{ minWidth: '225px' }}>
|
82 |
{text}
|
83 |
{success || (
|
84 |
<Icon
|
85 |
icon={download2}
|
86 |
size={24}
|
87 |
-
className="w-6
|
88 |
/>
|
89 |
)}
|
90 |
</button>
|
91 |
</div>
|
92 |
</div>
|
93 |
-
<div className="w-full
|
94 |
<img
|
95 |
alt={__('Upgrade Now', 'extendify')}
|
96 |
-
className="max-w-full rounded-tr-sm
|
97 |
src={
|
98 |
window.extendifyData.asset_path +
|
99 |
'/modal-extendify-purple.png'
|
|
|
1 |
import { Icon } from '@wordpress/components'
|
2 |
+
import { safeHTML } from '@wordpress/dom'
|
3 |
+
import { useState, useRef } from '@wordpress/element'
|
4 |
import { __, sprintf } from '@wordpress/i18n'
|
5 |
+
import { General } from '@extendify/api/General'
|
6 |
+
import { Plugins } from '@extendify/api/Plugins'
|
7 |
+
import { download2, brandLogo } from '@extendify/components/icons'
|
8 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
9 |
+
import { useUserStore } from '@extendify/state/User'
|
10 |
import { SplitModal } from './SplitModal'
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
export const InstallStandaloneModal = () => {
|
13 |
const [text, setText] = useState(__('Install Extendify', 'extendify'))
|
48 |
return (
|
49 |
<SplitModal ref={initialFocus} onClose={dismiss}>
|
50 |
<div>
|
51 |
+
<div className="mb-10 flex items-center space-x-2 text-extendify-black">
|
52 |
{brandLogo}
|
53 |
</div>
|
54 |
<h3 className="text-xl">
|
77 |
onClick={installAndActivate}
|
78 |
ref={initialFocus}
|
79 |
disabled={disabled}
|
80 |
+
className="button-extendify-main button-focus mt-2 inline-flex justify-center px-4 py-3"
|
81 |
style={{ minWidth: '225px' }}>
|
82 |
{text}
|
83 |
{success || (
|
84 |
<Icon
|
85 |
icon={download2}
|
86 |
size={24}
|
87 |
+
className="ml-2 w-6 flex-grow-0"
|
88 |
/>
|
89 |
)}
|
90 |
</button>
|
91 |
</div>
|
92 |
</div>
|
93 |
+
<div className="flex w-full justify-end rounded-tr-sm rounded-br-sm bg-extendify-secondary">
|
94 |
<img
|
95 |
alt={__('Upgrade Now', 'extendify')}
|
96 |
+
className="roudned-br-sm max-w-full rounded-tr-sm"
|
97 |
src={
|
98 |
window.extendifyData.asset_path +
|
99 |
'/modal-extendify-purple.png'
|
src/components/modals/Modal.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
import {
|
2 |
import { Fragment, useRef, forwardRef } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon, close } from '@wordpress/icons'
|
5 |
-
import {
|
6 |
-
import { useGlobalStore } from '
|
7 |
|
8 |
export const Modal = forwardRef(
|
9 |
({ isOpen, heading, onClose, children }, initialFocus) => {
|
@@ -20,7 +20,7 @@ export const Modal = forwardRef(
|
|
20 |
<Dialog
|
21 |
initialFocus={initialFocus ?? focusBackup}
|
22 |
onClose={onClose}>
|
23 |
-
<div className="fixed z-high
|
24 |
<Transition.Child
|
25 |
as={Fragment}
|
26 |
enter="ease-out duration-200 transition"
|
@@ -33,17 +33,17 @@ export const Modal = forwardRef(
|
|
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
|
37 |
-
<div className="
|
38 |
{heading ? (
|
39 |
-
<div className="
|
40 |
-
<span className="text-base text-extendify-black
|
41 |
{heading}
|
42 |
</span>
|
43 |
<CloseButton onClick={onClose} />
|
44 |
</div>
|
45 |
) : (
|
46 |
-
<div className="absolute block px-4 py-4
|
47 |
<CloseButton
|
48 |
ref={focusBackup}
|
49 |
onClick={onClose}
|
1 |
+
import { Button } from '@wordpress/components'
|
2 |
import { Fragment, useRef, forwardRef } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon, close } from '@wordpress/icons'
|
5 |
+
import { Dialog, Transition } from '@headlessui/react'
|
6 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
7 |
|
8 |
export const Modal = forwardRef(
|
9 |
({ isOpen, heading, onClose, children }, initialFocus) => {
|
20 |
<Dialog
|
21 |
initialFocus={initialFocus ?? focusBackup}
|
22 |
onClose={onClose}>
|
23 |
+
<div className="fixed inset-0 z-high flex">
|
24 |
<Transition.Child
|
25 |
as={Fragment}
|
26 |
enter="ease-out duration-200 transition"
|
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="relative m-auto w-full">
|
37 |
+
<div className="relative m-auto w-full max-w-lg items-center justify-center rounded-sm bg-white shadow-modal">
|
38 |
{heading ? (
|
39 |
+
<div className="flex items-center justify-between border-b py-2 pl-6 pr-3 leading-none">
|
40 |
+
<span className="whitespace-nowrap text-base text-extendify-black">
|
41 |
{heading}
|
42 |
</span>
|
43 |
<CloseButton onClick={onClose} />
|
44 |
</div>
|
45 |
) : (
|
46 |
+
<div className="absolute top-0 right-0 block px-4 py-4 ">
|
47 |
<CloseButton
|
48 |
ref={focusBackup}
|
49 |
onClick={onClose}
|
src/components/modals/NoImportModal.js
CHANGED
@@ -1,9 +1,10 @@
|
|
1 |
import { Icon } from '@wordpress/components'
|
2 |
import { Button } from '@wordpress/components'
|
3 |
-
import { __ } from '@wordpress/i18n'
|
4 |
import { useRef } from '@wordpress/element'
|
5 |
-
import {
|
6 |
-
import
|
|
|
|
|
7 |
import {
|
8 |
growthArrow,
|
9 |
patterns,
|
@@ -13,7 +14,8 @@ import {
|
|
13 |
brandLogo,
|
14 |
diamond,
|
15 |
} from '../icons'
|
16 |
-
import {
|
|
|
17 |
|
18 |
export const NoImportModal = () => {
|
19 |
const pushModal = useGlobalStore((state) => state.pushModal)
|
@@ -24,11 +26,11 @@ export const NoImportModal = () => {
|
|
24 |
ref={initialFocus}
|
25 |
leftContainerBgColor="bg-white">
|
26 |
<div>
|
27 |
-
<div className="flex space-x-2
|
28 |
{brandLogo}
|
29 |
</div>
|
30 |
|
31 |
-
<h3 className="text-xl
|
32 |
{__("You're out of imports", 'extendify')}
|
33 |
</h3>
|
34 |
<p className="text-sm text-black">
|
@@ -41,24 +43,31 @@ export const NoImportModal = () => {
|
|
41 |
<a
|
42 |
target="_blank"
|
43 |
ref={initialFocus}
|
44 |
-
className="button-extendify-main
|
45 |
style={{ minWidth: '225px' }}
|
46 |
-
href={`https://extendify.com/pricing/?utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
rel="noreferrer">
|
48 |
{__('Get Unlimited Imports', 'extendify')}
|
49 |
<Icon icon={growthArrow} size={24} className="-mr-1" />
|
50 |
</a>
|
51 |
-
<p className="text-sm text-extendify-gray
|
52 |
{__('Have an account?', 'extendify')}
|
53 |
<Button
|
54 |
onClick={() => pushModal(<SettingsModal />)}
|
55 |
-
className="
|
56 |
{__('Sign in', 'extendify')}
|
57 |
</Button>
|
58 |
</p>
|
59 |
</div>
|
60 |
</div>
|
61 |
-
<div className="
|
62 |
<div className="flex items-center space-x-3">
|
63 |
<Icon icon={patterns} size={24} />
|
64 |
<span className="text-sm leading-none">
|
1 |
import { Icon } from '@wordpress/components'
|
2 |
import { Button } from '@wordpress/components'
|
|
|
3 |
import { useRef } from '@wordpress/element'
|
4 |
+
import { __ } from '@wordpress/i18n'
|
5 |
+
import { General } from '@extendify/api/General'
|
6 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
7 |
+
import { useUserStore } from '@extendify/state/User'
|
8 |
import {
|
9 |
growthArrow,
|
10 |
patterns,
|
14 |
brandLogo,
|
15 |
diamond,
|
16 |
} from '../icons'
|
17 |
+
import { SplitModal } from './SplitModal'
|
18 |
+
import { SettingsModal } from './settings/SettingsModal'
|
19 |
|
20 |
export const NoImportModal = () => {
|
21 |
const pushModal = useGlobalStore((state) => state.pushModal)
|
26 |
ref={initialFocus}
|
27 |
leftContainerBgColor="bg-white">
|
28 |
<div>
|
29 |
+
<div className="mb-5 flex items-center space-x-2 text-extendify-black">
|
30 |
{brandLogo}
|
31 |
</div>
|
32 |
|
33 |
+
<h3 className="mt-0 text-xl">
|
34 |
{__("You're out of imports", 'extendify')}
|
35 |
</h3>
|
36 |
<p className="text-sm text-black">
|
43 |
<a
|
44 |
target="_blank"
|
45 |
ref={initialFocus}
|
46 |
+
className="button-extendify-main button-focus mt-2 inline-flex justify-center px-4 py-3"
|
47 |
style={{ minWidth: '225px' }}
|
48 |
+
href={`https://extendify.com/pricing/?utm_source=${
|
49 |
+
window.extendifyData.sdk_partner
|
50 |
+
}&utm_medium=library&utm_campaign=no-imports-modal&utm_content=get-unlimited-imports&utm_group=${useUserStore
|
51 |
+
.getState()
|
52 |
+
.activeTestGroupsUtmValue()}`}
|
53 |
+
onClick={async () =>
|
54 |
+
await General.ping('no-imports-modal-click')
|
55 |
+
}
|
56 |
rel="noreferrer">
|
57 |
{__('Get Unlimited Imports', 'extendify')}
|
58 |
<Icon icon={growthArrow} size={24} className="-mr-1" />
|
59 |
</a>
|
60 |
+
<p className="mb-0 text-left text-sm text-extendify-gray">
|
61 |
{__('Have an account?', 'extendify')}
|
62 |
<Button
|
63 |
onClick={() => pushModal(<SettingsModal />)}
|
64 |
+
className="pl-2 text-sm text-extendify-gray underline hover:no-underline">
|
65 |
{__('Sign in', 'extendify')}
|
66 |
</Button>
|
67 |
</p>
|
68 |
</div>
|
69 |
</div>
|
70 |
+
<div className="flex h-full flex-col justify-center space-y-2 p-10 text-black">
|
71 |
<div className="flex items-center space-x-3">
|
72 |
<Icon icon={patterns} size={24} />
|
73 |
<span className="text-sm leading-none">
|
src/components/modals/ProModal.js
CHANGED
@@ -1,18 +1,20 @@
|
|
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 |
<div>
|
12 |
-
<div className="flex space-x-2
|
13 |
{brandLogo}
|
14 |
</div>
|
15 |
-
<h3 className="text-xl
|
16 |
{__(
|
17 |
'Get unlimited access to all our Pro patterns & layouts',
|
18 |
'extendify',
|
@@ -28,16 +30,23 @@ export const ProModal = () => {
|
|
28 |
<a
|
29 |
target="_blank"
|
30 |
ref={initialFocus}
|
31 |
-
className="button-extendify-main
|
32 |
style={{ minWidth: '225px' }}
|
33 |
-
href={`https://extendify.com/pricing/?utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
rel="noreferrer">
|
35 |
{__('Upgrade Now', 'extendify')}
|
36 |
<Icon icon={growthArrow} size={24} className="-mr-1" />
|
37 |
</a>
|
38 |
</div>
|
39 |
</div>
|
40 |
-
<div className="
|
41 |
<img
|
42 |
alt={__('Upgrade Now', 'extendify')}
|
43 |
className="max-w-full rounded-tr-sm rounded-br-sm"
|
1 |
import { Icon } from '@wordpress/components'
|
2 |
import { useRef } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
+
import { General } from '@extendify/api/General'
|
5 |
+
import { growthArrow, brandLogo } from '@extendify/components/icons'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
import { SplitModal } from './SplitModal'
|
|
|
8 |
|
9 |
export const ProModal = () => {
|
10 |
const initialFocus = useRef(null)
|
11 |
return (
|
12 |
<SplitModal isOpen={true} invertedButtonColor={true} ref={initialFocus}>
|
13 |
<div>
|
14 |
+
<div className="mb-5 flex items-center space-x-2 text-extendify-black">
|
15 |
{brandLogo}
|
16 |
</div>
|
17 |
+
<h3 className="mt-0 text-xl">
|
18 |
{__(
|
19 |
'Get unlimited access to all our Pro patterns & layouts',
|
20 |
'extendify',
|
30 |
<a
|
31 |
target="_blank"
|
32 |
ref={initialFocus}
|
33 |
+
className="button-extendify-main button-focus mt-2 inline-flex justify-center px-4 py-3"
|
34 |
style={{ minWidth: '225px' }}
|
35 |
+
href={`https://extendify.com/pricing/?utm_source=${
|
36 |
+
window.extendifyData.sdk_partner
|
37 |
+
}&utm_medium=library&utm_campaign=pro-modal&utm_content=upgrade-now&utm_group=${useUserStore
|
38 |
+
.getState()
|
39 |
+
.activeTestGroupsUtmValue()}`}
|
40 |
+
onClick={async () =>
|
41 |
+
await General.ping('pro-modal-click')
|
42 |
+
}
|
43 |
rel="noreferrer">
|
44 |
{__('Upgrade Now', 'extendify')}
|
45 |
<Icon icon={growthArrow} size={24} className="-mr-1" />
|
46 |
</a>
|
47 |
</div>
|
48 |
</div>
|
49 |
+
<div className="justify-endrounded-tr-sm flex w-full rounded-br-sm bg-black">
|
50 |
<img
|
51 |
alt={__('Upgrade Now', 'extendify')}
|
52 |
className="max-w-full rounded-tr-sm rounded-br-sm"
|
src/components/modals/SplitModal.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
import {
|
2 |
import { __ } from '@wordpress/i18n'
|
|
|
3 |
import { Dialog, Transition } from '@headlessui/react'
|
4 |
-
import {
|
5 |
-
import { useGlobalStore } from '../../state/GlobalState'
|
6 |
|
7 |
export const SplitModal = forwardRef(
|
8 |
(
|
@@ -29,7 +29,7 @@ export const SplitModal = forwardRef(
|
|
29 |
className="extendify"
|
30 |
initialFocus={initialFocus ?? focusBackup}
|
31 |
onClose={onClose}>
|
32 |
-
<div className="fixed z-high
|
33 |
<Transition.Child
|
34 |
as={Fragment}
|
35 |
enter="ease-out duration-50 transition"
|
@@ -43,11 +43,11 @@ export const SplitModal = forwardRef(
|
|
43 |
enterFrom="opacity-0 translate-y-4 sm:translate-y-5"
|
44 |
enterTo="opacity-100 translate-y-0">
|
45 |
<div className="m-auto">
|
46 |
-
<div className="
|
47 |
<button
|
48 |
onClick={onClose}
|
49 |
ref={focusBackup}
|
50 |
-
className="absolute
|
51 |
style={
|
52 |
invertedButtonColor && {
|
53 |
filter: 'invert(1)',
|
@@ -63,7 +63,7 @@ export const SplitModal = forwardRef(
|
|
63 |
{children[0]}
|
64 |
</div>
|
65 |
<div
|
66 |
-
className={`w-6/12
|
67 |
{children[1]}
|
68 |
</div>
|
69 |
</div>
|
1 |
+
import { Fragment, forwardRef, useRef } from '@wordpress/element'
|
2 |
import { __ } from '@wordpress/i18n'
|
3 |
+
import { Icon, close } from '@wordpress/icons'
|
4 |
import { Dialog, Transition } from '@headlessui/react'
|
5 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
|
|
6 |
|
7 |
export const SplitModal = forwardRef(
|
8 |
(
|
29 |
className="extendify"
|
30 |
initialFocus={initialFocus ?? focusBackup}
|
31 |
onClose={onClose}>
|
32 |
+
<div className="fixed inset-0 z-high flex">
|
33 |
<Transition.Child
|
34 |
as={Fragment}
|
35 |
enter="ease-out duration-50 transition"
|
43 |
enterFrom="opacity-0 translate-y-4 sm:translate-y-5"
|
44 |
enterTo="opacity-100 translate-y-0">
|
45 |
<div className="m-auto">
|
46 |
+
<div className="relative m-8 max-w-md justify-between rounded-sm shadow-modal md:m-0 md:flex md:max-w-2xl">
|
47 |
<button
|
48 |
onClick={onClose}
|
49 |
ref={focusBackup}
|
50 |
+
className="absolute top-0 right-0 block cursor-pointer rounded-md bg-transparent p-4 text-gray-700 opacity-30 hover:opacity-100"
|
51 |
style={
|
52 |
invertedButtonColor && {
|
53 |
filter: 'invert(1)',
|
63 |
{children[0]}
|
64 |
</div>
|
65 |
<div
|
66 |
+
className={`hidden w-6/12 md:block ${rightContainerBgColor}`}>
|
67 |
{children[1]}
|
68 |
</div>
|
69 |
</div>
|
src/components/modals/settings/DevSettings.js
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { Button } from '@wordpress/components'
|
2 |
+
import { useState } from '@wordpress/element'
|
3 |
+
import { useIsDevMode } from '@extendify/hooks/helpers'
|
4 |
+
import { useTaxonomyStore } from '@extendify/state/Taxonomies'
|
5 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
+
|
8 |
+
export const DevSettings = () => {
|
9 |
+
const [processing, setProcessing] = useState(false)
|
10 |
+
const [canHydrate, setCanHydrate] = useState(false)
|
11 |
+
const devMode = useIsDevMode()
|
12 |
+
|
13 |
+
const handleReset = async () => {
|
14 |
+
if (processing) return
|
15 |
+
setProcessing(true)
|
16 |
+
if (canHydrate) {
|
17 |
+
setCanHydrate(false)
|
18 |
+
useUserStore.setState({
|
19 |
+
participatingTestsGroups: [],
|
20 |
+
})
|
21 |
+
await useUserStore.persist.rehydrate()
|
22 |
+
setProcessing(false)
|
23 |
+
return
|
24 |
+
}
|
25 |
+
useUserStore.persist.clearStorage()
|
26 |
+
await new Promise((resolve) => setTimeout(resolve, 1000))
|
27 |
+
setCanHydrate(true)
|
28 |
+
setProcessing(false)
|
29 |
+
}
|
30 |
+
|
31 |
+
const handleServerSwitch = async () => {
|
32 |
+
const params = new URLSearchParams(window.location.search)
|
33 |
+
params.delete('LOCALMODE', 1)
|
34 |
+
params[params.has('DEVMODE') || devMode ? 'delete' : 'append'](
|
35 |
+
'DEVMODE',
|
36 |
+
1,
|
37 |
+
)
|
38 |
+
window.history.replaceState(
|
39 |
+
null,
|
40 |
+
null,
|
41 |
+
window.location.pathname + '?' + params.toString(),
|
42 |
+
)
|
43 |
+
await new Promise((resolve) => setTimeout(resolve, 500))
|
44 |
+
window.dispatchEvent(new Event('popstate'))
|
45 |
+
useTemplatesStore.getState().resetTemplates()
|
46 |
+
useTemplatesStore.getState().updateSearchParams({})
|
47 |
+
useTaxonomyStore.persist.clearStorage()
|
48 |
+
useTaxonomyStore.persist.rehydrate()
|
49 |
+
useTemplatesStore.setState({
|
50 |
+
taxonomyDefaultState: {},
|
51 |
+
})
|
52 |
+
useTaxonomyStore
|
53 |
+
.getState()
|
54 |
+
.fetchTaxonomies()
|
55 |
+
.then(() => {
|
56 |
+
useTemplatesStore.getState().setupDefaultTaxonomies()
|
57 |
+
})
|
58 |
+
}
|
59 |
+
|
60 |
+
if (!window.extendifyData.devbuild) return null
|
61 |
+
|
62 |
+
return (
|
63 |
+
<section className="p-6 flex flex-col space-y-6 border-l-8 border-extendify-secondary">
|
64 |
+
<div>
|
65 |
+
<p className="text-base m-0 text-extendify-black">
|
66 |
+
Development Settings
|
67 |
+
</p>
|
68 |
+
<p className="text-sm italic m-0 text-gray-500">
|
69 |
+
Only available on dev builds
|
70 |
+
</p>
|
71 |
+
</div>
|
72 |
+
<div className="flex space-x-2">
|
73 |
+
<Button isSecondary onClick={handleServerSwitch}>
|
74 |
+
Switch to {devMode ? 'Live' : 'Dev'} Server
|
75 |
+
</Button>
|
76 |
+
<Button isSecondary onClick={handleReset}>
|
77 |
+
{processing
|
78 |
+
? 'Processing...'
|
79 |
+
: canHydrate
|
80 |
+
? 'OK! Press to rehydrate app'
|
81 |
+
: 'Reset User Data'}
|
82 |
+
</Button>
|
83 |
+
</div>
|
84 |
+
</section>
|
85 |
+
)
|
86 |
+
}
|
src/components/{LoginInterface.js → modals/settings/LoginInterface.js}
RENAMED
@@ -1,14 +1,14 @@
|
|
1 |
-
import {
|
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
|
10 |
-
import {
|
11 |
-
import {
|
|
|
|
|
|
|
|
|
12 |
|
13 |
export default function LoginInterface({ actionCallback, initialFocus }) {
|
14 |
const loggedIn = useUserStore((state) => state.apiKey.length)
|
@@ -53,7 +53,7 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
53 |
setFeedbackType('error')
|
54 |
setIsWorking(false)
|
55 |
setFeedback(
|
56 |
-
message
|
57 |
? message
|
58 |
: 'Error: Are you interacting with the wrong server?',
|
59 |
)
|
@@ -63,7 +63,7 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
63 |
if (error || exception) {
|
64 |
setFeedbackType('error')
|
65 |
setIsWorking(false)
|
66 |
-
setFeedback(error
|
67 |
return
|
68 |
}
|
69 |
|
@@ -86,14 +86,14 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
86 |
|
87 |
if (success) {
|
88 |
return (
|
89 |
-
<section className="
|
90 |
<Icon icon={successIcon} size={148} />
|
91 |
-
<p className="text-
|
92 |
{__("You've signed in to Extendify", 'extendify')}
|
93 |
</p>
|
94 |
<Button
|
95 |
ref={viewPatternsButtonRef}
|
96 |
-
className="
|
97 |
onClick={actionCallback}>
|
98 |
{__('View patterns', 'extendify')}
|
99 |
</Button>
|
@@ -103,12 +103,12 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
103 |
|
104 |
if (loggedIn) {
|
105 |
return (
|
106 |
-
<section className="space-y-
|
107 |
-
<p className="text-base text-extendify-black
|
108 |
{__('Account', 'extendify')}
|
109 |
</p>
|
110 |
-
<div className="flex justify-between
|
111 |
-
<div className="flex items-center space-x-2
|
112 |
<Icon icon={user} size={48} />
|
113 |
<p className="text-extendify-black">
|
114 |
{email?.length
|
@@ -118,7 +118,7 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
118 |
</div>
|
119 |
{devMode && (
|
120 |
<Button
|
121 |
-
className="px-4 py-3
|
122 |
onClick={logout}>
|
123 |
{__('Sign out', 'extendify')}
|
124 |
</Button>
|
@@ -129,23 +129,34 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
129 |
}
|
130 |
|
131 |
return (
|
132 |
-
<section className="
|
133 |
<div>
|
134 |
-
<p className="text-
|
135 |
{__('Sign in to Extendify', 'extendify')}
|
136 |
</p>
|
137 |
-
<p className="
|
138 |
<span>{__("Don't have an account?", 'extendify')}</span>
|
139 |
<a
|
140 |
-
href={`https://extendify.com/pricing?utm_source=${
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
149 |
<div className="flex items-center">
|
150 |
<label className="sr-only" htmlFor="extendify-login-email">
|
151 |
{__('Email address', 'extendify')}
|
@@ -154,8 +165,9 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
154 |
ref={initialFocus}
|
155 |
id="extendify-login-email"
|
156 |
name="extendify-login-email"
|
|
|
157 |
type="email"
|
158 |
-
className="border-2 p-2
|
159 |
placeholder={__('Email address', 'extendify')}
|
160 |
value={email.length ? email : ''}
|
161 |
onChange={(event) => setEmail(event.target.value)}
|
@@ -171,17 +183,18 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
171 |
ref={licenseKeyRef}
|
172 |
id="extendify-login-license"
|
173 |
name="extendify-login-license"
|
|
|
174 |
type="text"
|
175 |
-
className="border-2 p-2
|
176 |
placeholder={__('License key', 'extendify')}
|
177 |
value={apiKey}
|
178 |
onChange={(event) => setApiKey(event.target.value)}
|
179 |
/>
|
180 |
</div>
|
181 |
-
<div className="
|
182 |
<button
|
183 |
type="submit"
|
184 |
-
className="relative
|
185 |
<span>{__('Sign In', 'extendify')}</span>
|
186 |
{isWorking && (
|
187 |
<div className="absolute right-2.5">
|
@@ -203,11 +216,20 @@ export default function LoginInterface({ actionCallback, initialFocus }) {
|
|
203 |
{feedback}
|
204 |
</div>
|
205 |
)}
|
206 |
-
<div className="text-center
|
207 |
<a
|
208 |
target="_blank"
|
209 |
rel="noreferrer"
|
210 |
-
href={`https://extendify.com/guides/sign-in?utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
className="underline hover:no-underline text-sm text-extendify-gray">
|
212 |
{__('Need Help?', 'extendify')}
|
213 |
</a>
|
1 |
+
import { Spinner, Button } from '@wordpress/components'
|
2 |
import { useState, useEffect, useRef } from '@wordpress/element'
|
|
|
3 |
import { __ } from '@wordpress/i18n'
|
|
|
|
|
|
|
4 |
import { Icon } from '@wordpress/icons'
|
5 |
+
import classNames from 'classnames'
|
6 |
+
import { General } from '@extendify/api/General'
|
7 |
+
import { User as UserApi } from '@extendify/api/User'
|
8 |
+
import { useIsDevMode } from '@extendify/hooks/helpers'
|
9 |
+
import { useUserStore } from '@extendify/state/User'
|
10 |
+
import { user } from '../../icons'
|
11 |
+
import { success as successIcon } from '../../icons'
|
12 |
|
13 |
export default function LoginInterface({ actionCallback, initialFocus }) {
|
14 |
const loggedIn = useUserStore((state) => state.apiKey.length)
|
53 |
setFeedbackType('error')
|
54 |
setIsWorking(false)
|
55 |
setFeedback(
|
56 |
+
message?.length
|
57 |
? message
|
58 |
: 'Error: Are you interacting with the wrong server?',
|
59 |
)
|
63 |
if (error || exception) {
|
64 |
setFeedbackType('error')
|
65 |
setIsWorking(false)
|
66 |
+
setFeedback(error?.length ? error : exception)
|
67 |
return
|
68 |
}
|
69 |
|
86 |
|
87 |
if (success) {
|
88 |
return (
|
89 |
+
<section className="space-y-6 p-6 text-center flex flex-col items-center">
|
90 |
<Icon icon={successIcon} size={148} />
|
91 |
+
<p className="text-center text-lg font-semibold m-0 text-extendify-black">
|
92 |
{__("You've signed in to Extendify", 'extendify')}
|
93 |
</p>
|
94 |
<Button
|
95 |
ref={viewPatternsButtonRef}
|
96 |
+
className="cursor-pointer rounded bg-extendify-main p-2 px-4 text-center text-white"
|
97 |
onClick={actionCallback}>
|
98 |
{__('View patterns', 'extendify')}
|
99 |
</Button>
|
103 |
|
104 |
if (loggedIn) {
|
105 |
return (
|
106 |
+
<section className="w-full space-y-6 p-6">
|
107 |
+
<p className="text-base m-0 text-extendify-black">
|
108 |
{__('Account', 'extendify')}
|
109 |
</p>
|
110 |
+
<div className="flex items-center justify-between">
|
111 |
+
<div className="-ml-2 flex items-center space-x-2">
|
112 |
<Icon icon={user} size={48} />
|
113 |
<p className="text-extendify-black">
|
114 |
{email?.length
|
118 |
</div>
|
119 |
{devMode && (
|
120 |
<Button
|
121 |
+
className="cursor-pointer rounded bg-extendify-main px-4 py-3 text-center text-white hover:bg-extendify-main-dark"
|
122 |
onClick={logout}>
|
123 |
{__('Sign out', 'extendify')}
|
124 |
</Button>
|
129 |
}
|
130 |
|
131 |
return (
|
132 |
+
<section className="space-y-6 p-6 text-left">
|
133 |
<div>
|
134 |
+
<p className="text-center text-lg font-semibold m-0 text-extendify-black">
|
135 |
{__('Sign in to Extendify', 'extendify')}
|
136 |
</p>
|
137 |
+
<p className="space-x-1 text-center text-sm m-0 text-extendify-gray">
|
138 |
<span>{__("Don't have an account?", 'extendify')}</span>
|
139 |
<a
|
140 |
+
href={`https://extendify.com/pricing?utm_source=${
|
141 |
+
window.extendifyData.sdk_partner
|
142 |
+
}&utm_medium=library&utm_campaign=sign-in-form&utm_content=sign-up&utm_group=${useUserStore
|
143 |
+
.getState()
|
144 |
+
.activeTestGroupsUtmValue()}`}
|
145 |
target="_blank"
|
146 |
+
onClick={async () =>
|
147 |
+
await General.ping(
|
148 |
+
'sign-up-link-from-login-modal-click',
|
149 |
+
)
|
150 |
+
}
|
151 |
className="underline hover:no-underline text-extendify-gray"
|
152 |
rel="noreferrer">
|
153 |
{__('Sign up', 'extendify')}
|
154 |
</a>
|
155 |
</p>
|
156 |
</div>
|
157 |
+
<form
|
158 |
+
onSubmit={confirmKey}
|
159 |
+
className="flex flex-col items-center justify-center space-y-2">
|
160 |
<div className="flex items-center">
|
161 |
<label className="sr-only" htmlFor="extendify-login-email">
|
162 |
{__('Email address', 'extendify')}
|
165 |
ref={initialFocus}
|
166 |
id="extendify-login-email"
|
167 |
name="extendify-login-email"
|
168 |
+
style={{ minWidth: '320px' }}
|
169 |
type="email"
|
170 |
+
className="w-full rounded border-2 p-2"
|
171 |
placeholder={__('Email address', 'extendify')}
|
172 |
value={email.length ? email : ''}
|
173 |
onChange={(event) => setEmail(event.target.value)}
|
183 |
ref={licenseKeyRef}
|
184 |
id="extendify-login-license"
|
185 |
name="extendify-login-license"
|
186 |
+
style={{ minWidth: '320px' }}
|
187 |
type="text"
|
188 |
+
className="w-full rounded border-2 p-2"
|
189 |
placeholder={__('License key', 'extendify')}
|
190 |
value={apiKey}
|
191 |
onChange={(event) => setApiKey(event.target.value)}
|
192 |
/>
|
193 |
</div>
|
194 |
+
<div className="flex justify-center pt-2">
|
195 |
<button
|
196 |
type="submit"
|
197 |
+
className="relative flex w-72 max-w-full cursor-pointer justify-center rounded bg-extendify-main p-2 py-3 text-center text-base text-white hover:bg-extendify-main-dark ">
|
198 |
<span>{__('Sign In', 'extendify')}</span>
|
199 |
{isWorking && (
|
200 |
<div className="absolute right-2.5">
|
216 |
{feedback}
|
217 |
</div>
|
218 |
)}
|
219 |
+
<div className="pt-4 text-center">
|
220 |
<a
|
221 |
target="_blank"
|
222 |
rel="noreferrer"
|
223 |
+
href={`https://extendify.com/guides/sign-in?utm_source=${
|
224 |
+
window.extendifyData.sdk_partner
|
225 |
+
}&utm_medium=library&utm_campaign=sign-in-form&utm_content=need-help&utm_group=${useUserStore
|
226 |
+
.getState()
|
227 |
+
.activeTestGroupsUtmValue()}`}
|
228 |
+
onClick={async () =>
|
229 |
+
await General.ping(
|
230 |
+
'need-help-link-from-login-modal-click',
|
231 |
+
)
|
232 |
+
}
|
233 |
className="underline hover:no-underline text-sm text-extendify-gray">
|
234 |
{__('Need Help?', 'extendify')}
|
235 |
</a>
|
src/components/modals/{SettingsModal.js → settings/SettingsModal.js}
RENAMED
@@ -1,10 +1,11 @@
|
|
1 |
import { useRef } from '@wordpress/element'
|
2 |
import { __ } from '@wordpress/i18n'
|
3 |
-
import { useGlobalStore } from '
|
4 |
-
import
|
5 |
-
import {
|
|
|
6 |
|
7 |
-
export
|
8 |
const initialFocus = useRef(null)
|
9 |
const actionCallback = useGlobalStore((state) => state.removeAllModals)
|
10 |
|
@@ -13,7 +14,8 @@ export default function SettingsModal() {
|
|
13 |
heading={__('Settings', 'extendify')}
|
14 |
isOpen={true}
|
15 |
ref={initialFocus}>
|
16 |
-
<div className="flex
|
|
|
17 |
<LoginInterface
|
18 |
initialFocus={initialFocus}
|
19 |
actionCallback={actionCallback}
|
1 |
import { useRef } from '@wordpress/element'
|
2 |
import { __ } from '@wordpress/i18n'
|
3 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
4 |
+
import { Modal } from '../Modal'
|
5 |
+
import { DevSettings } from './DevSettings'
|
6 |
+
import LoginInterface from './LoginInterface'
|
7 |
|
8 |
+
export const SettingsModal = () => {
|
9 |
const initialFocus = useRef(null)
|
10 |
const actionCallback = useGlobalStore((state) => state.removeAllModals)
|
11 |
|
14 |
heading={__('Settings', 'extendify')}
|
15 |
isOpen={true}
|
16 |
ref={initialFocus}>
|
17 |
+
<div className="flex justify-center flex-col divide-y">
|
18 |
+
<DevSettings />
|
19 |
<LoginInterface
|
20 |
initialFocus={initialFocus}
|
21 |
actionCallback={actionCallback}
|
src/components/notices/FeedbackNotice.js
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
import { Button } from '@wordpress/components'
|
|
|
|
|
|
|
3 |
|
4 |
export default function FeedbackNotice() {
|
5 |
return (
|
@@ -13,11 +15,18 @@ export default function FeedbackNotice() {
|
|
13 |
<span className="px-2 opacity-50" aria-hidden="true">
|
14 |
|
|
15 |
</span>
|
16 |
-
<div className="flex
|
17 |
<Button
|
18 |
variant="link"
|
19 |
-
className="text-black underline hover:no-underline
|
20 |
-
href={`https://extendify.com/feedback/?utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
target="_blank">
|
22 |
{__('Give feedback', 'extendify')}
|
23 |
</Button>
|
|
|
1 |
import { Button } from '@wordpress/components'
|
2 |
+
import { __ } from '@wordpress/i18n'
|
3 |
+
import { General } from '@extendify/api/General'
|
4 |
+
import { useUserStore } from '@extendify/state/User'
|
5 |
|
6 |
export default function FeedbackNotice() {
|
7 |
return (
|
15 |
<span className="px-2 opacity-50" aria-hidden="true">
|
16 |
|
|
17 |
</span>
|
18 |
+
<div className="flex items-center justify-center space-x-2">
|
19 |
<Button
|
20 |
variant="link"
|
21 |
+
className="h-auto p-0 text-black underline hover:no-underline"
|
22 |
+
href={`https://extendify.com/feedback/?utm_source=${
|
23 |
+
window.extendifyData.sdk_partner
|
24 |
+
}&utm_medium=library&utm_campaign=feedback-notice&utm_content=give-feedback&utm_group=${useUserStore
|
25 |
+
.getState()
|
26 |
+
.activeTestGroupsUtmValue()}`}
|
27 |
+
onClick={async () =>
|
28 |
+
await General.ping('feedback-notice-click')
|
29 |
+
}
|
30 |
target="_blank">
|
31 |
{__('Give feedback', 'extendify')}
|
32 |
</Button>
|
src/components/notices/FooterNotice.js
CHANGED
@@ -1,23 +1,24 @@
|
|
|
|
|
|
1 |
import { __ } from '@wordpress/i18n'
|
2 |
import { Icon, closeSmall } from '@wordpress/icons'
|
3 |
-
import {
|
4 |
-
import
|
5 |
-
import
|
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
|
|
|
|
|
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(
|
@@ -90,12 +91,13 @@ export default function FooterNotice() {
|
|
90 |
return null
|
91 |
}
|
92 |
return (
|
93 |
-
<div
|
|
|
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
|
99 |
icon={<Icon icon={closeSmall} />}
|
100 |
label={__('Dismiss this notice', 'extendify')}
|
101 |
onClick={dismiss}
|
1 |
+
import { Button } from '@wordpress/components'
|
2 |
+
import { useState, useEffect, useRef } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon, closeSmall } from '@wordpress/icons'
|
5 |
+
import { General } from '@extendify/api/General'
|
6 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
7 |
+
import { useUserStore } from '@extendify/state/User'
|
8 |
import FeedbackNotice from './FeedbackNotice'
|
|
|
|
|
|
|
9 |
import { InstallStandaloneNotice } from './InstallStandaloneNotice'
|
10 |
+
import PromotionNotice from './PromotionNotice'
|
11 |
+
|
12 |
+
// import WelcomeNotice from './WelcomeNotice'
|
13 |
|
14 |
const NoticesByPriority = {
|
15 |
+
// welcome: WelcomeNotice,
|
16 |
promotion: PromotionNotice,
|
17 |
feedback: FeedbackNotice,
|
18 |
standalone: InstallStandaloneNotice,
|
19 |
}
|
20 |
|
21 |
+
export default function FooterNotice({ className = '' }) {
|
22 |
const [hasNotice, setHasNotice] = useState(null)
|
23 |
const once = useRef(false)
|
24 |
const promotionData = useGlobalStore(
|
91 |
return null
|
92 |
}
|
93 |
return (
|
94 |
+
<div
|
95 |
+
className={`${className} relative mx-auto hidden max-w-screen-4xl items-center justify-center space-x-4 bg-extendify-secondary py-3 px-5 lg:flex`}>
|
96 |
{/* Pass all data to all components and let them decide what they use */}
|
97 |
<Notice promotionData={promotionData} />
|
98 |
<div className="absolute right-1">
|
99 |
<Button
|
100 |
+
className="text-extendify-black opacity-50 hover:opacity-100 focus:opacity-100"
|
101 |
icon={<Icon icon={closeSmall} />}
|
102 |
label={__('Dismiss this notice', 'extendify')}
|
103 |
onClick={dismiss}
|
src/components/notices/InstallStandaloneNotice.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
import { Button } from '@wordpress/components'
|
3 |
import { useState } from '@wordpress/element'
|
4 |
-
import {
|
5 |
import classNames from 'classnames'
|
6 |
-
import { General } from '
|
7 |
-
import {
|
|
|
8 |
|
9 |
export const InstallStandaloneNotice = () => {
|
10 |
const [text, setText] = useState('')
|
@@ -40,11 +40,11 @@ export const InstallStandaloneNotice = () => {
|
|
40 |
<span className="px-2 opacity-50" aria-hidden="true">
|
41 |
|
|
42 |
</span>
|
43 |
-
<div className="inline-flex space-x-2
|
44 |
<Button
|
45 |
variant="link"
|
46 |
className={classNames(
|
47 |
-
'text-black underline hover:no-underline
|
48 |
{ 'opacity-0': text },
|
49 |
)}
|
50 |
onClick={installAndActivate}>
|
@@ -55,7 +55,7 @@ export const InstallStandaloneNotice = () => {
|
|
55 |
<Button
|
56 |
variant="link"
|
57 |
disabled={true}
|
58 |
-
className="
|
59 |
onClick={() => {}}>
|
60 |
{text}
|
61 |
</Button>
|
|
|
1 |
import { Button } from '@wordpress/components'
|
2 |
import { useState } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
import classNames from 'classnames'
|
5 |
+
import { General } from '@extendify/api/General'
|
6 |
+
import { Plugins } from '@extendify/api/Plugins'
|
7 |
+
import { useUserStore } from '@extendify/state/User'
|
8 |
|
9 |
export const InstallStandaloneNotice = () => {
|
10 |
const [text, setText] = useState('')
|
40 |
<span className="px-2 opacity-50" aria-hidden="true">
|
41 |
|
|
42 |
</span>
|
43 |
+
<div className="relative inline-flex items-center space-x-2">
|
44 |
<Button
|
45 |
variant="link"
|
46 |
className={classNames(
|
47 |
+
'h-auto p-0 text-black underline hover:no-underline',
|
48 |
{ 'opacity-0': text },
|
49 |
)}
|
50 |
onClick={installAndActivate}>
|
55 |
<Button
|
56 |
variant="link"
|
57 |
disabled={true}
|
58 |
+
className="absolute left-0 h-auto p-0 text-black underline opacity-100 hover:no-underline"
|
59 |
onClick={() => {}}>
|
60 |
{text}
|
61 |
</Button>
|
src/components/notices/PromotionNotice.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
import { Button } from '@wordpress/components'
|
|
|
|
|
2 |
|
3 |
export default function PromotionNotice({ promotionData }) {
|
4 |
return (
|
@@ -7,12 +9,19 @@ export default function PromotionNotice({ promotionData }) {
|
|
7 |
<span className="px-2 opacity-50" aria-hidden="true">
|
8 |
|
|
9 |
</span>
|
10 |
-
<div className="flex
|
11 |
{promotionData?.url && (
|
12 |
<Button
|
13 |
variant="link"
|
14 |
-
className="text-black underline hover:no-underline
|
15 |
-
href={`${promotionData.url}&utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
target="_blank">
|
17 |
{promotionData?.button_text}
|
18 |
</Button>
|
1 |
import { Button } from '@wordpress/components'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
+
import { General } from '../../api/General'
|
4 |
|
5 |
export default function PromotionNotice({ promotionData }) {
|
6 |
return (
|
9 |
<span className="px-2 opacity-50" aria-hidden="true">
|
10 |
|
|
11 |
</span>
|
12 |
+
<div className="flex items-center justify-center space-x-2">
|
13 |
{promotionData?.url && (
|
14 |
<Button
|
15 |
variant="link"
|
16 |
+
className="h-auto p-0 text-black underline hover:no-underline"
|
17 |
+
href={`${promotionData.url}&utm_source=${
|
18 |
+
window.extendifyData.sdk_partner
|
19 |
+
}&utm_group=${useUserStore
|
20 |
+
.getState()
|
21 |
+
.activeTestGroupsUtmValue()}`}
|
22 |
+
onClick={async () =>
|
23 |
+
await General.ping('promotion-notice-click')
|
24 |
+
}
|
25 |
target="_blank">
|
26 |
{promotionData?.button_text}
|
27 |
</Button>
|
src/components/notices/WelcomeNotice.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
import { Button } from '@wordpress/components'
|
3 |
-
import {
|
4 |
-
import {
|
|
|
|
|
5 |
|
6 |
export default function WelcomeNotice() {
|
7 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
@@ -23,11 +24,18 @@ export default function WelcomeNotice() {
|
|
23 |
<span className="px-2 opacity-50" aria-hidden="true">
|
24 |
|
|
25 |
</span>
|
26 |
-
<div className="flex
|
27 |
<Button
|
28 |
variant="link"
|
29 |
-
className="text-black underline hover:no-underline
|
30 |
-
href={`https://extendify.com/welcome/?utm_source=${
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
target="_blank">
|
32 |
{__('Tell me more', 'extendify')}
|
33 |
</Button>
|
@@ -38,7 +46,7 @@ export default function WelcomeNotice() {
|
|
38 |
</span>
|
39 |
<Button
|
40 |
variant="link"
|
41 |
-
className="text-black underline hover:no-underline
|
42 |
onClick={disableLibrary}>
|
43 |
{__('Turn off the library', 'extendify')}
|
44 |
</Button>
|
|
|
1 |
import { Button } from '@wordpress/components'
|
2 |
+
import { __ } from '@wordpress/i18n'
|
3 |
+
import { General } from '@extendify/api/General'
|
4 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
5 |
+
import { useUserStore } from '@extendify/state/User'
|
6 |
|
7 |
export default function WelcomeNotice() {
|
8 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
24 |
<span className="px-2 opacity-50" aria-hidden="true">
|
25 |
|
|
26 |
</span>
|
27 |
+
<div className="flex items-center justify-center space-x-2">
|
28 |
<Button
|
29 |
variant="link"
|
30 |
+
className="h-auto p-0 text-black underline hover:no-underline"
|
31 |
+
href={`https://extendify.com/welcome/?utm_source=${
|
32 |
+
window.extendifyData.sdk_partner
|
33 |
+
}&utm_medium=library&utm_campaign=welcome-notice&utm_content=tell-me-more&utm_group=${useUserStore
|
34 |
+
.getState()
|
35 |
+
.activeTestGroupsUtmValue()}`}
|
36 |
+
onClick={async () =>
|
37 |
+
await General.ping('welcome-notice-tell-me-more-click')
|
38 |
+
}
|
39 |
target="_blank">
|
40 |
{__('Tell me more', 'extendify')}
|
41 |
</Button>
|
46 |
</span>
|
47 |
<Button
|
48 |
variant="link"
|
49 |
+
className="h-auto p-0 text-black underline hover:no-underline"
|
50 |
onClick={disableLibrary}>
|
51 |
{__('Turn off the library', 'extendify')}
|
52 |
</Button>
|
src/components/popovers/NewImportsPopover.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import { Button, Popover } from '@wordpress/components'
|
2 |
-
import { Icon, close } from '@wordpress/icons'
|
3 |
-
import { __, sprintf } from '@wordpress/i18n'
|
4 |
import { safeHTML } from '@wordpress/dom'
|
|
|
|
|
5 |
|
6 |
export const NewImportsPopover = ({
|
7 |
anchorRef,
|
1 |
import { Button, Popover } from '@wordpress/components'
|
|
|
|
|
2 |
import { safeHTML } from '@wordpress/dom'
|
3 |
+
import { __, sprintf } from '@wordpress/i18n'
|
4 |
+
import { Icon, close } from '@wordpress/icons'
|
5 |
|
6 |
export const NewImportsPopover = ({
|
7 |
anchorRef,
|
src/hooks/helpers.js
CHANGED
@@ -12,11 +12,15 @@ export function useIsMounted() {
|
|
12 |
|
13 |
export const useIsDevMode = () => {
|
14 |
const [devMode, setDevMode] = useState(false)
|
15 |
-
const
|
16 |
-
|
|
|
|
|
|
|
17 |
}
|
18 |
useEffect(() => {
|
19 |
-
|
|
|
20 |
window.addEventListener('popstate', handle)
|
21 |
return () => {
|
22 |
window.removeEventListener('popstate', handle)
|
12 |
|
13 |
export const useIsDevMode = () => {
|
14 |
const [devMode, setDevMode] = useState(false)
|
15 |
+
const check = () => {
|
16 |
+
return (
|
17 |
+
window.location.search.indexOf('DEVMODE') > -1 ||
|
18 |
+
window.location.search.indexOf('LOCALMODE') > -1
|
19 |
+
)
|
20 |
}
|
21 |
useEffect(() => {
|
22 |
+
const handle = () => setDevMode(check())
|
23 |
+
handle()
|
24 |
window.addEventListener('popstate', handle)
|
25 |
return () => {
|
26 |
window.removeEventListener('popstate', handle)
|
src/hooks/useModal.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import { useEffect, useState } from '@wordpress/element'
|
2 |
-
import { InstallStandaloneModal } from '
|
3 |
-
import { useGlobalStore } from '
|
4 |
-
import { useUserStore } from '
|
5 |
|
6 |
/** Return any pending modals and check if any need to show */
|
7 |
export const useModal = () => {
|
@@ -14,8 +14,8 @@ export const useModal = () => {
|
|
14 |
useEffect(
|
15 |
() =>
|
16 |
useGlobalStore.subscribe(
|
17 |
-
(value) => setModal(value?.length > 0 ? value[0] : null),
|
18 |
(state) => state.modals,
|
|
|
19 |
),
|
20 |
[],
|
21 |
)
|
1 |
import { useEffect, useState } from '@wordpress/element'
|
2 |
+
import { InstallStandaloneModal } from '@extendify/components/modals/InstallStandaloneModal'
|
3 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
4 |
+
import { useUserStore } from '@extendify/state/User'
|
5 |
|
6 |
/** Return any pending modals and check if any need to show */
|
7 |
export const useModal = () => {
|
14 |
useEffect(
|
15 |
() =>
|
16 |
useGlobalStore.subscribe(
|
|
|
17 |
(state) => state.modals,
|
18 |
+
(value) => setModal(value?.length > 0 ? value[0] : null),
|
19 |
),
|
20 |
[],
|
21 |
)
|
src/hooks/useTaxonomies.js
DELETED
@@ -1,27 +0,0 @@
|
|
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 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/hooks/useTestGroup.js
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { useState, useLayoutEffect } from '@wordpress/element'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
+
|
4 |
+
export const useTestGroup = (key, options) => {
|
5 |
+
const [group, setGroup] = useState()
|
6 |
+
const testGroup = useUserStore((state) => state.testGroup)
|
7 |
+
|
8 |
+
useLayoutEffect(() => {
|
9 |
+
// Let the devbuild reset this
|
10 |
+
if (!group || window.extendifyData.devbuild) {
|
11 |
+
setGroup(testGroup(key, options))
|
12 |
+
}
|
13 |
+
}, [key, options, group, testGroup])
|
14 |
+
|
15 |
+
return group
|
16 |
+
}
|
src/listeners/index.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1 |
-
import { templateHandler } from './template-inserted'
|
2 |
import { softErrorHandler } from './softerror-encountered'
|
|
|
|
|
3 |
;[templateHandler, softErrorHandler].forEach((listener) => listener.register())
|
|
|
1 |
import { softErrorHandler } from './softerror-encountered'
|
2 |
+
import { templateHandler } from './template-inserted'
|
3 |
+
|
4 |
;[templateHandler, softErrorHandler].forEach((listener) => listener.register())
|
src/listeners/softerror-encountered.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
-
import { camelCase } from 'lodash'
|
2 |
import { render } from '@wordpress/element'
|
3 |
-
import
|
|
|
4 |
|
5 |
// use this to trigger an error from outside the application
|
6 |
export const softErrorHandler = {
|
|
|
1 |
import { render } from '@wordpress/element'
|
2 |
+
import { camelCase } from 'lodash'
|
3 |
+
import RequiredPluginsModal from '@extendify/middleware/hasRequiredPlugins/RequiredPluginsModal'
|
4 |
|
5 |
// use this to trigger an error from outside the application
|
6 |
export const softErrorHandler = {
|
src/listeners/template-inserted.js
CHANGED
@@ -1,7 +1,7 @@
|
|
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 = {
|
|
|
|
|
1 |
import { dispatch } from '@wordpress/data'
|
2 |
import { __ } from '@wordpress/i18n'
|
3 |
+
import { Templates } from '@extendify/api/Templates'
|
4 |
+
import { useUserStore } from '@extendify/state/User'
|
5 |
|
6 |
// This fires after a template is inserted
|
7 |
export const templateHandler = {
|
src/middleware/NeedsPermissionModal.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
import { __, sprintf } from '@wordpress/i18n'
|
2 |
import { Modal, Button } from '@wordpress/components'
|
3 |
import { render } from '@wordpress/element'
|
4 |
-
import
|
5 |
-
import
|
6 |
-
import {
|
|
|
7 |
|
8 |
export default function NeedsPermissionModal() {
|
9 |
const wantedTemplate = useWantedTemplateStore(
|
|
|
1 |
import { Modal, Button } from '@wordpress/components'
|
2 |
import { render } from '@wordpress/element'
|
3 |
+
import { __, sprintf } from '@wordpress/i18n'
|
4 |
+
import ExtendifyLibrary from '@extendify/ExtendifyLibrary'
|
5 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
6 |
+
import { getPluginDescription } from '@extendify/util/general'
|
7 |
|
8 |
export default function NeedsPermissionModal() {
|
9 |
const wantedTemplate = useWantedTemplateStore(
|
src/middleware/ReloadRequiredModal.js
CHANGED
@@ -1,7 +1,7 @@
|
|
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)
|
|
|
1 |
import { Modal, Button, ButtonGroup } from '@wordpress/components'
|
|
|
2 |
import { dispatch, select } from '@wordpress/data'
|
3 |
+
import { useState } from '@wordpress/element'
|
4 |
+
import { __ } from '@wordpress/i18n'
|
5 |
|
6 |
export default function ReloadRequiredModal() {
|
7 |
const [isSaving, setSaving] = useState(false)
|
src/middleware/hasPluginsActivated/ActivatePluginsModal.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-
import { __, sprintf } from '@wordpress/i18n'
|
2 |
import { Modal, Button, ButtonGroup } from '@wordpress/components'
|
3 |
import { render } from '@wordpress/element'
|
4 |
-
import
|
5 |
-
import ExtendifyLibrary from '
|
6 |
-
import { useWantedTemplateStore } from '
|
7 |
-
import {
|
8 |
-
import {
|
9 |
import NeedsPermissionModal from '../NeedsPermissionModal'
|
|
|
10 |
|
11 |
export default function ActivatePluginsModal(props) {
|
12 |
const wantedTemplate = useWantedTemplateStore(
|
|
|
1 |
import { Modal, Button, ButtonGroup } from '@wordpress/components'
|
2 |
import { render } from '@wordpress/element'
|
3 |
+
import { __, sprintf } from '@wordpress/i18n'
|
4 |
+
import ExtendifyLibrary from '@extendify/ExtendifyLibrary'
|
5 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
+
import { getPluginDescription } from '@extendify/util/general'
|
8 |
import NeedsPermissionModal from '../NeedsPermissionModal'
|
9 |
+
import ActivatingModal from './ActivatingModal'
|
10 |
|
11 |
export default function ActivatePluginsModal(props) {
|
12 |
const wantedTemplate = useWantedTemplateStore(
|
src/middleware/hasPluginsActivated/ActivatingModal.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
import { Modal, Button } from '@wordpress/components'
|
3 |
import { useState, render } from '@wordpress/element'
|
4 |
-
import {
|
5 |
-
import {
|
6 |
-
import
|
7 |
import ReloadRequiredModal from '../ReloadRequiredModal'
|
|
|
8 |
|
9 |
export default function ActivatingModal() {
|
10 |
const [errorMessage, setErrorMessage] = useState('')
|
|
|
1 |
import { Modal, Button } from '@wordpress/components'
|
2 |
import { useState, render } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
+
import { Plugins } from '@extendify/api/Plugins'
|
5 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
6 |
import ReloadRequiredModal from '../ReloadRequiredModal'
|
7 |
+
import ErrorActivating from './ErrorActivating'
|
8 |
|
9 |
export default function ActivatingModal() {
|
10 |
const [errorMessage, setErrorMessage] = useState('')
|
src/middleware/hasPluginsActivated/ErrorActivating.js
CHANGED
@@ -1,6 +1,6 @@
|
|
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 }) {
|
|
|
1 |
import { Modal, Button, Notice } from '@wordpress/components'
|
2 |
import { render } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
import ActivatePluginsModal from './ActivatePluginsModal'
|
5 |
|
6 |
export default function ErrorActivating({ msg }) {
|
src/middleware/hasPluginsActivated/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
|
|
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 {
|
1 |
+
import { render } from '@wordpress/element'
|
2 |
import { checkIfUserNeedsToActivatePlugins } from '../helpers'
|
3 |
import ActivatePluginsModal from './ActivatePluginsModal'
|
|
|
4 |
|
5 |
export const hasPluginsActivated = async (template) => {
|
6 |
return {
|
src/middleware/hasRequiredPlugins/ErrorInstalling.js
CHANGED
@@ -1,6 +1,6 @@
|
|
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 }) {
|
|
|
1 |
import { Modal, Button, Notice } from '@wordpress/components'
|
2 |
import { render } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
import RequiredPluginsModal from './RequiredPluginsModal'
|
5 |
|
6 |
export default function ErrorInstalling({ msg }) {
|
src/middleware/hasRequiredPlugins/InstallingModal.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
import { __ } from '@wordpress/i18n'
|
2 |
import { Modal, Button } from '@wordpress/components'
|
3 |
import { useState, render } from '@wordpress/element'
|
4 |
-
import {
|
5 |
-
import {
|
6 |
-
import
|
7 |
import ReloadRequiredModal from '../ReloadRequiredModal'
|
|
|
8 |
|
9 |
export default function InstallingModal({ requiredPlugins }) {
|
10 |
const [errorMessage, setErrorMessage] = useState('')
|
|
|
1 |
import { Modal, Button } from '@wordpress/components'
|
2 |
import { useState, render } from '@wordpress/element'
|
3 |
+
import { __ } from '@wordpress/i18n'
|
4 |
+
import { Plugins } from '@extendify/api/Plugins'
|
5 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
6 |
import ReloadRequiredModal from '../ReloadRequiredModal'
|
7 |
+
import ErrorInstalling from './ErrorInstalling'
|
8 |
|
9 |
export default function InstallingModal({ requiredPlugins }) {
|
10 |
const [errorMessage, setErrorMessage] = useState('')
|
src/middleware/hasRequiredPlugins/RequiredPluginsModal.js
CHANGED
@@ -1,12 +1,12 @@
|
|
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
|
6 |
-
import
|
7 |
-
import {
|
8 |
-
import { useUserStore } from '
|
|
|
9 |
import NeedsPermissionModal from '../NeedsPermissionModal'
|
|
|
10 |
|
11 |
export default function RequiredPluginsModal({
|
12 |
forceOpen,
|
|
|
|
|
1 |
import { Modal, Button, ButtonGroup } from '@wordpress/components'
|
2 |
import { render } from '@wordpress/element'
|
3 |
+
import { __, sprintf } from '@wordpress/i18n'
|
4 |
+
import ExtendifyLibrary from '@extendify/ExtendifyLibrary'
|
5 |
+
import { useWantedTemplateStore } from '@extendify/state/Importing'
|
6 |
+
import { useUserStore } from '@extendify/state/User'
|
7 |
+
import { getPluginDescription } from '@extendify/util/general'
|
8 |
import NeedsPermissionModal from '../NeedsPermissionModal'
|
9 |
+
import InstallingModal from './InstallingModal'
|
10 |
|
11 |
export default function RequiredPluginsModal({
|
12 |
forceOpen,
|
src/middleware/hasRequiredPlugins/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
|
|
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 {
|
1 |
+
import { render } from '@wordpress/element'
|
2 |
import { checkIfUserNeedsToInstallPlugins } from '../helpers'
|
3 |
import RequiredPluginsModal from './RequiredPluginsModal'
|
|
|
4 |
|
5 |
export const hasRequiredPlugins = async (template) => {
|
6 |
return {
|
src/middleware/helpers.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import { Plugins } from '
|
2 |
|
3 |
let installedPlugins = []
|
4 |
let activatedPlugins = []
|
@@ -7,15 +7,15 @@ 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
|
11 |
return false
|
12 |
}
|
13 |
|
14 |
-
if (!installedPlugins
|
15 |
installedPlugins = Object.keys(await Plugins.getInstalled())
|
16 |
}
|
17 |
// if no dependencies are required, then this will be false automatically
|
18 |
-
const weNeedInstalls = required
|
19 |
? required.filter((plugin) => {
|
20 |
// TODO: if we have better data to work with this can be more literal
|
21 |
return !installedPlugins.some((k) => {
|
@@ -32,16 +32,16 @@ export async function checkIfUserNeedsToActivatePlugins(template) {
|
|
32 |
|
33 |
// Hardcoded temporarily to not force EP install
|
34 |
required = required.filter((p) => p !== 'editorplus')
|
35 |
-
if (!required
|
36 |
return false
|
37 |
}
|
38 |
|
39 |
-
if (!activatedPlugins
|
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
|
45 |
? required.filter((plugin) => {
|
46 |
// TODO: if we have better data to work with this can be more literal
|
47 |
return !activatedPlugins.some((k) => {
|
@@ -57,5 +57,5 @@ export async function checkIfUserNeedsToActivatePlugins(template) {
|
|
57 |
return false
|
58 |
}
|
59 |
}
|
60 |
-
return weNeedActivations
|
61 |
}
|
1 |
+
import { Plugins } from '@extendify/api/Plugins'
|
2 |
|
3 |
let installedPlugins = []
|
4 |
let activatedPlugins = []
|
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) => {
|
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) => {
|
57 |
return false
|
58 |
}
|
59 |
}
|
60 |
+
return weNeedActivations?.length
|
61 |
}
|
src/middleware/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
-
import { hasRequiredPlugins } from './hasRequiredPlugins'
|
2 |
import { hasPluginsActivated } from './hasPluginsActivated'
|
|
|
3 |
|
4 |
export const Middleware = (middleware = []) => {
|
5 |
return {
|
|
|
1 |
import { hasPluginsActivated } from './hasPluginsActivated'
|
2 |
+
import { hasRequiredPlugins } from './hasRequiredPlugins'
|
3 |
|
4 |
export const Middleware = (middleware = []) => {
|
5 |
return {
|
src/pages/GridView.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import
|
2 |
import {
|
3 |
useEffect,
|
4 |
useState,
|
@@ -6,14 +6,15 @@ import {
|
|
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
|
15 |
-
import {
|
16 |
-
import {
|
|
|
|
|
|
|
|
|
17 |
|
18 |
export const GridView = memo(function GridView() {
|
19 |
const isMounted = useIsMounted()
|
@@ -26,6 +27,12 @@ export const GridView = memo(function GridView() {
|
|
26 |
const searchParamsRaw = useTemplatesStore((state) => state.searchParams)
|
27 |
const currentType = useGlobalStore((state) => state.currentType)
|
28 |
const resetTemplates = useTemplatesStore((state) => state.resetTemplates)
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
// Store the next page in case we have pagination
|
31 |
const nextPage = useRef(useTemplatesStore.getState().nextPage)
|
@@ -37,14 +44,14 @@ export const GridView = memo(function GridView() {
|
|
37 |
// Subscribing to the store will keep these values updates synchronously
|
38 |
useEffect(() => {
|
39 |
return useTemplatesStore.subscribe(
|
40 |
-
(n) => (nextPage.current = n),
|
41 |
(state) => state.nextPage,
|
|
|
42 |
)
|
43 |
}, [])
|
44 |
useEffect(() => {
|
45 |
return useTemplatesStore.subscribe(
|
46 |
-
(s) => (searchParams.current = s),
|
47 |
(state) => state.searchParams,
|
|
|
48 |
)
|
49 |
}, [])
|
50 |
|
@@ -70,7 +77,7 @@ export const GridView = memo(function GridView() {
|
|
70 |
}
|
71 |
if (
|
72 |
searchParamsRaw === searchParams.current &&
|
73 |
-
response?.records
|
74 |
) {
|
75 |
useTemplatesStore.setState({
|
76 |
nextPage: response?.offset ?? '',
|
@@ -87,17 +94,38 @@ export const GridView = memo(function GridView() {
|
|
87 |
}, [appendTemplates, isMounted, searchParamsRaw])
|
88 |
|
89 |
useEffect(() => {
|
90 |
-
if (templates
|
91 |
setLoading(true)
|
92 |
return
|
93 |
}
|
94 |
-
}, [templates
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
// This is the main driver for loading templates
|
97 |
// This loads the initial batch of templates. But if we don't yet have taxonomies.
|
98 |
// There's also an option to skip loading on first mount
|
99 |
useEffect(() => {
|
100 |
-
if (!Object.keys(searchParams.current
|
101 |
return
|
102 |
}
|
103 |
|
@@ -111,7 +139,8 @@ export const GridView = memo(function GridView() {
|
|
111 |
return
|
112 |
}
|
113 |
fetchTemplates()
|
114 |
-
|
|
|
115 |
|
116 |
// Fetches when the load more is in view
|
117 |
useEffect(() => {
|
@@ -123,7 +152,7 @@ export const GridView = memo(function GridView() {
|
|
123 |
<div className="text-left">
|
124 |
<h2 className="text-left">{__('Server error', 'extendify')}</h2>
|
125 |
<code
|
126 |
-
className="block max-w-xl p-4
|
127 |
style={{ minHeight: '10rem' }}>
|
128 |
{serverError}
|
129 |
</code>
|
@@ -138,8 +167,8 @@ export const GridView = memo(function GridView() {
|
|
138 |
|
139 |
if (nothingFound) {
|
140 |
return (
|
141 |
-
<div className="flex h-full items-center justify-center
|
142 |
-
<h2 className="text-sm text-extendify-gray
|
143 |
{sprintf(
|
144 |
searchParams.current.type === 'template'
|
145 |
? __(
|
@@ -160,7 +189,7 @@ export const GridView = memo(function GridView() {
|
|
160 |
return (
|
161 |
<>
|
162 |
{loading && (
|
163 |
-
<div className="flex h-full items-center justify-center
|
164 |
<Spinner />
|
165 |
</div>
|
166 |
)}
|
@@ -186,7 +215,7 @@ export const GridView = memo(function GridView() {
|
|
186 |
</div>
|
187 |
{/* This is a large div that, when in view, will trigger more patterns to load */}
|
188 |
<div
|
189 |
-
className="-translate-y-full
|
190 |
ref={loadMoreRef}
|
191 |
style={{
|
192 |
zIndex: -1,
|
@@ -207,7 +236,7 @@ const Grid = ({ type, children }) => {
|
|
207 |
case 'template':
|
208 |
return (
|
209 |
<div
|
210 |
-
className={`grid
|
211 |
{children}
|
212 |
</div>
|
213 |
)
|
@@ -222,7 +251,7 @@ const Grid = ({ type, children }) => {
|
|
222 |
return (
|
223 |
<Masonry
|
224 |
breakpointCols={breakpointColumnsObj}
|
225 |
-
className={
|
226 |
columnClassName="pl-6 md:pl-8 bg-clip-padding space-y-6 md:space-y-8">
|
227 |
{children}
|
228 |
</Masonry>
|
1 |
+
import { Spinner, Button } from '@wordpress/components'
|
2 |
import {
|
3 |
useEffect,
|
4 |
useState,
|
6 |
useRef,
|
7 |
memo,
|
8 |
} from '@wordpress/element'
|
|
|
9 |
import { __, sprintf } from '@wordpress/i18n'
|
|
|
|
|
10 |
import { useInView } from 'react-intersection-observer'
|
11 |
+
import Masonry from 'react-masonry-css'
|
12 |
+
import { Templates as TemplatesApi } from '@extendify/api/Templates'
|
13 |
+
import { ImportTemplateBlock } from '@extendify/components/ImportTemplateBlock'
|
14 |
+
import { useIsMounted } from '@extendify/hooks/helpers'
|
15 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
16 |
+
import { useTaxonomyStore } from '@extendify/state/Taxonomies'
|
17 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
18 |
|
19 |
export const GridView = memo(function GridView() {
|
20 |
const isMounted = useIsMounted()
|
27 |
const searchParamsRaw = useTemplatesStore((state) => state.searchParams)
|
28 |
const currentType = useGlobalStore((state) => state.currentType)
|
29 |
const resetTemplates = useTemplatesStore((state) => state.resetTemplates)
|
30 |
+
const open = useGlobalStore((state) => state.open)
|
31 |
+
const taxonomies = useTaxonomyStore((state) => state.taxonomies)
|
32 |
+
const updateType = useTemplatesStore((state) => state.updateType)
|
33 |
+
const updateTaxonomies = useTemplatesStore(
|
34 |
+
(state) => state.updateTaxonomies,
|
35 |
+
)
|
36 |
|
37 |
// Store the next page in case we have pagination
|
38 |
const nextPage = useRef(useTemplatesStore.getState().nextPage)
|
44 |
// Subscribing to the store will keep these values updates synchronously
|
45 |
useEffect(() => {
|
46 |
return useTemplatesStore.subscribe(
|
|
|
47 |
(state) => state.nextPage,
|
48 |
+
(n) => (nextPage.current = n),
|
49 |
)
|
50 |
}, [])
|
51 |
useEffect(() => {
|
52 |
return useTemplatesStore.subscribe(
|
|
|
53 |
(state) => state.searchParams,
|
54 |
+
(s) => (searchParams.current = s),
|
55 |
)
|
56 |
}, [])
|
57 |
|
77 |
}
|
78 |
if (
|
79 |
searchParamsRaw === searchParams.current &&
|
80 |
+
response?.records?.length
|
81 |
) {
|
82 |
useTemplatesStore.setState({
|
83 |
nextPage: response?.offset ?? '',
|
94 |
}, [appendTemplates, isMounted, searchParamsRaw])
|
95 |
|
96 |
useEffect(() => {
|
97 |
+
if (templates?.length === 0) {
|
98 |
setLoading(true)
|
99 |
return
|
100 |
}
|
101 |
+
}, [templates?.length, searchParamsRaw])
|
102 |
+
|
103 |
+
useEffect(() => {
|
104 |
+
// This will check the URL for a pattern type and set that and remove it
|
105 |
+
// TODO: possibly refactor this if we exapnd it to support layouts
|
106 |
+
if (!open || !taxonomies?.patternType?.length) return
|
107 |
+
const search = new URLSearchParams(window.location.search)
|
108 |
+
if (!search.has('ext-patternType')) return
|
109 |
+
const term = search.get('ext-patternType')
|
110 |
+
// Delete it right away
|
111 |
+
search.delete('ext-patternType')
|
112 |
+
window.history.replaceState(
|
113 |
+
null,
|
114 |
+
null,
|
115 |
+
window.location.pathname + '?' + search.toString(),
|
116 |
+
)
|
117 |
+
// Search the slug in patternTypes
|
118 |
+
const tax = taxonomies.patternType.find((t) => t.slug === term)
|
119 |
+
if (!tax) return
|
120 |
+
updateTaxonomies({ patternType: tax })
|
121 |
+
updateType('pattern')
|
122 |
+
}, [open, taxonomies, updateType, updateTaxonomies])
|
123 |
|
124 |
// This is the main driver for loading templates
|
125 |
// This loads the initial batch of templates. But if we don't yet have taxonomies.
|
126 |
// There's also an option to skip loading on first mount
|
127 |
useEffect(() => {
|
128 |
+
if (!Object.keys(searchParams.current?.taxonomies)?.length) {
|
129 |
return
|
130 |
}
|
131 |
|
139 |
return
|
140 |
}
|
141 |
fetchTemplates()
|
142 |
+
return () => resetTemplates()
|
143 |
+
}, [fetchTemplates, searchParams, resetTemplates])
|
144 |
|
145 |
// Fetches when the load more is in view
|
146 |
useEffect(() => {
|
152 |
<div className="text-left">
|
153 |
<h2 className="text-left">{__('Server error', 'extendify')}</h2>
|
154 |
<code
|
155 |
+
className="mb-4 block max-w-xl p-4"
|
156 |
style={{ minHeight: '10rem' }}>
|
157 |
{serverError}
|
158 |
</code>
|
167 |
|
168 |
if (nothingFound) {
|
169 |
return (
|
170 |
+
<div className="-mt-2 flex h-full w-full items-center justify-center sm:mt-0">
|
171 |
+
<h2 className="text-sm font-normal text-extendify-gray">
|
172 |
{sprintf(
|
173 |
searchParams.current.type === 'template'
|
174 |
? __(
|
189 |
return (
|
190 |
<>
|
191 |
{loading && (
|
192 |
+
<div className="-mt-2 flex h-full w-full items-center justify-center sm:mt-0">
|
193 |
<Spinner />
|
194 |
</div>
|
195 |
)}
|
215 |
</div>
|
216 |
{/* This is a large div that, when in view, will trigger more patterns to load */}
|
217 |
<div
|
218 |
+
className="relative flex -translate-y-full transform flex-col items-end justify-end"
|
219 |
ref={loadMoreRef}
|
220 |
style={{
|
221 |
zIndex: -1,
|
236 |
case 'template':
|
237 |
return (
|
238 |
<div
|
239 |
+
className={`grid gap-6 md:gap-8 lg:grid-cols-2 ${sharedClasses}`}>
|
240 |
{children}
|
241 |
</div>
|
242 |
)
|
251 |
return (
|
252 |
<Masonry
|
253 |
breakpointCols={breakpointColumnsObj}
|
254 |
+
className={`-ml-6 flex w-auto px-0.5 md:-ml-8 ${sharedClasses}`}
|
255 |
columnClassName="pl-6 md:pl-8 bg-clip-padding space-y-6 md:space-y-8">
|
256 |
{children}
|
257 |
</Masonry>
|
src/pages/MainWindow.js
CHANGED
@@ -1,15 +1,18 @@
|
|
1 |
import { Fragment, useRef } from '@wordpress/element'
|
2 |
import { Dialog, Transition } from '@headlessui/react'
|
3 |
-
import
|
|
|
|
|
|
|
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}>
|
@@ -19,8 +22,8 @@ export default function MainWindow() {
|
|
19 |
className="extendify"
|
20 |
initialFocus={containerRef}
|
21 |
onClose={() => setOpen(false)}>
|
22 |
-
<div className="h-screen w-screen sm:h-auto
|
23 |
-
<div className="flex items-end justify-center
|
24 |
<Transition.Child
|
25 |
as={Fragment}
|
26 |
enter="ease-out duration-300"
|
@@ -40,10 +43,19 @@ export default function MainWindow() {
|
|
40 |
e.target === e.currentTarget &&
|
41 |
setOpen(false)
|
42 |
}
|
43 |
-
className="fixed
|
|
|
|
|
|
|
44 |
<Layout />
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
</div>
|
48 |
</Transition.Child>
|
49 |
</div>
|
1 |
import { Fragment, useRef } from '@wordpress/element'
|
2 |
import { Dialog, Transition } from '@headlessui/react'
|
3 |
+
import FooterNotice from '@extendify/components/notices/FooterNotice'
|
4 |
+
import { useModal } from '@extendify/hooks/useModal'
|
5 |
+
import { useTestGroup } from '@extendify/hooks/useTestGroup'
|
6 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
7 |
import { Layout } from './layout/Layout'
|
|
|
|
|
8 |
|
9 |
export default function MainWindow() {
|
10 |
const containerRef = useRef(null)
|
11 |
const open = useGlobalStore((state) => state.open)
|
12 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
13 |
const modal = useModal(open)
|
14 |
+
const ready = useGlobalStore((state) => state.ready)
|
15 |
+
const footerNoticePosition = useTestGroup('notice-position', ['A', 'B'])
|
16 |
|
17 |
return (
|
18 |
<Transition appear show={open} as={Fragment}>
|
22 |
className="extendify"
|
23 |
initialFocus={containerRef}
|
24 |
onClose={() => setOpen(false)}>
|
25 |
+
<div className="fixed inset-0 z-high m-auto h-screen w-screen overflow-y-auto sm:h-auto sm:w-auto">
|
26 |
+
<div className="flex min-h-screen items-end justify-center px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
27 |
<Transition.Child
|
28 |
as={Fragment}
|
29 |
enter="ease-out duration-300"
|
43 |
e.target === e.currentTarget &&
|
44 |
setOpen(false)
|
45 |
}
|
46 |
+
className="fixed inset-0 transform p-2 transition-all lg:absolute lg:overflow-hidden lg:p-16">
|
47 |
+
{footerNoticePosition === 'B' && (
|
48 |
+
<FooterNotice className="-mt-6" />
|
49 |
+
)}
|
50 |
<Layout />
|
51 |
+
{ready ? (
|
52 |
+
<>
|
53 |
+
{footerNoticePosition === 'A' && (
|
54 |
+
<FooterNotice />
|
55 |
+
)}
|
56 |
+
{modal}
|
57 |
+
</>
|
58 |
+
) : null}
|
59 |
</div>
|
60 |
</Transition.Child>
|
61 |
</div>
|
src/pages/Sidebar.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
-
import { memo } from '@wordpress/element'
|
2 |
-
import { useTemplatesStore } from '../state/Templates'
|
3 |
import { Panel } from '@wordpress/components'
|
4 |
-
import
|
5 |
-
import { useTaxonomyStore } from '../state/Taxonomies'
|
6 |
-
import { SiteTypeSelector } from '../components/SiteTypeSelector'
|
7 |
-
import { useUserStore } from '../state/User'
|
8 |
-
import { ImportCounter } from '../components/ImportCounter'
|
9 |
-
import { brandMark } from '../components/icons/'
|
10 |
-
import { Icon } from '@wordpress/icons'
|
11 |
-
import { featured } from '../components/icons'
|
12 |
import { __ } from '@wordpress/i18n'
|
|
|
13 |
import classNames from 'classnames'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
export const Sidebar = memo(function Sidebar() {
|
16 |
const taxonomies = useTaxonomyStore((state) => state.taxonomies)
|
@@ -28,7 +28,7 @@ export const Sidebar = memo(function Sidebar() {
|
|
28 |
|
29 |
return (
|
30 |
<>
|
31 |
-
<div className="
|
32 |
<Icon icon={brandMark} size={40} />
|
33 |
</div>
|
34 |
<div className="px-5">
|
@@ -39,7 +39,7 @@ export const Sidebar = memo(function Sidebar() {
|
|
39 |
})
|
40 |
}
|
41 |
className={classNames(
|
42 |
-
'
|
43 |
{ 'text-wp-theme-500': isFeatured },
|
44 |
)}>
|
45 |
<Icon icon={featured} size={24} />
|
@@ -48,7 +48,7 @@ export const Sidebar = memo(function Sidebar() {
|
|
48 |
</span>
|
49 |
</button>
|
50 |
</div>
|
51 |
-
<div className="
|
52 |
{Object.keys(taxonomies?.siteType ?? {}).length > 0 && (
|
53 |
<SiteTypeSelector
|
54 |
value={searchParams?.taxonomies?.siteType ?? ''}
|
@@ -60,7 +60,7 @@ export const Sidebar = memo(function Sidebar() {
|
|
60 |
/>
|
61 |
)}
|
62 |
</div>
|
63 |
-
<div className="mt-px flex-grow
|
64 |
<Panel className="bg-transparent">
|
65 |
<TaxonomySection
|
66 |
taxType={taxonomyType}
|
|
|
|
|
1 |
import { Panel } from '@wordpress/components'
|
2 |
+
import { memo } from '@wordpress/element'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
+
import { Icon } from '@wordpress/icons'
|
5 |
import classNames from 'classnames'
|
6 |
+
import { ImportCounter } from '@extendify/components/ImportCounter'
|
7 |
+
import { SiteTypeSelector } from '@extendify/components/SiteTypeSelector'
|
8 |
+
import TaxonomySection from '@extendify/components/TaxonomySection'
|
9 |
+
import { featured } from '@extendify/components/icons'
|
10 |
+
import { brandMark } from '@extendify/components/icons/'
|
11 |
+
import { useTaxonomyStore } from '@extendify/state/Taxonomies'
|
12 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
13 |
+
import { useUserStore } from '@extendify/state/User'
|
14 |
|
15 |
export const Sidebar = memo(function Sidebar() {
|
16 |
const taxonomies = useTaxonomyStore((state) => state.taxonomies)
|
28 |
|
29 |
return (
|
30 |
<>
|
31 |
+
<div className="-ml-1.5 hidden px-5 text-extendify-black sm:flex">
|
32 |
<Icon icon={brandMark} size={40} />
|
33 |
</div>
|
34 |
<div className="px-5">
|
39 |
})
|
40 |
}
|
41 |
className={classNames(
|
42 |
+
'button-focus m-0 flex w-full cursor-pointer items-center space-x-1 bg-transparent px-0 py-2 text-left text-sm leading-none transition duration-200 hover:text-wp-theme-500',
|
43 |
{ 'text-wp-theme-500': isFeatured },
|
44 |
)}>
|
45 |
<Icon icon={featured} size={24} />
|
48 |
</span>
|
49 |
</button>
|
50 |
</div>
|
51 |
+
<div className="mx-6 px-5 pt-0.5 sm:mx-0 sm:mb-8 sm:mt-0">
|
52 |
{Object.keys(taxonomies?.siteType ?? {}).length > 0 && (
|
53 |
<SiteTypeSelector
|
54 |
value={searchParams?.taxonomies?.siteType ?? ''}
|
60 |
/>
|
61 |
)}
|
62 |
</div>
|
63 |
+
<div className="mt-px hidden flex-grow overflow-y-auto pb-32 pt-px sm:block">
|
64 |
<Panel className="bg-transparent">
|
65 |
<TaxonomySection
|
66 |
taxType={taxonomyType}
|
src/pages/layout/HasSidebar.js
CHANGED
@@ -1,15 +1,18 @@
|
|
|
|
|
|
1 |
export default function HasSidebar({ children }) {
|
|
|
2 |
return (
|
3 |
<>
|
4 |
-
<aside className="flex-shrink-0
|
5 |
-
<div className="flex
|
6 |
-
{children[0]}
|
7 |
</div>
|
8 |
</aside>
|
9 |
<main
|
10 |
id="extendify-templates"
|
11 |
-
className="bg-gray-50
|
12 |
-
{children[1]}
|
13 |
</main>
|
14 |
</>
|
15 |
)
|
1 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
2 |
+
|
3 |
export default function HasSidebar({ children }) {
|
4 |
+
const ready = useGlobalStore((state) => state.ready)
|
5 |
return (
|
6 |
<>
|
7 |
+
<aside className="relative flex-shrink-0 border-r border-extendify-transparent-black-100 bg-extendify-transparent-white py-0 backdrop-blur-xl backdrop-saturate-200 backdrop-filter sm:py-5">
|
8 |
+
<div className="flex h-full flex-col py-6 sm:w-64 sm:space-y-6 sm:py-0">
|
9 |
+
{ready ? children[0] : null}
|
10 |
</div>
|
11 |
</aside>
|
12 |
<main
|
13 |
id="extendify-templates"
|
14 |
+
className="h-full w-full overflow-hidden bg-gray-50 pt-6 sm:pt-0">
|
15 |
+
{ready ? children[1] : null}
|
16 |
</main>
|
17 |
</>
|
18 |
)
|
src/pages/layout/Layout.js
CHANGED
@@ -1,19 +1,19 @@
|
|
|
|
|
|
1 |
import { __ } from '@wordpress/i18n'
|
2 |
-
import {
|
|
|
|
|
|
|
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(
|
17 |
const removeIdleScreen = useCallback(() => {
|
18 |
setShowIdleScreen(false)
|
19 |
resetTemplates()
|
@@ -26,10 +26,12 @@ export const Layout = ({ setOpen }) => {
|
|
26 |
setShowIdleScreen(false)
|
27 |
}, [searchParams])
|
28 |
useEffect(() => {
|
|
|
29 |
gridContainer.current.scrollTop = 0
|
30 |
}, [searchParams])
|
|
|
31 |
return (
|
32 |
-
<div className="
|
33 |
<div className="w-full flex-grow overflow-hidden">
|
34 |
<button
|
35 |
onClick={() =>
|
@@ -41,17 +43,17 @@ export const Layout = ({ setOpen }) => {
|
|
41 |
className="extendify-skip-to-sr-link sr-only focus:not-sr-only focus:text-blue-500">
|
42 |
{__('Skip to templates', 'extendify')}
|
43 |
</button>
|
44 |
-
<div className="
|
45 |
<HasSidebar>
|
46 |
<Sidebar />
|
47 |
-
<div className="relative
|
48 |
<Toolbar
|
49 |
-
className="hidden
|
50 |
hideLibrary={() => setOpen(false)}
|
51 |
/>
|
52 |
<div
|
53 |
ref={gridContainer}
|
54 |
-
className="flex-grow
|
55 |
{showIdleScreen ? (
|
56 |
<IdleScreen callback={removeIdleScreen} />
|
57 |
) : (
|
@@ -67,12 +69,12 @@ export const Layout = ({ setOpen }) => {
|
|
67 |
}
|
68 |
|
69 |
const IdleScreen = ({ callback }) => (
|
70 |
-
<div className="flex flex-col items-center justify-center
|
71 |
-
<p className="
|
72 |
{__("We've added new stuff while you were away.", 'extendify')}
|
73 |
</p>
|
74 |
<Button
|
75 |
-
className="components-button
|
76 |
onClick={callback}>
|
77 |
{__('Reload')}
|
78 |
</Button>
|
1 |
+
import { Button } from '@wordpress/components'
|
2 |
+
import { useRef, useEffect, useState, useCallback } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
+
import { useWhenIdle } from '@extendify/hooks/helpers'
|
5 |
+
import { GridView } from '@extendify/pages/GridView'
|
6 |
+
import { Sidebar } from '@extendify/pages/Sidebar'
|
7 |
+
import { useTemplatesStore } from '@extendify/state/Templates'
|
8 |
import HasSidebar from './HasSidebar'
|
9 |
import { Toolbar } from './Toolbar'
|
|
|
|
|
|
|
|
|
|
|
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(300_000) // 5 minutes
|
17 |
const removeIdleScreen = useCallback(() => {
|
18 |
setShowIdleScreen(false)
|
19 |
resetTemplates()
|
26 |
setShowIdleScreen(false)
|
27 |
}, [searchParams])
|
28 |
useEffect(() => {
|
29 |
+
if (!gridContainer.current) return
|
30 |
gridContainer.current.scrollTop = 0
|
31 |
}, [searchParams])
|
32 |
+
|
33 |
return (
|
34 |
+
<div className="relative mx-auto flex h-full max-w-screen-4xl flex-col items-center">
|
35 |
<div className="w-full flex-grow overflow-hidden">
|
36 |
<button
|
37 |
onClick={() =>
|
43 |
className="extendify-skip-to-sr-link sr-only focus:not-sr-only focus:text-blue-500">
|
44 |
{__('Skip to templates', 'extendify')}
|
45 |
</button>
|
46 |
+
<div className="relative mx-auto h-full sm:flex">
|
47 |
<HasSidebar>
|
48 |
<Sidebar />
|
49 |
+
<div className="relative z-30 flex h-full flex-col">
|
50 |
<Toolbar
|
51 |
+
className="hidden h-20 w-full flex-shrink-0 px-6 sm:block md:px-8"
|
52 |
hideLibrary={() => setOpen(false)}
|
53 |
/>
|
54 |
<div
|
55 |
ref={gridContainer}
|
56 |
+
className="z-20 flex-grow overflow-y-auto px-6 md:px-8">
|
57 |
{showIdleScreen ? (
|
58 |
<IdleScreen callback={removeIdleScreen} />
|
59 |
) : (
|
69 |
}
|
70 |
|
71 |
const IdleScreen = ({ callback }) => (
|
72 |
+
<div className="flex h-full flex-col items-center justify-center">
|
73 |
+
<p className="mb-6 text-sm font-normal text-extendify-gray">
|
74 |
{__("We've added new stuff while you were away.", 'extendify')}
|
75 |
</p>
|
76 |
<Button
|
77 |
+
className="components-button border-color-wp-theme-500 bg-wp-theme-500 text-white hover:bg-wp-theme-600"
|
78 |
onClick={callback}>
|
79 |
{__('Reload')}
|
80 |
</Button>
|
src/pages/layout/Toolbar.js
CHANGED
@@ -1,12 +1,12 @@
|
|
|
|
|
|
1 |
import { __ } from '@wordpress/i18n'
|
2 |
import { Icon, close } from '@wordpress/icons'
|
3 |
-
import {
|
4 |
-
import {
|
5 |
-
import {
|
6 |
-
import { useGlobalStore } from '
|
7 |
-
import {
|
8 |
-
import SettingsModal from '../../components/modals/SettingsModal'
|
9 |
-
import { useUserStore } from '../../state/User'
|
10 |
|
11 |
export const Toolbar = memo(function Toolbar({ className }) {
|
12 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
@@ -15,10 +15,10 @@ export const Toolbar = memo(function Toolbar({ className }) {
|
|
15 |
|
16 |
return (
|
17 |
<div className={className}>
|
18 |
-
<div className="flex
|
19 |
<div className="flex-1"></div>
|
20 |
-
<TypeSelect className="flex-1
|
21 |
-
<div className="flex-1
|
22 |
<Button
|
23 |
onClick={() => pushModal(<SettingsModal />)}
|
24 |
icon={<Icon icon={user} size={24} />}
|
1 |
+
import { Button } from '@wordpress/components'
|
2 |
+
import { memo } from '@wordpress/element'
|
3 |
import { __ } from '@wordpress/i18n'
|
4 |
import { Icon, close } from '@wordpress/icons'
|
5 |
+
import { TypeSelect } from '@extendify/components/TypeSelect'
|
6 |
+
import { user } from '@extendify/components/icons/'
|
7 |
+
import { SettingsModal } from '@extendify/components/modals/settings/SettingsModal'
|
8 |
+
import { useGlobalStore } from '@extendify/state/GlobalState'
|
9 |
+
import { useUserStore } from '@extendify/state/User'
|
|
|
|
|
10 |
|
11 |
export const Toolbar = memo(function Toolbar({ className }) {
|
12 |
const setOpen = useGlobalStore((state) => state.setOpen)
|
15 |
|
16 |
return (
|
17 |
<div className={className}>
|
18 |
+
<div className="flex h-full items-center justify-between">
|
19 |
<div className="flex-1"></div>
|
20 |
+
<TypeSelect className="flex flex-1 items-center justify-center" />
|
21 |
+
<div className="flex flex-1 items-center justify-end">
|
22 |
<Button
|
23 |
onClick={() => pushModal(<SettingsModal />)}
|
24 |
icon={<Icon icon={user} size={24} />}
|
src/state/GlobalState.js
CHANGED
@@ -1,35 +1,38 @@
|
|
1 |
import create from 'zustand'
|
2 |
-
import { persist } from 'zustand/middleware'
|
3 |
|
4 |
export const useGlobalStore = create(
|
5 |
-
|
6 |
-
(
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
set({
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
set({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
},
|
26 |
-
|
27 |
-
{
|
28 |
-
name: 'extendify-global-state',
|
29 |
-
partialize: (state) => {
|
30 |
-
delete state.modals
|
31 |
-
return state
|
32 |
-
},
|
33 |
-
},
|
34 |
),
|
35 |
)
|
1 |
import create from 'zustand'
|
2 |
+
import { persist, subscribeWithSelector } from 'zustand/middleware'
|
3 |
|
4 |
export const useGlobalStore = create(
|
5 |
+
subscribeWithSelector(
|
6 |
+
persist(
|
7 |
+
(set, get) => ({
|
8 |
+
open: false,
|
9 |
+
ready: false,
|
10 |
+
metaData: {},
|
11 |
+
// These two are here just to persist their previous values,
|
12 |
+
// but could be refactored to be the source instead.
|
13 |
+
// It would require a refactor to state/Templates.js
|
14 |
+
currentTaxonomies: {},
|
15 |
+
currentType: 'pattern',
|
16 |
+
modals: [],
|
17 |
+
pushModal: (modal) => set({ modals: [modal, ...get().modals] }),
|
18 |
+
popModal: () => set({ modals: get().modals.slice(1) }),
|
19 |
+
removeAllModals: () => set({ modals: [] }),
|
20 |
+
updateCurrentTaxonomies: (data) =>
|
21 |
+
set({
|
22 |
+
currentTaxonomies: Object.assign({}, data),
|
23 |
+
}),
|
24 |
+
updateCurrentType: (data) => set({ currentType: data }),
|
25 |
+
setOpen: (value) => set({ open: value }),
|
26 |
+
setReady: (value) => set({ ready: value }),
|
27 |
+
}),
|
28 |
+
{
|
29 |
+
name: 'extendify-global-state',
|
30 |
+
partialize: (state) => {
|
31 |
+
delete state.modals
|
32 |
+
delete state.ready
|
33 |
+
return state
|
34 |
+
},
|
35 |
},
|
36 |
+
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
),
|
38 |
)
|
src/state/SiteSettings.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import create from 'zustand'
|
2 |
import { persist } from 'zustand/middleware'
|
3 |
-
import { SiteSettings } from '
|
4 |
|
5 |
const storage = {
|
6 |
getItem: async () => await SiteSettings.getData(),
|
1 |
import create from 'zustand'
|
2 |
import { persist } from 'zustand/middleware'
|
3 |
+
import { SiteSettings } from '@extendify/api/SiteSettings'
|
4 |
|
5 |
const storage = {
|
6 |
getItem: async () => await SiteSettings.getData(),
|
src/state/Taxonomies.js
CHANGED
@@ -1,11 +1,23 @@
|
|
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',
|
1 |
import create from 'zustand'
|
2 |
import { persist } from 'zustand/middleware'
|
3 |
+
import { Taxonomies as TaxonomiesApi } from '@extendify/api/Taxonomies'
|
4 |
|
5 |
export const useTaxonomyStore = create(
|
6 |
persist(
|
7 |
+
(set, get) => ({
|
8 |
taxonomies: {},
|
9 |
setTaxonomies: (taxonomies) => set({ taxonomies }),
|
10 |
+
fetchTaxonomies: async () => {
|
11 |
+
let tax = await TaxonomiesApi.get()
|
12 |
+
tax = Object.keys(tax).reduce((taxFiltered, key) => {
|
13 |
+
taxFiltered[key] = tax[key]
|
14 |
+
return taxFiltered
|
15 |
+
}, {})
|
16 |
+
if (!Object.keys(tax)?.length) {
|
17 |
+
return
|
18 |
+
}
|
19 |
+
get().setTaxonomies(tax)
|
20 |
+
},
|
21 |
}),
|
22 |
{
|
23 |
name: 'extendify-taxonomies',
|
src/state/Templates.js
CHANGED
@@ -1,121 +1,130 @@
|
|
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(
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
(state
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
preferredTax = get().getLegacySiteType(preferredTax, taxonomies)
|
52 |
-
}
|
53 |
-
taxonomyDefaultState = Object.assign(
|
54 |
-
{},
|
55 |
-
taxonomyDefaultState,
|
56 |
|
57 |
-
|
58 |
-
|
|
|
59 |
|
60 |
-
|
61 |
-
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
//
|
83 |
useUserStore
|
84 |
.getState()
|
85 |
-
.updatePreferredOption('
|
86 |
-
|
87 |
-
|
88 |
-
|
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 |
-
}))
|
1 |
import create from 'zustand'
|
2 |
+
import { subscribeWithSelector } from 'zustand/middleware'
|
3 |
import { useGlobalStore } from './GlobalState'
|
|
|
4 |
import { useTaxonomyStore } from './Taxonomies'
|
5 |
+
import { useUserStore } from './User'
|
6 |
|
7 |
const defaultCategoryForType = (tax) =>
|
8 |
tax === 'siteType'
|
9 |
? { slug: '', title: 'Unknown' }
|
10 |
: { slug: '', title: 'Featured' }
|
11 |
|
12 |
+
export const useTemplatesStore = create(
|
13 |
+
subscribeWithSelector((set, get) => ({
|
14 |
+
templates: [],
|
15 |
+
skipNextFetch: false,
|
16 |
+
fetchToken: null,
|
17 |
+
taxonomyDefaultState: {},
|
18 |
+
nextPage: '',
|
19 |
+
searchParams: {
|
20 |
+
taxonomies: {},
|
21 |
+
type: 'pattern',
|
22 |
+
},
|
23 |
+
initTemplateData() {
|
24 |
+
set({ activeTemplate: {} })
|
25 |
+
get().setupDefaultTaxonomies()
|
26 |
+
get().updateType(useGlobalStore.getState().currentType)
|
27 |
+
},
|
28 |
+
appendTemplates: (templates) =>
|
29 |
+
set({
|
30 |
+
templates: [
|
31 |
+
...new Map(
|
32 |
+
[...get().templates, ...templates].map((item) => [
|
33 |
+
item.id,
|
34 |
+
item,
|
35 |
+
]),
|
36 |
+
).values(),
|
37 |
+
],
|
38 |
+
}),
|
39 |
+
setupDefaultTaxonomies: () => {
|
40 |
+
const taxonomies = useTaxonomyStore.getState().taxonomies
|
41 |
+
let taxonomyDefaultState = Object.entries(taxonomies).reduce(
|
42 |
+
(state, current) => (
|
43 |
+
(state[current[0]] = defaultCategoryForType(current[0])),
|
44 |
+
state
|
45 |
+
),
|
46 |
+
{},
|
47 |
+
)
|
48 |
+
const tax = {}
|
49 |
+
let preferredTax =
|
50 |
+
useUserStore.getState().preferredOptions?.taxonomies ?? {}
|
51 |
+
|
52 |
+
// Check for old site type and set it if it exists
|
53 |
+
if (preferredTax.tax_categories) {
|
54 |
+
preferredTax = get().getLegacySiteType(preferredTax, taxonomies)
|
55 |
+
}
|
56 |
+
taxonomyDefaultState = Object.assign(
|
57 |
+
{},
|
58 |
+
taxonomyDefaultState,
|
59 |
|
60 |
+
// Override with the user's preferred taxonomies
|
61 |
+
preferredTax,
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
+
// Override with the global state
|
64 |
+
useGlobalStore.getState()?.currentTaxonomies ?? {},
|
65 |
+
)
|
66 |
|
67 |
+
tax.taxonomies = Object.assign({}, taxonomyDefaultState)
|
68 |
+
set({
|
69 |
+
taxonomyDefaultState: taxonomyDefaultState,
|
70 |
+
searchParams: {
|
71 |
+
...Object.assign(get().searchParams, tax),
|
72 |
+
},
|
73 |
+
})
|
74 |
+
},
|
75 |
+
updateTaxonomies: (params) => {
|
76 |
+
const data = {}
|
77 |
+
data.taxonomies = Object.assign(
|
78 |
+
{},
|
79 |
+
get().searchParams.taxonomies,
|
80 |
+
params,
|
81 |
+
)
|
82 |
+
if (data?.taxonomies?.siteType) {
|
83 |
+
// This is what the user "prefers", which may be used outside the library
|
84 |
+
// which is persisted to the database, where as the global library state is in local storage
|
85 |
+
useUserStore
|
86 |
+
.getState()
|
87 |
+
.updatePreferredOption(
|
88 |
+
'siteType',
|
89 |
+
data?.taxonomies?.siteType,
|
90 |
+
)
|
91 |
+
}
|
92 |
+
useGlobalStore.getState().updateCurrentTaxonomies(data?.taxonomies)
|
93 |
+
get().updateSearchParams(data)
|
94 |
+
},
|
95 |
+
updateType(type) {
|
96 |
+
useGlobalStore.getState().updateCurrentType(type)
|
97 |
+
get().updateSearchParams({ type })
|
98 |
+
},
|
99 |
+
updateSearchParams: (params) => {
|
100 |
+
// If taxonomies are set to {}, lets use the default
|
101 |
+
if (params?.taxonomies && !Object.keys(params.taxonomies).length) {
|
102 |
+
params.taxonomies = get().taxonomyDefaultState
|
103 |
+
}
|
104 |
|
105 |
+
const searchParams = Object.assign({}, get().searchParams, params)
|
106 |
|
107 |
+
// If the params are not the same, then update
|
108 |
+
if (
|
109 |
+
JSON.stringify(searchParams) !==
|
110 |
+
JSON.stringify(get().searchParams)
|
111 |
+
) {
|
112 |
+
set({ templates: [], nextPage: '', searchParams })
|
113 |
+
}
|
114 |
+
},
|
115 |
+
resetTemplates: () => set({ templates: [], nextPage: '' }),
|
116 |
+
getLegacySiteType: (preferredTax, taxonomies) => {
|
117 |
+
const oldSiteType = taxonomies.siteType.find((t) =>
|
118 |
+
[t.slug, t?.title].includes(preferredTax.tax_categories),
|
119 |
+
)
|
120 |
+
// TODO: This is kind of wonky, as we keep track of the state in two places.
|
121 |
+
useUserStore.getState().updatePreferredSiteType(oldSiteType)
|
122 |
+
get().updateTaxonomies({ siteType: oldSiteType })
|
123 |
+
// Remove the legacy term so this only runs once
|
124 |
useUserStore
|
125 |
.getState()
|
126 |
+
.updatePreferredOption('tax_categories', null)
|
127 |
+
return useUserStore.getState().preferredOptions.taxonomies
|
128 |
+
},
|
129 |
+
})),
|
130 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/state/User.js
CHANGED
@@ -1,24 +1,35 @@
|
|
|
|
1 |
import create from 'zustand'
|
2 |
import { persist } from 'zustand/middleware'
|
3 |
-
import { User } from '
|
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 |
noticesDismissedAt: {},
|
24 |
modalNoticesDismissedAt: {},
|
@@ -30,6 +41,7 @@ export const useUserStore = create(
|
|
30 |
enabled: isGlobalLibraryEnabled(),
|
31 |
canInstallPlugins: false,
|
32 |
canActivatePlugins: false,
|
|
|
33 |
preferredOptions: {
|
34 |
taxonomies: {},
|
35 |
type: '',
|
@@ -61,6 +73,36 @@ export const useUserStore = create(
|
|
61 |
Number(get().allowedImports) + Number(get().freebieImports)
|
62 |
)
|
63 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
hasAvailableImports: () => {
|
65 |
return get().apiKey
|
66 |
? true
|
@@ -132,6 +174,13 @@ export const useUserStore = create(
|
|
132 |
{
|
133 |
name: 'extendify-user',
|
134 |
getStorage: () => storage,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
},
|
136 |
),
|
137 |
)
|
1 |
+
import { sample } from 'lodash'
|
2 |
import create from 'zustand'
|
3 |
import { persist } from 'zustand/middleware'
|
4 |
+
import { User } from '@extendify/api/User'
|
5 |
|
6 |
const storage = {
|
7 |
getItem: async () => await User.getData(),
|
8 |
setItem: async (_name, value) => await User.setData(value),
|
9 |
+
removeItem: async () => await User.deleteData(),
|
10 |
}
|
11 |
|
12 |
const isGlobalLibraryEnabled = () =>
|
13 |
window.extendifyData.sitesettings === null ||
|
14 |
window.extendifyData?.sitesettings?.state?.enabled
|
15 |
|
16 |
+
// Keep track of active tests as some might be active
|
17 |
+
// but never rendered.
|
18 |
+
const activeTests = {
|
19 |
+
['notice-position']: '0001',
|
20 |
+
['main-button-text']: '0002',
|
21 |
+
['import-counter-color']: '0003',
|
22 |
+
}
|
23 |
+
|
24 |
export const useUserStore = create(
|
25 |
persist(
|
26 |
(set, get) => ({
|
27 |
+
_hasHydrated: false,
|
28 |
firstLoadedOn: new Date().toISOString(),
|
29 |
email: '',
|
30 |
apiKey: '',
|
31 |
uuid: '',
|
32 |
+
group: 0,
|
33 |
sdkPartner: '',
|
34 |
noticesDismissedAt: {},
|
35 |
modalNoticesDismissedAt: {},
|
41 |
enabled: isGlobalLibraryEnabled(),
|
42 |
canInstallPlugins: false,
|
43 |
canActivatePlugins: false,
|
44 |
+
participatingTestsGroups: {},
|
45 |
preferredOptions: {
|
46 |
taxonomies: {},
|
47 |
type: '',
|
73 |
Number(get().allowedImports) + Number(get().freebieImports)
|
74 |
)
|
75 |
},
|
76 |
+
testGroup(testKey, groupOptions) {
|
77 |
+
if (!get().uuid) return
|
78 |
+
if (!Object.keys(activeTests).includes(testKey)) return
|
79 |
+
const groups = get().participatingTestsGroups
|
80 |
+
// If the test is already in the group, don't add it again
|
81 |
+
if (!groups[testKey]) {
|
82 |
+
set({
|
83 |
+
participatingTestsGroups: Object.assign({}, groups, {
|
84 |
+
[testKey]: sample(groupOptions),
|
85 |
+
}),
|
86 |
+
})
|
87 |
+
}
|
88 |
+
return groups[testKey]
|
89 |
+
},
|
90 |
+
activeTestGroups() {
|
91 |
+
return Object.entries(get().participatingTestsGroups)
|
92 |
+
.filter(([key]) => Object.keys(activeTests).includes(key))
|
93 |
+
.reduce((obj, [key, value]) => {
|
94 |
+
obj[key] = value
|
95 |
+
return obj
|
96 |
+
}, {})
|
97 |
+
},
|
98 |
+
activeTestGroupsUtmValue() {
|
99 |
+
const active = Object.entries(get().activeTestGroups())
|
100 |
+
.map(([key, value]) => {
|
101 |
+
return `${activeTests[key]}=${value}`
|
102 |
+
}, '')
|
103 |
+
.join(':')
|
104 |
+
return encodeURIComponent(active)
|
105 |
+
},
|
106 |
hasAvailableImports: () => {
|
107 |
return get().apiKey
|
108 |
? true
|
174 |
{
|
175 |
name: 'extendify-user',
|
176 |
getStorage: () => storage,
|
177 |
+
onRehydrateStorage: () => () => {
|
178 |
+
useUserStore.setState({ _hasHydrated: true })
|
179 |
+
},
|
180 |
+
partialize: (state) => {
|
181 |
+
delete state._hasHydrated
|
182 |
+
return state
|
183 |
+
},
|
184 |
},
|
185 |
),
|
186 |
)
|
src/util/general.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
import { isString, toLower } from 'lodash'
|
2 |
-
import { useUserStore } from '
|
3 |
|
4 |
/**
|
5 |
* Will check if the given string contains the search string
|
1 |
import { isString, toLower } from 'lodash'
|
2 |
+
import { useUserStore } from '@extendify/state/User'
|
3 |
|
4 |
/**
|
5 |
* Will check if the given string contains the search string
|
src/utility-control/index.js
CHANGED
@@ -1,9 +1,8 @@
|
|
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 {
|
6 |
-
|
7 |
import suggestions from '../../utility-framework/suggestions.json'
|
8 |
|
9 |
function addAttributes(settings) {
|
|
|
1 |
import { InspectorAdvancedControls } from '@wordpress/block-editor'
|
2 |
+
import { FormTokenField } from '@wordpress/components'
|
3 |
import { createHigherOrderComponent } from '@wordpress/compose'
|
4 |
import { addFilter } from '@wordpress/hooks'
|
5 |
+
import { __ } from '@wordpress/i18n'
|
|
|
6 |
import suggestions from '../../utility-framework/suggestions.json'
|
7 |
|
8 |
function addAttributes(settings) {
|