Plugin Directory

Changeset 3480708


Ignore:
Timestamp:
03/11/2026 11:28:46 PM (3 weeks ago)
Author:
softtent
Message:

Updated: Admin Column Editor functionality

Location:
editx
Files:
81 added
16 edited

Legend:

Unmodified
Added
Removed
  • editx/trunk/README.txt

    r3479678 r3480708  
    55Tested up to: 6.9
    66Requires PHP: 7.4
    7 Stable tag: 0.2.0
     7Stable tag: 0.2.1
    88License: GPL-2.0-or-later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    7474== Changelog ==
    7575
     76= 0.2.1 - 13 March, 2026 =
     77* Improved: Admin Column Editor Functionality
     78
    7679= 0.2.0 - 11 March, 2026 =
    7780* Added: Dashicons Picker In Menu Editor
  • editx/trunk/build/index-rtl.css

    r3479678 r3480708  
    11: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' => '68da3edd6322b811feca');
     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  
    11: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)&&gt(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)&&gt(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  
    99 *
    1010 * @wordpress-plugin
    11  * Plugin Name:       Admin Menu Editor, Admin Column Editor - EditX
     11 * Plugin Name:       EditX
    1212 * Plugin URI:        https://wordpress.org/plugins/editx
    13  * Description:       A admin menu editor, admin column editor, and admin access control plugin for WordPress
    14  * Version:           0.2.0
     13 * Description:       A admin menu editor, admin column editor for WordPress
     14 * Version:           0.2.1
    1515 * Author:            SoftTent
    1616 * Author URI:        https://softtent.com
     
    131131     */
    132132    public function define_constants() {
    133         define( 'EDITX_VERSION', '0.2.0' );
     133        define( 'EDITX_VERSION', '0.2.1' );
    134134        define( 'EDITX_SLUG', 'editx' );
    135135        define( 'EDITX_FILE', __FILE__ );
  • editx/trunk/includes/Admin/Menu.php

    r3479678 r3480708  
    77}
    88
    9 use EditX\Helpers\AdminColumn\WpListTableFactory;
    10 use EditX\Models\AdminColumn as ModelAdminColumn;
    119
    1210/**
     
    3533            //Save admin menus (original, before any editor modifications)
    3634            $this->save_admin_menus();
    37 
    38             //Save admin columns
    39             $this->save_admin_columns();
    4035        }
    4136
     
    168163
    169164        update_option( 'editx_admin_menu', $merged_menu );
    170     }
    171 
    172     /**
    173      * Save admin columns to option table
    174      *
    175      * @since 0.1.0
    176      */
    177     public function save_admin_columns() {
    178         //Post type table
    179         $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 table
    185         $columns = ( new WpListTableFactory() )->get_media_table( 'upload' )->get_columns();
    186         update_option( 'editx_admin_column_upload_default', $columns, false );
    187 
    188         //Comment table
    189         $columns = ( new WpListTableFactory() )->get_comment_table( 'edit-comments' )->get_columns();
    190         update_option( 'editx_admin_column_edit-comments_default', $columns, false );
    191 
    192         //Comment table
    193         $columns = ( new WpListTableFactory() )->get_user_table( 'users' )->get_columns();
    194         update_option( 'editx_admin_column_users_default', $columns, false );
    195165    }
    196166
  • editx/trunk/includes/Ajax/Manager.php

    r3478674 r3480708  
    1818     */
    1919    public function __construct() {
     20        new ScreenColumns();
    2021    }
    2122}
  • editx/trunk/includes/Api/Types/AdminColumn.php

    r3479600 r3480708  
    55use EditX\Abstracts\RestApi;
    66use EditX\Helpers\AdminColumn\Fns as ColumnFns;
     7use EditX\Hooks\Types\Filter\Types\AdminColumn as FilterAdminColumn;
    78use EditX\Models\AdminColumn as ModelAdminColumn;
    89
     
    8081
    8182    /**
     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    /**
    82394     * Get single request
    83395     *
     
    110422        } else {
    111423            $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 );
    133431
    134432            return new \WP_REST_Response(
  • editx/trunk/includes/Assets/Manager.php

    r3479678 r3480708  
    224224        wp_enqueue_script('editx');
    225225
    226         wp_localize_script('editx', 'editxParams', []);
     226        wp_localize_script('editx', 'editxParams', [
     227            'nonce' => wp_create_nonce( 'editx_nonce' ),
     228        ]);
    227229    }
    228230}
  • editx/trunk/includes/Helpers/AdminColumn/WpListTableFactory.php

    r3342250 r3480708  
    1717 */
    1818class 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    }
    1933
    2034    /**
  • editx/trunk/includes/Hooks/Types/Action/Types/AdminColumn.php

    r3478674 r3480708  
    22namespace EditX\Hooks\Types\Action\Types;
    33
     4if ( ! defined( 'ABSPATH' ) ) {
     5    exit;
     6}
     7
     8use EditX\Models\AdminColumn as ModelAdminColumn;
     9
    410/**
    5  * Action Hook Type: NavMenu
     11 * Action Hook Type: AdminColumn
     12 * Renders custom column values on WP admin list screens.
    613 *
    714 * @since 0.1.0
     
    1017
    1118    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 );
    12241    }
    13242}
  • editx/trunk/includes/Hooks/Types/Filter/Types/AdminColumn.php

    r3479600 r3480708  
    1010
    1111/**
    12  * Filte Hook Type: AdminColumn
     12 * Filter Hook Type: AdminColumn
    1313 *
    1414 * @since 0.1.0
     
    1616class AdminColumn {
    1717
    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    }
    2157
    2258    /**
     
    3369                if ( $group['group'] === 'post_type' ) {
    3470                    add_filter(
    35                         'manage_' . $screen . '_posts_columns', function ( $columns ) use ( $screen ) {
     71                        'manage_edit-' . $screen . '_columns', function ( $columns ) use ( $screen ) {
    3672                            return $this->add_headings( $columns, $screen );
    3773                        }, 999
    38                     );
     74                    );
    3975                } else {
    4076                    $screen_id = $group['screen_id'];
    4177                    add_filter(
    42                         'manage_' . $screen_id . '_columns', function ( $columns ) use ( $screen ) {
     78                        'manage_' . $screen_id . '_columns', function ( $columns ) use ( $screen ) {
    4379                            return $this->add_headings( $columns, $screen );
    4480                        }, 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    /**
    52166     * Add heading
    53167     *
    54168     * @since 0.1.0
    55169     *
    56      * @param $columns = default column
    57      * @param $screen = screen id
     170     * @param array  $columns default columns
     171     * @param string $screen screen id
    58172     *
    59173     * @return array
    60174     */
    61175    public function add_headings( $columns, $screen ) {
     176        if ( self::$bypass_override ) {
     177            return $columns;
     178        }
     179
    62180        if ( empty( $columns ) ) {
    63181            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 );
    64187        }
    65188
     
    73196            foreach ( $get_columns as $value ) {
    74197                if ( ! empty( $value['hidden'] ) ) {
    75                     continue; // Skip hidden columns
     198                    continue;
    76199                }
    77200                $custom_column[ (string) ( $value['id'] ?? '' ) ] = (string) ( $value['label'] ?? '' );
     
    82205        return $columns;
    83206    }
     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    }
    84258}
  • editx/trunk/languages/editx.pot

    r3479678 r3480708  
    22msgid ""
    33msgstr ""
    4 "Project-Id-Version: Admin Menu Editor, Admin Column Editor - EditX 0.2.0\n"
     4"Project-Id-Version: EditX 0.2.1\n"
    55"Report-Msgid-Bugs-To: https://github.com/softtent/editx/issues\n"
    66"Last-Translator: contact@nurency.com\n"
     
    99"Content-Type: text/plain; charset=UTF-8\n"
    1010"Content-Transfer-Encoding: 8bit\n"
    11 "POT-Creation-Date: 2026-03-11T03:37:07+00:00\n"
     11"POT-Creation-Date: 2026-03-11T23:23:03+00:00\n"
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1313"X-Generator: WP-CLI 2.11.0\n"
     
    1616#. Plugin Name of the plugin
    1717#: editx.php
    18 msgid "Admin Menu Editor, Admin Column Editor - EditX"
     18#: includes/Admin/Menu.php:61
     19#: includes/Admin/Menu.php:62
     20msgid "EditX"
    1921msgstr ""
    2022
     
    2628#. Description of the plugin
    2729#: editx.php
    28 msgid "A admin menu editor, admin column editor, and admin access control plugin for WordPress"
     30msgid "A admin menu editor, admin column editor for WordPress"
    2931msgstr ""
    3032
     
    3941msgstr ""
    4042
    41 #: dist/editx/includes/Abstracts/RestApi.php:48
    4243#: includes/Abstracts/RestApi.php:48
    4344msgid "Sorry, you are not allowed to do that."
    4445msgstr ""
    4546
    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
     50msgid "Admin Menu Editor"
     51msgstr ""
     52
    5553#: includes/Admin/Menu.php:80
    56 #: includes/Api/Types/Addon.php:78
    57 #: build/index.js:1
    58 #: dist/editx/build/index.js:1
    59 msgid "Admin Menu Editor"
    60 msgstr ""
    61 
    62 #: dist/editx/includes/Admin/Menu.php:84
    63 #: dist/editx/includes/Api/Types/Addon.php:84
    64 #: includes/Admin/Menu.php:85
    6554#: includes/Api/Types/Addon.php:84
    6655#: build/index.js:1
    67 #: dist/editx/build/index.js:1
    6856msgid "Admin Column Editor"
    6957msgstr ""
    7058
    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
    7961msgid "Addons"
    8062msgstr ""
    8163
    82 #: dist/editx/includes/Admin/Menu.php:420
    83 #: includes/Admin/Menu.php:484
     64#: includes/Admin/Menu.php:283
     65msgid "Custom Menu"
     66msgstr ""
     67
     68#: includes/Admin/Menu.php:454
    8469msgid "Sorry, you are not allowed to access this page."
    8570msgstr ""
    8671
    87 #: dist/editx/includes/Api/Types/Action.php:98
     72#: includes/Ajax/ScreenColumns.php:34
     73msgid "Forbidden"
     74msgstr ""
     75
     76#: includes/Ajax/ScreenColumns.php:41
     77msgid "Screen ID is required"
     78msgstr ""
     79
    8880#: includes/Api/Types/Action.php:98
    8981msgid "Required field is missing"
    9082msgstr ""
    9183
    92 #: dist/editx/includes/Api/Types/Action.php:133
    9384#: includes/Api/Types/Action.php:133
    9485msgid "Type is missing"
    9586msgstr ""
    9687
    97 #: dist/editx/includes/Api/Types/Addon.php:85
    9888#: includes/Api/Types/Addon.php:85
    9989msgid "You can customize table column using this"
    10090msgstr ""
    10191
    102 #: dist/editx/includes/Api/Types/Addon.php:90
    103 #: build/index.js:1
    104 #: dist/editx/build/index.js:1
    105 msgid "Restriction"
    106 msgstr ""
    107 
    108 #: dist/editx/includes/Api/Types/Addon.php:91
    109 msgid "You can restrict admin menu and submenu using this"
    110 msgstr ""
    111 
    112 #: dist/editx/includes/Api/Types/Addon.php:96
    113 msgid "Nav Menu Restriction"
    114 msgstr ""
    115 
    116 #: dist/editx/includes/Api/Types/Addon.php:97
    117 msgid "You can restrict nav menu using this"
    118 msgstr ""
    119 
    120 #: dist/editx/includes/Api/Types/Addon.php:141
    12192#: includes/Api/Types/Addon.php:143
    12293msgid "Addon is missing"
    12394msgstr ""
    12495
    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
     97msgid "Title"
     98msgstr ""
     99
     100#: includes/Api/Types/AdminColumn.php:98
     101msgctxt "column name"
     102msgid "Title"
     103msgstr ""
     104
     105#: includes/Api/Types/AdminColumn.php:102
     106#: includes/Api/Types/AdminColumn.php:163
     107#: includes/Api/Types/AdminColumn.php:176
     108msgid "Author"
     109msgstr ""
     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
     117msgid "Comments"
     118msgstr ""
     119
     120#: includes/Api/Types/AdminColumn.php:130
     121msgid "Date"
     122msgstr ""
     123
     124#: includes/Api/Types/AdminColumn.php:162
     125msgctxt "column name"
     126msgid "File"
     127msgstr ""
     128
     129#: includes/Api/Types/AdminColumn.php:164
     130msgctxt "column name"
     131msgid "Uploaded to"
     132msgstr ""
     133
     134#: includes/Api/Types/AdminColumn.php:170
     135msgctxt "column name"
     136msgid "Date"
     137msgstr ""
     138
     139#: includes/Api/Types/AdminColumn.php:175
     140msgctxt "column name"
     141msgid "Comment"
     142msgstr ""
     143
     144#: includes/Api/Types/AdminColumn.php:177
     145msgctxt "column name"
     146msgid "In Response To"
     147msgstr ""
     148
     149#: includes/Api/Types/AdminColumn.php:178
     150msgctxt "column name"
     151msgid "Submitted On"
     152msgstr ""
     153
     154#: includes/Api/Types/AdminColumn.php:183
     155msgid "Username"
     156msgstr ""
     157
     158#: includes/Api/Types/AdminColumn.php:184
     159#: build/index.js:1
     160msgid "Name"
     161msgstr ""
     162
     163#: includes/Api/Types/AdminColumn.php:185
     164#: build/index.js:1
     165msgid "Email"
     166msgstr ""
     167
     168#: includes/Api/Types/AdminColumn.php:186
     169#: build/index.js:1
     170msgid "Role"
     171msgstr ""
     172
     173#: includes/Api/Types/AdminColumn.php:187
     174msgctxt "column name"
     175msgid "Posts"
     176msgstr ""
     177
     178#: includes/Api/Types/AdminColumn.php:213
     179msgid "Custom Field (Meta)"
     180msgstr ""
     181
     182#: includes/Api/Types/AdminColumn.php:217
     183msgid "Taxonomy Terms"
     184msgstr ""
     185
     186#: includes/Api/Types/AdminColumn.php:221
     187msgid "Featured Image"
     188msgstr ""
     189
     190#: includes/Api/Types/AdminColumn.php:225
     191msgid "Post Excerpt"
     192msgstr ""
     193
     194#: includes/Api/Types/AdminColumn.php:229
     195msgid "Post ID"
     196msgstr ""
     197
     198#: includes/Api/Types/AdminColumn.php:233
     199msgid "Post Status"
     200msgstr ""
     201
     202#: includes/Api/Types/AdminColumn.php:240
     203msgid "Attachment Meta"
     204msgstr ""
     205
     206#: includes/Api/Types/AdminColumn.php:244
     207msgid "Attachment ID"
     208msgstr ""
     209
     210#: includes/Api/Types/AdminColumn.php:251
     211msgid "User Meta"
     212msgstr ""
     213
     214#: includes/Api/Types/AdminColumn.php:255
     215msgid "User ID"
     216msgstr ""
     217
     218#: includes/Api/Types/AdminColumn.php:262
     219msgid "Comment Meta"
     220msgstr ""
     221
     222#: includes/Api/Types/AdminColumn.php:266
     223msgid "Comment ID"
     224msgstr ""
     225
     226#: includes/Api/Types/AdminColumn.php:411
     227#: includes/Api/Types/AdminColumn.php:463
    129228msgid "Screen ID is required!"
    130229msgstr ""
    131230
    132 #: dist/editx/includes/Api/Types/Restriction.php:152
    133 #: dist/editx/includes/Api/Types/Restriction.php:401
    134231#: includes/Api/Types/Restriction.php:152
    135232#: includes/Api/Types/Restriction.php:401
    136233#: build/index.js:1
    137 #: dist/editx/build/index.js:1
    138234msgid "Please Select User"
    139235msgstr ""
    140236
    141 #: dist/editx/includes/Api/Types/Restriction.php:157
    142 #: dist/editx/includes/Api/Types/Restriction.php:406
    143237#: includes/Api/Types/Restriction.php:157
    144238#: includes/Api/Types/Restriction.php:406
    145239#: build/index.js:1
    146 #: dist/editx/build/index.js:1
    147240msgid "Please Select Role"
    148241msgstr ""
    149242
    150 #: dist/editx/includes/Api/Types/Restriction.php:167
    151243#: includes/Api/Types/Restriction.php:167
    152244msgid "User already exist!"
    153245msgstr ""
    154246
    155 #: dist/editx/includes/Api/Types/Restriction.php:175
    156247#: includes/Api/Types/Restriction.php:175
    157248msgid "Role already exist!"
    158249msgstr ""
    159250
    160 #: dist/editx/includes/Api/Types/Restriction.php:183
    161 #: dist/editx/includes/Api/Types/Restriction.php:414
    162251#: includes/Api/Types/Restriction.php:183
    163252#: includes/Api/Types/Restriction.php:414
     
    165254msgstr ""
    166255
    167 #: dist/editx/includes/Api/Types/Restriction.php:191
    168 #: dist/editx/includes/Api/Types/Restriction.php:198
    169 #: dist/editx/includes/Api/Types/Restriction.php:422
    170 #: dist/editx/includes/Api/Types/Restriction.php:429
    171256#: includes/Api/Types/Restriction.php:191
    172257#: includes/Api/Types/Restriction.php:198
     
    176261msgstr ""
    177262
    178 #: dist/editx/includes/Api/Types/Setting.php:68
    179 #: dist/editx/includes/Api/Types/Setting.php:117
    180263#: includes/Api/Types/Setting.php:68
    181264#: includes/Api/Types/Setting.php:117
     
    183266msgstr ""
    184267
    185 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:35
    186268#: includes/Hooks/Types/Action/Types/NavMenu.php:35
    187269msgid "Who Can See This Menu?"
    188270msgstr ""
    189271
    190 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:37
    191272#: includes/Hooks/Types/Action/Types/NavMenu.php:37
    192273msgid "Everyone"
    193274msgstr ""
    194275
    195 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:38
    196276#: includes/Hooks/Types/Action/Types/NavMenu.php:38
    197277msgid "Logged In Users"
    198278msgstr ""
    199279
    200 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:39
    201280#: includes/Hooks/Types/Action/Types/NavMenu.php:39
    202281msgid "Logged Out Users"
    203282msgstr ""
    204283
    205 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:40
    206284#: includes/Hooks/Types/Action/Types/NavMenu.php:40
    207285msgid "Specific Roles Users"
    208286msgstr ""
    209287
    210 #: dist/editx/includes/Hooks/Types/Action/Types/NavMenu.php:46
    211288#: includes/Hooks/Types/Action/Types/NavMenu.php:46
    212289msgid "Chose Which Roles Can See This Menu?"
    213290msgstr ""
    214291
    215 #: dist/editx/includes/Models/AdminColumn.php:23
    216292#: includes/Models/AdminColumn.php:23
    217293msgid "Post Type"
    218294msgstr ""
    219295
    220 #: dist/editx/includes/Models/AdminColumn.php:29
    221 #: dist/editx/includes/Models/AdminColumn.php:32
    222296#: includes/Models/AdminColumn.php:29
    223297#: includes/Models/AdminColumn.php:32
     
    225299msgstr ""
    226300
    227 #: dist/editx/includes/Models/AdminColumn.php:40
    228 #: dist/editx/includes/Models/AdminColumn.php:43
    229 #: includes/Models/AdminColumn.php:40
    230 #: includes/Models/AdminColumn.php:43
    231 msgid "Comments"
    232 msgstr ""
    233 
    234 #: dist/editx/includes/Models/AdminColumn.php:54
    235 #: dist/editx/includes/Models/AdminColumn.php:57
    236301#: includes/Models/AdminColumn.php:54
    237302#: includes/Models/AdminColumn.php:57
    238303#: build/index.js:1
    239 #: dist/editx/build/index.js:1
    240304msgid "Users"
    241305msgstr ""
    242306
    243 #: dist/editx/templates/app.php:5
    244307#: templates/app.php:5
    245308msgid "Loading..."
    246309msgstr ""
    247310
    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
    254312msgid "Reorder, rename, hide or add custom items to the WordPress admin sidebar menu."
    255313msgstr ""
    256314
    257315#: build/index.js:1
    258 #: dist/editx/build/index.js:1
    259316msgid "Customize, reorder and resize columns in WordPress list tables for any post type."
    260317msgstr ""
    261318
    262319#: build/index.js:1
    263 #: dist/editx/build/index.js:1
    264320msgid "Menu Restrictions"
    265321msgstr ""
    266322
    267323#: build/index.js:1
    268 #: dist/editx/build/index.js:1
    269324msgid "Control which admin menu items are visible to specific users or user roles."
    270325msgstr ""
    271326
    272327#: build/index.js:1
    273 #: dist/editx/build/index.js:1
    274328msgid "Enable or disable EditX feature modules to match your workflow needs."
    275329msgstr ""
    276330
    277331#: build/index.js:1
    278 #: dist/editx/build/index.js:1
    279332msgid "hidden"
    280333msgstr ""
     
    285338
    286339#: build/index.js:1
    287 #: dist/editx/build/index.js:1
    288340msgid "Edit"
    289341msgstr ""
    290342
    291343#: build/index.js:1
    292 #: dist/editx/build/index.js:1
    293344msgid "Unhide"
    294345msgstr ""
    295346
    296347#: build/index.js:1
    297 #: dist/editx/build/index.js:1
    298348msgid "Hide"
    299349msgstr ""
    300350
    301351#: build/index.js:1
    302 #: dist/editx/build/index.js:1
    303352msgid "Delete"
    304353msgstr ""
     
    309358
    310359#: build/index.js:1
    311 #: dist/editx/build/index.js:1
    312360msgid "Add New Submenu"
    313361msgstr ""
     
    318366
    319367#: build/index.js:1
    320 #: dist/editx/build/index.js:1
    321368msgid "separator"
    322369msgstr ""
     
    327374
    328375#: build/index.js:1
    329 #: dist/editx/build/index.js:1
    330376msgid "Add New Menu"
    331377msgstr ""
     
    360406
    361407#: build/index.js:1
    362 #: dist/editx/build/index.js:1
    363408msgid "Select"
    364409msgstr ""
    365410
    366411#: build/index.js:1
    367 #: dist/editx/build/index.js:1
    368412msgid "Roles"
    369413msgstr ""
    370414
    371415#: build/index.js:1
    372 #: dist/editx/build/index.js:1
    373416msgid "Edit Menu"
    374417msgstr ""
    375418
    376419#: build/index.js:1
    377 #: dist/editx/build/index.js:1
    378420msgid "Save"
    379421msgstr ""
    380422
    381423#: build/index.js:1
    382 #: dist/editx/build/index.js:1
    383424msgid "Apply"
    384425msgstr ""
     
    473514
    474515#: 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
     516msgid "Delete this custom column permanently?"
     517msgstr ""
     518
     519#: build/index.js:1
     520msgid "Add Custom Column"
     521msgstr ""
     522
     523#: build/index.js:1
    481524msgid "Edit Column"
    482525msgstr ""
    483526
    484527#: build/index.js:1
    485 #: dist/editx/build/index.js:1
     528msgid "Label"
     529msgstr ""
     530
     531#: build/index.js:1
     532msgid "Column Type"
     533msgstr ""
     534
     535#: build/index.js:1
     536msgid "— Select type —"
     537msgstr ""
     538
     539#: build/index.js:1
     540msgid "Meta Key"
     541msgstr ""
     542
     543#: build/index.js:1
     544msgid "e.g. _price"
     545msgstr ""
     546
     547#: build/index.js:1
     548msgid "Start typing or pick from existing keys."
     549msgstr ""
     550
     551#: build/index.js:1
     552msgid "Taxonomy"
     553msgstr ""
     554
     555#: build/index.js:1
     556msgid "— Select taxonomy —"
     557msgstr ""
     558
     559#: build/index.js:1
     560msgid "No taxonomies available for this post type."
     561msgstr ""
     562
     563#: build/index.js:1
     564msgid "Column Class"
     565msgstr ""
     566
     567#: build/index.js:1
     568msgid "Used as the column CSS class. Auto-generated from label."
     569msgstr ""
     570
     571#: build/index.js:1
     572msgid "Width"
     573msgstr ""
     574
     575#: build/index.js:1
    486576msgid "Successfully Updated"
    487577msgstr ""
    488578
    489579#: build/index.js:1
    490 #: dist/editx/build/index.js:1
    491580msgid "Columns reset to default"
    492581msgstr ""
    493582
    494583#: build/index.js:1
    495 #: dist/editx/build/index.js:1
    496584msgid "Save Changes"
    497585msgstr ""
    498586
    499587#: build/index.js:1
    500 #: dist/editx/build/index.js:1
    501588msgid "Reset to Default"
    502589msgstr ""
    503590
    504591#: build/index.js:1
    505 #: dist/editx/build/index.js:1
    506592msgid "Screen"
    507593msgstr ""
    508594
    509595#: build/index.js:1
    510 #: dist/editx/build/index.js:1
    511596msgid "View"
    512597msgstr ""
    513598
    514599#: build/index.js:1
    515 #: dist/editx/build/index.js:1
     600msgid "Active Columns"
     601msgstr ""
     602
     603#: build/index.js:1
     604msgid "Available Columns"
     605msgstr ""
     606
     607#: build/index.js:1
     608msgid "Add column"
     609msgstr ""
     610
     611#: build/index.js:1
    516612msgid "ID"
    517613msgstr ""
    518614
    519615#: build/index.js:1
    520 #: dist/editx/build/index.js:1
    521 msgid "Name"
    522 msgstr ""
    523 
    524 #: build/index.js:1
    525 #: dist/editx/build/index.js:1
    526 msgid "Email"
    527 msgstr ""
    528 
    529 #: build/index.js:1
    530 #: dist/editx/build/index.js:1
    531 msgid "Label"
    532 msgstr ""
    533 
    534 #: build/index.js:1
    535 #: dist/editx/build/index.js:1
    536616msgid "Actions"
    537617msgstr ""
    538618
    539619#: build/index.js:1
    540 #: dist/editx/build/index.js:1
    541620msgid "Successfully Added"
    542621msgstr ""
    543622
    544623#: build/index.js:1
    545 #: dist/editx/build/index.js:1
    546624msgid "Restrict"
    547625msgstr ""
    548626
    549627#: build/index.js:1
    550 #: dist/editx/build/index.js:1
    551628msgid "User"
    552629msgstr ""
    553630
    554631#: build/index.js:1
    555 #: dist/editx/build/index.js:1
    556 msgid "Role"
    557 msgstr ""
    558 
    559 #: build/index.js:1
    560 #: dist/editx/build/index.js:1
    561632msgid "Please Select Menu"
    562633msgstr ""
    563634
    564635#: build/index.js:1
    565 #: dist/editx/build/index.js:1
    566636msgid "Updating…"
    567637msgstr ""
    568638
    569639#: build/index.js:1
    570 #: dist/editx/build/index.js:1
    571640msgid "Submitting…"
    572641msgstr ""
    573642
    574643#: build/index.js:1
    575 #: dist/editx/build/index.js:1
    576644msgid "Update"
    577645msgstr ""
    578646
    579647#: build/index.js:1
    580 #: dist/editx/build/index.js:1
    581648msgid "Submit"
    582649msgstr ""
    583650
    584651#: build/index.js:1
    585 #: dist/editx/build/index.js:1
    586652msgid "Back to"
    587653msgstr ""
    588654
    589655#: build/index.js:1
    590 #: dist/editx/build/index.js:1
    591656msgid "Menu Access"
    592657msgstr ""
    593658
    594659#: build/index.js:1
    595 #: dist/editx/build/index.js:1
    596660msgid "Select the menu items you want to allow for this"
    597661msgstr ""
    598662
    599663#: build/index.js:1
    600 #: dist/editx/build/index.js:1
    601664msgid "user"
    602665msgstr ""
    603666
    604667#: build/index.js:1
    605 #: dist/editx/build/index.js:1
    606668msgid "role"
    607669msgstr ""
    608670
    609671#: build/index.js:1
    610 #: dist/editx/build/index.js:1
    611672msgid "Active"
    612673msgstr ""
    613674
    614675#: build/index.js:1
    615 #: dist/editx/build/index.js:1
    616676msgid "Inactive"
    617677msgstr ""
    618678
    619679#: build/index.js:1
    620 #: dist/editx/build/index.js:1
    621680msgid "Page Not Found"
    622681msgstr ""
    623682
    624683#: build/index.js:1
    625 #: dist/editx/build/index.js:1
    626684msgid "The page you are looking for does not exist."
    627685msgstr ""
    628686
    629687#: build/index.js:1
    630 #: dist/editx/build/index.js:1
    631688msgid "Customize your WordPress admin experience — edit menus, columns and restrict access."
    632689msgstr ""
    633690
    634691#: build/index.js:1
    635 #: dist/editx/build/index.js:1
    636692msgid "Menus reset to default"
    637693msgstr ""
    638694
    639695#: build/index.js:1
    640 #: dist/editx/build/index.js:1
    641696msgid "Submenu Name"
    642697msgstr ""
    643698
    644699#: build/index.js:1
    645 #: dist/editx/build/index.js:1
    646700msgid "Menu Name"
    647701msgstr ""
    648702
    649703#: build/index.js:1
    650 #: dist/editx/build/index.js:1
     704msgid "Restriction"
     705msgstr ""
     706
     707#: build/index.js:1
    651708msgid "No restrictions yet"
    652709msgstr ""
    653710
    654711#: build/index.js:1
    655 #: dist/editx/build/index.js:1
    656712msgid "No restrictions set for any"
    657713msgstr ""
    658714
    659715#: build/index.js:1
    660 #: dist/editx/build/index.js:1
    661716msgid "yet."
    662717msgstr ""
    663718
    664719#: build/index.js:1
    665 #: dist/editx/build/index.js:1
    666720msgid "Restrict a"
    667721msgstr ""
  • editx/trunk/vendor/composer/autoload_classmap.php

    r3479678 r3480708  
    1111    'EditX\\Admin\\Menu' => $baseDir . '/includes/Admin/Menu.php',
    1212    'EditX\\Ajax\\Manager' => $baseDir . '/includes/Ajax/Manager.php',
     13    'EditX\\Ajax\\ScreenColumns' => $baseDir . '/includes/Ajax/ScreenColumns.php',
    1314    'EditX\\Api\\Controller' => $baseDir . '/includes/Api/Controller.php',
    1415    'EditX\\Api\\Types\\Action' => $baseDir . '/includes/Api/Types/Action.php',
  • editx/trunk/vendor/composer/autoload_static.php

    r3479678 r3480708  
    3131        'EditX\\Admin\\Menu' => __DIR__ . '/../..' . '/includes/Admin/Menu.php',
    3232        'EditX\\Ajax\\Manager' => __DIR__ . '/../..' . '/includes/Ajax/Manager.php',
     33        'EditX\\Ajax\\ScreenColumns' => __DIR__ . '/../..' . '/includes/Ajax/ScreenColumns.php',
    3334        'EditX\\Api\\Controller' => __DIR__ . '/../..' . '/includes/Api/Controller.php',
    3435        'EditX\\Api\\Types\\Action' => __DIR__ . '/../..' . '/includes/Api/Types/Action.php',
Note: See TracChangeset for help on using the changeset viewer.