Changeset 3480708
- Timestamp:
- 03/11/2026 11:28:46 PM (3 weeks ago)
- Location:
- editx
- Files:
-
- 81 added
- 16 edited
-
tags/0.2.1 (added)
-
tags/0.2.1/README.txt (added)
-
tags/0.2.1/build (added)
-
tags/0.2.1/build/i18n-loader.asset.php (added)
-
tags/0.2.1/build/i18n-loader.js (added)
-
tags/0.2.1/build/index-rtl.css (added)
-
tags/0.2.1/build/index.asset.php (added)
-
tags/0.2.1/build/index.css (added)
-
tags/0.2.1/build/index.js (added)
-
tags/0.2.1/build/style-index-rtl.css (added)
-
tags/0.2.1/build/style-index.css (added)
-
tags/0.2.1/composer.json (added)
-
tags/0.2.1/editx.php (added)
-
tags/0.2.1/includes (added)
-
tags/0.2.1/includes/Abstracts (added)
-
tags/0.2.1/includes/Abstracts/RestApi.php (added)
-
tags/0.2.1/includes/Admin (added)
-
tags/0.2.1/includes/Admin/Menu.php (added)
-
tags/0.2.1/includes/Ajax (added)
-
tags/0.2.1/includes/Ajax/Manager.php (added)
-
tags/0.2.1/includes/Ajax/ScreenColumns.php (added)
-
tags/0.2.1/includes/Api (added)
-
tags/0.2.1/includes/Api/Controller.php (added)
-
tags/0.2.1/includes/Api/Types (added)
-
tags/0.2.1/includes/Api/Types/Action.php (added)
-
tags/0.2.1/includes/Api/Types/Addon.php (added)
-
tags/0.2.1/includes/Api/Types/AdminColumn.php (added)
-
tags/0.2.1/includes/Api/Types/AdminMenu.php (added)
-
tags/0.2.1/includes/Api/Types/Restriction.php (added)
-
tags/0.2.1/includes/Api/Types/Setting.php (added)
-
tags/0.2.1/includes/Assets (added)
-
tags/0.2.1/includes/Assets/Manager.php (added)
-
tags/0.2.1/includes/Helpers (added)
-
tags/0.2.1/includes/Helpers/AdminColumn (added)
-
tags/0.2.1/includes/Helpers/AdminColumn/Fns.php (added)
-
tags/0.2.1/includes/Helpers/AdminColumn/WpListTableFactory.php (added)
-
tags/0.2.1/includes/Helpers/Fns.php (added)
-
tags/0.2.1/includes/Helpers/Keys.php (added)
-
tags/0.2.1/includes/Hooks (added)
-
tags/0.2.1/includes/Hooks/Manager.php (added)
-
tags/0.2.1/includes/Hooks/Types (added)
-
tags/0.2.1/includes/Hooks/Types/Action (added)
-
tags/0.2.1/includes/Hooks/Types/Action/ActionCtrl.php (added)
-
tags/0.2.1/includes/Hooks/Types/Action/Types (added)
-
tags/0.2.1/includes/Hooks/Types/Action/Types/Admin.php (added)
-
tags/0.2.1/includes/Hooks/Types/Action/Types/AdminColumn.php (added)
-
tags/0.2.1/includes/Hooks/Types/Action/Types/NavMenu.php (added)
-
tags/0.2.1/includes/Hooks/Types/Filter (added)
-
tags/0.2.1/includes/Hooks/Types/Filter/FilterCtrl.php (added)
-
tags/0.2.1/includes/Hooks/Types/Filter/Types (added)
-
tags/0.2.1/includes/Hooks/Types/Filter/Types/ActionLink.php (added)
-
tags/0.2.1/includes/Hooks/Types/Filter/Types/AdminColumn.php (added)
-
tags/0.2.1/includes/Hooks/Types/Filter/Types/NavMenu.php (added)
-
tags/0.2.1/includes/Models (added)
-
tags/0.2.1/includes/Models/AdminColumn.php (added)
-
tags/0.2.1/includes/Setup (added)
-
tags/0.2.1/includes/Setup/Installer.php (added)
-
tags/0.2.1/includes/Traits (added)
-
tags/0.2.1/includes/Traits/Sanitizer.php (added)
-
tags/0.2.1/includes/Traits/Singleton.php (added)
-
tags/0.2.1/index.php (added)
-
tags/0.2.1/languages (added)
-
tags/0.2.1/languages/editx.pot (added)
-
tags/0.2.1/phpcs.xml (added)
-
tags/0.2.1/templates (added)
-
tags/0.2.1/templates/app.php (added)
-
tags/0.2.1/vendor (added)
-
tags/0.2.1/vendor/autoload.php (added)
-
tags/0.2.1/vendor/composer (added)
-
tags/0.2.1/vendor/composer/ClassLoader.php (added)
-
tags/0.2.1/vendor/composer/InstalledVersions.php (added)
-
tags/0.2.1/vendor/composer/LICENSE (added)
-
tags/0.2.1/vendor/composer/autoload_classmap.php (added)
-
tags/0.2.1/vendor/composer/autoload_namespaces.php (added)
-
tags/0.2.1/vendor/composer/autoload_psr4.php (added)
-
tags/0.2.1/vendor/composer/autoload_real.php (added)
-
tags/0.2.1/vendor/composer/autoload_static.php (added)
-
tags/0.2.1/vendor/composer/installed.json (added)
-
tags/0.2.1/vendor/composer/installed.php (added)
-
tags/0.2.1/vendor/composer/platform_check.php (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/build/index-rtl.css (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.css (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/editx.php (modified) (2 diffs)
-
trunk/includes/Admin/Menu.php (modified) (3 diffs)
-
trunk/includes/Ajax/Manager.php (modified) (1 diff)
-
trunk/includes/Ajax/ScreenColumns.php (added)
-
trunk/includes/Api/Types/AdminColumn.php (modified) (3 diffs)
-
trunk/includes/Assets/Manager.php (modified) (1 diff)
-
trunk/includes/Helpers/AdminColumn/WpListTableFactory.php (modified) (1 diff)
-
trunk/includes/Hooks/Types/Action/Types/AdminColumn.php (modified) (2 diffs)
-
trunk/includes/Hooks/Types/Filter/Types/AdminColumn.php (modified) (5 diffs)
-
trunk/languages/editx.pot (modified) (15 diffs)
-
trunk/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_static.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
editx/trunk/README.txt
r3479678 r3480708 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 0.2. 07 Stable tag: 0.2.1 8 8 License: GPL-2.0-or-later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 74 74 == Changelog == 75 75 76 = 0.2.1 - 13 March, 2026 = 77 * Improved: Admin Column Editor Functionality 78 76 79 = 0.2.0 - 11 March, 2026 = 77 80 * Added: Dashicons Picker In Menu Editor -
editx/trunk/build/index-rtl.css
r3479678 r3480708 1 1 :root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(var(--toastify-z-index));width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{right:1em;top:1em}.Toastify__toast-container--top-center{right:50%;top:1em;transform:translateX(50%)}.Toastify__toast-container--top-right{left:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;right:1em}.Toastify__toast-container--bottom-center{bottom:1em;right:50%;transform:translateX(50%)}.Toastify__toast-container--bottom-right{bottom:1em;left:1em}@media only screen and (max-width:480px){.Toastify__toast-container{right:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{right:auto;left:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);box-sizing:border-box;cursor:default;direction:rtl;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:ltr}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1;word-break:break-word}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;right:0;opacity:.7;position:absolute;transform-origin:right;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:auto;left:0;transform-origin:left}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-left-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}} 2 *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.end-2\.5{inset-inline-end:.625rem}.top-3{top:.75rem}.z-\[5\]{z-index:5}.float-left{float:right}.m-0{margin:0}.mx-auto{margin-right:auto;margin-left:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-2{margin-inline-end:.5rem}.ml-0\.5{margin-right:.125rem}.ml-1{margin-right:.25rem}.ml-2{margin-right:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1 \.5{margin-top:.375rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),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))}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.\!py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.px-1\.5{padding-right:.375rem;padding-left:.375rem}.px-2{padding-right:.5rem;padding-left:.5rem}.px-2\.5{padding-right:.625rem;padding-left:.625rem}.px-3{padding-right:.75rem;padding-left:.75rem}.px-4{padding-right:1rem;padding-left:1rem}.px-5{padding-right:1.25rem;padding-left:1.25rem}.px-6{padding-right:1.5rem;padding-left:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:right}.text-center{text-align:center}.text-right{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.filter{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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.editx-menu-label .count-0{display:none}.wp-admin.editx{background-color:#f8fafc}.wp-admin.editx #wpcontent{padding:0}.wp-admin.editx .Toastify__toast-container.Toastify__toast-container--top-right{top:3em}.wp-admin.editx .editx-preloader{align-items:center;display:flex;justify-content:center;padding:80px;position:relative;text-align:center}.wp-admin.editx .editx-preloader:before{animation:editx-rotation .7s linear infinite;border:3px solid #e0e7ff;border-radius:100%;border-top-color:#4f46e5;content:"";display:inline-block;height:36px;position:static;width:36px}@keyframes editx-rotation{0%{transform:rotate(0deg)}to{transform:rotate(-359deg)}}.wp-admin.editx .editx-popup-overlay{align-items:center;background:rgba(15,23,42,.45);display:flex;height:100%;justify-content:center;right:0;position:fixed;top:0;width:100%;z-index:9999}.wp-admin.editx .editx-popup-content{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);max-width:500px;min-width:360px;overflow:hidden;position:relative}.wp-admin.editx .editx-input-label{color:#374151;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.wp-admin.editx .editx-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;display:block;font-size:13.5px;line-height:1.5;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.wp-admin.editx .editx-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.wp-admin.editx select.editx-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke-width=%272%27 stroke=%27%239ca3af%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27m19.5 8.25-7.5 7.5-7.5-7.5%27/%3E%3C/svg%3E");background-position:left 10px center;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-left:36px}.wp-admin.editx .editx-submit{align-items:center;background:#4f46e5;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;line-height:1.5;padding:8px 18px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-submit:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px rgba(79,70,229,.3)}.wp-admin.editx .editx-submit:focus{box-shadow:0 0 0 3px rgba(99,102,241,.3);outline:none}.wp-admin.editx .editx-submit:disabled{cursor:not-allowed;opacity:.6}.comment-grey-bubble{height:16px;width:16px}.comment-grey-bubble:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;font:400 20px/.5 dashicons,sans-serif;right:0;padding:0;position:relative;text-decoration:none!important;top:5px;vertical-align:top}.wp-admin.editx .editx-topbar{background-color:#fff;border-bottom:1px solid #e9eaec;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:0 24px;position:sticky;top:32px;z-index:9989}.wp-admin.editx .editx-topbar .editx-topbar-content{height:64px;margin:auto;max-width:1020px;padding:12px 0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-title{align-items:center;display:flex;gap:10px}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-label{color:#4f46e5;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1;margin:0;padding:0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-sublabel{border-right:1px solid #d1d5db;color:#0f172a;font-family:inherit;font-size:14px;font-weight:500;line-height:1;padding-right:10px}.wp-admin.editx .editx-content{margin:32px auto auto;max-width:1020px;padding:0 0 60px}.wp-admin.editx .editx-settings{margin:auto;max-width:360px}.wp-admin.editx .editx-admin-columns,.wp-admin.editx .editx-admin-menu-editor,.wp-admin.editx .editx-restrictions-form{margin:auto;max-width:520px}.wp-admin.editx .editx-dashboard{padding:36px 0}.wp-admin.editx .editx-dashboard .editx-dashboard-hero{border-bottom:1px solid #f1f2f4;margin-bottom:28px;padding-bottom:24px}.wp-admin.editx .editx-dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.wp-admin.editx .editx-feature-card{align-items:flex-start;background:#fff;border:1.5px solid #ebebed;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);cursor:pointer;display:flex;gap:16px;padding:20px;text-align:right;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.wp-admin.editx .editx-feature-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.09);transform:translateY(-2px)}.wp-admin.editx .editx-feature-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.wp-admin.editx .editx-feature-body{flex:1;min-width:0}.wp-admin.editx .editx-feature-body .editx-feature-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}.wp-admin.editx .editx-feature-body .editx-feature-desc{color:#6b7280;font-size:12px;line-height:1.6}.wp-admin.editx .editx-feature-arrow{align-items:center;align-self:center;display:flex;flex-shrink:0;opacity:.3;transition:opacity .15s,transform .2s}.wp-admin.editx .editx-feature-card:hover .editx-feature-arrow{opacity:.7;transform:translateX(-3px)}.wp-admin.editx .editx-drag-handle{align-items:center;border-radius:5px;color:#c4cad4;cursor:grab;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;transition:color .15s,background .15s;width:24px}.wp-admin.editx .editx-drag-handle:hover{background:#eef2ff;color:#6366f1}.wp-admin.editx .editx-drag-handle:active{background:#e0e7ff;color:#4f46e5;cursor:grabbing}.wp-admin.editx .editx-shortable-item{background:#fff;border:1px solid #e9eaec;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.03);color:#374151;cursor:grab;font-size:13px;font-weight:500;margin-bottom:5px;padding:9px 12px;position:relative;transition:box-shadow .15s,border-color .15s}.wp-admin.editx .editx-shortable-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.06)}.wp-admin.editx .editx-shortable-item:active{cursor:grabbing}.wp-admin.editx .editx-shortable-item input{margin-left:8px}.wp-admin.editx .editx-shortable-item .editx-arrow-icon{align-items:center;color:#9ca3af;cursor:pointer;display:inline-flex;transition:transform .25s ease}.wp-admin.editx .editx-shortable-item .editx-arrow-icon:hover{color:#4b5563}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-collapsed{transform:rotate(0deg)}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-expanded{transform:rotate(-180deg)}.wp-admin.editx .editx-item-hidden{background:#fafafa!important;opacity:.65}.wp-admin.editx .editx-restrictions-submenu{border-right:2px solid #f0f0f4;margin-right:4px;margin-top:6px;padding-right:10px;padding-top:6px}.wp-admin.editx .editx-dropdown-row{position:relative}.wp-admin.editx .editx-dropdown-row>button:first-child{align-items:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.wp-admin.editx .editx-dropdown-row>button:first-child svg path{fill:currentColor;transition:fill .15s}.wp-admin.editx .editx-dropdown-row>button:first-child:hover{background:#f1f5f9;color:#4f46e5}.wp-admin.editx .editx-dropdown-row>button:first-child:active{background:#e0e7ff;color:#4338ca}.wp-admin.editx .editx-dropdown-row li{margin-bottom:0}.wp-admin.editx .editx-dropdown-row>ul{background:#fff!important;border-color:#e9eaec!important;border-radius:8px!important;box-shadow:0 4px 20px rgba(0,0,0,.12)!important;right:auto!important;min-width:130px;overflow:hidden;position:absolute!important;left:0!important;z-index:9990!important}.wp-admin.editx .editx-dropdown-row>ul button{background:transparent!important;color:#374151!important}.wp-admin.editx .editx-dropdown-row>ul button:hover{background:#f5f5ff!important;color:#4f46e5!important}.wp-admin.editx .editx-shortable-item:has(.editx-dropdown-row ul:not(.hidden)){z-index:10}.wp-admin.editx .editx-btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,border-color .15s,box-shadow .15s}.wp-admin.editx .editx-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px rgba(0,0,0,.06)}.wp-admin.editx .editx-btn-add{align-items:center;background:#f5f5ff;border:1.5px dashed #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;margin-top:8px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-btn-add:hover{background:#ede9fe;border-color:#6366f1;box-shadow:0 2px 8px rgba(99,102,241,.15);color:#4338ca}.wp-admin.editx .editx-btn-danger{align-items:center;background:#ef4444;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,.3)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[2px\]:after{content:var(--tw-content);inset-inline-start:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:border-gray-300:after{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:border-t-0:first-child{border-top-width:0}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.peer:checked~.peer-checked\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{--tw-translate-x:100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}.peer:checked~.peer-checked\:after\:border-white:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));content:var(--tw-content)}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:p-5{padding:1.25rem}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{--tw-translate-x:-100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}@media (prefers-color-scheme:dark){.dark\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}}.\[\&\[data-te-dropdown-show\]\]\:block[data-te-dropdown-show]{display:block}2 *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.end-2\.5{inset-inline-end:.625rem}.top-3{top:.75rem}.z-\[5\]{z-index:5}.float-left{float:right}.m-0{margin:0}.mx-auto{margin-right:auto;margin-left:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-2{margin-inline-end:.5rem}.ml-0\.5{margin-right:.125rem}.ml-1{margin-right:.25rem}.ml-2{margin-right:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),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))}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.\!py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.px-1\.5{padding-right:.375rem;padding-left:.375rem}.px-2{padding-right:.5rem;padding-left:.5rem}.px-2\.5{padding-right:.625rem;padding-left:.625rem}.px-3{padding-right:.75rem;padding-left:.75rem}.px-4{padding-right:1rem;padding-left:1rem}.px-5{padding-right:1.25rem;padding-left:1.25rem}.px-6{padding-right:1.5rem;padding-left:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:right}.text-center{text-align:center}.text-right{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.filter{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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.editx-menu-label .count-0{display:none}.wp-admin.editx{background-color:#f8fafc}.wp-admin.editx #wpcontent{padding:0}.wp-admin.editx .Toastify__toast-container.Toastify__toast-container--top-right{top:3em}.wp-admin.editx .editx-preloader{align-items:center;display:flex;justify-content:center;padding:80px;position:relative;text-align:center}.wp-admin.editx .editx-preloader:before{animation:editx-rotation .7s linear infinite;border:3px solid #e0e7ff;border-radius:100%;border-top-color:#4f46e5;content:"";display:inline-block;height:36px;position:static;width:36px}@keyframes editx-rotation{0%{transform:rotate(0deg)}to{transform:rotate(-359deg)}}.wp-admin.editx .editx-popup-overlay{align-items:center;background:rgba(15,23,42,.45);display:flex;height:100%;justify-content:center;right:0;position:fixed;top:0;width:100%;z-index:9999}.wp-admin.editx .editx-popup-content{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);max-width:500px;min-width:360px;overflow:hidden;position:relative}.wp-admin.editx .editx-input-label{color:#374151;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.wp-admin.editx .editx-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;display:block;font-size:13.5px;line-height:1.5;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.wp-admin.editx .editx-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.wp-admin.editx select.editx-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke-width=%272%27 stroke=%27%239ca3af%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27m19.5 8.25-7.5 7.5-7.5-7.5%27/%3E%3C/svg%3E");background-position:left 10px center;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-left:36px}.wp-admin.editx .editx-submit{align-items:center;background:#4f46e5;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;line-height:1.5;padding:8px 18px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-submit:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px rgba(79,70,229,.3)}.wp-admin.editx .editx-submit:focus{box-shadow:0 0 0 3px rgba(99,102,241,.3);outline:none}.wp-admin.editx .editx-submit:disabled{cursor:not-allowed;opacity:.6}.comment-grey-bubble{height:16px;width:16px}.comment-grey-bubble:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;font:400 20px/.5 dashicons,sans-serif;right:0;padding:0;position:relative;text-decoration:none!important;top:5px;vertical-align:top}.wp-admin.editx .editx-topbar{background-color:#fff;border-bottom:1px solid #e9eaec;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:0 24px;position:sticky;top:32px;z-index:9989}.wp-admin.editx .editx-topbar .editx-topbar-content{height:64px;margin:auto;max-width:1020px;padding:12px 0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-title{align-items:center;display:flex;gap:10px}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-label{color:#4f46e5;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1;margin:0;padding:0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-sublabel{border-right:1px solid #d1d5db;color:#0f172a;font-family:inherit;font-size:14px;font-weight:500;line-height:1;padding-right:10px}.wp-admin.editx .editx-content{margin:32px auto auto;max-width:1020px;padding:0 0 60px}.wp-admin.editx .editx-settings{margin:auto;max-width:360px}.wp-admin.editx .editx-admin-columns,.wp-admin.editx .editx-admin-menu-editor,.wp-admin.editx .editx-restrictions-form{margin:auto;max-width:520px}.wp-admin.editx .editx-dashboard{padding:36px 0}.wp-admin.editx .editx-dashboard .editx-dashboard-hero{border-bottom:1px solid #f1f2f4;margin-bottom:28px;padding-bottom:24px}.wp-admin.editx .editx-dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.wp-admin.editx .editx-feature-card{align-items:flex-start;background:#fff;border:1.5px solid #ebebed;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);cursor:pointer;display:flex;gap:16px;padding:20px;text-align:right;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.wp-admin.editx .editx-feature-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.09);transform:translateY(-2px)}.wp-admin.editx .editx-feature-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.wp-admin.editx .editx-feature-body{flex:1;min-width:0}.wp-admin.editx .editx-feature-body .editx-feature-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}.wp-admin.editx .editx-feature-body .editx-feature-desc{color:#6b7280;font-size:12px;line-height:1.6}.wp-admin.editx .editx-feature-arrow{align-items:center;align-self:center;display:flex;flex-shrink:0;opacity:.3;transition:opacity .15s,transform .2s}.wp-admin.editx .editx-feature-card:hover .editx-feature-arrow{opacity:.7;transform:translateX(-3px)}.wp-admin.editx .editx-drag-handle{align-items:center;border-radius:5px;color:#c4cad4;cursor:grab;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;transition:color .15s,background .15s;width:24px}.wp-admin.editx .editx-drag-handle:hover{background:#eef2ff;color:#6366f1}.wp-admin.editx .editx-drag-handle:active{background:#e0e7ff;color:#4f46e5;cursor:grabbing}.wp-admin.editx .editx-shortable-item{background:#fff;border:1px solid #e9eaec;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.03);color:#374151;cursor:grab;font-size:13px;font-weight:500;margin-bottom:5px;padding:9px 12px;position:relative;transition:box-shadow .15s,border-color .15s}.wp-admin.editx .editx-shortable-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.06)}.wp-admin.editx .editx-shortable-item:active{cursor:grabbing}.wp-admin.editx .editx-shortable-item input{margin-left:8px}.wp-admin.editx .editx-shortable-item .editx-arrow-icon{align-items:center;color:#9ca3af;cursor:pointer;display:inline-flex;transition:transform .25s ease}.wp-admin.editx .editx-shortable-item .editx-arrow-icon:hover{color:#4b5563}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-collapsed{transform:rotate(0deg)}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-expanded{transform:rotate(-180deg)}.wp-admin.editx .editx-item-hidden{background:#fafafa!important;opacity:.65}.wp-admin.editx .editx-restrictions-submenu{border-right:2px solid #f0f0f4;margin-right:4px;margin-top:6px;padding-right:10px;padding-top:6px}.wp-admin.editx .editx-dropdown-row{position:relative}.wp-admin.editx .editx-dropdown-row>button:first-child{align-items:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.wp-admin.editx .editx-dropdown-row>button:first-child svg path{fill:currentColor;transition:fill .15s}.wp-admin.editx .editx-dropdown-row>button:first-child:hover{background:#f1f5f9;color:#4f46e5}.wp-admin.editx .editx-dropdown-row>button:first-child:active{background:#e0e7ff;color:#4338ca}.wp-admin.editx .editx-dropdown-row li{margin-bottom:0}.wp-admin.editx .editx-dropdown-row>ul{background:#fff!important;border-color:#e9eaec!important;border-radius:8px!important;box-shadow:0 4px 20px rgba(0,0,0,.12)!important;right:auto!important;min-width:130px;overflow:hidden;position:absolute!important;left:0!important;z-index:9990!important}.wp-admin.editx .editx-dropdown-row>ul button{background:transparent!important;color:#374151!important}.wp-admin.editx .editx-dropdown-row>ul button:hover{background:#f5f5ff!important;color:#4f46e5!important}.wp-admin.editx .editx-shortable-item:has(.editx-dropdown-row ul:not(.hidden)){z-index:10}.wp-admin.editx .editx-btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,border-color .15s,box-shadow .15s}.wp-admin.editx .editx-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px rgba(0,0,0,.06)}.wp-admin.editx .editx-btn-add{align-items:center;background:#f5f5ff;border:1.5px dashed #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;margin-top:8px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-btn-add:hover{background:#ede9fe;border-color:#6366f1;box-shadow:0 2px 8px rgba(99,102,241,.15);color:#4338ca}.wp-admin.editx .editx-btn-danger{align-items:center;background:#ef4444;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,.3)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[2px\]:after{content:var(--tw-content);inset-inline-start:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:border-gray-300:after{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:border-t-0:first-child{border-top-width:0}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.peer:checked~.peer-checked\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{--tw-translate-x:100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}.peer:checked~.peer-checked\:after\:border-white:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));content:var(--tw-content)}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:p-5{padding:1.25rem}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{--tw-translate-x:-100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}@media (prefers-color-scheme:dark){.dark\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}}.\[\&\[data-te-dropdown-show\]\]\:block[data-te-dropdown-show]{display:block} -
editx/trunk/build/index.asset.php
r3479678 r3480708 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-element', 'wp-i18n'), 'version' => '6 8da3edd6322b811feca');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-element', 'wp-i18n'), 'version' => '607d7333a4a73748840f'); -
editx/trunk/build/index.css
r3479678 r3480708 1 1 :root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(var(--toastify-z-index));width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1;word-break:break-word}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}} 2 *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.end-2\.5{inset-inline-end:.625rem}.top-3{top:.75rem}.z-\[5\]{z-index:5}.float-left{float:left}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-2{margin-inline-end:.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1 \.5{margin-top:.375rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),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))}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.\!py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-left:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.filter{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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.editx-menu-label .count-0{display:none}.wp-admin.editx{background-color:#f8fafc}.wp-admin.editx #wpcontent{padding:0}.wp-admin.editx .Toastify__toast-container.Toastify__toast-container--top-right{top:3em}.wp-admin.editx .editx-preloader{align-items:center;display:flex;justify-content:center;padding:80px;position:relative;text-align:center}.wp-admin.editx .editx-preloader:before{animation:editx-rotation .7s linear infinite;border:3px solid #e0e7ff;border-radius:100%;border-top-color:#4f46e5;content:"";display:inline-block;height:36px;position:static;width:36px}@keyframes editx-rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.wp-admin.editx .editx-popup-overlay{align-items:center;background:rgba(15,23,42,.45);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.wp-admin.editx .editx-popup-content{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);max-width:500px;min-width:360px;overflow:hidden;position:relative}.wp-admin.editx .editx-input-label{color:#374151;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.wp-admin.editx .editx-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;display:block;font-size:13.5px;line-height:1.5;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.wp-admin.editx .editx-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.wp-admin.editx select.editx-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke-width=%272%27 stroke=%27%239ca3af%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27m19.5 8.25-7.5 7.5-7.5-7.5%27/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-right:36px}.wp-admin.editx .editx-submit{align-items:center;background:#4f46e5;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;line-height:1.5;padding:8px 18px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-submit:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px rgba(79,70,229,.3)}.wp-admin.editx .editx-submit:focus{box-shadow:0 0 0 3px rgba(99,102,241,.3);outline:none}.wp-admin.editx .editx-submit:disabled{cursor:not-allowed;opacity:.6}.comment-grey-bubble{height:16px;width:16px}.comment-grey-bubble:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;font:400 20px/.5 dashicons,sans-serif;left:0;padding:0;position:relative;text-decoration:none!important;top:5px;vertical-align:top}.wp-admin.editx .editx-topbar{background-color:#fff;border-bottom:1px solid #e9eaec;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:0 24px;position:sticky;top:32px;z-index:9989}.wp-admin.editx .editx-topbar .editx-topbar-content{height:64px;margin:auto;max-width:1020px;padding:12px 0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-title{align-items:center;display:flex;gap:10px}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-label{color:#4f46e5;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1;margin:0;padding:0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-sublabel{border-left:1px solid #d1d5db;color:#0f172a;font-family:inherit;font-size:14px;font-weight:500;line-height:1;padding-left:10px}.wp-admin.editx .editx-content{margin:32px auto auto;max-width:1020px;padding:0 0 60px}.wp-admin.editx .editx-settings{margin:auto;max-width:360px}.wp-admin.editx .editx-admin-columns,.wp-admin.editx .editx-admin-menu-editor,.wp-admin.editx .editx-restrictions-form{margin:auto;max-width:520px}.wp-admin.editx .editx-dashboard{padding:36px 0}.wp-admin.editx .editx-dashboard .editx-dashboard-hero{border-bottom:1px solid #f1f2f4;margin-bottom:28px;padding-bottom:24px}.wp-admin.editx .editx-dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.wp-admin.editx .editx-feature-card{align-items:flex-start;background:#fff;border:1.5px solid #ebebed;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);cursor:pointer;display:flex;gap:16px;padding:20px;text-align:left;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.wp-admin.editx .editx-feature-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.09);transform:translateY(-2px)}.wp-admin.editx .editx-feature-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.wp-admin.editx .editx-feature-body{flex:1;min-width:0}.wp-admin.editx .editx-feature-body .editx-feature-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}.wp-admin.editx .editx-feature-body .editx-feature-desc{color:#6b7280;font-size:12px;line-height:1.6}.wp-admin.editx .editx-feature-arrow{align-items:center;align-self:center;display:flex;flex-shrink:0;opacity:.3;transition:opacity .15s,transform .2s}.wp-admin.editx .editx-feature-card:hover .editx-feature-arrow{opacity:.7;transform:translateX(3px)}.wp-admin.editx .editx-drag-handle{align-items:center;border-radius:5px;color:#c4cad4;cursor:grab;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;transition:color .15s,background .15s;width:24px}.wp-admin.editx .editx-drag-handle:hover{background:#eef2ff;color:#6366f1}.wp-admin.editx .editx-drag-handle:active{background:#e0e7ff;color:#4f46e5;cursor:grabbing}.wp-admin.editx .editx-shortable-item{background:#fff;border:1px solid #e9eaec;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.03);color:#374151;cursor:grab;font-size:13px;font-weight:500;margin-bottom:5px;padding:9px 12px;position:relative;transition:box-shadow .15s,border-color .15s}.wp-admin.editx .editx-shortable-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.06)}.wp-admin.editx .editx-shortable-item:active{cursor:grabbing}.wp-admin.editx .editx-shortable-item input{margin-right:8px}.wp-admin.editx .editx-shortable-item .editx-arrow-icon{align-items:center;color:#9ca3af;cursor:pointer;display:inline-flex;transition:transform .25s ease}.wp-admin.editx .editx-shortable-item .editx-arrow-icon:hover{color:#4b5563}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-collapsed{transform:rotate(0deg)}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-expanded{transform:rotate(180deg)}.wp-admin.editx .editx-item-hidden{background:#fafafa!important;opacity:.65}.wp-admin.editx .editx-restrictions-submenu{border-left:2px solid #f0f0f4;margin-left:4px;margin-top:6px;padding-left:10px;padding-top:6px}.wp-admin.editx .editx-dropdown-row{position:relative}.wp-admin.editx .editx-dropdown-row>button:first-child{align-items:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.wp-admin.editx .editx-dropdown-row>button:first-child svg path{fill:currentColor;transition:fill .15s}.wp-admin.editx .editx-dropdown-row>button:first-child:hover{background:#f1f5f9;color:#4f46e5}.wp-admin.editx .editx-dropdown-row>button:first-child:active{background:#e0e7ff;color:#4338ca}.wp-admin.editx .editx-dropdown-row li{margin-bottom:0}.wp-admin.editx .editx-dropdown-row>ul{background:#fff!important;border-color:#e9eaec!important;border-radius:8px!important;box-shadow:0 4px 20px rgba(0,0,0,.12)!important;left:auto!important;min-width:130px;overflow:hidden;position:absolute!important;right:0!important;z-index:9990!important}.wp-admin.editx .editx-dropdown-row>ul button{background:transparent!important;color:#374151!important}.wp-admin.editx .editx-dropdown-row>ul button:hover{background:#f5f5ff!important;color:#4f46e5!important}.wp-admin.editx .editx-shortable-item:has(.editx-dropdown-row ul:not(.hidden)){z-index:10}.wp-admin.editx .editx-btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,border-color .15s,box-shadow .15s}.wp-admin.editx .editx-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px rgba(0,0,0,.06)}.wp-admin.editx .editx-btn-add{align-items:center;background:#f5f5ff;border:1.5px dashed #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;margin-top:8px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-btn-add:hover{background:#ede9fe;border-color:#6366f1;box-shadow:0 2px 8px rgba(99,102,241,.15);color:#4338ca}.wp-admin.editx .editx-btn-danger{align-items:center;background:#ef4444;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,.3)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[2px\]:after{content:var(--tw-content);inset-inline-start:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:border-gray-300:after{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:border-t-0:first-child{border-top-width:0}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.peer:checked~.peer-checked\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{--tw-translate-x:100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}.peer:checked~.peer-checked\:after\:border-white:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));content:var(--tw-content)}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:p-5{padding:1.25rem}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{--tw-translate-x:-100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}@media (prefers-color-scheme:dark){.dark\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}}.\[\&\[data-te-dropdown-show\]\]\:block[data-te-dropdown-show]{display:block}2 *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.end-2\.5{inset-inline-end:.625rem}.top-3{top:.75rem}.z-\[5\]{z-index:5}.float-left{float:left}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-2{margin-inline-end:.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),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))}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-50\/40{background-color:rgba(238,242,255,.4)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.\!py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-left:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.filter{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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.editx-menu-label .count-0{display:none}.wp-admin.editx{background-color:#f8fafc}.wp-admin.editx #wpcontent{padding:0}.wp-admin.editx .Toastify__toast-container.Toastify__toast-container--top-right{top:3em}.wp-admin.editx .editx-preloader{align-items:center;display:flex;justify-content:center;padding:80px;position:relative;text-align:center}.wp-admin.editx .editx-preloader:before{animation:editx-rotation .7s linear infinite;border:3px solid #e0e7ff;border-radius:100%;border-top-color:#4f46e5;content:"";display:inline-block;height:36px;position:static;width:36px}@keyframes editx-rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.wp-admin.editx .editx-popup-overlay{align-items:center;background:rgba(15,23,42,.45);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.wp-admin.editx .editx-popup-content{background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.06);max-width:500px;min-width:360px;overflow:hidden;position:relative}.wp-admin.editx .editx-input-label{color:#374151;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.wp-admin.editx .editx-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;display:block;font-size:13.5px;line-height:1.5;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.wp-admin.editx .editx-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.wp-admin.editx select.editx-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke-width=%272%27 stroke=%27%239ca3af%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27m19.5 8.25-7.5 7.5-7.5-7.5%27/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px 16px;cursor:pointer;padding-right:36px}.wp-admin.editx .editx-submit{align-items:center;background:#4f46e5;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;line-height:1.5;padding:8px 18px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-submit:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px rgba(79,70,229,.3)}.wp-admin.editx .editx-submit:focus{box-shadow:0 0 0 3px rgba(99,102,241,.3);outline:none}.wp-admin.editx .editx-submit:disabled{cursor:not-allowed;opacity:.6}.comment-grey-bubble{height:16px;width:16px}.comment-grey-bubble:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";display:inline-block;font:400 20px/.5 dashicons,sans-serif;left:0;padding:0;position:relative;text-decoration:none!important;top:5px;vertical-align:top}.wp-admin.editx .editx-topbar{background-color:#fff;border-bottom:1px solid #e9eaec;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:0 24px;position:sticky;top:32px;z-index:9989}.wp-admin.editx .editx-topbar .editx-topbar-content{height:64px;margin:auto;max-width:1020px;padding:12px 0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-title{align-items:center;display:flex;gap:10px}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-label{color:#4f46e5;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1;margin:0;padding:0}.wp-admin.editx .editx-topbar .editx-topbar-content .editx-topbar-sublabel{border-left:1px solid #d1d5db;color:#0f172a;font-family:inherit;font-size:14px;font-weight:500;line-height:1;padding-left:10px}.wp-admin.editx .editx-content{margin:32px auto auto;max-width:1020px;padding:0 0 60px}.wp-admin.editx .editx-settings{margin:auto;max-width:360px}.wp-admin.editx .editx-admin-columns,.wp-admin.editx .editx-admin-menu-editor,.wp-admin.editx .editx-restrictions-form{margin:auto;max-width:520px}.wp-admin.editx .editx-dashboard{padding:36px 0}.wp-admin.editx .editx-dashboard .editx-dashboard-hero{border-bottom:1px solid #f1f2f4;margin-bottom:28px;padding-bottom:24px}.wp-admin.editx .editx-dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.wp-admin.editx .editx-feature-card{align-items:flex-start;background:#fff;border:1.5px solid #ebebed;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);cursor:pointer;display:flex;gap:16px;padding:20px;text-align:left;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.wp-admin.editx .editx-feature-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.09);transform:translateY(-2px)}.wp-admin.editx .editx-feature-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.wp-admin.editx .editx-feature-body{flex:1;min-width:0}.wp-admin.editx .editx-feature-body .editx-feature-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}.wp-admin.editx .editx-feature-body .editx-feature-desc{color:#6b7280;font-size:12px;line-height:1.6}.wp-admin.editx .editx-feature-arrow{align-items:center;align-self:center;display:flex;flex-shrink:0;opacity:.3;transition:opacity .15s,transform .2s}.wp-admin.editx .editx-feature-card:hover .editx-feature-arrow{opacity:.7;transform:translateX(3px)}.wp-admin.editx .editx-drag-handle{align-items:center;border-radius:5px;color:#c4cad4;cursor:grab;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;transition:color .15s,background .15s;width:24px}.wp-admin.editx .editx-drag-handle:hover{background:#eef2ff;color:#6366f1}.wp-admin.editx .editx-drag-handle:active{background:#e0e7ff;color:#4f46e5;cursor:grabbing}.wp-admin.editx .editx-shortable-item{background:#fff;border:1px solid #e9eaec;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.03);color:#374151;cursor:grab;font-size:13px;font-weight:500;margin-bottom:5px;padding:9px 12px;position:relative;transition:box-shadow .15s,border-color .15s}.wp-admin.editx .editx-shortable-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px rgba(0,0,0,.06)}.wp-admin.editx .editx-shortable-item:active{cursor:grabbing}.wp-admin.editx .editx-shortable-item input{margin-right:8px}.wp-admin.editx .editx-shortable-item .editx-arrow-icon{align-items:center;color:#9ca3af;cursor:pointer;display:inline-flex;transition:transform .25s ease}.wp-admin.editx .editx-shortable-item .editx-arrow-icon:hover{color:#4b5563}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-collapsed{transform:rotate(0deg)}.wp-admin.editx .editx-shortable-item .editx-arrow-icon.editx-expanded{transform:rotate(180deg)}.wp-admin.editx .editx-item-hidden{background:#fafafa!important;opacity:.65}.wp-admin.editx .editx-restrictions-submenu{border-left:2px solid #f0f0f4;margin-left:4px;margin-top:6px;padding-left:10px;padding-top:6px}.wp-admin.editx .editx-dropdown-row{position:relative}.wp-admin.editx .editx-dropdown-row>button:first-child{align-items:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s;width:28px}.wp-admin.editx .editx-dropdown-row>button:first-child svg path{fill:currentColor;transition:fill .15s}.wp-admin.editx .editx-dropdown-row>button:first-child:hover{background:#f1f5f9;color:#4f46e5}.wp-admin.editx .editx-dropdown-row>button:first-child:active{background:#e0e7ff;color:#4338ca}.wp-admin.editx .editx-dropdown-row li{margin-bottom:0}.wp-admin.editx .editx-dropdown-row>ul{background:#fff!important;border-color:#e9eaec!important;border-radius:8px!important;box-shadow:0 4px 20px rgba(0,0,0,.12)!important;left:auto!important;min-width:130px;overflow:hidden;position:absolute!important;right:0!important;z-index:9990!important}.wp-admin.editx .editx-dropdown-row>ul button{background:transparent!important;color:#374151!important}.wp-admin.editx .editx-dropdown-row>ul button:hover{background:#f5f5ff!important;color:#4f46e5!important}.wp-admin.editx .editx-shortable-item:has(.editx-dropdown-row ul:not(.hidden)){z-index:10}.wp-admin.editx .editx-btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,border-color .15s,box-shadow .15s}.wp-admin.editx .editx-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px rgba(0,0,0,.06)}.wp-admin.editx .editx-btn-add{align-items:center;background:#f5f5ff;border:1.5px dashed #a5b4fc;border-radius:8px;color:#4f46e5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;margin-top:8px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:100%}.wp-admin.editx .editx-btn-add:hover{background:#ede9fe;border-color:#6366f1;box-shadow:0 2px 8px rgba(99,102,241,.15);color:#4338ca}.wp-admin.editx .editx-btn-danger{align-items:center;background:#ef4444;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.5;padding:7px 14px;transition:background .15s,box-shadow .15s}.wp-admin.editx .editx-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,.3)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[2px\]:after{content:var(--tw-content);inset-inline-start:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:border-gray-300:after{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1));content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:border-t-0:first-child{border-top-width:0}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity,1))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.peer:checked~.peer-checked\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{--tw-translate-x:100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}.peer:checked~.peer-checked\:after\:border-white:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));content:var(--tw-content)}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:p-5{padding:1.25rem}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{--tw-translate-x:-100%;content:var(--tw-content);transform:translate(var(--tw-translate-x),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))}@media (prefers-color-scheme:dark){.dark\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity,1))}}.\[\&\[data-te-dropdown-show\]\]\:block[data-te-dropdown-show]{display:block} -
editx/trunk/build/index.js
r3479678 r3480708 1 (()=>{"use strict";var e,t={ 315(e,t,n){var r=n(609);const a=window.wp.element;var s=n(848),i=r.createContext(void 0),o=e=>{const t=r.useContext(i);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},l={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},c=new class{#e=l;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},d="undefined"==typeof window||"Deno"in globalThis;function u(){}function h(e){return"number"==typeof e&&e>=0&&e!==1/0}function m(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return"function"==typeof e?e(t):e}function f(e,t){return"function"==typeof e?e(t):e}function y(e,t){const{type:n="all",exact:r,fetchStatus:a,predicate:s,queryKey:i,stale:o}=e;if(i)if(r){if(t.queryHash!==v(i,t.options))return!1}else if(!x(t.queryKey,i))return!1;if("all"!==n){const e=t.isActive();if("active"===n&&!e)return!1;if("inactive"===n&&e)return!1}return!("boolean"==typeof o&&t.isStale()!==o||a&&a!==t.state.fetchStatus||s&&!s(t))}function g(e,t){const{exact:n,status:r,predicate:a,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(b(t.options.mutationKey)!==b(s))return!1}else if(!x(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||a&&!a(t))}function v(e,t){return(t?.queryKeyHashFn||b)(e)}function b(e){return JSON.stringify(e,(e,t)=>k(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function x(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&Object.keys(t).every(n=>x(e[n],t[n]))}var w=Object.prototype.hasOwnProperty;function E(e,t,n=0){if(e===t)return e;if(n>500)return t;const r=C(e)&&C(t);if(!(r||k(e)&&k(t)))return t;const a=(r?e:Object.keys(e)).length,s=r?t:Object.keys(t),i=s.length,o=r?new Array(i):{};let l=0;for(let c=0;c<i;c++){const i=r?c:s[c],d=e[i],u=t[i];if(d===u){o[i]=d,(r?c<a:w.call(e,i))&&l++;continue}if(null===d||null===u||"object"!=typeof d||"object"!=typeof u){o[i]=u;continue}const h=E(d,u,n+1);o[i]=h,h===d&&l++}return a===i&&l===a?e:o}function _(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function C(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function k(e){if(!S(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!!S(n)&&!!n.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function S(e){return"[object Object]"===Object.prototype.toString.call(e)}function R(e,t,n){return"function"==typeof n.structuralSharing?n.structuralSharing(e,t):!1!==n.structuralSharing?E(e,t):t}function N(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function T(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var O=Symbol();function D(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==O?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`))}function L(e,t){return"function"==typeof e?e(...t):!!e}var P=function(e){setTimeout(e,0)},M=function(){let e=[],t=0,n=e=>{e()},r=e=>{e()},a=P;const s=r=>{t?e.push(r):a(()=>{n(r)})};return{batch:s=>{let i;t++;try{i=s()}finally{t--,t||(()=>{const t=e;e=[],t.length&&a(()=>{r(()=>{t.forEach(e=>{n(e)})})})})()}return i},batchCalls:e=>(...t)=>{s(()=>{e(...t)})},schedule:s,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{a=e}}}(),I=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},A=new class extends I{#n;#r;#a;constructor(){super(),this.#a=e=>{if(!d&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#r||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#a=e,this.#r?.(),this.#r=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#n!==e&&(this.#n=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#n?this.#n:"hidden"!==globalThis.document?.visibilityState}},F=new class extends I{#s=!0;#r;#a;constructor(){super(),this.#a=e=>{if(!d&&window.addEventListener){const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#r||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#a=e,this.#r?.(),this.#r=e(this.setOnline.bind(this))}setOnline(e){this.#s!==e&&(this.#s=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#s}};function j(){let e,t;const n=new Promise((n,r)=>{e=n,t=r});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.status="pending",n.catch(()=>{}),n.resolve=t=>{r({status:"fulfilled",value:t}),e(t)},n.reject=e=>{r({status:"rejected",reason:e}),t(e)},n}function U(e){return Math.min(1e3*2**e,3e4)}function q(e){return"online"!==(e??"online")||F.isOnline()}var $=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Q(e){let t,n=!1,r=0;const a=j(),s=()=>"pending"!==a.status,i=()=>A.isFocused()&&("always"===e.networkMode||F.isOnline())&&e.canRun(),o=()=>q(e.networkMode)&&e.canRun(),l=e=>{s()||(t?.(),a.resolve(e))},u=e=>{s()||(t?.(),a.reject(e))},h=()=>new Promise(n=>{t=e=>{(s()||i())&&n(e)},e.onPause?.()}).then(()=>{t=void 0,s()||e.onContinue?.()}),m=()=>{if(s())return;let t;const a=0===r?e.initialPromise:void 0;try{t=a??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(l).catch(t=>{if(s())return;const a=e.retry??(d?0:3),o=e.retryDelay??U,l="function"==typeof o?o(r,t):o,p=!0===a||"number"==typeof a&&r<a||"function"==typeof a&&a(r,t);var f;!n&&p?(r++,e.onFail?.(r,t),(f=l,new Promise(e=>{c.setTimeout(e,f)})).then(()=>i()?void 0:h()).then(()=>{n?u(t):m()})):u(t)})};return{promise:a,status:()=>a.status,cancel:t=>{if(!s()){const n=new $(t);u(n),e.onCancel?.(n)}},continue:()=>(t?.(),a),cancelRetry:()=>{n=!0},continueRetry:()=>{n=!1},canStart:o,start:()=>(o()?m():h().then(m),a)}}var B=class{#i;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),h(this.gcTime)&&(this.#i=c.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(d?1/0:3e5))}clearGcTimeout(){this.#i&&(c.clearTimeout(this.#i),this.#i=void 0)}},H=class extends B{#o;#l;#c;#d;#u;#h;#m;constructor(e){super(),this.#m=!1,this.#h=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#d=e.client,this.#c=this.#d.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#o=K(this.options),this.state=e.state??this.#o,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#u?.promise}setOptions(e){if(this.options={...this.#h,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){const e=K(this.options);void 0!==e.data&&(this.setState(W(e.data,e.dataUpdatedAt)),this.#o=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#c.remove(this)}setData(e,t){const n=R(this.state.data,e,this.options);return this.#p({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#p({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#u?.promise;return this.#u?.cancel(e),t?t.then(u).catch(u):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#o)}isActive(){return this.observers.some(e=>!1!==f(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===O||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===p(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!m(this.state.dataUpdatedAt,e))}onFocus(){const e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#u?.continue()}onOnline(){const e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#u?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#c.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#u&&(this.#m?this.#u.cancel({revert:!0}):this.#u.cancelRetry()),this.scheduleGc()),this.#c.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}async fetch(e,t){if("idle"!==this.state.fetchStatus&&"rejected"!==this.#u?.status())if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#u)return this.#u.continueRetry(),this.#u.promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}const n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#m=!0,n.signal)})},a=()=>{const e=D(this.options,t),n=(()=>{const e={client:this.#d,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#m=!1,this.options.persister?this.options.persister(e,n,this):e(n)},s=(()=>{const e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#d,state:this.state,fetchFn:a};return r(e),e})();this.options.behavior?.onFetch(s,this),this.#l=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===s.fetchOptions?.meta||this.#p({type:"fetch",meta:s.fetchOptions?.meta}),this.#u=Q({initialPromise:t?.initialPromise,fn:s.fetchFn,onCancel:e=>{e instanceof $&&e.revert&&this.setState({...this.#l,fetchStatus:"idle"}),n.abort()},onFail:(e,t)=>{this.#p({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0});try{const e=await this.#u.start();if(void 0===e)throw new Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#c.config.onSuccess?.(e,this),this.#c.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof $){if(e.silent)return this.#u.promise;if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#p({type:"error",error:e}),this.#c.config.onError?.(e,this),this.#c.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#p(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...z(t.data,this.options),fetchMeta:e.meta??null};case"success":const n={...t,...W(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#l=e.manual?n:void 0,n;case"error":const r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),M.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#c.notify({query:this,type:"updated",action:e})})}};function z(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:q(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function W(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function K(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,n=void 0!==t,r=n?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var V=class extends I{constructor(e={}){super(),this.config=e,this.#f=new Map}#f;build(e,t,n){const r=t.queryKey,a=t.queryHash??v(r,t);let s=this.get(a);return s||(s=new H({client:e,queryKey:r,queryHash:a,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(s)),s}add(e){this.#f.has(e.queryHash)||(this.#f.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#f.get(e.queryHash);t&&(e.destroy(),t===e&&this.#f.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){M.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#f.get(e)}getAll(){return[...this.#f.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(e=>y(t,e))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(t=>y(e,t)):t}notify(e){M.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){M.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){M.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},G=class extends B{#d;#y;#g;#u;constructor(e){super(),this.#d=e.client,this.mutationId=e.mutationId,this.#g=e.mutationCache,this.#y=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#y.includes(e)||(this.#y.push(e),this.clearGcTimeout(),this.#g.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#y=this.#y.filter(t=>t!==e),this.scheduleGc(),this.#g.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#y.length||("pending"===this.state.status?this.scheduleGc():this.#g.remove(this))}continue(){return this.#u?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#p({type:"continue"})},n={client:this.#d,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#u=Q({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{this.#p({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#p({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#g.canRun(this)});const r="pending"===this.state.status,a=!this.#u.canStart();try{if(r)t();else{this.#p({type:"pending",variables:e,isPaused:a}),this.#g.config.onMutate&&await this.#g.config.onMutate(e,this,n);const t=await(this.options.onMutate?.(e,n));t!==this.state.context&&this.#p({type:"pending",context:t,variables:e,isPaused:a})}const s=await this.#u.start();return await(this.#g.config.onSuccess?.(s,e,this.state.context,this,n)),await(this.options.onSuccess?.(s,e,this.state.context,n)),await(this.#g.config.onSettled?.(s,null,this.state.variables,this.state.context,this,n)),await(this.options.onSettled?.(s,null,e,this.state.context,n)),this.#p({type:"success",data:s}),s}catch(t){try{await(this.#g.config.onError?.(t,e,this.state.context,this,n))}catch(e){Promise.reject(e)}try{await(this.options.onError?.(t,e,this.state.context,n))}catch(e){Promise.reject(e)}try{await(this.#g.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n))}catch(e){Promise.reject(e)}try{await(this.options.onSettled?.(void 0,t,e,this.state.context,n))}catch(e){Promise.reject(e)}throw this.#p({type:"error",error:t}),t}finally{this.#g.runNext(this)}}#p(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),M.batch(()=>{this.#y.forEach(t=>{t.onMutationUpdate(e)}),this.#g.notify({mutation:this,type:"updated",action:e})})}},Y=class extends I{constructor(e={}){super(),this.config=e,this.#v=new Set,this.#b=new Map,this.#x=0}#v;#b;#x;build(e,t,n){const r=new G({client:e,mutationCache:this,mutationId:++this.#x,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#v.add(e);const t=X(e);if("string"==typeof t){const n=this.#b.get(t);n?n.push(e):this.#b.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#v.delete(e)){const t=X(e);if("string"==typeof t){const n=this.#b.get(t);if(n)if(n.length>1){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}else n[0]===e&&this.#b.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=X(e);if("string"==typeof t){const n=this.#b.get(t),r=n?.find(e=>"pending"===e.state.status);return!r||r===e}return!0}runNext(e){const t=X(e);if("string"==typeof t){const n=this.#b.get(t)?.find(t=>t!==e&&t.state.isPaused);return n?.continue()??Promise.resolve()}return Promise.resolve()}clear(){M.batch(()=>{this.#v.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#v.clear(),this.#b.clear()})}getAll(){return Array.from(this.#v)}find(e){const t={exact:!0,...e};return this.getAll().find(e=>g(t,e))}findAll(e={}){return this.getAll().filter(t=>g(e,t))}notify(e){M.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(e=>e.state.isPaused);return M.batch(()=>Promise.all(e.map(e=>e.continue().catch(u))))}};function X(e){return e.options.scope?.id}function J(e){return{onFetch:(t,n)=>{const r=t.options,a=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],i=t.state.data?.pageParams||[];let o={pages:[],pageParams:[]},l=0;const c=async()=>{let n=!1;const c=e=>{!function(e,n,r){let a,s=!1;Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(a??=t.signal,s||(s=!0,a.aborted?r():a.addEventListener("abort",r,{once:!0})),a)})}(e,0,()=>n=!0)},d=D(t.options,t.fetchOptions),u=async(e,r,a)=>{if(n)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);const s=(()=>{const e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:a?"backward":"forward",meta:t.options.meta};return c(e),e})(),i=await d(s),{maxPages:o}=t.options,l=a?T:N;return{pages:l(e.pages,i,o),pageParams:l(e.pageParams,r,o)}};if(a&&s.length){const e="backward"===a,t={pages:s,pageParams:i},n=(e?ee:Z)(r,t);o=await u(t,n,e)}else{const t=e??s.length;do{const e=0===l?i[0]??r.initialPageParam:Z(r,o);if(l>0&&null==e)break;o=await u(o,e),l++}while(l<t)}return o};t.options.persister?t.fetchFn=()=>t.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=c}}}function Z(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ee(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function te(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=te(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const ne=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=te(e))&&(r&&(r+=" "),r+=t);return r},re=e=>"number"==typeof e&&!isNaN(e),ae=e=>"string"==typeof e,se=e=>"function"==typeof e,ie=e=>ae(e)||se(e)?e:null,oe=e=>(0,r.isValidElement)(e)||ae(e)||se(e)||re(e);function le(e){let{enter:t,exit:n,appendPosition:a=!1,collapse:s=!0,collapseDuration:i=300}=e;return function(e){let{children:o,position:l,preventExitTransition:c,done:d,nodeRef:u,isIn:h}=e;const m=a?`${t}--${l}`:t,p=a?`${n}--${l}`:n,f=(0,r.useRef)(0);return(0,r.useLayoutEffect)(()=>{const e=u.current,t=m.split(" "),n=r=>{r.target===u.current&&(e.dispatchEvent(new Event("d")),e.removeEventListener("animationend",n),e.removeEventListener("animationcancel",n),0===f.current&&"animationcancel"!==r.type&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener("animationend",n),e.addEventListener("animationcancel",n)},[]),(0,r.useEffect)(()=>{const e=u.current,t=()=>{e.removeEventListener("animationend",t),s?function(e,t,n){void 0===n&&(n=300);const{scrollHeight:r,style:a}=e;requestAnimationFrame(()=>{a.minHeight="initial",a.height=r+"px",a.transition=`all ${n}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(t,n)})})}(e,d,i):d()};h||(c?t():(f.current=1,e.className+=` ${p}`,e.addEventListener("animationend",t)))},[h]),r.createElement(r.Fragment,null,o)}}function ce(e,t){return null!=e?{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}:{}}const de={list:new Map,emitQueue:new Map,on(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off(e,t){if(t){const n=this.list.get(e).filter(e=>e!==t);return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit(e){const t=this.emitQueue.get(e);return t&&(t.forEach(clearTimeout),this.emitQueue.delete(e)),this},emit(e){this.list.has(e)&&this.list.get(e).forEach(t=>{const n=setTimeout(()=>{t(...[].slice.call(arguments,1))},0);this.emitQueue.has(e)||this.emitQueue.set(e,[]),this.emitQueue.get(e).push(n)})}},ue=e=>{let{theme:t,type:n,...a}=e;return r.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...a})},he={info:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return r.createElement("div",{className:"Toastify__spinner"})}};function me(e){const[,t]=(0,r.useReducer)(e=>e+1,0),[n,a]=(0,r.useState)([]),s=(0,r.useRef)(null),i=(0,r.useRef)(new Map).current,o=e=>-1!==n.indexOf(e),l=(0,r.useRef)({toastKey:1,displayedToast:0,count:0,queue:[],props:e,containerId:null,isToastActive:o,getToast:e=>i.get(e)}).current;function c(e){let{containerId:t}=e;const{limit:n}=l.props;!n||t&&l.containerId!==t||(l.count-=l.queue.length,l.queue=[])}function d(e){a(t=>null==e?[]:t.filter(t=>t!==e))}function u(){const{toastContent:e,toastProps:t,staleId:n}=l.queue.shift();m(e,t,n)}function h(e,n){let{delay:a,staleId:o,...c}=n;if(!oe(e)||function(e){return!s.current||l.props.enableMultiContainer&&e.containerId!==l.props.containerId||i.has(e.toastId)&&null==e.updateId}(c))return;const{toastId:h,updateId:p,data:f}=c,{props:y}=l,g=()=>d(h),v=null==p;v&&l.count++;const b={...y,style:y.toastStyle,key:l.toastKey++,...Object.fromEntries(Object.entries(c).filter(e=>{let[t,n]=e;return null!=n})),toastId:h,updateId:p,data:f,closeToast:g,isIn:!1,className:ie(c.className||y.toastClassName),bodyClassName:ie(c.bodyClassName||y.bodyClassName),progressClassName:ie(c.progressClassName||y.progressClassName),autoClose:!c.isLoading&&(x=c.autoClose,w=y.autoClose,!1===x||re(x)&&x>0?x:w),deleteToast(){const e=ce(i.get(h),"removed");i.delete(h),de.emit(4,e);const n=l.queue.length;if(l.count=null==h?l.count-l.displayedToast:l.count-1,l.count<0&&(l.count=0),n>0){const e=null==h?l.props.limit:1;if(1===n||1===e)l.displayedToast++,u();else{const t=e>n?n:e;l.displayedToast=t;for(let e=0;e<t;e++)u()}}else t()}};var x,w;b.iconOut=function(e){let{theme:t,type:n,isLoading:a,icon:s}=e,i=null;const o={theme:t,type:n};return!1===s||(se(s)?i=s(o):(0,r.isValidElement)(s)?i=(0,r.cloneElement)(s,o):ae(s)||re(s)?i=s:a?i=he.spinner():(e=>e in he)(n)&&(i=he[n](o))),i}(b),se(c.onOpen)&&(b.onOpen=c.onOpen),se(c.onClose)&&(b.onClose=c.onClose),b.closeButton=y.closeButton,!1===c.closeButton||oe(c.closeButton)?b.closeButton=c.closeButton:!0===c.closeButton&&(b.closeButton=!oe(y.closeButton)||y.closeButton);let E=e;(0,r.isValidElement)(e)&&!ae(e.type)?E=(0,r.cloneElement)(e,{closeToast:g,toastProps:b,data:f}):se(e)&&(E=e({closeToast:g,toastProps:b,data:f})),y.limit&&y.limit>0&&l.count>y.limit&&v?l.queue.push({toastContent:E,toastProps:b,staleId:o}):re(a)?setTimeout(()=>{m(E,b,o)},a):m(E,b,o)}function m(e,t,n){const{toastId:r}=t;n&&i.delete(n);const s={content:e,props:t};i.set(r,s),a(e=>[...e,r].filter(e=>e!==n)),de.emit(4,ce(s,null==s.props.updateId?"added":"updated"))}return(0,r.useEffect)(()=>(l.containerId=e.containerId,de.cancelEmit(3).on(0,h).on(1,e=>s.current&&d(e)).on(5,c).emit(2,l),()=>{i.clear(),de.emit(3,l)}),[]),(0,r.useEffect)(()=>{l.props=e,l.isToastActive=o,l.displayedToast=n.length}),{getToastToRender:function(t){const n=new Map,r=Array.from(i.values());return e.newestOnTop&&r.reverse(),r.forEach(e=>{const{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)}),Array.from(n,e=>t(e[0],e[1]))},containerRef:s,isToastActive:o}}function pe(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function fe(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}function ye(e){const[t,n]=(0,r.useState)(!1),[a,s]=(0,r.useState)(!1),i=(0,r.useRef)(null),o=(0,r.useRef)({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,l=(0,r.useRef)(e),{autoClose:c,pauseOnHover:d,closeToast:u,onClick:h,closeOnClick:m}=e;function p(t){if(e.draggable){"touchstart"===t.nativeEvent.type&&t.nativeEvent.preventDefault(),o.didMove=!1,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),document.addEventListener("touchmove",v),document.addEventListener("touchend",b);const n=i.current;o.canCloseOnClick=!0,o.canDrag=!0,o.boundingRect=n.getBoundingClientRect(),n.style.transition="",o.x=pe(t.nativeEvent),o.y=fe(t.nativeEvent),"x"===e.draggableDirection?(o.start=o.x,o.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(o.start=o.y,o.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent/100))}}function f(t){if(o.boundingRect){const{top:n,bottom:r,left:a,right:s}=o.boundingRect;"touchend"!==t.nativeEvent.type&&e.pauseOnHover&&o.x>=a&&o.x<=s&&o.y>=n&&o.y<=r?g():y()}}function y(){n(!0)}function g(){n(!1)}function v(n){const r=i.current;o.canDrag&&r&&(o.didMove=!0,t&&g(),o.x=pe(n),o.y=fe(n),o.delta="x"===e.draggableDirection?o.x-o.start:o.y-o.start,o.start!==o.x&&(o.canCloseOnClick=!1),r.style.transform=`translate${e.draggableDirection}(${o.delta}px)`,r.style.opacity=""+(1-Math.abs(o.delta/o.removalDistance)))}function b(){document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),document.removeEventListener("touchmove",v),document.removeEventListener("touchend",b);const t=i.current;if(o.canDrag&&o.didMove&&t){if(o.canDrag=!1,Math.abs(o.delta)>o.removalDistance)return s(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform=`translate${e.draggableDirection}(0)`,t.style.opacity="1"}}(0,r.useEffect)(()=>{l.current=e}),(0,r.useEffect)(()=>(i.current&&i.current.addEventListener("d",y,{once:!0}),se(e.onOpen)&&e.onOpen((0,r.isValidElement)(e.children)&&e.children.props),()=>{const e=l.current;se(e.onClose)&&e.onClose((0,r.isValidElement)(e.children)&&e.children.props)}),[]),(0,r.useEffect)(()=>(e.pauseOnFocusLoss&&(document.hasFocus()||g(),window.addEventListener("focus",y),window.addEventListener("blur",g)),()=>{e.pauseOnFocusLoss&&(window.removeEventListener("focus",y),window.removeEventListener("blur",g))}),[e.pauseOnFocusLoss]);const x={onMouseDown:p,onTouchStart:p,onMouseUp:f,onTouchEnd:f};return c&&d&&(x.onMouseEnter=g,x.onMouseLeave=y),m&&(x.onClick=e=>{h&&h(e),o.canCloseOnClick&&u()}),{playToast:y,pauseToast:g,isRunning:t,preventExitTransition:a,toastRef:i,eventHandlers:x}}function ge(e){let{closeToast:t,theme:n,ariaLabel:a="close"}=e;return r.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:e=>{e.stopPropagation(),t(e)},"aria-label":a},r.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},r.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function ve(e){let{delay:t,isRunning:n,closeToast:a,type:s="default",hide:i,className:o,style:l,controlledProgress:c,progress:d,rtl:u,isIn:h,theme:m}=e;const p=i||c&&0===d,f={...l,animationDuration:`${t}ms`,animationPlayState:n?"running":"paused",opacity:p?0:1};c&&(f.transform=`scaleX(${d})`);const y=ne("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${m}`,`Toastify__progress-bar--${s}`,{"Toastify__progress-bar--rtl":u}),g=se(o)?o({rtl:u,type:s,defaultClassName:y}):ne(y,o);return r.createElement("div",{role:"progressbar","aria-hidden":p?"true":"false","aria-label":"notification timer",className:g,style:f,[c&&d>=1?"onTransitionEnd":"onAnimationEnd"]:c&&d<1?null:()=>{h&&a()}})}const be=e=>{const{isRunning:t,preventExitTransition:n,toastRef:a,eventHandlers:s}=ye(e),{closeButton:i,children:o,autoClose:l,onClick:c,type:d,hideProgressBar:u,closeToast:h,transition:m,position:p,className:f,style:y,bodyClassName:g,bodyStyle:v,progressClassName:b,progressStyle:x,updateId:w,role:E,progress:_,rtl:C,toastId:k,deleteToast:S,isIn:R,isLoading:N,iconOut:T,closeOnClick:O,theme:D}=e,L=ne("Toastify__toast",`Toastify__toast-theme--${D}`,`Toastify__toast--${d}`,{"Toastify__toast--rtl":C},{"Toastify__toast--close-on-click":O}),P=se(f)?f({rtl:C,position:p,type:d,defaultClassName:L}):ne(L,f),M=!!_||!l,I={closeToast:h,type:d,theme:D};let A=null;return!1===i||(A=se(i)?i(I):(0,r.isValidElement)(i)?(0,r.cloneElement)(i,I):ge(I)),r.createElement(m,{isIn:R,done:S,position:p,preventExitTransition:n,nodeRef:a},r.createElement("div",{id:k,onClick:c,className:P,...s,style:y,ref:a},r.createElement("div",{...R&&{role:E},className:se(g)?g({type:d}):ne("Toastify__toast-body",g),style:v},null!=T&&r.createElement("div",{className:ne("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!N})},T),r.createElement("div",null,o)),A,r.createElement(ve,{...w&&!M?{key:`pb-${w}`}:{},rtl:C,theme:D,delay:l,isRunning:t,isIn:R,closeToast:h,hide:u,type:d,style:x,className:b,controlledProgress:M,progress:_||0})))},xe=function(e,t){return void 0===t&&(t=!1),{enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}},we=le(xe("bounce",!0)),Ee=(le(xe("slide",!0)),le(xe("zoom")),le(xe("flip")),(0,r.forwardRef)((e,t)=>{const{getToastToRender:n,containerRef:a,isToastActive:s}=me(e),{className:i,style:o,rtl:l,containerId:c}=e;function d(e){const t=ne("Toastify__toast-container",`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":l});return se(i)?i({position:e,rtl:l,defaultClassName:t}):ne(t,ie(i))}return(0,r.useEffect)(()=>{t&&(t.current=a.current)},[]),r.createElement("div",{ref:a,className:"Toastify",id:c},n((e,t)=>{const n=t.length?{...o}:{...o,pointerEvents:"none"};return r.createElement("div",{className:d(e),style:n,key:`container-${e}`},t.map((e,n)=>{let{content:a,props:i}=e;return r.createElement(be,{...i,isIn:s(i.toastId),style:{...i.style,"--nth":n+1,"--len":t.length},key:`toast-${i.key}`},a)}))}))}));Ee.displayName="ToastContainer",Ee.defaultProps={position:"top-right",transition:we,autoClose:5e3,closeButton:ge,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,draggable:!0,draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};let _e,Ce=new Map,ke=[],Se=1;function Re(){return""+Se++}function Ne(e){return e&&(ae(e.toastId)||re(e.toastId))?e.toastId:Re()}function Te(e,t){return Ce.size>0?de.emit(0,e,t):ke.push({content:e,options:t}),t.toastId}function Oe(e,t){return{...t,type:t&&t.type||e,toastId:Ne(t)}}function De(e){return(t,n)=>Te(t,Oe(e,n))}function Le(e,t){return Te(e,Oe("default",t))}Le.loading=(e,t)=>Te(e,Oe("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),Le.promise=function(e,t,n){let r,{pending:a,error:s,success:i}=t;a&&(r=ae(a)?Le.loading(a,n):Le.loading(a.render,{...n,...a}));const o={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(e,t,a)=>{if(null==t)return void Le.dismiss(r);const s={type:e,...o,...n,data:a},i=ae(t)?{render:t}:t;return r?Le.update(r,{...s,...i}):Le(i.render,{...s,...i}),a},c=se(e)?e():e;return c.then(e=>l("success",i,e)).catch(e=>l("error",s,e)),c},Le.success=De("success"),Le.info=De("info"),Le.error=De("error"),Le.warning=De("warning"),Le.warn=Le.warning,Le.dark=(e,t)=>Te(e,Oe("default",{theme:"dark",...t})),Le.dismiss=e=>{Ce.size>0?de.emit(1,e):ke=ke.filter(t=>null!=e&&t.options.toastId!==e)},Le.clearWaitingQueue=function(e){return void 0===e&&(e={}),de.emit(5,e)},Le.isActive=e=>{let t=!1;return Ce.forEach(n=>{n.isToastActive&&n.isToastActive(e)&&(t=!0)}),t},Le.update=function(e,t){void 0===t&&(t={}),setTimeout(()=>{const n=function(e,t){let{containerId:n}=t;const r=Ce.get(n||_e);return r&&r.getToast(e)}(e,t);if(n){const{props:r,content:a}=n,s={delay:100,...r,...t,toastId:t.toastId||e,updateId:Re()};s.toastId!==e&&(s.staleId=e);const i=s.render||a;delete s.render,Te(i,s)}},0)},Le.done=e=>{Le.update(e,{progress:1})},Le.onChange=e=>(de.on(4,e),()=>{de.off(4,e)}),Le.POSITION={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},Le.TYPE={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"},de.on(2,e=>{_e=e.containerId||e,Ce.set(_e,e),ke.forEach(e=>{de.emit(0,e.content,e.options)}),ke=[]}).on(3,e=>{Ce.delete(e.containerId||e),0===Ce.size&&de.off(0).off(1).off(5)});const Pe=e=>{Array.isArray(e)?e.forEach(e=>{Le.error(e.message)}):Le.error(e.message)},Me=new class{#w;#g;#h;#E;#_;#C;#k;#S;constructor(e={}){this.#w=e.queryCache||new V,this.#g=e.mutationCache||new Y,this.#h=e.defaultOptions||{},this.#E=new Map,this.#_=new Map,this.#C=0}mount(){this.#C++,1===this.#C&&(this.#k=A.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#w.onFocus())}),this.#S=F.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#w.onOnline())}))}unmount(){this.#C--,0===this.#C&&(this.#k?.(),this.#k=void 0,this.#S?.(),this.#S=void 0)}isFetching(e){return this.#w.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#g.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#w.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=this.#w.build(this,t),r=n.state.data;return void 0===r?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(p(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#w.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),a=this.#w.get(r.queryHash),s=a?.state.data,i=function(e,t){return"function"==typeof e?e(t):e}(t,s);if(void 0!==i)return this.#w.build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return M.batch(()=>this.#w.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#w.get(t.queryHash)?.state}removeQueries(e){const t=this.#w;M.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){const n=this.#w;return M.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=M.batch(()=>this.#w.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(u).catch(u)}invalidateQueries(e,t={}){return M.batch(()=>(this.#w.findAll(e).forEach(e=>{e.invalidate()}),"none"===e?.refetchType?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=M.batch(()=>this.#w.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(u)),"paused"===e.state.fetchStatus?Promise.resolve():t}));return Promise.all(r).then(u)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const n=this.#w.build(this,t);return n.isStaleByTime(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(u).catch(u)}fetchInfiniteQuery(e){return e.behavior=J(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(u).catch(u)}ensureInfiniteQueryData(e){return e.behavior=J(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return F.isOnline()?this.#g.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#w}getMutationCache(){return this.#g}getDefaultOptions(){return this.#h}setDefaultOptions(e){this.#h=e}setQueryDefaults(e,t){this.#E.set(b(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#E.values()],n={};return t.forEach(t=>{x(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#_.set(b(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#_.values()],n={};return t.forEach(t=>{x(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#h.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=v(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===O&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#h.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#w.clear(),this.#g.clear()}}({defaultOptions:{queries:{staleTime:1/0,retry:!1}},queryCache:new V({onError:Pe}),mutationCache:new Y({onError:Pe})}),Ie=window.ReactDOM;function Ae(){return Ae=Object.assign?Object.assign.bind():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},Ae.apply(this,arguments)}var Fe;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(Fe||(Fe={}));const je="popstate";function Ue(e,t){if(!1===e||null==e)throw new Error(t)}function qe(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function $e(e,t){return{usr:e.state,key:e.key,idx:t}}function Qe(e,t,n,r){return void 0===n&&(n=null),Ae({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?He(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function Be(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function He(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function ze(e,t,n,r){void 0===r&&(r={});let{window:a=document.defaultView,v5Compat:s=!1}=r,i=a.history,o=Fe.Pop,l=null,c=d();function d(){return(i.state||{idx:null}).idx}function u(){o=Fe.Pop;let e=d(),t=null==e?null:e-c;c=e,l&&l({action:o,location:m.location,delta:t})}function h(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,n="string"==typeof e?e:Be(e);return n=n.replace(/ $/,"%20"),Ue(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==c&&(c=0,i.replaceState(Ae({},i.state,{idx:c}),""));let m={get action(){return o},get location(){return e(a,i)},listen(e){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(je,u),l=e,()=>{a.removeEventListener(je,u),l=null}},createHref:e=>t(a,e),createURL:h,encodeLocation(e){let t=h(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){o=Fe.Push;let r=Qe(m.location,e,t);n&&n(r,e),c=d()+1;let u=$e(r,c),h=m.createHref(r);try{i.pushState(u,"",h)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(h)}s&&l&&l({action:o,location:m.location,delta:1})},replace:function(e,t){o=Fe.Replace;let r=Qe(m.location,e,t);n&&n(r,e),c=d();let a=$e(r,c),u=m.createHref(r);i.replaceState(a,"",u),s&&l&&l({action:o,location:m.location,delta:0})},go:e=>i.go(e)};return m}var We;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(We||(We={}));const Ke=new Set(["lazy","caseSensitive","path","id","index","children"]);function Ve(e,t,n,r){return void 0===n&&(n=[]),void 0===r&&(r={}),e.map((e,a)=>{let s=[...n,String(a)],i="string"==typeof e.id?e.id:s.join("-");if(Ue(!0!==e.index||!e.children,"Cannot specify children on an index route"),Ue(!r[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let n=Ae({},e,t(e),{id:i});return r[i]=n,n}{let n=Ae({},e,t(e),{id:i,children:void 0});return r[i]=n,e.children&&(n.children=Ve(e.children,t,s,r)),n}})}function Ge(e,t,n){return void 0===n&&(n="/"),Ye(e,t,n,!1)}function Ye(e,t,n,r){let a=st(("string"==typeof t?He(t):t).pathname||"/",n);if(null==a)return null;let s=Xe(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n]);return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(s);let i=null;for(let e=0;null==i&&e<s.length;++e){let t=at(a);i=nt(s[e],t,r)}return i}function Xe(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");let a=(e,a,s)=>{let i={relativePath:void 0===s?e.path||"":s,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(Ue(i.relativePath.startsWith(r),'Absolute route path "'+i.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(r.length));let o=ht([r,i.relativePath]),l=n.concat(i);e.children&&e.children.length>0&&(Ue(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),Xe(e.children,t,l,o)),(null!=e.path||e.index)&&t.push({path:o,score:tt(o,e.index),routesMeta:l})};return e.forEach((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let n of Je(e.path))a(e,t,n);else a(e,t)}),t}function Je(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),s=n.replace(/\?$/,"");if(0===r.length)return a?[s,""]:[s];let i=Je(r.join("/")),o=[];return o.push(...i.map(e=>""===e?s:[s,e].join("/"))),a&&o.push(...i),o.map(t=>e.startsWith("/")&&""===t?"/":t)}const Ze=/^:[\w-]+$/,et=e=>"*"===e;function tt(e,t){let n=e.split("/"),r=n.length;return n.some(et)&&(r+=-2),t&&(r+=2),n.filter(e=>!et(e)).reduce((e,t)=>e+(Ze.test(t)?3:""===t?1:10),r)}function nt(e,t,n){void 0===n&&(n=!1);let{routesMeta:r}=e,a={},s="/",i=[];for(let e=0;e<r.length;++e){let o=r[e],l=e===r.length-1,c="/"===s?t:t.slice(s.length)||"/",d=rt({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},c),u=o.route;if(!d&&l&&n&&!r[r.length-1].route.index&&(d=rt({path:o.relativePath,caseSensitive:o.caseSensitive,end:!1},c)),!d)return null;Object.assign(a,d.params),i.push({params:a,pathname:ht([s,d.pathname]),pathnameBase:mt(ht([s,d.pathnameBase])),route:u}),"/"!==d.pathnameBase&&(s=ht([s,d.pathnameBase]))}return i}function rt(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!0),qe("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let s=a[0],i=s.replace(/(.)\/+$/,"$1"),o=a.slice(1);return{params:r.reduce((e,t,n)=>{let{paramName:r,isOptional:a}=t;if("*"===r){let e=o[n]||"";i=s.slice(0,s.length-e.length).replace(/(.)\/+$/,"$1")}const l=o[n];return e[r]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:s,pathnameBase:i,pattern:e}}function at(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return qe(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function st(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}const it=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ot(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}function lt(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function ct(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function dt(e,t){let n=ct(e);return t?n.map((e,t)=>t===n.length-1?e.pathname:e.pathnameBase):n.map(e=>e.pathnameBase)}function ut(e,t,n,r){let a;void 0===r&&(r=!1),"string"==typeof e?a=He(e):(a=Ae({},e),Ue(!a.pathname||!a.pathname.includes("?"),lt("?","pathname","search",a)),Ue(!a.pathname||!a.pathname.includes("#"),lt("#","pathname","hash",a)),Ue(!a.search||!a.search.includes("#"),lt("#","search","hash",a)));let s,i=""===e||""===a.pathname,o=i?"/":a.pathname;if(null==o)s=n;else{let e=t.length-1;if(!r&&o.startsWith("..")){let t=o.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}s=e>=0?t[e]:"/"}let l=function(e,t){void 0===t&&(t="/");let n,{pathname:r,search:a="",hash:s=""}="string"==typeof e?He(e):e;if(r)if((e=>it.test(e))(r))n=r;else{if(r.includes("//")){let e=r;r=r.replace(/\/\/+/g,"/"),qe(!1,"Pathnames cannot have embedded double slashes - normalizing "+e+" -> "+r)}n=r.startsWith("/")?ot(r.substring(1),"/"):ot(r,t)}else n=t;return{pathname:n,search:pt(a),hash:ft(s)}}(a,s),c=o&&"/"!==o&&o.endsWith("/"),d=(i||"."===o)&&n.endsWith("/");return l.pathname.endsWith("/")||!c&&!d||(l.pathname+="/"),l}const ht=e=>e.join("/").replace(/\/\/+/g,"/"),mt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),pt=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",ft=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;class yt{constructor(e,t,n,r){void 0===r&&(r=!1),this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function gt(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}const vt=["post","put","patch","delete"],bt=new Set(vt),xt=["get",...vt],wt=new Set(xt),Et=new Set([301,302,303,307,308]),_t=new Set([307,308]),Ct={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},kt={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},St={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Rt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Nt=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),Tt="remix-router-transitions";function Ot(e){const t=e.window?e.window:"undefined"!=typeof window?window:void 0,n=void 0!==t&&void 0!==t.document&&void 0!==t.document.createElement,r=!n;let a;if(Ue(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;a=e=>({hasErrorBoundary:t(e)})}else a=Nt;let s,i,o,l={},c=Ve(e.routes,a,void 0,l),d=e.basename||"/",u=e.dataStrategy||qt,h=e.patchRoutesOnNavigation,m=Ae({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),p=null,f=new Set,y=null,g=null,v=null,b=null!=e.hydrationData,x=Ge(c,e.history.location,d),w=!1,E=null;if(null==x&&!h){let t=Jt(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=Xt(c);x=n,E={[r.id]:t}}if(x&&!e.hydrationData&&pe(x,c,e.history.location.pathname).active&&(x=null),x)if(x.some(e=>e.route.lazy))i=!1;else if(x.some(e=>e.route.loader))if(m.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null;if(n){let e=x.findIndex(e=>void 0!==n[e.route.id]);i=x.slice(0,e+1).every(e=>!It(e.route,t,n))}else i=x.every(e=>!It(e.route,t,n))}else i=null!=e.hydrationData;else i=!0;else if(i=!1,x=[],m.v7_partialHydration){let t=pe(null,c,e.history.location.pathname);t.active&&t.matches&&(w=!0,x=t.matches)}let _,C,k={historyAction:e.history.action,location:e.history.location,matches:x,initialized:i,navigation:Ct,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||E,fetchers:new Map,blockers:new Map},S=Fe.Pop,R=!1,N=!1,T=new Map,O=null,D=!1,L=!1,P=[],M=new Set,I=new Map,A=0,F=-1,j=new Map,U=new Set,q=new Map,$=new Map,Q=new Set,B=new Map,H=new Map;function z(e,t){void 0===t&&(t={}),k=Ae({},k,e);let n=[],r=[];m.v7_fetcherPersist&&k.fetchers.forEach((e,t)=>{"idle"===e.state&&(Q.has(t)?r.push(t):n.push(t))}),Q.forEach(e=>{k.fetchers.has(e)||I.has(e)||r.push(e)}),[...f].forEach(e=>e(k,{deletedFetchers:r,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),m.v7_fetcherPersist?(n.forEach(e=>k.fetchers.delete(e)),r.forEach(e=>ne(e))):r.forEach(e=>Q.delete(e))}function W(t,n,r){var a,i;let o,{flushSync:l}=void 0===r?{}:r,d=null!=k.actionData&&null!=k.navigation.formMethod&&ln(k.navigation.formMethod)&&"loading"===k.navigation.state&&!0!==(null==(a=t.state)?void 0:a._isRedirect);o=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:d?k.actionData:null;let u=n.loaderData?Vt(k.loaderData,n.loaderData,n.matches||[],n.errors):k.loaderData,h=k.blockers;h.size>0&&(h=new Map(h),h.forEach((e,t)=>h.set(t,St)));let m,p=!0===R||null!=k.navigation.formMethod&&ln(k.navigation.formMethod)&&!0!==(null==(i=t.state)?void 0:i._isRedirect);if(s&&(c=s,s=void 0),D||S===Fe.Pop||(S===Fe.Push?e.history.push(t,t.state):S===Fe.Replace&&e.history.replace(t,t.state)),S===Fe.Pop){let e=T.get(k.location.pathname);e&&e.has(t.pathname)?m={currentLocation:k.location,nextLocation:t}:T.has(t.pathname)&&(m={currentLocation:t,nextLocation:k.location})}else if(N){let e=T.get(k.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),T.set(k.location.pathname,e)),m={currentLocation:k.location,nextLocation:t}}z(Ae({},n,{actionData:o,loaderData:u,historyAction:S,location:t,initialized:!0,navigation:Ct,revalidation:"idle",restoreScrollPosition:me(t,n.matches||k.matches),preventScrollReset:p,blockers:h}),{viewTransitionOpts:m,flushSync:!0===l}),S=Fe.Pop,R=!1,N=!1,D=!1,L=!1,P=[]}async function K(t,n,r){_&&_.abort(),_=null,S=t,D=!0===(r&&r.startUninterruptedRevalidation),function(e,t){if(y&&v){let n=he(e,t);y[n]=v()}}(k.location,k.matches),R=!0===(r&&r.preventScrollReset),N=!0===(r&&r.enableViewTransition);let a=s||c,i=r&&r.overrideNavigation,o=null!=r&&r.initialHydration&&k.matches&&k.matches.length>0&&!w?k.matches:Ge(a,n,d),l=!0===(r&&r.flushSync);if(o&&k.initialized&&!L&&function(e,t){return e.pathname===t.pathname&&e.search===t.search&&(""===e.hash?""!==t.hash:e.hash===t.hash||""!==t.hash)}(k.location,n)&&!(r&&r.submission&&ln(r.submission.formMethod)))return void W(n,{matches:o},{flushSync:l});let u=pe(o,a,n.pathname);if(u.active&&u.matches&&(o=u.matches),!o){let{error:e,notFoundMatches:t,route:r}=de(n.pathname);return void W(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:l})}_=new AbortController;let h,p=Ht(e.history,n,_.signal,r&&r.submission);if(r&&r.pendingError)h=[Yt(o).route.id,{type:We.error,error:r.pendingError}];else if(r&&r.submission&&ln(r.submission.formMethod)){let t=await async function(t,n,r,a,s,i){void 0===i&&(i={}),J();let o,l=function(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}(n,r);if(z({navigation:l},{flushSync:!0===i.flushSync}),s){let e=await fe(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Yt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:We.error,error:e.error}]}}if(!e.matches){let{notFoundMatches:e,error:t,route:r}=de(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:We.error,error:t}]}}a=e.matches}let c=mn(a,n);if(c.route.action||c.route.lazy){if(o=(await Y("action",k,t,[c],a,null))[c.route.id],t.signal.aborted)return{shortCircuited:!0}}else o={type:We.error,error:Jt(405,{method:t.method,pathname:n.pathname,routeId:c.route.id})};if(an(o)){let n;return n=i&&null!=i.replace?i.replace:Bt(o.response.headers.get("Location"),new URL(t.url),d,e.history)===k.location.pathname+k.location.search,await G(t,o,!0,{submission:r,replace:n}),{shortCircuited:!0}}if(nn(o))throw Jt(400,{type:"defer-action"});if(rn(o)){let e=Yt(a,c.route.id);return!0!==(i&&i.replace)&&(S=Fe.Push),{matches:a,pendingActionResult:[e.route.id,o]}}return{matches:a,pendingActionResult:[c.route.id,o]}}(p,n,r.submission,o,u.active,{replace:r.replace,flushSync:l});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(rn(r)&>(r.error)&&404===r.error.status)return _=null,void W(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}})}o=t.matches||o,h=t.pendingActionResult,i=fn(n,r.submission),l=!1,u.active=!1,p=Ht(e.history,p.url,p.signal)}let{shortCircuited:f,matches:g,loaderData:b,errors:x}=await async function(t,n,r,a,i,o,l,u,h,p,f){let y=i||fn(n,o),g=o||l||pn(y),v=!(D||m.v7_partialHydration&&h);if(a){if(v){let e=V(f);z(Ae({navigation:y},void 0!==e?{actionData:e}:{}),{flushSync:p})}let e=await fe(r,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Yt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:r}=de(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}r=e.matches}let b=s||c,[x,w]=Mt(e.history,k,r,g,n,m.v7_partialHydration&&!0===h,m.v7_skipActionErrorRevalidation,L,P,M,Q,q,U,b,d,f);if(ue(e=>!(r&&r.some(t=>t.route.id===e))||x&&x.some(t=>t.route.id===e)),F=++A,0===x.length&&0===w.length){let e=se();return W(n,Ae({matches:r,loaderData:{},errors:f&&rn(f[1])?{[f[0]]:f[1].error}:null},Gt(f),e?{fetchers:new Map(k.fetchers)}:{}),{flushSync:p}),{shortCircuited:!0}}if(v){let e={};if(!a){e.navigation=y;let t=V(f);void 0!==t&&(e.actionData=t)}w.length>0&&(e.fetchers=function(e){return e.forEach(e=>{let t=k.fetchers.get(e.key),n=yn(void 0,t?t.data:void 0);k.fetchers.set(e.key,n)}),new Map(k.fetchers)}(w)),z(e,{flushSync:p})}w.forEach(e=>{re(e.key),e.controller&&I.set(e.key,e.controller)});let E=()=>w.forEach(e=>re(e.key));_&&_.signal.addEventListener("abort",E);let{loaderResults:C,fetcherResults:S}=await X(k,r,x,w,t);if(t.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",E),w.forEach(e=>I.delete(e.key));let R=Zt(C);if(R)return await G(t,R.result,!0,{replace:u}),{shortCircuited:!0};if(R=Zt(S),R)return U.add(R.key),await G(t,R.result,!0,{replace:u}),{shortCircuited:!0};let{loaderData:N,errors:T}=Kt(k,r,C,f,w,S,B);B.forEach((e,t)=>{e.subscribe(n=>{(n||e.done)&&B.delete(t)})}),m.v7_partialHydration&&h&&k.errors&&(T=Ae({},k.errors,T));let O=se(),j=ie(F),$=O||j||w.length>0;return Ae({matches:r,loaderData:N,errors:T},$?{fetchers:new Map(k.fetchers)}:{})}(p,n,o,u.active,i,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&!0===r.initialHydration,l,h);f||(_=null,W(n,Ae({matches:g||o},Gt(h),{loaderData:b,errors:x})))}function V(e){return e&&!rn(e[1])?{[e[0]]:e[1].data}:k.actionData?0===Object.keys(k.actionData).length?null:k.actionData:void 0}async function G(r,a,s,i){let{submission:o,fetcherSubmission:l,preventScrollReset:c,replace:u}=void 0===i?{}:i;a.response.headers.has("X-Remix-Revalidate")&&(L=!0);let h=a.response.headers.get("Location");Ue(h,"Expected a Location header on the redirect Response"),h=Bt(h,new URL(r.url),d,e.history);let m=Qe(k.location,h,{_isRedirect:!0});if(n){let n=!1;if(a.response.headers.has("X-Remix-Reload-Document"))n=!0;else if(Rt.test(h)){const r=e.history.createURL(h);n=r.origin!==t.location.origin||null==st(r.pathname,d)}if(n)return void(u?t.location.replace(h):t.location.assign(h))}_=null;let p=!0===u||a.response.headers.has("X-Remix-Replace")?Fe.Replace:Fe.Push,{formMethod:f,formAction:y,formEncType:g}=k.navigation;!o&&!l&&f&&y&&g&&(o=pn(k.navigation));let v=o||l;if(_t.has(a.response.status)&&v&&ln(v.formMethod))await K(p,m,{submission:Ae({},v,{formAction:h}),preventScrollReset:c||R,enableViewTransition:s?N:void 0});else{let e=fn(m,o);await K(p,m,{overrideNavigation:e,fetcherSubmission:l,preventScrollReset:c||R,enableViewTransition:s?N:void 0})}}async function Y(e,t,n,r,s,i){let o,c={};try{o=await async function(e,t,n,r,a,s,i,o,l,c){let d=s.map(e=>e.route.lazy?async function(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let a=n[e.id];Ue(a,"No route found in manifest");let s={};for(let e in r){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;qe(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||Ke.has(e)||(s[e]=r[e])}Object.assign(a,s),Object.assign(a,Ae({},t(a),{lazy:void 0}))}(e.route,l,o):void 0),u=s.map((e,n)=>{let s=d[n],i=a.some(t=>t.route.id===e.route.id);return Ae({},e,{shouldLoad:i,resolve:async n=>(n&&"GET"===r.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?async function(e,t,n,r,a,s){let i,o,l=r=>{let i,l=new Promise((e,t)=>i=t);o=()=>i(),t.signal.addEventListener("abort",o);let c=a=>"function"!=typeof r?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+n.route.id+"]")):r({request:t,params:n.params,context:s},...void 0!==a?[a]:[]),d=(async()=>{try{return{type:"data",result:await(a?a(e=>c(e)):c())}}catch(e){return{type:"error",result:e}}})();return Promise.race([d,l])};try{let a=n.route[e];if(r)if(a){let e,[t]=await Promise.all([l(a).catch(t=>{e=t}),r]);if(void 0!==e)throw e;i=t}else{if(await r,a=n.route[e],!a){if("action"===e){let e=new URL(t.url),r=e.pathname+e.search;throw Jt(405,{method:t.method,pathname:r,routeId:n.route.id})}return{type:We.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Jt(404,{pathname:e.pathname+e.search})}i=await l(a)}Ue(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+' for route "'+n.route.id+"\" but didn't return anything from your `"+e+"` function. Please return a value or `null`.")}catch(e){return{type:We.error,result:e}}finally{o&&t.signal.removeEventListener("abort",o)}return i}(t,r,e,s,n,c):Promise.resolve({type:We.data,result:void 0}))})}),h=await e({matches:u,request:r,params:s[0].params,fetcherKey:i,context:c});try{await Promise.all(d)}catch(e){}return h}(u,e,0,n,r,s,i,l,a)}catch(e){return r.forEach(t=>{c[t.route.id]={type:We.error,error:e}}),c}for(let[e,t]of Object.entries(o))if(tn(t)){let r=t.result;c[e]={type:We.redirect,response:Qt(r,n,e,s,d,m.v7_relativeSplatPath)}}else c[e]=await $t(t);return c}async function X(t,n,r,a,s){let i=t.matches,o=Y("loader",0,s,r,n,null),l=Promise.all(a.map(async t=>{if(t.matches&&t.match&&t.controller){let n=(await Y("loader",0,Ht(e.history,t.path,t.controller.signal),[t.match],t.matches,t.key))[t.match.route.id];return{[t.key]:n}}return Promise.resolve({[t.key]:{type:We.error,error:Jt(404,{pathname:t.path})}})})),c=await o,d=(await l).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([cn(n,c,s.signal,i,t.loaderData),dn(n,d,a)]),{loaderResults:c,fetcherResults:d}}function J(){L=!0,P.push(...ue()),q.forEach((e,t)=>{I.has(t)&&M.add(t),re(t)})}function Z(e,t,n){void 0===n&&(n={}),k.fetchers.set(e,t),z({fetchers:new Map(k.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function ee(e,t,n,r){void 0===r&&(r={});let a=Yt(k.matches,t);ne(e),z({errors:{[a.route.id]:n},fetchers:new Map(k.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function te(e){return $.set(e,($.get(e)||0)+1),Q.has(e)&&Q.delete(e),k.fetchers.get(e)||kt}function ne(e){let t=k.fetchers.get(e);!I.has(e)||t&&"loading"===t.state&&j.has(e)||re(e),q.delete(e),j.delete(e),U.delete(e),m.v7_fetcherPersist&&Q.delete(e),M.delete(e),k.fetchers.delete(e)}function re(e){let t=I.get(e);t&&(t.abort(),I.delete(e))}function ae(e){for(let t of e){let e=gn(te(t).data);k.fetchers.set(t,e)}}function se(){let e=[],t=!1;for(let n of U){let r=k.fetchers.get(n);Ue(r,"Expected fetcher: "+n),"loading"===r.state&&(U.delete(n),e.push(n),t=!0)}return ae(e),t}function ie(e){let t=[];for(let[n,r]of j)if(r<e){let e=k.fetchers.get(n);Ue(e,"Expected fetcher: "+n),"loading"===e.state&&(re(n),j.delete(n),t.push(n))}return ae(t),t.length>0}function oe(e){k.blockers.delete(e),H.delete(e)}function le(e,t){let n=k.blockers.get(e)||St;Ue("unblocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"proceeding"===t.state||"blocked"===n.state&&"unblocked"===t.state||"proceeding"===n.state&&"unblocked"===t.state,"Invalid blocker state transition: "+n.state+" -> "+t.state);let r=new Map(k.blockers);r.set(e,t),z({blockers:r})}function ce(e){let{currentLocation:t,nextLocation:n,historyAction:r}=e;if(0===H.size)return;H.size>1&&qe(!1,"A router only supports one blocker at a time");let a=Array.from(H.entries()),[s,i]=a[a.length-1],o=k.blockers.get(s);return o&&"proceeding"===o.state?void 0:i({currentLocation:t,nextLocation:n,historyAction:r})?s:void 0}function de(e){let t=Jt(404,{pathname:e}),n=s||c,{matches:r,route:a}=Xt(n);return ue(),{notFoundMatches:r,route:a,error:t}}function ue(e){let t=[];return B.forEach((n,r)=>{e&&!e(r)||(n.cancel(),t.push(r),B.delete(r))}),t}function he(e,t){if(g){let n=g(e,t.map(e=>function(e,t){let{route:n,pathname:r,params:a}=e;return{id:n.id,pathname:r,params:a,data:t[n.id],handle:n.handle}}(e,k.loaderData)));return n||e.key}return e.key}function me(e,t){if(y){let n=he(e,t),r=y[n];if("number"==typeof r)return r}return null}function pe(e,t,n){if(h){if(!e)return{active:!0,matches:Ye(t,n,d,!0)||[]};if(Object.keys(e[0].params).length>0)return{active:!0,matches:Ye(t,n,d,!0)}}return{active:!1,matches:null}}async function fe(e,t,n,r){if(!h)return{type:"success",matches:e};let i=e;for(;;){let e=null==s,o=s||c,u=l;try{await h({signal:n,path:t,matches:i,fetcherKey:r,patch:(e,t)=>{n.aborted||jt(e,t,o,u,a)}})}catch(e){return{type:"error",error:e,partialMatches:i}}finally{e&&!n.aborted&&(c=[...c])}if(n.aborted)return{type:"aborted"};let m=Ge(o,t,d);if(m)return{type:"success",matches:m};let p=Ye(o,t,d,!0);if(!p||i.length===p.length&&i.every((e,t)=>e.route.id===p[t].route.id))return{type:"success",matches:null};i=p}}return o={get basename(){return d},get future(){return m},get state(){return k},get routes(){return c},get window(){return t},initialize:function(){if(p=e.history.listen(t=>{let{action:n,location:r,delta:a}=t;if(C)return C(),void(C=void 0);qe(0===H.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let s=ce({currentLocation:k.location,nextLocation:r,historyAction:n});if(s&&null!=a){let t=new Promise(e=>{C=e});return e.history.go(-1*a),void le(s,{state:"blocked",location:r,proceed(){le(s,{state:"proceeding",proceed:void 0,reset:void 0,location:r}),t.then(()=>e.history.go(a))},reset(){let e=new Map(k.blockers);e.set(s,St),z({blockers:e})}})}return K(n,r)}),n){!function(e,t){try{let n=e.sessionStorage.getItem(Tt);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch(e){}}(t,T);let e=()=>function(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Tt,JSON.stringify(n))}catch(e){qe(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}}(t,T);t.addEventListener("pagehide",e),O=()=>t.removeEventListener("pagehide",e)}return k.initialized||K(Fe.Pop,k.location,{initialHydration:!0}),o},subscribe:function(e){return f.add(e),()=>f.delete(e)},enableScrollRestoration:function(e,t,n){if(y=e,v=t,g=n||null,!b&&k.navigation===Ct){b=!0;let e=me(k.location,k.matches);null!=e&&z({restoreScrollPosition:e})}return()=>{y=null,v=null,g=null}},navigate:async function t(n,r){if("number"==typeof n)return void e.history.go(n);let a=Dt(k.location,k.matches,d,m.v7_prependBasename,n,m.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:s,submission:i,error:o}=Lt(m.v7_normalizeFormMethod,!1,a,r),l=k.location,c=Qe(k.location,s,r&&r.state);c=Ae({},c,e.history.encodeLocation(c));let u=r&&null!=r.replace?r.replace:void 0,h=Fe.Push;!0===u?h=Fe.Replace:!1===u||null!=i&&ln(i.formMethod)&&i.formAction===k.location.pathname+k.location.search&&(h=Fe.Replace);let p=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,f=!0===(r&&r.flushSync),y=ce({currentLocation:l,nextLocation:c,historyAction:h});if(!y)return await K(h,c,{submission:i,pendingError:o,preventScrollReset:p,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:f});le(y,{state:"blocked",location:c,proceed(){le(y,{state:"proceeding",proceed:void 0,reset:void 0,location:c}),t(n,r)},reset(){let e=new Map(k.blockers);e.set(y,St),z({blockers:e})}})},fetch:function(t,n,a,i){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");re(t);let o=!0===(i&&i.flushSync),l=s||c,u=Dt(k.location,k.matches,d,m.v7_prependBasename,a,m.v7_relativeSplatPath,n,null==i?void 0:i.relative),h=Ge(l,u,d),p=pe(h,l,u);if(p.active&&p.matches&&(h=p.matches),!h)return void ee(t,n,Jt(404,{pathname:u}),{flushSync:o});let{path:f,submission:y,error:g}=Lt(m.v7_normalizeFormMethod,!0,u,i);if(g)return void ee(t,n,g,{flushSync:o});let v=mn(h,f),b=!0===(i&&i.preventScrollReset);y&&ln(y.formMethod)?async function(t,n,r,a,i,o,l,u,h){function p(e){if(!e.route.action&&!e.route.lazy){let e=Jt(405,{method:h.formMethod,pathname:r,routeId:n});return ee(t,n,e,{flushSync:l}),!0}return!1}if(J(),q.delete(t),!o&&p(a))return;let f=k.fetchers.get(t);Z(t,function(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}(h,f),{flushSync:l});let y=new AbortController,g=Ht(e.history,r,y.signal,h);if(o){let e=await fe(i,new URL(g.url).pathname,g.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void ee(t,n,e.error,{flushSync:l});if(!e.matches)return void ee(t,n,Jt(404,{pathname:r}),{flushSync:l});if(p(a=mn(i=e.matches,r)))return}I.set(t,y);let v=A,b=(await Y("action",0,g,[a],i,t))[a.route.id];if(g.signal.aborted)return void(I.get(t)===y&&I.delete(t));if(m.v7_fetcherPersist&&Q.has(t)){if(an(b)||rn(b))return void Z(t,gn(void 0))}else{if(an(b))return I.delete(t),F>v?void Z(t,gn(void 0)):(U.add(t),Z(t,yn(h)),G(g,b,!1,{fetcherSubmission:h,preventScrollReset:u}));if(rn(b))return void ee(t,n,b.error)}if(nn(b))throw Jt(400,{type:"defer-action"});let x=k.navigation.location||k.location,w=Ht(e.history,x,y.signal),E=s||c,C="idle"!==k.navigation.state?Ge(E,k.navigation.location,d):k.matches;Ue(C,"Didn't find any matches after fetcher action");let R=++A;j.set(t,R);let N=yn(h,b.data);k.fetchers.set(t,N);let[T,O]=Mt(e.history,k,C,h,x,!1,m.v7_skipActionErrorRevalidation,L,P,M,Q,q,U,E,d,[a.route.id,b]);O.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=k.fetchers.get(t),r=yn(void 0,n?n.data:void 0);k.fetchers.set(t,r),re(t),e.controller&&I.set(t,e.controller)}),z({fetchers:new Map(k.fetchers)});let D=()=>O.forEach(e=>re(e.key));y.signal.addEventListener("abort",D);let{loaderResults:$,fetcherResults:H}=await X(k,C,T,O,w);if(y.signal.aborted)return;y.signal.removeEventListener("abort",D),j.delete(t),I.delete(t),O.forEach(e=>I.delete(e.key));let K=Zt($);if(K)return G(w,K.result,!1,{preventScrollReset:u});if(K=Zt(H),K)return U.add(K.key),G(w,K.result,!1,{preventScrollReset:u});let{loaderData:V,errors:te}=Kt(k,C,$,void 0,O,H,B);if(k.fetchers.has(t)){let e=gn(b.data);k.fetchers.set(t,e)}ie(R),"loading"===k.navigation.state&&R>F?(Ue(S,"Expected pending action"),_&&_.abort(),W(k.navigation.location,{matches:C,loaderData:V,errors:te,fetchers:new Map(k.fetchers)})):(z({errors:te,loaderData:Vt(k.loaderData,V,C,te),fetchers:new Map(k.fetchers)}),L=!1)}(t,n,f,v,h,p.active,o,b,y):(q.set(t,{routeId:n,path:f}),async function(t,n,r,a,s,i,o,l,c){let d=k.fetchers.get(t);Z(t,yn(c,d?d.data:void 0),{flushSync:o});let u=new AbortController,h=Ht(e.history,r,u.signal);if(i){let e=await fe(s,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void ee(t,n,e.error,{flushSync:o});if(!e.matches)return void ee(t,n,Jt(404,{pathname:r}),{flushSync:o});a=mn(s=e.matches,r)}I.set(t,u);let m=A,p=(await Y("loader",0,h,[a],s,t))[a.route.id];if(nn(p)&&(p=await un(p,h.signal,!0)||p),I.get(t)===u&&I.delete(t),!h.signal.aborted){if(!Q.has(t))return an(p)?F>m?void Z(t,gn(void 0)):(U.add(t),void await G(h,p,!1,{preventScrollReset:l})):void(rn(p)?ee(t,n,p.error):(Ue(!nn(p),"Unhandled fetcher deferred data"),Z(t,gn(p.data))));Z(t,gn(void 0))}}(t,n,f,v,h,p.active,o,b,y))},revalidate:function(){J(),z({revalidation:"loading"}),"submitting"!==k.navigation.state&&("idle"!==k.navigation.state?K(S||k.historyAction,k.navigation.location,{overrideNavigation:k.navigation,enableViewTransition:!0===N}):K(k.historyAction,k.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:te,deleteFetcher:function(e){let t=($.get(e)||0)-1;t<=0?($.delete(e),Q.add(e),m.v7_fetcherPersist||ne(e)):$.set(e,t),z({fetchers:new Map(k.fetchers)})},dispose:function(){p&&p(),O&&O(),f.clear(),_&&_.abort(),k.fetchers.forEach((e,t)=>ne(t)),k.blockers.forEach((e,t)=>oe(t))},getBlocker:function(e,t){let n=k.blockers.get(e)||St;return H.get(e)!==t&&H.set(e,t),n},deleteBlocker:oe,patchRoutes:function(e,t){let n=null==s;jt(e,t,s||c,l,a),n&&(c=[...c],z({}))},_internalFetchControllers:I,_internalActiveDeferreds:B,_internalSetRoutes:function(e){l={},s=Ve(e,a,void 0,l)}},o}function Dt(e,t,n,r,a,s,i,o){let l,c;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){c=e;break}}else l=t,c=t[t.length-1];let d=ut(a||".",dt(l,s),st(e.pathname,n)||e.pathname,"path"===o);if(null==a&&(d.search=e.search,d.hash=e.hash),(null==a||""===a||"."===a)&&c){let e=hn(d.search);if(c.route.index&&!e)d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index";else if(!c.route.index&&e){let e=new URLSearchParams(d.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();d.search=n?"?"+n:""}}return r&&"/"!==n&&(d.pathname="/"===d.pathname?n:ht([n,d.pathname])),Be(d)}function Lt(e,t,n,r){if(!r||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(r))return{path:n};if(r.formMethod&&(a=r.formMethod,!wt.has(a.toLowerCase())))return{path:n,error:Jt(405,{method:r.formMethod})};var a;let s,i,o=()=>({path:n,error:Jt(400,{type:"invalid-body"})}),l=r.formMethod||"get",c=e?l.toUpperCase():l.toLowerCase(),d=en(n);if(void 0!==r.body){if("text/plain"===r.formEncType){if(!ln(c))return o();let e="string"==typeof r.body?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((e,t)=>{let[n,r]=t;return""+e+n+"="+r+"\n"},""):String(r.body);return{path:n,submission:{formMethod:c,formAction:d,formEncType:r.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===r.formEncType){if(!ln(c))return o();try{let e="string"==typeof r.body?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:c,formAction:d,formEncType:r.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return o()}}}if(Ue("function"==typeof FormData,"FormData is not available in this environment"),r.formData)s=zt(r.formData),i=r.formData;else if(r.body instanceof FormData)s=zt(r.body),i=r.body;else if(r.body instanceof URLSearchParams)s=r.body,i=Wt(s);else if(null==r.body)s=new URLSearchParams,i=new FormData;else try{s=new URLSearchParams(r.body),i=Wt(s)}catch(e){return o()}let u={formMethod:c,formAction:d,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(ln(u.formMethod))return{path:n,submission:u};let h=He(n);return t&&h.search&&hn(h.search)&&s.append("index",""),h.search="?"+s,{path:Be(h),submission:u}}function Pt(e,t,n){void 0===n&&(n=!1);let r=e.findIndex(e=>e.route.id===t);return r>=0?e.slice(0,n?r+1:r):e}function Mt(e,t,n,r,a,s,i,o,l,c,d,u,h,m,p,f){let y=f?rn(f[1])?f[1].error:f[1].data:void 0,g=e.createURL(t.location),v=e.createURL(a),b=n;s&&t.errors?b=Pt(n,Object.keys(t.errors)[0],!0):f&&rn(f[1])&&(b=Pt(n,f[0]));let x=f?f[1].statusCode:void 0,w=i&&x&&x>=400,E=b.filter((e,n)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(s)return It(a,t.loaderData,t.errors);if(function(e,t,n){let r=!t||n.route.id!==t.route.id,a=void 0===e[n.route.id];return r||a}(t.loaderData,t.matches[n],e)||l.some(t=>t===e.route.id))return!0;let i=t.matches[n],c=e;return Ft(e,Ae({currentUrl:g,currentParams:i.params,nextUrl:v,nextParams:c.params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:!w&&(o||g.pathname+g.search===v.pathname+v.search||g.search!==v.search||At(i,c))}))}),_=[];return u.forEach((e,a)=>{if(s||!n.some(t=>t.route.id===e.routeId)||d.has(a))return;let i=Ge(m,e.path,p);if(!i)return void _.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let l=t.fetchers.get(a),u=mn(i,e.path),f=!1;h.has(a)?f=!1:c.has(a)?(c.delete(a),f=!0):f=l&&"idle"!==l.state&&void 0===l.data?o:Ft(u,Ae({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:!w&&o})),f&&_.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:u,controller:new AbortController})}),[E,_]}function It(e,t,n){if(e.lazy)return!0;if(!e.loader)return!1;let r=null!=t&&void 0!==t[e.id],a=null!=n&&void 0!==n[e.id];return!(!r&&a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!r&&!a)}function At(e,t){let n=e.route.path;return e.pathname!==t.pathname||null!=n&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function Ft(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if("boolean"==typeof n)return n}return t.defaultShouldRevalidate}function jt(e,t,n,r,a){var s;let i;if(e){let t=r[e];Ue(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=n;let o=Ve(t.filter(e=>!i.some(t=>Ut(e,t))),a,[e||"_","patch",String((null==(s=i)?void 0:s.length)||"0")],r);i.push(...o)}function Ut(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every((e,n)=>{var r;return null==(r=t.children)?void 0:r.some(t=>Ut(e,t))}))}async function qt(e){let{matches:t}=e,n=t.filter(e=>e.shouldLoad),r=await Promise.all(n.map(e=>e.resolve()));return r.reduce((e,t,r)=>Object.assign(e,{[n[r].route.id]:t}),{})}async function $t(e){let{result:t,type:n}=e;if(on(t)){let e;try{let n=t.headers.get("Content-Type");e=n&&/\bapplication\/json\b/.test(n)?null==t.body?null:await t.json():await t.text()}catch(e){return{type:We.error,error:e}}return n===We.error?{type:We.error,error:new yt(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:We.data,data:e,statusCode:t.status,headers:t.headers}}var r,a,s,i,o,l,c,d;return n===We.error?sn(t)?t.data instanceof Error?{type:We.error,error:t.data,statusCode:null==(s=t.init)?void 0:s.status,headers:null!=(i=t.init)&&i.headers?new Headers(t.init.headers):void 0}:{type:We.error,error:new yt((null==(r=t.init)?void 0:r.status)||500,void 0,t.data),statusCode:gt(t)?t.status:void 0,headers:null!=(a=t.init)&&a.headers?new Headers(t.init.headers):void 0}:{type:We.error,error:t,statusCode:gt(t)?t.status:void 0}:function(e){let t=e;return t&&"object"==typeof t&&"object"==typeof t.data&&"function"==typeof t.subscribe&&"function"==typeof t.cancel&&"function"==typeof t.resolveData}(t)?{type:We.deferred,deferredData:t,statusCode:null==(o=t.init)?void 0:o.status,headers:(null==(l=t.init)?void 0:l.headers)&&new Headers(t.init.headers)}:sn(t)?{type:We.data,data:t.data,statusCode:null==(c=t.init)?void 0:c.status,headers:null!=(d=t.init)&&d.headers?new Headers(t.init.headers):void 0}:{type:We.data,data:t}}function Qt(e,t,n,r,a,s){let i=e.headers.get("Location");if(Ue(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!Rt.test(i)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);i=Dt(new URL(t.url),o,a,!0,i,s),e.headers.set("Location",i)}return e}function Bt(e,t,n,r){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(Rt.test(e)){let r=e,s=r.startsWith("//")?new URL(t.protocol+r):new URL(r);if(a.includes(s.protocol))throw new Error("Invalid redirect location");let i=null!=st(s.pathname,n);if(s.origin===t.origin&&i)return s.pathname+s.search+s.hash}try{let t=r.createURL(e);if(a.includes(t.protocol))throw new Error("Invalid redirect location")}catch(e){}return e}function Ht(e,t,n,r){let a=e.createURL(en(t)).toString(),s={signal:n};if(r&&ln(r.formMethod)){let{formMethod:e,formEncType:t}=r;s.method=e.toUpperCase(),"application/json"===t?(s.headers=new Headers({"Content-Type":t}),s.body=JSON.stringify(r.json)):"text/plain"===t?s.body=r.text:"application/x-www-form-urlencoded"===t&&r.formData?s.body=zt(r.formData):s.body=r.formData}return new Request(a,s)}function zt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,"string"==typeof r?r:r.name);return t}function Wt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Kt(e,t,n,r,a,s,i){let{loaderData:o,errors:l}=function(e,t,n,r,a){let s,i={},o=null,l=!1,c={},d=n&&rn(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let u=n.route.id,h=t[u];if(Ue(!an(h),"Cannot handle redirect results in processLoaderData"),rn(h)){let t=h.error;if(void 0!==d&&(t=d,d=void 0),o=o||{},a)o[u]=t;else{let n=Yt(e,u);null==o[n.route.id]&&(o[n.route.id]=t)}i[u]=void 0,l||(l=!0,s=gt(h.error)?h.error.status:500),h.headers&&(c[u]=h.headers)}else nn(h)?(r.set(u,h.deferredData),i[u]=h.deferredData.data,null==h.statusCode||200===h.statusCode||l||(s=h.statusCode),h.headers&&(c[u]=h.headers)):(i[u]=h.data,h.statusCode&&200!==h.statusCode&&!l&&(s=h.statusCode),h.headers&&(c[u]=h.headers))}),void 0!==d&&n&&(o={[n[0]]:d},i[n[0]]=void 0),{loaderData:i,errors:o,statusCode:s||200,loaderHeaders:c}}(t,n,r,i,!1);return a.forEach(t=>{let{key:n,match:r,controller:a}=t,i=s[n];if(Ue(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(rn(i)){let t=Yt(e.matches,null==r?void 0:r.route.id);l&&l[t.route.id]||(l=Ae({},l,{[t.route.id]:i.error})),e.fetchers.delete(n)}else if(an(i))Ue(!1,"Unhandled fetcher revalidation redirect");else if(nn(i))Ue(!1,"Unhandled fetcher deferred data");else{let t=gn(i.data);e.fetchers.set(n,t)}}),{loaderData:o,errors:l}}function Vt(e,t,n,r){let a=Ae({},t);for(let s of n){let n=s.route.id;if(t.hasOwnProperty(n)?void 0!==t[n]&&(a[n]=t[n]):void 0!==e[n]&&s.route.loader&&(a[n]=e[n]),r&&r.hasOwnProperty(n))break}return a}function Gt(e){return e?rn(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Yt(e,t){let n=t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e];return n.reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function Xt(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Jt(e,t){let{pathname:n,routeId:r,method:a,type:s,message:i}=void 0===t?{}:t,o="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(o="Bad Request",a&&n&&r?l="You made a "+a+' request to "'+n+'" but did not provide a `loader` for route "'+r+'", so there is no way to handle the request.':"defer-action"===s?l="defer() is not supported in actions":"invalid-body"===s&&(l="Unable to encode submission body")):403===e?(o="Forbidden",l='Route "'+r+'" does not match URL "'+n+'"'):404===e?(o="Not Found",l='No route matches URL "'+n+'"'):405===e&&(o="Method Not Allowed",a&&n&&r?l="You made a "+a.toUpperCase()+' request to "'+n+'" but did not provide an `action` for route "'+r+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new yt(e||500,o,new Error(l),!0)}function Zt(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(an(r))return{key:n,result:r}}}function en(e){return Be(Ae({},"string"==typeof e?He(e):e,{hash:""}))}function tn(e){return on(e.result)&&Et.has(e.result.status)}function nn(e){return e.type===We.deferred}function rn(e){return e.type===We.error}function an(e){return(e&&e.type)===We.redirect}function sn(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function on(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function ln(e){return bt.has(e.toLowerCase())}async function cn(e,t,n,r,a){let s=Object.entries(t);for(let i=0;i<s.length;i++){let[o,l]=s[i],c=e.find(e=>(null==e?void 0:e.route.id)===o);if(!c)continue;let d=r.find(e=>e.route.id===c.route.id),u=null!=d&&!At(d,c)&&void 0!==(a&&a[c.route.id]);nn(l)&&u&&await un(l,n,!1).then(e=>{e&&(t[o]=e)})}}async function dn(e,t,n){for(let r=0;r<n.length;r++){let{key:a,routeId:s,controller:i}=n[r],o=t[a],l=e.find(e=>(null==e?void 0:e.route.id)===s);l&&nn(o)&&(Ue(i,"Expected an AbortController for revalidating fetcher deferred result"),await un(o,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function un(e,t,n){if(void 0===n&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:We.data,data:e.deferredData.unwrappedData}}catch(e){return{type:We.error,error:e}}return{type:We.data,data:e.deferredData.data}}}function hn(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function mn(e,t){let n="string"==typeof t?He(t).search:t.search;if(e[e.length-1].route.index&&hn(n||""))return e[e.length-1];let r=ct(e);return r[r.length-1]}function pn(e){let{formMethod:t,formAction:n,formEncType:r,text:a,formData:s,json:i}=e;if(t&&n&&r)return null!=a?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:a}:null!=s?{formMethod:t,formAction:n,formEncType:r,formData:s,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:i,text:void 0}:void 0}function fn(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function yn(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function gn(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function vn(){return vn=Object.assign?Object.assign.bind():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},vn.apply(this,arguments)}Symbol("deferred");const bn=r.createContext(null),xn=r.createContext(null),wn=r.createContext(null),En=r.createContext(null),Cn=r.createContext({outlet:null,matches:[],isDataRoute:!1}),kn=r.createContext(null);function Sn(){return null!=r.useContext(En)}function Rn(){return Sn()||Ue(!1),r.useContext(En).location}function Nn(e){r.useContext(wn).static||r.useLayoutEffect(e)}function Tn(){let{isDataRoute:e}=r.useContext(Cn);return e?function(){let{router:e}=function(){let e=r.useContext(bn);return e||Ue(!1),e}(An.UseNavigateStable),t=jn(Fn.UseNavigateStable),n=r.useRef(!1);return Nn(()=>{n.current=!0}),r.useCallback(function(r,a){void 0===a&&(a={}),n.current&&("number"==typeof r?e.navigate(r):e.navigate(r,vn({fromRouteId:t},a)))},[e,t])}():function(){Sn()||Ue(!1);let e=r.useContext(bn),{basename:t,future:n,navigator:a}=r.useContext(wn),{matches:s}=r.useContext(Cn),{pathname:i}=Rn(),o=JSON.stringify(dt(s,n.v7_relativeSplatPath)),l=r.useRef(!1);return Nn(()=>{l.current=!0}),r.useCallback(function(n,r){if(void 0===r&&(r={}),!l.current)return;if("number"==typeof n)return void a.go(n);let s=ut(n,JSON.parse(o),i,"path"===r.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:ht([t,s.pathname])),(r.replace?a.replace:a.push)(s,r.state,r)},[t,a,o,i,e])}()}function On(){let{matches:e}=r.useContext(Cn),t=e[e.length-1];return t?t.params:{}}function Dn(e,t,n,a){Sn()||Ue(!1);let{navigator:s}=r.useContext(wn),{matches:i}=r.useContext(Cn),o=i[i.length-1],l=o?o.params:{},c=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let d,u=Rn();if(t){var h;let e="string"==typeof t?He(t):t;"/"===c||(null==(h=e.pathname)?void 0:h.startsWith(c))||Ue(!1),d=e}else d=u;let m=d.pathname||"/",p=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");p="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let f=Ge(e,{pathname:p}),y=function(e,t,n,a){var s;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===a&&(a=null),null==e){var i;if(!n)return null;if(n.errors)e=n.matches;else{if(!(null!=(i=a)&&i.v7_partialHydration&&0===t.length&&!n.initialized&&n.matches.length>0))return null;e=n.matches}}let o=e,l=null==(s=n)?void 0:s.errors;if(null!=l){let e=o.findIndex(e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id]));e>=0||Ue(!1),o=o.slice(0,Math.min(o.length,e+1))}let c=!1,d=-1;if(n&&a&&a.v7_partialHydration)for(let e=0;e<o.length;e++){let t=o[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(d=e),t.route.id){let{loaderData:e,errors:r}=n,a=t.route.loader&&void 0===e[t.route.id]&&(!r||void 0===r[t.route.id]);if(t.route.lazy||a){c=!0,o=d>=0?o.slice(0,d+1):[o[0]];break}}}return o.reduceRight((e,a,s)=>{let i,u=!1,h=null,m=null;var p;n&&(i=l&&a.route.id?l[a.route.id]:void 0,h=a.route.errorElement||Pn,c&&(d<0&&0===s?(Un[p="route-fallback"]||(Un[p]=!0),u=!0,m=null):d===s&&(u=!0,m=a.route.hydrateFallbackElement||null)));let f=t.concat(o.slice(0,s+1)),y=()=>{let t;return t=i?h:u?m:a.route.Component?r.createElement(a.route.Component,null):a.route.element?a.route.element:e,r.createElement(In,{match:a,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(a.route.ErrorBoundary||a.route.errorElement||0===s)?r.createElement(Mn,{location:n.location,revalidation:n.revalidation,component:h,error:i,children:y(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):y()},null)}(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:ht([c,s.encodeLocation?s.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:ht([c,s.encodeLocation?s.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,n,a);return t&&y?r.createElement(En.Provider,{value:{location:vn({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Fe.Pop}},y):y}function Ln(){let e=function(){var e;let t=r.useContext(kn),n=function(){let e=r.useContext(xn);return e||Ue(!1),e}(Fn.UseRouteError),a=jn(Fn.UseRouteError);return void 0!==t?t:null==(e=n.errors)?void 0:e[a]}(),t=gt(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:a},n):null,null)}const Pn=r.createElement(Ln,null);class Mn extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(Cn.Provider,{value:this.props.routeContext},r.createElement(kn.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function In(e){let{routeContext:t,match:n,children:a}=e,s=r.useContext(bn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(Cn.Provider,{value:t},a)}var An=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(An||{}),Fn=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Fn||{});function jn(e){let t=function(){let e=r.useContext(Cn);return e||Ue(!1),e}(),n=t.matches[t.matches.length-1];return n.route.id||Ue(!1),n.route.id}const Un={};function qn(e){let{basename:t="/",children:n=null,location:a,navigationType:s=Fe.Pop,navigator:i,static:o=!1,future:l}=e;Sn()&&Ue(!1);let c=t.replace(/^\/*/,"/"),d=r.useMemo(()=>({basename:c,navigator:i,static:o,future:vn({v7_relativeSplatPath:!1},l)}),[c,l,i,o]);"string"==typeof a&&(a=He(a));let{pathname:u="/",search:h="",hash:m="",state:p=null,key:f="default"}=a,y=r.useMemo(()=>{let e=st(u,c);return null==e?null:{location:{pathname:e,search:h,hash:m,state:p,key:f},navigationType:s}},[c,u,h,m,p,f,s]);return null==y?null:r.createElement(wn.Provider,{value:d},r.createElement(En.Provider,{children:n,value:y}))}function $n(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:r.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:r.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:r.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function Qn(){return Qn=Object.assign?Object.assign.bind():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},Qn.apply(this,arguments)}r.startTransition,new Promise(()=>{}),r.Component,new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);try{window.__reactRouterVersion="6"}catch(e){}function Bn(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Qn({},t,{errors:Hn(t.errors)})),t}function Hn(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&"RouteErrorResponse"===r.__type)n[e]=new yt(r.status,r.statusText,r.data,!0===r.internal);else if(r&&"Error"===r.__type){if(r.__subType){let t=window[r.__subType];if("function"==typeof t)try{let a=new t(r.message);a.stack="",n[e]=a}catch(e){}}if(null==n[e]){let t=new Error(r.message);t.stack="",n[e]=t}}else n[e]=r;return n}const zn=r.createContext({isTransitioning:!1}),Wn=r.createContext(new Map),Kn=r.startTransition,Vn=Ie.flushSync;function Gn(e){Vn?Vn(e):e()}r.useId;class Yn{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function Xn(e){let{fallbackElement:t,router:n,future:a}=e,[s,i]=r.useState(n.state),[o,l]=r.useState(),[c,d]=r.useState({isTransitioning:!1}),[u,h]=r.useState(),[m,p]=r.useState(),[f,y]=r.useState(),g=r.useRef(new Map),{v7_startTransition:v}=a||{},b=r.useCallback(e=>{v?function(e){Kn?Kn(e):e()}(e):e()},[v]),x=r.useCallback((e,t)=>{let{deletedFetchers:r,flushSync:a,viewTransitionOpts:s}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&g.current.set(t,e.data)}),r.forEach(e=>g.current.delete(e));let o=null==n.window||null==n.window.document||"function"!=typeof n.window.document.startViewTransition;if(s&&!o){if(a){Gn(()=>{m&&(u&&u.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:s.currentLocation,nextLocation:s.nextLocation})});let t=n.window.document.startViewTransition(()=>{Gn(()=>i(e))});return t.finished.finally(()=>{Gn(()=>{h(void 0),p(void 0),l(void 0),d({isTransitioning:!1})})}),void Gn(()=>p(t))}m?(u&&u.resolve(),m.skipTransition(),y({state:e,currentLocation:s.currentLocation,nextLocation:s.nextLocation})):(l(e),d({isTransitioning:!0,flushSync:!1,currentLocation:s.currentLocation,nextLocation:s.nextLocation}))}else a?Gn(()=>i(e)):b(()=>i(e))},[n.window,m,u,g,b]);r.useLayoutEffect(()=>n.subscribe(x),[n,x]),r.useEffect(()=>{c.isTransitioning&&!c.flushSync&&h(new Yn)},[c]),r.useEffect(()=>{if(u&&o&&n.window){let e=o,t=u.promise,r=n.window.document.startViewTransition(async()=>{b(()=>i(e)),await t});r.finished.finally(()=>{h(void 0),p(void 0),l(void 0),d({isTransitioning:!1})}),p(r)}},[b,o,u,n.window]),r.useEffect(()=>{u&&o&&s.location.key===o.location.key&&u.resolve()},[u,m,s.location,o]),r.useEffect(()=>{!c.isTransitioning&&f&&(l(f.state),d({isTransitioning:!0,flushSync:!1,currentLocation:f.currentLocation,nextLocation:f.nextLocation}),y(void 0))},[c.isTransitioning,f]),r.useEffect(()=>{},[]);let w=r.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:e=>n.navigate(e),push:(e,t,r)=>n.navigate(e,{state:t,preventScrollReset:null==r?void 0:r.preventScrollReset}),replace:(e,t,r)=>n.navigate(e,{replace:!0,state:t,preventScrollReset:null==r?void 0:r.preventScrollReset})}),[n]),E=n.basename||"/",_=r.useMemo(()=>({router:n,navigator:w,static:!1,basename:E}),[n,w,E]),C=r.useMemo(()=>({v7_relativeSplatPath:n.future.v7_relativeSplatPath}),[n.future.v7_relativeSplatPath]);return r.useEffect(()=>function(e,t){null==e||e.v7_startTransition,void 0===(null==e?void 0:e.v7_relativeSplatPath)&&(!t||t.v7_relativeSplatPath),t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}(a,n.future),[a,n.future]),r.createElement(r.Fragment,null,r.createElement(bn.Provider,{value:_},r.createElement(xn.Provider,{value:s},r.createElement(Wn.Provider,{value:g.current},r.createElement(zn.Provider,{value:c},r.createElement(qn,{basename:E,location:s.location,navigationType:s.historyAction,navigator:w,future:C},s.initialized||n.future.v7_partialHydration?r.createElement(Jn,{routes:n.routes,future:n.future,state:s}):t))))),null)}const Jn=r.memo(Zn);function Zn(e){let{routes:t,future:n,state:r}=e;return Dn(t,void 0,r,n)}var er,tr;"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"}(er||(er={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(tr||(tr={}));const nr=window.wp.i18n,rr=[{id:"admin-menu-editor",title:(0,nr.__)("Admin Menu Editor","editx"),description:(0,nr.__)("Reorder, rename, hide or add custom items to the WordPress admin sidebar menu.","editx"),route:"/admin-menu-editor",color:"indigo",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12"}))},{id:"admin-column-editor",title:(0,nr.__)("Admin Column Editor","editx"),description:(0,nr.__)("Customize, reorder and resize columns in WordPress list tables for any post type.","editx"),route:"/admin-column-editor",color:"violet",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h1.5C5.496 19.5 6 18.996 6 18.375m-3.75.125v-1.5m0 1.5H3m.375 0h16.5M3.375 19.5v-15c0-.621.504-1.125 1.125-1.125m17.25 16.125H6m11.25 0v-15M6 4.5h12.375c.621 0 1.125.504 1.125 1.125v13.875"}))},{id:"restrictions",title:(0,nr.__)("Menu Restrictions","editx"),description:(0,nr.__)("Control which admin menu items are visible to specific users or user roles.","editx"),route:"/restrictions/roles",color:"emerald",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"}))},{id:"addons",title:(0,nr.__)("Addons","editx"),description:(0,nr.__)("Enable or disable EditX feature modules to match your workflow needs.","editx"),route:"/addons",color:"amber",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.401.604-.401.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.959.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z"}))}],ar={indigo:{bg:"bg-indigo-50",text:"text-indigo-600",hoverBorder:"hover:border-indigo-200"},violet:{bg:"bg-violet-50",text:"text-violet-600",hoverBorder:"hover:border-violet-200"},emerald:{bg:"bg-emerald-50",text:"text-emerald-600",hoverBorder:"hover:border-emerald-200"},amber:{bg:"bg-amber-50",text:"text-amber-600",hoverBorder:"hover:border-amber-200"}};var sr=class extends I{constructor(e,t){super(),this.options=t,this.#d=e,this.#R=null,this.#N=j(),this.bindMethods(),this.setOptions(t)}#d;#T=void 0;#O=void 0;#D=void 0;#L;#P;#N;#R;#M;#I;#A;#F;#j;#U;#q=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#T.addObserver(this),ir(this.#T,this.options)?this.#$():this.updateResult(),this.#Q())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return or(this.#T,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return or(this.#T,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#B(),this.#H(),this.#T.removeObserver(this)}setOptions(e){const t=this.options,n=this.#T;if(this.options=this.#d.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof f(this.options.enabled,this.#T))throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#z(),this.#T.setOptions(this.options),t._defaulted&&!_(this.options,t)&&this.#d.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#T,observer:this});const r=this.hasListeners();r&&lr(this.#T,n,this.options,t)&&this.#$(),this.updateResult(),!r||this.#T===n&&f(this.options.enabled,this.#T)===f(t.enabled,this.#T)&&p(this.options.staleTime,this.#T)===p(t.staleTime,this.#T)||this.#W();const a=this.#K();!r||this.#T===n&&f(this.options.enabled,this.#T)===f(t.enabled,this.#T)&&a===this.#U||this.#V(a)}getOptimisticResult(e){const t=this.#d.getQueryCache().build(this.#d,e),n=this.createResult(t,e);return r=n,!_(this.getCurrentResult(),r)&&(this.#D=n,this.#P=this.options,this.#L=this.#T.state),n;var r}getCurrentResult(){return this.#D}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),"promise"===n&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#N.status||this.#N.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,n))})}trackProp(e){this.#q.add(e)}getCurrentQuery(){return this.#T}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#d.defaultQueryOptions(e),n=this.#d.getQueryCache().build(this.#d,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#$({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#D))}#$(e){this.#z();let t=this.#T.fetch(this.options,e);return e?.throwOnError||(t=t.catch(u)),t}#W(){this.#B();const e=p(this.options.staleTime,this.#T);if(d||this.#D.isStale||!h(e))return;const t=m(this.#D.dataUpdatedAt,e)+1;this.#F=c.setTimeout(()=>{this.#D.isStale||this.updateResult()},t)}#K(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#T):this.options.refetchInterval)??!1}#V(e){this.#H(),this.#U=e,!d&&!1!==f(this.options.enabled,this.#T)&&h(this.#U)&&0!==this.#U&&(this.#j=c.setInterval(()=>{(this.options.refetchIntervalInBackground||A.isFocused())&&this.#$()},this.#U))}#Q(){this.#W(),this.#V(this.#K())}#B(){this.#F&&(c.clearTimeout(this.#F),this.#F=void 0)}#H(){this.#j&&(c.clearInterval(this.#j),this.#j=void 0)}createResult(e,t){const n=this.#T,r=this.options,a=this.#D,s=this.#L,i=this.#P,o=e!==n?e.state:this.#O,{state:l}=e;let c,d={...l},u=!1;if(t._optimisticResults){const a=this.hasListeners(),s=!a&&ir(e,t),i=a&&lr(e,n,t,r);(s||i)&&(d={...d,...z(l.data,e.options)}),"isRestoring"===t._optimisticResults&&(d.fetchStatus="idle")}let{error:h,errorUpdatedAt:m,status:p}=d;c=d.data;let y=!1;if(void 0!==t.placeholderData&&void 0===c&&"pending"===p){let e;a?.isPlaceholderData&&t.placeholderData===i?.placeholderData?(e=a.data,y=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#A?.state.data,this.#A):t.placeholderData,void 0!==e&&(p="success",c=R(a?.data,e,t),u=!0)}if(t.select&&void 0!==c&&!y)if(a&&c===s?.data&&t.select===this.#M)c=this.#I;else try{this.#M=t.select,c=t.select(c),c=R(a?.data,c,t),this.#I=c,this.#R=null}catch(e){this.#R=e}this.#R&&(h=this.#R,c=this.#I,m=Date.now(),p="error");const g="fetching"===d.fetchStatus,v="pending"===p,b="error"===p,x=v&&g,w=void 0!==c,E={status:p,fetchStatus:d.fetchStatus,isPending:v,isSuccess:"success"===p,isError:b,isInitialLoading:x,isLoading:x,data:c,dataUpdatedAt:d.dataUpdatedAt,error:h,errorUpdatedAt:m,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>o.dataUpdateCount||d.errorUpdateCount>o.errorUpdateCount,isFetching:g,isRefetching:g&&!v,isLoadingError:b&&!w,isPaused:"paused"===d.fetchStatus,isPlaceholderData:u,isRefetchError:b&&w,isStale:cr(e,t),refetch:this.refetch,promise:this.#N,isEnabled:!1!==f(t.enabled,e)};if(this.options.experimental_prefetchInRender){const t=void 0!==E.data,r="error"===E.status&&!t,a=e=>{r?e.reject(E.error):t&&e.resolve(E.data)},s=()=>{const e=this.#N=E.promise=j();a(e)},i=this.#N;switch(i.status){case"pending":e.queryHash===n.queryHash&&a(i);break;case"fulfilled":(r||E.data!==i.value)&&s();break;case"rejected":r&&E.error===i.reason||s()}}return E}updateResult(){const e=this.#D,t=this.createResult(this.#T,this.options);this.#L=this.#T.state,this.#P=this.options,void 0!==this.#L.data&&(this.#A=this.#T),_(t,e)||(this.#D=t,this.#G({listeners:(()=>{if(!e)return!0;const{notifyOnChangeProps:t}=this.options,n="function"==typeof t?t():t;if("all"===n||!n&&!this.#q.size)return!0;const r=new Set(n??this.#q);return this.options.throwOnError&&r.add("error"),Object.keys(this.#D).some(t=>{const n=t;return this.#D[n]!==e[n]&&r.has(n)})})()}))}#z(){const e=this.#d.getQueryCache().build(this.#d,this.options);if(e===this.#T)return;const t=this.#T;this.#T=e,this.#O=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#Q()}#G(e){M.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#D)}),this.#d.getQueryCache().notify({query:this.#T,type:"observerResultsUpdated"})})}};function ir(e,t){return function(e,t){return!1!==f(t.enabled,e)&&void 0===e.state.data&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||void 0!==e.state.data&&or(e,t,t.refetchOnMount)}function or(e,t,n){if(!1!==f(t.enabled,e)&&"static"!==p(t.staleTime,e)){const r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&cr(e,t)}return!1}function lr(e,t,n,r){return(e!==t||!1===f(r.enabled,e))&&(!n.suspense||"error"!==e.state.status)&&cr(e,n)}function cr(e,t){return!1!==f(t.enabled,e)&&e.isStaleByTime(p(t.staleTime,e))}var dr=r.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),ur=r.createContext(!1),hr=(ur.Provider,(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()}));function mr(e,t){return function(e,t,n){const a=r.useContext(ur),s=r.useContext(dr),i=o(n),l=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(l);const c=i.getQueryCache().get(l.queryHash);l._optimisticResults=a?"isRestoring":"optimistic",(e=>{if(e.suspense){const t=1e3,n=e=>"static"===e?e:Math.max(e??t,t),r=e.staleTime;e.staleTime="function"==typeof r?(...e)=>n(r(...e)):n(r),"number"==typeof e.gcTime&&(e.gcTime=Math.max(e.gcTime,t))}})(l),((e,t,n)=>{const r=n?.state.error&&"function"==typeof e.throwOnError?L(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))})(l,s,c),(e=>{r.useEffect(()=>{e.clearReset()},[e])})(s);const h=!i.getQueryCache().get(l.queryHash),[m]=r.useState(()=>new t(i,l)),p=m.getOptimisticResult(l),f=!a&&!1!==e.subscribed;if(r.useSyncExternalStore(r.useCallback(e=>{const t=f?m.subscribe(M.batchCalls(e)):u;return m.updateResult(),t},[m,f]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),r.useEffect(()=>{m.setOptions(l)},[l,m]),((e,t)=>e?.suspense&&t.isPending)(l,p))throw hr(l,m,s);if((({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(a&&void 0===e.data||L(n,[e.error,r])))({result:p,errorResetBoundary:s,throwOnError:l.throwOnError,query:c,suspense:l.suspense}))throw p.error;if(i.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!d&&((e,t)=>e.isLoading&&e.isFetching&&!t)(p,a)){const e=h?hr(l,m,s):c?.promise;e?.catch(u).finally(()=>{m.updateResult()})}return l.notifyOnChangeProps?p:m.trackResult(p)}(e,sr,t)}var pr=class extends I{#d;#D=void 0;#Y;#X;constructor(e,t){super(),this.#d=e,this.setOptions(t),this.bindMethods(),this.#J()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#d.defaultMutationOptions(e),_(this.options,t)||this.#d.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#Y,observer:this}),t?.mutationKey&&this.options.mutationKey&&b(t.mutationKey)!==b(this.options.mutationKey)?this.reset():"pending"===this.#Y?.state.status&&this.#Y.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#Y?.removeObserver(this)}onMutationUpdate(e){this.#J(),this.#G(e)}getCurrentResult(){return this.#D}reset(){this.#Y?.removeObserver(this),this.#Y=void 0,this.#J(),this.#G()}mutate(e,t){return this.#X=t,this.#Y?.removeObserver(this),this.#Y=this.#d.getMutationCache().build(this.#d,this.options),this.#Y.addObserver(this),this.#Y.execute(e)}#J(){const e=this.#Y?.state??{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0};this.#D={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#G(e){M.batch(()=>{if(this.#X&&this.hasListeners()){const t=this.#D.variables,n=this.#D.context,r={client:this.#d,meta:this.options.meta,mutationKey:this.options.mutationKey};if("success"===e?.type){try{this.#X.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#X.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if("error"===e?.type){try{this.#X.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#X.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#D)})})}};function fr(e,t){const n=o(t),[a]=r.useState(()=>new pr(n,e));r.useEffect(()=>{a.setOptions(e)},[a,e]);const s=r.useSyncExternalStore(r.useCallback(e=>a.subscribe(M.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),i=r.useCallback((e,t)=>{a.mutate(e,t).catch(u)},[a]);if(s.error&&L(a.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}const yr=function(){return(0,r.createElement)("div",{className:"editx-preloader"})},gr=({label:e,children:t})=>(0,r.createElement)("div",{className:"editx-topbar"},(0,r.createElement)("div",{className:"editx-topbar-content flex justify-between items-center"},(0,r.createElement)("div",{className:"editx-topbar-title"},(0,r.createElement)("h2",{className:"editx-topbar-label text-gray-900"},"EditX"),e&&(0,r.createElement)("span",{className:"editx-topbar-sublabel text-gray-500"},e)),(0,r.createElement)("div",{className:"editx-topbar-action"},t))),vr=({className:e="",children:t})=>(0,r.createElement)("div",{className:`editx-content ${e}`},t),br=window.wp.apiFetch;var xr=n.n(br);const wr=(e,t)=>"free"===t?`/editx/v1/${e}`:"pro"===t?`/editxp/v1/${e}`:void 0,Er=async(e,t="",n="free")=>{const r=await xr()({path:`${wr(e,n)}/?${t}`});if(r.success)return r.data;throw r.data.map(e=>new Error(e))},_r=async(e,t,n,r="free")=>{const a=await xr()({path:`${wr(e,r)}/${t}`,method:"PUT",data:n});if(a.success)return a.data;throw a.data.map(e=>new Error(e))},Cr=async(e,t,n="free")=>{const r=await xr()({path:`${wr(e,n)}/${t}`,method:"DELETE"});if(r.success)return r.data;throw r.data.map(e=>new Error(e))},kr={loadingFetch:!0,items:[],defaultItems:[],itemNew:null,itemExpand:null,selectedItem:null,selectedSubitem:null,loadingSubmit:!1},Sr=(e,t)=>{switch(t.type){case"set_loading_fetch":return{...e,loadingFetch:t.payload};case"set_items":return{...e,items:t.payload};case"set_default_items":return{...e,defaultItems:t.payload};case"set_item_new":return{...e,itemNew:t.payload};case"set_item_expand":return{...e,itemExpand:t.payload};case"set_item_select":return{...e,selectedItem:t.payload};case"set_subitem_select":return{...e,selectedSubitem:t.payload};case"set_loading_submit":return{...e,loadingSubmit:t.payload};default:return e}},Rr=({isOpen:e,onCancel:t,onConfirm:n,message:a="Are you sure you want to delete this?"})=>e?(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("button",{type:"button",className:"absolute end-2.5 top-3 ms-auto inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900",onClick:t},(0,r.createElement)("svg",{className:"h-3 w-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"}))),(0,r.createElement)("div",{className:"p-4 text-center md:p-5"},(0,r.createElement)("svg",{className:"mx-auto mb-4 h-12 w-12 text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 11V6m0 8h.01M19 10a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})),(0,r.createElement)("h3",{className:"mb-5 text-lg font-normal text-gray-500"},a),(0,r.createElement)("button",{onClick:n,type:"button",className:"me-2 inline-flex items-center rounded-lg bg-red-600 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-red-800 focus:outline-none focus:ring-4 focus:ring-red-300 dark:focus:ring-red-800"},"Yes, I'm sure"),(0,r.createElement)("button",{onClick:t,type:"button",className:"rounded-lg border border-gray-200 bg-white px-5 py-2.5 text-sm font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-200"},"No, cancel")))):null,Nr=({isOpen:e,onCancel:t})=>e?(0,r.createElement)("div",{className:"editx-delete-confirmation-modal"},(0,r.createElement)("div",{className:"modal-content"},(0,r.createElement)("h2",{className:"modal-title"},"This is Pro component"),(0,r.createElement)("p",{className:"modal-message"},"To use this component buy pro"),(0,r.createElement)("button",{className:"modal-button cancel-btn",onClick:t},"Cancel"))):null,Tr=(0,r.createContext)(void 0),Or=()=>{const e=(0,r.useContext)(Tr);if(!e)throw new Error("UseAlert must be used within a Provider");return e},Dr=({style:e,children:t})=>{const[n,a]=(0,r.useState)(!1),s=(0,r.useRef)(null),i=()=>{a(!1)},o=e=>{s.current&&!s.current.contains(e.target)&&i()};return(0,r.useEffect)(()=>(document.addEventListener("mousedown",o),()=>{document.removeEventListener("mousedown",o)})),(0,r.createElement)("div",{className:"editx-dropdown-row relative",ref:s,style:e},(0,r.createElement)("button",{className:"",type:"button",onClick:()=>{a(e=>!e)},title:"Actions"},(0,r.createElement)("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)("circle",{cx:"8",cy:"2.5",r:"1.5",fill:"currentColor"}),(0,r.createElement)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.createElement)("circle",{cx:"8",cy:"13.5",r:"1.5",fill:"currentColor"}))),(0,r.createElement)("ul",{onClick:i,className:`absolute z-[5] float-left border m-0 ${n?"":"hidden"} min-w-max list-none overflow-hidden rounded-lg bg-white bg-clip-padding text-left text-base shadow-lg [&[data-te-dropdown-show]]:block`},t))},Lr=({icon:e,hidden:t})=>{if(!e)return null;const n=t?"opacity-40":"opacity-70";return e.startsWith("http")||e.startsWith("data:")?(0,r.createElement)("img",{src:e,alt:"",width:16,height:16,className:`flex-shrink-0 ${n}`,style:{objectFit:"contain"}}):(0,r.createElement)("span",{className:`dashicons ${e} flex-shrink-0 ${n}`,style:{fontSize:16,width:16,height:16}})},Pr=()=>(0,r.createElement)("span",{className:"editx-drag-handle",title:"Drag to reorder"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16",width:16,height:16},(0,r.createElement)("circle",{cx:"5.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"13.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"13.5",r:"1.2"}))),Mr=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",width:13,height:13},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})),Ir=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:15,height:15},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})),Ar=({label:e,onClick:t,danger:n})=>(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium transition-colors "+(n?"text-red-600 hover:bg-red-50":"text-gray-700 hover:bg-gray-50"),onClick:t},e),Fr=({itemIndex:e,items:t,item:n,subitems:a,onOrderChange:s,itemExpand:i,onSelect:o,onHide:l,onDelete:c,itemNew:d,originalUrls:u})=>{const[h,m]=(0,r.useState)({subitemIndex:null}),{delConfirm:p}=Or();return(0,r.createElement)("div",{className:(i===n.url?"block":"hidden")+" px-3 pb-3"},(0,r.createElement)("div",{className:"space-y-1.5 mb-2"},a.map((n,i)=>{const d=!u.has(n.url);return(0,r.createElement)("div",{key:`${n.url}-${i}`,className:"flex justify-between items-center px-3 py-2.5 rounded-lg border cursor-grab transition-all "+(n.hidden?"border-amber-200 bg-amber-50/50":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>m({subitemIndex:i}),onDragOver:()=>(n=>{const r=h.subitemIndex;if(null===r||r===n)return;const i=Array.from(a),[o]=i.splice(r,1);i.splice(n,0,o);const l=Array.from(t);l[e].submenu=i,s(l),m({subitemIndex:n})})(i)},(0,r.createElement)("div",{className:"flex items-center gap-2 min-w-0"},(0,r.createElement)(Pr,null),(0,r.createElement)("span",{className:"text-sm truncate "+(n.hidden?"line-through text-gray-400":"text-gray-600 font-medium")},n.label),n.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),d&&(0,r.createElement)("span",{className:"text-xs font-semibold text-indigo-600 bg-indigo-50 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("custom","editx"))),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:(0,nr.__)("Edit","editx"),onClick:()=>o(e,i)}),(0,r.createElement)(Ar,{label:n.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>l(e,i)}),d&&(0,r.createElement)(Ar,{danger:!0,label:(0,nr.__)("Delete","editx"),onClick:()=>p(()=>c(e,i),void 0,(0,nr.__)("Delete this custom submenu item?","editx"))}))))})),!n.classes.includes("wp-menu-separator")&&(0,r.createElement)("button",{onClick:()=>d(e),className:"editx-btn-add",style:{marginTop:0}},(0,r.createElement)(Mr,null),(0,nr.__)("Add New Submenu","editx")))},jr=({items:e,defaultItems:t,onOrderChange:n,onSelect:a,onHide:s,onDelete:i,itemExpand:o,onItemExpand:l,itemNew:c})=>{const[d,u]=(0,r.useState)(null),{delConfirm:h}=Or(),m=(0,r.useMemo)(()=>new Set(t.map(e=>e.url)),[t]),p=e=>u(e),f=t=>{if(null===d||t===d)return;const r=Array.from(e),[a]=r.splice(d,1);r.splice(t,0,a),n(r),u(t)},y=(t,n)=>{(void 0!==n?e[t]?.submenu[n]?.hidden:e[t]?.hidden)?s(t,n):h(()=>s(t,n),void 0,(0,nr.__)("Are you sure you want to hide this item?","editx"))};return(0,r.createElement)("div",{className:"space-y-1.5"},e.map((t,s)=>{const d=t.classes?.includes("wp-menu-separator"),u=o===t.url,g=!m.has(t.url)&&!d;return d?(0,r.createElement)("div",{key:`${t.url}-${s}`,className:"flex items-center gap-2 px-2 py-2 rounded-lg border cursor-grab transition-all "+(t.hidden?"border-dashed border-amber-200 bg-amber-50/40":"border-dashed border-gray-200 bg-gray-50/60 hover:border-gray-300 hover:bg-gray-50"),draggable:!0,onDragStart:()=>p(s),onDragOver:()=>f(s)},(0,r.createElement)(Pr,null),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(t.hidden?"border-amber-300":"border-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold uppercase tracking-widest flex-shrink-0 px-1.5 "+(t.hidden?"text-amber-400":"text-gray-400")},(0,nr.__)("separator","editx")),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(t.hidden?"border-amber-300":"border-gray-300")}),t.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:t.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>y(s)})))):(0,r.createElement)("div",{key:`${t.url}-${s}`,className:"rounded-lg border transition-all cursor-grab "+(t.hidden?"border-amber-200 bg-amber-50/40":u?"border-indigo-200 bg-indigo-50/30":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>p(s),onDragOver:()=>f(s)},(0,r.createElement)("div",{className:"flex justify-between items-center px-3 py-2.5"},(0,r.createElement)("div",{className:"flex items-center gap-2 flex-1 min-w-0"},(0,r.createElement)(Pr,null),(0,r.createElement)(Lr,{icon:t.icon,hidden:t.hidden}),(0,r.createElement)("div",{className:"editx-menu-label text-sm font-medium truncate "+(t.hidden?"line-through text-gray-400":u?"text-indigo-700":"text-gray-700"),dangerouslySetInnerHTML:{__html:t.label}}),t.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),g&&(0,r.createElement)("span",{className:"text-xs font-semibold text-indigo-600 bg-indigo-50 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("custom","editx"))),(0,r.createElement)("div",{className:"flex items-center gap-0.5 flex-shrink-0"},(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:(0,nr.__)("Edit","editx"),onClick:()=>a(s)}),(0,r.createElement)(Ar,{label:t.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>y(s)}),g&&(0,r.createElement)(Ar,{danger:!0,label:(0,nr.__)("Delete","editx"),onClick:()=>{return e=s,void h(()=>i(e,void 0),void 0,(0,nr.__)("Delete this custom menu item permanently?","editx"));var e}}))),(0,r.createElement)("button",{type:"button",onClick:()=>l(t.url),className:"flex items-center justify-center w-6 h-6 rounded-md transition-all ml-0.5 "+(u?"text-indigo-500 bg-indigo-100":"text-gray-400 hover:text-gray-600 hover:bg-gray-100"),style:{transform:u?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease, color 0.15s, background 0.15s"}},(0,r.createElement)(Ir,null)))),(0,r.createElement)(Fr,{itemIndex:s,items:e,item:t,subitems:t.submenu,itemExpand:o,onSelect:a,onHide:y,onDelete:i,onOrderChange:n,itemNew:c,originalUrls:m}))}),(0,r.createElement)("button",{onClick:()=>c(null),className:"editx-btn-add"},(0,r.createElement)(Mr,null),(0,nr.__)("Add New Menu","editx")))},Ur=["dashicons-menu","dashicons-menu-alt","dashicons-menu-alt2","dashicons-menu-alt3","dashicons-admin-site","dashicons-admin-site-alt","dashicons-admin-site-alt2","dashicons-admin-site-alt3","dashicons-dashboard","dashicons-admin-post","dashicons-admin-media","dashicons-admin-links","dashicons-admin-page","dashicons-admin-comments","dashicons-admin-appearance","dashicons-admin-plugins","dashicons-plugins-checked","dashicons-admin-users","dashicons-admin-tools","dashicons-admin-settings","dashicons-admin-network","dashicons-admin-generic","dashicons-admin-home","dashicons-admin-collapse","dashicons-filter","dashicons-admin-customizer","dashicons-admin-multisite","dashicons-welcome-write-blog","dashicons-welcome-add-page","dashicons-welcome-view-site","dashicons-welcome-widgets-menus","dashicons-welcome-comments","dashicons-welcome-learn-more","dashicons-format-aside","dashicons-format-image","dashicons-format-gallery","dashicons-format-video","dashicons-format-status","dashicons-format-quote","dashicons-format-chat","dashicons-format-audio","dashicons-camera","dashicons-camera-alt","dashicons-images-alt","dashicons-images-alt2","dashicons-video-alt","dashicons-video-alt2","dashicons-video-alt3","dashicons-media-archive","dashicons-media-audio","dashicons-media-code","dashicons-media-default","dashicons-media-document","dashicons-media-interactive","dashicons-media-spreadsheet","dashicons-media-text","dashicons-media-video","dashicons-playlist-audio","dashicons-playlist-video","dashicons-controls-play","dashicons-controls-pause","dashicons-controls-forward","dashicons-controls-skipforward","dashicons-controls-back","dashicons-controls-skipback","dashicons-controls-repeat","dashicons-controls-volumeon","dashicons-controls-volumeoff","dashicons-yes","dashicons-yes-alt","dashicons-no","dashicons-no-alt","dashicons-plus","dashicons-plus-alt","dashicons-plus-alt2","dashicons-minus","dashicons-dismiss","dashicons-marker","dashicons-star-filled","dashicons-star-half","dashicons-star-empty","dashicons-flag","dashicons-warning","dashicons-translation","dashicons-location","dashicons-location-alt","dashicons-vault","dashicons-shield","dashicons-shield-alt","dashicons-sos","dashicons-search","dashicons-lock","dashicons-unlock","dashicons-key","dashicons-slides","dashicons-analytics","dashicons-chart-pie","dashicons-chart-bar","dashicons-chart-line","dashicons-chart-area","dashicons-groups","dashicons-businessman","dashicons-businesswoman","dashicons-businessperson","dashicons-id","dashicons-id-alt","dashicons-nametag","dashicons-universal-access","dashicons-universal-access-alt","dashicons-products","dashicons-awards","dashicons-forms","dashicons-testimonial","dashicons-portfolio","dashicons-book","dashicons-book-alt","dashicons-download","dashicons-upload","dashicons-backup","dashicons-clock","dashicons-lightbulb","dashicons-microphone","dashicons-desktop","dashicons-laptop","dashicons-tablet","dashicons-smartphone","dashicons-phone","dashicons-smiley","dashicons-index-card","dashicons-carrot","dashicons-building","dashicons-store","dashicons-album","dashicons-palmtree","dashicons-tickets-alt","dashicons-tickets","dashicons-money","dashicons-money-alt","dashicons-thumbs-up","dashicons-thumbs-down","dashicons-layout","dashicons-paperclip","dashicons-printer","dashicons-globe","dashicons-list-view","dashicons-grid-view","dashicons-move","dashicons-hammer","dashicons-art","dashicons-migrate","dashicons-performance","dashicons-clipboard","dashicons-heart","dashicons-megaphone","dashicons-schedule","dashicons-hourglass","dashicons-coffee","dashicons-games","dashicons-airplane","dashicons-car","dashicons-bike","dashicons-calculator","dashicons-wordpress","dashicons-wordpress-alt","dashicons-pressthis","dashicons-update","dashicons-update-alt","dashicons-screenoptions","dashicons-info","dashicons-info-outline","dashicons-cart","dashicons-feedback","dashicons-cloud","dashicons-visibility","dashicons-hidden","dashicons-randomize","dashicons-database","dashicons-database-add","dashicons-database-export","dashicons-database-import","dashicons-database-remove","dashicons-database-view","dashicons-saved","dashicons-open-folder","dashicons-pdf","dashicons-text","dashicons-insert","dashicons-remove","dashicons-split","dashicons-post-status","dashicons-sticky","dashicons-align-full-width","dashicons-align-pull-left","dashicons-align-pull-right","dashicons-align-wide","dashicons-block-default","dashicons-button","dashicons-color-picker","dashicons-columns","dashicons-cover-image","dashicons-editor-aligncenter","dashicons-editor-alignleft","dashicons-editor-alignright","dashicons-editor-bold","dashicons-editor-break","dashicons-editor-code","dashicons-editor-contract","dashicons-editor-customchar","dashicons-editor-expand","dashicons-editor-help","dashicons-editor-indent","dashicons-editor-insertmore","dashicons-editor-italic","dashicons-editor-justify","dashicons-editor-kitchensink","dashicons-editor-ltr","dashicons-editor-ol","dashicons-editor-ol-rtl","dashicons-editor-outdent","dashicons-editor-paragraph","dashicons-editor-paste-text","dashicons-editor-paste-word","dashicons-editor-quote","dashicons-editor-removeformatting","dashicons-editor-rtl","dashicons-editor-spellcheck","dashicons-editor-strikethrough","dashicons-editor-table","dashicons-editor-textcolor","dashicons-editor-ul","dashicons-editor-underline","dashicons-editor-unlink","dashicons-editor-video","dashicons-image-crop","dashicons-image-filter","dashicons-image-flip-horizontal","dashicons-image-flip-vertical","dashicons-image-rotate","dashicons-image-rotate-left","dashicons-image-rotate-right","dashicons-fullscreen-alt","dashicons-fullscreen-exit-alt","dashicons-email","dashicons-email-alt","dashicons-email-alt2","dashicons-rss","dashicons-twitter","dashicons-twitter-alt","dashicons-facebook","dashicons-facebook-alt","dashicons-facebook-alt2","dashicons-google","dashicons-linkedin","dashicons-networking","dashicons-whatsapp","dashicons-amazon","dashicons-instagram","dashicons-reddit","dashicons-spotify","dashicons-twitch","dashicons-tiktok","dashicons-youtube","dashicons-pinterest","dashicons-arrow-left","dashicons-arrow-right","dashicons-arrow-up","dashicons-arrow-down","dashicons-arrow-left-alt","dashicons-arrow-right-alt","dashicons-arrow-up-alt","dashicons-arrow-down-alt","dashicons-arrow-left-alt2","dashicons-arrow-right-alt2","dashicons-arrow-up-alt2","dashicons-arrow-down-alt2","dashicons-sort","dashicons-leftright","dashicons-undo","dashicons-redo","dashicons-trash","dashicons-edit","dashicons-tag","dashicons-category","dashicons-archive","dashicons-excerpt","dashicons-external","dashicons-embed-generic"],qr=({value:e,onChange:t})=>{const[n,a]=(0,r.useState)(!1),[s,i]=(0,r.useState)(""),o=(0,r.useRef)(null),l=(0,r.useMemo)(()=>{const e=s.trim().toLowerCase();return e?Ur.filter(t=>t.includes(e)):Ur},[s]);(0,r.useEffect)(()=>{const e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const c=!!e&&(e.startsWith("http")||e.startsWith("data:"));return(0,r.createElement)("div",{ref:o},(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("div",{className:"flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 bg-gray-50 flex-shrink-0"},e?c?(0,r.createElement)("img",{src:e,alt:"",className:"w-5 h-5 object-contain"}):(0,r.createElement)("span",{className:`dashicons ${e}`,style:{fontSize:18,width:18,height:18}}):(0,r.createElement)("span",{className:"text-gray-300 text-xs"},"—")),(0,r.createElement)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"dashicons-admin-generic",className:"editx-input flex-1"}),(0,r.createElement)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex-shrink-0 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 bg-white text-gray-600 hover:bg-gray-50 transition-colors"},n?(0,nr.__)("Close","editx"):(0,nr.__)("Browse","editx"))),n&&(0,r.createElement)("div",{className:"mt-1.5 border border-gray-200 rounded-lg bg-white overflow-hidden"},(0,r.createElement)("div",{className:"p-2 border-b border-gray-100"},(0,r.createElement)("input",{type:"search",autoFocus:!0,value:s,onChange:e=>i(e.target.value),placeholder:(0,nr.__)("Search icons…","editx"),className:"editx-input !py-1 text-sm"})),(0,r.createElement)("div",{className:"overflow-y-auto p-2",style:{maxHeight:196}},l.length>0?(0,r.createElement)("div",{className:"flex flex-wrap gap-1"},l.map(n=>(0,r.createElement)("button",{key:n,type:"button",title:n.replace("dashicons-",""),onClick:()=>(e=>{t(e),a(!1),i("")})(n),className:"flex items-center justify-center w-8 h-8 rounded-md transition-colors "+(e===n?"bg-indigo-100 ring-1 ring-indigo-400 text-indigo-600":"text-gray-600 hover:bg-gray-100")},(0,r.createElement)("span",{className:`dashicons ${n}`,style:{fontSize:18,width:18,height:18}})))):(0,r.createElement)("p",{className:"text-center text-gray-400 text-xs py-6"},(0,nr.__)("No icons found","editx"))),(0,r.createElement)("div",{className:"px-2 py-2 border-t border-gray-100"},(0,r.createElement)("button",{type:"button",onClick:()=>{if(!window.wp?.media)return;const e=window.wp.media({title:(0,nr.__)("Select Icon Image","editx"),button:{text:(0,nr.__)("Use this image","editx")},multiple:!1,library:{type:"image"}});e.on("select",()=>{const n=e.state().get("selection").first().toJSON();t(n.url),a(!1),i("")}),e.open()},className:"w-full text-xs font-medium py-1.5 px-3 rounded-md border border-gray-300 text-gray-600 hover:bg-gray-50 transition-colors"},(0,nr.__)("Upload / Choose from Media Library","editx")))))},$r=[{label:"Super Admin",value:"super_admin"},{label:"Administrator",value:"administrator"},{label:"Editor",value:"editor"},{label:"Author",value:"author"},{label:"Contributor",value:"contributor"},{label:"Subscriber",value:"subscriber"}],Qr=[{label:"General",caps:["read","manage_options","edit_dashboard","customize","export","import"]},{label:"Posts",caps:["edit_posts","edit_others_posts","edit_private_posts","edit_published_posts","publish_posts","delete_posts","delete_others_posts","delete_private_posts","delete_published_posts","read_private_posts"]},{label:"Pages",caps:["edit_pages","edit_others_pages","edit_private_pages","edit_published_pages","publish_pages","delete_pages","delete_others_pages","delete_private_pages","delete_published_pages","read_private_pages"]},{label:"Content",caps:["manage_categories","manage_links","moderate_comments","edit_comment","upload_files","unfiltered_upload","unfiltered_html"]},{label:"Plugins",caps:["activate_plugins","install_plugins","update_plugins","delete_plugins","edit_plugins","upload_plugins"]},{label:"Themes",caps:["switch_themes","install_themes","update_themes","delete_themes","edit_themes","edit_theme_options","upload_themes","edit_files"]},{label:"Users",caps:["list_users","create_users","add_users","edit_users","promote_users","remove_users","delete_users"]},{label:"Site",caps:["update_core","delete_site"]},{label:"Multisite",caps:["manage_network","manage_sites","manage_network_users","manage_network_plugins","manage_network_themes","manage_network_options","create_sites","delete_sites","upgrade_network","setup_network"]}],Br=({value:e,onChange:t})=>{const[n,a]=(0,r.useState)(!1),s=(0,r.useRef)(null);(0,r.useEffect)(()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const i=e=>{t(e),a(!1)};return(0,r.createElement)("div",{ref:s},(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"manage_options",className:"editx-input flex-1"}),(0,r.createElement)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex-shrink-0 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 bg-white text-gray-600 hover:bg-gray-50 transition-colors"},n?(0,nr.__)("Close","editx"):(0,nr.__)("Select","editx"))),n&&(0,r.createElement)("div",{className:"mt-1.5 border border-gray-200 rounded-lg bg-white overflow-hidden"},(0,r.createElement)("div",{className:"px-3 py-2.5 border-b border-gray-100"},(0,r.createElement)("p",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2"},(0,nr.__)("Roles","editx")),(0,r.createElement)("div",{className:"flex flex-wrap gap-1.5"},$r.map(t=>(0,r.createElement)("button",{key:t.value,type:"button",onClick:()=>i(t.value),className:"px-2.5 py-1 text-xs font-medium rounded-full border transition-colors "+(e===t.value?"bg-indigo-600 text-white border-indigo-600":"bg-white text-gray-700 border-gray-300 hover:bg-indigo-50 hover:border-indigo-300")},t.label)))),(0,r.createElement)("div",{className:"overflow-y-auto",style:{maxHeight:200}},Qr.map(t=>(0,r.createElement)("div",{key:t.label,className:"px-3 py-2 border-t border-gray-100 first:border-t-0"},(0,r.createElement)("p",{className:"text-xs font-semibold text-gray-400 uppercase tracking-wider mb-1"},t.label),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-0.5"},t.caps.map(t=>(0,r.createElement)("button",{key:t,type:"button",onClick:()=>i(t),className:"text-left px-2 py-1 text-xs font-mono rounded transition-colors "+(e===t?"bg-indigo-50 text-indigo-700 font-semibold":"text-gray-600 hover:bg-gray-50")},t))))))))};function Hr({content:e,children:t,position:n="bottom",className:s=""}){const[i,o]=(0,a.useState)(!1),l=(0,a.useRef)(null),[c,d]=(0,a.useState)({top:0,left:0});return(0,a.useEffect)(()=>{if(!i||!l.current)return;const e=()=>{if(!l.current)return;const e=l.current.getBoundingClientRect();let t=0,r=0;switch(n){case"top":t=e.top-8,r=e.left+e.width/2;break;case"right":t=e.top+e.height/2,r=e.right+8;break;case"bottom":t=e.bottom+8,r=e.left+e.width/2;break;case"left":t=e.top+e.height/2,r=e.left-8}d({top:t,left:r})};return e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[i,n]),(0,r.createElement)("div",{ref:l,className:`relative inline-block ${s}`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1)},t,i&&(0,a.createPortal)((0,r.createElement)("div",{style:(()=>{const e={position:"fixed",top:`${c.top}px`,left:`${c.left}px`,zIndex:99999,padding:"0.5rem 0.75rem",backgroundColor:"#111827",color:"#ffffff",fontSize:"0.75rem",lineHeight:1.5,borderRadius:"0.375rem",boxShadow:"0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1)",maxWidth:"16rem",whiteSpace:"normal"};switch(n){case"top":return{...e,transform:"translate(-50%, -100%)"};case"right":return{...e,transform:"translateY(-50%)"};case"bottom":return{...e,transform:"translateX(-50%)"};case"left":return{...e,transform:"translate(-100%, -50%)"}}})(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1)},(0,r.createElement)("div",{style:(()=>{const e={position:"absolute",width:0,height:0};switch(n){case"top":return{...e,bottom:"-0.375rem",left:"50%",transform:"translateX(-50%)",borderLeft:"0.375rem solid transparent",borderRight:"0.375rem solid transparent",borderTop:"0.375rem solid #111827"};case"right":return{...e,left:"-0.375rem",top:"50%",transform:"translateY(-50%)",borderTop:"0.375rem solid transparent",borderBottom:"0.375rem solid transparent",borderRight:"0.375rem solid #111827"};case"bottom":return{...e,top:"-0.375rem",left:"50%",transform:"translateX(-50%)",borderLeft:"0.375rem solid transparent",borderRight:"0.375rem solid transparent",borderBottom:"0.375rem solid #111827"};case"left":return{...e,right:"-0.375rem",top:"50%",transform:"translateY(-50%)",borderTop:"0.375rem solid transparent",borderBottom:"0.375rem solid transparent",borderLeft:"0.375rem solid #111827"}}})()}),e),document.body))}const zr=({text:e})=>(0,r.createElement)(Hr,{content:e,position:"top"},(0,r.createElement)("span",{className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-full bg-blue-500 text-white cursor-help select-none ml-1 align-middle",style:{fontSize:9,fontWeight:700,lineHeight:1}},"i")),Wr=({htmlFor:e,label:t,tooltip:n})=>(0,r.createElement)("label",{htmlFor:e,className:"editx-input-label flex items-center"},t,(0,r.createElement)(zr,{text:n})),Kr=({isNew:e,data:t,defaultItems:n,onSave:a,onClose:s})=>{const[i,o]=(0,r.useState)(t);(0,r.useEffect)(()=>{o(t)},[t]);const l=e=>{const{name:t,value:n}=e.target;o(e=>({...e,[t]:n}))},c=!("submenu"in t),d=e?(0,nr.__)("Add New Menu","editx"):(0,nr.__)("Edit Menu","editx"),u=e?(0,nr.__)("Save","editx"):(0,nr.__)("Apply","editx");return(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("div",{className:"flex items-center justify-between rounded-t border-b p-3"},(0,r.createElement)("h3",{className:"text-lg font-semibold text-gray-900"},d),(0,r.createElement)("button",{type:"button",className:"end-2.5 ms-auto inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900",onClick:s},(0,r.createElement)("svg",{className:"h-3 w-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})))),(0,r.createElement)("form",{onSubmit:e=>{e.preventDefault(),a(i)},className:"p-5 overflow-y-auto",style:{maxHeight:"calc(90vh - 120px)"}},(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"label",label:(0,nr.__)("Label:","editx"),tooltip:(0,nr.__)("The text shown in the admin sidebar. Leave blank to keep the original. HTML is allowed — e.g. add a notification badge.","editx")}),(0,r.createElement)("input",{type:"text",id:"label",name:"label",value:i.label,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"target_page",label:(0,nr.__)("Target Page:","editx"),tooltip:(0,nr.__)("Link this item to an existing WordPress admin page. Selecting one auto-fills the URL field below.","editx")}),(0,r.createElement)("select",{id:"target_page",value:i.url,onChange:e=>o(t=>({...t,url:e.target.value})),className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),n.map((e,t)=>(0,r.createElement)("option",{key:t,value:e.url,className:e.isSubmenu?"":"font-bold"},e.isSubmenu&&"- ",e.label))))),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"url",label:(0,nr.__)("URL:","editx"),tooltip:(0,nr.__)("The destination URL for this menu item. Can be a relative admin path (admin.php?page=...) or a full URL (https://...).","editx")}),(0,r.createElement)("input",{type:"text",id:"url",name:"url",value:i.url,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"open_in",label:(0,nr.__)("Open In:","editx"),tooltip:(0,nr.__)("Choose whether clicking this menu item opens the link in the same tab or a new browser window.","editx")}),(0,r.createElement)("select",{id:"open_in",name:"open_in",value:i.open_in,onChange:l,className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Same window or tab","editx")),(0,r.createElement)("option",{value:"blank"},(0,nr.__)("New window","editx"))))),!c&&(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)(Wr,{label:(0,nr.__)("Icon:","editx"),tooltip:(0,nr.__)("A Dashicons class (e.g. dashicons-admin-users) or a full image URL. Only visible on top-level menu items.","editx")}),(0,r.createElement)(qr,{value:i.icon,onChange:e=>o(t=>({...t,icon:e}))})),(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)(Wr,{label:(0,nr.__)("Permission:","editx"),tooltip:(0,nr.__)('The WordPress capability or role a user must have to see this menu item. Use "read" for all logged-in users, or "manage_options" for admins only.',"editx")}),(0,r.createElement)(Br,{value:i.capability,onChange:e=>o(t=>({...t,capability:e}))})),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"classes",label:(0,nr.__)("Classes:","editx"),tooltip:(0,nr.__)("Extra CSS class names added to the menu item's <li> element. Separate multiple classes with a space.","editx")}),(0,r.createElement)("input",{type:"text",id:"classes",name:"classes",value:i.classes,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"id",label:(0,nr.__)("ID:","editx"),tooltip:(0,nr.__)("The HTML id attribute applied to the menu item's <li> element. Must be unique across the page.","editx")}),(0,r.createElement)("input",{type:"text",id:"id",name:"id",value:i.id,onChange:l,className:"editx-input"}))),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-4"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"page_title",label:(0,nr.__)("Page Title:","editx"),tooltip:(0,nr.__)("Text shown in the browser tab <title> when this admin page is open. Defaults to the menu label if left blank.","editx")}),(0,r.createElement)("input",{type:"text",id:"page_title",name:"page_title",value:i.page_title,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"window_title",label:(0,nr.__)("Window Title:","editx"),tooltip:(0,nr.__)('An alternative title shown in the browser window title bar. Overrides the default "Page Title — Site Name" format.',"editx")}),(0,r.createElement)("input",{type:"text",id:"window_title",name:"window_title",value:i.window_title,onChange:l,className:"editx-input"}))),(0,r.createElement)("button",{type:"submit",className:"editx-submit"},u))))};var Vr,Gr=new Uint8Array(16);function Yr(){if(!Vr&&!(Vr="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vr(Gr)}const Xr=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var Jr=[],Zr=0;Zr<256;++Zr)Jr.push((Zr+256).toString(16).substr(1));const ea=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(Jr[e[t+0]]+Jr[e[t+1]]+Jr[e[t+2]]+Jr[e[t+3]]+"-"+Jr[e[t+4]]+Jr[e[t+5]]+"-"+Jr[e[t+6]]+Jr[e[t+7]]+"-"+Jr[e[t+8]]+Jr[e[t+9]]+"-"+Jr[e[t+10]]+Jr[e[t+11]]+Jr[e[t+12]]+Jr[e[t+13]]+Jr[e[t+14]]+Jr[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&Xr.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},ta=function(e,t,n){var r=(e=e||{}).random||(e.rng||Yr)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var a=0;a<16;++a)t[n+a]=r[a];return t}return ea(r)},na=({groups:e,value:t,onChange:n})=>(0,r.createElement)("select",{value:t,onChange:e=>{const t=e.target.value;n(t)},className:"editx-input",style:{width:120}},!t&&(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),e.map(e=>(0,r.createElement)("optgroup",{key:e.label,label:e.label},e.options.map(e=>(0,r.createElement)("option",{key:e.value,value:e.value},e.label))))),ra=()=>(0,r.createElement)("span",{className:"editx-drag-handle",title:"Drag to reorder"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16",width:16,height:16},(0,r.createElement)("circle",{cx:"5.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"13.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"13.5",r:"1.2"}))),aa=({items:e,onChange:t,onSelect:n,onDelete:a})=>{const[s,i]=(0,r.useState)(null),{delConfirm:o}=Or();return(0,r.createElement)("div",{className:"space-y-1.5"},e.map((l,c)=>(0,r.createElement)("div",{key:l.id,className:"flex justify-between items-center rounded-lg border px-3 py-2.5 cursor-grab transition-all "+(l.hidden?"border-amber-200 bg-amber-50/40":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>(e=>i(e))(c),onDragOver:()=>(n=>{if(null===s||n===s)return;const r=Array.from(e),[a]=r.splice(s,1);r.splice(n,0,a),t(r),i(n)})(c)},(0,r.createElement)("div",{className:"flex items-center gap-2 min-w-0 flex-1"},(0,r.createElement)(ra,null),(0,r.createElement)("div",{className:"text-sm font-medium truncate "+(l.hidden?"line-through text-gray-400":"text-gray-700"),dangerouslySetInnerHTML:{__html:l.label}}),l.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},"hidden")),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>n(c)},(0,nr.__)("Edit","editx")),(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>(t=>{e[t].hidden?a(t):o(()=>a(t),void 0,"Are you sure you want to hide this column?")})(c)},l.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx")))))))},sa=({data:e,isNew:t,onSave:n,onClose:a})=>{const[s,i]=(0,r.useState)(e);(0,r.useEffect)(()=>{i(e)},[e]);const o=e=>{const{name:t,value:n}=e.target;i(e=>({...e,[t]:n}))},l=t?(0,nr.__)("Add New Column","editx"):(0,nr.__)("Edit Column","editx"),c=t?(0,nr.__)("Save","editx"):(0,nr.__)("Apply","editx");return(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("div",{className:"flex items-center justify-between rounded-t border-b p-3"},(0,r.createElement)("h3",{className:"text-lg font-semibold text-gray-900"},l),(0,r.createElement)("button",{type:"button",className:"end-2.5 ms-auto inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900","data-modal-hide":"authentication-modal",onClick:a},(0,r.createElement)("svg",{className:"h-3 w-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})))),(0,r.createElement)("form",{onSubmit:e=>{e.preventDefault(),n(s)},className:"p-5"},(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)("label",{htmlFor:"label",className:"editx-input-label"},"Label:"),(0,r.createElement)("input",{type:"text",id:"label",name:"label",value:s.label,onChange:o,className:"block w-full editx-input"})),(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)("label",{htmlFor:"type",className:"editx-input-label"},"Type:"),(0,r.createElement)("input",{type:"text",id:"type",name:"type",value:s.type,onChange:o,className:"block w-full editx-input"})),(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)("label",{htmlFor:"width",className:"editx-input-label"},"Width:"),(0,r.createElement)("div",{className:"flex"},(0,r.createElement)("input",{type:"number",id:"width",name:"width",size:3,value:s.width,onChange:o,className:"editx-input",style:{width:80,marginRight:5}}),(0,r.createElement)("select",{id:"width_unit",name:"width_unit",value:s.width_unit,onChange:o,className:"editx-input",style:{width:70}},(0,r.createElement)("option",{value:"%"},"%"),(0,r.createElement)("option",{value:"px"},"px")))),(0,r.createElement)("button",{type:"submit",className:"editx-submit"},c))))},ia={loading:!0,screens:[],items:[],itemNew:null,selectedItem:null},oa=(e,t)=>{switch(t.type){case"set_loading":return{...e,loading:t.payload};case"set_screens":return{...e,screens:t.payload};case"set_items":return{...e,items:t.payload};case"set_item_new":return{...e,itemNew:t.payload};case"set_item_select":return{...e,selectedItem:t.payload};default:return e}},la=()=>{const{id:e="post"}=On(),t=Tn(),n=o(),[a,s]=(0,r.useReducer)(oa,ia),{loading:i,screens:l,items:c,itemNew:d,selectedItem:u}=a,{data:h}=mr({queryKey:["admin-columns",{id:e}],queryFn:()=>Er("admin-columns/"+e)});(0,r.useEffect)(()=>{s({type:"set_loading",payload:!0}),s({type:"set_items",payload:[]})},[e]),(0,r.useEffect)(()=>{h&&(s({type:"set_screens",payload:h.screens}),s({type:"set_items",payload:h.columns}),s({type:"set_loading",payload:!1}))},[h]);const m=e=>{s({type:"set_item_select",payload:e})},p=fr({mutationFn:()=>_r("admin-columns",e,{admin_column:a.items}),onSuccess:()=>{e&&(Le.success((0,nr.__)("Successfully Updated","editx")),n.invalidateQueries({queryKey:["admin-columns"]}))}}),f=fr({mutationFn:()=>Cr("admin-columns",e),onSuccess:()=>{Le.success((0,nr.__)("Columns reset to default","editx")),n.invalidateQueries({queryKey:["admin-columns"]})}});return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Admin Column Editor","editx")},!i&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:async()=>{p.mutate()},className:"editx-submit"},(0,nr.__)("Save Changes","editx")),(0,r.createElement)("button",{onClick:async()=>{f.mutate()},className:"editx-btn-secondary ml-2"},(0,nr.__)("Reset to Default","editx")))),(0,r.createElement)(vr,null,i&&(0,r.createElement)(yr,null),(0,r.createElement)("div",{className:"editx-admin-columns"},!i&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"mb-5 flex items-center justify-between gap-4 bg-white rounded-xl border border-gray-100 px-4 py-3 shadow-sm"},(0,r.createElement)("div",{className:"flex items-center gap-3"},(0,r.createElement)("span",{className:"text-xs font-semibold text-gray-400 uppercase tracking-wide whitespace-nowrap"},(0,nr.__)("Screen","editx")),(0,r.createElement)(na,{groups:l,value:e,onChange:e=>{e&&t(`/admin-column-editor/${e}`)}})),(0,r.createElement)("button",{className:"editx-btn-secondary flex-shrink-0",onClick:()=>window.open((e=>{const t=(window.ajaxurl||"").replace("admin-ajax.php","");return"wp_media"===e?`${t}upload.php`:"wp_comments"===e?`${t}edit-comments.php`:"wp_users"===e?`${t}users.php`:"post"===e?`${t}edit.php`:`${t}edit.php?post_type=${e}`})(e),"_blank")},`${(0,nr.__)("View","editx")} ${(e=>{for(const t of l){const n=t.options.find(t=>t.value===e);if(n)return n.label}})(e)}`)),(0,r.createElement)("div",null,(0,r.createElement)(aa,{items:c,onChange:e=>{s({type:"set_items",payload:e})},onSelect:m,onDelete:e=>{const t=[...a.items];t[e]={...t[e],hidden:!t[e].hidden},s({type:"set_items",payload:t})}}),(0,r.createElement)("button",{onClick:()=>{s({type:"set_item_new",payload:{id:`editx_custom_${ta()}`,type:"default",label:"Column Name",width:"",width_unit:"%"}}),m(null)},className:"editx-btn-add"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",width:13,height:13},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})),(0,nr.__)("Add New Column","editx"))),d&&(0,r.createElement)(sa,{isNew:!0,data:d,onSave:e=>{s({type:"set_items",payload:[...c,e]}),s({type:"set_item_new",payload:null})},onClose:()=>s({type:"set_item_new",payload:null})}),null!==u&&c[u]&&(0,r.createElement)(sa,{data:c[u],onSave:e=>{if(null!==u){const t=[...a.items];t[u]=e,s({type:"set_items",payload:t})}m(null)},onClose:()=>m(null)})))))},ca={items:[],selectedItems:[],selectAll:!1,loading:!0},da=(e,t)=>{switch(t.type){case"set_items":return{...e,items:t.payload};case"set_selected_items":return{...e,selectedItems:t.payload};case"set_select_all":return{...e,selectAll:t.payload};case"set_loading":return{...e,loading:t.payload};case"set_toggle_item":return{...e,selectedItems:e.selectedItems.includes(t.payload)?e.selectedItems.filter(e=>e!==t.payload):[...e.selectedItems,t.payload]};default:return e}},ua=({type:e,selectAll:t,handleSelectAll:n})=>(0,r.createElement)("thead",{className:"bg-gray-50 text-xs uppercase text-gray-500 border-b border-gray-200"},(0,r.createElement)("tr",null,(0,r.createElement)("th",{style:{width:20},className:"p-4"},(0,r.createElement)("div",{className:"flex items-center"},(0,r.createElement)("input",{id:"checkbox-all-search",type:"checkbox",checked:t,onChange:n,className:"h-4 w-4 rounded border-gray-300 bg-white text-indigo-600 focus:ring-2 focus:ring-indigo-300"}))),"users"===e?(0,r.createElement)(r.Fragment,null,(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("ID","editx")),(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Name","editx")),(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Email","editx"))):(0,r.createElement)(r.Fragment,null,(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Label","editx"))),(0,r.createElement)("th",{style:{width:80},className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Actions","editx")))),ha=({type:e,items:t,selectedItems:n,handleToggleItem:a,goForm:s,handleDelete:i})=>(0,r.createElement)("tbody",null,t.map(t=>(0,r.createElement)("tr",{key:t.id,className:"border-b border-gray-100 bg-white hover:bg-gray-50 transition-colors"},(0,r.createElement)("td",{className:"w-4 p-4"},(0,r.createElement)("div",{className:"flex items-center"},(0,r.createElement)("input",{id:"checkbox-table-search-1",type:"checkbox",checked:n.includes(t.id),onChange:()=>a(t.id),className:"h-4 w-4 rounded border-gray-300 bg-white text-indigo-600 focus:ring-2 focus:ring-indigo-300"}))),"users"===e?(0,r.createElement)(r.Fragment,null,(0,r.createElement)("td",{className:"px-6 py-3.5 text-sm text-gray-500"},t.id),(0,r.createElement)("td",{className:"whitespace-nowrap px-6 py-3.5 text-sm font-semibold text-gray-900"},t.name),(0,r.createElement)("td",{className:"px-6 py-3.5 text-sm text-gray-500"},t.email)):(0,r.createElement)(r.Fragment,null,(0,r.createElement)("td",{className:"whitespace-nowrap px-6 py-3.5 text-sm font-semibold text-gray-900"},t.label)),(0,r.createElement)("td",{className:"px-6 py-3.5 text-right"},(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>s(t.id)},(0,nr.__)("Edit","editx")),(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-red-600 hover:bg-red-50 transition-colors",onClick:()=>i(t.id)},(0,nr.__)("Delete","editx")))))))),ma=e=>(0,r.createElement)("div",{className:"overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm"},(0,r.createElement)("table",{className:"w-full text-left text-sm text-gray-600"},(0,r.createElement)(ua,{...e}),(0,r.createElement)(ha,{...e}))),pa={loadingFetch:!0,idList:[],adminMenu:[],formData:{id:"",admin_menu:{}},menuExpand:null,loadingSubmit:!1},fa=(e,t)=>{switch(t.type){case"set_loading_fetch":return{...e,loadingFetch:t.payload};case"set_id_list":return{...e,idList:t.payload};case"set_admin_menu":return{...e,adminMenu:t.payload};case"set_form_data":return{...e,formData:t.payload};case"set_item_expand":return{...e,menuExpand:t.payload};case"set_loading_submit":return{...e,loadingSubmit:t.payload};default:return e}},ya=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:16,height:16},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})),ga=({menu:e,menuExpand:t,formData:n,submenu:a,onToggle:s})=>(0,r.createElement)("div",{className:(t===e.url?"block":"hidden")+" pl-8 pt-2 pb-1 space-y-1"},a.map(t=>{const a=n.admin_menu[e.url]?.includes(t.url)||!1;return(0,r.createElement)("label",{key:t.url,htmlFor:`sub-${t.url}`,className:"flex items-center gap-2.5 cursor-pointer group py-1"},(0,r.createElement)("input",{type:"checkbox",id:`sub-${t.url}`,checked:a,onChange:()=>s(e.url,t.url),className:"w-3.5 h-3.5 rounded border-gray-300 text-indigo-600 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("span",{className:"text-sm transition-colors "+(a?"text-gray-800 font-medium":"text-gray-500 group-hover:text-gray-700")},t.label))})),va=({adminMenu:e,formData:t,onToggle:n,menuExpand:a,onMenuExpand:s,onSubmenuToggle:i})=>(0,r.createElement)("div",{className:"space-y-1.5"},e.map(e=>{const o=e.classes.includes("wp-menu-separator"),l=void 0!==t.admin_menu[e.url],c=a===e.url;return o?(0,r.createElement)("label",{key:e.url,htmlFor:e.url,className:"flex items-center gap-3 px-3 py-2 rounded-lg border cursor-pointer transition-colors "+(l?"border-indigo-200 bg-indigo-50/40":"border-dashed border-gray-200 bg-gray-50/50 hover:border-gray-300 hover:bg-gray-50")},(0,r.createElement)("input",{type:"checkbox",id:e.url,checked:l,onChange:()=>n(e.url),className:"w-3.5 h-3.5 rounded border-gray-300 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("div",{className:"flex items-center gap-2 flex-1 min-w-0"},(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(l?"border-indigo-300":"border-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold uppercase tracking-wide flex-shrink-0 "+(l?"text-indigo-400":"text-gray-300")},"separator"),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(l?"border-indigo-300":"border-gray-300")}))):(0,r.createElement)("div",{key:e.url,className:"rounded-lg border transition-colors "+(l?"border-indigo-200 bg-indigo-50/40":"border-gray-100 bg-white")},(0,r.createElement)("div",{className:"flex items-center justify-between px-3 py-2.5"},(0,r.createElement)("label",{htmlFor:e.url,className:"flex items-center gap-2.5 cursor-pointer flex-1 min-w-0"},(0,r.createElement)("input",{type:"checkbox",id:e.url,checked:l,onChange:()=>n(e.url),className:"w-4 h-4 rounded border-gray-300 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("span",{className:"text-sm font-medium transition-colors "+(l?"text-gray-900":"text-gray-600"),dangerouslySetInnerHTML:{__html:e.label}})),e.submenu.length>0&&(0,r.createElement)("button",{type:"button",onClick:()=>s(e.url),className:"flex items-center justify-center w-6 h-6 rounded-md transition-all flex-shrink-0 ml-2 "+(c?"text-indigo-500 bg-indigo-50":"text-gray-400 hover:text-gray-600 hover:bg-gray-100"),style:{transform:c?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease, color 0.15s, background 0.15s"}},(0,r.createElement)(ya,null))),e.submenu.length>0&&(0,r.createElement)(ga,{menu:e,menuExpand:a,formData:t,submenu:e.submenu,onToggle:(e,t)=>i(e,t)}))})),ba=()=>{const{type:e,id:t=""}=On(),n=Tn(),a=o(),[s,i]=(0,r.useReducer)(fa,pa),{loadingFetch:l,idList:c,formData:d,adminMenu:u,menuExpand:h,loadingSubmit:m}=s,p=`restrictions/${e}`,{data:f}=mr({queryKey:["restriction-form",{type:e,id:t}],queryFn:()=>Er(`${p}${t?`/${t}`:"/0"}`)});(0,r.useEffect)(()=>{if(f){const{id_list:e,admin_menu:n,form_data:r}=f;i({type:"set_id_list",payload:e}),i({type:"set_admin_menu",payload:n}),t&&i({type:"set_form_data",payload:r}),i({type:"set_loading_fetch",payload:!1})}},[f,t]);const y=fr({mutationFn:()=>t?_r(p,t,d):(async(e,t,n="free")=>{const r=await xr()({path:`${wr(e,n)}`,method:"POST",data:t});if(r.success)return r.data;throw r.data.map(e=>new Error(e))})(p,d),onSuccess:()=>{t?Le.success((0,nr.__)("Successfully Updated","editx")):(Le.success((0,nr.__)("Successfully Added","editx")),t||a.invalidateQueries({queryKey:["restrictions"]}),n(`/restrictions/${e}`))}}),g="users"===e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:`${(0,nr.__)("Restrict","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`},!l&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:async()=>{d.id?0!==Object.keys(d.admin_menu).length?y.mutate():Le.error((0,nr.__)("Please Select Menu","editx")):"users"===e?Le.error((0,nr.__)("Please Select User","editx")):Le.error((0,nr.__)("Please Select Role","editx"))},className:"editx-submit",disabled:m},m?t?(0,nr.__)("Updating…","editx"):(0,nr.__)("Submitting…","editx"):t?(0,nr.__)("Update","editx"):(0,nr.__)("Submit","editx")),(0,r.createElement)("button",{className:"editx-btn-secondary ml-2",onClick:()=>n(`/restrictions/${e}`)},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:14,height:14},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"})),`${(0,nr.__)("Back to","editx")} ${g?(0,nr.__)("Users","editx"):(0,nr.__)("Roles","editx")}`))),(0,r.createElement)(vr,null,l&&(0,r.createElement)(yr,null),(0,r.createElement)("div",{className:"editx-restrictions-form"},!l&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"bg-white rounded-xl border border-gray-100 shadow-sm p-5 mb-4"},(0,r.createElement)("label",{className:"editx-input-label"},`${(0,nr.__)("Select","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`),(0,r.createElement)("select",{onChange:e=>(e=>{i({type:"set_form_data",payload:{...d,id:e}})})(e.target.value),value:d.id,disabled:!!t,className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),c.map((e,t)=>(0,r.createElement)("option",{key:t,value:e.id},e.label)))),(0,r.createElement)("div",{className:"bg-white rounded-xl border border-gray-100 shadow-sm p-5"},(0,r.createElement)("div",{className:"mb-4"},(0,r.createElement)("p",{className:"text-xs font-bold text-gray-700 uppercase tracking-wide mb-1"},(0,nr.__)("Menu Access","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500"},`${(0,nr.__)("Select the menu items you want to allow for this","editx")} ${g?(0,nr.__)("user","editx"):(0,nr.__)("role","editx")}.`)),(0,r.createElement)(va,{adminMenu:u,formData:d,onToggle:e=>{const t={...d.admin_menu};void 0!==t[e]?delete t[e]:t[e]=u.find(t=>t.url===e)?.submenu.map(e=>e.url)||[],i({type:"set_form_data",payload:{...d,admin_menu:t}})},onMenuExpand:e=>{i({type:"set_item_expand",payload:h===e?null:e})},menuExpand:h,onSubmenuToggle:(e,t)=>((e,t)=>{const n={...d.admin_menu};n[e]||(n[e]=[]);const r=n[e].indexOf(t);-1!==r?n[e].splice(r,1):n[e].push(t),i({type:"set_form_data",payload:{...d,admin_menu:n}})})(e,t)}))))))},xa={items:[],loading:!0},wa=(e,t)=>{switch(t.type){case"set_loading":return{...e,loading:t.payload};case"set_items":return{...e,items:t.payload};default:return e}},Ea=({item:e,onToggleActive:t})=>(0,r.createElement)("div",{className:"rounded-xl bg-white p-5 flex flex-col gap-3 transition-all duration-200 "+(e.is_active?"border-2 border-indigo-200 shadow-sm":"border-2 border-gray-100")},(0,r.createElement)("div",{className:"flex items-start justify-between gap-3"},(0,r.createElement)("div",{className:"flex-1 min-w-0"},(0,r.createElement)("h3",{className:"font-bold text-gray-900 text-sm mb-1.5",style:{letterSpacing:"-0.01em"}},e.title),(0,r.createElement)("p",{className:"text-xs text-gray-500 leading-relaxed"},e.description)),(0,r.createElement)("label",{className:"relative inline-flex items-center cursor-pointer flex-shrink-0 mt-0.5"},(0,r.createElement)("input",{type:"checkbox",checked:e.is_active,onChange:()=>t(e.id,e.is_active),className:"sr-only peer"}),(0,r.createElement)("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-200 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-500"}))),(0,r.createElement)("div",{className:"flex items-center gap-1.5 pt-3 border-t "+(e.is_active?"border-indigo-100":"border-gray-100")},(0,r.createElement)("span",{className:"w-1.5 h-1.5 rounded-full flex-shrink-0 "+(e.is_active?"bg-emerald-400":"bg-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold "+(e.is_active?"text-emerald-600":"text-gray-400")},e.is_active?(0,nr.__)("Active","editx"):(0,nr.__)("Inactive","editx")))),_a=()=>(0,r.createElement)("div",{className:"flex flex-col items-center justify-center py-24 px-6 text-center"},(0,r.createElement)("div",{className:"flex items-center justify-center w-14 h-14 rounded-2xl bg-gray-50 border border-gray-100 mb-4"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"#9ca3af",width:24,height:24},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z"}))),(0,r.createElement)("h3",{className:"text-sm font-bold text-gray-900 mb-1"},(0,nr.__)("Page Not Found","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500"},(0,nr.__)("The page you are looking for does not exist.","editx"))),Ca=function(e){return Ot({basename:void 0,future:Qn({},void 0,{v7_prependBasename:!0}),history:(t={window:void 0},void 0===t&&(t={}),ze(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=He(e.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),Qe("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:Be(t))},function(e,t){qe("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},t)),hydrationData:Bn(),routes:e,mapRouteProperties:$n,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize();var t}([{path:"/",element:(0,r.createElement)(()=>{const e=Tn();return(0,r.createElement)("div",{className:"editx-dashboard"},(0,r.createElement)("div",{className:"editx-dashboard-hero"},(0,r.createElement)("div",{className:"flex items-center gap-3 mb-3"},(0,r.createElement)("div",{className:"flex items-center justify-center w-10 h-10 rounded-xl shadow-sm flex-shrink-0",style:{background:"linear-gradient(135deg, #818cf8 0%, #4f46e5 100%)"}},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"white",width:18,height:18},(0,r.createElement)("path",{d:"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32l8.4-8.4Z"}),(0,r.createElement)("path",{d:"M5.25 5.25a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h10.5a3 3 0 0 0 3-3V13.5a.75.75 0 0 0-1.5 0v5.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5V8.25a1.5 1.5 0 0 1 1.5-1.5h5.25a.75.75 0 0 0 0-1.5H5.25Z"}))),(0,r.createElement)("div",null,(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("h1",{className:"font-bold text-gray-900",style:{fontSize:"18px",letterSpacing:"-0.02em"}},"EditX"),(0,r.createElement)("span",{className:"text-xs font-semibold px-2 py-0.5 rounded-md bg-indigo-50 text-indigo-600 border border-indigo-100"},"Admin Suite")))),(0,r.createElement)("p",{className:"text-sm text-gray-500 leading-relaxed",style:{maxWidth:"480px"}},(0,nr.__)("Customize your WordPress admin experience — edit menus, columns and restrict access.","editx"))),(0,r.createElement)("div",{className:"editx-dashboard-grid"},rr.map(t=>{const n=ar[t.color];return(0,r.createElement)("button",{key:t.id,className:`editx-feature-card ${n.hoverBorder}`,onClick:()=>e(t.route)},(0,r.createElement)("div",{className:`editx-feature-icon ${n.bg} ${n.text}`},t.icon),(0,r.createElement)("div",{className:"editx-feature-body"},(0,r.createElement)("h3",{className:`editx-feature-title ${n.text}`},t.title),(0,r.createElement)("p",{className:"editx-feature-desc"},t.description)),(0,r.createElement)("span",{className:`editx-feature-arrow ${n.text}`},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:15,height:15},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"}))))})))},null)},{path:"/admin-menu-editor",element:(0,r.createElement)(()=>{const e=o(),[t,n]=(0,r.useReducer)(Sr,kr),{loadingFetch:a,items:s,defaultItems:i,itemNew:l,itemExpand:c,selectedItem:d,selectedSubitem:u,loadingSubmit:h}=t,{data:m}=mr({queryKey:["admin-menus"],queryFn:()=>Er("admin-menus")});(0,r.useEffect)(()=>{if(m){const{menus:e,default_menus:t}=m;n({type:"set_items",payload:e}),n({type:"set_default_items",payload:t}),n({type:"set_loading_fetch",payload:!1})}},[m]);const p=(e,t)=>{n({type:"set_item_select",payload:void 0!==e?e:null}),n({type:"set_subitem_select",payload:void 0!==t?t:null})},f=fr({mutationFn:()=>_r("admin-menus","",{admin_menu:s}),onSuccess:()=>{Le.success((0,nr.__)("Successfully Updated","editx")),e.invalidateQueries({queryKey:["admin-menus"]})}}),y=fr({mutationFn:()=>Cr("admin-menus","reset"),onSuccess:()=>{Le.success((0,nr.__)("Menus reset to default","editx")),e.invalidateQueries({queryKey:["admin-menus"]})}});return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Admin Menu Editor","editx")},!a&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:async()=>{f.mutate()},className:"editx-submit",disabled:h},(0,nr.__)("Save Changes","editx")),(0,r.createElement)("button",{onClick:()=>{y.mutate()},className:"editx-btn-secondary ml-2"},(0,nr.__)("Reset to Default","editx")))),(0,r.createElement)(vr,null,a&&(0,r.createElement)(yr,null),!a&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"editx-admin-menu-editor"},(0,r.createElement)(jr,{items:s,defaultItems:i,onOrderChange:e=>{n({type:"set_items",payload:e})},onSelect:p,onHide:(e,r)=>{const a=[...t.items];if(void 0!==r){const t=a[e].submenu[r];a[e].submenu[r]={...t,hidden:!t.hidden}}else a[e]={...a[e],hidden:!a[e].hidden};n({type:"set_items",payload:a})},onDelete:(e,r)=>{const a=[...t.items];void 0!==r?a[e].submenu.splice(r,1):a.splice(e,1),n({type:"set_items",payload:a})},onItemExpand:e=>{n({type:"set_item_expand",payload:c===e?null:e})},itemExpand:c,itemNew:e=>{const t=null!==e?{label:(0,nr.__)("Submenu Name","editx"),url:"",capability:"administrator",icon:"",open_in:"",classes:"",id:"",page_title:"",window_title:""}:{label:(0,nr.__)("Menu Name","editx"),url:"",capability:"administrator",icon:"",open_in:"",classes:"",id:"",page_title:"",window_title:"",submenu:[]};n({type:"set_item_new",payload:t}),n({type:"set_item_select",payload:e})}})),l&&(0,r.createElement)(Kr,{isNew:!0,data:l,defaultItems:i,onSave:e=>{if(null!==d){const t=[...s];t[d].submenu.push(e),n({type:"set_items",payload:t})}else n({type:"set_items",payload:[...s,e]});n({type:"set_item_new",payload:null}),n({type:"set_item_select",payload:null})},onClose:()=>{n({type:"set_item_new",payload:null}),n({type:"set_item_select",payload:null})}}),!l&&null!==d&&s[d]&&(0,r.createElement)(Kr,{data:null!==d&&null!==u?s[d].submenu[u]:s[d],defaultItems:i,onSave:e=>{const r=[...t.items];null!==d&&null!==u?r[d].submenu[u]=e:null!==d&&(r[d]=e),n({type:"set_items",payload:r}),p(null)},onClose:()=>p(null)}))))},null)},{path:"/admin-column-editor",element:(0,r.createElement)(la,null)},{path:"/admin-column-editor/:id",element:(0,r.createElement)(la,null)},{path:"/restrictions/:type",element:(0,r.createElement)(()=>{const{type:e=""}=On(),t=Tn(),n=o(),[a,s]=(0,r.useReducer)(da,ca),{items:i,selectedItems:l,selectAll:c,loading:d}=a,{delConfirm:u}=Or(),{data:h}=mr({queryKey:["restrictions",{type:e}],queryFn:()=>Er("restrictions/"+e)});(0,r.useEffect)(()=>{h&&(s({type:"set_items",payload:h.list}),s({type:"set_loading",payload:!1}))},[h]),(0,r.useEffect)(()=>{s({type:"set_select_all",payload:l.length===i.length&&i.length>0})},[l,i]);const m=n=>{t(n?`/restrictions/${e}/${n}/edit`:`/restrictions/${e}/add`)},p=e=>{t("roles"==e?"/restrictions/roles":"/restrictions/users")},f=fr({mutationFn:t=>Cr("restrictions/"+e,t.join(",")),onSuccess:()=>{n.invalidateQueries({queryKey:["restrictions"]});const e=i.filter(e=>!l.includes(e.id));s({type:"set_items",payload:e}),s({type:"set_selected_items",payload:[]}),Le.success("Successfully deleted.")}}),y=e=>{u(()=>{const t=e?[e]:l;f.mutate(t)})},g="users"===e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:`${(0,nr.__)("Restriction","editx")} ${g?(0,nr.__)("Users","editx"):(0,nr.__)("Roles","editx")}`},!d&&(0,r.createElement)("button",{className:"editx-submit",onClick:()=>m()},`${(0,nr.__)("Restrict","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`)),(0,r.createElement)(vr,null,(0,r.createElement)("div",{className:"editx-restrictions"},(0,r.createElement)("div",{className:"mb-5 mt-5 flex justify-between items-center"},(0,r.createElement)("div",{className:"flex rounded-lg border border-gray-200 bg-white overflow-hidden shadow-sm"},(0,r.createElement)("button",{className:"px-5 py-2 text-sm font-semibold transition-colors "+("roles"===e?"bg-gray-900 text-white":"text-gray-500 hover:text-gray-800 hover:bg-gray-50"),onClick:()=>p("roles")},(0,nr.__)("Roles","editx")),(0,r.createElement)("button",{className:"px-5 py-2 text-sm font-semibold transition-colors border-l border-gray-200 "+("users"===e?"bg-gray-900 text-white":"text-gray-500 hover:text-gray-800 hover:bg-gray-50"),onClick:()=>p("users")},(0,nr.__)("Users","editx"))),l.length>0&&(0,r.createElement)("button",{className:"editx-btn-danger",onClick:()=>y()},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:14,height:14},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})),`${(0,nr.__)("Delete","editx")} (${l.length})`)),d&&(0,r.createElement)(yr,null),!d&&(0,r.createElement)(r.Fragment,null,i.length>0&&(0,r.createElement)(ma,{type:e,selectAll:c,handleSelectAll:()=>{if(c)s({type:"set_selected_items",payload:[]});else{const e=i.map(e=>e.id);s({type:"set_selected_items",payload:e})}},items:i,selectedItems:l,handleToggleItem:e=>{s({type:"set_toggle_item",payload:e})},goForm:m,handleDelete:y}),!i.length&&(0,r.createElement)("div",{className:"text-center py-16 px-6 bg-white rounded-xl border border-dashed border-gray-200"},(0,r.createElement)("div",{className:"flex items-center justify-center w-12 h-12 rounded-xl bg-gray-50 border border-gray-100 mx-auto mb-4"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"#9ca3af",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"}))),(0,r.createElement)("h3",{className:"text-sm font-bold text-gray-900 mb-1"},(0,nr.__)("No restrictions yet","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500 mb-5"},`${(0,nr.__)("No restrictions set for any","editx")} ${g?(0,nr.__)("user","editx"):(0,nr.__)("role","editx")} ${(0,nr.__)("yet.","editx")}`),(0,r.createElement)("button",{className:"editx-submit",onClick:()=>m()},`${(0,nr.__)("Restrict a","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`))))))},null)},{path:"/restrictions/:type/add",element:(0,r.createElement)(ba,null)},{path:"/restrictions/:type/:id/edit",element:(0,r.createElement)(ba,null)},{path:"/addons",element:(0,r.createElement)(()=>{const[e,t]=(0,r.useReducer)(wa,xa),{loading:n,items:a}=e,{data:s}=mr({queryKey:["addons"],queryFn:()=>Er("addons")});(0,r.useEffect)(()=>{s&&(t({type:"set_items",payload:s.list}),t({type:"set_loading",payload:!1}))},[s]);const i=fr({mutationFn:({id:e,is_active:t})=>_r("addons",e,{is_active:t}),onSuccess:(e,n)=>{const{id:r}=n;t({type:"set_items",payload:a.map(e=>e.id===r?{...e,is_active:!e.is_active}:e)}),window.location.reload()}}),o=(e,t)=>{i.mutate({id:e,is_active:!t})};return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Addons","editx")},!n&&!1),(0,r.createElement)(vr,null,(0,r.createElement)("div",{className:"editx-addons"},n&&(0,r.createElement)(yr,null),!n&&(0,r.createElement)("div",{className:"grid gap-5 grid-cols-3"},a.map(e=>(0,r.createElement)(Ea,{key:e.id,item:e,onToggleActive:o}))))))},null)},{path:"*",element:(0,r.createElement)(_a,null)}]),ka=Ca,Sa=()=>{const e=document.querySelectorAll("#toplevel_page_editx ul > li");for(let t=0,n=e.length;t<n;t++)e[t].addEventListener("click",function(){for(let t=0;t<n;t++)e[t].classList.remove("current");this.classList.add("current")});(()=>{let e=window.location.hash;const t=document.querySelectorAll("#toplevel_page_editx ul > li");for(let n=0,r=t.length;n<r;n++){const r=t[n].querySelector("a");e=e.replace(/[0-9]|\/+$/g,""),e&&r&&r.getAttribute("href")&&r.getAttribute("href").includes(e)?t[n].classList.add("current"):(t[n].classList.remove("current"),!e&&r&&"admin.php?page=editx#"===r.getAttribute("href")&&t[n].classList.add("current"))}})()};document.addEventListener("DOMContentLoaded",()=>{Sa()});const Ra=document.getElementById("editx");Ra&&(0,a.createRoot)(Ra).render((0,r.createElement)(a.StrictMode,null,(0,r.createElement)(({client:e,children:t})=>(r.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,s.jsx)(i.Provider,{value:e,children:t})),{client:Me},(0,r.createElement)(({children:e})=>{const[t,n]=(0,r.useState)(!1),[a,s]=(0,r.useState)(()=>{}),[i,o]=(0,r.useState)("Are you sure you want to delete this?"),[l,c]=(0,r.useState)(!1),d=()=>{n(!1)};return(0,r.createElement)(Tr.Provider,{value:{delConfirm:(e,t,r)=>{s(()=>e),o(r||"Are you sure you want to delete this?"),n(!0)},proAlert:()=>{c(!0)}}},e,(0,r.createElement)(Rr,{isOpen:t,message:i,onCancel:()=>{d()},onConfirm:()=>{a(),d()}}),(0,r.createElement)(Nr,{isOpen:l,onCancel:()=>{c(!1)}}))},null,(0,r.createElement)(()=>(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Ee,{hideProgressBar:!0}),(0,r.createElement)(a.Suspense,{fallback:(0,r.createElement)(yr,null)},(0,r.createElement)(Xn,{router:ka,fallbackElement:(0,r.createElement)(_a,null)}))),null)))))},20(e,t,n){var r=n(609),a=Symbol.for("react.element"),s=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,l={},c=null,d=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,r)&&!o.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:d,props:l,_owner:i.current}}},848(e,t,n){e.exports=n(20)},609(e){e.exports=window.React}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,a,s)=>{if(!n){var i=1/0;for(d=0;d<e.length;d++){for(var[n,a,s]=e[d],o=!0,l=0;l<n.length;l++)(!1&s||i>=s)&&Object.keys(r.O).every(e=>r.O[e](n[l]))?n.splice(l--,1):(o=!1,s<i&&(i=s));if(o){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[n,a,s]},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={57:0,350:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var a,s,[i,o,l]=n,c=0;if(i.some(t=>0!==e[t])){for(a in o)r.o(o,a)&&(r.m[a]=o[a]);if(l)var d=l(r)}for(t&&t(n);c<i.length;c++)s=i[c],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(d)},n=globalThis.webpackChunkeditx=globalThis.webpackChunkeditx||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var a=r.O(void 0,[350],()=>r(315));a=r.O(a)})();1 (()=>{"use strict";var e,t={159(e,t,n){var r=n(609);const a=window.wp.element;var s=n(848),i=r.createContext(void 0),o=e=>{const t=r.useContext(i);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},l={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},c=new class{#e=l;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},d="undefined"==typeof window||"Deno"in globalThis;function u(){}function h(e){return"number"==typeof e&&e>=0&&e!==1/0}function m(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return"function"==typeof e?e(t):e}function f(e,t){return"function"==typeof e?e(t):e}function y(e,t){const{type:n="all",exact:r,fetchStatus:a,predicate:s,queryKey:i,stale:o}=e;if(i)if(r){if(t.queryHash!==v(i,t.options))return!1}else if(!x(t.queryKey,i))return!1;if("all"!==n){const e=t.isActive();if("active"===n&&!e)return!1;if("inactive"===n&&e)return!1}return!("boolean"==typeof o&&t.isStale()!==o||a&&a!==t.state.fetchStatus||s&&!s(t))}function g(e,t){const{exact:n,status:r,predicate:a,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(b(t.options.mutationKey)!==b(s))return!1}else if(!x(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||a&&!a(t))}function v(e,t){return(t?.queryKeyHashFn||b)(e)}function b(e){return JSON.stringify(e,(e,t)=>C(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function x(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&Object.keys(t).every(n=>x(e[n],t[n]))}var w=Object.prototype.hasOwnProperty;function E(e,t,n=0){if(e===t)return e;if(n>500)return t;const r=k(e)&&k(t);if(!(r||C(e)&&C(t)))return t;const a=(r?e:Object.keys(e)).length,s=r?t:Object.keys(t),i=s.length,o=r?new Array(i):{};let l=0;for(let c=0;c<i;c++){const i=r?c:s[c],d=e[i],u=t[i];if(d===u){o[i]=d,(r?c<a:w.call(e,i))&&l++;continue}if(null===d||null===u||"object"!=typeof d||"object"!=typeof u){o[i]=u;continue}const h=E(d,u,n+1);o[i]=h,h===d&&l++}return a===i&&l===a?e:o}function _(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function k(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function C(e){if(!S(e))return!1;const t=e.constructor;if(void 0===t)return!0;const n=t.prototype;return!!S(n)&&!!n.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function S(e){return"[object Object]"===Object.prototype.toString.call(e)}function N(e,t,n){return"function"==typeof n.structuralSharing?n.structuralSharing(e,t):!1!==n.structuralSharing?E(e,t):t}function R(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function T(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var O=Symbol();function D(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==O?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`))}function L(e,t){return"function"==typeof e?e(...t):!!e}var P=function(e){setTimeout(e,0)},M=function(){let e=[],t=0,n=e=>{e()},r=e=>{e()},a=P;const s=r=>{t?e.push(r):a(()=>{n(r)})};return{batch:s=>{let i;t++;try{i=s()}finally{t--,t||(()=>{const t=e;e=[],t.length&&a(()=>{r(()=>{t.forEach(e=>{n(e)})})})})()}return i},batchCalls:e=>(...t)=>{s(()=>{e(...t)})},schedule:s,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{a=e}}}(),I=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},A=new class extends I{#n;#r;#a;constructor(){super(),this.#a=e=>{if(!d&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#r||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#a=e,this.#r?.(),this.#r=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#n!==e&&(this.#n=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#n?this.#n:"hidden"!==globalThis.document?.visibilityState}},F=new class extends I{#s=!0;#r;#a;constructor(){super(),this.#a=e=>{if(!d&&window.addEventListener){const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#r||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(e){this.#a=e,this.#r?.(),this.#r=e(this.setOnline.bind(this))}setOnline(e){this.#s!==e&&(this.#s=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#s}};function j(){let e,t;const n=new Promise((n,r)=>{e=n,t=r});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.status="pending",n.catch(()=>{}),n.resolve=t=>{r({status:"fulfilled",value:t}),e(t)},n.reject=e=>{r({status:"rejected",reason:e}),t(e)},n}function U(e){return Math.min(1e3*2**e,3e4)}function q(e){return"online"!==(e??"online")||F.isOnline()}var $=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Q(e){let t,n=!1,r=0;const a=j(),s=()=>"pending"!==a.status,i=()=>A.isFocused()&&("always"===e.networkMode||F.isOnline())&&e.canRun(),o=()=>q(e.networkMode)&&e.canRun(),l=e=>{s()||(t?.(),a.resolve(e))},u=e=>{s()||(t?.(),a.reject(e))},h=()=>new Promise(n=>{t=e=>{(s()||i())&&n(e)},e.onPause?.()}).then(()=>{t=void 0,s()||e.onContinue?.()}),m=()=>{if(s())return;let t;const a=0===r?e.initialPromise:void 0;try{t=a??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(l).catch(t=>{if(s())return;const a=e.retry??(d?0:3),o=e.retryDelay??U,l="function"==typeof o?o(r,t):o,p=!0===a||"number"==typeof a&&r<a||"function"==typeof a&&a(r,t);var f;!n&&p?(r++,e.onFail?.(r,t),(f=l,new Promise(e=>{c.setTimeout(e,f)})).then(()=>i()?void 0:h()).then(()=>{n?u(t):m()})):u(t)})};return{promise:a,status:()=>a.status,cancel:t=>{if(!s()){const n=new $(t);u(n),e.onCancel?.(n)}},continue:()=>(t?.(),a),cancelRetry:()=>{n=!0},continueRetry:()=>{n=!1},canStart:o,start:()=>(o()?m():h().then(m),a)}}var B=class{#i;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),h(this.gcTime)&&(this.#i=c.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(d?1/0:3e5))}clearGcTimeout(){this.#i&&(c.clearTimeout(this.#i),this.#i=void 0)}},H=class extends B{#o;#l;#c;#d;#u;#h;#m;constructor(e){super(),this.#m=!1,this.#h=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#d=e.client,this.#c=this.#d.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#o=K(this.options),this.state=e.state??this.#o,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#u?.promise}setOptions(e){if(this.options={...this.#h,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){const e=K(this.options);void 0!==e.data&&(this.setState(W(e.data,e.dataUpdatedAt)),this.#o=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#c.remove(this)}setData(e,t){const n=N(this.state.data,e,this.options);return this.#p({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#p({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#u?.promise;return this.#u?.cancel(e),t?t.then(u).catch(u):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#o)}isActive(){return this.observers.some(e=>!1!==f(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===O||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===p(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!m(this.state.dataUpdatedAt,e))}onFocus(){const e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#u?.continue()}onOnline(){const e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#u?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#c.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#u&&(this.#m?this.#u.cancel({revert:!0}):this.#u.cancelRetry()),this.scheduleGc()),this.#c.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#p({type:"invalidate"})}async fetch(e,t){if("idle"!==this.state.fetchStatus&&"rejected"!==this.#u?.status())if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#u)return this.#u.continueRetry(),this.#u.promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}const n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#m=!0,n.signal)})},a=()=>{const e=D(this.options,t),n=(()=>{const e={client:this.#d,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#m=!1,this.options.persister?this.options.persister(e,n,this):e(n)},s=(()=>{const e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#d,state:this.state,fetchFn:a};return r(e),e})();this.options.behavior?.onFetch(s,this),this.#l=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===s.fetchOptions?.meta||this.#p({type:"fetch",meta:s.fetchOptions?.meta}),this.#u=Q({initialPromise:t?.initialPromise,fn:s.fetchFn,onCancel:e=>{e instanceof $&&e.revert&&this.setState({...this.#l,fetchStatus:"idle"}),n.abort()},onFail:(e,t)=>{this.#p({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#p({type:"pause"})},onContinue:()=>{this.#p({type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0});try{const e=await this.#u.start();if(void 0===e)throw new Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#c.config.onSuccess?.(e,this),this.#c.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof $){if(e.silent)return this.#u.promise;if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#p({type:"error",error:e}),this.#c.config.onError?.(e,this),this.#c.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#p(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...z(t.data,this.options),fetchMeta:e.meta??null};case"success":const n={...t,...W(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#l=e.manual?n:void 0,n;case"error":const r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),M.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#c.notify({query:this,type:"updated",action:e})})}};function z(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:q(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function W(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function K(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,n=void 0!==t,r=n?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var V=class extends I{constructor(e={}){super(),this.config=e,this.#f=new Map}#f;build(e,t,n){const r=t.queryKey,a=t.queryHash??v(r,t);let s=this.get(a);return s||(s=new H({client:e,queryKey:r,queryHash:a,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(s)),s}add(e){this.#f.has(e.queryHash)||(this.#f.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#f.get(e.queryHash);t&&(e.destroy(),t===e&&this.#f.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){M.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#f.get(e)}getAll(){return[...this.#f.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(e=>y(t,e))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(t=>y(e,t)):t}notify(e){M.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){M.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){M.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},G=class extends B{#d;#y;#g;#u;constructor(e){super(),this.#d=e.client,this.mutationId=e.mutationId,this.#g=e.mutationCache,this.#y=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#y.includes(e)||(this.#y.push(e),this.clearGcTimeout(),this.#g.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#y=this.#y.filter(t=>t!==e),this.scheduleGc(),this.#g.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#y.length||("pending"===this.state.status?this.scheduleGc():this.#g.remove(this))}continue(){return this.#u?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#p({type:"continue"})},n={client:this.#d,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#u=Q({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{this.#p({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#p({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#g.canRun(this)});const r="pending"===this.state.status,a=!this.#u.canStart();try{if(r)t();else{this.#p({type:"pending",variables:e,isPaused:a}),this.#g.config.onMutate&&await this.#g.config.onMutate(e,this,n);const t=await(this.options.onMutate?.(e,n));t!==this.state.context&&this.#p({type:"pending",context:t,variables:e,isPaused:a})}const s=await this.#u.start();return await(this.#g.config.onSuccess?.(s,e,this.state.context,this,n)),await(this.options.onSuccess?.(s,e,this.state.context,n)),await(this.#g.config.onSettled?.(s,null,this.state.variables,this.state.context,this,n)),await(this.options.onSettled?.(s,null,e,this.state.context,n)),this.#p({type:"success",data:s}),s}catch(t){try{await(this.#g.config.onError?.(t,e,this.state.context,this,n))}catch(e){Promise.reject(e)}try{await(this.options.onError?.(t,e,this.state.context,n))}catch(e){Promise.reject(e)}try{await(this.#g.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n))}catch(e){Promise.reject(e)}try{await(this.options.onSettled?.(void 0,t,e,this.state.context,n))}catch(e){Promise.reject(e)}throw this.#p({type:"error",error:t}),t}finally{this.#g.runNext(this)}}#p(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),M.batch(()=>{this.#y.forEach(t=>{t.onMutationUpdate(e)}),this.#g.notify({mutation:this,type:"updated",action:e})})}},Y=class extends I{constructor(e={}){super(),this.config=e,this.#v=new Set,this.#b=new Map,this.#x=0}#v;#b;#x;build(e,t,n){const r=new G({client:e,mutationCache:this,mutationId:++this.#x,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#v.add(e);const t=X(e);if("string"==typeof t){const n=this.#b.get(t);n?n.push(e):this.#b.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#v.delete(e)){const t=X(e);if("string"==typeof t){const n=this.#b.get(t);if(n)if(n.length>1){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}else n[0]===e&&this.#b.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=X(e);if("string"==typeof t){const n=this.#b.get(t),r=n?.find(e=>"pending"===e.state.status);return!r||r===e}return!0}runNext(e){const t=X(e);if("string"==typeof t){const n=this.#b.get(t)?.find(t=>t!==e&&t.state.isPaused);return n?.continue()??Promise.resolve()}return Promise.resolve()}clear(){M.batch(()=>{this.#v.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#v.clear(),this.#b.clear()})}getAll(){return Array.from(this.#v)}find(e){const t={exact:!0,...e};return this.getAll().find(e=>g(t,e))}findAll(e={}){return this.getAll().filter(t=>g(e,t))}notify(e){M.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(e=>e.state.isPaused);return M.batch(()=>Promise.all(e.map(e=>e.continue().catch(u))))}};function X(e){return e.options.scope?.id}function J(e){return{onFetch:(t,n)=>{const r=t.options,a=t.fetchOptions?.meta?.fetchMore?.direction,s=t.state.data?.pages||[],i=t.state.data?.pageParams||[];let o={pages:[],pageParams:[]},l=0;const c=async()=>{let n=!1;const c=e=>{!function(e,n,r){let a,s=!1;Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(a??=t.signal,s||(s=!0,a.aborted?r():a.addEventListener("abort",r,{once:!0})),a)})}(e,0,()=>n=!0)},d=D(t.options,t.fetchOptions),u=async(e,r,a)=>{if(n)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);const s=(()=>{const e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:a?"backward":"forward",meta:t.options.meta};return c(e),e})(),i=await d(s),{maxPages:o}=t.options,l=a?T:R;return{pages:l(e.pages,i,o),pageParams:l(e.pageParams,r,o)}};if(a&&s.length){const e="backward"===a,t={pages:s,pageParams:i},n=(e?ee:Z)(r,t);o=await u(t,n,e)}else{const t=e??s.length;do{const e=0===l?i[0]??r.initialPageParam:Z(r,o);if(l>0&&null==e)break;o=await u(o,e),l++}while(l<t)}return o};t.options.persister?t.fetchFn=()=>t.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=c}}}function Z(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ee(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function te(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=te(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const ne=function(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=te(e))&&(r&&(r+=" "),r+=t);return r},re=e=>"number"==typeof e&&!isNaN(e),ae=e=>"string"==typeof e,se=e=>"function"==typeof e,ie=e=>ae(e)||se(e)?e:null,oe=e=>(0,r.isValidElement)(e)||ae(e)||se(e)||re(e);function le(e){let{enter:t,exit:n,appendPosition:a=!1,collapse:s=!0,collapseDuration:i=300}=e;return function(e){let{children:o,position:l,preventExitTransition:c,done:d,nodeRef:u,isIn:h}=e;const m=a?`${t}--${l}`:t,p=a?`${n}--${l}`:n,f=(0,r.useRef)(0);return(0,r.useLayoutEffect)(()=>{const e=u.current,t=m.split(" "),n=r=>{r.target===u.current&&(e.dispatchEvent(new Event("d")),e.removeEventListener("animationend",n),e.removeEventListener("animationcancel",n),0===f.current&&"animationcancel"!==r.type&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener("animationend",n),e.addEventListener("animationcancel",n)},[]),(0,r.useEffect)(()=>{const e=u.current,t=()=>{e.removeEventListener("animationend",t),s?function(e,t,n){void 0===n&&(n=300);const{scrollHeight:r,style:a}=e;requestAnimationFrame(()=>{a.minHeight="initial",a.height=r+"px",a.transition=`all ${n}ms`,requestAnimationFrame(()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(t,n)})})}(e,d,i):d()};h||(c?t():(f.current=1,e.className+=` ${p}`,e.addEventListener("animationend",t)))},[h]),r.createElement(r.Fragment,null,o)}}function ce(e,t){return null!=e?{content:e.content,containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,status:t}:{}}const de={list:new Map,emitQueue:new Map,on(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off(e,t){if(t){const n=this.list.get(e).filter(e=>e!==t);return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit(e){const t=this.emitQueue.get(e);return t&&(t.forEach(clearTimeout),this.emitQueue.delete(e)),this},emit(e){this.list.has(e)&&this.list.get(e).forEach(t=>{const n=setTimeout(()=>{t(...[].slice.call(arguments,1))},0);this.emitQueue.has(e)||this.emitQueue.set(e,[]),this.emitQueue.get(e).push(n)})}},ue=e=>{let{theme:t,type:n,...a}=e;return r.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${n})`,...a})},he={info:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(e){return r.createElement(ue,{...e},r.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return r.createElement("div",{className:"Toastify__spinner"})}};function me(e){const[,t]=(0,r.useReducer)(e=>e+1,0),[n,a]=(0,r.useState)([]),s=(0,r.useRef)(null),i=(0,r.useRef)(new Map).current,o=e=>-1!==n.indexOf(e),l=(0,r.useRef)({toastKey:1,displayedToast:0,count:0,queue:[],props:e,containerId:null,isToastActive:o,getToast:e=>i.get(e)}).current;function c(e){let{containerId:t}=e;const{limit:n}=l.props;!n||t&&l.containerId!==t||(l.count-=l.queue.length,l.queue=[])}function d(e){a(t=>null==e?[]:t.filter(t=>t!==e))}function u(){const{toastContent:e,toastProps:t,staleId:n}=l.queue.shift();m(e,t,n)}function h(e,n){let{delay:a,staleId:o,...c}=n;if(!oe(e)||function(e){return!s.current||l.props.enableMultiContainer&&e.containerId!==l.props.containerId||i.has(e.toastId)&&null==e.updateId}(c))return;const{toastId:h,updateId:p,data:f}=c,{props:y}=l,g=()=>d(h),v=null==p;v&&l.count++;const b={...y,style:y.toastStyle,key:l.toastKey++,...Object.fromEntries(Object.entries(c).filter(e=>{let[t,n]=e;return null!=n})),toastId:h,updateId:p,data:f,closeToast:g,isIn:!1,className:ie(c.className||y.toastClassName),bodyClassName:ie(c.bodyClassName||y.bodyClassName),progressClassName:ie(c.progressClassName||y.progressClassName),autoClose:!c.isLoading&&(x=c.autoClose,w=y.autoClose,!1===x||re(x)&&x>0?x:w),deleteToast(){const e=ce(i.get(h),"removed");i.delete(h),de.emit(4,e);const n=l.queue.length;if(l.count=null==h?l.count-l.displayedToast:l.count-1,l.count<0&&(l.count=0),n>0){const e=null==h?l.props.limit:1;if(1===n||1===e)l.displayedToast++,u();else{const t=e>n?n:e;l.displayedToast=t;for(let e=0;e<t;e++)u()}}else t()}};var x,w;b.iconOut=function(e){let{theme:t,type:n,isLoading:a,icon:s}=e,i=null;const o={theme:t,type:n};return!1===s||(se(s)?i=s(o):(0,r.isValidElement)(s)?i=(0,r.cloneElement)(s,o):ae(s)||re(s)?i=s:a?i=he.spinner():(e=>e in he)(n)&&(i=he[n](o))),i}(b),se(c.onOpen)&&(b.onOpen=c.onOpen),se(c.onClose)&&(b.onClose=c.onClose),b.closeButton=y.closeButton,!1===c.closeButton||oe(c.closeButton)?b.closeButton=c.closeButton:!0===c.closeButton&&(b.closeButton=!oe(y.closeButton)||y.closeButton);let E=e;(0,r.isValidElement)(e)&&!ae(e.type)?E=(0,r.cloneElement)(e,{closeToast:g,toastProps:b,data:f}):se(e)&&(E=e({closeToast:g,toastProps:b,data:f})),y.limit&&y.limit>0&&l.count>y.limit&&v?l.queue.push({toastContent:E,toastProps:b,staleId:o}):re(a)?setTimeout(()=>{m(E,b,o)},a):m(E,b,o)}function m(e,t,n){const{toastId:r}=t;n&&i.delete(n);const s={content:e,props:t};i.set(r,s),a(e=>[...e,r].filter(e=>e!==n)),de.emit(4,ce(s,null==s.props.updateId?"added":"updated"))}return(0,r.useEffect)(()=>(l.containerId=e.containerId,de.cancelEmit(3).on(0,h).on(1,e=>s.current&&d(e)).on(5,c).emit(2,l),()=>{i.clear(),de.emit(3,l)}),[]),(0,r.useEffect)(()=>{l.props=e,l.isToastActive=o,l.displayedToast=n.length}),{getToastToRender:function(t){const n=new Map,r=Array.from(i.values());return e.newestOnTop&&r.reverse(),r.forEach(e=>{const{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)}),Array.from(n,e=>t(e[0],e[1]))},containerRef:s,isToastActive:o}}function pe(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}function fe(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}function ye(e){const[t,n]=(0,r.useState)(!1),[a,s]=(0,r.useState)(!1),i=(0,r.useRef)(null),o=(0,r.useRef)({start:0,x:0,y:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null,didMove:!1}).current,l=(0,r.useRef)(e),{autoClose:c,pauseOnHover:d,closeToast:u,onClick:h,closeOnClick:m}=e;function p(t){if(e.draggable){"touchstart"===t.nativeEvent.type&&t.nativeEvent.preventDefault(),o.didMove=!1,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),document.addEventListener("touchmove",v),document.addEventListener("touchend",b);const n=i.current;o.canCloseOnClick=!0,o.canDrag=!0,o.boundingRect=n.getBoundingClientRect(),n.style.transition="",o.x=pe(t.nativeEvent),o.y=fe(t.nativeEvent),"x"===e.draggableDirection?(o.start=o.x,o.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(o.start=o.y,o.removalDistance=n.offsetHeight*(80===e.draggablePercent?1.5*e.draggablePercent:e.draggablePercent/100))}}function f(t){if(o.boundingRect){const{top:n,bottom:r,left:a,right:s}=o.boundingRect;"touchend"!==t.nativeEvent.type&&e.pauseOnHover&&o.x>=a&&o.x<=s&&o.y>=n&&o.y<=r?g():y()}}function y(){n(!0)}function g(){n(!1)}function v(n){const r=i.current;o.canDrag&&r&&(o.didMove=!0,t&&g(),o.x=pe(n),o.y=fe(n),o.delta="x"===e.draggableDirection?o.x-o.start:o.y-o.start,o.start!==o.x&&(o.canCloseOnClick=!1),r.style.transform=`translate${e.draggableDirection}(${o.delta}px)`,r.style.opacity=""+(1-Math.abs(o.delta/o.removalDistance)))}function b(){document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),document.removeEventListener("touchmove",v),document.removeEventListener("touchend",b);const t=i.current;if(o.canDrag&&o.didMove&&t){if(o.canDrag=!1,Math.abs(o.delta)>o.removalDistance)return s(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform=`translate${e.draggableDirection}(0)`,t.style.opacity="1"}}(0,r.useEffect)(()=>{l.current=e}),(0,r.useEffect)(()=>(i.current&&i.current.addEventListener("d",y,{once:!0}),se(e.onOpen)&&e.onOpen((0,r.isValidElement)(e.children)&&e.children.props),()=>{const e=l.current;se(e.onClose)&&e.onClose((0,r.isValidElement)(e.children)&&e.children.props)}),[]),(0,r.useEffect)(()=>(e.pauseOnFocusLoss&&(document.hasFocus()||g(),window.addEventListener("focus",y),window.addEventListener("blur",g)),()=>{e.pauseOnFocusLoss&&(window.removeEventListener("focus",y),window.removeEventListener("blur",g))}),[e.pauseOnFocusLoss]);const x={onMouseDown:p,onTouchStart:p,onMouseUp:f,onTouchEnd:f};return c&&d&&(x.onMouseEnter=g,x.onMouseLeave=y),m&&(x.onClick=e=>{h&&h(e),o.canCloseOnClick&&u()}),{playToast:y,pauseToast:g,isRunning:t,preventExitTransition:a,toastRef:i,eventHandlers:x}}function ge(e){let{closeToast:t,theme:n,ariaLabel:a="close"}=e;return r.createElement("button",{className:`Toastify__close-button Toastify__close-button--${n}`,type:"button",onClick:e=>{e.stopPropagation(),t(e)},"aria-label":a},r.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},r.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}function ve(e){let{delay:t,isRunning:n,closeToast:a,type:s="default",hide:i,className:o,style:l,controlledProgress:c,progress:d,rtl:u,isIn:h,theme:m}=e;const p=i||c&&0===d,f={...l,animationDuration:`${t}ms`,animationPlayState:n?"running":"paused",opacity:p?0:1};c&&(f.transform=`scaleX(${d})`);const y=ne("Toastify__progress-bar",c?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${m}`,`Toastify__progress-bar--${s}`,{"Toastify__progress-bar--rtl":u}),g=se(o)?o({rtl:u,type:s,defaultClassName:y}):ne(y,o);return r.createElement("div",{role:"progressbar","aria-hidden":p?"true":"false","aria-label":"notification timer",className:g,style:f,[c&&d>=1?"onTransitionEnd":"onAnimationEnd"]:c&&d<1?null:()=>{h&&a()}})}const be=e=>{const{isRunning:t,preventExitTransition:n,toastRef:a,eventHandlers:s}=ye(e),{closeButton:i,children:o,autoClose:l,onClick:c,type:d,hideProgressBar:u,closeToast:h,transition:m,position:p,className:f,style:y,bodyClassName:g,bodyStyle:v,progressClassName:b,progressStyle:x,updateId:w,role:E,progress:_,rtl:k,toastId:C,deleteToast:S,isIn:N,isLoading:R,iconOut:T,closeOnClick:O,theme:D}=e,L=ne("Toastify__toast",`Toastify__toast-theme--${D}`,`Toastify__toast--${d}`,{"Toastify__toast--rtl":k},{"Toastify__toast--close-on-click":O}),P=se(f)?f({rtl:k,position:p,type:d,defaultClassName:L}):ne(L,f),M=!!_||!l,I={closeToast:h,type:d,theme:D};let A=null;return!1===i||(A=se(i)?i(I):(0,r.isValidElement)(i)?(0,r.cloneElement)(i,I):ge(I)),r.createElement(m,{isIn:N,done:S,position:p,preventExitTransition:n,nodeRef:a},r.createElement("div",{id:C,onClick:c,className:P,...s,style:y,ref:a},r.createElement("div",{...N&&{role:E},className:se(g)?g({type:d}):ne("Toastify__toast-body",g),style:v},null!=T&&r.createElement("div",{className:ne("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!R})},T),r.createElement("div",null,o)),A,r.createElement(ve,{...w&&!M?{key:`pb-${w}`}:{},rtl:k,theme:D,delay:l,isRunning:t,isIn:N,closeToast:h,hide:u,type:d,style:x,className:b,controlledProgress:M,progress:_||0})))},xe=function(e,t){return void 0===t&&(t=!1),{enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}},we=le(xe("bounce",!0)),Ee=(le(xe("slide",!0)),le(xe("zoom")),le(xe("flip")),(0,r.forwardRef)((e,t)=>{const{getToastToRender:n,containerRef:a,isToastActive:s}=me(e),{className:i,style:o,rtl:l,containerId:c}=e;function d(e){const t=ne("Toastify__toast-container",`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":l});return se(i)?i({position:e,rtl:l,defaultClassName:t}):ne(t,ie(i))}return(0,r.useEffect)(()=>{t&&(t.current=a.current)},[]),r.createElement("div",{ref:a,className:"Toastify",id:c},n((e,t)=>{const n=t.length?{...o}:{...o,pointerEvents:"none"};return r.createElement("div",{className:d(e),style:n,key:`container-${e}`},t.map((e,n)=>{let{content:a,props:i}=e;return r.createElement(be,{...i,isIn:s(i.toastId),style:{...i.style,"--nth":n+1,"--len":t.length},key:`toast-${i.key}`},a)}))}))}));Ee.displayName="ToastContainer",Ee.defaultProps={position:"top-right",transition:we,autoClose:5e3,closeButton:ge,pauseOnHover:!0,pauseOnFocusLoss:!0,closeOnClick:!0,draggable:!0,draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light"};let _e,ke=new Map,Ce=[],Se=1;function Ne(){return""+Se++}function Re(e){return e&&(ae(e.toastId)||re(e.toastId))?e.toastId:Ne()}function Te(e,t){return ke.size>0?de.emit(0,e,t):Ce.push({content:e,options:t}),t.toastId}function Oe(e,t){return{...t,type:t&&t.type||e,toastId:Re(t)}}function De(e){return(t,n)=>Te(t,Oe(e,n))}function Le(e,t){return Te(e,Oe("default",t))}Le.loading=(e,t)=>Te(e,Oe("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t})),Le.promise=function(e,t,n){let r,{pending:a,error:s,success:i}=t;a&&(r=ae(a)?Le.loading(a,n):Le.loading(a.render,{...n,...a}));const o={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},l=(e,t,a)=>{if(null==t)return void Le.dismiss(r);const s={type:e,...o,...n,data:a},i=ae(t)?{render:t}:t;return r?Le.update(r,{...s,...i}):Le(i.render,{...s,...i}),a},c=se(e)?e():e;return c.then(e=>l("success",i,e)).catch(e=>l("error",s,e)),c},Le.success=De("success"),Le.info=De("info"),Le.error=De("error"),Le.warning=De("warning"),Le.warn=Le.warning,Le.dark=(e,t)=>Te(e,Oe("default",{theme:"dark",...t})),Le.dismiss=e=>{ke.size>0?de.emit(1,e):Ce=Ce.filter(t=>null!=e&&t.options.toastId!==e)},Le.clearWaitingQueue=function(e){return void 0===e&&(e={}),de.emit(5,e)},Le.isActive=e=>{let t=!1;return ke.forEach(n=>{n.isToastActive&&n.isToastActive(e)&&(t=!0)}),t},Le.update=function(e,t){void 0===t&&(t={}),setTimeout(()=>{const n=function(e,t){let{containerId:n}=t;const r=ke.get(n||_e);return r&&r.getToast(e)}(e,t);if(n){const{props:r,content:a}=n,s={delay:100,...r,...t,toastId:t.toastId||e,updateId:Ne()};s.toastId!==e&&(s.staleId=e);const i=s.render||a;delete s.render,Te(i,s)}},0)},Le.done=e=>{Le.update(e,{progress:1})},Le.onChange=e=>(de.on(4,e),()=>{de.off(4,e)}),Le.POSITION={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",TOP_CENTER:"top-center",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_CENTER:"bottom-center"},Le.TYPE={INFO:"info",SUCCESS:"success",WARNING:"warning",ERROR:"error",DEFAULT:"default"},de.on(2,e=>{_e=e.containerId||e,ke.set(_e,e),Ce.forEach(e=>{de.emit(0,e.content,e.options)}),Ce=[]}).on(3,e=>{ke.delete(e.containerId||e),0===ke.size&&de.off(0).off(1).off(5)});const Pe=e=>{Array.isArray(e)?e.forEach(e=>{Le.error(e.message)}):Le.error(e.message)},Me=new class{#w;#g;#h;#E;#_;#k;#C;#S;constructor(e={}){this.#w=e.queryCache||new V,this.#g=e.mutationCache||new Y,this.#h=e.defaultOptions||{},this.#E=new Map,this.#_=new Map,this.#k=0}mount(){this.#k++,1===this.#k&&(this.#C=A.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#w.onFocus())}),this.#S=F.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#w.onOnline())}))}unmount(){this.#k--,0===this.#k&&(this.#C?.(),this.#C=void 0,this.#S?.(),this.#S=void 0)}isFetching(e){return this.#w.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#g.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#w.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=this.#w.build(this,t),r=n.state.data;return void 0===r?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(p(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#w.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),a=this.#w.get(r.queryHash),s=a?.state.data,i=function(e,t){return"function"==typeof e?e(t):e}(t,s);if(void 0!==i)return this.#w.build(this,r).setData(i,{...n,manual:!0})}setQueriesData(e,t,n){return M.batch(()=>this.#w.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#w.get(t.queryHash)?.state}removeQueries(e){const t=this.#w;M.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){const n=this.#w;return M.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=M.batch(()=>this.#w.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(u).catch(u)}invalidateQueries(e,t={}){return M.batch(()=>(this.#w.findAll(e).forEach(e=>{e.invalidate()}),"none"===e?.refetchType?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=M.batch(()=>this.#w.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(u)),"paused"===e.state.fetchStatus?Promise.resolve():t}));return Promise.all(r).then(u)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const n=this.#w.build(this,t);return n.isStaleByTime(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(u).catch(u)}fetchInfiniteQuery(e){return e.behavior=J(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(u).catch(u)}ensureInfiniteQueryData(e){return e.behavior=J(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return F.isOnline()?this.#g.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#w}getMutationCache(){return this.#g}getDefaultOptions(){return this.#h}setDefaultOptions(e){this.#h=e}setQueryDefaults(e,t){this.#E.set(b(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#E.values()],n={};return t.forEach(t=>{x(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#_.set(b(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#_.values()],n={};return t.forEach(t=>{x(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#h.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=v(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===O&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#h.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#w.clear(),this.#g.clear()}}({defaultOptions:{queries:{staleTime:1/0,retry:!1}},queryCache:new V({onError:Pe}),mutationCache:new Y({onError:Pe})}),Ie=window.ReactDOM;function Ae(){return Ae=Object.assign?Object.assign.bind():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},Ae.apply(this,arguments)}var Fe;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(Fe||(Fe={}));const je="popstate";function Ue(e,t){if(!1===e||null==e)throw new Error(t)}function qe(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function $e(e,t){return{usr:e.state,key:e.key,idx:t}}function Qe(e,t,n,r){return void 0===n&&(n=null),Ae({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?He(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function Be(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function He(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function ze(e,t,n,r){void 0===r&&(r={});let{window:a=document.defaultView,v5Compat:s=!1}=r,i=a.history,o=Fe.Pop,l=null,c=d();function d(){return(i.state||{idx:null}).idx}function u(){o=Fe.Pop;let e=d(),t=null==e?null:e-c;c=e,l&&l({action:o,location:m.location,delta:t})}function h(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,n="string"==typeof e?e:Be(e);return n=n.replace(/ $/,"%20"),Ue(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==c&&(c=0,i.replaceState(Ae({},i.state,{idx:c}),""));let m={get action(){return o},get location(){return e(a,i)},listen(e){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(je,u),l=e,()=>{a.removeEventListener(je,u),l=null}},createHref:e=>t(a,e),createURL:h,encodeLocation(e){let t=h(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){o=Fe.Push;let r=Qe(m.location,e,t);n&&n(r,e),c=d()+1;let u=$e(r,c),h=m.createHref(r);try{i.pushState(u,"",h)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(h)}s&&l&&l({action:o,location:m.location,delta:1})},replace:function(e,t){o=Fe.Replace;let r=Qe(m.location,e,t);n&&n(r,e),c=d();let a=$e(r,c),u=m.createHref(r);i.replaceState(a,"",u),s&&l&&l({action:o,location:m.location,delta:0})},go:e=>i.go(e)};return m}var We;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(We||(We={}));const Ke=new Set(["lazy","caseSensitive","path","id","index","children"]);function Ve(e,t,n,r){return void 0===n&&(n=[]),void 0===r&&(r={}),e.map((e,a)=>{let s=[...n,String(a)],i="string"==typeof e.id?e.id:s.join("-");if(Ue(!0!==e.index||!e.children,"Cannot specify children on an index route"),Ue(!r[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),function(e){return!0===e.index}(e)){let n=Ae({},e,t(e),{id:i});return r[i]=n,n}{let n=Ae({},e,t(e),{id:i,children:void 0});return r[i]=n,e.children&&(n.children=Ve(e.children,t,s,r)),n}})}function Ge(e,t,n){return void 0===n&&(n="/"),Ye(e,t,n,!1)}function Ye(e,t,n,r){let a=st(("string"==typeof t?He(t):t).pathname||"/",n);if(null==a)return null;let s=Xe(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(s);let i=null;for(let e=0;null==i&&e<s.length;++e){let t=at(a);i=nt(s[e],t,r)}return i}function Xe(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");let a=(e,a,s)=>{let i={relativePath:void 0===s?e.path||"":s,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};i.relativePath.startsWith("/")&&(Ue(i.relativePath.startsWith(r),'Absolute route path "'+i.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(r.length));let o=ht([r,i.relativePath]),l=n.concat(i);e.children&&e.children.length>0&&(Ue(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),Xe(e.children,t,l,o)),(null!=e.path||e.index)&&t.push({path:o,score:tt(o,e.index),routesMeta:l})};return e.forEach((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let n of Je(e.path))a(e,t,n);else a(e,t)}),t}function Je(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),s=n.replace(/\?$/,"");if(0===r.length)return a?[s,""]:[s];let i=Je(r.join("/")),o=[];return o.push(...i.map(e=>""===e?s:[s,e].join("/"))),a&&o.push(...i),o.map(t=>e.startsWith("/")&&""===t?"/":t)}const Ze=/^:[\w-]+$/,et=e=>"*"===e;function tt(e,t){let n=e.split("/"),r=n.length;return n.some(et)&&(r+=-2),t&&(r+=2),n.filter(e=>!et(e)).reduce((e,t)=>e+(Ze.test(t)?3:""===t?1:10),r)}function nt(e,t,n){void 0===n&&(n=!1);let{routesMeta:r}=e,a={},s="/",i=[];for(let e=0;e<r.length;++e){let o=r[e],l=e===r.length-1,c="/"===s?t:t.slice(s.length)||"/",d=rt({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},c),u=o.route;if(!d&&l&&n&&!r[r.length-1].route.index&&(d=rt({path:o.relativePath,caseSensitive:o.caseSensitive,end:!1},c)),!d)return null;Object.assign(a,d.params),i.push({params:a,pathname:ht([s,d.pathname]),pathnameBase:mt(ht([s,d.pathnameBase])),route:u}),"/"!==d.pathnameBase&&(s=ht([s,d.pathnameBase]))}return i}function rt(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!0),qe("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let s=a[0],i=s.replace(/(.)\/+$/,"$1"),o=a.slice(1);return{params:r.reduce((e,t,n)=>{let{paramName:r,isOptional:a}=t;if("*"===r){let e=o[n]||"";i=s.slice(0,s.length-e.length).replace(/(.)\/+$/,"$1")}const l=o[n];return e[r]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:s,pathnameBase:i,pattern:e}}function at(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return qe(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function st(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}const it=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ot(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}function lt(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function ct(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function dt(e,t){let n=ct(e);return t?n.map((e,t)=>t===n.length-1?e.pathname:e.pathnameBase):n.map(e=>e.pathnameBase)}function ut(e,t,n,r){let a;void 0===r&&(r=!1),"string"==typeof e?a=He(e):(a=Ae({},e),Ue(!a.pathname||!a.pathname.includes("?"),lt("?","pathname","search",a)),Ue(!a.pathname||!a.pathname.includes("#"),lt("#","pathname","hash",a)),Ue(!a.search||!a.search.includes("#"),lt("#","search","hash",a)));let s,i=""===e||""===a.pathname,o=i?"/":a.pathname;if(null==o)s=n;else{let e=t.length-1;if(!r&&o.startsWith("..")){let t=o.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}s=e>=0?t[e]:"/"}let l=function(e,t){void 0===t&&(t="/");let n,{pathname:r,search:a="",hash:s=""}="string"==typeof e?He(e):e;if(r)if((e=>it.test(e))(r))n=r;else{if(r.includes("//")){let e=r;r=r.replace(/\/\/+/g,"/"),qe(!1,"Pathnames cannot have embedded double slashes - normalizing "+e+" -> "+r)}n=r.startsWith("/")?ot(r.substring(1),"/"):ot(r,t)}else n=t;return{pathname:n,search:pt(a),hash:ft(s)}}(a,s),c=o&&"/"!==o&&o.endsWith("/"),d=(i||"."===o)&&n.endsWith("/");return l.pathname.endsWith("/")||!c&&!d||(l.pathname+="/"),l}const ht=e=>e.join("/").replace(/\/\/+/g,"/"),mt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),pt=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",ft=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;class yt{constructor(e,t,n,r){void 0===r&&(r=!1),this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function gt(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}const vt=["post","put","patch","delete"],bt=new Set(vt),xt=["get",...vt],wt=new Set(xt),Et=new Set([301,302,303,307,308]),_t=new Set([307,308]),kt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ct={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},St={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Nt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Rt=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),Tt="remix-router-transitions";function Ot(e){const t=e.window?e.window:"undefined"!=typeof window?window:void 0,n=void 0!==t&&void 0!==t.document&&void 0!==t.document.createElement,r=!n;let a;if(Ue(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let t=e.detectErrorBoundary;a=e=>({hasErrorBoundary:t(e)})}else a=Rt;let s,i,o,l={},c=Ve(e.routes,a,void 0,l),d=e.basename||"/",u=e.dataStrategy||qt,h=e.patchRoutesOnNavigation,m=Ae({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),p=null,f=new Set,y=null,g=null,v=null,b=null!=e.hydrationData,x=Ge(c,e.history.location,d),w=!1,E=null;if(null==x&&!h){let t=Jt(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=Xt(c);x=n,E={[r.id]:t}}if(x&&!e.hydrationData&&pe(x,c,e.history.location.pathname).active&&(x=null),x)if(x.some(e=>e.route.lazy))i=!1;else if(x.some(e=>e.route.loader))if(m.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null;if(n){let e=x.findIndex(e=>void 0!==n[e.route.id]);i=x.slice(0,e+1).every(e=>!It(e.route,t,n))}else i=x.every(e=>!It(e.route,t,n))}else i=null!=e.hydrationData;else i=!0;else if(i=!1,x=[],m.v7_partialHydration){let t=pe(null,c,e.history.location.pathname);t.active&&t.matches&&(w=!0,x=t.matches)}let _,k,C={historyAction:e.history.action,location:e.history.location,matches:x,initialized:i,navigation:kt,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||E,fetchers:new Map,blockers:new Map},S=Fe.Pop,N=!1,R=!1,T=new Map,O=null,D=!1,L=!1,P=[],M=new Set,I=new Map,A=0,F=-1,j=new Map,U=new Set,q=new Map,$=new Map,Q=new Set,B=new Map,H=new Map;function z(e,t){void 0===t&&(t={}),C=Ae({},C,e);let n=[],r=[];m.v7_fetcherPersist&&C.fetchers.forEach((e,t)=>{"idle"===e.state&&(Q.has(t)?r.push(t):n.push(t))}),Q.forEach(e=>{C.fetchers.has(e)||I.has(e)||r.push(e)}),[...f].forEach(e=>e(C,{deletedFetchers:r,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),m.v7_fetcherPersist?(n.forEach(e=>C.fetchers.delete(e)),r.forEach(e=>ne(e))):r.forEach(e=>Q.delete(e))}function W(t,n,r){var a,i;let o,{flushSync:l}=void 0===r?{}:r,d=null!=C.actionData&&null!=C.navigation.formMethod&&ln(C.navigation.formMethod)&&"loading"===C.navigation.state&&!0!==(null==(a=t.state)?void 0:a._isRedirect);o=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:d?C.actionData:null;let u=n.loaderData?Vt(C.loaderData,n.loaderData,n.matches||[],n.errors):C.loaderData,h=C.blockers;h.size>0&&(h=new Map(h),h.forEach((e,t)=>h.set(t,St)));let m,p=!0===N||null!=C.navigation.formMethod&&ln(C.navigation.formMethod)&&!0!==(null==(i=t.state)?void 0:i._isRedirect);if(s&&(c=s,s=void 0),D||S===Fe.Pop||(S===Fe.Push?e.history.push(t,t.state):S===Fe.Replace&&e.history.replace(t,t.state)),S===Fe.Pop){let e=T.get(C.location.pathname);e&&e.has(t.pathname)?m={currentLocation:C.location,nextLocation:t}:T.has(t.pathname)&&(m={currentLocation:t,nextLocation:C.location})}else if(R){let e=T.get(C.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),T.set(C.location.pathname,e)),m={currentLocation:C.location,nextLocation:t}}z(Ae({},n,{actionData:o,loaderData:u,historyAction:S,location:t,initialized:!0,navigation:kt,revalidation:"idle",restoreScrollPosition:me(t,n.matches||C.matches),preventScrollReset:p,blockers:h}),{viewTransitionOpts:m,flushSync:!0===l}),S=Fe.Pop,N=!1,R=!1,D=!1,L=!1,P=[]}async function K(t,n,r){_&&_.abort(),_=null,S=t,D=!0===(r&&r.startUninterruptedRevalidation),function(e,t){if(y&&v){let n=he(e,t);y[n]=v()}}(C.location,C.matches),N=!0===(r&&r.preventScrollReset),R=!0===(r&&r.enableViewTransition);let a=s||c,i=r&&r.overrideNavigation,o=null!=r&&r.initialHydration&&C.matches&&C.matches.length>0&&!w?C.matches:Ge(a,n,d),l=!0===(r&&r.flushSync);if(o&&C.initialized&&!L&&function(e,t){return e.pathname===t.pathname&&e.search===t.search&&(""===e.hash?""!==t.hash:e.hash===t.hash||""!==t.hash)}(C.location,n)&&!(r&&r.submission&&ln(r.submission.formMethod)))return void W(n,{matches:o},{flushSync:l});let u=pe(o,a,n.pathname);if(u.active&&u.matches&&(o=u.matches),!o){let{error:e,notFoundMatches:t,route:r}=de(n.pathname);return void W(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:l})}_=new AbortController;let h,p=Ht(e.history,n,_.signal,r&&r.submission);if(r&&r.pendingError)h=[Yt(o).route.id,{type:We.error,error:r.pendingError}];else if(r&&r.submission&&ln(r.submission.formMethod)){let t=await async function(t,n,r,a,s,i){void 0===i&&(i={}),J();let o,l=function(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}(n,r);if(z({navigation:l},{flushSync:!0===i.flushSync}),s){let e=await fe(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Yt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:We.error,error:e.error}]}}if(!e.matches){let{notFoundMatches:e,error:t,route:r}=de(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:We.error,error:t}]}}a=e.matches}let c=mn(a,n);if(c.route.action||c.route.lazy){if(o=(await Y("action",C,t,[c],a,null))[c.route.id],t.signal.aborted)return{shortCircuited:!0}}else o={type:We.error,error:Jt(405,{method:t.method,pathname:n.pathname,routeId:c.route.id})};if(an(o)){let n;return n=i&&null!=i.replace?i.replace:Bt(o.response.headers.get("Location"),new URL(t.url),d,e.history)===C.location.pathname+C.location.search,await G(t,o,!0,{submission:r,replace:n}),{shortCircuited:!0}}if(nn(o))throw Jt(400,{type:"defer-action"});if(rn(o)){let e=Yt(a,c.route.id);return!0!==(i&&i.replace)&&(S=Fe.Push),{matches:a,pendingActionResult:[e.route.id,o]}}return{matches:a,pendingActionResult:[c.route.id,o]}}(p,n,r.submission,o,u.active,{replace:r.replace,flushSync:l});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(rn(r)&>(r.error)&&404===r.error.status)return _=null,void W(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}})}o=t.matches||o,h=t.pendingActionResult,i=fn(n,r.submission),l=!1,u.active=!1,p=Ht(e.history,p.url,p.signal)}let{shortCircuited:f,matches:g,loaderData:b,errors:x}=await async function(t,n,r,a,i,o,l,u,h,p,f){let y=i||fn(n,o),g=o||l||pn(y),v=!(D||m.v7_partialHydration&&h);if(a){if(v){let e=V(f);z(Ae({navigation:y},void 0!==e?{actionData:e}:{}),{flushSync:p})}let e=await fe(r,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=Yt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:r}=de(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}r=e.matches}let b=s||c,[x,w]=Mt(e.history,C,r,g,n,m.v7_partialHydration&&!0===h,m.v7_skipActionErrorRevalidation,L,P,M,Q,q,U,b,d,f);if(ue(e=>!(r&&r.some(t=>t.route.id===e))||x&&x.some(t=>t.route.id===e)),F=++A,0===x.length&&0===w.length){let e=se();return W(n,Ae({matches:r,loaderData:{},errors:f&&rn(f[1])?{[f[0]]:f[1].error}:null},Gt(f),e?{fetchers:new Map(C.fetchers)}:{}),{flushSync:p}),{shortCircuited:!0}}if(v){let e={};if(!a){e.navigation=y;let t=V(f);void 0!==t&&(e.actionData=t)}w.length>0&&(e.fetchers=function(e){return e.forEach(e=>{let t=C.fetchers.get(e.key),n=yn(void 0,t?t.data:void 0);C.fetchers.set(e.key,n)}),new Map(C.fetchers)}(w)),z(e,{flushSync:p})}w.forEach(e=>{re(e.key),e.controller&&I.set(e.key,e.controller)});let E=()=>w.forEach(e=>re(e.key));_&&_.signal.addEventListener("abort",E);let{loaderResults:k,fetcherResults:S}=await X(C,r,x,w,t);if(t.signal.aborted)return{shortCircuited:!0};_&&_.signal.removeEventListener("abort",E),w.forEach(e=>I.delete(e.key));let N=Zt(k);if(N)return await G(t,N.result,!0,{replace:u}),{shortCircuited:!0};if(N=Zt(S),N)return U.add(N.key),await G(t,N.result,!0,{replace:u}),{shortCircuited:!0};let{loaderData:R,errors:T}=Kt(C,r,k,f,w,S,B);B.forEach((e,t)=>{e.subscribe(n=>{(n||e.done)&&B.delete(t)})}),m.v7_partialHydration&&h&&C.errors&&(T=Ae({},C.errors,T));let O=se(),j=ie(F),$=O||j||w.length>0;return Ae({matches:r,loaderData:R,errors:T},$?{fetchers:new Map(C.fetchers)}:{})}(p,n,o,u.active,i,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&!0===r.initialHydration,l,h);f||(_=null,W(n,Ae({matches:g||o},Gt(h),{loaderData:b,errors:x})))}function V(e){return e&&!rn(e[1])?{[e[0]]:e[1].data}:C.actionData?0===Object.keys(C.actionData).length?null:C.actionData:void 0}async function G(r,a,s,i){let{submission:o,fetcherSubmission:l,preventScrollReset:c,replace:u}=void 0===i?{}:i;a.response.headers.has("X-Remix-Revalidate")&&(L=!0);let h=a.response.headers.get("Location");Ue(h,"Expected a Location header on the redirect Response"),h=Bt(h,new URL(r.url),d,e.history);let m=Qe(C.location,h,{_isRedirect:!0});if(n){let n=!1;if(a.response.headers.has("X-Remix-Reload-Document"))n=!0;else if(Nt.test(h)){const r=e.history.createURL(h);n=r.origin!==t.location.origin||null==st(r.pathname,d)}if(n)return void(u?t.location.replace(h):t.location.assign(h))}_=null;let p=!0===u||a.response.headers.has("X-Remix-Replace")?Fe.Replace:Fe.Push,{formMethod:f,formAction:y,formEncType:g}=C.navigation;!o&&!l&&f&&y&&g&&(o=pn(C.navigation));let v=o||l;if(_t.has(a.response.status)&&v&&ln(v.formMethod))await K(p,m,{submission:Ae({},v,{formAction:h}),preventScrollReset:c||N,enableViewTransition:s?R:void 0});else{let e=fn(m,o);await K(p,m,{overrideNavigation:e,fetcherSubmission:l,preventScrollReset:c||N,enableViewTransition:s?R:void 0})}}async function Y(e,t,n,r,s,i){let o,c={};try{o=await async function(e,t,n,r,a,s,i,o,l,c){let d=s.map(e=>e.route.lazy?async function(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let a=n[e.id];Ue(a,"No route found in manifest");let s={};for(let e in r){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;qe(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||Ke.has(e)||(s[e]=r[e])}Object.assign(a,s),Object.assign(a,Ae({},t(a),{lazy:void 0}))}(e.route,l,o):void 0),u=s.map((e,n)=>{let s=d[n],i=a.some(t=>t.route.id===e.route.id);return Ae({},e,{shouldLoad:i,resolve:async n=>(n&&"GET"===r.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?async function(e,t,n,r,a,s){let i,o,l=r=>{let i,l=new Promise((e,t)=>i=t);o=()=>i(),t.signal.addEventListener("abort",o);let c=a=>"function"!=typeof r?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'+e+'" [routeId: '+n.route.id+"]")):r({request:t,params:n.params,context:s},...void 0!==a?[a]:[]),d=(async()=>{try{return{type:"data",result:await(a?a(e=>c(e)):c())}}catch(e){return{type:"error",result:e}}})();return Promise.race([d,l])};try{let a=n.route[e];if(r)if(a){let e,[t]=await Promise.all([l(a).catch(t=>{e=t}),r]);if(void 0!==e)throw e;i=t}else{if(await r,a=n.route[e],!a){if("action"===e){let e=new URL(t.url),r=e.pathname+e.search;throw Jt(405,{method:t.method,pathname:r,routeId:n.route.id})}return{type:We.data,result:void 0}}i=await l(a)}else{if(!a){let e=new URL(t.url);throw Jt(404,{pathname:e.pathname+e.search})}i=await l(a)}Ue(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+' for route "'+n.route.id+"\" but didn't return anything from your `"+e+"` function. Please return a value or `null`.")}catch(e){return{type:We.error,result:e}}finally{o&&t.signal.removeEventListener("abort",o)}return i}(t,r,e,s,n,c):Promise.resolve({type:We.data,result:void 0}))})}),h=await e({matches:u,request:r,params:s[0].params,fetcherKey:i,context:c});try{await Promise.all(d)}catch(e){}return h}(u,e,0,n,r,s,i,l,a)}catch(e){return r.forEach(t=>{c[t.route.id]={type:We.error,error:e}}),c}for(let[e,t]of Object.entries(o))if(tn(t)){let r=t.result;c[e]={type:We.redirect,response:Qt(r,n,e,s,d,m.v7_relativeSplatPath)}}else c[e]=await $t(t);return c}async function X(t,n,r,a,s){let i=t.matches,o=Y("loader",0,s,r,n,null),l=Promise.all(a.map(async t=>{if(t.matches&&t.match&&t.controller){let n=(await Y("loader",0,Ht(e.history,t.path,t.controller.signal),[t.match],t.matches,t.key))[t.match.route.id];return{[t.key]:n}}return Promise.resolve({[t.key]:{type:We.error,error:Jt(404,{pathname:t.path})}})})),c=await o,d=(await l).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([cn(n,c,s.signal,i,t.loaderData),dn(n,d,a)]),{loaderResults:c,fetcherResults:d}}function J(){L=!0,P.push(...ue()),q.forEach((e,t)=>{I.has(t)&&M.add(t),re(t)})}function Z(e,t,n){void 0===n&&(n={}),C.fetchers.set(e,t),z({fetchers:new Map(C.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function ee(e,t,n,r){void 0===r&&(r={});let a=Yt(C.matches,t);ne(e),z({errors:{[a.route.id]:n},fetchers:new Map(C.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function te(e){return $.set(e,($.get(e)||0)+1),Q.has(e)&&Q.delete(e),C.fetchers.get(e)||Ct}function ne(e){let t=C.fetchers.get(e);!I.has(e)||t&&"loading"===t.state&&j.has(e)||re(e),q.delete(e),j.delete(e),U.delete(e),m.v7_fetcherPersist&&Q.delete(e),M.delete(e),C.fetchers.delete(e)}function re(e){let t=I.get(e);t&&(t.abort(),I.delete(e))}function ae(e){for(let t of e){let e=gn(te(t).data);C.fetchers.set(t,e)}}function se(){let e=[],t=!1;for(let n of U){let r=C.fetchers.get(n);Ue(r,"Expected fetcher: "+n),"loading"===r.state&&(U.delete(n),e.push(n),t=!0)}return ae(e),t}function ie(e){let t=[];for(let[n,r]of j)if(r<e){let e=C.fetchers.get(n);Ue(e,"Expected fetcher: "+n),"loading"===e.state&&(re(n),j.delete(n),t.push(n))}return ae(t),t.length>0}function oe(e){C.blockers.delete(e),H.delete(e)}function le(e,t){let n=C.blockers.get(e)||St;Ue("unblocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"proceeding"===t.state||"blocked"===n.state&&"unblocked"===t.state||"proceeding"===n.state&&"unblocked"===t.state,"Invalid blocker state transition: "+n.state+" -> "+t.state);let r=new Map(C.blockers);r.set(e,t),z({blockers:r})}function ce(e){let{currentLocation:t,nextLocation:n,historyAction:r}=e;if(0===H.size)return;H.size>1&&qe(!1,"A router only supports one blocker at a time");let a=Array.from(H.entries()),[s,i]=a[a.length-1],o=C.blockers.get(s);return o&&"proceeding"===o.state?void 0:i({currentLocation:t,nextLocation:n,historyAction:r})?s:void 0}function de(e){let t=Jt(404,{pathname:e}),n=s||c,{matches:r,route:a}=Xt(n);return ue(),{notFoundMatches:r,route:a,error:t}}function ue(e){let t=[];return B.forEach((n,r)=>{e&&!e(r)||(n.cancel(),t.push(r),B.delete(r))}),t}function he(e,t){if(g){let n=g(e,t.map(e=>function(e,t){let{route:n,pathname:r,params:a}=e;return{id:n.id,pathname:r,params:a,data:t[n.id],handle:n.handle}}(e,C.loaderData)));return n||e.key}return e.key}function me(e,t){if(y){let n=he(e,t),r=y[n];if("number"==typeof r)return r}return null}function pe(e,t,n){if(h){if(!e)return{active:!0,matches:Ye(t,n,d,!0)||[]};if(Object.keys(e[0].params).length>0)return{active:!0,matches:Ye(t,n,d,!0)}}return{active:!1,matches:null}}async function fe(e,t,n,r){if(!h)return{type:"success",matches:e};let i=e;for(;;){let e=null==s,o=s||c,u=l;try{await h({signal:n,path:t,matches:i,fetcherKey:r,patch:(e,t)=>{n.aborted||jt(e,t,o,u,a)}})}catch(e){return{type:"error",error:e,partialMatches:i}}finally{e&&!n.aborted&&(c=[...c])}if(n.aborted)return{type:"aborted"};let m=Ge(o,t,d);if(m)return{type:"success",matches:m};let p=Ye(o,t,d,!0);if(!p||i.length===p.length&&i.every((e,t)=>e.route.id===p[t].route.id))return{type:"success",matches:null};i=p}}return o={get basename(){return d},get future(){return m},get state(){return C},get routes(){return c},get window(){return t},initialize:function(){if(p=e.history.listen(t=>{let{action:n,location:r,delta:a}=t;if(k)return k(),void(k=void 0);qe(0===H.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let s=ce({currentLocation:C.location,nextLocation:r,historyAction:n});if(s&&null!=a){let t=new Promise(e=>{k=e});return e.history.go(-1*a),void le(s,{state:"blocked",location:r,proceed(){le(s,{state:"proceeding",proceed:void 0,reset:void 0,location:r}),t.then(()=>e.history.go(a))},reset(){let e=new Map(C.blockers);e.set(s,St),z({blockers:e})}})}return K(n,r)}),n){!function(e,t){try{let n=e.sessionStorage.getItem(Tt);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch(e){}}(t,T);let e=()=>function(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Tt,JSON.stringify(n))}catch(e){qe(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}}(t,T);t.addEventListener("pagehide",e),O=()=>t.removeEventListener("pagehide",e)}return C.initialized||K(Fe.Pop,C.location,{initialHydration:!0}),o},subscribe:function(e){return f.add(e),()=>f.delete(e)},enableScrollRestoration:function(e,t,n){if(y=e,v=t,g=n||null,!b&&C.navigation===kt){b=!0;let e=me(C.location,C.matches);null!=e&&z({restoreScrollPosition:e})}return()=>{y=null,v=null,g=null}},navigate:async function t(n,r){if("number"==typeof n)return void e.history.go(n);let a=Dt(C.location,C.matches,d,m.v7_prependBasename,n,m.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:s,submission:i,error:o}=Lt(m.v7_normalizeFormMethod,!1,a,r),l=C.location,c=Qe(C.location,s,r&&r.state);c=Ae({},c,e.history.encodeLocation(c));let u=r&&null!=r.replace?r.replace:void 0,h=Fe.Push;!0===u?h=Fe.Replace:!1===u||null!=i&&ln(i.formMethod)&&i.formAction===C.location.pathname+C.location.search&&(h=Fe.Replace);let p=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,f=!0===(r&&r.flushSync),y=ce({currentLocation:l,nextLocation:c,historyAction:h});if(!y)return await K(h,c,{submission:i,pendingError:o,preventScrollReset:p,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:f});le(y,{state:"blocked",location:c,proceed(){le(y,{state:"proceeding",proceed:void 0,reset:void 0,location:c}),t(n,r)},reset(){let e=new Map(C.blockers);e.set(y,St),z({blockers:e})}})},fetch:function(t,n,a,i){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");re(t);let o=!0===(i&&i.flushSync),l=s||c,u=Dt(C.location,C.matches,d,m.v7_prependBasename,a,m.v7_relativeSplatPath,n,null==i?void 0:i.relative),h=Ge(l,u,d),p=pe(h,l,u);if(p.active&&p.matches&&(h=p.matches),!h)return void ee(t,n,Jt(404,{pathname:u}),{flushSync:o});let{path:f,submission:y,error:g}=Lt(m.v7_normalizeFormMethod,!0,u,i);if(g)return void ee(t,n,g,{flushSync:o});let v=mn(h,f),b=!0===(i&&i.preventScrollReset);y&&ln(y.formMethod)?async function(t,n,r,a,i,o,l,u,h){function p(e){if(!e.route.action&&!e.route.lazy){let e=Jt(405,{method:h.formMethod,pathname:r,routeId:n});return ee(t,n,e,{flushSync:l}),!0}return!1}if(J(),q.delete(t),!o&&p(a))return;let f=C.fetchers.get(t);Z(t,function(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}(h,f),{flushSync:l});let y=new AbortController,g=Ht(e.history,r,y.signal,h);if(o){let e=await fe(i,new URL(g.url).pathname,g.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void ee(t,n,e.error,{flushSync:l});if(!e.matches)return void ee(t,n,Jt(404,{pathname:r}),{flushSync:l});if(p(a=mn(i=e.matches,r)))return}I.set(t,y);let v=A,b=(await Y("action",0,g,[a],i,t))[a.route.id];if(g.signal.aborted)return void(I.get(t)===y&&I.delete(t));if(m.v7_fetcherPersist&&Q.has(t)){if(an(b)||rn(b))return void Z(t,gn(void 0))}else{if(an(b))return I.delete(t),F>v?void Z(t,gn(void 0)):(U.add(t),Z(t,yn(h)),G(g,b,!1,{fetcherSubmission:h,preventScrollReset:u}));if(rn(b))return void ee(t,n,b.error)}if(nn(b))throw Jt(400,{type:"defer-action"});let x=C.navigation.location||C.location,w=Ht(e.history,x,y.signal),E=s||c,k="idle"!==C.navigation.state?Ge(E,C.navigation.location,d):C.matches;Ue(k,"Didn't find any matches after fetcher action");let N=++A;j.set(t,N);let R=yn(h,b.data);C.fetchers.set(t,R);let[T,O]=Mt(e.history,C,k,h,x,!1,m.v7_skipActionErrorRevalidation,L,P,M,Q,q,U,E,d,[a.route.id,b]);O.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=C.fetchers.get(t),r=yn(void 0,n?n.data:void 0);C.fetchers.set(t,r),re(t),e.controller&&I.set(t,e.controller)}),z({fetchers:new Map(C.fetchers)});let D=()=>O.forEach(e=>re(e.key));y.signal.addEventListener("abort",D);let{loaderResults:$,fetcherResults:H}=await X(C,k,T,O,w);if(y.signal.aborted)return;y.signal.removeEventListener("abort",D),j.delete(t),I.delete(t),O.forEach(e=>I.delete(e.key));let K=Zt($);if(K)return G(w,K.result,!1,{preventScrollReset:u});if(K=Zt(H),K)return U.add(K.key),G(w,K.result,!1,{preventScrollReset:u});let{loaderData:V,errors:te}=Kt(C,k,$,void 0,O,H,B);if(C.fetchers.has(t)){let e=gn(b.data);C.fetchers.set(t,e)}ie(N),"loading"===C.navigation.state&&N>F?(Ue(S,"Expected pending action"),_&&_.abort(),W(C.navigation.location,{matches:k,loaderData:V,errors:te,fetchers:new Map(C.fetchers)})):(z({errors:te,loaderData:Vt(C.loaderData,V,k,te),fetchers:new Map(C.fetchers)}),L=!1)}(t,n,f,v,h,p.active,o,b,y):(q.set(t,{routeId:n,path:f}),async function(t,n,r,a,s,i,o,l,c){let d=C.fetchers.get(t);Z(t,yn(c,d?d.data:void 0),{flushSync:o});let u=new AbortController,h=Ht(e.history,r,u.signal);if(i){let e=await fe(s,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void ee(t,n,e.error,{flushSync:o});if(!e.matches)return void ee(t,n,Jt(404,{pathname:r}),{flushSync:o});a=mn(s=e.matches,r)}I.set(t,u);let m=A,p=(await Y("loader",0,h,[a],s,t))[a.route.id];if(nn(p)&&(p=await un(p,h.signal,!0)||p),I.get(t)===u&&I.delete(t),!h.signal.aborted){if(!Q.has(t))return an(p)?F>m?void Z(t,gn(void 0)):(U.add(t),void await G(h,p,!1,{preventScrollReset:l})):void(rn(p)?ee(t,n,p.error):(Ue(!nn(p),"Unhandled fetcher deferred data"),Z(t,gn(p.data))));Z(t,gn(void 0))}}(t,n,f,v,h,p.active,o,b,y))},revalidate:function(){J(),z({revalidation:"loading"}),"submitting"!==C.navigation.state&&("idle"!==C.navigation.state?K(S||C.historyAction,C.navigation.location,{overrideNavigation:C.navigation,enableViewTransition:!0===R}):K(C.historyAction,C.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:te,deleteFetcher:function(e){let t=($.get(e)||0)-1;t<=0?($.delete(e),Q.add(e),m.v7_fetcherPersist||ne(e)):$.set(e,t),z({fetchers:new Map(C.fetchers)})},dispose:function(){p&&p(),O&&O(),f.clear(),_&&_.abort(),C.fetchers.forEach((e,t)=>ne(t)),C.blockers.forEach((e,t)=>oe(t))},getBlocker:function(e,t){let n=C.blockers.get(e)||St;return H.get(e)!==t&&H.set(e,t),n},deleteBlocker:oe,patchRoutes:function(e,t){let n=null==s;jt(e,t,s||c,l,a),n&&(c=[...c],z({}))},_internalFetchControllers:I,_internalActiveDeferreds:B,_internalSetRoutes:function(e){l={},s=Ve(e,a,void 0,l)}},o}function Dt(e,t,n,r,a,s,i,o){let l,c;if(i){l=[];for(let e of t)if(l.push(e),e.route.id===i){c=e;break}}else l=t,c=t[t.length-1];let d=ut(a||".",dt(l,s),st(e.pathname,n)||e.pathname,"path"===o);if(null==a&&(d.search=e.search,d.hash=e.hash),(null==a||""===a||"."===a)&&c){let e=hn(d.search);if(c.route.index&&!e)d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index";else if(!c.route.index&&e){let e=new URLSearchParams(d.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();d.search=n?"?"+n:""}}return r&&"/"!==n&&(d.pathname="/"===d.pathname?n:ht([n,d.pathname])),Be(d)}function Lt(e,t,n,r){if(!r||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(r))return{path:n};if(r.formMethod&&(a=r.formMethod,!wt.has(a.toLowerCase())))return{path:n,error:Jt(405,{method:r.formMethod})};var a;let s,i,o=()=>({path:n,error:Jt(400,{type:"invalid-body"})}),l=r.formMethod||"get",c=e?l.toUpperCase():l.toLowerCase(),d=en(n);if(void 0!==r.body){if("text/plain"===r.formEncType){if(!ln(c))return o();let e="string"==typeof r.body?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((e,t)=>{let[n,r]=t;return""+e+n+"="+r+"\n"},""):String(r.body);return{path:n,submission:{formMethod:c,formAction:d,formEncType:r.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===r.formEncType){if(!ln(c))return o();try{let e="string"==typeof r.body?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:c,formAction:d,formEncType:r.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return o()}}}if(Ue("function"==typeof FormData,"FormData is not available in this environment"),r.formData)s=zt(r.formData),i=r.formData;else if(r.body instanceof FormData)s=zt(r.body),i=r.body;else if(r.body instanceof URLSearchParams)s=r.body,i=Wt(s);else if(null==r.body)s=new URLSearchParams,i=new FormData;else try{s=new URLSearchParams(r.body),i=Wt(s)}catch(e){return o()}let u={formMethod:c,formAction:d,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(ln(u.formMethod))return{path:n,submission:u};let h=He(n);return t&&h.search&&hn(h.search)&&s.append("index",""),h.search="?"+s,{path:Be(h),submission:u}}function Pt(e,t,n){void 0===n&&(n=!1);let r=e.findIndex(e=>e.route.id===t);return r>=0?e.slice(0,n?r+1:r):e}function Mt(e,t,n,r,a,s,i,o,l,c,d,u,h,m,p,f){let y=f?rn(f[1])?f[1].error:f[1].data:void 0,g=e.createURL(t.location),v=e.createURL(a),b=n;s&&t.errors?b=Pt(n,Object.keys(t.errors)[0],!0):f&&rn(f[1])&&(b=Pt(n,f[0]));let x=f?f[1].statusCode:void 0,w=i&&x&&x>=400,E=b.filter((e,n)=>{let{route:a}=e;if(a.lazy)return!0;if(null==a.loader)return!1;if(s)return It(a,t.loaderData,t.errors);if(function(e,t,n){let r=!t||n.route.id!==t.route.id,a=void 0===e[n.route.id];return r||a}(t.loaderData,t.matches[n],e)||l.some(t=>t===e.route.id))return!0;let i=t.matches[n],c=e;return Ft(e,Ae({currentUrl:g,currentParams:i.params,nextUrl:v,nextParams:c.params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:!w&&(o||g.pathname+g.search===v.pathname+v.search||g.search!==v.search||At(i,c))}))}),_=[];return u.forEach((e,a)=>{if(s||!n.some(t=>t.route.id===e.routeId)||d.has(a))return;let i=Ge(m,e.path,p);if(!i)return void _.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let l=t.fetchers.get(a),u=mn(i,e.path),f=!1;h.has(a)?f=!1:c.has(a)?(c.delete(a),f=!0):f=l&&"idle"!==l.state&&void 0===l.data?o:Ft(u,Ae({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:v,nextParams:n[n.length-1].params},r,{actionResult:y,actionStatus:x,defaultShouldRevalidate:!w&&o})),f&&_.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:u,controller:new AbortController})}),[E,_]}function It(e,t,n){if(e.lazy)return!0;if(!e.loader)return!1;let r=null!=t&&void 0!==t[e.id],a=null!=n&&void 0!==n[e.id];return!(!r&&a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!r&&!a)}function At(e,t){let n=e.route.path;return e.pathname!==t.pathname||null!=n&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function Ft(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if("boolean"==typeof n)return n}return t.defaultShouldRevalidate}function jt(e,t,n,r,a){var s;let i;if(e){let t=r[e];Ue(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=n;let o=Ve(t.filter(e=>!i.some(t=>Ut(e,t))),a,[e||"_","patch",String((null==(s=i)?void 0:s.length)||"0")],r);i.push(...o)}function Ut(e,t){return"id"in e&&"id"in t&&e.id===t.id||e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive&&(!(e.children&&0!==e.children.length||t.children&&0!==t.children.length)||e.children.every((e,n)=>{var r;return null==(r=t.children)?void 0:r.some(t=>Ut(e,t))}))}async function qt(e){let{matches:t}=e,n=t.filter(e=>e.shouldLoad),r=await Promise.all(n.map(e=>e.resolve()));return r.reduce((e,t,r)=>Object.assign(e,{[n[r].route.id]:t}),{})}async function $t(e){let{result:t,type:n}=e;if(on(t)){let e;try{let n=t.headers.get("Content-Type");e=n&&/\bapplication\/json\b/.test(n)?null==t.body?null:await t.json():await t.text()}catch(e){return{type:We.error,error:e}}return n===We.error?{type:We.error,error:new yt(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:We.data,data:e,statusCode:t.status,headers:t.headers}}var r,a,s,i,o,l,c,d;return n===We.error?sn(t)?t.data instanceof Error?{type:We.error,error:t.data,statusCode:null==(s=t.init)?void 0:s.status,headers:null!=(i=t.init)&&i.headers?new Headers(t.init.headers):void 0}:{type:We.error,error:new yt((null==(r=t.init)?void 0:r.status)||500,void 0,t.data),statusCode:gt(t)?t.status:void 0,headers:null!=(a=t.init)&&a.headers?new Headers(t.init.headers):void 0}:{type:We.error,error:t,statusCode:gt(t)?t.status:void 0}:function(e){let t=e;return t&&"object"==typeof t&&"object"==typeof t.data&&"function"==typeof t.subscribe&&"function"==typeof t.cancel&&"function"==typeof t.resolveData}(t)?{type:We.deferred,deferredData:t,statusCode:null==(o=t.init)?void 0:o.status,headers:(null==(l=t.init)?void 0:l.headers)&&new Headers(t.init.headers)}:sn(t)?{type:We.data,data:t.data,statusCode:null==(c=t.init)?void 0:c.status,headers:null!=(d=t.init)&&d.headers?new Headers(t.init.headers):void 0}:{type:We.data,data:t}}function Qt(e,t,n,r,a,s){let i=e.headers.get("Location");if(Ue(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!Nt.test(i)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);i=Dt(new URL(t.url),o,a,!0,i,s),e.headers.set("Location",i)}return e}function Bt(e,t,n,r){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(Nt.test(e)){let r=e,s=r.startsWith("//")?new URL(t.protocol+r):new URL(r);if(a.includes(s.protocol))throw new Error("Invalid redirect location");let i=null!=st(s.pathname,n);if(s.origin===t.origin&&i)return s.pathname+s.search+s.hash}try{let t=r.createURL(e);if(a.includes(t.protocol))throw new Error("Invalid redirect location")}catch(e){}return e}function Ht(e,t,n,r){let a=e.createURL(en(t)).toString(),s={signal:n};if(r&&ln(r.formMethod)){let{formMethod:e,formEncType:t}=r;s.method=e.toUpperCase(),"application/json"===t?(s.headers=new Headers({"Content-Type":t}),s.body=JSON.stringify(r.json)):"text/plain"===t?s.body=r.text:"application/x-www-form-urlencoded"===t&&r.formData?s.body=zt(r.formData):s.body=r.formData}return new Request(a,s)}function zt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,"string"==typeof r?r:r.name);return t}function Wt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Kt(e,t,n,r,a,s,i){let{loaderData:o,errors:l}=function(e,t,n,r,a){let s,i={},o=null,l=!1,c={},d=n&&rn(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let u=n.route.id,h=t[u];if(Ue(!an(h),"Cannot handle redirect results in processLoaderData"),rn(h)){let t=h.error;if(void 0!==d&&(t=d,d=void 0),o=o||{},a)o[u]=t;else{let n=Yt(e,u);null==o[n.route.id]&&(o[n.route.id]=t)}i[u]=void 0,l||(l=!0,s=gt(h.error)?h.error.status:500),h.headers&&(c[u]=h.headers)}else nn(h)?(r.set(u,h.deferredData),i[u]=h.deferredData.data,null==h.statusCode||200===h.statusCode||l||(s=h.statusCode),h.headers&&(c[u]=h.headers)):(i[u]=h.data,h.statusCode&&200!==h.statusCode&&!l&&(s=h.statusCode),h.headers&&(c[u]=h.headers))}),void 0!==d&&n&&(o={[n[0]]:d},i[n[0]]=void 0),{loaderData:i,errors:o,statusCode:s||200,loaderHeaders:c}}(t,n,r,i,!1);return a.forEach(t=>{let{key:n,match:r,controller:a}=t,i=s[n];if(Ue(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(rn(i)){let t=Yt(e.matches,null==r?void 0:r.route.id);l&&l[t.route.id]||(l=Ae({},l,{[t.route.id]:i.error})),e.fetchers.delete(n)}else if(an(i))Ue(!1,"Unhandled fetcher revalidation redirect");else if(nn(i))Ue(!1,"Unhandled fetcher deferred data");else{let t=gn(i.data);e.fetchers.set(n,t)}}),{loaderData:o,errors:l}}function Vt(e,t,n,r){let a=Ae({},t);for(let s of n){let n=s.route.id;if(t.hasOwnProperty(n)?void 0!==t[n]&&(a[n]=t[n]):void 0!==e[n]&&s.route.loader&&(a[n]=e[n]),r&&r.hasOwnProperty(n))break}return a}function Gt(e){return e?rn(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Yt(e,t){let n=t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e];return n.reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function Xt(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Jt(e,t){let{pathname:n,routeId:r,method:a,type:s,message:i}=void 0===t?{}:t,o="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(o="Bad Request",a&&n&&r?l="You made a "+a+' request to "'+n+'" but did not provide a `loader` for route "'+r+'", so there is no way to handle the request.':"defer-action"===s?l="defer() is not supported in actions":"invalid-body"===s&&(l="Unable to encode submission body")):403===e?(o="Forbidden",l='Route "'+r+'" does not match URL "'+n+'"'):404===e?(o="Not Found",l='No route matches URL "'+n+'"'):405===e&&(o="Method Not Allowed",a&&n&&r?l="You made a "+a.toUpperCase()+' request to "'+n+'" but did not provide an `action` for route "'+r+'", so there is no way to handle the request.':a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new yt(e||500,o,new Error(l),!0)}function Zt(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(an(r))return{key:n,result:r}}}function en(e){return Be(Ae({},"string"==typeof e?He(e):e,{hash:""}))}function tn(e){return on(e.result)&&Et.has(e.result.status)}function nn(e){return e.type===We.deferred}function rn(e){return e.type===We.error}function an(e){return(e&&e.type)===We.redirect}function sn(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function on(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function ln(e){return bt.has(e.toLowerCase())}async function cn(e,t,n,r,a){let s=Object.entries(t);for(let i=0;i<s.length;i++){let[o,l]=s[i],c=e.find(e=>(null==e?void 0:e.route.id)===o);if(!c)continue;let d=r.find(e=>e.route.id===c.route.id),u=null!=d&&!At(d,c)&&void 0!==(a&&a[c.route.id]);nn(l)&&u&&await un(l,n,!1).then(e=>{e&&(t[o]=e)})}}async function dn(e,t,n){for(let r=0;r<n.length;r++){let{key:a,routeId:s,controller:i}=n[r],o=t[a],l=e.find(e=>(null==e?void 0:e.route.id)===s);l&&nn(o)&&(Ue(i,"Expected an AbortController for revalidating fetcher deferred result"),await un(o,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function un(e,t,n){if(void 0===n&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:We.data,data:e.deferredData.unwrappedData}}catch(e){return{type:We.error,error:e}}return{type:We.data,data:e.deferredData.data}}}function hn(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function mn(e,t){let n="string"==typeof t?He(t).search:t.search;if(e[e.length-1].route.index&&hn(n||""))return e[e.length-1];let r=ct(e);return r[r.length-1]}function pn(e){let{formMethod:t,formAction:n,formEncType:r,text:a,formData:s,json:i}=e;if(t&&n&&r)return null!=a?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:a}:null!=s?{formMethod:t,formAction:n,formEncType:r,formData:s,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:i,text:void 0}:void 0}function fn(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function yn(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function gn(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function vn(){return vn=Object.assign?Object.assign.bind():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},vn.apply(this,arguments)}Symbol("deferred");const bn=r.createContext(null),xn=r.createContext(null),wn=r.createContext(null),En=r.createContext(null),kn=r.createContext({outlet:null,matches:[],isDataRoute:!1}),Cn=r.createContext(null);function Sn(){return null!=r.useContext(En)}function Nn(){return Sn()||Ue(!1),r.useContext(En).location}function Rn(e){r.useContext(wn).static||r.useLayoutEffect(e)}function Tn(){let{isDataRoute:e}=r.useContext(kn);return e?function(){let{router:e}=function(){let e=r.useContext(bn);return e||Ue(!1),e}(An.UseNavigateStable),t=jn(Fn.UseNavigateStable),n=r.useRef(!1);return Rn(()=>{n.current=!0}),r.useCallback(function(r,a){void 0===a&&(a={}),n.current&&("number"==typeof r?e.navigate(r):e.navigate(r,vn({fromRouteId:t},a)))},[e,t])}():function(){Sn()||Ue(!1);let e=r.useContext(bn),{basename:t,future:n,navigator:a}=r.useContext(wn),{matches:s}=r.useContext(kn),{pathname:i}=Nn(),o=JSON.stringify(dt(s,n.v7_relativeSplatPath)),l=r.useRef(!1);return Rn(()=>{l.current=!0}),r.useCallback(function(n,r){if(void 0===r&&(r={}),!l.current)return;if("number"==typeof n)return void a.go(n);let s=ut(n,JSON.parse(o),i,"path"===r.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:ht([t,s.pathname])),(r.replace?a.replace:a.push)(s,r.state,r)},[t,a,o,i,e])}()}function On(){let{matches:e}=r.useContext(kn),t=e[e.length-1];return t?t.params:{}}function Dn(e,t,n,a){Sn()||Ue(!1);let{navigator:s}=r.useContext(wn),{matches:i}=r.useContext(kn),o=i[i.length-1],l=o?o.params:{},c=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let d,u=Nn();if(t){var h;let e="string"==typeof t?He(t):t;"/"===c||(null==(h=e.pathname)?void 0:h.startsWith(c))||Ue(!1),d=e}else d=u;let m=d.pathname||"/",p=m;if("/"!==c){let e=c.replace(/^\//,"").split("/");p="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let f=Ge(e,{pathname:p}),y=function(e,t,n,a){var s;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===a&&(a=null),null==e){var i;if(!n)return null;if(n.errors)e=n.matches;else{if(!(null!=(i=a)&&i.v7_partialHydration&&0===t.length&&!n.initialized&&n.matches.length>0))return null;e=n.matches}}let o=e,l=null==(s=n)?void 0:s.errors;if(null!=l){let e=o.findIndex(e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id]));e>=0||Ue(!1),o=o.slice(0,Math.min(o.length,e+1))}let c=!1,d=-1;if(n&&a&&a.v7_partialHydration)for(let e=0;e<o.length;e++){let t=o[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(d=e),t.route.id){let{loaderData:e,errors:r}=n,a=t.route.loader&&void 0===e[t.route.id]&&(!r||void 0===r[t.route.id]);if(t.route.lazy||a){c=!0,o=d>=0?o.slice(0,d+1):[o[0]];break}}}return o.reduceRight((e,a,s)=>{let i,u=!1,h=null,m=null;var p;n&&(i=l&&a.route.id?l[a.route.id]:void 0,h=a.route.errorElement||Pn,c&&(d<0&&0===s?(Un[p="route-fallback"]||(Un[p]=!0),u=!0,m=null):d===s&&(u=!0,m=a.route.hydrateFallbackElement||null)));let f=t.concat(o.slice(0,s+1)),y=()=>{let t;return t=i?h:u?m:a.route.Component?r.createElement(a.route.Component,null):a.route.element?a.route.element:e,r.createElement(In,{match:a,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(a.route.ErrorBoundary||a.route.errorElement||0===s)?r.createElement(Mn,{location:n.location,revalidation:n.revalidation,component:h,error:i,children:y(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):y()},null)}(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:ht([c,s.encodeLocation?s.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:ht([c,s.encodeLocation?s.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),i,n,a);return t&&y?r.createElement(En.Provider,{value:{location:vn({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Fe.Pop}},y):y}function Ln(){let e=function(){var e;let t=r.useContext(Cn),n=function(){let e=r.useContext(xn);return e||Ue(!1),e}(Fn.UseRouteError),a=jn(Fn.UseRouteError);return void 0!==t?t:null==(e=n.errors)?void 0:e[a]}(),t=gt(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:a},n):null,null)}const Pn=r.createElement(Ln,null);class Mn extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(kn.Provider,{value:this.props.routeContext},r.createElement(Cn.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function In(e){let{routeContext:t,match:n,children:a}=e,s=r.useContext(bn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(kn.Provider,{value:t},a)}var An=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(An||{}),Fn=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Fn||{});function jn(e){let t=function(){let e=r.useContext(kn);return e||Ue(!1),e}(),n=t.matches[t.matches.length-1];return n.route.id||Ue(!1),n.route.id}const Un={};function qn(e){let{basename:t="/",children:n=null,location:a,navigationType:s=Fe.Pop,navigator:i,static:o=!1,future:l}=e;Sn()&&Ue(!1);let c=t.replace(/^\/*/,"/"),d=r.useMemo(()=>({basename:c,navigator:i,static:o,future:vn({v7_relativeSplatPath:!1},l)}),[c,l,i,o]);"string"==typeof a&&(a=He(a));let{pathname:u="/",search:h="",hash:m="",state:p=null,key:f="default"}=a,y=r.useMemo(()=>{let e=st(u,c);return null==e?null:{location:{pathname:e,search:h,hash:m,state:p,key:f},navigationType:s}},[c,u,h,m,p,f,s]);return null==y?null:r.createElement(wn.Provider,{value:d},r.createElement(En.Provider,{children:n,value:y}))}function $n(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:r.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:r.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:r.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function Qn(){return Qn=Object.assign?Object.assign.bind():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},Qn.apply(this,arguments)}r.startTransition,new Promise(()=>{}),r.Component,new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);try{window.__reactRouterVersion="6"}catch(e){}function Bn(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Qn({},t,{errors:Hn(t.errors)})),t}function Hn(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&"RouteErrorResponse"===r.__type)n[e]=new yt(r.status,r.statusText,r.data,!0===r.internal);else if(r&&"Error"===r.__type){if(r.__subType){let t=window[r.__subType];if("function"==typeof t)try{let a=new t(r.message);a.stack="",n[e]=a}catch(e){}}if(null==n[e]){let t=new Error(r.message);t.stack="",n[e]=t}}else n[e]=r;return n}const zn=r.createContext({isTransitioning:!1}),Wn=r.createContext(new Map),Kn=r.startTransition,Vn=Ie.flushSync;function Gn(e){Vn?Vn(e):e()}r.useId;class Yn{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function Xn(e){let{fallbackElement:t,router:n,future:a}=e,[s,i]=r.useState(n.state),[o,l]=r.useState(),[c,d]=r.useState({isTransitioning:!1}),[u,h]=r.useState(),[m,p]=r.useState(),[f,y]=r.useState(),g=r.useRef(new Map),{v7_startTransition:v}=a||{},b=r.useCallback(e=>{v?function(e){Kn?Kn(e):e()}(e):e()},[v]),x=r.useCallback((e,t)=>{let{deletedFetchers:r,flushSync:a,viewTransitionOpts:s}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&g.current.set(t,e.data)}),r.forEach(e=>g.current.delete(e));let o=null==n.window||null==n.window.document||"function"!=typeof n.window.document.startViewTransition;if(s&&!o){if(a){Gn(()=>{m&&(u&&u.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:s.currentLocation,nextLocation:s.nextLocation})});let t=n.window.document.startViewTransition(()=>{Gn(()=>i(e))});return t.finished.finally(()=>{Gn(()=>{h(void 0),p(void 0),l(void 0),d({isTransitioning:!1})})}),void Gn(()=>p(t))}m?(u&&u.resolve(),m.skipTransition(),y({state:e,currentLocation:s.currentLocation,nextLocation:s.nextLocation})):(l(e),d({isTransitioning:!0,flushSync:!1,currentLocation:s.currentLocation,nextLocation:s.nextLocation}))}else a?Gn(()=>i(e)):b(()=>i(e))},[n.window,m,u,g,b]);r.useLayoutEffect(()=>n.subscribe(x),[n,x]),r.useEffect(()=>{c.isTransitioning&&!c.flushSync&&h(new Yn)},[c]),r.useEffect(()=>{if(u&&o&&n.window){let e=o,t=u.promise,r=n.window.document.startViewTransition(async()=>{b(()=>i(e)),await t});r.finished.finally(()=>{h(void 0),p(void 0),l(void 0),d({isTransitioning:!1})}),p(r)}},[b,o,u,n.window]),r.useEffect(()=>{u&&o&&s.location.key===o.location.key&&u.resolve()},[u,m,s.location,o]),r.useEffect(()=>{!c.isTransitioning&&f&&(l(f.state),d({isTransitioning:!0,flushSync:!1,currentLocation:f.currentLocation,nextLocation:f.nextLocation}),y(void 0))},[c.isTransitioning,f]),r.useEffect(()=>{},[]);let w=r.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:e=>n.navigate(e),push:(e,t,r)=>n.navigate(e,{state:t,preventScrollReset:null==r?void 0:r.preventScrollReset}),replace:(e,t,r)=>n.navigate(e,{replace:!0,state:t,preventScrollReset:null==r?void 0:r.preventScrollReset})}),[n]),E=n.basename||"/",_=r.useMemo(()=>({router:n,navigator:w,static:!1,basename:E}),[n,w,E]),k=r.useMemo(()=>({v7_relativeSplatPath:n.future.v7_relativeSplatPath}),[n.future.v7_relativeSplatPath]);return r.useEffect(()=>function(e,t){null==e||e.v7_startTransition,void 0===(null==e?void 0:e.v7_relativeSplatPath)&&(!t||t.v7_relativeSplatPath),t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}(a,n.future),[a,n.future]),r.createElement(r.Fragment,null,r.createElement(bn.Provider,{value:_},r.createElement(xn.Provider,{value:s},r.createElement(Wn.Provider,{value:g.current},r.createElement(zn.Provider,{value:c},r.createElement(qn,{basename:E,location:s.location,navigationType:s.historyAction,navigator:w,future:k},s.initialized||n.future.v7_partialHydration?r.createElement(Jn,{routes:n.routes,future:n.future,state:s}):t))))),null)}const Jn=r.memo(Zn);function Zn(e){let{routes:t,future:n,state:r}=e;return Dn(t,void 0,r,n)}var er,tr;"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"}(er||(er={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(tr||(tr={}));const nr=window.wp.i18n,rr=[{id:"admin-menu-editor",title:(0,nr.__)("Admin Menu Editor","editx"),description:(0,nr.__)("Reorder, rename, hide or add custom items to the WordPress admin sidebar menu.","editx"),route:"/admin-menu-editor",color:"indigo",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12"}))},{id:"admin-column-editor",title:(0,nr.__)("Admin Column Editor","editx"),description:(0,nr.__)("Customize, reorder and resize columns in WordPress list tables for any post type.","editx"),route:"/admin-column-editor",color:"violet",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h1.5C5.496 19.5 6 18.996 6 18.375m-3.75.125v-1.5m0 1.5H3m.375 0h16.5M3.375 19.5v-15c0-.621.504-1.125 1.125-1.125m17.25 16.125H6m11.25 0v-15M6 4.5h12.375c.621 0 1.125.504 1.125 1.125v13.875"}))},{id:"restrictions",title:(0,nr.__)("Menu Restrictions","editx"),description:(0,nr.__)("Control which admin menu items are visible to specific users or user roles.","editx"),route:"/restrictions/roles",color:"emerald",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"}))},{id:"addons",title:(0,nr.__)("Addons","editx"),description:(0,nr.__)("Enable or disable EditX feature modules to match your workflow needs.","editx"),route:"/addons",color:"amber",icon:(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.401.604-.401.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.959.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z"}))}],ar={indigo:{bg:"bg-indigo-50",text:"text-indigo-600",hoverBorder:"hover:border-indigo-200"},violet:{bg:"bg-violet-50",text:"text-violet-600",hoverBorder:"hover:border-violet-200"},emerald:{bg:"bg-emerald-50",text:"text-emerald-600",hoverBorder:"hover:border-emerald-200"},amber:{bg:"bg-amber-50",text:"text-amber-600",hoverBorder:"hover:border-amber-200"}};var sr=class extends I{constructor(e,t){super(),this.options=t,this.#d=e,this.#N=null,this.#R=j(),this.bindMethods(),this.setOptions(t)}#d;#T=void 0;#O=void 0;#D=void 0;#L;#P;#R;#N;#M;#I;#A;#F;#j;#U;#q=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#T.addObserver(this),ir(this.#T,this.options)?this.#$():this.updateResult(),this.#Q())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return or(this.#T,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return or(this.#T,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#B(),this.#H(),this.#T.removeObserver(this)}setOptions(e){const t=this.options,n=this.#T;if(this.options=this.#d.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof f(this.options.enabled,this.#T))throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#z(),this.#T.setOptions(this.options),t._defaulted&&!_(this.options,t)&&this.#d.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#T,observer:this});const r=this.hasListeners();r&&lr(this.#T,n,this.options,t)&&this.#$(),this.updateResult(),!r||this.#T===n&&f(this.options.enabled,this.#T)===f(t.enabled,this.#T)&&p(this.options.staleTime,this.#T)===p(t.staleTime,this.#T)||this.#W();const a=this.#K();!r||this.#T===n&&f(this.options.enabled,this.#T)===f(t.enabled,this.#T)&&a===this.#U||this.#V(a)}getOptimisticResult(e){const t=this.#d.getQueryCache().build(this.#d,e),n=this.createResult(t,e);return r=n,!_(this.getCurrentResult(),r)&&(this.#D=n,this.#P=this.options,this.#L=this.#T.state),n;var r}getCurrentResult(){return this.#D}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),"promise"===n&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#R.status||this.#R.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,n))})}trackProp(e){this.#q.add(e)}getCurrentQuery(){return this.#T}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#d.defaultQueryOptions(e),n=this.#d.getQueryCache().build(this.#d,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#$({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#D))}#$(e){this.#z();let t=this.#T.fetch(this.options,e);return e?.throwOnError||(t=t.catch(u)),t}#W(){this.#B();const e=p(this.options.staleTime,this.#T);if(d||this.#D.isStale||!h(e))return;const t=m(this.#D.dataUpdatedAt,e)+1;this.#F=c.setTimeout(()=>{this.#D.isStale||this.updateResult()},t)}#K(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#T):this.options.refetchInterval)??!1}#V(e){this.#H(),this.#U=e,!d&&!1!==f(this.options.enabled,this.#T)&&h(this.#U)&&0!==this.#U&&(this.#j=c.setInterval(()=>{(this.options.refetchIntervalInBackground||A.isFocused())&&this.#$()},this.#U))}#Q(){this.#W(),this.#V(this.#K())}#B(){this.#F&&(c.clearTimeout(this.#F),this.#F=void 0)}#H(){this.#j&&(c.clearInterval(this.#j),this.#j=void 0)}createResult(e,t){const n=this.#T,r=this.options,a=this.#D,s=this.#L,i=this.#P,o=e!==n?e.state:this.#O,{state:l}=e;let c,d={...l},u=!1;if(t._optimisticResults){const a=this.hasListeners(),s=!a&&ir(e,t),i=a&&lr(e,n,t,r);(s||i)&&(d={...d,...z(l.data,e.options)}),"isRestoring"===t._optimisticResults&&(d.fetchStatus="idle")}let{error:h,errorUpdatedAt:m,status:p}=d;c=d.data;let y=!1;if(void 0!==t.placeholderData&&void 0===c&&"pending"===p){let e;a?.isPlaceholderData&&t.placeholderData===i?.placeholderData?(e=a.data,y=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#A?.state.data,this.#A):t.placeholderData,void 0!==e&&(p="success",c=N(a?.data,e,t),u=!0)}if(t.select&&void 0!==c&&!y)if(a&&c===s?.data&&t.select===this.#M)c=this.#I;else try{this.#M=t.select,c=t.select(c),c=N(a?.data,c,t),this.#I=c,this.#N=null}catch(e){this.#N=e}this.#N&&(h=this.#N,c=this.#I,m=Date.now(),p="error");const g="fetching"===d.fetchStatus,v="pending"===p,b="error"===p,x=v&&g,w=void 0!==c,E={status:p,fetchStatus:d.fetchStatus,isPending:v,isSuccess:"success"===p,isError:b,isInitialLoading:x,isLoading:x,data:c,dataUpdatedAt:d.dataUpdatedAt,error:h,errorUpdatedAt:m,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>o.dataUpdateCount||d.errorUpdateCount>o.errorUpdateCount,isFetching:g,isRefetching:g&&!v,isLoadingError:b&&!w,isPaused:"paused"===d.fetchStatus,isPlaceholderData:u,isRefetchError:b&&w,isStale:cr(e,t),refetch:this.refetch,promise:this.#R,isEnabled:!1!==f(t.enabled,e)};if(this.options.experimental_prefetchInRender){const t=void 0!==E.data,r="error"===E.status&&!t,a=e=>{r?e.reject(E.error):t&&e.resolve(E.data)},s=()=>{const e=this.#R=E.promise=j();a(e)},i=this.#R;switch(i.status){case"pending":e.queryHash===n.queryHash&&a(i);break;case"fulfilled":(r||E.data!==i.value)&&s();break;case"rejected":r&&E.error===i.reason||s()}}return E}updateResult(){const e=this.#D,t=this.createResult(this.#T,this.options);this.#L=this.#T.state,this.#P=this.options,void 0!==this.#L.data&&(this.#A=this.#T),_(t,e)||(this.#D=t,this.#G({listeners:(()=>{if(!e)return!0;const{notifyOnChangeProps:t}=this.options,n="function"==typeof t?t():t;if("all"===n||!n&&!this.#q.size)return!0;const r=new Set(n??this.#q);return this.options.throwOnError&&r.add("error"),Object.keys(this.#D).some(t=>{const n=t;return this.#D[n]!==e[n]&&r.has(n)})})()}))}#z(){const e=this.#d.getQueryCache().build(this.#d,this.options);if(e===this.#T)return;const t=this.#T;this.#T=e,this.#O=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#Q()}#G(e){M.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#D)}),this.#d.getQueryCache().notify({query:this.#T,type:"observerResultsUpdated"})})}};function ir(e,t){return function(e,t){return!1!==f(t.enabled,e)&&void 0===e.state.data&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||void 0!==e.state.data&&or(e,t,t.refetchOnMount)}function or(e,t,n){if(!1!==f(t.enabled,e)&&"static"!==p(t.staleTime,e)){const r="function"==typeof n?n(e):n;return"always"===r||!1!==r&&cr(e,t)}return!1}function lr(e,t,n,r){return(e!==t||!1===f(r.enabled,e))&&(!n.suspense||"error"!==e.state.status)&&cr(e,n)}function cr(e,t){return!1!==f(t.enabled,e)&&e.isStaleByTime(p(t.staleTime,e))}var dr=r.createContext(function(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}()),ur=r.createContext(!1),hr=(ur.Provider,(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()}));function mr(e,t){return function(e,t,n){const a=r.useContext(ur),s=r.useContext(dr),i=o(n),l=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(l);const c=i.getQueryCache().get(l.queryHash);l._optimisticResults=a?"isRestoring":"optimistic",(e=>{if(e.suspense){const t=1e3,n=e=>"static"===e?e:Math.max(e??t,t),r=e.staleTime;e.staleTime="function"==typeof r?(...e)=>n(r(...e)):n(r),"number"==typeof e.gcTime&&(e.gcTime=Math.max(e.gcTime,t))}})(l),((e,t,n)=>{const r=n?.state.error&&"function"==typeof e.throwOnError?L(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))})(l,s,c),(e=>{r.useEffect(()=>{e.clearReset()},[e])})(s);const h=!i.getQueryCache().get(l.queryHash),[m]=r.useState(()=>new t(i,l)),p=m.getOptimisticResult(l),f=!a&&!1!==e.subscribed;if(r.useSyncExternalStore(r.useCallback(e=>{const t=f?m.subscribe(M.batchCalls(e)):u;return m.updateResult(),t},[m,f]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),r.useEffect(()=>{m.setOptions(l)},[l,m]),((e,t)=>e?.suspense&&t.isPending)(l,p))throw hr(l,m,s);if((({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(a&&void 0===e.data||L(n,[e.error,r])))({result:p,errorResetBoundary:s,throwOnError:l.throwOnError,query:c,suspense:l.suspense}))throw p.error;if(i.getDefaultOptions().queries?._experimental_afterQuery?.(l,p),l.experimental_prefetchInRender&&!d&&((e,t)=>e.isLoading&&e.isFetching&&!t)(p,a)){const e=h?hr(l,m,s):c?.promise;e?.catch(u).finally(()=>{m.updateResult()})}return l.notifyOnChangeProps?p:m.trackResult(p)}(e,sr,t)}var pr=class extends I{#d;#D=void 0;#Y;#X;constructor(e,t){super(),this.#d=e,this.setOptions(t),this.bindMethods(),this.#J()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#d.defaultMutationOptions(e),_(this.options,t)||this.#d.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#Y,observer:this}),t?.mutationKey&&this.options.mutationKey&&b(t.mutationKey)!==b(this.options.mutationKey)?this.reset():"pending"===this.#Y?.state.status&&this.#Y.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#Y?.removeObserver(this)}onMutationUpdate(e){this.#J(),this.#G(e)}getCurrentResult(){return this.#D}reset(){this.#Y?.removeObserver(this),this.#Y=void 0,this.#J(),this.#G()}mutate(e,t){return this.#X=t,this.#Y?.removeObserver(this),this.#Y=this.#d.getMutationCache().build(this.#d,this.options),this.#Y.addObserver(this),this.#Y.execute(e)}#J(){const e=this.#Y?.state??{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0};this.#D={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#G(e){M.batch(()=>{if(this.#X&&this.hasListeners()){const t=this.#D.variables,n=this.#D.context,r={client:this.#d,meta:this.options.meta,mutationKey:this.options.mutationKey};if("success"===e?.type){try{this.#X.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#X.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if("error"===e?.type){try{this.#X.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#X.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#D)})})}};function fr(e,t){const n=o(t),[a]=r.useState(()=>new pr(n,e));r.useEffect(()=>{a.setOptions(e)},[a,e]);const s=r.useSyncExternalStore(r.useCallback(e=>a.subscribe(M.batchCalls(e)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),i=r.useCallback((e,t)=>{a.mutate(e,t).catch(u)},[a]);if(s.error&&L(a.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}const yr=function(){return(0,r.createElement)("div",{className:"editx-preloader"})},gr=({label:e,children:t})=>(0,r.createElement)("div",{className:"editx-topbar"},(0,r.createElement)("div",{className:"editx-topbar-content flex justify-between items-center"},(0,r.createElement)("div",{className:"editx-topbar-title"},(0,r.createElement)("h2",{className:"editx-topbar-label text-gray-900"},"EditX"),e&&(0,r.createElement)("span",{className:"editx-topbar-sublabel text-gray-500"},e)),(0,r.createElement)("div",{className:"editx-topbar-action"},t))),vr=({className:e="",children:t})=>(0,r.createElement)("div",{className:`editx-content ${e}`},t),br=window.wp.apiFetch;var xr=n.n(br);const wr=(e,t)=>"free"===t?`/editx/v1/${e}`:"pro"===t?`/editxp/v1/${e}`:void 0,Er=async(e,t="",n="free")=>{const r=await xr()({path:`${wr(e,n)}/?${t}`});if(r.success)return r.data;throw r.data.map(e=>new Error(e))},_r=async(e,t,n,r="free")=>{const a=await xr()({path:`${wr(e,r)}/${t}`,method:"PUT",data:n});if(a.success)return a.data;throw a.data.map(e=>new Error(e))},kr=async(e,t,n="free")=>{const r=await xr()({path:`${wr(e,n)}/${t}`,method:"DELETE"});if(r.success)return r.data;throw r.data.map(e=>new Error(e))},Cr={loadingFetch:!0,items:[],defaultItems:[],itemNew:null,itemExpand:null,selectedItem:null,selectedSubitem:null,loadingSubmit:!1},Sr=(e,t)=>{switch(t.type){case"set_loading_fetch":return{...e,loadingFetch:t.payload};case"set_items":return{...e,items:t.payload};case"set_default_items":return{...e,defaultItems:t.payload};case"set_item_new":return{...e,itemNew:t.payload};case"set_item_expand":return{...e,itemExpand:t.payload};case"set_item_select":return{...e,selectedItem:t.payload};case"set_subitem_select":return{...e,selectedSubitem:t.payload};case"set_loading_submit":return{...e,loadingSubmit:t.payload};default:return e}},Nr=({isOpen:e,onCancel:t,onConfirm:n,message:a="Are you sure you want to delete this?"})=>e?(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("button",{type:"button",className:"absolute end-2.5 top-3 ms-auto inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900",onClick:t},(0,r.createElement)("svg",{className:"h-3 w-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"}))),(0,r.createElement)("div",{className:"p-4 text-center md:p-5"},(0,r.createElement)("svg",{className:"mx-auto mb-4 h-12 w-12 text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 11V6m0 8h.01M19 10a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})),(0,r.createElement)("h3",{className:"mb-5 text-lg font-normal text-gray-500"},a),(0,r.createElement)("button",{onClick:n,type:"button",className:"me-2 inline-flex items-center rounded-lg bg-red-600 px-5 py-2.5 text-center text-sm font-medium text-white hover:bg-red-800 focus:outline-none focus:ring-4 focus:ring-red-300 dark:focus:ring-red-800"},"Yes, I'm sure"),(0,r.createElement)("button",{onClick:t,type:"button",className:"rounded-lg border border-gray-200 bg-white px-5 py-2.5 text-sm font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-900 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-200"},"No, cancel")))):null,Rr=({isOpen:e,onCancel:t})=>e?(0,r.createElement)("div",{className:"editx-delete-confirmation-modal"},(0,r.createElement)("div",{className:"modal-content"},(0,r.createElement)("h2",{className:"modal-title"},"This is Pro component"),(0,r.createElement)("p",{className:"modal-message"},"To use this component buy pro"),(0,r.createElement)("button",{className:"modal-button cancel-btn",onClick:t},"Cancel"))):null,Tr=(0,r.createContext)(void 0),Or=()=>{const e=(0,r.useContext)(Tr);if(!e)throw new Error("UseAlert must be used within a Provider");return e},Dr=({style:e,children:t})=>{const[n,a]=(0,r.useState)(!1),s=(0,r.useRef)(null),i=()=>{a(!1)},o=e=>{s.current&&!s.current.contains(e.target)&&i()};return(0,r.useEffect)(()=>(document.addEventListener("mousedown",o),()=>{document.removeEventListener("mousedown",o)})),(0,r.createElement)("div",{className:"editx-dropdown-row relative",ref:s,style:e},(0,r.createElement)("button",{className:"",type:"button",onClick:()=>{a(e=>!e)},title:"Actions"},(0,r.createElement)("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)("circle",{cx:"8",cy:"2.5",r:"1.5",fill:"currentColor"}),(0,r.createElement)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.createElement)("circle",{cx:"8",cy:"13.5",r:"1.5",fill:"currentColor"}))),(0,r.createElement)("ul",{onClick:i,className:`absolute z-[5] float-left border m-0 ${n?"":"hidden"} min-w-max list-none overflow-hidden rounded-lg bg-white bg-clip-padding text-left text-base shadow-lg [&[data-te-dropdown-show]]:block`},t))},Lr=({icon:e,hidden:t})=>{if(!e)return null;const n=t?"opacity-40":"opacity-70";return e.startsWith("http")||e.startsWith("data:")?(0,r.createElement)("img",{src:e,alt:"",width:16,height:16,className:`flex-shrink-0 ${n}`,style:{objectFit:"contain"}}):(0,r.createElement)("span",{className:`dashicons ${e} flex-shrink-0 ${n}`,style:{fontSize:16,width:16,height:16}})},Pr=()=>(0,r.createElement)("span",{className:"editx-drag-handle",title:"Drag to reorder"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16",width:16,height:16},(0,r.createElement)("circle",{cx:"5.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"13.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"13.5",r:"1.2"}))),Mr=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",width:13,height:13},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})),Ir=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:15,height:15},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})),Ar=({label:e,onClick:t,danger:n})=>(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium transition-colors "+(n?"text-red-600 hover:bg-red-50":"text-gray-700 hover:bg-gray-50"),onClick:t},e),Fr=({itemIndex:e,items:t,item:n,subitems:a,onOrderChange:s,itemExpand:i,onSelect:o,onHide:l,onDelete:c,itemNew:d,originalUrls:u})=>{const[h,m]=(0,r.useState)({subitemIndex:null}),{delConfirm:p}=Or();return(0,r.createElement)("div",{className:(i===n.url?"block":"hidden")+" px-3 pb-3"},(0,r.createElement)("div",{className:"space-y-1.5 mb-2"},a.map((n,i)=>{const d=!u.has(n.url);return(0,r.createElement)("div",{key:`${n.url}-${i}`,className:"flex justify-between items-center px-3 py-2.5 rounded-lg border cursor-grab transition-all "+(n.hidden?"border-amber-200 bg-amber-50/50":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>m({subitemIndex:i}),onDragOver:()=>(n=>{const r=h.subitemIndex;if(null===r||r===n)return;const i=Array.from(a),[o]=i.splice(r,1);i.splice(n,0,o);const l=Array.from(t);l[e].submenu=i,s(l),m({subitemIndex:n})})(i)},(0,r.createElement)("div",{className:"flex items-center gap-2 min-w-0"},(0,r.createElement)(Pr,null),(0,r.createElement)("span",{className:"text-sm truncate "+(n.hidden?"line-through text-gray-400":"text-gray-600 font-medium")},n.label),n.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),d&&(0,r.createElement)("span",{className:"text-xs font-semibold text-indigo-600 bg-indigo-50 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("custom","editx"))),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:(0,nr.__)("Edit","editx"),onClick:()=>o(e,i)}),(0,r.createElement)(Ar,{label:n.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>l(e,i)}),d&&(0,r.createElement)(Ar,{danger:!0,label:(0,nr.__)("Delete","editx"),onClick:()=>p(()=>c(e,i),void 0,(0,nr.__)("Delete this custom submenu item?","editx"))}))))})),!n.classes.includes("wp-menu-separator")&&(0,r.createElement)("button",{onClick:()=>d(e),className:"editx-btn-add",style:{marginTop:0}},(0,r.createElement)(Mr,null),(0,nr.__)("Add New Submenu","editx")))},jr=({items:e,defaultItems:t,onOrderChange:n,onSelect:a,onHide:s,onDelete:i,itemExpand:o,onItemExpand:l,itemNew:c})=>{const[d,u]=(0,r.useState)(null),{delConfirm:h}=Or(),m=(0,r.useMemo)(()=>new Set(t.map(e=>e.url)),[t]),p=e=>u(e),f=t=>{if(null===d||t===d)return;const r=Array.from(e),[a]=r.splice(d,1);r.splice(t,0,a),n(r),u(t)},y=(t,n)=>{(void 0!==n?e[t]?.submenu[n]?.hidden:e[t]?.hidden)?s(t,n):h(()=>s(t,n),void 0,(0,nr.__)("Are you sure you want to hide this item?","editx"))};return(0,r.createElement)("div",{className:"space-y-1.5"},e.map((t,s)=>{const d=t.classes?.includes("wp-menu-separator"),u=o===t.url,g=!m.has(t.url)&&!d;return d?(0,r.createElement)("div",{key:`${t.url}-${s}`,className:"flex items-center gap-2 px-2 py-2 rounded-lg border cursor-grab transition-all "+(t.hidden?"border-dashed border-amber-200 bg-amber-50/40":"border-dashed border-gray-200 bg-gray-50/60 hover:border-gray-300 hover:bg-gray-50"),draggable:!0,onDragStart:()=>p(s),onDragOver:()=>f(s)},(0,r.createElement)(Pr,null),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(t.hidden?"border-amber-300":"border-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold uppercase tracking-widest flex-shrink-0 px-1.5 "+(t.hidden?"text-amber-400":"text-gray-400")},(0,nr.__)("separator","editx")),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(t.hidden?"border-amber-300":"border-gray-300")}),t.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:t.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>y(s)})))):(0,r.createElement)("div",{key:`${t.url}-${s}`,className:"rounded-lg border transition-all cursor-grab "+(t.hidden?"border-amber-200 bg-amber-50/40":u?"border-indigo-200 bg-indigo-50/30":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>p(s),onDragOver:()=>f(s)},(0,r.createElement)("div",{className:"flex justify-between items-center px-3 py-2.5"},(0,r.createElement)("div",{className:"flex items-center gap-2 flex-1 min-w-0"},(0,r.createElement)(Pr,null),(0,r.createElement)(Lr,{icon:t.icon,hidden:t.hidden}),(0,r.createElement)("div",{className:"editx-menu-label text-sm font-medium truncate "+(t.hidden?"line-through text-gray-400":u?"text-indigo-700":"text-gray-700"),dangerouslySetInnerHTML:{__html:t.label}}),t.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("hidden","editx")),g&&(0,r.createElement)("span",{className:"text-xs font-semibold text-indigo-600 bg-indigo-50 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("custom","editx"))),(0,r.createElement)("div",{className:"flex items-center gap-0.5 flex-shrink-0"},(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)(Ar,{label:(0,nr.__)("Edit","editx"),onClick:()=>a(s)}),(0,r.createElement)(Ar,{label:t.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx"),onClick:()=>y(s)}),g&&(0,r.createElement)(Ar,{danger:!0,label:(0,nr.__)("Delete","editx"),onClick:()=>{return e=s,void h(()=>i(e,void 0),void 0,(0,nr.__)("Delete this custom menu item permanently?","editx"));var e}}))),(0,r.createElement)("button",{type:"button",onClick:()=>l(t.url),className:"flex items-center justify-center w-6 h-6 rounded-md transition-all ml-0.5 "+(u?"text-indigo-500 bg-indigo-100":"text-gray-400 hover:text-gray-600 hover:bg-gray-100"),style:{transform:u?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease, color 0.15s, background 0.15s"}},(0,r.createElement)(Ir,null)))),(0,r.createElement)(Fr,{itemIndex:s,items:e,item:t,subitems:t.submenu,itemExpand:o,onSelect:a,onHide:y,onDelete:i,onOrderChange:n,itemNew:c,originalUrls:m}))}),(0,r.createElement)("button",{onClick:()=>c(null),className:"editx-btn-add"},(0,r.createElement)(Mr,null),(0,nr.__)("Add New Menu","editx")))},Ur=["dashicons-menu","dashicons-menu-alt","dashicons-menu-alt2","dashicons-menu-alt3","dashicons-admin-site","dashicons-admin-site-alt","dashicons-admin-site-alt2","dashicons-admin-site-alt3","dashicons-dashboard","dashicons-admin-post","dashicons-admin-media","dashicons-admin-links","dashicons-admin-page","dashicons-admin-comments","dashicons-admin-appearance","dashicons-admin-plugins","dashicons-plugins-checked","dashicons-admin-users","dashicons-admin-tools","dashicons-admin-settings","dashicons-admin-network","dashicons-admin-generic","dashicons-admin-home","dashicons-admin-collapse","dashicons-filter","dashicons-admin-customizer","dashicons-admin-multisite","dashicons-welcome-write-blog","dashicons-welcome-add-page","dashicons-welcome-view-site","dashicons-welcome-widgets-menus","dashicons-welcome-comments","dashicons-welcome-learn-more","dashicons-format-aside","dashicons-format-image","dashicons-format-gallery","dashicons-format-video","dashicons-format-status","dashicons-format-quote","dashicons-format-chat","dashicons-format-audio","dashicons-camera","dashicons-camera-alt","dashicons-images-alt","dashicons-images-alt2","dashicons-video-alt","dashicons-video-alt2","dashicons-video-alt3","dashicons-media-archive","dashicons-media-audio","dashicons-media-code","dashicons-media-default","dashicons-media-document","dashicons-media-interactive","dashicons-media-spreadsheet","dashicons-media-text","dashicons-media-video","dashicons-playlist-audio","dashicons-playlist-video","dashicons-controls-play","dashicons-controls-pause","dashicons-controls-forward","dashicons-controls-skipforward","dashicons-controls-back","dashicons-controls-skipback","dashicons-controls-repeat","dashicons-controls-volumeon","dashicons-controls-volumeoff","dashicons-yes","dashicons-yes-alt","dashicons-no","dashicons-no-alt","dashicons-plus","dashicons-plus-alt","dashicons-plus-alt2","dashicons-minus","dashicons-dismiss","dashicons-marker","dashicons-star-filled","dashicons-star-half","dashicons-star-empty","dashicons-flag","dashicons-warning","dashicons-translation","dashicons-location","dashicons-location-alt","dashicons-vault","dashicons-shield","dashicons-shield-alt","dashicons-sos","dashicons-search","dashicons-lock","dashicons-unlock","dashicons-key","dashicons-slides","dashicons-analytics","dashicons-chart-pie","dashicons-chart-bar","dashicons-chart-line","dashicons-chart-area","dashicons-groups","dashicons-businessman","dashicons-businesswoman","dashicons-businessperson","dashicons-id","dashicons-id-alt","dashicons-nametag","dashicons-universal-access","dashicons-universal-access-alt","dashicons-products","dashicons-awards","dashicons-forms","dashicons-testimonial","dashicons-portfolio","dashicons-book","dashicons-book-alt","dashicons-download","dashicons-upload","dashicons-backup","dashicons-clock","dashicons-lightbulb","dashicons-microphone","dashicons-desktop","dashicons-laptop","dashicons-tablet","dashicons-smartphone","dashicons-phone","dashicons-smiley","dashicons-index-card","dashicons-carrot","dashicons-building","dashicons-store","dashicons-album","dashicons-palmtree","dashicons-tickets-alt","dashicons-tickets","dashicons-money","dashicons-money-alt","dashicons-thumbs-up","dashicons-thumbs-down","dashicons-layout","dashicons-paperclip","dashicons-printer","dashicons-globe","dashicons-list-view","dashicons-grid-view","dashicons-move","dashicons-hammer","dashicons-art","dashicons-migrate","dashicons-performance","dashicons-clipboard","dashicons-heart","dashicons-megaphone","dashicons-schedule","dashicons-hourglass","dashicons-coffee","dashicons-games","dashicons-airplane","dashicons-car","dashicons-bike","dashicons-calculator","dashicons-wordpress","dashicons-wordpress-alt","dashicons-pressthis","dashicons-update","dashicons-update-alt","dashicons-screenoptions","dashicons-info","dashicons-info-outline","dashicons-cart","dashicons-feedback","dashicons-cloud","dashicons-visibility","dashicons-hidden","dashicons-randomize","dashicons-database","dashicons-database-add","dashicons-database-export","dashicons-database-import","dashicons-database-remove","dashicons-database-view","dashicons-saved","dashicons-open-folder","dashicons-pdf","dashicons-text","dashicons-insert","dashicons-remove","dashicons-split","dashicons-post-status","dashicons-sticky","dashicons-align-full-width","dashicons-align-pull-left","dashicons-align-pull-right","dashicons-align-wide","dashicons-block-default","dashicons-button","dashicons-color-picker","dashicons-columns","dashicons-cover-image","dashicons-editor-aligncenter","dashicons-editor-alignleft","dashicons-editor-alignright","dashicons-editor-bold","dashicons-editor-break","dashicons-editor-code","dashicons-editor-contract","dashicons-editor-customchar","dashicons-editor-expand","dashicons-editor-help","dashicons-editor-indent","dashicons-editor-insertmore","dashicons-editor-italic","dashicons-editor-justify","dashicons-editor-kitchensink","dashicons-editor-ltr","dashicons-editor-ol","dashicons-editor-ol-rtl","dashicons-editor-outdent","dashicons-editor-paragraph","dashicons-editor-paste-text","dashicons-editor-paste-word","dashicons-editor-quote","dashicons-editor-removeformatting","dashicons-editor-rtl","dashicons-editor-spellcheck","dashicons-editor-strikethrough","dashicons-editor-table","dashicons-editor-textcolor","dashicons-editor-ul","dashicons-editor-underline","dashicons-editor-unlink","dashicons-editor-video","dashicons-image-crop","dashicons-image-filter","dashicons-image-flip-horizontal","dashicons-image-flip-vertical","dashicons-image-rotate","dashicons-image-rotate-left","dashicons-image-rotate-right","dashicons-fullscreen-alt","dashicons-fullscreen-exit-alt","dashicons-email","dashicons-email-alt","dashicons-email-alt2","dashicons-rss","dashicons-twitter","dashicons-twitter-alt","dashicons-facebook","dashicons-facebook-alt","dashicons-facebook-alt2","dashicons-google","dashicons-linkedin","dashicons-networking","dashicons-whatsapp","dashicons-amazon","dashicons-instagram","dashicons-reddit","dashicons-spotify","dashicons-twitch","dashicons-tiktok","dashicons-youtube","dashicons-pinterest","dashicons-arrow-left","dashicons-arrow-right","dashicons-arrow-up","dashicons-arrow-down","dashicons-arrow-left-alt","dashicons-arrow-right-alt","dashicons-arrow-up-alt","dashicons-arrow-down-alt","dashicons-arrow-left-alt2","dashicons-arrow-right-alt2","dashicons-arrow-up-alt2","dashicons-arrow-down-alt2","dashicons-sort","dashicons-leftright","dashicons-undo","dashicons-redo","dashicons-trash","dashicons-edit","dashicons-tag","dashicons-category","dashicons-archive","dashicons-excerpt","dashicons-external","dashicons-embed-generic"],qr=({value:e,onChange:t})=>{const[n,a]=(0,r.useState)(!1),[s,i]=(0,r.useState)(""),o=(0,r.useRef)(null),l=(0,r.useMemo)(()=>{const e=s.trim().toLowerCase();return e?Ur.filter(t=>t.includes(e)):Ur},[s]);(0,r.useEffect)(()=>{const e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const c=!!e&&(e.startsWith("http")||e.startsWith("data:"));return(0,r.createElement)("div",{ref:o},(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("div",{className:"flex items-center justify-center w-9 h-9 rounded-lg border border-gray-200 bg-gray-50 flex-shrink-0"},e?c?(0,r.createElement)("img",{src:e,alt:"",className:"w-5 h-5 object-contain"}):(0,r.createElement)("span",{className:`dashicons ${e}`,style:{fontSize:18,width:18,height:18}}):(0,r.createElement)("span",{className:"text-gray-300 text-xs"},"—")),(0,r.createElement)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"dashicons-admin-generic",className:"editx-input flex-1"}),(0,r.createElement)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex-shrink-0 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 bg-white text-gray-600 hover:bg-gray-50 transition-colors"},n?(0,nr.__)("Close","editx"):(0,nr.__)("Browse","editx"))),n&&(0,r.createElement)("div",{className:"mt-1.5 border border-gray-200 rounded-lg bg-white overflow-hidden"},(0,r.createElement)("div",{className:"p-2 border-b border-gray-100"},(0,r.createElement)("input",{type:"search",autoFocus:!0,value:s,onChange:e=>i(e.target.value),placeholder:(0,nr.__)("Search icons…","editx"),className:"editx-input !py-1 text-sm"})),(0,r.createElement)("div",{className:"overflow-y-auto p-2",style:{maxHeight:196}},l.length>0?(0,r.createElement)("div",{className:"flex flex-wrap gap-1"},l.map(n=>(0,r.createElement)("button",{key:n,type:"button",title:n.replace("dashicons-",""),onClick:()=>(e=>{t(e),a(!1),i("")})(n),className:"flex items-center justify-center w-8 h-8 rounded-md transition-colors "+(e===n?"bg-indigo-100 ring-1 ring-indigo-400 text-indigo-600":"text-gray-600 hover:bg-gray-100")},(0,r.createElement)("span",{className:`dashicons ${n}`,style:{fontSize:18,width:18,height:18}})))):(0,r.createElement)("p",{className:"text-center text-gray-400 text-xs py-6"},(0,nr.__)("No icons found","editx"))),(0,r.createElement)("div",{className:"px-2 py-2 border-t border-gray-100"},(0,r.createElement)("button",{type:"button",onClick:()=>{if(!window.wp?.media)return;const e=window.wp.media({title:(0,nr.__)("Select Icon Image","editx"),button:{text:(0,nr.__)("Use this image","editx")},multiple:!1,library:{type:"image"}});e.on("select",()=>{const n=e.state().get("selection").first().toJSON();t(n.url),a(!1),i("")}),e.open()},className:"w-full text-xs font-medium py-1.5 px-3 rounded-md border border-gray-300 text-gray-600 hover:bg-gray-50 transition-colors"},(0,nr.__)("Upload / Choose from Media Library","editx")))))},$r=[{label:"Super Admin",value:"super_admin"},{label:"Administrator",value:"administrator"},{label:"Editor",value:"editor"},{label:"Author",value:"author"},{label:"Contributor",value:"contributor"},{label:"Subscriber",value:"subscriber"}],Qr=[{label:"General",caps:["read","manage_options","edit_dashboard","customize","export","import"]},{label:"Posts",caps:["edit_posts","edit_others_posts","edit_private_posts","edit_published_posts","publish_posts","delete_posts","delete_others_posts","delete_private_posts","delete_published_posts","read_private_posts"]},{label:"Pages",caps:["edit_pages","edit_others_pages","edit_private_pages","edit_published_pages","publish_pages","delete_pages","delete_others_pages","delete_private_pages","delete_published_pages","read_private_pages"]},{label:"Content",caps:["manage_categories","manage_links","moderate_comments","edit_comment","upload_files","unfiltered_upload","unfiltered_html"]},{label:"Plugins",caps:["activate_plugins","install_plugins","update_plugins","delete_plugins","edit_plugins","upload_plugins"]},{label:"Themes",caps:["switch_themes","install_themes","update_themes","delete_themes","edit_themes","edit_theme_options","upload_themes","edit_files"]},{label:"Users",caps:["list_users","create_users","add_users","edit_users","promote_users","remove_users","delete_users"]},{label:"Site",caps:["update_core","delete_site"]},{label:"Multisite",caps:["manage_network","manage_sites","manage_network_users","manage_network_plugins","manage_network_themes","manage_network_options","create_sites","delete_sites","upgrade_network","setup_network"]}],Br=({value:e,onChange:t})=>{const[n,a]=(0,r.useState)(!1),s=(0,r.useRef)(null);(0,r.useEffect)(()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const i=e=>{t(e),a(!1)};return(0,r.createElement)("div",{ref:s},(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"manage_options",className:"editx-input flex-1"}),(0,r.createElement)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex-shrink-0 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 bg-white text-gray-600 hover:bg-gray-50 transition-colors"},n?(0,nr.__)("Close","editx"):(0,nr.__)("Select","editx"))),n&&(0,r.createElement)("div",{className:"mt-1.5 border border-gray-200 rounded-lg bg-white overflow-hidden"},(0,r.createElement)("div",{className:"px-3 py-2.5 border-b border-gray-100"},(0,r.createElement)("p",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2"},(0,nr.__)("Roles","editx")),(0,r.createElement)("div",{className:"flex flex-wrap gap-1.5"},$r.map(t=>(0,r.createElement)("button",{key:t.value,type:"button",onClick:()=>i(t.value),className:"px-2.5 py-1 text-xs font-medium rounded-full border transition-colors "+(e===t.value?"bg-indigo-600 text-white border-indigo-600":"bg-white text-gray-700 border-gray-300 hover:bg-indigo-50 hover:border-indigo-300")},t.label)))),(0,r.createElement)("div",{className:"overflow-y-auto",style:{maxHeight:200}},Qr.map(t=>(0,r.createElement)("div",{key:t.label,className:"px-3 py-2 border-t border-gray-100 first:border-t-0"},(0,r.createElement)("p",{className:"text-xs font-semibold text-gray-400 uppercase tracking-wider mb-1"},t.label),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-0.5"},t.caps.map(t=>(0,r.createElement)("button",{key:t,type:"button",onClick:()=>i(t),className:"text-left px-2 py-1 text-xs font-mono rounded transition-colors "+(e===t?"bg-indigo-50 text-indigo-700 font-semibold":"text-gray-600 hover:bg-gray-50")},t))))))))};function Hr({content:e,children:t,position:n="bottom",className:s=""}){const[i,o]=(0,a.useState)(!1),l=(0,a.useRef)(null),[c,d]=(0,a.useState)({top:0,left:0});return(0,a.useEffect)(()=>{if(!i||!l.current)return;const e=()=>{if(!l.current)return;const e=l.current.getBoundingClientRect();let t=0,r=0;switch(n){case"top":t=e.top-8,r=e.left+e.width/2;break;case"right":t=e.top+e.height/2,r=e.right+8;break;case"bottom":t=e.bottom+8,r=e.left+e.width/2;break;case"left":t=e.top+e.height/2,r=e.left-8}d({top:t,left:r})};return e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[i,n]),(0,r.createElement)("div",{ref:l,className:`relative inline-block ${s}`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1)},t,i&&(0,a.createPortal)((0,r.createElement)("div",{style:(()=>{const e={position:"fixed",top:`${c.top}px`,left:`${c.left}px`,zIndex:99999,padding:"0.5rem 0.75rem",backgroundColor:"#111827",color:"#ffffff",fontSize:"0.75rem",lineHeight:1.5,borderRadius:"0.375rem",boxShadow:"0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1)",maxWidth:"16rem",whiteSpace:"normal"};switch(n){case"top":return{...e,transform:"translate(-50%, -100%)"};case"right":return{...e,transform:"translateY(-50%)"};case"bottom":return{...e,transform:"translateX(-50%)"};case"left":return{...e,transform:"translate(-100%, -50%)"}}})(),onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1)},(0,r.createElement)("div",{style:(()=>{const e={position:"absolute",width:0,height:0};switch(n){case"top":return{...e,bottom:"-0.375rem",left:"50%",transform:"translateX(-50%)",borderLeft:"0.375rem solid transparent",borderRight:"0.375rem solid transparent",borderTop:"0.375rem solid #111827"};case"right":return{...e,left:"-0.375rem",top:"50%",transform:"translateY(-50%)",borderTop:"0.375rem solid transparent",borderBottom:"0.375rem solid transparent",borderRight:"0.375rem solid #111827"};case"bottom":return{...e,top:"-0.375rem",left:"50%",transform:"translateX(-50%)",borderLeft:"0.375rem solid transparent",borderRight:"0.375rem solid transparent",borderBottom:"0.375rem solid #111827"};case"left":return{...e,right:"-0.375rem",top:"50%",transform:"translateY(-50%)",borderTop:"0.375rem solid transparent",borderBottom:"0.375rem solid transparent",borderLeft:"0.375rem solid #111827"}}})()}),e),document.body))}const zr=({text:e})=>(0,r.createElement)(Hr,{content:e,position:"top"},(0,r.createElement)("span",{className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-full bg-blue-500 text-white cursor-help select-none ml-1 align-middle",style:{fontSize:9,fontWeight:700,lineHeight:1}},"i")),Wr=({htmlFor:e,label:t,tooltip:n})=>(0,r.createElement)("label",{htmlFor:e,className:"editx-input-label flex items-center"},t,(0,r.createElement)(zr,{text:n})),Kr=({isNew:e,data:t,defaultItems:n,onSave:a,onClose:s})=>{const[i,o]=(0,r.useState)(t);(0,r.useEffect)(()=>{o(t)},[t]);const l=e=>{const{name:t,value:n}=e.target;o(e=>({...e,[t]:n}))},c=!("submenu"in t),d=e?(0,nr.__)("Add New Menu","editx"):(0,nr.__)("Edit Menu","editx"),u=e?(0,nr.__)("Save","editx"):(0,nr.__)("Apply","editx");return(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("div",{className:"flex items-center justify-between rounded-t border-b p-3"},(0,r.createElement)("h3",{className:"text-lg font-semibold text-gray-900"},d),(0,r.createElement)("button",{type:"button",className:"end-2.5 ms-auto inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900",onClick:s},(0,r.createElement)("svg",{className:"h-3 w-3","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})))),(0,r.createElement)("form",{onSubmit:e=>{e.preventDefault(),a(i)},className:"p-5 overflow-y-auto",style:{maxHeight:"calc(90vh - 120px)"}},(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"label",label:(0,nr.__)("Label:","editx"),tooltip:(0,nr.__)("The text shown in the admin sidebar. Leave blank to keep the original. HTML is allowed — e.g. add a notification badge.","editx")}),(0,r.createElement)("input",{type:"text",id:"label",name:"label",value:i.label,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"target_page",label:(0,nr.__)("Target Page:","editx"),tooltip:(0,nr.__)("Link this item to an existing WordPress admin page. Selecting one auto-fills the URL field below.","editx")}),(0,r.createElement)("select",{id:"target_page",value:i.url,onChange:e=>o(t=>({...t,url:e.target.value})),className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),n.map((e,t)=>(0,r.createElement)("option",{key:t,value:e.url,className:e.isSubmenu?"":"font-bold"},e.isSubmenu&&"- ",e.label))))),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"url",label:(0,nr.__)("URL:","editx"),tooltip:(0,nr.__)("The destination URL for this menu item. Can be a relative admin path (admin.php?page=...) or a full URL (https://...).","editx")}),(0,r.createElement)("input",{type:"text",id:"url",name:"url",value:i.url,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"open_in",label:(0,nr.__)("Open In:","editx"),tooltip:(0,nr.__)("Choose whether clicking this menu item opens the link in the same tab or a new browser window.","editx")}),(0,r.createElement)("select",{id:"open_in",name:"open_in",value:i.open_in,onChange:l,className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Same window or tab","editx")),(0,r.createElement)("option",{value:"blank"},(0,nr.__)("New window","editx"))))),!c&&(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)(Wr,{label:(0,nr.__)("Icon:","editx"),tooltip:(0,nr.__)("A Dashicons class (e.g. dashicons-admin-users) or a full image URL. Only visible on top-level menu items.","editx")}),(0,r.createElement)(qr,{value:i.icon,onChange:e=>o(t=>({...t,icon:e}))})),(0,r.createElement)("div",{className:"mb-3"},(0,r.createElement)(Wr,{label:(0,nr.__)("Permission:","editx"),tooltip:(0,nr.__)('The WordPress capability or role a user must have to see this menu item. Use "read" for all logged-in users, or "manage_options" for admins only.',"editx")}),(0,r.createElement)(Br,{value:i.capability,onChange:e=>o(t=>({...t,capability:e}))})),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-3"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"classes",label:(0,nr.__)("Classes:","editx"),tooltip:(0,nr.__)("Extra CSS class names added to the menu item's <li> element. Separate multiple classes with a space.","editx")}),(0,r.createElement)("input",{type:"text",id:"classes",name:"classes",value:i.classes,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"id",label:(0,nr.__)("ID:","editx"),tooltip:(0,nr.__)("The HTML id attribute applied to the menu item's <li> element. Must be unique across the page.","editx")}),(0,r.createElement)("input",{type:"text",id:"id",name:"id",value:i.id,onChange:l,className:"editx-input"}))),(0,r.createElement)("div",{className:"grid grid-cols-2 gap-4 mb-4"},(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"page_title",label:(0,nr.__)("Page Title:","editx"),tooltip:(0,nr.__)("Text shown in the browser tab <title> when this admin page is open. Defaults to the menu label if left blank.","editx")}),(0,r.createElement)("input",{type:"text",id:"page_title",name:"page_title",value:i.page_title,onChange:l,className:"editx-input"})),(0,r.createElement)("div",null,(0,r.createElement)(Wr,{htmlFor:"window_title",label:(0,nr.__)("Window Title:","editx"),tooltip:(0,nr.__)('An alternative title shown in the browser window title bar. Overrides the default "Page Title — Site Name" format.',"editx")}),(0,r.createElement)("input",{type:"text",id:"window_title",name:"window_title",value:i.window_title,onChange:l,className:"editx-input"}))),(0,r.createElement)("button",{type:"submit",className:"editx-submit"},u))))},Vr=({groups:e,value:t,onChange:n})=>(0,r.createElement)("select",{value:t,onChange:e=>{const t=e.target.value;n(t)},className:"editx-input",style:{width:120}},!t&&(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),e.map(e=>(0,r.createElement)("optgroup",{key:e.label,label:e.label},e.options.map(e=>(0,r.createElement)("option",{key:e.value,value:e.value},e.label))))),Gr=()=>(0,r.createElement)("span",{className:"editx-drag-handle",title:"Drag to reorder"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16",width:16,height:16},(0,r.createElement)("circle",{cx:"5.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"2.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"8",r:"1.2"}),(0,r.createElement)("circle",{cx:"5.5",cy:"13.5",r:"1.2"}),(0,r.createElement)("circle",{cx:"10.5",cy:"13.5",r:"1.2"}))),Yr=({items:e,onChange:t,onSelect:n,onDelete:a,onPermanentDelete:s})=>{const[i,o]=(0,r.useState)(null),{delConfirm:l}=Or();return(0,r.createElement)("div",{className:"space-y-1.5"},e.map((c,d)=>{const u=c.id.startsWith("editx_custom_");return(0,r.createElement)("div",{key:c.id,className:"flex justify-between items-center rounded-lg border px-3 py-2.5 cursor-grab transition-all "+(c.hidden?"border-amber-200 bg-amber-50/40":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"),draggable:!0,onDragStart:()=>(e=>o(e))(d),onDragOver:()=>(n=>{if(null===i||n===i)return;const r=Array.from(e),[a]=r.splice(i,1);r.splice(n,0,a),t(r),o(n)})(d)},(0,r.createElement)("div",{className:"flex items-center gap-2 min-w-0 flex-1"},(0,r.createElement)(Gr,null),(0,r.createElement)("div",{className:"text-sm font-medium truncate "+(c.hidden?"line-through text-gray-400":"text-gray-700"),dangerouslySetInnerHTML:{__html:c.label}}),c.hidden&&(0,r.createElement)("span",{className:"text-xs font-semibold text-amber-600 bg-amber-100 px-1.5 py-0.5 rounded flex-shrink-0"},"hidden"),u&&(0,r.createElement)("span",{className:"text-xs font-semibold text-indigo-600 bg-indigo-50 px-1.5 py-0.5 rounded flex-shrink-0"},(0,nr.__)("custom","editx"))),(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>n(d)},(0,nr.__)("Edit","editx")),(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>(t=>{e[t].hidden?a(t):l(()=>a(t),void 0,"Are you sure you want to hide this column?")})(d)},c.hidden?(0,nr.__)("Unhide","editx"):(0,nr.__)("Hide","editx")),u&&(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-red-600 hover:bg-red-50 transition-colors",onClick:()=>l(()=>s(d),void 0,(0,nr.__)("Delete this custom column permanently?","editx"))},(0,nr.__)("Delete","editx")))))}))},Xr=["post_meta","user_meta","comment_meta"],Jr=["taxonomy"],Zr=({data:e,isNew:t,onSave:n,onClose:a,columnTypes:s=[],metaKeys:i=[],taxonomies:o=[]})=>{var l,c,d,u,h;const[m,p]=(0,r.useState)(e);(0,r.useEffect)(()=>{p(e)},[e]);const f=e=>{const{name:n,value:r}=e.target;p("label"===n&&t?e=>{return{...e,label:r,id:`editx_custom_${t=r,t.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/[\s]+/g,"-")}`};var t}:e=>({...e,[n]:r}))},y=(e,t)=>{p(n=>{var r;return{...n,column_settings:{...null!==(r=n.column_settings)&&void 0!==r?r:{},[e]:t}}})},g="custom"===e.type,v=Xr.includes(null!==(l=m.column_type)&&void 0!==l?l:""),b=Jr.includes(null!==(c=m.column_type)&&void 0!==c?c:""),x=t?(0,nr.__)("Add Custom Column","editx"):(0,nr.__)("Edit Column","editx"),w=t?(0,nr.__)("Save","editx"):(0,nr.__)("Apply","editx");return(0,r.createElement)("div",{className:"editx-popup-overlay"},(0,r.createElement)("div",{className:"editx-popup-content"},(0,r.createElement)("div",{className:"flex items-center justify-between rounded-t border-b p-3"},(0,r.createElement)("h3",{className:"text-lg font-semibold text-gray-900"},x),(0,r.createElement)("button",{type:"button",className:"inline-flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900",onClick:a},(0,r.createElement)("svg",{className:"h-3 w-3",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},(0,r.createElement)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"})))),(0,r.createElement)("form",{onSubmit:e=>{e.preventDefault(),n(m)},className:"p-5 space-y-4"},(0,r.createElement)("div",null,(0,r.createElement)("label",{htmlFor:"label",className:"editx-input-label"},(0,nr.__)("Label","editx")),(0,r.createElement)("input",{type:"text",id:"label",name:"label",value:m.label,onChange:f,className:"block w-full editx-input"})),s.length>0&&(0,r.createElement)("div",null,(0,r.createElement)("label",{htmlFor:"column_type",className:"editx-input-label"},(0,nr.__)("Column Type","editx")),(0,r.createElement)("select",{id:"column_type",name:"column_type",value:null!==(d=m.column_type)&&void 0!==d?d:"",onChange:e=>{p(t=>({...t,column_type:e.target.value,column_settings:{}}))},className:"block w-full editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("— Select type —","editx")),s.map(e=>(0,r.createElement)("option",{key:e.value,value:e.value},e.label)))),v&&(0,r.createElement)("div",null,(0,r.createElement)("label",{htmlFor:"meta_key",className:"editx-input-label"},(0,nr.__)("Meta Key","editx")),(0,r.createElement)("input",{type:"text",id:"meta_key",list:"editx-meta-keys",value:null!==(u=m.column_settings?.meta_key)&&void 0!==u?u:"",onChange:e=>y("meta_key",e.target.value),className:"block w-full editx-input font-mono text-sm",placeholder:(0,nr.__)("e.g. _price","editx")}),i.length>0&&(0,r.createElement)("datalist",{id:"editx-meta-keys"},i.map(e=>(0,r.createElement)("option",{key:e,value:e}))),i.length>0&&(0,r.createElement)("p",{className:"mt-1 text-xs text-gray-400"},(0,nr.__)("Start typing or pick from existing keys.","editx"))),b&&(0,r.createElement)("div",null,(0,r.createElement)("label",{htmlFor:"taxonomy",className:"editx-input-label"},(0,nr.__)("Taxonomy","editx")),o.length>0?(0,r.createElement)("select",{id:"taxonomy",value:null!==(h=m.column_settings?.taxonomy)&&void 0!==h?h:"",onChange:e=>y("taxonomy",e.target.value),className:"block w-full editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("— Select taxonomy —","editx")),o.map(e=>(0,r.createElement)("option",{key:e.value,value:e.value},e.label))):(0,r.createElement)("p",{className:"text-sm text-gray-400"},(0,nr.__)("No taxonomies available for this post type.","editx"))),g&&(0,r.createElement)("div",null,(0,r.createElement)("label",{htmlFor:"col-id",className:"editx-input-label"},(0,nr.__)("Column Class","editx")),(0,r.createElement)("input",{type:"text",id:"col-id",name:"id",value:m.id,onChange:f,className:"block w-full editx-input font-mono text-sm"}),(0,r.createElement)("p",{className:"mt-1 text-xs text-gray-400"},(0,nr.__)("Used as the column CSS class. Auto-generated from label.","editx"))),(0,r.createElement)("div",null,(0,r.createElement)("label",{className:"editx-input-label"},(0,nr.__)("Width","editx")),(0,r.createElement)("div",{className:"flex gap-2"},(0,r.createElement)("input",{type:"number",id:"width",name:"width",min:"0",value:m.width,onChange:f,className:"editx-input",style:{width:90},placeholder:"auto"}),(0,r.createElement)("select",{id:"width_unit",name:"width_unit",value:m.width_unit,onChange:f,className:"editx-input",style:{width:70}},(0,r.createElement)("option",{value:"%"},"%"),(0,r.createElement)("option",{value:"px"},"px")))),(0,r.createElement)("button",{type:"submit",className:"editx-submit"},w))))},ea={loading:!0,screens:[],items:[],itemsDefault:[],itemNew:null,selectedItem:null},ta=(e,t)=>{switch(t.type){case"set_loading":return{...e,loading:t.payload};case"set_screens":return{...e,screens:t.payload};case"set_items":return{...e,items:t.payload};case"set_items_default":return{...e,itemsDefault:t.payload};case"set_item_new":return{...e,itemNew:t.payload};case"set_item_select":return{...e,selectedItem:t.payload};default:return e}};function na(e){const t=(window.ajaxurl||"").replace("admin-ajax.php","");return"wp_media"===e?`${t}upload.php`:"wp_comments"===e?`${t}edit-comments.php`:"wp_users"===e?`${t}users.php`:"post"===e?`${t}edit.php`:`${t}edit.php?post_type=${e}`}const ra=()=>{const{id:e="post"}=On(),t=Tn(),n=o(),[a,s]=(0,r.useReducer)(ta,ea),{loading:i,screens:l,items:c,itemsDefault:d,itemNew:u,selectedItem:h}=a,[m,p]=(0,r.useState)(!1),[f,y]=(0,r.useState)([]),[g,v]=(0,r.useState)([]),[b,x]=(0,r.useState)([]),{data:w}=mr({queryKey:["admin-columns",{id:e}],queryFn:()=>Er("admin-columns/"+e)});(0,r.useEffect)(()=>{s({type:"set_loading",payload:!0}),s({type:"set_items",payload:[]}),s({type:"set_items_default",payload:[]}),y([]),v([]),x([])},[e]);const E=(0,r.useCallback)(async e=>{p(!0);const t=await async function(e){const t=window.ajaxurl||"",n=window.editxParams?.nonce||"";if(!t)return[];const r=na(e),a=r.includes("?")?"&":"?";try{await fetch(`${r}${a}editx_save_defaults=1`,{credentials:"same-origin"})}catch{}const s=`${t}?action=editx_screen_columns&id=${encodeURIComponent(e)}&nonce=${encodeURIComponent(n)}`,i=await fetch(s,{credentials:"same-origin"});if(!i.ok)return[];const o=await i.json();return o?.success?o.data:[]}(e);s({type:"set_items_default",payload:t}),p(!1)},[]);(0,r.useEffect)(()=>{var t,n,r;w&&(s({type:"set_screens",payload:w.screens}),s({type:"set_items",payload:w.columns}),y(null!==(t=w.column_types)&&void 0!==t?t:[]),v(null!==(n=w.meta_keys)&&void 0!==n?n:[]),x(null!==(r=w.taxonomies)&&void 0!==r?r:[]),s({type:"set_loading",payload:!1}),E(e))},[w,e,E]),(0,r.useEffect)(()=>{d.length>0&&0===c.length&&!i&&s({type:"set_items",payload:d})},[d,c.length,i]);const _=e=>{s({type:"set_item_select",payload:e})},k=fr({mutationFn:()=>_r("admin-columns",e,{admin_column:a.items}),onSuccess:()=>{Le.success((0,nr.__)("Successfully Updated","editx")),n.invalidateQueries({queryKey:["admin-columns"]})}}),C=fr({mutationFn:()=>kr("admin-columns",e),onSuccess:()=>{Le.success((0,nr.__)("Columns reset to default","editx")),n.invalidateQueries({queryKey:["admin-columns"]})}}),S=d.filter(e=>!c.some(t=>t.id===e.id&&!t.hidden)),N={columnTypes:f,metaKeys:g,taxonomies:b};return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Admin Column Editor","editx")},!i&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:()=>k.mutate(),className:"editx-submit"},(0,nr.__)("Save Changes","editx")),(0,r.createElement)("button",{onClick:()=>C.mutate(),className:"editx-btn-secondary ml-2"},(0,nr.__)("Reset to Default","editx")))),(0,r.createElement)(vr,null,i&&(0,r.createElement)(yr,null),(0,r.createElement)("div",{className:"editx-admin-columns"},!i&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"mb-5 flex items-center justify-between gap-4 bg-white rounded-xl border border-gray-100 px-4 py-3 shadow-sm"},(0,r.createElement)("div",{className:"flex items-center gap-3"},(0,r.createElement)("span",{className:"text-xs font-semibold text-gray-400 uppercase tracking-wide whitespace-nowrap"},(0,nr.__)("Screen","editx")),(0,r.createElement)(Vr,{groups:l,value:e,onChange:e=>{e&&t(`/admin-column-editor/${e}`)}})),(0,r.createElement)("a",{href:(R=e,na(R)),target:"_blank",rel:"noopener noreferrer",className:"flex-shrink-0 text-sm font-medium text-blue-600 bg-blue-50 hover:bg-blue-100 px-3 py-1.5 rounded-lg transition-colors",style:{textDecoration:"none"}},`${(0,nr.__)("View","editx")} ${(e=>{for(const t of l){const n=t.options.find(t=>t.value===e);if(n)return n.label}})(e)} ↗`)),(0,r.createElement)("div",{className:"flex gap-5"},(0,r.createElement)("div",{className:"flex-1 min-w-0"},(0,r.createElement)("div",{className:"mb-2 text-xs font-semibold text-gray-400 uppercase tracking-wide"},(0,nr.__)("Active Columns","editx")),m&&0===c.length?(0,r.createElement)(yr,null):(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Yr,{items:c,onChange:e=>{s({type:"set_items",payload:e})},onSelect:_,onDelete:e=>{const t=[...a.items];t[e]={...t[e],hidden:!t[e].hidden},s({type:"set_items",payload:t})},onPermanentDelete:e=>{const t=[...a.items];t.splice(e,1),s({type:"set_items",payload:t})}}),(0,r.createElement)("button",{onClick:()=>{s({type:"set_item_new",payload:{id:"editx_custom_",type:"custom",label:"",width:"",width_unit:"%",column_type:"",column_settings:{}}}),_(null)},className:"editx-btn-add mt-2"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",width:13,height:13},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})),(0,nr.__)("Add Custom Column","editx")))),S.length>0&&(0,r.createElement)("div",{className:"w-56 flex-shrink-0"},(0,r.createElement)("div",{className:"mb-2 text-xs font-semibold text-gray-400 uppercase tracking-wide"},(0,nr.__)("Available Columns","editx")),(0,r.createElement)("div",{className:"space-y-1.5"},S.map(e=>(0,r.createElement)("div",{key:e.id,className:"flex items-center justify-between rounded-lg border border-gray-200 bg-white px-3 py-2.5"},(0,r.createElement)("span",{className:"text-sm text-gray-600 truncate flex-1",dangerouslySetInnerHTML:{__html:e.label}}),(0,r.createElement)("button",{onClick:()=>(e=>{const t=c.findIndex(t=>t.id===e.id);if(t>=0){const e=[...c];e[t]={...e[t],hidden:!1},s({type:"set_items",payload:e})}else s({type:"set_items",payload:[...c,{...e,hidden:!1}]})})(e),className:"ml-2 flex-shrink-0 text-blue-500 hover:text-blue-700 transition-colors",title:(0,nr.__)("Add column","editx")},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",width:14,height:14},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4.5v15m7.5-7.5h-15"})))))))),u&&(0,r.createElement)(Zr,{isNew:!0,data:u,onSave:e=>{s({type:"set_items",payload:[...c,e]}),s({type:"set_item_new",payload:null})},onClose:()=>s({type:"set_item_new",payload:null}),...N}),null!==h&&c[h]&&(0,r.createElement)(Zr,{data:c[h],onSave:e=>{if(null!==h){const t=[...a.items];t[h]=e,s({type:"set_items",payload:t})}_(null)},onClose:()=>_(null),...N})))));var R},aa={items:[],selectedItems:[],selectAll:!1,loading:!0},sa=(e,t)=>{switch(t.type){case"set_items":return{...e,items:t.payload};case"set_selected_items":return{...e,selectedItems:t.payload};case"set_select_all":return{...e,selectAll:t.payload};case"set_loading":return{...e,loading:t.payload};case"set_toggle_item":return{...e,selectedItems:e.selectedItems.includes(t.payload)?e.selectedItems.filter(e=>e!==t.payload):[...e.selectedItems,t.payload]};default:return e}},ia=({type:e,selectAll:t,handleSelectAll:n})=>(0,r.createElement)("thead",{className:"bg-gray-50 text-xs uppercase text-gray-500 border-b border-gray-200"},(0,r.createElement)("tr",null,(0,r.createElement)("th",{style:{width:20},className:"p-4"},(0,r.createElement)("div",{className:"flex items-center"},(0,r.createElement)("input",{id:"checkbox-all-search",type:"checkbox",checked:t,onChange:n,className:"h-4 w-4 rounded border-gray-300 bg-white text-indigo-600 focus:ring-2 focus:ring-indigo-300"}))),"users"===e?(0,r.createElement)(r.Fragment,null,(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("ID","editx")),(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Name","editx")),(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Email","editx"))):(0,r.createElement)(r.Fragment,null,(0,r.createElement)("th",{className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Label","editx"))),(0,r.createElement)("th",{style:{width:80},className:"px-6 py-3 font-semibold tracking-wide"},(0,nr.__)("Actions","editx")))),oa=({type:e,items:t,selectedItems:n,handleToggleItem:a,goForm:s,handleDelete:i})=>(0,r.createElement)("tbody",null,t.map(t=>(0,r.createElement)("tr",{key:t.id,className:"border-b border-gray-100 bg-white hover:bg-gray-50 transition-colors"},(0,r.createElement)("td",{className:"w-4 p-4"},(0,r.createElement)("div",{className:"flex items-center"},(0,r.createElement)("input",{id:"checkbox-table-search-1",type:"checkbox",checked:n.includes(t.id),onChange:()=>a(t.id),className:"h-4 w-4 rounded border-gray-300 bg-white text-indigo-600 focus:ring-2 focus:ring-indigo-300"}))),"users"===e?(0,r.createElement)(r.Fragment,null,(0,r.createElement)("td",{className:"px-6 py-3.5 text-sm text-gray-500"},t.id),(0,r.createElement)("td",{className:"whitespace-nowrap px-6 py-3.5 text-sm font-semibold text-gray-900"},t.name),(0,r.createElement)("td",{className:"px-6 py-3.5 text-sm text-gray-500"},t.email)):(0,r.createElement)(r.Fragment,null,(0,r.createElement)("td",{className:"whitespace-nowrap px-6 py-3.5 text-sm font-semibold text-gray-900"},t.label)),(0,r.createElement)("td",{className:"px-6 py-3.5 text-right"},(0,r.createElement)(Dr,null,(0,r.createElement)("li",null,(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 transition-colors",onClick:()=>s(t.id)},(0,nr.__)("Edit","editx")),(0,r.createElement)("button",{className:"block w-full text-left whitespace-nowrap bg-transparent px-4 py-2 text-sm font-medium text-red-600 hover:bg-red-50 transition-colors",onClick:()=>i(t.id)},(0,nr.__)("Delete","editx")))))))),la=e=>(0,r.createElement)("div",{className:"overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm"},(0,r.createElement)("table",{className:"w-full text-left text-sm text-gray-600"},(0,r.createElement)(ia,{...e}),(0,r.createElement)(oa,{...e}))),ca={loadingFetch:!0,idList:[],adminMenu:[],formData:{id:"",admin_menu:{}},menuExpand:null,loadingSubmit:!1},da=(e,t)=>{switch(t.type){case"set_loading_fetch":return{...e,loadingFetch:t.payload};case"set_id_list":return{...e,idList:t.payload};case"set_admin_menu":return{...e,adminMenu:t.payload};case"set_form_data":return{...e,formData:t.payload};case"set_item_expand":return{...e,menuExpand:t.payload};case"set_loading_submit":return{...e,loadingSubmit:t.payload};default:return e}},ua=()=>(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:16,height:16},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})),ha=({menu:e,menuExpand:t,formData:n,submenu:a,onToggle:s})=>(0,r.createElement)("div",{className:(t===e.url?"block":"hidden")+" pl-8 pt-2 pb-1 space-y-1"},a.map(t=>{const a=n.admin_menu[e.url]?.includes(t.url)||!1;return(0,r.createElement)("label",{key:t.url,htmlFor:`sub-${t.url}`,className:"flex items-center gap-2.5 cursor-pointer group py-1"},(0,r.createElement)("input",{type:"checkbox",id:`sub-${t.url}`,checked:a,onChange:()=>s(e.url,t.url),className:"w-3.5 h-3.5 rounded border-gray-300 text-indigo-600 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("span",{className:"text-sm transition-colors "+(a?"text-gray-800 font-medium":"text-gray-500 group-hover:text-gray-700")},t.label))})),ma=({adminMenu:e,formData:t,onToggle:n,menuExpand:a,onMenuExpand:s,onSubmenuToggle:i})=>(0,r.createElement)("div",{className:"space-y-1.5"},e.map(e=>{const o=e.classes.includes("wp-menu-separator"),l=void 0!==t.admin_menu[e.url],c=a===e.url;return o?(0,r.createElement)("label",{key:e.url,htmlFor:e.url,className:"flex items-center gap-3 px-3 py-2 rounded-lg border cursor-pointer transition-colors "+(l?"border-indigo-200 bg-indigo-50/40":"border-dashed border-gray-200 bg-gray-50/50 hover:border-gray-300 hover:bg-gray-50")},(0,r.createElement)("input",{type:"checkbox",id:e.url,checked:l,onChange:()=>n(e.url),className:"w-3.5 h-3.5 rounded border-gray-300 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("div",{className:"flex items-center gap-2 flex-1 min-w-0"},(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(l?"border-indigo-300":"border-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold uppercase tracking-wide flex-shrink-0 "+(l?"text-indigo-400":"text-gray-300")},"separator"),(0,r.createElement)("div",{className:"flex-1 h-px border-t border-dashed "+(l?"border-indigo-300":"border-gray-300")}))):(0,r.createElement)("div",{key:e.url,className:"rounded-lg border transition-colors "+(l?"border-indigo-200 bg-indigo-50/40":"border-gray-100 bg-white")},(0,r.createElement)("div",{className:"flex items-center justify-between px-3 py-2.5"},(0,r.createElement)("label",{htmlFor:e.url,className:"flex items-center gap-2.5 cursor-pointer flex-1 min-w-0"},(0,r.createElement)("input",{type:"checkbox",id:e.url,checked:l,onChange:()=>n(e.url),className:"w-4 h-4 rounded border-gray-300 cursor-pointer flex-shrink-0",style:{accentColor:"#4f46e5"}}),(0,r.createElement)("span",{className:"text-sm font-medium transition-colors "+(l?"text-gray-900":"text-gray-600"),dangerouslySetInnerHTML:{__html:e.label}})),e.submenu.length>0&&(0,r.createElement)("button",{type:"button",onClick:()=>s(e.url),className:"flex items-center justify-center w-6 h-6 rounded-md transition-all flex-shrink-0 ml-2 "+(c?"text-indigo-500 bg-indigo-50":"text-gray-400 hover:text-gray-600 hover:bg-gray-100"),style:{transform:c?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease, color 0.15s, background 0.15s"}},(0,r.createElement)(ua,null))),e.submenu.length>0&&(0,r.createElement)(ha,{menu:e,menuExpand:a,formData:t,submenu:e.submenu,onToggle:(e,t)=>i(e,t)}))})),pa=()=>{const{type:e,id:t=""}=On(),n=Tn(),a=o(),[s,i]=(0,r.useReducer)(da,ca),{loadingFetch:l,idList:c,formData:d,adminMenu:u,menuExpand:h,loadingSubmit:m}=s,p=`restrictions/${e}`,{data:f}=mr({queryKey:["restriction-form",{type:e,id:t}],queryFn:()=>Er(`${p}${t?`/${t}`:"/0"}`)});(0,r.useEffect)(()=>{if(f){const{id_list:e,admin_menu:n,form_data:r}=f;i({type:"set_id_list",payload:e}),i({type:"set_admin_menu",payload:n}),t&&i({type:"set_form_data",payload:r}),i({type:"set_loading_fetch",payload:!1})}},[f,t]);const y=fr({mutationFn:()=>t?_r(p,t,d):(async(e,t,n="free")=>{const r=await xr()({path:`${wr(e,n)}`,method:"POST",data:t});if(r.success)return r.data;throw r.data.map(e=>new Error(e))})(p,d),onSuccess:()=>{t?Le.success((0,nr.__)("Successfully Updated","editx")):(Le.success((0,nr.__)("Successfully Added","editx")),t||a.invalidateQueries({queryKey:["restrictions"]}),n(`/restrictions/${e}`))}}),g="users"===e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:`${(0,nr.__)("Restrict","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`},!l&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:async()=>{d.id?0!==Object.keys(d.admin_menu).length?y.mutate():Le.error((0,nr.__)("Please Select Menu","editx")):"users"===e?Le.error((0,nr.__)("Please Select User","editx")):Le.error((0,nr.__)("Please Select Role","editx"))},className:"editx-submit",disabled:m},m?t?(0,nr.__)("Updating…","editx"):(0,nr.__)("Submitting…","editx"):t?(0,nr.__)("Update","editx"):(0,nr.__)("Submit","editx")),(0,r.createElement)("button",{className:"editx-btn-secondary ml-2",onClick:()=>n(`/restrictions/${e}`)},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:14,height:14},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"})),`${(0,nr.__)("Back to","editx")} ${g?(0,nr.__)("Users","editx"):(0,nr.__)("Roles","editx")}`))),(0,r.createElement)(vr,null,l&&(0,r.createElement)(yr,null),(0,r.createElement)("div",{className:"editx-restrictions-form"},!l&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"bg-white rounded-xl border border-gray-100 shadow-sm p-5 mb-4"},(0,r.createElement)("label",{className:"editx-input-label"},`${(0,nr.__)("Select","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`),(0,r.createElement)("select",{onChange:e=>(e=>{i({type:"set_form_data",payload:{...d,id:e}})})(e.target.value),value:d.id,disabled:!!t,className:"editx-input"},(0,r.createElement)("option",{value:""},(0,nr.__)("Select","editx")),c.map((e,t)=>(0,r.createElement)("option",{key:t,value:e.id},e.label)))),(0,r.createElement)("div",{className:"bg-white rounded-xl border border-gray-100 shadow-sm p-5"},(0,r.createElement)("div",{className:"mb-4"},(0,r.createElement)("p",{className:"text-xs font-bold text-gray-700 uppercase tracking-wide mb-1"},(0,nr.__)("Menu Access","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500"},`${(0,nr.__)("Select the menu items you want to allow for this","editx")} ${g?(0,nr.__)("user","editx"):(0,nr.__)("role","editx")}.`)),(0,r.createElement)(ma,{adminMenu:u,formData:d,onToggle:e=>{const t={...d.admin_menu};void 0!==t[e]?delete t[e]:t[e]=u.find(t=>t.url===e)?.submenu.map(e=>e.url)||[],i({type:"set_form_data",payload:{...d,admin_menu:t}})},onMenuExpand:e=>{i({type:"set_item_expand",payload:h===e?null:e})},menuExpand:h,onSubmenuToggle:(e,t)=>((e,t)=>{const n={...d.admin_menu};n[e]||(n[e]=[]);const r=n[e].indexOf(t);-1!==r?n[e].splice(r,1):n[e].push(t),i({type:"set_form_data",payload:{...d,admin_menu:n}})})(e,t)}))))))},fa={items:[],loading:!0},ya=(e,t)=>{switch(t.type){case"set_loading":return{...e,loading:t.payload};case"set_items":return{...e,items:t.payload};default:return e}},ga=({item:e,onToggleActive:t})=>(0,r.createElement)("div",{className:"rounded-xl bg-white p-5 flex flex-col gap-3 transition-all duration-200 "+(e.is_active?"border-2 border-indigo-200 shadow-sm":"border-2 border-gray-100")},(0,r.createElement)("div",{className:"flex items-start justify-between gap-3"},(0,r.createElement)("div",{className:"flex-1 min-w-0"},(0,r.createElement)("h3",{className:"font-bold text-gray-900 text-sm mb-1.5",style:{letterSpacing:"-0.01em"}},e.title),(0,r.createElement)("p",{className:"text-xs text-gray-500 leading-relaxed"},e.description)),(0,r.createElement)("label",{className:"relative inline-flex items-center cursor-pointer flex-shrink-0 mt-0.5"},(0,r.createElement)("input",{type:"checkbox",checked:e.is_active,onChange:()=>t(e.id,e.is_active),className:"sr-only peer"}),(0,r.createElement)("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-indigo-200 rounded-full peer peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-500"}))),(0,r.createElement)("div",{className:"flex items-center gap-1.5 pt-3 border-t "+(e.is_active?"border-indigo-100":"border-gray-100")},(0,r.createElement)("span",{className:"w-1.5 h-1.5 rounded-full flex-shrink-0 "+(e.is_active?"bg-emerald-400":"bg-gray-300")}),(0,r.createElement)("span",{className:"text-xs font-semibold "+(e.is_active?"text-emerald-600":"text-gray-400")},e.is_active?(0,nr.__)("Active","editx"):(0,nr.__)("Inactive","editx")))),va=()=>(0,r.createElement)("div",{className:"flex flex-col items-center justify-center py-24 px-6 text-center"},(0,r.createElement)("div",{className:"flex items-center justify-center w-14 h-14 rounded-2xl bg-gray-50 border border-gray-100 mb-4"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"#9ca3af",width:24,height:24},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z"}))),(0,r.createElement)("h3",{className:"text-sm font-bold text-gray-900 mb-1"},(0,nr.__)("Page Not Found","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500"},(0,nr.__)("The page you are looking for does not exist.","editx"))),ba=function(e){return Ot({basename:void 0,future:Qn({},void 0,{v7_prependBasename:!0}),history:(t={window:void 0},void 0===t&&(t={}),ze(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=He(e.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),Qe("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:Be(t))},function(e,t){qe("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},t)),hydrationData:Bn(),routes:e,mapRouteProperties:$n,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize();var t}([{path:"/",element:(0,r.createElement)(()=>{const e=Tn();return(0,r.createElement)("div",{className:"editx-dashboard"},(0,r.createElement)("div",{className:"editx-dashboard-hero"},(0,r.createElement)("div",{className:"flex items-center gap-3 mb-3"},(0,r.createElement)("div",{className:"flex items-center justify-center w-10 h-10 rounded-xl shadow-sm flex-shrink-0",style:{background:"linear-gradient(135deg, #818cf8 0%, #4f46e5 100%)"}},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"white",width:18,height:18},(0,r.createElement)("path",{d:"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32l8.4-8.4Z"}),(0,r.createElement)("path",{d:"M5.25 5.25a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h10.5a3 3 0 0 0 3-3V13.5a.75.75 0 0 0-1.5 0v5.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5V8.25a1.5 1.5 0 0 1 1.5-1.5h5.25a.75.75 0 0 0 0-1.5H5.25Z"}))),(0,r.createElement)("div",null,(0,r.createElement)("div",{className:"flex items-center gap-2"},(0,r.createElement)("h1",{className:"font-bold text-gray-900",style:{fontSize:"18px",letterSpacing:"-0.02em"}},"EditX"),(0,r.createElement)("span",{className:"text-xs font-semibold px-2 py-0.5 rounded-md bg-indigo-50 text-indigo-600 border border-indigo-100"},"Admin Suite")))),(0,r.createElement)("p",{className:"text-sm text-gray-500 leading-relaxed",style:{maxWidth:"480px"}},(0,nr.__)("Customize your WordPress admin experience — edit menus, columns and restrict access.","editx"))),(0,r.createElement)("div",{className:"editx-dashboard-grid"},rr.map(t=>{const n=ar[t.color];return(0,r.createElement)("button",{key:t.id,className:`editx-feature-card ${n.hoverBorder}`,onClick:()=>e(t.route)},(0,r.createElement)("div",{className:`editx-feature-icon ${n.bg} ${n.text}`},t.icon),(0,r.createElement)("div",{className:"editx-feature-body"},(0,r.createElement)("h3",{className:`editx-feature-title ${n.text}`},t.title),(0,r.createElement)("p",{className:"editx-feature-desc"},t.description)),(0,r.createElement)("span",{className:`editx-feature-arrow ${n.text}`},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:15,height:15},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"}))))})))},null)},{path:"/admin-menu-editor",element:(0,r.createElement)(()=>{const e=o(),[t,n]=(0,r.useReducer)(Sr,Cr),{loadingFetch:a,items:s,defaultItems:i,itemNew:l,itemExpand:c,selectedItem:d,selectedSubitem:u,loadingSubmit:h}=t,{data:m}=mr({queryKey:["admin-menus"],queryFn:()=>Er("admin-menus")});(0,r.useEffect)(()=>{if(m){const{menus:e,default_menus:t}=m;n({type:"set_items",payload:e}),n({type:"set_default_items",payload:t}),n({type:"set_loading_fetch",payload:!1})}},[m]);const p=(e,t)=>{n({type:"set_item_select",payload:void 0!==e?e:null}),n({type:"set_subitem_select",payload:void 0!==t?t:null})},f=fr({mutationFn:()=>_r("admin-menus","",{admin_menu:s}),onSuccess:()=>{Le.success((0,nr.__)("Successfully Updated","editx")),e.invalidateQueries({queryKey:["admin-menus"]})}}),y=fr({mutationFn:()=>kr("admin-menus","reset"),onSuccess:()=>{Le.success((0,nr.__)("Menus reset to default","editx")),e.invalidateQueries({queryKey:["admin-menus"]})}});return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Admin Menu Editor","editx")},!a&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("button",{onClick:async()=>{f.mutate()},className:"editx-submit",disabled:h},(0,nr.__)("Save Changes","editx")),(0,r.createElement)("button",{onClick:()=>{y.mutate()},className:"editx-btn-secondary ml-2"},(0,nr.__)("Reset to Default","editx")))),(0,r.createElement)(vr,null,a&&(0,r.createElement)(yr,null),!a&&(0,r.createElement)(r.Fragment,null,(0,r.createElement)("div",{className:"editx-admin-menu-editor"},(0,r.createElement)(jr,{items:s,defaultItems:i,onOrderChange:e=>{n({type:"set_items",payload:e})},onSelect:p,onHide:(e,r)=>{const a=[...t.items];if(void 0!==r){const t=a[e].submenu[r];a[e].submenu[r]={...t,hidden:!t.hidden}}else a[e]={...a[e],hidden:!a[e].hidden};n({type:"set_items",payload:a})},onDelete:(e,r)=>{const a=[...t.items];void 0!==r?a[e].submenu.splice(r,1):a.splice(e,1),n({type:"set_items",payload:a})},onItemExpand:e=>{n({type:"set_item_expand",payload:c===e?null:e})},itemExpand:c,itemNew:e=>{const t=null!==e?{label:(0,nr.__)("Submenu Name","editx"),url:"",capability:"administrator",icon:"",open_in:"",classes:"",id:"",page_title:"",window_title:""}:{label:(0,nr.__)("Menu Name","editx"),url:"",capability:"administrator",icon:"",open_in:"",classes:"",id:"",page_title:"",window_title:"",submenu:[]};n({type:"set_item_new",payload:t}),n({type:"set_item_select",payload:e})}})),l&&(0,r.createElement)(Kr,{isNew:!0,data:l,defaultItems:i,onSave:e=>{if(null!==d){const t=[...s];t[d].submenu.push(e),n({type:"set_items",payload:t})}else n({type:"set_items",payload:[...s,e]});n({type:"set_item_new",payload:null}),n({type:"set_item_select",payload:null})},onClose:()=>{n({type:"set_item_new",payload:null}),n({type:"set_item_select",payload:null})}}),!l&&null!==d&&s[d]&&(0,r.createElement)(Kr,{data:null!==d&&null!==u?s[d].submenu[u]:s[d],defaultItems:i,onSave:e=>{const r=[...t.items];null!==d&&null!==u?r[d].submenu[u]=e:null!==d&&(r[d]=e),n({type:"set_items",payload:r}),p(null)},onClose:()=>p(null)}))))},null)},{path:"/admin-column-editor",element:(0,r.createElement)(ra,null)},{path:"/admin-column-editor/:id",element:(0,r.createElement)(ra,null)},{path:"/restrictions/:type",element:(0,r.createElement)(()=>{const{type:e=""}=On(),t=Tn(),n=o(),[a,s]=(0,r.useReducer)(sa,aa),{items:i,selectedItems:l,selectAll:c,loading:d}=a,{delConfirm:u}=Or(),{data:h}=mr({queryKey:["restrictions",{type:e}],queryFn:()=>Er("restrictions/"+e)});(0,r.useEffect)(()=>{h&&(s({type:"set_items",payload:h.list}),s({type:"set_loading",payload:!1}))},[h]),(0,r.useEffect)(()=>{s({type:"set_select_all",payload:l.length===i.length&&i.length>0})},[l,i]);const m=n=>{t(n?`/restrictions/${e}/${n}/edit`:`/restrictions/${e}/add`)},p=e=>{t("roles"==e?"/restrictions/roles":"/restrictions/users")},f=fr({mutationFn:t=>kr("restrictions/"+e,t.join(",")),onSuccess:()=>{n.invalidateQueries({queryKey:["restrictions"]});const e=i.filter(e=>!l.includes(e.id));s({type:"set_items",payload:e}),s({type:"set_selected_items",payload:[]}),Le.success("Successfully deleted.")}}),y=e=>{u(()=>{const t=e?[e]:l;f.mutate(t)})},g="users"===e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:`${(0,nr.__)("Restriction","editx")} ${g?(0,nr.__)("Users","editx"):(0,nr.__)("Roles","editx")}`},!d&&(0,r.createElement)("button",{className:"editx-submit",onClick:()=>m()},`${(0,nr.__)("Restrict","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`)),(0,r.createElement)(vr,null,(0,r.createElement)("div",{className:"editx-restrictions"},(0,r.createElement)("div",{className:"mb-5 mt-5 flex justify-between items-center"},(0,r.createElement)("div",{className:"flex rounded-lg border border-gray-200 bg-white overflow-hidden shadow-sm"},(0,r.createElement)("button",{className:"px-5 py-2 text-sm font-semibold transition-colors "+("roles"===e?"bg-gray-900 text-white":"text-gray-500 hover:text-gray-800 hover:bg-gray-50"),onClick:()=>p("roles")},(0,nr.__)("Roles","editx")),(0,r.createElement)("button",{className:"px-5 py-2 text-sm font-semibold transition-colors border-l border-gray-200 "+("users"===e?"bg-gray-900 text-white":"text-gray-500 hover:text-gray-800 hover:bg-gray-50"),onClick:()=>p("users")},(0,nr.__)("Users","editx"))),l.length>0&&(0,r.createElement)("button",{className:"editx-btn-danger",onClick:()=>y()},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:14,height:14},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})),`${(0,nr.__)("Delete","editx")} (${l.length})`)),d&&(0,r.createElement)(yr,null),!d&&(0,r.createElement)(r.Fragment,null,i.length>0&&(0,r.createElement)(la,{type:e,selectAll:c,handleSelectAll:()=>{if(c)s({type:"set_selected_items",payload:[]});else{const e=i.map(e=>e.id);s({type:"set_selected_items",payload:e})}},items:i,selectedItems:l,handleToggleItem:e=>{s({type:"set_toggle_item",payload:e})},goForm:m,handleDelete:y}),!i.length&&(0,r.createElement)("div",{className:"text-center py-16 px-6 bg-white rounded-xl border border-dashed border-gray-200"},(0,r.createElement)("div",{className:"flex items-center justify-center w-12 h-12 rounded-xl bg-gray-50 border border-gray-100 mx-auto mb-4"},(0,r.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"#9ca3af",width:22,height:22},(0,r.createElement)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"}))),(0,r.createElement)("h3",{className:"text-sm font-bold text-gray-900 mb-1"},(0,nr.__)("No restrictions yet","editx")),(0,r.createElement)("p",{className:"text-xs text-gray-500 mb-5"},`${(0,nr.__)("No restrictions set for any","editx")} ${g?(0,nr.__)("user","editx"):(0,nr.__)("role","editx")} ${(0,nr.__)("yet.","editx")}`),(0,r.createElement)("button",{className:"editx-submit",onClick:()=>m()},`${(0,nr.__)("Restrict a","editx")} ${g?(0,nr.__)("User","editx"):(0,nr.__)("Role","editx")}`))))))},null)},{path:"/restrictions/:type/add",element:(0,r.createElement)(pa,null)},{path:"/restrictions/:type/:id/edit",element:(0,r.createElement)(pa,null)},{path:"/addons",element:(0,r.createElement)(()=>{const[e,t]=(0,r.useReducer)(ya,fa),{loading:n,items:a}=e,{data:s}=mr({queryKey:["addons"],queryFn:()=>Er("addons")});(0,r.useEffect)(()=>{s&&(t({type:"set_items",payload:s.list}),t({type:"set_loading",payload:!1}))},[s]);const i=fr({mutationFn:({id:e,is_active:t})=>_r("addons",e,{is_active:t}),onSuccess:(e,n)=>{const{id:r}=n;t({type:"set_items",payload:a.map(e=>e.id===r?{...e,is_active:!e.is_active}:e)}),window.location.reload()}}),o=(e,t)=>{i.mutate({id:e,is_active:!t})};return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(gr,{label:(0,nr.__)("Addons","editx")},!n&&!1),(0,r.createElement)(vr,null,(0,r.createElement)("div",{className:"editx-addons"},n&&(0,r.createElement)(yr,null),!n&&(0,r.createElement)("div",{className:"grid gap-5 grid-cols-3"},a.map(e=>(0,r.createElement)(ga,{key:e.id,item:e,onToggleActive:o}))))))},null)},{path:"*",element:(0,r.createElement)(va,null)}]),xa=ba,wa=()=>{const e=document.querySelectorAll("#toplevel_page_editx ul > li");for(let t=0,n=e.length;t<n;t++)e[t].addEventListener("click",function(){for(let t=0;t<n;t++)e[t].classList.remove("current");this.classList.add("current")});(()=>{let e=window.location.hash;const t=document.querySelectorAll("#toplevel_page_editx ul > li");for(let n=0,r=t.length;n<r;n++){const r=t[n].querySelector("a");e=e.replace(/[0-9]|\/+$/g,""),e&&r&&r.getAttribute("href")&&r.getAttribute("href").includes(e)?t[n].classList.add("current"):(t[n].classList.remove("current"),!e&&r&&"admin.php?page=editx#"===r.getAttribute("href")&&t[n].classList.add("current"))}})()};document.addEventListener("DOMContentLoaded",()=>{wa()});const Ea=document.getElementById("editx");Ea&&(0,a.createRoot)(Ea).render((0,r.createElement)(a.StrictMode,null,(0,r.createElement)(({client:e,children:t})=>(r.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,s.jsx)(i.Provider,{value:e,children:t})),{client:Me},(0,r.createElement)(({children:e})=>{const[t,n]=(0,r.useState)(!1),[a,s]=(0,r.useState)(()=>{}),[i,o]=(0,r.useState)("Are you sure you want to delete this?"),[l,c]=(0,r.useState)(!1),d=()=>{n(!1)};return(0,r.createElement)(Tr.Provider,{value:{delConfirm:(e,t,r)=>{s(()=>e),o(r||"Are you sure you want to delete this?"),n(!0)},proAlert:()=>{c(!0)}}},e,(0,r.createElement)(Nr,{isOpen:t,message:i,onCancel:()=>{d()},onConfirm:()=>{a(),d()}}),(0,r.createElement)(Rr,{isOpen:l,onCancel:()=>{c(!1)}}))},null,(0,r.createElement)(()=>(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Ee,{hideProgressBar:!0}),(0,r.createElement)(a.Suspense,{fallback:(0,r.createElement)(yr,null)},(0,r.createElement)(Xn,{router:xa,fallbackElement:(0,r.createElement)(va,null)}))),null)))))},20(e,t,n){var r=n(609),a=Symbol.for("react.element"),s=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,l={},c=null,d=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,r)&&!o.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:d,props:l,_owner:i.current}}},848(e,t,n){e.exports=n(20)},609(e){e.exports=window.React}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,r),s.exports}r.m=t,e=[],r.O=(t,n,a,s)=>{if(!n){var i=1/0;for(d=0;d<e.length;d++){for(var[n,a,s]=e[d],o=!0,l=0;l<n.length;l++)(!1&s||i>=s)&&Object.keys(r.O).every(e=>r.O[e](n[l]))?n.splice(l--,1):(o=!1,s<i&&(i=s));if(o){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[n,a,s]},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={57:0,350:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var a,s,[i,o,l]=n,c=0;if(i.some(t=>0!==e[t])){for(a in o)r.o(o,a)&&(r.m[a]=o[a]);if(l)var d=l(r)}for(t&&t(n);c<i.length;c++)s=i[c],r.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return r.O(d)},n=globalThis.webpackChunkeditx=globalThis.webpackChunkeditx||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var a=r.O(void 0,[350],()=>r(159));a=r.O(a)})(); -
editx/trunk/editx.php
r3479678 r3480708 9 9 * 10 10 * @wordpress-plugin 11 * Plugin Name: Admin Menu Editor, Admin Column Editor -EditX11 * Plugin Name: EditX 12 12 * Plugin URI: https://wordpress.org/plugins/editx 13 * Description: A admin menu editor, admin column editor , and admin access control pluginfor WordPress14 * Version: 0.2. 013 * Description: A admin menu editor, admin column editor for WordPress 14 * Version: 0.2.1 15 15 * Author: SoftTent 16 16 * Author URI: https://softtent.com … … 131 131 */ 132 132 public function define_constants() { 133 define( 'EDITX_VERSION', '0.2. 0' );133 define( 'EDITX_VERSION', '0.2.1' ); 134 134 define( 'EDITX_SLUG', 'editx' ); 135 135 define( 'EDITX_FILE', __FILE__ ); -
editx/trunk/includes/Admin/Menu.php
r3479678 r3480708 7 7 } 8 8 9 use EditX\Helpers\AdminColumn\WpListTableFactory;10 use EditX\Models\AdminColumn as ModelAdminColumn;11 9 12 10 /** … … 35 33 //Save admin menus (original, before any editor modifications) 36 34 $this->save_admin_menus(); 37 38 //Save admin columns39 $this->save_admin_columns();40 35 } 41 36 … … 168 163 169 164 update_option( 'editx_admin_menu', $merged_menu ); 170 }171 172 /**173 * Save admin columns to option table174 *175 * @since 0.1.0176 */177 public function save_admin_columns() {178 //Post type table179 $post_types = ModelAdminColumn::get_post_types();180 foreach ( $post_types as $post_type ) {181 $columns = ( new WpListTableFactory() )->get_post_table( 'edit-' . $post_type )->get_columns();182 update_option( 'editx_admin_column_' . $post_type . '_default', $columns, false );183 }184 //Media table185 $columns = ( new WpListTableFactory() )->get_media_table( 'upload' )->get_columns();186 update_option( 'editx_admin_column_upload_default', $columns, false );187 188 //Comment table189 $columns = ( new WpListTableFactory() )->get_comment_table( 'edit-comments' )->get_columns();190 update_option( 'editx_admin_column_edit-comments_default', $columns, false );191 192 //Comment table193 $columns = ( new WpListTableFactory() )->get_user_table( 'users' )->get_columns();194 update_option( 'editx_admin_column_users_default', $columns, false );195 165 } 196 166 -
editx/trunk/includes/Ajax/Manager.php
r3478674 r3480708 18 18 */ 19 19 public function __construct() { 20 new ScreenColumns(); 20 21 } 21 22 } -
editx/trunk/includes/Api/Types/AdminColumn.php
r3479600 r3480708 5 5 use EditX\Abstracts\RestApi; 6 6 use EditX\Helpers\AdminColumn\Fns as ColumnFns; 7 use EditX\Hooks\Types\Filter\Types\AdminColumn as FilterAdminColumn; 7 8 use EditX\Models\AdminColumn as ModelAdminColumn; 8 9 … … 80 81 81 82 /** 83 * Build the WordPress default columns for a post type, mirroring 84 * WP_Posts_List_Table::get_columns() without requiring admin includes. 85 * 86 * @since 0.1.0 87 * 88 * @param string $post_type 89 * 90 * @return array 91 */ 92 private function build_post_type_columns( $post_type ) { 93 $columns = []; 94 95 if ( 'page' === $post_type ) { 96 $columns['title'] = esc_html__( 'Title', 'editx' ); 97 } else { 98 $columns['title'] = esc_html_x( 'Title', 'column name', 'editx' ); 99 } 100 101 if ( post_type_supports( $post_type, 'author' ) ) { 102 $columns['author'] = esc_html__( 'Author', 'editx' ); 103 } 104 105 // Taxonomies with show_admin_column. 106 $taxonomies = get_object_taxonomies( $post_type, 'objects' ); 107 $taxonomies = wp_list_filter( $taxonomies, [ 'show_admin_column' => true ] ); 108 $taxonomies = apply_filters( "manage_taxonomies_for_{$post_type}_columns", $taxonomies, $post_type ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 109 $taxonomies = array_filter( $taxonomies, 'is_object' ); 110 111 foreach ( $taxonomies as $taxonomy ) { 112 if ( 'category' === $taxonomy->name ) { 113 $column_key = 'categories'; 114 } elseif ( 'post_tag' === $taxonomy->name ) { 115 $column_key = 'tags'; 116 } else { 117 $column_key = 'taxonomy-' . $taxonomy->name; 118 } 119 $columns[ $column_key ] = esc_html( $taxonomy->labels->name ); 120 } 121 122 if ( post_type_supports( $post_type, 'comments' ) ) { 123 $columns['comments'] = sprintf( 124 '<span class="vers comment-grey-bubble" title="%1$s" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span>', 125 esc_attr__( 'Comments', 'editx' ), 126 esc_html__( 'Comments', 'editx' ) 127 ); 128 } 129 130 $columns['date'] = esc_html__( 'Date', 'editx' ); 131 132 // Fire standard WP filters (our bypass is active so our override won't run). 133 if ( 'page' === $post_type ) { 134 $columns = apply_filters( 'manage_pages_columns', $columns ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 135 } else { 136 $columns = apply_filters( 'manage_posts_columns', $columns, $post_type ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 137 } 138 $columns = apply_filters( "manage_{$post_type}_posts_columns", $columns ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 139 140 return $columns; 141 } 142 143 /** 144 * Get WordPress default columns for the given screen ID. 145 * Builds columns without admin-only includes, then fires WP filters 146 * with our override bypassed so other plugins can still add their columns. 147 * 148 * @since 0.1.0 149 * 150 * @param string $id Screen identifier (post type slug or wp_media / wp_comments / wp_users). 151 * 152 * @return array Formatted column array ready for the API response. 153 */ 154 private function get_default_columns( $id ) { 155 // Bypass our own manage_columns filter so WP defaults come through. 156 FilterAdminColumn::set_bypass_override( true ); 157 158 if ( post_type_exists( $id ) ) { 159 $columns = $this->build_post_type_columns( $id ); 160 } elseif ( $id === 'wp_media' ) { 161 $columns = [ 162 'title' => esc_html_x( 'File', 'column name', 'editx' ), 163 'author' => esc_html__( 'Author', 'editx' ), 164 'parent' => esc_html_x( 'Uploaded to', 'column name', 'editx' ), 165 'comments' => sprintf( 166 '<span class="vers comment-grey-bubble" title="%1$s" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span>', 167 esc_attr__( 'Comments', 'editx' ), 168 esc_html__( 'Comments', 'editx' ) 169 ), 170 'date' => esc_html_x( 'Date', 'column name', 'editx' ), 171 ]; 172 $columns = apply_filters( 'manage_upload_columns', $columns ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 173 } elseif ( $id === 'wp_comments' ) { 174 $columns = [ 175 'comment' => esc_html_x( 'Comment', 'column name', 'editx' ), 176 'author' => esc_html__( 'Author', 'editx' ), 177 'response' => esc_html_x( 'In Response To', 'column name', 'editx' ), 178 'date' => esc_html_x( 'Submitted On', 'column name', 'editx' ), 179 ]; 180 $columns = apply_filters( 'manage_edit-comments_columns', $columns ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound,WordPress.NamingConventions.ValidHookName.UseUnderscores 181 } elseif ( $id === 'wp_users' ) { 182 $columns = [ 183 'username' => esc_html__( 'Username', 'editx' ), 184 'name' => esc_html__( 'Name', 'editx' ), 185 'email' => esc_html__( 'Email', 'editx' ), 186 'role' => esc_html__( 'Role', 'editx' ), 187 'posts' => esc_html_x( 'Posts', 'column name', 'editx' ), 188 ]; 189 $columns = apply_filters( 'manage_users_columns', $columns ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound 190 } else { 191 $columns = []; 192 } 193 194 FilterAdminColumn::set_bypass_override( false ); 195 196 return ColumnFns::format_column( $columns ); 197 } 198 199 /** 200 * Return available custom column types for the given screen. 201 * 202 * @since 0.1.0 203 * 204 * @param string $id 205 * 206 * @return array 207 */ 208 private function get_column_types( $id ) { 209 if ( post_type_exists( $id ) ) { 210 $types = [ 211 [ 212 'value' => 'post_meta', 213 'label' => esc_html__( 'Custom Field (Meta)', 'editx' ), 214 ], 215 [ 216 'value' => 'taxonomy', 217 'label' => esc_html__( 'Taxonomy Terms', 'editx' ), 218 ], 219 [ 220 'value' => 'featured_image', 221 'label' => esc_html__( 'Featured Image', 'editx' ), 222 ], 223 [ 224 'value' => 'excerpt', 225 'label' => esc_html__( 'Post Excerpt', 'editx' ), 226 ], 227 [ 228 'value' => 'post_id', 229 'label' => esc_html__( 'Post ID', 'editx' ), 230 ], 231 [ 232 'value' => 'post_status', 233 'label' => esc_html__( 'Post Status', 'editx' ), 234 ], 235 ]; 236 } elseif ( $id === 'wp_media' ) { 237 $types = [ 238 [ 239 'value' => 'post_meta', 240 'label' => esc_html__( 'Attachment Meta', 'editx' ), 241 ], 242 [ 243 'value' => 'post_id', 244 'label' => esc_html__( 'Attachment ID', 'editx' ), 245 ], 246 ]; 247 } elseif ( $id === 'wp_users' ) { 248 $types = [ 249 [ 250 'value' => 'user_meta', 251 'label' => esc_html__( 'User Meta', 'editx' ), 252 ], 253 [ 254 'value' => 'user_id', 255 'label' => esc_html__( 'User ID', 'editx' ), 256 ], 257 ]; 258 } elseif ( $id === 'wp_comments' ) { 259 $types = [ 260 [ 261 'value' => 'comment_meta', 262 'label' => esc_html__( 'Comment Meta', 'editx' ), 263 ], 264 [ 265 'value' => 'comment_id', 266 'label' => esc_html__( 'Comment ID', 'editx' ), 267 ], 268 ]; 269 } else { 270 $types = []; 271 } 272 273 return apply_filters( 'editx_column_types', $types, $id ); 274 } 275 276 /** 277 * Return distinct meta keys for the given screen (post type slug or wp_* identifier). 278 * Excludes keys that start with an underscore (internal WP meta). 279 * 280 * @since 0.1.0 281 * 282 * @param string $id 283 * 284 * @return array 285 */ 286 private function get_meta_keys( $id ) { 287 $cache_key = 'editx_meta_keys_' . sanitize_key( $id ); 288 $keys = wp_cache_get( $cache_key, 'editx' ); 289 290 if ( false !== $keys ) { 291 return $keys; 292 } 293 294 global $wpdb; 295 296 $like_prefix = $wpdb->esc_like( '_' ) . '%'; 297 298 if ( post_type_exists( $id ) ) { 299 // Post meta 300 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 301 $keys = $wpdb->get_col( 302 $wpdb->prepare( 303 "SELECT DISTINCT pm.meta_key 304 FROM {$wpdb->postmeta} pm 305 INNER JOIN {$wpdb->posts} p ON p.ID = pm.post_id 306 WHERE p.post_type = %s 307 AND pm.meta_key != '' 308 AND pm.meta_key NOT LIKE %s 309 ORDER BY pm.meta_key 310 LIMIT 200", 311 $id, 312 $like_prefix 313 ) 314 ); 315 } elseif ( $id === 'wp_media' ) { 316 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 317 $keys = $wpdb->get_col( 318 $wpdb->prepare( 319 "SELECT DISTINCT pm.meta_key 320 FROM {$wpdb->postmeta} pm 321 INNER JOIN {$wpdb->posts} p ON p.ID = pm.post_id 322 WHERE p.post_type = 'attachment' 323 AND pm.meta_key != '' 324 AND pm.meta_key NOT LIKE %s 325 ORDER BY pm.meta_key 326 LIMIT 200", 327 $like_prefix 328 ) 329 ); 330 } elseif ( $id === 'wp_users' ) { 331 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 332 $keys = $wpdb->get_col( 333 $wpdb->prepare( 334 "SELECT DISTINCT meta_key 335 FROM {$wpdb->usermeta} 336 WHERE meta_key != '' 337 AND meta_key NOT LIKE %s 338 ORDER BY meta_key 339 LIMIT 200", 340 $like_prefix 341 ) 342 ); 343 } elseif ( $id === 'wp_comments' ) { 344 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 345 $keys = $wpdb->get_col( 346 $wpdb->prepare( 347 "SELECT DISTINCT meta_key 348 FROM {$wpdb->commentmeta} 349 WHERE meta_key != '' 350 AND meta_key NOT LIKE %s 351 ORDER BY meta_key 352 LIMIT 200", 353 $like_prefix 354 ) 355 ); 356 } else { 357 $keys = []; 358 } 359 360 $keys = $keys ? $keys : []; 361 362 wp_cache_set( $cache_key, $keys, 'editx', HOUR_IN_SECONDS ); 363 364 return $keys; 365 } 366 367 /** 368 * Return taxonomies available for the given screen. 369 * 370 * @since 0.1.0 371 * 372 * @param string $id 373 * 374 * @return array 375 */ 376 private function get_taxonomies( $id ) { 377 if ( ! post_type_exists( $id ) ) { 378 return []; 379 } 380 381 $taxonomies = get_object_taxonomies( $id, 'objects' ); 382 $result = []; 383 foreach ( $taxonomies as $taxonomy ) { 384 $result[] = [ 385 'value' => $taxonomy->name, 386 'label' => $taxonomy->labels->singular_name, 387 ]; 388 } 389 390 return $result; 391 } 392 393 /** 82 394 * Get single request 83 395 * … … 110 422 } else { 111 423 $resp = []; 112 $resp['screens'] = ModelAdminColumn::screens(); 113 $columns_default = []; 114 if ( $id ) { 115 if ( post_type_exists( $id ) ) { 116 $columns = get_option( 'editx_admin_column_' . $id . '_default', [] ); 117 $columns_default = ColumnFns::format_column( $columns ); 118 } elseif ( $id === 'wp_media' ) { 119 $columns = get_option( 'editx_admin_column_upload_default', [] ); 120 $columns_default = ColumnFns::format_column( $columns ); 121 } elseif ( $id === 'wp_comments' ) { 122 $columns = get_option( 'editx_admin_column_edit-comments_default', [] ); 123 $columns_default = ColumnFns::format_column( $columns ); 124 } elseif ( $id === 'wp_users' ) { 125 $columns = get_option( 'editx_admin_column_users_default', [] ); 126 $columns_default = ColumnFns::format_column( $columns ); 127 } 128 } 129 130 $resp['columns_default'] = $columns_default; 131 $custom_columns = get_option( 'editx_admin_column_' . $id, [] ); 132 $resp['columns'] = $custom_columns ? $custom_columns : $columns_default; //custom column otherwise default column 424 $resp['screens'] = ModelAdminColumn::screens(); 425 $custom_columns = get_option( 'editx_admin_column_' . $id, [] ); 426 // Saved user config (empty = no customisation yet; React loads defaults via AJAX). 427 $resp['columns'] = $custom_columns ? $custom_columns : []; 428 $resp['column_types'] = $this->get_column_types( $id ); 429 $resp['meta_keys'] = $this->get_meta_keys( $id ); 430 $resp['taxonomies'] = $this->get_taxonomies( $id ); 133 431 134 432 return new \WP_REST_Response( -
editx/trunk/includes/Assets/Manager.php
r3479678 r3480708 224 224 wp_enqueue_script('editx'); 225 225 226 wp_localize_script('editx', 'editxParams', []); 226 wp_localize_script('editx', 'editxParams', [ 227 'nonce' => wp_create_nonce( 'editx_nonce' ), 228 ]); 227 229 } 228 230 } -
editx/trunk/includes/Helpers/AdminColumn/WpListTableFactory.php
r3342250 r3480708 17 17 */ 18 18 class WpListTableFactory { 19 20 /** 21 * Load required WordPress admin files for list tables 22 * 23 * @since 0.1.0 24 */ 25 public static function load_admin_dependencies() { 26 if ( ! function_exists( 'convert_to_screen' ) ) { 27 require_once ABSPATH . 'wp-admin/includes/screen.php'; 28 } 29 if ( ! class_exists( 'WP_List_Table' ) ) { 30 require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; 31 } 32 } 19 33 20 34 /** -
editx/trunk/includes/Hooks/Types/Action/Types/AdminColumn.php
r3478674 r3480708 2 2 namespace EditX\Hooks\Types\Action\Types; 3 3 4 if ( ! defined( 'ABSPATH' ) ) { 5 exit; 6 } 7 8 use EditX\Models\AdminColumn as ModelAdminColumn; 9 4 10 /** 5 * Action Hook Type: NavMenu 11 * Action Hook Type: AdminColumn 12 * Renders custom column values on WP admin list screens. 6 13 * 7 14 * @since 0.1.0 … … 10 17 11 18 public function __construct() { 19 add_action( 'init', [ $this, 'register_column_hooks' ] ); 20 } 21 22 /** 23 * Register manage_*_custom_column hooks for every active screen. 24 * 25 * @since 0.1.0 26 */ 27 public function register_column_hooks() { 28 foreach ( ModelAdminColumn::screens() as $group ) { 29 foreach ( $group['options'] as $option ) { 30 $screen = $option['value']; 31 32 if ( $group['group'] === 'post_type' ) { 33 add_action( 34 'manage_' . $screen . '_posts_custom_column', 35 function ( $column_name, $post_id ) use ( $screen ) { 36 $this->render_post_column( $column_name, $post_id, $screen ); 37 }, 38 10, 2 39 ); 40 } elseif ( $group['group'] === 'media' ) { 41 add_action( 42 'manage_media_custom_column', 43 function ( $column_name, $post_id ) { 44 $this->render_post_column( $column_name, $post_id, 'wp_media' ); 45 }, 46 10, 2 47 ); 48 } elseif ( $group['group'] === 'comment' ) { 49 add_action( 50 'manage_comments_custom_column', 51 function ( $column_name, $comment_id ) { 52 $this->render_comment_column( $column_name, $comment_id ); 53 }, 54 10, 2 55 ); 56 } elseif ( $group['group'] === 'user' ) { 57 add_filter( 58 'manage_users_custom_column', 59 function ( $value, $column_name, $user_id ) { 60 return $this->render_user_column( $value, $column_name, $user_id ); 61 }, 62 10, 3 63 ); 64 } 65 } 66 } 67 } 68 69 /** 70 * Find a column config by its ID from the saved option for a screen. 71 * 72 * @since 0.1.0 73 * 74 * @param string $column_name 75 * @param string $screen_key Option key suffix (post type or wp_media etc.) 76 * 77 * @return array|null 78 */ 79 private function find_column( $column_name, $screen_key ) { 80 $columns = get_option( 'editx_admin_column_' . $screen_key, [] ); 81 foreach ( $columns as $col ) { 82 if ( isset( $col['id'] ) && $col['id'] === $column_name ) { 83 return $col; 84 } 85 } 86 return null; 87 } 88 89 /** 90 * Render output for a custom post / attachment column. 91 * 92 * @since 0.1.0 93 * 94 * @param string $column_name 95 * @param int $post_id 96 * @param string $screen_key 97 */ 98 public function render_post_column( $column_name, $post_id, $screen_key ) { 99 $col = $this->find_column( $column_name, $screen_key ); 100 if ( ! $col || empty( $col['column_type'] ) ) { 101 return; 102 } 103 104 $column_type = $col['column_type']; 105 $column_settings = isset( $col['column_settings'] ) && is_array( $col['column_settings'] ) 106 ? $col['column_settings'] 107 : []; 108 109 $output = ''; 110 111 switch ( $column_type ) { 112 case 'post_meta': 113 $meta_key = isset( $column_settings['meta_key'] ) ? sanitize_text_field( $column_settings['meta_key'] ) : ''; 114 if ( $meta_key ) { 115 $value = get_post_meta( $post_id, $meta_key, true ); 116 $output = is_array( $value ) 117 ? esc_html( implode( ', ', array_map( 'strval', $value ) ) ) 118 : esc_html( (string) $value ); 119 } 120 break; 121 122 case 'taxonomy': 123 $taxonomy = isset( $column_settings['taxonomy'] ) ? sanitize_key( $column_settings['taxonomy'] ) : ''; 124 if ( $taxonomy ) { 125 $terms = get_the_terms( $post_id, $taxonomy ); 126 if ( $terms && ! is_wp_error( $terms ) ) { 127 $names = wp_list_pluck( $terms, 'name' ); 128 $output = esc_html( implode( ', ', $names ) ); 129 } 130 } 131 break; 132 133 case 'featured_image': 134 $thumb = get_the_post_thumbnail( $post_id, [ 60, 60 ] ); 135 $output = $thumb ? $thumb : '—'; 136 break; 137 138 case 'excerpt': 139 $post = get_post( $post_id ); 140 $raw = $post ? wp_strip_all_tags( $post->post_excerpt ? $post->post_excerpt : wp_trim_words( $post->post_content, 20 ) ) : ''; 141 $escaped = esc_html( $raw ); 142 $output = $escaped ? $escaped : '—'; 143 break; 144 145 case 'post_id': 146 $output = esc_html( (string) $post_id ); 147 break; 148 149 case 'post_status': 150 $status_obj = get_post_status_object( get_post_status( $post_id ) ); 151 $output = $status_obj ? esc_html( $status_obj->label ) : esc_html( get_post_status( $post_id ) ); 152 break; 153 } 154 155 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 156 echo apply_filters( 'editx_column_value', $output, $column_type, $post_id, $col ); 157 } 158 159 /** 160 * Render output for a custom user column (filter-based). 161 * 162 * @since 0.1.0 163 * 164 * @param string $value 165 * @param string $column_name 166 * @param int $user_id 167 * 168 * @return string 169 */ 170 public function render_user_column( $value, $column_name, $user_id ) { 171 $col = $this->find_column( $column_name, 'wp_users' ); 172 if ( ! $col || empty( $col['column_type'] ) ) { 173 return $value; 174 } 175 176 $column_type = $col['column_type']; 177 $column_settings = isset( $col['column_settings'] ) && is_array( $col['column_settings'] ) 178 ? $col['column_settings'] 179 : []; 180 181 $output = ''; 182 183 switch ( $column_type ) { 184 case 'user_meta': 185 $meta_key = isset( $column_settings['meta_key'] ) ? sanitize_text_field( $column_settings['meta_key'] ) : ''; 186 if ( $meta_key ) { 187 $val = get_user_meta( $user_id, $meta_key, true ); 188 $output = is_array( $val ) 189 ? esc_html( implode( ', ', array_map( 'strval', $val ) ) ) 190 : esc_html( (string) $val ); 191 } 192 break; 193 194 case 'user_id': 195 $output = esc_html( (string) $user_id ); 196 break; 197 } 198 199 return apply_filters( 'editx_column_value', $output ? $output : $value, $column_type, $user_id, $col ); 200 } 201 202 /** 203 * Render output for a custom comment column. 204 * 205 * @since 0.1.0 206 * 207 * @param string $column_name 208 * @param int $comment_id 209 */ 210 public function render_comment_column( $column_name, $comment_id ) { 211 $col = $this->find_column( $column_name, 'wp_comments' ); 212 if ( ! $col || empty( $col['column_type'] ) ) { 213 return; 214 } 215 216 $column_type = $col['column_type']; 217 $column_settings = isset( $col['column_settings'] ) && is_array( $col['column_settings'] ) 218 ? $col['column_settings'] 219 : []; 220 221 $output = ''; 222 223 switch ( $column_type ) { 224 case 'comment_meta': 225 $meta_key = isset( $column_settings['meta_key'] ) ? sanitize_text_field( $column_settings['meta_key'] ) : ''; 226 if ( $meta_key ) { 227 $val = get_comment_meta( $comment_id, $meta_key, true ); 228 $output = is_array( $val ) 229 ? esc_html( implode( ', ', array_map( 'strval', $val ) ) ) 230 : esc_html( (string) $val ); 231 } 232 break; 233 234 case 'comment_id': 235 $output = esc_html( (string) $comment_id ); 236 break; 237 } 238 239 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 240 echo apply_filters( 'editx_column_value', $output, $column_type, $comment_id, $col ); 12 241 } 13 242 } -
editx/trunk/includes/Hooks/Types/Filter/Types/AdminColumn.php
r3479600 r3480708 10 10 11 11 /** 12 * Filte Hook Type: AdminColumn12 * Filter Hook Type: AdminColumn 13 13 * 14 14 * @since 0.1.0 … … 16 16 class AdminColumn { 17 17 18 public function __construct() { 19 add_action( 'init', [ $this, 'manage_columns' ] ); 20 } 18 /** 19 * Query parameter used to trigger default column capture on a real screen. 20 * 21 * @since 0.1.0 22 */ 23 const CAPTURE_PARAM = 'editx_save_defaults'; 24 25 /** 26 * When true, add_headings() returns columns unchanged (used by REST API to get WP defaults). 27 * 28 * @var bool 29 * @since 0.1.0 30 */ 31 private static $bypass_override = false; 32 33 /** 34 * The screen key being captured (set by capture_default_columns). 35 * 36 * @var string|null 37 * @since 0.1.0 38 */ 39 private $capture_screen_key = null; 40 41 public function __construct() { 42 add_action( 'init', [ $this, 'manage_columns' ] ); 43 add_action( 'admin_head', [ $this, 'column_widths' ] ); 44 add_action( 'current_screen', [ $this, 'capture_default_columns' ] ); 45 } 46 47 /** 48 * Set or clear the bypass flag so add_headings() returns columns unchanged. 49 * 50 * @since 0.1.0 51 * 52 * @param bool $value 53 */ 54 public static function set_bypass_override( bool $value ) { 55 self::$bypass_override = $value; 56 } 21 57 22 58 /** … … 33 69 if ( $group['group'] === 'post_type' ) { 34 70 add_filter( 35 'manage_' . $screen . '_posts_columns', function ( $columns ) use ( $screen ) {71 'manage_edit-' . $screen . '_columns', function ( $columns ) use ( $screen ) { 36 72 return $this->add_headings( $columns, $screen ); 37 73 }, 999 38 );74 ); 39 75 } else { 40 76 $screen_id = $group['screen_id']; 41 77 add_filter( 42 'manage_' . $screen_id . '_columns', function ( $columns ) use ( $screen ) {78 'manage_' . $screen_id . '_columns', function ( $columns ) use ( $screen ) { 43 79 return $this->add_headings( $columns, $screen ); 44 80 }, 999 45 ); 46 } 47 } 48 } 49 } 50 51 /** 81 ); 82 } 83 } 84 } 85 } 86 87 /** 88 * Capture default columns when a real screen URL is loaded with the special 89 * query parameter. This is the only reliable way to get ALL columns, including 90 * from plugins that register columns conditionally (e.g. WooCommerce hooks 91 * into current_screen or load-edit.php). 92 * 93 * The frontend makes a fetch request to the real admin screen URL with 94 * ?editx_save_defaults=1. WordPress loads normally, all plugins register 95 * their column hooks, and we capture the complete set at priority 998 96 * (before our own override at 999). 97 * 98 * @since 0.1.0 99 * 100 * @return void 101 */ 102 public function capture_default_columns() { 103 // phpcs:ignore WordPress.Security.NonceVerification.Recommended 104 if ( ! isset( $_GET[ self::CAPTURE_PARAM ] ) || '1' !== $_GET[ self::CAPTURE_PARAM ] ) { 105 return; 106 } 107 108 if ( ! current_user_can( 'manage_options' ) ) { 109 return; 110 } 111 112 $screen = get_current_screen(); 113 if ( ! $screen ) { 114 return; 115 } 116 117 $screen_key = null; 118 $filter_hook = null; 119 120 if ( $screen->base === 'edit' && ! empty( $screen->post_type ) ) { 121 $screen_key = $screen->post_type; 122 $filter_hook = 'manage_edit-' . $screen_key . '_columns'; 123 } elseif ( $screen->base === 'upload' ) { 124 $screen_key = 'wp_media'; 125 $filter_hook = 'manage_upload_columns'; 126 } elseif ( $screen->id === 'edit-comments' ) { 127 $screen_key = 'wp_comments'; 128 $filter_hook = 'manage_edit-comments_columns'; 129 } elseif ( $screen->id === 'users' ) { 130 $screen_key = 'wp_users'; 131 $filter_hook = 'manage_users_columns'; 132 } 133 134 if ( ! $screen_key || ! $filter_hook ) { 135 return; 136 } 137 138 $this->capture_screen_key = $screen_key; 139 140 // Hook at priority 998 — after all plugins but before our own override at 999. 141 add_filter( $filter_hook, [ $this, 'save_captured_columns' ], 998 ); 142 143 // Suppress all page output; we will exit in the filter callback. 144 ob_start(); 145 } 146 147 /** 148 * Filter callback: save the captured columns and return a JSON response. 149 * Called at priority 998 on the screen column filter. 150 * 151 * @since 0.1.0 152 * 153 * @param array $columns Columns collected by WordPress and all plugins. 154 */ 155 public function save_captured_columns( $columns ) { 156 ob_end_clean(); 157 158 if ( ! empty( $columns ) && is_array( $columns ) ) { 159 update_option( 'editx_default_columns_' . $this->capture_screen_key, $columns, false ); 160 } 161 162 wp_send_json_success( [ 'captured' => true ] ); 163 } 164 165 /** 52 166 * Add heading 53 167 * 54 168 * @since 0.1.0 55 169 * 56 * @param $columns = default column57 * @param $screen =screen id170 * @param array $columns default columns 171 * @param string $screen screen id 58 172 * 59 173 * @return array 60 174 */ 61 175 public function add_headings( $columns, $screen ) { 176 if ( self::$bypass_override ) { 177 return $columns; 178 } 179 62 180 if ( empty( $columns ) ) { 63 181 return $columns; 182 } 183 184 // Capture true WP defaults on real admin pages at priority 999 after all plugins ran. 185 if ( ! wp_doing_ajax() && is_admin() ) { 186 update_option( 'editx_default_columns_' . $screen, $columns, false ); 64 187 } 65 188 … … 73 196 foreach ( $get_columns as $value ) { 74 197 if ( ! empty( $value['hidden'] ) ) { 75 continue; // Skip hidden columns198 continue; 76 199 } 77 200 $custom_column[ (string) ( $value['id'] ?? '' ) ] = (string) ( $value['label'] ?? '' ); … … 82 205 return $columns; 83 206 } 207 208 /** 209 * Output inline CSS for configured column widths. 210 * 211 * @return void 212 * @since 0.1.0 213 */ 214 public function column_widths() { 215 $screen = get_current_screen(); 216 if ( ! $screen ) { 217 return; 218 } 219 220 $screen_key = null; 221 if ( $screen->base === 'edit' && ! empty( $screen->post_type ) ) { 222 $screen_key = $screen->post_type; 223 } elseif ( $screen->base === 'upload' ) { 224 $screen_key = 'wp_media'; 225 } elseif ( $screen->id === 'edit-comments' ) { 226 $screen_key = 'wp_comments'; 227 } elseif ( $screen->id === 'users' ) { 228 $screen_key = 'wp_users'; 229 } 230 231 if ( ! $screen_key ) { 232 return; 233 } 234 235 $columns = get_option( 'editx_admin_column_' . $screen_key, [] ); 236 if ( ! $columns ) { 237 return; 238 } 239 240 $css = ''; 241 foreach ( $columns as $column ) { 242 if ( empty( $column['hidden'] ) && ! empty( $column['width'] ) && ! empty( $column['id'] ) ) { 243 $width = (int) $column['width']; 244 $unit = isset( $column['width_unit'] ) ? $column['width_unit'] : '%'; 245 if ( ! in_array( $unit, [ '%', 'px' ], true ) ) { 246 $unit = '%'; 247 } 248 if ( $width > 0 ) { 249 $css .= '.column-' . sanitize_html_class( $column['id'] ) . ' { width: ' . $width . $unit . ' !important; }' . "\n"; 250 } 251 } 252 } 253 254 if ( $css ) { 255 echo '<style type="text/css">' . "\n" . wp_kses( $css, [] ) . '</style>' . "\n"; 256 } 257 } 84 258 } -
editx/trunk/languages/editx.pot
r3479678 r3480708 2 2 msgid "" 3 3 msgstr "" 4 "Project-Id-Version: Admin Menu Editor, Admin Column Editor - EditX 0.2.0\n"4 "Project-Id-Version: EditX 0.2.1\n" 5 5 "Report-Msgid-Bugs-To: https://github.com/softtent/editx/issues\n" 6 6 "Last-Translator: contact@nurency.com\n" … … 9 9 "Content-Type: text/plain; charset=UTF-8\n" 10 10 "Content-Transfer-Encoding: 8bit\n" 11 "POT-Creation-Date: 2026-03-11T 03:37:07+00:00\n"11 "POT-Creation-Date: 2026-03-11T23:23:03+00:00\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "X-Generator: WP-CLI 2.11.0\n" … … 16 16 #. Plugin Name of the plugin 17 17 #: editx.php 18 msgid "Admin Menu Editor, Admin Column Editor - EditX" 18 #: includes/Admin/Menu.php:61 19 #: includes/Admin/Menu.php:62 20 msgid "EditX" 19 21 msgstr "" 20 22 … … 26 28 #. Description of the plugin 27 29 #: editx.php 28 msgid "A admin menu editor, admin column editor , and admin access control pluginfor WordPress"30 msgid "A admin menu editor, admin column editor for WordPress" 29 31 msgstr "" 30 32 … … 39 41 msgstr "" 40 42 41 #: dist/editx/includes/Abstracts/RestApi.php:4842 43 #: includes/Abstracts/RestApi.php:48 43 44 msgid "Sorry, you are not allowed to do that." 44 45 msgstr "" 45 46 46 #: dist/editx/includes/Admin/Menu.php:65 47 #: dist/editx/includes/Admin/Menu.php:66 48 #: includes/Admin/Menu.php:66 49 #: includes/Admin/Menu.php:67 50 msgid "EditX" 51 msgstr "" 52 53 #: dist/editx/includes/Admin/Menu.php:79 54 #: dist/editx/includes/Api/Types/Addon.php:78 47 #: includes/Admin/Menu.php:75 48 #: includes/Api/Types/Addon.php:78 49 #: build/index.js:1 50 msgid "Admin Menu Editor" 51 msgstr "" 52 55 53 #: includes/Admin/Menu.php:80 56 #: includes/Api/Types/Addon.php:7857 #: build/index.js:158 #: dist/editx/build/index.js:159 msgid "Admin Menu Editor"60 msgstr ""61 62 #: dist/editx/includes/Admin/Menu.php:8463 #: dist/editx/includes/Api/Types/Addon.php:8464 #: includes/Admin/Menu.php:8565 54 #: includes/Api/Types/Addon.php:84 66 55 #: build/index.js:1 67 #: dist/editx/build/index.js:168 56 msgid "Admin Column Editor" 69 57 msgstr "" 70 58 71 #: dist/editx/includes/Admin/Menu.php:89 72 msgid "Manage Restrictions" 73 msgstr "" 74 75 #: dist/editx/includes/Admin/Menu.php:93 76 #: includes/Admin/Menu.php:94 77 #: build/index.js:1 78 #: dist/editx/build/index.js:1 59 #: includes/Admin/Menu.php:89 60 #: build/index.js:1 79 61 msgid "Addons" 80 62 msgstr "" 81 63 82 #: dist/editx/includes/Admin/Menu.php:420 83 #: includes/Admin/Menu.php:484 64 #: includes/Admin/Menu.php:283 65 msgid "Custom Menu" 66 msgstr "" 67 68 #: includes/Admin/Menu.php:454 84 69 msgid "Sorry, you are not allowed to access this page." 85 70 msgstr "" 86 71 87 #: dist/editx/includes/Api/Types/Action.php:98 72 #: includes/Ajax/ScreenColumns.php:34 73 msgid "Forbidden" 74 msgstr "" 75 76 #: includes/Ajax/ScreenColumns.php:41 77 msgid "Screen ID is required" 78 msgstr "" 79 88 80 #: includes/Api/Types/Action.php:98 89 81 msgid "Required field is missing" 90 82 msgstr "" 91 83 92 #: dist/editx/includes/Api/Types/Action.php:13393 84 #: includes/Api/Types/Action.php:133 94 85 msgid "Type is missing" 95 86 msgstr "" 96 87 97 #: dist/editx/includes/Api/Types/Addon.php:8598 88 #: includes/Api/Types/Addon.php:85 99 89 msgid "You can customize table column using this" 100 90 msgstr "" 101 91 102 #: dist/editx/includes/Api/Types/Addon.php:90103 #: build/index.js:1104 #: dist/editx/build/index.js:1105 msgid "Restriction"106 msgstr ""107 108 #: dist/editx/includes/Api/Types/Addon.php:91109 msgid "You can restrict admin menu and submenu using this"110 msgstr ""111 112 #: dist/editx/includes/Api/Types/Addon.php:96113 msgid "Nav Menu Restriction"114 msgstr ""115 116 #: dist/editx/includes/Api/Types/Addon.php:97117 msgid "You can restrict nav menu using this"118 msgstr ""119 120 #: dist/editx/includes/Api/Types/Addon.php:141121 92 #: includes/Api/Types/Addon.php:143 122 93 msgid "Addon is missing" 123 94 msgstr "" 124 95 125 #: dist/editx/includes/Api/Types/AdminColumn.php:99 126 #: dist/editx/includes/Api/Types/AdminColumn.php:165 127 #: includes/Api/Types/AdminColumn.php:99 128 #: includes/Api/Types/AdminColumn.php:165 96 #: includes/Api/Types/AdminColumn.php:96 97 msgid "Title" 98 msgstr "" 99 100 #: includes/Api/Types/AdminColumn.php:98 101 msgctxt "column name" 102 msgid "Title" 103 msgstr "" 104 105 #: includes/Api/Types/AdminColumn.php:102 106 #: includes/Api/Types/AdminColumn.php:163 107 #: includes/Api/Types/AdminColumn.php:176 108 msgid "Author" 109 msgstr "" 110 111 #: includes/Api/Types/AdminColumn.php:125 112 #: includes/Api/Types/AdminColumn.php:126 113 #: includes/Api/Types/AdminColumn.php:167 114 #: includes/Api/Types/AdminColumn.php:168 115 #: includes/Models/AdminColumn.php:40 116 #: includes/Models/AdminColumn.php:43 117 msgid "Comments" 118 msgstr "" 119 120 #: includes/Api/Types/AdminColumn.php:130 121 msgid "Date" 122 msgstr "" 123 124 #: includes/Api/Types/AdminColumn.php:162 125 msgctxt "column name" 126 msgid "File" 127 msgstr "" 128 129 #: includes/Api/Types/AdminColumn.php:164 130 msgctxt "column name" 131 msgid "Uploaded to" 132 msgstr "" 133 134 #: includes/Api/Types/AdminColumn.php:170 135 msgctxt "column name" 136 msgid "Date" 137 msgstr "" 138 139 #: includes/Api/Types/AdminColumn.php:175 140 msgctxt "column name" 141 msgid "Comment" 142 msgstr "" 143 144 #: includes/Api/Types/AdminColumn.php:177 145 msgctxt "column name" 146 msgid "In Response To" 147 msgstr "" 148 149 #: includes/Api/Types/AdminColumn.php:178 150 msgctxt "column name" 151 msgid "Submitted On" 152 msgstr "" 153 154 #: includes/Api/Types/AdminColumn.php:183 155 msgid "Username" 156 msgstr "" 157 158 #: includes/Api/Types/AdminColumn.php:184 159 #: build/index.js:1 160 msgid "Name" 161 msgstr "" 162 163 #: includes/Api/Types/AdminColumn.php:185 164 #: build/index.js:1 165 msgid "Email" 166 msgstr "" 167 168 #: includes/Api/Types/AdminColumn.php:186 169 #: build/index.js:1 170 msgid "Role" 171 msgstr "" 172 173 #: includes/Api/Types/AdminColumn.php:187 174 msgctxt "column name" 175 msgid "Posts" 176 msgstr "" 177 178 #: includes/Api/Types/AdminColumn.php:213 179 msgid "Custom Field (Meta)" 180 msgstr "" 181 182 #: includes/Api/Types/AdminColumn.php:217 183 msgid "Taxonomy Terms" 184 msgstr "" 185 186 #: includes/Api/Types/AdminColumn.php:221 187 msgid "Featured Image" 188 msgstr "" 189 190 #: includes/Api/Types/AdminColumn.php:225 191 msgid "Post Excerpt" 192 msgstr "" 193 194 #: includes/Api/Types/AdminColumn.php:229 195 msgid "Post ID" 196 msgstr "" 197 198 #: includes/Api/Types/AdminColumn.php:233 199 msgid "Post Status" 200 msgstr "" 201 202 #: includes/Api/Types/AdminColumn.php:240 203 msgid "Attachment Meta" 204 msgstr "" 205 206 #: includes/Api/Types/AdminColumn.php:244 207 msgid "Attachment ID" 208 msgstr "" 209 210 #: includes/Api/Types/AdminColumn.php:251 211 msgid "User Meta" 212 msgstr "" 213 214 #: includes/Api/Types/AdminColumn.php:255 215 msgid "User ID" 216 msgstr "" 217 218 #: includes/Api/Types/AdminColumn.php:262 219 msgid "Comment Meta" 220 msgstr "" 221 222 #: includes/Api/Types/AdminColumn.php:266 223 msgid "Comment ID" 224 msgstr "" 225 226 #: includes/Api/Types/AdminColumn.php:411 227 #: includes/Api/Types/AdminColumn.php:463 129 228 msgid "Screen ID is required!" 130 229 msgstr "" 131 230 132 #: dist/editx/includes/Api/Types/Restriction.php:152133 #: dist/editx/includes/Api/Types/Restriction.php:401134 231 #: includes/Api/Types/Restriction.php:152 135 232 #: includes/Api/Types/Restriction.php:401 136 233 #: build/index.js:1 137 #: dist/editx/build/index.js:1138 234 msgid "Please Select User" 139 235 msgstr "" 140 236 141 #: dist/editx/includes/Api/Types/Restriction.php:157142 #: dist/editx/includes/Api/Types/Restriction.php:406143 237 #: includes/Api/Types/Restriction.php:157 144 238 #: includes/Api/Types/Restriction.php:406 145 239 #: build/index.js:1 146 #: dist/editx/build/index.js:1147 240 msgid "Please Select Role" 148 241 msgstr "" 149 242 150 #: dist/editx/includes/Api/Types/Restriction.php:167151 243 #: includes/Api/Types/Restriction.php:167 152 244 msgid "User already exist!" 153 245 msgstr "" 154 246 155 #: dist/editx/includes/Api/Types/Restriction.php:175156 247 #: includes/Api/Types/Restriction.php:175 157 248 msgid "Role already exist!" 158 249 msgstr "" 159 250 160 #: dist/editx/includes/Api/Types/Restriction.php:183161 #: dist/editx/includes/Api/Types/Restriction.php:414162 251 #: includes/Api/Types/Restriction.php:183 163 252 #: includes/Api/Types/Restriction.php:414 … … 165 254 msgstr "" 166 255 167 #: dist/editx/includes/Api/Types/Restriction.php:191168 #: dist/editx/includes/Api/Types/Restriction.php:198169 #: dist/editx/includes/Api/Types/Restriction.php:422170 #: dist/editx/includes/Api/Types/Restriction.php:429171 256 #: includes/Api/Types/Restriction.php:191 172 257 #: includes/Api/Types/Restriction.php:198 … … 176 261 msgstr "" 177 262 178 #: dist/editx/includes/Api/Types/Setting.php:68179 #: dist/editx/includes/Api/Types/Setting.php:117180 263 #: includes/Api/Types/Setting.php:68 181 264 #: includes/Api/Types/Setting.php:117 … … 183 266 msgstr "" 184 267 185 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:35186 268 #: includes/Hooks/Types/Action/Types/NavMenu.php:35 187 269 msgid "Who Can See This Menu?" 188 270 msgstr "" 189 271 190 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:37191 272 #: includes/Hooks/Types/Action/Types/NavMenu.php:37 192 273 msgid "Everyone" 193 274 msgstr "" 194 275 195 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:38196 276 #: includes/Hooks/Types/Action/Types/NavMenu.php:38 197 277 msgid "Logged In Users" 198 278 msgstr "" 199 279 200 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:39201 280 #: includes/Hooks/Types/Action/Types/NavMenu.php:39 202 281 msgid "Logged Out Users" 203 282 msgstr "" 204 283 205 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:40206 284 #: includes/Hooks/Types/Action/Types/NavMenu.php:40 207 285 msgid "Specific Roles Users" 208 286 msgstr "" 209 287 210 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:46211 288 #: includes/Hooks/Types/Action/Types/NavMenu.php:46 212 289 msgid "Chose Which Roles Can See This Menu?" 213 290 msgstr "" 214 291 215 #: dist/editx/includes/Models/AdminColumn.php:23216 292 #: includes/Models/AdminColumn.php:23 217 293 msgid "Post Type" 218 294 msgstr "" 219 295 220 #: dist/editx/includes/Models/AdminColumn.php:29221 #: dist/editx/includes/Models/AdminColumn.php:32222 296 #: includes/Models/AdminColumn.php:29 223 297 #: includes/Models/AdminColumn.php:32 … … 225 299 msgstr "" 226 300 227 #: dist/editx/includes/Models/AdminColumn.php:40228 #: dist/editx/includes/Models/AdminColumn.php:43229 #: includes/Models/AdminColumn.php:40230 #: includes/Models/AdminColumn.php:43231 msgid "Comments"232 msgstr ""233 234 #: dist/editx/includes/Models/AdminColumn.php:54235 #: dist/editx/includes/Models/AdminColumn.php:57236 301 #: includes/Models/AdminColumn.php:54 237 302 #: includes/Models/AdminColumn.php:57 238 303 #: build/index.js:1 239 #: dist/editx/build/index.js:1240 304 msgid "Users" 241 305 msgstr "" 242 306 243 #: dist/editx/templates/app.php:5244 307 #: templates/app.php:5 245 308 msgid "Loading..." 246 309 msgstr "" 247 310 248 #: includes/Admin/Menu.php:313 249 msgid "Custom Menu" 250 msgstr "" 251 252 #: build/index.js:1 253 #: dist/editx/build/index.js:1 311 #: build/index.js:1 254 312 msgid "Reorder, rename, hide or add custom items to the WordPress admin sidebar menu." 255 313 msgstr "" 256 314 257 315 #: build/index.js:1 258 #: dist/editx/build/index.js:1259 316 msgid "Customize, reorder and resize columns in WordPress list tables for any post type." 260 317 msgstr "" 261 318 262 319 #: build/index.js:1 263 #: dist/editx/build/index.js:1264 320 msgid "Menu Restrictions" 265 321 msgstr "" 266 322 267 323 #: build/index.js:1 268 #: dist/editx/build/index.js:1269 324 msgid "Control which admin menu items are visible to specific users or user roles." 270 325 msgstr "" 271 326 272 327 #: build/index.js:1 273 #: dist/editx/build/index.js:1274 328 msgid "Enable or disable EditX feature modules to match your workflow needs." 275 329 msgstr "" 276 330 277 331 #: build/index.js:1 278 #: dist/editx/build/index.js:1279 332 msgid "hidden" 280 333 msgstr "" … … 285 338 286 339 #: build/index.js:1 287 #: dist/editx/build/index.js:1288 340 msgid "Edit" 289 341 msgstr "" 290 342 291 343 #: build/index.js:1 292 #: dist/editx/build/index.js:1293 344 msgid "Unhide" 294 345 msgstr "" 295 346 296 347 #: build/index.js:1 297 #: dist/editx/build/index.js:1298 348 msgid "Hide" 299 349 msgstr "" 300 350 301 351 #: build/index.js:1 302 #: dist/editx/build/index.js:1303 352 msgid "Delete" 304 353 msgstr "" … … 309 358 310 359 #: build/index.js:1 311 #: dist/editx/build/index.js:1312 360 msgid "Add New Submenu" 313 361 msgstr "" … … 318 366 319 367 #: build/index.js:1 320 #: dist/editx/build/index.js:1321 368 msgid "separator" 322 369 msgstr "" … … 327 374 328 375 #: build/index.js:1 329 #: dist/editx/build/index.js:1330 376 msgid "Add New Menu" 331 377 msgstr "" … … 360 406 361 407 #: build/index.js:1 362 #: dist/editx/build/index.js:1363 408 msgid "Select" 364 409 msgstr "" 365 410 366 411 #: build/index.js:1 367 #: dist/editx/build/index.js:1368 412 msgid "Roles" 369 413 msgstr "" 370 414 371 415 #: build/index.js:1 372 #: dist/editx/build/index.js:1373 416 msgid "Edit Menu" 374 417 msgstr "" 375 418 376 419 #: build/index.js:1 377 #: dist/editx/build/index.js:1378 420 msgid "Save" 379 421 msgstr "" 380 422 381 423 #: build/index.js:1 382 #: dist/editx/build/index.js:1383 424 msgid "Apply" 384 425 msgstr "" … … 473 514 474 515 #: build/index.js:1 475 #: dist/editx/build/index.js:1 476 msgid "Add New Column" 477 msgstr "" 478 479 #: build/index.js:1 480 #: dist/editx/build/index.js:1 516 msgid "Delete this custom column permanently?" 517 msgstr "" 518 519 #: build/index.js:1 520 msgid "Add Custom Column" 521 msgstr "" 522 523 #: build/index.js:1 481 524 msgid "Edit Column" 482 525 msgstr "" 483 526 484 527 #: build/index.js:1 485 #: dist/editx/build/index.js:1 528 msgid "Label" 529 msgstr "" 530 531 #: build/index.js:1 532 msgid "Column Type" 533 msgstr "" 534 535 #: build/index.js:1 536 msgid "— Select type —" 537 msgstr "" 538 539 #: build/index.js:1 540 msgid "Meta Key" 541 msgstr "" 542 543 #: build/index.js:1 544 msgid "e.g. _price" 545 msgstr "" 546 547 #: build/index.js:1 548 msgid "Start typing or pick from existing keys." 549 msgstr "" 550 551 #: build/index.js:1 552 msgid "Taxonomy" 553 msgstr "" 554 555 #: build/index.js:1 556 msgid "— Select taxonomy —" 557 msgstr "" 558 559 #: build/index.js:1 560 msgid "No taxonomies available for this post type." 561 msgstr "" 562 563 #: build/index.js:1 564 msgid "Column Class" 565 msgstr "" 566 567 #: build/index.js:1 568 msgid "Used as the column CSS class. Auto-generated from label." 569 msgstr "" 570 571 #: build/index.js:1 572 msgid "Width" 573 msgstr "" 574 575 #: build/index.js:1 486 576 msgid "Successfully Updated" 487 577 msgstr "" 488 578 489 579 #: build/index.js:1 490 #: dist/editx/build/index.js:1491 580 msgid "Columns reset to default" 492 581 msgstr "" 493 582 494 583 #: build/index.js:1 495 #: dist/editx/build/index.js:1496 584 msgid "Save Changes" 497 585 msgstr "" 498 586 499 587 #: build/index.js:1 500 #: dist/editx/build/index.js:1501 588 msgid "Reset to Default" 502 589 msgstr "" 503 590 504 591 #: build/index.js:1 505 #: dist/editx/build/index.js:1506 592 msgid "Screen" 507 593 msgstr "" 508 594 509 595 #: build/index.js:1 510 #: dist/editx/build/index.js:1511 596 msgid "View" 512 597 msgstr "" 513 598 514 599 #: build/index.js:1 515 #: dist/editx/build/index.js:1 600 msgid "Active Columns" 601 msgstr "" 602 603 #: build/index.js:1 604 msgid "Available Columns" 605 msgstr "" 606 607 #: build/index.js:1 608 msgid "Add column" 609 msgstr "" 610 611 #: build/index.js:1 516 612 msgid "ID" 517 613 msgstr "" 518 614 519 615 #: build/index.js:1 520 #: dist/editx/build/index.js:1521 msgid "Name"522 msgstr ""523 524 #: build/index.js:1525 #: dist/editx/build/index.js:1526 msgid "Email"527 msgstr ""528 529 #: build/index.js:1530 #: dist/editx/build/index.js:1531 msgid "Label"532 msgstr ""533 534 #: build/index.js:1535 #: dist/editx/build/index.js:1536 616 msgid "Actions" 537 617 msgstr "" 538 618 539 619 #: build/index.js:1 540 #: dist/editx/build/index.js:1541 620 msgid "Successfully Added" 542 621 msgstr "" 543 622 544 623 #: build/index.js:1 545 #: dist/editx/build/index.js:1546 624 msgid "Restrict" 547 625 msgstr "" 548 626 549 627 #: build/index.js:1 550 #: dist/editx/build/index.js:1551 628 msgid "User" 552 629 msgstr "" 553 630 554 631 #: build/index.js:1 555 #: dist/editx/build/index.js:1556 msgid "Role"557 msgstr ""558 559 #: build/index.js:1560 #: dist/editx/build/index.js:1561 632 msgid "Please Select Menu" 562 633 msgstr "" 563 634 564 635 #: build/index.js:1 565 #: dist/editx/build/index.js:1566 636 msgid "Updating…" 567 637 msgstr "" 568 638 569 639 #: build/index.js:1 570 #: dist/editx/build/index.js:1571 640 msgid "Submitting…" 572 641 msgstr "" 573 642 574 643 #: build/index.js:1 575 #: dist/editx/build/index.js:1576 644 msgid "Update" 577 645 msgstr "" 578 646 579 647 #: build/index.js:1 580 #: dist/editx/build/index.js:1581 648 msgid "Submit" 582 649 msgstr "" 583 650 584 651 #: build/index.js:1 585 #: dist/editx/build/index.js:1586 652 msgid "Back to" 587 653 msgstr "" 588 654 589 655 #: build/index.js:1 590 #: dist/editx/build/index.js:1591 656 msgid "Menu Access" 592 657 msgstr "" 593 658 594 659 #: build/index.js:1 595 #: dist/editx/build/index.js:1596 660 msgid "Select the menu items you want to allow for this" 597 661 msgstr "" 598 662 599 663 #: build/index.js:1 600 #: dist/editx/build/index.js:1601 664 msgid "user" 602 665 msgstr "" 603 666 604 667 #: build/index.js:1 605 #: dist/editx/build/index.js:1606 668 msgid "role" 607 669 msgstr "" 608 670 609 671 #: build/index.js:1 610 #: dist/editx/build/index.js:1611 672 msgid "Active" 612 673 msgstr "" 613 674 614 675 #: build/index.js:1 615 #: dist/editx/build/index.js:1616 676 msgid "Inactive" 617 677 msgstr "" 618 678 619 679 #: build/index.js:1 620 #: dist/editx/build/index.js:1621 680 msgid "Page Not Found" 622 681 msgstr "" 623 682 624 683 #: build/index.js:1 625 #: dist/editx/build/index.js:1626 684 msgid "The page you are looking for does not exist." 627 685 msgstr "" 628 686 629 687 #: build/index.js:1 630 #: dist/editx/build/index.js:1631 688 msgid "Customize your WordPress admin experience — edit menus, columns and restrict access." 632 689 msgstr "" 633 690 634 691 #: build/index.js:1 635 #: dist/editx/build/index.js:1636 692 msgid "Menus reset to default" 637 693 msgstr "" 638 694 639 695 #: build/index.js:1 640 #: dist/editx/build/index.js:1641 696 msgid "Submenu Name" 642 697 msgstr "" 643 698 644 699 #: build/index.js:1 645 #: dist/editx/build/index.js:1646 700 msgid "Menu Name" 647 701 msgstr "" 648 702 649 703 #: build/index.js:1 650 #: dist/editx/build/index.js:1 704 msgid "Restriction" 705 msgstr "" 706 707 #: build/index.js:1 651 708 msgid "No restrictions yet" 652 709 msgstr "" 653 710 654 711 #: build/index.js:1 655 #: dist/editx/build/index.js:1656 712 msgid "No restrictions set for any" 657 713 msgstr "" 658 714 659 715 #: build/index.js:1 660 #: dist/editx/build/index.js:1661 716 msgid "yet." 662 717 msgstr "" 663 718 664 719 #: build/index.js:1 665 #: dist/editx/build/index.js:1666 720 msgid "Restrict a" 667 721 msgstr "" -
editx/trunk/vendor/composer/autoload_classmap.php
r3479678 r3480708 11 11 'EditX\\Admin\\Menu' => $baseDir . '/includes/Admin/Menu.php', 12 12 'EditX\\Ajax\\Manager' => $baseDir . '/includes/Ajax/Manager.php', 13 'EditX\\Ajax\\ScreenColumns' => $baseDir . '/includes/Ajax/ScreenColumns.php', 13 14 'EditX\\Api\\Controller' => $baseDir . '/includes/Api/Controller.php', 14 15 'EditX\\Api\\Types\\Action' => $baseDir . '/includes/Api/Types/Action.php', -
editx/trunk/vendor/composer/autoload_static.php
r3479678 r3480708 31 31 'EditX\\Admin\\Menu' => __DIR__ . '/../..' . '/includes/Admin/Menu.php', 32 32 'EditX\\Ajax\\Manager' => __DIR__ . '/../..' . '/includes/Ajax/Manager.php', 33 'EditX\\Ajax\\ScreenColumns' => __DIR__ . '/../..' . '/includes/Ajax/ScreenColumns.php', 33 34 'EditX\\Api\\Controller' => __DIR__ . '/../..' . '/includes/Api/Controller.php', 34 35 'EditX\\Api\\Types\\Action' => __DIR__ . '/../..' . '/includes/Api/Types/Action.php',
Note: See TracChangeset
for help on using the changeset viewer.