From b063842a03f278a8ce143f250d717c3983cb4194 Mon Sep 17 00:00:00 2001 From: Gaurav Tiwari Date: Sun, 6 Sep 2026 11:17:41 +0530 Subject: [PATCH 1/2] Stop the WordPress 7 panel labelling itself, and hide it when the module is off MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The panel above Redirect Manager was headed "WordPress 7 workspace". That named the implementation rather than what the reader was looking at, and it dates itself the moment WordPress 8 ships. The heading is gone: the panel's own tables already say "Redirects" and "404 activity", so the outer heading carried a label and no information. Auditing the rest of the admin copy turned up a worse problem behind the same screen. The panel rendered for any of its four supported modules without ever checking whether that module was enabled. On a site with Redirect Manager switched off it showed two empty tables and a fully interactive "Add redirect" form. The REST route correctly returns nothing for a disabled module and create-redirect correctly refuses, so the only thing the form could do was produce an error toast. The enabled state now reaches the bundle and the workspace returns early without it. Three more strings named internals rather than what the reader sees: - The Performance & Cleanup settings section was headed "Miscellaneous (Bloat Control)". "Misc" is the module's internal slug and "Bloat Control" appears nowhere else in the interface, so the card and the page it opens disagreed. - The dashboard box holding a single AI opt-in checkbox was headed "WordPress 7 Integration" and advertised abilities, command-palette actions, data workspaces and Core Icon interoperability, none of which are settable there. It is now named after the one control it contains. - Link Management printed a bare "Filter available: functionalities_json_preset_path" where every other filter note in that file uses "Filter: name — what it does". Two tests cover the regressions: one asserts the enabled gate exists in the PHP config, the JS source and the built bundle, and one walks every translatable string in both admin files and fails if any names a WordPress version. Co-Authored-By: Claude Opus 5 --- assets/js/wp7-admin.asset.php | 2 +- assets/js/wp7-admin.js | 2 +- includes/admin/class-module-controller.php | 6 +- .../core/class-wordpress-7-integration.php | 21 +- languages/functionalities.pot | 824 +++++++++--------- src/wp7-admin.js | 10 +- tests/WordPress7IntegrationTest.php | 62 ++ 7 files changed, 501 insertions(+), 426 deletions(-) diff --git a/assets/js/wp7-admin.asset.php b/assets/js/wp7-admin.asset.php index 578396f..abbf97c 100644 --- a/assets/js/wp7-admin.asset.php +++ b/assets/js/wp7-admin.asset.php @@ -1 +1 @@ - array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-keycodes', 'wp-primitives', 'wp-private-apis', 'wp-warning'), 'version' => 'c9a0d82f729a02180934'); + array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-keycodes', 'wp-primitives', 'wp-private-apis', 'wp-warning'), 'version' => 'a4dbbd82fcbe4a17f9bd'); diff --git a/assets/js/wp7-admin.js b/assets/js/wp7-admin.js index e524f15..7520cde 100644 --- a/assets/js/wp7-admin.js +++ b/assets/js/wp7-admin.js @@ -157,4 +157,4 @@ label:(0,a.__)("Not on"),filterText:(e,t)=>(0,R.createInterpolateElement)((0,a.s (0,a._x)("Edit %s","field"),n||""),w=(0,R.useRef)(null);return(0,o.jsxs)("div",{ref:w,className:v,onClick:l?void 0:()=>{const e=w.current?.ownerDocument.defaultView?.getSelection();e&&e.toString().length>0||d()},onKeyDown:l?void 0:e=>{e.target!==e.currentTarget||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),d())},children:["none"!==u&&(0,o.jsx)("span",{className:g,children:h}),"none"===u&&p&&(0,o.jsx)(z.Tooltip,{text:m,placement:"top",children:(0,o.jsx)("span",{className:"dataforms-layouts-panel__field-label-error-content",children:(0,o.jsx)(z.Icon,{icon:Dt,size:16})})}),(0,o.jsx)("span",{id:`${b}`,className:"dataforms-layouts-panel__field-control",children:i.length>1?(0,o.jsx)("span",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",width:"100%",gap:"2px"},children:i.map(t=>(0,o.jsx)("span",{style:{width:"100%"},children:(0,o.jsx)(t.render,{item:e,field:t})},t.id))}):i.map(t=>(0,o.jsx)(t.render,{item:e,field:t},t.id))}),!l&&(0,o.jsx)(z.Button,{className:"dataforms-layouts-panel__field-trigger-icon",label:y,icon:nc,size:"small","aria-expanded":c,"aria-haspopup":"dialog","aria-describedby":`${b}`})]})}function ac(e){return!e||Object.values(e).every(e=>Object.entries(e).every(([e,t])=>"children"===e&&t&&"object"==typeof t?ac(t):"invalid"!==t.type&&"validating"!==t.type))}function sc(e,t,n){if(e||(e={}),0===n.length)return e;const i={...e};let r=i;for(let e=0;e{l===i.current[t.id]&&(Array.isArray(e)?t.field?.isValid.elements&&!t.field.isValid.elements.validate(o,{...t.field,elements:e})?r(e=>sc(e,{elements:{type:"invalid",message:(0,a.__)("Value must be one of the elements.")}},[...s,t.id])):r(e=>oc(e,[...s,t.id],"elements")):r(e=>sc(e,{elements:{type:"invalid",message:(0,a.__)("Could not validate elements.")}},[...s,t.id])))}).catch(e=>{if(l!==i.current[t.id])return;let n;n=e instanceof Error?e.message:String(e)||(0,a.__)("Unknown error when running elements validation asynchronously."),r(e=>sc(e,{elements:{type:"invalid",message:n}},[...s,t.id]))})}(t.field.getElements(),t,n),r.elements={type:"validating",message:(0,a.__)("Validating…")}),i instanceof Promise&&(function(e,t,n){const{customCounterRef:i,setFormValidity:r,path:s}=n,o=(i.current[t.id]||0)+1;i.current[t.id]=o,e.then(e=>{o===i.current[t.id]&&r(null!==e?"string"!=typeof e?e=>sc(e,{custom:{type:"invalid",message:(0,a.__)("Validation could not be processed.")}},[...s,t.id]):n=>sc(n,{custom:{type:"invalid",message:e}},[...s,t.id]):e=>oc(e,[...s,t.id],"custom"))}).catch(e=>{if(o!==i.current[t.id])return;let n;n=e instanceof Error?e.message:String(e)||(0,a.__)("Unknown error when running custom validation asynchronously."),r(e=>sc(e,{custom:{type:"invalid",message:n}},[...s,t.id]))})}(i,t,n),r.custom={type:"validating",message:(0,a.__)("Validating…")}),Object.keys(r).length>0)return r;if(t.children.length>0){const i={};t.children.forEach(r=>{i[r.id]=lc(e,r,{...n,path:[...n.path,t.id,"children"]})});const r={};if(Object.entries(i).forEach(([e,t])=>{void 0!==t&&(r[e]=t)}),0===Object.keys(r).length)return;return{children:r}}}function dc(e,t){const n=e?.field?.getValue({item:t});if(0===e.children.length)return n;const i=e.children.map(e=>dc(e,t));return i?{value:n,children:i}:n}var cc=function(e,t,n){const[i,r]=(0,R.useState)(),a=(0,R.useRef)({}),s=(0,R.useRef)({}),o=(0,R.useRef)({}),l=(0,R.useCallback)(()=>{const i={customCounterRef:a,elementsCounterRef:s,setFormValidity:r,path:[],item:e},l=function(e,t){const n=Jd(e);if(0===n.fields.length)return[];const i=new Map;return t.forEach(e=>{i.set(e.id,e)}),n.fields.map(function e(t){if("children"in t&&Array.isArray(t.children)){const n=t.children.map(e).filter(e=>null!==e);if(0===n.length)return null;const r=i.get(t.id);if(r){const[e]=zi([r]);return{id:t.id,children:n,field:e}}return{id:t.id,children:n}}const n=i.get(t.id);if(!n)return null;const[r]=zi([n]);return{id:t.id,children:[],field:r}}).filter(e=>null!==e)}(n,t);if(0===l.length)return void r(void 0);const d={},c=[];l.forEach(t=>{const n=dc(t,e);if(o.current.hasOwnProperty(t.id)&&ld(o.current[t.id],n))return void c.push(t.id);o.current[t.id]=n;const r=lc(e,t,i);void 0!==r&&(d[t.id]=r)}),r(e=>{let t={...e,...d};const n=[...c,...Object.keys(d)];return Object.keys(t).forEach(e=>{t&&!n.includes(e)&&delete t[e]}),0===Object.keys(t).length&&(t=void 0),ld(e,t)?e:t})},[e,t,n]);return(0,R.useEffect)(()=>{l()},[l]),{validity:i,isValid:ac(i)}};function uc(e,t){(0,R.useEffect)(()=>{t&&e.current&&e.current.querySelectorAll("input, textarea, select").forEach(e=>{e.reportValidity()})},[t,e])}var fc=(e,t)=>{return Array.isArray(e)&&e.length>0?(n=e,Array.isArray(n)?n.map(e=>"string"==typeof e?e:e.id):[]).map(e=>t.find(t=>t.id===e)).filter(e=>void 0!==e):[];var n},mc=function(e){const{fields:t}=(0,R.useContext)(Zd),n=e.layout,i=fc(n.summary,t),r=((e,t)=>t.find(t=>t.id===e.id)||t.find(t=>{if(e.children){const n=e.children.filter(e=>!e.children);return 0!==n.length&&t.id===n[0].id}return t.id===e.id}))(e,t),a=e.children?e.label:r?.label;return 0===i.length?{summaryFields:r?[r]:[],fieldDefinition:r,fieldLabel:a}:{summaryFields:i,fieldDefinition:r,fieldLabel:a}};function pc({data:e,field:t,onChange:n,fieldLabel:i,onClose:r,touched:a}){const{openAs:s}=t.layout,{applyLabel:l,cancelLabel:d}=s,{fields:c}=(0,R.useContext)(Zd),[u,f]=(0,R.useState)({}),m=(0,R.useMemo)(()=>tc(e,u,{arrayMerge:(e,t)=>t}),[e,u]),p=(0,R.useMemo)(()=>({layout:Xd,fields:t.children?t.children:[{id:t.id,layout:Xd}]}),[t]),g=c.map(e=>({...e,Edit:null===e.Edit?void 0:e.Edit,isValid:{required:e.isValid.required?.constraint,elements:e.isValid.elements?.constraint,min:e.isValid.min?.constraint,max:e.isValid.max?.constraint,pattern:e.isValid.pattern?.constraint,minLength:e.isValid.minLength?.constraint,maxLength:e.isValid.maxLength?.constraint}})),{validity:h}=cc(m,g,p),v=e=>{f(t=>tc(t,e,{arrayMerge:(e,t)=>t}))},b=(0,Wi.useFocusOnMount)("firstInputElement"),y=(0,R.useRef)(null),w=(0,Wi.useMergeRefs)([b,y]);return uc(y,a),(0,o.jsxs)(z.Modal,{className:"dataforms-layouts-panel__modal",onRequestClose:r,isFullScreen:!1,title:i,size:"medium",children:[(0,o.jsx)("div",{ref:w,children:(0,o.jsx)(sf,{data:m,form:p,onChange:v,validity:h,children:(e,t,n,i)=>(0,o.jsx)(e,{data:m,field:t,onChange:v,hideLabelFromVision:p.fields.length<2,markWhenOptional:i,validity:n},t.id)})}),(0,o.jsxs)(Ne,{direction:"row",className:"dataforms-layouts-panel__modal-footer",gap:"md",children:[(0,o.jsx)(z.__experimentalSpacer,{style:{flex:1}}),(0,o.jsx)(z.Button,{variant:"tertiary",onClick:r,__next40pxDefaultSize:!0,children:d}),(0,o.jsx)(z.Button,{variant:"primary",onClick:()=>{n(u),r()},__next40pxDefaultSize:!0,children:l})]})]})}var gc=function({data:e,field:t,onChange:n,validity:i}){const[r,a]=(0,R.useState)(!1),[s,l]=(0,R.useState)(!1),{fieldDefinition:d,fieldLabel:c,summaryFields:u}=mc(t);return d?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(rc,{data:e,field:t,fieldLabel:c,summaryFields:u,validity:i,touched:r,disabled:!0===d.readOnly,onClick:()=>l(!0),"aria-expanded":s}),s&&(0,o.jsx)(pc,{data:e,field:t,onChange:n,fieldLabel:c??"",onClose:()=>{l(!1),a(!0)},touched:r})]}):null};function hc({title:e,onClose:t}){return(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts-panel__dropdown-header",gap:"lg",children:(0,o.jsxs)(Ne,{direction:"row",gap:"sm",align:"center",children:[e&&(0,o.jsx)(z.__experimentalHeading,{level:2,size:13,children:e}),(0,o.jsx)(z.__experimentalSpacer,{style:{flex:1}}),t&&(0,o.jsx)(z.Button,{label:(0,a.__)("Close"),icon:dr,onClick:t,size:"small"})]})})}function vc({touched:e,children:t}){const n=(0,R.useRef)(null);return uc(n,e),(0,o.jsx)("div",{ref:n,children:t})}var bc=function({data:e,field:t,onChange:n,validity:i}){const[r,a]=(0,R.useState)(!1),[s,l]=(0,R.useState)(null),d=(0,R.useMemo)(()=>({anchor:s,placement:"left-start",offset:36,shift:!0}),[s]),[c,u]=(0,Wi.__experimentalUseDialog)({focusOnMount:"firstInputElement"}),f=(0,R.useMemo)(()=>({layout:Xd,fields:t.children?t.children:[{id:t.id,layout:Xd}]}),[t]),m=(0,R.useMemo)(()=>{if(void 0!==i)return t.children?i?.children:{[t.id]:i}},[i,t]),{fieldDefinition:p,fieldLabel:g,summaryFields:h}=mc(t);return p?(0,o.jsx)("div",{ref:l,className:"dataforms-layouts-panel__field-dropdown-anchor",children:(0,o.jsx)(z.Dropdown,{contentClassName:"dataforms-layouts-panel__field-dropdown",popoverProps:d,focusOnMount:!1,onToggle:e=>{e||a(!0)},renderToggle:({isOpen:n,onToggle:a})=>(0,o.jsx)(rc,{data:e,field:t,fieldLabel:g,summaryFields:h,validity:i,touched:r,disabled:!0===p.readOnly,onClick:a,"aria-expanded":n}),renderContent:({onClose:t})=>(0,o.jsx)(vc,{touched:r,children:(0,o.jsxs)("div",{ref:c,...u,children:[(0,o.jsx)(hc,{title:g,onClose:t}),(0,o.jsx)(sf,{data:e,form:f,onChange:n,validity:m,children:(t,i,r,a)=>(0,o.jsx)(t,{data:e,field:i,onChange:n,hideLabelFromVision:(f?.fields??[]).length<2,markWhenOptional:a,validity:r},i.id)})]})})})}):null},yc="data-wp-hash";function wc(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=wc();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)xc(e,n,i)}(document)),e.__wpStyleRuntime}function xc(e,t,n){if(!e.head)return;const i=wc();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${yc}]`))if(n.getAttribute(yc)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(yc,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}function _c(e,t){const n=wc();n.styles.set(e,t);for(const i of n.documents.keys())xc(i,e,t)}_c("0c8601dd83",'@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._83ed8a8da5dd50ea__text{margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-medium,499);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-medium,499)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-medium,499);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-medium,499);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-medium,499);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-medium,499);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-medium,499);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-medium,499);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-regular,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-regular,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-regular,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-regular,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-regular,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-regular,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}');var jc={text:"_83ed8a8da5dd50ea__text","heading-2xl":"_14437cfb77831647__heading-2xl","heading-xl":"_3c78b7fa9b4072dd__heading-xl","heading-lg":"aa58f227716bcde2__heading-lg","heading-md":"fc4da56d8dfe52c4__heading-md","heading-sm":"a9b78c7c82e8dff7__heading-sm","body-xl":"_305ff559e52180d5__body-xl","body-lg":"ca1aa3fc2029e958__body-lg","body-md":"_131101940be12424__body-md","body-sm":"_0e8d87a42c1f75fa__body-sm"};_c("1fb29d3a3c","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,#0000);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 #0000);color:var(--_gcd-input-color,var(--wpds-color-fg-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,#0000);border-color:var(--_gcd-input-border-color-disabled,#0000);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid #0000)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-fg-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-medium,499));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid #0000);transition:var(--_gcd-a-transition,none)}");var Cc=(0,R.forwardRef)(function({variant:e="body-md",render:t,className:n,...i},r){return Se({render:t,defaultTagName:"span",ref:r,props:fe(i,{className:Oe(jc.text,"e97669c6d9a38497__heading","_43cec3e1eec1066d__p",jc[e],n)})})}),Sc=(0,o.jsx)("div",{}),kc=(0,R.forwardRef)(function({render:e=Sc,children:t,...n},i){return(0,o.jsx)(Cc,{ref:i,variant:"heading-lg",render:e,...n,children:t})}),Ic=(0,R.createContext)({setDescriptionId:()=>{}}),Vc=(0,R.forwardRef)(function({children:e,className:t,...n},i){const r=(0,R.useId)(),{setDescriptionId:a}=(0,R.useContext)(Ic);return(0,R.useEffect)(()=>(a(r),()=>a(void 0)),[r,a]),(0,o.jsx)("div",{ref:i,id:r,"aria-hidden":"true",className:t,...n,children:e})}),Ec="data-wp-hash";function Nc(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=Nc();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)Lc(e,n,i)}(document)),e.__wpStyleRuntime}function Lc(e,t,n){if(!e.head)return;const i=Nc();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${Ec}]`))if(n.getAttribute(Ec)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(Ec,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}function Oc(e,t){const n=Nc();n.styles.set(e,t);for(const i of n.documents.keys())Lc(i,e,t)}Oc("e3ae230cea","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}");Oc("14f5e9ddeb","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-bg-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral-weak,#e4e4e4);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-fg-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}}");var Fc=(0,R.forwardRef)(function({render:e,...t},n){return Se({defaultTagName:"div",render:e,ref:n,props:fe({className:Oe("_02872bf298eadc43__root","_336cd3e4e743482f__box-sizing")},t)})});const Mc={...ee},Ac=Mc.useInsertionEffect,Pc=Ac&&Ac!==Mc.useLayoutEffect?Ac:e=>e();function Dc(e){const t=ne(Tc).current;return t.next=e,Pc(t.effect),t.trampoline}function Tc(){const e={next:void 0,callback:zc,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function zc(){}let Rc=0;const Bc=Mc.useId;function Wc(e,t,n,i){let r=!1,a=!1;const s=i??de;return{reason:e,event:t??new Event("base-ui"),cancel(){r=!0},allowPropagation(){a=!0},get isCanceled(){return r},get isPropagationAllowed(){return a},trigger:n,...s}}const $c="undefined"!=typeof document?J.useLayoutEffect:()=>{},Hc=[],qc=null;globalThis.requestAnimationFrame;const Kc=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;const t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n=this.callbacks.length||(this.callbacks[t]=null,this.callbacksCount-=1)}};class Uc{static create(){return new Uc}static request(e){return Kc.request(e)}static cancel(e){return Kc.cancel(e)}currentId=qc;request(e){this.cancel(),this.currentId=Kc.request(()=>{this.currentId=qc,e()})}cancel=()=>{this.currentId!==qc&&(Kc.cancel(this.currentId),this.currentId=qc)};disposeEffect=()=>this.cancel}function Gc(e){const{open:t,defaultOpen:n,onOpenChange:i,disabled:r}=e,[a,s]=function({controlled:e,default:t,name:n,state:i="value"}){const{current:r}=J.useRef(void 0!==e),[a,s]=J.useState(t);return[r?e:a,J.useCallback(e=>{r||s(e)},[])]}({controlled:t,default:n,name:"Collapsible",state:"open"}),{mounted:o,setMounted:l,transitionStatus:d}=function(e,t=!1,n=!1){const[i,r]=J.useState(e&&t?"idle":void 0),[a,s]=J.useState(e);return e&&!a&&(s(!0),r("starting")),e||!a||"ending"===i||n||r("ending"),e||a||"ending"!==i||r(void 0),$c(()=>{if(!e&&a&&"ending"!==i&&n){const e=Uc.request(()=>{r("ending")});return()=>{Uc.cancel(e)}}},[e,a,i,n]),$c(()=>{if(!e||t)return;const n=Uc.request(()=>{r(void 0)});return()=>{Uc.cancel(n)}},[t,e]),$c(()=>{if(!e||!t)return;e&&a&&"idle"!==i&&r("starting");const n=Uc.request(()=>{r("idle")});return()=>{Uc.cancel(n)}},[t,e,a,i]),{mounted:a,setMounted:s,transitionStatus:i}}(a,!0,!0),c=function(e,t){if(void 0!==Bc){const n=Bc();return e??(t?`${t}-${n}`:n)}return function(e,t="mui"){const[n,i]=J.useState(e),r=e||n;return J.useEffect(()=>{null==n&&(Rc+=1,i(`${t}-${Rc}`))},[n,t]),r}(e,t)}(void 0,"base-ui");const[u,f]=J.useState(),m=u??c,p=Dc(e=>{const t=!a,n=Wc("trigger-press",e.nativeEvent);i(t,n),n.isCanceled||s(t)});return J.useMemo(()=>({disabled:r,handleTrigger:p,mounted:o,open:a,panelId:m,setMounted:l,setOpen:s,setPanelIdState:f,transitionStatus:d}),[r,p,o,a,m,l,s,f,d])}const Yc=J.createContext(void 0);function Zc(){const e=J.useContext(Yc);if(void 0===e)throw new Error(Q(15));return e}let Xc=function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e}({});const Qc={[Xc.startingStyle]:""},Jc={[Xc.endingStyle]:""},eu={transitionStatus:e=>"starting"===e?Qc:"ending"===e?Jc:null};let tu=function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=Xc.startingStyle]="startingStyle",e[e.endingStyle=Xc.endingStyle]="endingStyle",e}({}),nu=function(e){return e.panelOpen="data-panel-open",e}({});const iu={[tu.open]:""},ru={[tu.closed]:""},au={open:e=>e?{[nu.panelOpen]:""}:null},su={open:e=>e?iu:ru,...eu},ou=J.forwardRef(function(e,t){const{render:n,className:i,defaultOpen:r=!1,disabled:a=!1,onOpenChange:s,open:l,style:d,...c}=e,u=Dc(s),f=Gc({open:l,defaultOpen:r,onOpenChange:u,disabled:a}),m=J.useMemo(()=>({open:f.open,disabled:f.disabled,transitionStatus:f.transitionStatus}),[f.open,f.disabled,f.transitionStatus]),p=J.useMemo(()=>({...f,onOpenChange:u,state:m}),[f,u,m]),g=je("div",e,{state:m,ref:t,props:c,stateAttributesMapping:su});return(0,o.jsx)(Yc.Provider,{value:p,children:g})});var lu=(0,R.forwardRef)(function(e,t){return(0,o.jsx)(ou,{ref:t,...e})}),du=(0,R.forwardRef)(function({render:e,...t},n){return(0,o.jsx)(lu,{ref:n,render:(0,o.jsx)(Fc,{render:e}),...t})}),cu=(0,o.jsx)(s.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(s.Path,{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"})}),uu="data-wp-hash";function fu(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=fu();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)mu(e,n,i)}(document)),e.__wpStyleRuntime}function mu(e,t,n){if(!e.head)return;const i=fu();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${uu}]`))if(n.getAttribute(uu)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(uu,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}!function(e,t){const n=fu();n.styles.set(e,t);for(const i of n.documents.keys())mu(i,e,t)}("14f5e9ddeb","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-bg-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral-weak,#e4e4e4);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-fg-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}}");var pu=(0,R.forwardRef)(function({render:e,...t},n){return Se({defaultTagName:"div",render:e,ref:n,props:fe({className:"bbccc92e6ba5662d__header"},t)})});function gu(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function hu(e){return!("undefined"==typeof window)&&(e instanceof HTMLElement||e instanceof gu(e).HTMLElement)}const vu=J.createContext(void 0);function bu(e){return hu(e)&&"BUTTON"===e.tagName}const yu={...au,...eu},wu=J.forwardRef(function(e,t){const{panelId:n,open:i,handleTrigger:r,state:a,disabled:s}=Zc(),{className:o,disabled:l=s,render:d,nativeButton:c=!0,style:u,...f}=e,{getButtonProps:m,buttonRef:p}=function(e={}){const{disabled:t=!1,focusableWhenDisabled:n,tabIndex:i=0,native:r=!0,composite:a}=e,s=J.useRef(null),o=function(e=!1){const t=J.useContext(vu);if(void 0===t&&!e)throw new Error(Q(16));return t}(!0),l=a??void 0!==o,{props:d}=function(e){const{focusableWhenDisabled:t,disabled:n,composite:i=!1,tabIndex:r=0,isNativeButton:a}=e,s=i&&!1!==t,o=i&&!1===t;return{props:J.useMemo(()=>{const e={onKeyDown(e){n&&t&&"Tab"!==e.key&&e.preventDefault()}};return i||(e.tabIndex=r,!a&&n&&(e.tabIndex=t?r:-1)),(a&&(t||s)||!a&&n)&&(e["aria-disabled"]=n),!a||t&&!o||(e.disabled=n),e},[i,n,t,s,o,a,r])}}({focusableWhenDisabled:n,disabled:t,composite:l,tabIndex:i,isNativeButton:r}),c=J.useCallback(()=>{const e=s.current;bu(e)&&l&&t&&void 0===d.disabled&&e.disabled&&(e.disabled=!1)},[t,d.disabled,l]);$c(c,[c]);const u=J.useCallback((e={})=>{const{onClick:n,onMouseDown:i,onKeyUp:a,onKeyDown:s,onPointerDown:o,...c}=e;return fe({onClick(e){t?e.preventDefault():n?.(e)},onMouseDown(e){t||i?.(e)},onKeyDown(e){if(t)return;if(we(e),s?.(e),e.baseUIHandlerPrevented)return;const i=e.target===e.currentTarget,a=e.currentTarget,o=bu(a),d=!r&&(c=a,Boolean("A"===c?.tagName&&c?.href));var c;const u=i&&(r?o:!d),f="Enter"===e.key,m=" "===e.key,p=a.getAttribute("role"),g=p?.startsWith("menuitem")||"option"===p||"gridcell"===p;if(i&&l&&m){if(e.defaultPrevented&&g)return;return e.preventDefault(),void(d||r&&o?(a.click(),e.preventBaseUIHandler()):u&&(n?.(e),e.preventBaseUIHandler()))}u&&(r||!m&&!f||e.preventDefault(),!r&&f&&n?.(e))},onKeyUp(e){t||(we(e),a?.(e),e.target===e.currentTarget&&r&&l&&bu(e.currentTarget)&&" "===e.key?e.preventDefault():e.baseUIHandlerPrevented||e.target!==e.currentTarget||r||l||" "!==e.key||n?.(e))},onPointerDown(e){t?e.preventDefault():o?.(e)}},r?{type:"button"}:{role:"button"},d,c)},[t,d,l,r]);return{getButtonProps:u,buttonRef:Dc(e=>{s.current=e,c()})}}({disabled:l,focusableWhenDisabled:!0,native:c});return je("button",e,{state:a,ref:[t,p],props:[{"aria-controls":i?n:void 0,"aria-expanded":i,onClick:r},f,m],stateAttributesMapping:yu})});var xu=(0,R.forwardRef)(function(e,t){return(0,o.jsx)(wu,{ref:t,...e})}),_u=(0,R.forwardRef)(function({icon:e,size:t=24,...n},i){return(0,o.jsx)(s.SVG,{ref:i,fill:"currentColor",...e.props,...n,width:t,height:t})}),ju="data-wp-hash";function Cu(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=Cu();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)Su(e,n,i)}(document)),e.__wpStyleRuntime}function Su(e,t,n){if(!e.head)return;const i=Cu();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${ju}]`))if(n.getAttribute(ju)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(ju,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}function ku(e,t){const n=Cu();n.styles.set(e,t);for(const i of n.documents.keys())Su(i,e,t)}ku("f1b9bb6252","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._626190151275d6d3__heading-wrapper{--_gcd-heading-color:inherit;--_gcd-heading-font-size:inherit;--_gcd-heading-font-weight:inherit;--_gcd-heading-margin:0;font-family:inherit;line-height:inherit}.cab17c7a373cb60d__header-content{flex:1;min-width:0}.dd89d27c4f15912d__header-trigger-positioner{align-self:center;flex-shrink:0;max-height:0;overflow:visible}.bcfab5f2448bafef__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}._3106f8d2b0330faa__header-trigger{@media not (prefers-reduced-motion){transition:rotate .15s ease-out}}._5d2dfcb4085c6d0f__header[data-panel-open] ._3106f8d2b0330faa__header-trigger{rotate:180deg}._5d2dfcb4085c6d0f__header[data-disabled] ._3106f8d2b0330faa__header-trigger{color:var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d)}.e34cf37ccd0d81e0__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden;&._165c4572592944b2__overflowVisible{overflow:visible}&[hidden]:not([hidden=until-found]){display:none}&[data-ending-style],&[data-starting-style]{height:0}@media not (prefers-reduced-motion){transition:all .15s ease-out}}}@layer wp-ui-compositions{._41bfdbf7b6c087c2__content-inner{padding-block-start:0}._5d2dfcb4085c6d0f__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");ku("1fb29d3a3c","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,#0000);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 #0000);color:var(--_gcd-input-color,var(--wpds-color-fg-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,#0000);border-color:var(--_gcd-input-border-color-disabled,#0000);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid #0000)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-fg-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-medium,499));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid #0000);transition:var(--_gcd-a-transition,none)}");ku("2a5ab8f3a7","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-utilities{._08e8a2e44959f892__outset-ring--focus,._970d04df7376df67__outset-ring--focus-within-except-active,.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible,.cd83dfc2126a0846__outset-ring--focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible,.e25b2bdd7aa21721__outset-ring--focus-except-active,.ecadb9e080e2dfa5__outset-ring--focus-parent-visible{@media not (prefers-reduced-motion){--_gcd-a-transition:outline 0.1s ease-out;transition:outline .1s ease-out}outline:0 solid #0000;outline-offset:1px}._08e8a2e44959f892__outset-ring--focus:focus,._970d04df7376df67__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible:focus-within:has(:focus-visible),.cd83dfc2126a0846__outset-ring--focus-within:focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible:focus-visible,.e25b2bdd7aa21721__outset-ring--focus-except-active:focus:not(:active),:focus-visible .ecadb9e080e2dfa5__outset-ring--focus-parent-visible{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus-brand,var(--wp-admin-theme-color,#3858e9));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus-brand,var(--wp-admin-theme-color,#3858e9));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus-brand,var(--wp-admin-theme-color,#3858e9))}}");var Iu=(0,R.forwardRef)(function({children:e,className:t,render:n,...i},r){const[a,s]=(0,R.useState)(),l=(0,R.useMemo)(()=>({setDescriptionId:s}),[s]);return Se({defaultTagName:"div",render:n,ref:r,props:fe(i,{className:Oe("e97669c6d9a38497__heading","_626190151275d6d3__heading-wrapper",t),children:(0,o.jsx)(Ic.Provider,{value:l,children:(0,o.jsxs)(xu,{className:"_5d2dfcb4085c6d0f__header",render:(0,o.jsx)(pu,{}),nativeButton:!1,"aria-describedby":a,children:[(0,o.jsx)("div",{className:"cab17c7a373cb60d__header-content",children:e}),(0,o.jsx)("div",{className:Oe("dd89d27c4f15912d__header-trigger-positioner"),children:(0,o.jsx)("div",{className:Oe("bcfab5f2448bafef__header-trigger-wrapper","_8c15fd0ed9f28ba4__div","ecadb9e080e2dfa5__outset-ring--focus-parent-visible"),children:(0,o.jsx)(_u,{icon:cu,className:"_3106f8d2b0330faa__header-trigger"})})})]})})})})}),Vu="data-wp-hash";function Eu(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=Eu();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)Nu(e,n,i)}(document)),e.__wpStyleRuntime}function Nu(e,t,n){if(!e.head)return;const i=Eu();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${Vu}]`))if(n.getAttribute(Vu)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(Vu,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}!function(e,t){const n=Eu();n.styles.set(e,t);for(const i of n.documents.keys())Nu(i,e,t)}("14f5e9ddeb","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-bg-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral-weak,#e4e4e4);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-fg-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}}");var Lu=(0,R.forwardRef)(function({render:e,...t},n){return Se({defaultTagName:"div",render:e,ref:n,props:fe({className:"_5dffdaf2a6e669ac__content"},t)})});function Ou(e){const t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function Fu(e,t=!1,n=!0){const i=function(){const e=ne(Uc.create).current;var t;return t=e.disposeEffect,J.useEffect(t,Hc),e}();return Dc((r,a=null)=>{i.cancel();const s=null==(o=e)?o:"current"in o?o.current:o;var o;if(null==s)return;const l=s,d=()=>{Sl.flushSync(r)};if("function"!=typeof l.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED)r();else{if(t){const e=Xc.startingStyle;if(!l.hasAttribute(e))return void i.request(c);const t=new MutationObserver(()=>{l.hasAttribute(e)||(t.disconnect(),c())});return t.observe(l,{attributes:!0,attributeFilter:[e]}),void a?.addEventListener("abort",()=>t.disconnect(),{once:!0})}i.request(c)}function c(){Promise.all(l.getAnimations().map(e=>e.finished)).then(()=>{a?.aborted||d()}).catch(()=>{if(n)return void(a?.aborted||d());const e=l.getAnimations();!a?.aborted&&e.length>0&&e.some(e=>e.pending||"finished"!==e.playState)&&c()})}})}const Mu={height:void 0,width:void 0};function Au(e){return{height:e.scrollHeight,width:e.scrollWidth}}function Pu(e){return e.split(",").map(e=>e.trim()).some(e=>""!==e&&Number.parseFloat(e)>0)}function Du(e,t,n){const i=e.style.getPropertyValue(t),r=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{""!==i?e.style.setProperty(t,i,r):e.style.removeProperty(t)}}let Tu=function(e){return e.collapsiblePanelHeight="--collapsible-panel-height",e.collapsiblePanelWidth="--collapsible-panel-width",e}({});const zu=J.forwardRef(function(e,t){const{className:n,hiddenUntilFound:i,keepMounted:r,render:a,id:s,style:o,...l}=e,{mounted:d,onOpenChange:c,open:u,panelId:f,setMounted:m,setPanelIdState:p,setOpen:g,state:h,transitionStatus:v}=Zc(),b=i??!1,y=r??!1;$c(()=>{if(s)return p(s),()=>{p(void 0)}},[s,p]);const{height:w,props:x,ref:_,shouldPreventOpenAnimation:j,shouldRender:C,transitionStatus:S,width:k}=function(e){const{externalRef:t,hiddenUntilFound:n,id:i,keepMounted:r,mounted:a,onOpenChange:s,open:o,setMounted:l,setOpen:d,transitionStatus:c}=e,u=J.useRef(null),f=J.useRef(null),[m,p]=J.useState(Mu),g=J.useRef(Mu),h=J.useRef(!1),v=J.useRef(o),b=J.useRef(!1),[y,w]=J.useState(!1),x=J.useRef(null),_=ie(t,u),j=function(e){const t=ne(Ou,e).current;return t.next=e,$c(t.effect),t}({mounted:a,open:o}),C=Fu(u,!1,!1),S=!o&&!a,k=y?"idle":c,I=o&&(v.current||b.current),V=!o&&a&&"css-animation"===f.current&&void 0===m.height&&void 0===m.width?g.current:m,E=n&&S&&"css-animation"!==f.current,N=Dc((e,t=!0)=>{t&&(g.current=e),p(e)}),L=Dc(()=>{x.current?.(),x.current=null}),O=Dc(e=>{L(),x.current=()=>{x.current=null,e()}}),F=Dc(()=>{o&&a&&"css-animation"===f.current&&(b.current=!0)});$c(()=>{y&&"starting"!==c&&w(!1)},[y,c]),J.useEffect(()=>()=>{F(),L()},[F,L]),$c(()=>{const e=u.current;if(!e)return;!o&&x.current&&L();const t=function(e,t=!1){const n=gu(e).getComputedStyle(e),i=(n.animationName.split(",").map(e=>e.trim()).some(e=>""!==e&&"none"!==e)||t)&&Pu(n.animationDuration),r=Pu(n.transitionDuration);return i&&r||r?"css-transition":i?"css-animation":"none"}(e,I);if(f.current=t,o&&"idle"===c&&v.current&&"css-animation"===t)return void(g.current=Au(e));if(o&&"starting"===c){const n=h.current;if(h.current=!1,"none"===t)return N(Au(e)),void w(!0);if("css-transition"===t){const t=function(e){const t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};function n(){Object.entries(t).forEach(([t,n])=>{""!==n?e.style.setProperty(t,n):e.style.removeProperty(t)})}Object.keys(t).forEach(t=>{e.style.setProperty(t,"initial","important")});const i=Uc.request(n);return()=>{Uc.cancel(i),n()}}(e);if(N(Au(e)),!n)return t;const i=Du(e,"transition-duration","0s");return O(i),w(!0),t}if("css-animation"===t){if(N(Au(e)),!n)return void Du(e,"animation-name","none")();const t=Du(e,"animation-name","none"),i=Du(e,"animation-duration","0s");return t(),O(i),void w(!0)}}if(!o&&a&&("idle"===c||"starting"===c))return v.current=!1,b.current=!1,"none"===t?(N(Mu,!1),void l(!1)):void N(Au(e));if("ending"!==c)return;if("none"===t)return void l(!1);const n=Au(e);(n.height??0)>0||(n.width??0)>0?(N(n),"css-animation"===t&&Du(e,"animation-name","none")()):l(!1)},[a,o,L,N,l,O,I,c]),function(e){const{enabled:t=!0,open:n,ref:i,onComplete:r}=e,a=Dc(r),s=Fu(i,n,!1);J.useEffect(()=>{if(!t)return;const e=new AbortController;return s(a,e.signal),()=>{e.abort()}},[t,n,a,s])}({enabled:o&&a&&"idle"===k,open:!0,ref:u,onComplete(){o&&N(Mu,!1)}}),J.useEffect(()=>{if(o||!a||"ending"!==k)return;if(!u.current)return;const e=new AbortController;let t=-1;function n(){j.current.open||(l(!1),N(Mu,!1))}return t=Uc.request(()=>{e.signal.aborted||C(n,e.signal)}),()=>{Uc.cancel(t),e.abort()}},[j,a,o,k,C,N,l]),$c(()=>{const e=u.current;e&&n&&S&&e.setAttribute("hidden","until-found")},[S,n]),J.useEffect(function(){const e=u.current;var t,n,i,r;if(e)return n="beforematch",i=function(e){const t=Wc("none",e);s(!0,t),t.isCanceled||(h.current=!0,d(!0))},(t=e).addEventListener(n,i,r),()=>{t.removeEventListener(n,i,r)}},[s,d]);const M=r||n||a||o;return{height:V.height,props:{...E?{[tu.startingStyle]:""}:void 0,hidden:S,id:i},ref:_,shouldPreventOpenAnimation:I,shouldRender:M,transitionStatus:k,width:V.width}}({externalRef:t,hiddenUntilFound:b,id:f,keepMounted:y,mounted:d,onOpenChange:c,open:u,setMounted:m,setOpen:g,transitionStatus:v}),I={...h,transitionStatus:S},V=ce(o,I),E=je("div",{...e,style:void 0},{state:I,ref:_,props:[x,{style:{[Tu.collapsiblePanelHeight]:void 0===w?"auto":`${w}px`,[Tu.collapsiblePanelWidth]:void 0===k?"auto":`${k}px`}},l,V?{style:V}:void 0,j?{style:{animationName:"none"}}:void 0],stateAttributesMapping:su});return C?E:null});var Ru=(0,R.forwardRef)(function(e,t){return(0,o.jsx)(zu,{ref:t,...e})}),Bu="data-wp-hash";function Wu(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=Wu();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)$u(e,n,i)}(document)),e.__wpStyleRuntime}function $u(e,t,n){if(!e.head)return;const i=Wu();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${Bu}]`))if(n.getAttribute(Bu)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(Bu,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}!function(e,t){const n=Wu();n.styles.set(e,t);for(const i of n.documents.keys())$u(i,e,t)}("f1b9bb6252","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._626190151275d6d3__heading-wrapper{--_gcd-heading-color:inherit;--_gcd-heading-font-size:inherit;--_gcd-heading-font-weight:inherit;--_gcd-heading-margin:0;font-family:inherit;line-height:inherit}.cab17c7a373cb60d__header-content{flex:1;min-width:0}.dd89d27c4f15912d__header-trigger-positioner{align-self:center;flex-shrink:0;max-height:0;overflow:visible}.bcfab5f2448bafef__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}._3106f8d2b0330faa__header-trigger{@media not (prefers-reduced-motion){transition:rotate .15s ease-out}}._5d2dfcb4085c6d0f__header[data-panel-open] ._3106f8d2b0330faa__header-trigger{rotate:180deg}._5d2dfcb4085c6d0f__header[data-disabled] ._3106f8d2b0330faa__header-trigger{color:var(--wpds-color-fg-interactive-neutral-disabled,#8d8d8d)}.e34cf37ccd0d81e0__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden;&._165c4572592944b2__overflowVisible{overflow:visible}&[hidden]:not([hidden=until-found]){display:none}&[data-ending-style],&[data-starting-style]{height:0}@media not (prefers-reduced-motion){transition:all .15s ease-out}}}@layer wp-ui-compositions{._41bfdbf7b6c087c2__content-inner{padding-block-start:0}._5d2dfcb4085c6d0f__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");var Hu=(0,R.forwardRef)(function({className:e,render:t,children:n,hiddenUntilFound:i=!0,...r},a){return(0,o.jsx)(Ru,{ref:a,className:t=>Oe("e34cf37ccd0d81e0__content",t.open&&"idle"===t.transitionStatus&&"_165c4572592944b2__overflowVisible",e),hiddenUntilFound:i,...r,children:(0,o.jsx)(Lu,{className:"_41bfdbf7b6c087c2__content-inner",render:t,children:n})})}),qu="data-wp-hash";function Ku(){const e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},"undefined"!=typeof document&&function(e){const t=Ku();t.documents.set(e,(t.documents.get(e)??0)+1);for(const[n,i]of t.styles)Uu(e,n,i)}(document)),e.__wpStyleRuntime}function Uu(e,t,n){if(!e.head)return;const i=Ku();let r=i.injectedStyles.get(e);if(r||(r=new Set,i.injectedStyles.set(e,r)),r.has(t))return;if(function(e,t){if(!e.head)return!1;for(const n of e.head.querySelectorAll(`style[${qu}]`))if(n.getAttribute(qu)===t)return!0;return!1}(e,t))return void r.add(t);const a=e.createElement("style");a.setAttribute(qu,t),a.appendChild(e.createTextNode(n)),e.head.appendChild(a),r.add(t)}!function(e,t){const n=Ku();n.styles.set(e,t);for(const i of n.documents.keys())Uu(i,e,t)}("d6a685e1aa","@layer wp-ui-utilities, wp-ui-components, wp-ui-compositions, wp-ui-overrides;@layer wp-ui-components{._96e6251aad1a6136__badge{border-radius:var(--wpds-border-radius-lg,8px);padding-block:var(--wpds-dimension-padding-xs,4px);padding-inline:var(--wpds-dimension-padding-sm,8px)}._99f7158cb520f750__is-high-intent{background-color:var(--wpds-color-bg-surface-error,#f6e6e3);color:var(--wpds-color-fg-content-error,#470000)}.c20ebef2365bc8b7__is-medium-intent{background-color:var(--wpds-color-bg-surface-warning,#fde6be);color:var(--wpds-color-fg-content-warning,#2e1900)}._365e1626c6202e52__is-low-intent{background-color:var(--wpds-color-bg-surface-caution,#fee995);color:var(--wpds-color-fg-content-caution,#281d00)}._33f8198127ddf4ef__is-stable-intent{background-color:var(--wpds-color-bg-surface-success,#c6f7cd);color:var(--wpds-color-fg-content-success,#002900)}._04c1aca8fc449412__is-informational-intent{background-color:var(--wpds-color-bg-surface-info,#deebfa);color:var(--wpds-color-fg-content-info,#001b4f)}._90726e69d495ec19__is-draft-intent{background-color:var(--wpds-color-bg-surface-neutral-weak,#f4f4f4);color:var(--wpds-color-fg-content-neutral,#1e1e1e)}._898f4a544993bd39__is-none-intent{background-color:var(--wpds-color-bg-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);color:var(--wpds-color-fg-content-neutral,#1e1e1e);padding-block:calc(var(--wpds-dimension-padding-xs, 4px) - var(--wpds-border-width-xs, 1px));padding-inline:calc(var(--wpds-dimension-padding-sm, 8px) - var(--wpds-border-width-xs, 1px))}}");var Gu={badge:"_96e6251aad1a6136__badge","is-high-intent":"_99f7158cb520f750__is-high-intent","is-medium-intent":"c20ebef2365bc8b7__is-medium-intent","is-low-intent":"_365e1626c6202e52__is-low-intent","is-stable-intent":"_33f8198127ddf4ef__is-stable-intent","is-informational-intent":"_04c1aca8fc449412__is-informational-intent","is-draft-intent":"_90726e69d495ec19__is-draft-intent","is-none-intent":"_898f4a544993bd39__is-none-intent"},Yu=(0,R.forwardRef)(function({intent:e="none",className:t,...n},i){return(0,o.jsx)(Cc,{ref:i,className:Oe(Gu.badge,Gu[`is-${e}-intent`],t),...n,variant:"body-sm"})});function Zu(e){if(!e)return 0;let t=0;const n=Object.keys(e).filter(e=>"children"!==e);for(const i of n){const n=e[i];"invalid"===n?.type&&t++}if(e.children)for(const n of Object.values(e.children))t+=Zu(n);return t}function Xu({validity:e}){const t=Zu(e);return 0===t?null:(0,o.jsx)(Yu,{intent:"high",children:(0,a.sprintf)( /* translators: %d: Number of fields that need attention */ /* translators: %d: Number of fields that need attention */ -(0,a._n)("%d field needs attention","%d fields need attention",t),t)})}function Qu({data:e,fields:t,label:n,layout:i,isOpen:r,touched:a,validity:s}){const l=fc(i.summary,t).filter(e=>function(e,t,n){if(!t||Array.isArray(t)&&0===t.length)return!1;const i=(Array.isArray(t)?t:[t]).find(t=>"string"==typeof t?t===e.id:"object"==typeof t&&"id"in t&&t.id===e.id);return!!i&&("string"==typeof i||"object"!=typeof i||!("visibility"in i)||"always"===i.visibility||"when-collapsed"===i.visibility&&!n)}(e,i.summary,r)),d=a&&i.isCollapsible,c=l.length>0&&i.withHeader;return(0,o.jsxs)(Ne,{align:"center",justify:"space-between",className:"dataforms-layouts-card__field-header-content",children:[(0,o.jsx)(kc,{children:n}),(d||c)&&(0,o.jsxs)(Vc,{className:"dataforms-layouts-card__field-header-content-description",children:[d&&(0,o.jsx)(Xu,{validity:s}),c&&(0,o.jsx)("div",{className:"dataforms-layouts-card__field-summary",children:l.map(t=>(0,o.jsx)(t.render,{item:e,field:t},t.id))})]})]})}function Ju({data:e,field:t,form:n,onChange:i,hideLabelFromVision:r,markWhenOptional:a,validity:s,withHeader:l}){if(t.children)return(0,o.jsxs)(o.Fragment,{children:[t.description&&(0,o.jsx)("div",{className:"dataforms-layouts-card__field-description",children:t.description}),(0,o.jsx)(sf,{data:e,form:n,onChange:i,validity:s?.children})]});const d=rf("regular")?.component;return d?(0,o.jsx)(d,{data:e,field:t,onChange:i,hideLabelFromVision:r||l,markWhenOptional:a,validity:s}):null}function ef({title:e}){return(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts-row__header",gap:"lg",children:(0,o.jsx)(Ne,{direction:"row",align:"center",children:(0,o.jsx)(z.__experimentalHeading,{level:2,size:13,children:e})})})}var tf=({children:e})=>(0,o.jsx)(o.Fragment,{children:e}),nf=[{type:"regular",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const{fields:s}=(0,R.useContext)(Zd),l=t.layout,d=(0,R.useMemo)(()=>({layout:Xd,fields:t.children?t.children:[]}),[t]);if(t.children)return(0,o.jsxs)(o.Fragment,{children:[!i&&t.label&&(0,o.jsx)(ec,{title:t.label}),(0,o.jsx)(sf,{data:e,form:d,onChange:n,validity:a?.children})]});const c=l.labelPosition,u=s.find(e=>e.id===t.id);return u&&u.Edit?"side"===c?(0,o.jsxs)(Ne,{direction:"row",className:"dataforms-layouts-regular__field",gap:"sm",children:[(0,o.jsx)("div",{className:Oe("dataforms-layouts-regular__field-label",`dataforms-layouts-regular__field-label--label-position-${c}`),children:(0,o.jsx)(z.BaseControl.VisualLabel,{children:u.label})}),(0,o.jsx)("div",{className:"dataforms-layouts-regular__field-control",children:!0===u.readOnly?(0,o.jsx)(u.render,{item:e,field:u}):(0,o.jsx)(u.Edit,{data:e,field:u,onChange:n,hideLabelFromVision:!0,markWhenOptional:r,validity:a},u.id)})]}):(0,o.jsx)("div",{className:"dataforms-layouts-regular__field",children:!0===u.readOnly?(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)(o.Fragment,{children:[!i&&"none"!==c&&(0,o.jsx)(z.BaseControl.VisualLabel,{children:u.label}),(0,o.jsx)(u.render,{item:e,field:u})]})}):(0,o.jsx)(u.Edit,{data:e,field:u,onChange:n,hideLabelFromVision:"none"===c||i,markWhenOptional:r,validity:a})}):null},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:e})},{type:"panel",component:function({data:e,field:t,onChange:n,validity:i}){return"modal"===t.layout.openAs.type?(0,o.jsx)(gc,{data:e,field:t,onChange:n,validity:i}):(0,o.jsx)(bc,{data:e,field:t,onChange:n,validity:i})},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"md",children:e})},{type:"card",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const{fields:s}=(0,R.useContext)(Zd),l=t.layout,d=(0,R.useRef)(null),c=(0,R.useMemo)(()=>({layout:Xd,fields:t.children??[]}),[t]),{isOpened:u,isCollapsible:f}=l,[m,p]=(0,R.useState)(u),[g,h]=(0,R.useState)(!1);(0,R.useEffect)(()=>{p(u)},[u]);const v=(0,R.useCallback)(e=>{e||h(!0),p(e)},[]),b=(0,R.useCallback)(()=>{h(!0)},[]);uc(d,(!f||m)&&g);let y,w=t.label;if(t.children)y=!!w&&l.withHeader;else{const e=s.find(e=>e.id===t.id);if(!e||!e.Edit)return null;w=e.label,y=!!w&&l.withHeader}const x=(0,o.jsx)(Ju,{data:e,field:t,form:c,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a,withHeader:y}),_=(0,o.jsx)(Qu,{data:e,fields:s,label:w,layout:l,isOpen:!f||!!m,touched:g,validity:a});return y&&f?(0,o.jsxs)(du,{className:"dataforms-layouts-card__field",open:m,onOpenChange:v,children:[(0,o.jsx)(Iu,{children:_}),(0,o.jsx)(Hu,{ref:d,onBlur:b,children:x})]}):(0,o.jsxs)(Fc,{className:"dataforms-layouts-card__field",children:[y&&(0,o.jsx)(pu,{children:_}),(0,o.jsx)(Lu,{ref:d,onBlur:b,children:x})]})},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"xl",children:e})},{type:"row",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const s=t.layout;if(t.children){const l={layout:Xd,fields:t.children};return(0,o.jsxs)("div",{className:"dataforms-layouts-row__field",children:[!i&&t.label&&(0,o.jsx)(ef,{title:t.label}),(0,o.jsx)(Ne,{direction:"row",align:s.alignment,gap:"lg",children:(0,o.jsx)(sf,{data:e,form:l,onChange:n,validity:a?.children,as:tf,children:(t,a,l)=>(0,o.jsx)("div",{className:"dataforms-layouts-row__field-control",style:s.styles[a.id],children:(0,o.jsx)(t,{data:e,field:a,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:l})},a.id)})})]})}const l=rf("regular")?.component;return l?(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("div",{className:"dataforms-layouts-row__field-control",children:(0,o.jsx)(l,{data:e,field:t,onChange:n,markWhenOptional:r,validity:a})})}):null},wrapper:({children:e,layout:t})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:(0,o.jsx)("div",{className:"dataforms-layouts-row__field",children:(0,o.jsx)(Ne,{direction:"row",gap:"lg",align:t.alignment,children:e})})})},{type:"details",component:function({data:e,field:t,onChange:n,validity:i}){const{fields:r}=(0,R.useContext)(Zd),s=(0,R.useRef)(null),l=(0,R.useRef)(null),[d,c]=(0,R.useState)(!1),[u,f]=(0,R.useState)(!1),m=(0,R.useMemo)(()=>({layout:Xd,fields:t.children??[]}),[t]);(0,R.useEffect)(()=>{const e=s.current;if(!e)return;const t=()=>{const t=e.open;t||c(!0),f(t)};return e.addEventListener("toggle",t),()=>{e.removeEventListener("toggle",t)}},[]),uc(l,u&&d);const p=(0,R.useCallback)(()=>{c(!0)},[]);if(!t.children)return null;const g=t.layout.summary??"",h=g?r.find(e=>e.id===g):void 0;let v;return v=h&&h.render?(0,o.jsx)(h.render,{item:e,field:h}):t.label||(0,a.__)("More details"),(0,o.jsxs)("details",{ref:s,className:"dataforms-layouts-details__details",children:[(0,o.jsx)("summary",{className:"dataforms-layouts-details__summary",children:(0,o.jsxs)(Ne,{direction:"row",align:"center",gap:"md",className:"dataforms-layouts-details__summary-content",children:[v,d&&(0,o.jsx)(Xu,{validity:i})]})}),(0,o.jsx)("div",{ref:l,className:"dataforms-layouts-details__content",onBlur:p,children:(0,o.jsx)(sf,{data:e,form:m,onChange:n,validity:i?.children})})]})}}];function rf(e){return nf.find(t=>t.type===e)}var af=({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:e});function sf({data:e,form:t,onChange:n,validity:i,children:r,as:a}){const{fields:s}=(0,R.useContext)(Zd),l=(0,R.useMemo)(()=>{const e=s.filter(e=>!!e.isValid?.required).length;return e>s.length-e},[s]),d=a??rf(t.layout.type)?.wrapper??af;return(0,o.jsx)(d,{layout:t.layout,children:t.fields.map(t=>{const a=rf(t.layout.type)?.component;if(!a)return null;const d=t.children?void 0:(c=t,s.find(e=>e.id===c.id));var c;return d&&d.isVisible&&!d.isVisible(e)?null:r?r(a,t,i?.[t.id],l):(0,o.jsx)(a,{data:e,field:t,onChange:n,markWhenOptional:l,validity:i?.[t.id]},t.id)})})}function of({data:e,form:t,fields:n,onChange:i,validity:r}){const a=(0,R.useMemo)(()=>Jd(t),[t]),s=(0,R.useMemo)(()=>zi(n),[n]);return t.fields?(0,o.jsx)(Yd,{fields:s,children:(0,o.jsx)(sf,{data:e,form:a,onChange:i,validity:r})}):null}const lf=window.wp.apiFetch;var df=n.n(lf);const cf=window.functionalitiesWp7||{};function uf(e,t){try{(0,Ji.dispatch)("core/notices").createNotice(e,t,{type:"snackbar"})}catch(e){}}function ff(e,t,n=!1){const i=`${cf.abilitiesPath}functionalities/${e}/run`;if(n){const e=t?`?input=${encodeURIComponent(JSON.stringify(t))}`:"";return df()({path:i+e,method:"GET"})}return df()({path:i,method:"POST",data:{input:t||null}})}function mf({data:e,fields:t,initialView:n}){const[i,a]=(0,R.useState)(n),s=(0,R.useMemo)(()=>function(e,t,n){if(!e)return{data:Bi,paginationInfo:{totalItems:0,totalPages:0}};const i=zi(n);let a=[...e];if(t.search){const e=Ri(t.search);a=a.filter(t=>i.filter(e=>e.enableGlobalSearch).some(n=>{const i=n.getValue({item:t});return(Array.isArray(i)?i:[i]).some(t=>Ri(String(t)).includes(e))}))}t.filters&&t.filters?.length>0&&t.filters.forEach(e=>{const t=i.find(t=>t.id===e.field);if(t){e.operator===m&&r("The 'isNotAll' filter operator",{since:"7.0",alternative:"'isNone'"});const n=t.filter[e.operator];n&&(a=a.filter(i=>n(i,t,e.value)))}});const s=t.sort?.field?i.find(e=>!1!==e.enableSorting&&e.id===t.sort?.field):null,o=t.groupBy?.field?i.find(e=>!1!==e.enableSorting&&e.id===t.groupBy?.field):null;(s||o)&&a.sort((e,n)=>{if(o){const i=o.sort(e,n,t.groupBy?.direction??"asc");if(0!==i)return i}return s?s.sort(e,n,t.sort?.direction??"desc"):0});let l=a.length,d=1;if(t.infiniteScrollEnabled&&void 0!==t.startPosition&&void 0!==t.perPage){const e=t.startPosition-1,n=Math.min(e+t.perPage,l);a=a?.slice(e,n)}else if(void 0!==t.page&&void 0!==t.perPage){const e=(t.page-1)*t.perPage;l=a?.length||0,d=Math.ceil(l/t.perPage),a=a?.slice(e,e+t.perPage)}return{data:a,paginationInfo:{totalItems:l,totalPages:d}}}(e,i,t),[e,t,i]);return(0,o.jsx)(Ud,{data:s.data,fields:t,view:i,onChangeView:a,paginationInfo:s.paginationInfo,getItemId:e=>String(e.id||e.path||e.text),defaultLayouts:{table:{},list:{}}})}function pf({onCreated:e}){const[t,n]=(0,R.useState)({from_url:"",to_url:"",type:301}),[i,r]=(0,R.useState)(!1),s=(0,R.useMemo)(()=>[{id:"from_url",type:"text",label:(0,a.__)("Source path","functionalities"),description:(0,a.__)("Example: /old-page","functionalities")},{id:"to_url",type:"text",label:(0,a.__)("Destination URL","functionalities")},{id:"type",type:"integer",label:(0,a.__)("Redirect code","functionalities"),elements:[301,302,307,308].map(e=>({value:e,label:String(e)}))}],[]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Add redirect","functionalities")}),(0,o.jsx)(of,{data:t,fields:s,form:{layout:{type:"regular"},fields:["from_url","to_url","type"]},onChange:e=>n(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"primary",onClick:()=>{r(!0),ff("create-redirect",t).then(()=>{n({from_url:"",to_url:"",type:301}),uf("success",(0,a.__)("Redirect created.","functionalities")),e()}).catch(e=>uf("error",e.message||String(e))).finally(()=>r(!1))},isBusy:i,disabled:i||!t.from_url.trim()||!t.to_url.trim(),children:(0,a.__)("Create redirect","functionalities")})})]})}function gf({projects:e,onCreated:t}){const[n,i]=(0,R.useState)({project:e[0]?.slug||"",text:"",notes:""}),[r,s]=(0,R.useState)(!1),l=(0,R.useMemo)(()=>[{id:"project",type:"text",label:(0,a.__)("Project","functionalities"),elements:e.map(e=>({value:e.slug,label:e.name}))},{id:"text",type:"text",label:(0,a.__)("Task","functionalities")},{id:"notes",type:"text",Edit:{control:"textarea",rows:4},label:(0,a.__)("Notes","functionalities")}],[e]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Add task","functionalities")}),e.length?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(of,{data:n,fields:l,form:{layout:{type:"regular"},fields:["project","text","notes"]},onChange:e=>i(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"primary",onClick:()=>{s(!0),ff("create-task",n).then(()=>{i(e=>({project:e.project,text:"",notes:""})),uf("success",(0,a.__)("Task created.","functionalities")),t()}).catch(e=>uf("error",e.message||String(e))).finally(()=>s(!1))},isBusy:r,disabled:r||!n.project||!n.text.trim(),children:(0,a.__)("Create task","functionalities")})})]}):(0,o.jsx)(z.Notice,{status:"info",isDismissible:!1,children:(0,a.__)("Create a project in the classic interface below before adding tasks here.","functionalities")})]})}function hf(){const[e,t]=(0,R.useState)({context:"content-regression"===cf.module?"content-integrity":"assumption",finding:""}),[n,i]=(0,R.useState)(""),[r,s]=(0,R.useState)(!1),l=(0,R.useMemo)(()=>[{id:"finding",type:"text",Edit:{control:"textarea",rows:7},label:(0,a.__)("Finding to explain","functionalities"),description:(0,a.__)("Paste only the warning you want to send to the configured AI provider.","functionalities")}],[]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Explain a finding","functionalities")}),(0,o.jsx)(of,{data:e,fields:l,form:{layout:{type:"regular"},fields:["finding"]},onChange:e=>t(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"secondary",onClick:()=>{s(!0),i(""),ff("explain-finding",e).then(e=>i(e.explanation||"")).catch(e=>i(e.message||String(e))).finally(()=>s(!1))},isBusy:r,disabled:r||!e.finding.trim(),children:(0,a.__)("Explain with AI","functionalities")})}),n&&(0,o.jsx)("p",{className:"functionalities-wp7-workspace__message",children:n})]})}function vf(){const[e,t]=(0,R.useState)(null),[n,i]=(0,R.useState)(""),r=(0,R.useCallback)(()=>(i(""),df()({path:cf.adminDataPath}).then(t).catch(e=>i(e.message||String(e)))),[]);if((0,R.useEffect)(()=>{r()},[r]),n)return(0,o.jsxs)(z.Notice,{status:"error",isDismissible:!1,children:[cf.i18n.loadError," ",n]});if(!e)return(0,o.jsxs)("p",{children:[(0,o.jsx)(z.Spinner,{})," ",cf.i18n.loading]});const s="redirect-manager"===cf.module,l="task-manager"===cf.module||"functionalities-task-manager"===cf.page,d="assumption-detection"===cf.module||"content-regression"===cf.module;if(s){const t=[{id:"from",type:"text",label:(0,a.__)("Source","functionalities"),enableHiding:!1},{id:"to",type:"text",label:(0,a.__)("Destination","functionalities"),enableHiding:!1},{id:"type",type:"integer",label:(0,a.__)("Code","functionalities"),elements:[301,302,307,308].map(e=>({value:e,label:String(e)})),filterBy:{operators:["isAny"]}},{id:"enabled",type:"boolean",label:(0,a.__)("Enabled","functionalities")},{id:"hits",type:"integer",label:(0,a.__)("Hits","functionalities")},{id:"created",type:"datetime",label:(0,a.__)("Created","functionalities")}],n=[{id:"path",type:"text",label:(0,a.__)("Missing path","functionalities"),enableHiding:!1},{id:"count",type:"integer",label:(0,a.__)("Requests","functionalities")},{id:"last_seen",type:"datetime",label:(0,a.__)("Last seen","functionalities"),getValue:({item:e})=>new Date(1e3*Number(e.last_seen)).toISOString()},{id:"referrer_origin",type:"text",label:(0,a.__)("Referrer","functionalities")}];return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__grid",children:[(0,o.jsx)(pf,{onCreated:r}),(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__view",children:[(0,o.jsx)("h3",{children:(0,a.__)("Redirects","functionalities")}),(0,o.jsx)(mf,{data:e.redirects,fields:t,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"created",direction:"desc"},titleField:"from",fields:["to","type","enabled","hits","created"],layout:{density:"balanced"}}}),(0,o.jsx)("h3",{className:"functionalities-wp7-workspace__subheading",children:(0,a.__)("404 activity","functionalities")}),(0,o.jsx)(mf,{data:e.notFound||[],fields:n,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"last_seen",direction:"desc"},titleField:"path",fields:["count","last_seen","referrer_origin"],layout:{density:"balanced"}}})]})]})}if(l){const t=[{id:"text",type:"text",label:(0,a.__)("Task","functionalities"),enableHiding:!1},{id:"project_name",type:"text",label:(0,a.__)("Project","functionalities"),filterBy:{operators:["isAny"]}},{id:"completed",type:"boolean",label:(0,a.__)("Completed","functionalities")},{id:"priority",type:"integer",label:(0,a.__)("Priority","functionalities")},{id:"tags",type:"text",label:(0,a.__)("Tags","functionalities"),getValue:({item:e})=>Array.isArray(e.tags)?e.tags.join(", "):""},{id:"created",type:"datetime",label:(0,a.__)("Created","functionalities")}];return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__grid",children:[(0,o.jsx)(gf,{projects:e.projects,onCreated:r}),(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__view",children:[(0,o.jsx)("h3",{children:(0,a.__)("Tasks","functionalities")}),(0,o.jsx)(mf,{data:e.tasks,fields:t,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"created",direction:"desc"},titleField:"text",fields:["project_name","completed","priority","tags","created"],layout:{density:"balanced"}}})]})]})}return d?(0,o.jsx)(hf,{}):null}document.addEventListener("DOMContentLoaded",()=>{!function(){if(!cf.isFunctionalities)return;if(!["redirect-manager","task-manager","assumption-detection","content-regression"].includes(cf.module)&&"functionalities-task-manager"!==cf.page)return;const e=document.createElement("section");e.className="functionalities-wp7-workspace",e.innerHTML=`

${cf.i18n.modernTools}

`;const t=document.querySelector(".functionalities-module")||document.querySelector(".wrap");if(!t)return;const n=t.querySelector("h1")?.nextElementSibling||t.firstChild;t.insertBefore(e,n),(0,R.createRoot)(e.querySelector("[data-functionalities-wp7-root]")).render((0,o.jsx)(vf,{}))}()})},252(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var i,r,a;if(Array.isArray(t)){if((i=t.length)!=n.length)return!1;for(r=i;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(r of t.entries())if(!n.has(r[0]))return!1;for(r of t.entries())if(!e(r[1],n.get(r[0])))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(r of t.entries())if(!n.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((i=t.length)!=n.length)return!1;for(r=i;0!==r--;)if(t[r]!==n[r])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((i=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=i;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=i;0!==r--;){var s=a[r];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n}},731(e){var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),i=new RegExp(n,"g"),r=new RegExp(n,"");function a(e){return t[e]}var s=function(e){return e.replace(i,a)};e.exports=s,e.exports.has=function(e){return!!e.match(r)},e.exports.remove=s},493(e,t,n){"use strict";var i=n(609),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=i.useState,s=i.useEffect,o=i.useLayoutEffect,l=i.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),i=a({inst:{value:n,getSnapshot:t}}),r=i[0].inst,c=i[1];return o(function(){r.value=n,r.getSnapshot=t,d(r)&&c({inst:r})},[e,n,t]),s(function(){return d(r)&&c({inst:r}),e(function(){d(r)&&c({inst:r})})},[e]),l(n),n};t.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:c},888(e,t,n){"use strict";e.exports=n(493)},609(e){"use strict";e.exports=window.React}};const t={};function n(i){const r=t[i];if(void 0!==r)return r.exports;const a=t[i]={exports:{}};return e[i](a,a.exports,n),a.exports}n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{const e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;let t;n.t=function(i,r){if(1&r&&(i=this(i)),8&r)return i;if("object"==typeof i&&i){if(4&r&&i.__esModule)return i;if(16&r&&"function"==typeof i.then)return i}const a=Object.create(null);n.r(a);const s={};t=t||[null,e({}),e([]),e(e)];for(var o=2&r&&i;("object"==typeof o||"function"==typeof o)&&!~t.indexOf(o);o=e(o))Object.getOwnPropertyNames(o).forEach(e=>s[e]=()=>i[e]);return s.default=()=>i,n.d(a,s),a}})(),n.d=(e,t)=>{if(Array.isArray(t))for(var i=0;iObject.hasOwn(e,t),n.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},n(89)})(); \ No newline at end of file +(0,a._n)("%d field needs attention","%d fields need attention",t),t)})}function Qu({data:e,fields:t,label:n,layout:i,isOpen:r,touched:a,validity:s}){const l=fc(i.summary,t).filter(e=>function(e,t,n){if(!t||Array.isArray(t)&&0===t.length)return!1;const i=(Array.isArray(t)?t:[t]).find(t=>"string"==typeof t?t===e.id:"object"==typeof t&&"id"in t&&t.id===e.id);return!!i&&("string"==typeof i||"object"!=typeof i||!("visibility"in i)||"always"===i.visibility||"when-collapsed"===i.visibility&&!n)}(e,i.summary,r)),d=a&&i.isCollapsible,c=l.length>0&&i.withHeader;return(0,o.jsxs)(Ne,{align:"center",justify:"space-between",className:"dataforms-layouts-card__field-header-content",children:[(0,o.jsx)(kc,{children:n}),(d||c)&&(0,o.jsxs)(Vc,{className:"dataforms-layouts-card__field-header-content-description",children:[d&&(0,o.jsx)(Xu,{validity:s}),c&&(0,o.jsx)("div",{className:"dataforms-layouts-card__field-summary",children:l.map(t=>(0,o.jsx)(t.render,{item:e,field:t},t.id))})]})]})}function Ju({data:e,field:t,form:n,onChange:i,hideLabelFromVision:r,markWhenOptional:a,validity:s,withHeader:l}){if(t.children)return(0,o.jsxs)(o.Fragment,{children:[t.description&&(0,o.jsx)("div",{className:"dataforms-layouts-card__field-description",children:t.description}),(0,o.jsx)(sf,{data:e,form:n,onChange:i,validity:s?.children})]});const d=rf("regular")?.component;return d?(0,o.jsx)(d,{data:e,field:t,onChange:i,hideLabelFromVision:r||l,markWhenOptional:a,validity:s}):null}function ef({title:e}){return(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts-row__header",gap:"lg",children:(0,o.jsx)(Ne,{direction:"row",align:"center",children:(0,o.jsx)(z.__experimentalHeading,{level:2,size:13,children:e})})})}var tf=({children:e})=>(0,o.jsx)(o.Fragment,{children:e}),nf=[{type:"regular",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const{fields:s}=(0,R.useContext)(Zd),l=t.layout,d=(0,R.useMemo)(()=>({layout:Xd,fields:t.children?t.children:[]}),[t]);if(t.children)return(0,o.jsxs)(o.Fragment,{children:[!i&&t.label&&(0,o.jsx)(ec,{title:t.label}),(0,o.jsx)(sf,{data:e,form:d,onChange:n,validity:a?.children})]});const c=l.labelPosition,u=s.find(e=>e.id===t.id);return u&&u.Edit?"side"===c?(0,o.jsxs)(Ne,{direction:"row",className:"dataforms-layouts-regular__field",gap:"sm",children:[(0,o.jsx)("div",{className:Oe("dataforms-layouts-regular__field-label",`dataforms-layouts-regular__field-label--label-position-${c}`),children:(0,o.jsx)(z.BaseControl.VisualLabel,{children:u.label})}),(0,o.jsx)("div",{className:"dataforms-layouts-regular__field-control",children:!0===u.readOnly?(0,o.jsx)(u.render,{item:e,field:u}):(0,o.jsx)(u.Edit,{data:e,field:u,onChange:n,hideLabelFromVision:!0,markWhenOptional:r,validity:a},u.id)})]}):(0,o.jsx)("div",{className:"dataforms-layouts-regular__field",children:!0===u.readOnly?(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)(o.Fragment,{children:[!i&&"none"!==c&&(0,o.jsx)(z.BaseControl.VisualLabel,{children:u.label}),(0,o.jsx)(u.render,{item:e,field:u})]})}):(0,o.jsx)(u.Edit,{data:e,field:u,onChange:n,hideLabelFromVision:"none"===c||i,markWhenOptional:r,validity:a})}):null},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:e})},{type:"panel",component:function({data:e,field:t,onChange:n,validity:i}){return"modal"===t.layout.openAs.type?(0,o.jsx)(gc,{data:e,field:t,onChange:n,validity:i}):(0,o.jsx)(bc,{data:e,field:t,onChange:n,validity:i})},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"md",children:e})},{type:"card",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const{fields:s}=(0,R.useContext)(Zd),l=t.layout,d=(0,R.useRef)(null),c=(0,R.useMemo)(()=>({layout:Xd,fields:t.children??[]}),[t]),{isOpened:u,isCollapsible:f}=l,[m,p]=(0,R.useState)(u),[g,h]=(0,R.useState)(!1);(0,R.useEffect)(()=>{p(u)},[u]);const v=(0,R.useCallback)(e=>{e||h(!0),p(e)},[]),b=(0,R.useCallback)(()=>{h(!0)},[]);uc(d,(!f||m)&&g);let y,w=t.label;if(t.children)y=!!w&&l.withHeader;else{const e=s.find(e=>e.id===t.id);if(!e||!e.Edit)return null;w=e.label,y=!!w&&l.withHeader}const x=(0,o.jsx)(Ju,{data:e,field:t,form:c,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a,withHeader:y}),_=(0,o.jsx)(Qu,{data:e,fields:s,label:w,layout:l,isOpen:!f||!!m,touched:g,validity:a});return y&&f?(0,o.jsxs)(du,{className:"dataforms-layouts-card__field",open:m,onOpenChange:v,children:[(0,o.jsx)(Iu,{children:_}),(0,o.jsx)(Hu,{ref:d,onBlur:b,children:x})]}):(0,o.jsxs)(Fc,{className:"dataforms-layouts-card__field",children:[y&&(0,o.jsx)(pu,{children:_}),(0,o.jsx)(Lu,{ref:d,onBlur:b,children:x})]})},wrapper:({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"xl",children:e})},{type:"row",component:function({data:e,field:t,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:a}){const s=t.layout;if(t.children){const l={layout:Xd,fields:t.children};return(0,o.jsxs)("div",{className:"dataforms-layouts-row__field",children:[!i&&t.label&&(0,o.jsx)(ef,{title:t.label}),(0,o.jsx)(Ne,{direction:"row",align:s.alignment,gap:"lg",children:(0,o.jsx)(sf,{data:e,form:l,onChange:n,validity:a?.children,as:tf,children:(t,a,l)=>(0,o.jsx)("div",{className:"dataforms-layouts-row__field-control",style:s.styles[a.id],children:(0,o.jsx)(t,{data:e,field:a,onChange:n,hideLabelFromVision:i,markWhenOptional:r,validity:l})},a.id)})})]})}const l=rf("regular")?.component;return l?(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("div",{className:"dataforms-layouts-row__field-control",children:(0,o.jsx)(l,{data:e,field:t,onChange:n,markWhenOptional:r,validity:a})})}):null},wrapper:({children:e,layout:t})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:(0,o.jsx)("div",{className:"dataforms-layouts-row__field",children:(0,o.jsx)(Ne,{direction:"row",gap:"lg",align:t.alignment,children:e})})})},{type:"details",component:function({data:e,field:t,onChange:n,validity:i}){const{fields:r}=(0,R.useContext)(Zd),s=(0,R.useRef)(null),l=(0,R.useRef)(null),[d,c]=(0,R.useState)(!1),[u,f]=(0,R.useState)(!1),m=(0,R.useMemo)(()=>({layout:Xd,fields:t.children??[]}),[t]);(0,R.useEffect)(()=>{const e=s.current;if(!e)return;const t=()=>{const t=e.open;t||c(!0),f(t)};return e.addEventListener("toggle",t),()=>{e.removeEventListener("toggle",t)}},[]),uc(l,u&&d);const p=(0,R.useCallback)(()=>{c(!0)},[]);if(!t.children)return null;const g=t.layout.summary??"",h=g?r.find(e=>e.id===g):void 0;let v;return v=h&&h.render?(0,o.jsx)(h.render,{item:e,field:h}):t.label||(0,a.__)("More details"),(0,o.jsxs)("details",{ref:s,className:"dataforms-layouts-details__details",children:[(0,o.jsx)("summary",{className:"dataforms-layouts-details__summary",children:(0,o.jsxs)(Ne,{direction:"row",align:"center",gap:"md",className:"dataforms-layouts-details__summary-content",children:[v,d&&(0,o.jsx)(Xu,{validity:i})]})}),(0,o.jsx)("div",{ref:l,className:"dataforms-layouts-details__content",onBlur:p,children:(0,o.jsx)(sf,{data:e,form:m,onChange:n,validity:i?.children})})]})}}];function rf(e){return nf.find(t=>t.type===e)}var af=({children:e})=>(0,o.jsx)(Ne,{direction:"column",className:"dataforms-layouts__wrapper",gap:"lg",children:e});function sf({data:e,form:t,onChange:n,validity:i,children:r,as:a}){const{fields:s}=(0,R.useContext)(Zd),l=(0,R.useMemo)(()=>{const e=s.filter(e=>!!e.isValid?.required).length;return e>s.length-e},[s]),d=a??rf(t.layout.type)?.wrapper??af;return(0,o.jsx)(d,{layout:t.layout,children:t.fields.map(t=>{const a=rf(t.layout.type)?.component;if(!a)return null;const d=t.children?void 0:(c=t,s.find(e=>e.id===c.id));var c;return d&&d.isVisible&&!d.isVisible(e)?null:r?r(a,t,i?.[t.id],l):(0,o.jsx)(a,{data:e,field:t,onChange:n,markWhenOptional:l,validity:i?.[t.id]},t.id)})})}function of({data:e,form:t,fields:n,onChange:i,validity:r}){const a=(0,R.useMemo)(()=>Jd(t),[t]),s=(0,R.useMemo)(()=>zi(n),[n]);return t.fields?(0,o.jsx)(Yd,{fields:s,children:(0,o.jsx)(sf,{data:e,form:a,onChange:i,validity:r})}):null}const lf=window.wp.apiFetch;var df=n.n(lf);const cf=window.functionalitiesWp7||{};function uf(e,t){try{(0,Ji.dispatch)("core/notices").createNotice(e,t,{type:"snackbar"})}catch(e){}}function ff(e,t,n=!1){const i=`${cf.abilitiesPath}functionalities/${e}/run`;if(n){const e=t?`?input=${encodeURIComponent(JSON.stringify(t))}`:"";return df()({path:i+e,method:"GET"})}return df()({path:i,method:"POST",data:{input:t||null}})}function mf({data:e,fields:t,initialView:n}){const[i,a]=(0,R.useState)(n),s=(0,R.useMemo)(()=>function(e,t,n){if(!e)return{data:Bi,paginationInfo:{totalItems:0,totalPages:0}};const i=zi(n);let a=[...e];if(t.search){const e=Ri(t.search);a=a.filter(t=>i.filter(e=>e.enableGlobalSearch).some(n=>{const i=n.getValue({item:t});return(Array.isArray(i)?i:[i]).some(t=>Ri(String(t)).includes(e))}))}t.filters&&t.filters?.length>0&&t.filters.forEach(e=>{const t=i.find(t=>t.id===e.field);if(t){e.operator===m&&r("The 'isNotAll' filter operator",{since:"7.0",alternative:"'isNone'"});const n=t.filter[e.operator];n&&(a=a.filter(i=>n(i,t,e.value)))}});const s=t.sort?.field?i.find(e=>!1!==e.enableSorting&&e.id===t.sort?.field):null,o=t.groupBy?.field?i.find(e=>!1!==e.enableSorting&&e.id===t.groupBy?.field):null;(s||o)&&a.sort((e,n)=>{if(o){const i=o.sort(e,n,t.groupBy?.direction??"asc");if(0!==i)return i}return s?s.sort(e,n,t.sort?.direction??"desc"):0});let l=a.length,d=1;if(t.infiniteScrollEnabled&&void 0!==t.startPosition&&void 0!==t.perPage){const e=t.startPosition-1,n=Math.min(e+t.perPage,l);a=a?.slice(e,n)}else if(void 0!==t.page&&void 0!==t.perPage){const e=(t.page-1)*t.perPage;l=a?.length||0,d=Math.ceil(l/t.perPage),a=a?.slice(e,e+t.perPage)}return{data:a,paginationInfo:{totalItems:l,totalPages:d}}}(e,i,t),[e,t,i]);return(0,o.jsx)(Ud,{data:s.data,fields:t,view:i,onChangeView:a,paginationInfo:s.paginationInfo,getItemId:e=>String(e.id||e.path||e.text),defaultLayouts:{table:{},list:{}}})}function pf({onCreated:e}){const[t,n]=(0,R.useState)({from_url:"",to_url:"",type:301}),[i,r]=(0,R.useState)(!1),s=(0,R.useMemo)(()=>[{id:"from_url",type:"text",label:(0,a.__)("Source path","functionalities"),description:(0,a.__)("Example: /old-page","functionalities")},{id:"to_url",type:"text",label:(0,a.__)("Destination URL","functionalities")},{id:"type",type:"integer",label:(0,a.__)("Redirect code","functionalities"),elements:[301,302,307,308].map(e=>({value:e,label:String(e)}))}],[]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Add redirect","functionalities")}),(0,o.jsx)(of,{data:t,fields:s,form:{layout:{type:"regular"},fields:["from_url","to_url","type"]},onChange:e=>n(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"primary",onClick:()=>{r(!0),ff("create-redirect",t).then(()=>{n({from_url:"",to_url:"",type:301}),uf("success",(0,a.__)("Redirect created.","functionalities")),e()}).catch(e=>uf("error",e.message||String(e))).finally(()=>r(!1))},isBusy:i,disabled:i||!t.from_url.trim()||!t.to_url.trim(),children:(0,a.__)("Create redirect","functionalities")})})]})}function gf({projects:e,onCreated:t}){const[n,i]=(0,R.useState)({project:e[0]?.slug||"",text:"",notes:""}),[r,s]=(0,R.useState)(!1),l=(0,R.useMemo)(()=>[{id:"project",type:"text",label:(0,a.__)("Project","functionalities"),elements:e.map(e=>({value:e.slug,label:e.name}))},{id:"text",type:"text",label:(0,a.__)("Task","functionalities")},{id:"notes",type:"text",Edit:{control:"textarea",rows:4},label:(0,a.__)("Notes","functionalities")}],[e]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Add task","functionalities")}),e.length?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(of,{data:n,fields:l,form:{layout:{type:"regular"},fields:["project","text","notes"]},onChange:e=>i(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"primary",onClick:()=>{s(!0),ff("create-task",n).then(()=>{i(e=>({project:e.project,text:"",notes:""})),uf("success",(0,a.__)("Task created.","functionalities")),t()}).catch(e=>uf("error",e.message||String(e))).finally(()=>s(!1))},isBusy:r,disabled:r||!n.project||!n.text.trim(),children:(0,a.__)("Create task","functionalities")})})]}):(0,o.jsx)(z.Notice,{status:"info",isDismissible:!1,children:(0,a.__)("Create a project in the classic interface below before adding tasks here.","functionalities")})]})}function hf(){const[e,t]=(0,R.useState)({context:"content-regression"===cf.module?"content-integrity":"assumption",finding:""}),[n,i]=(0,R.useState)(""),[r,s]=(0,R.useState)(!1),l=(0,R.useMemo)(()=>[{id:"finding",type:"text",Edit:{control:"textarea",rows:7},label:(0,a.__)("Finding to explain","functionalities"),description:(0,a.__)("Paste only the warning you want to send to the configured AI provider.","functionalities")}],[]);return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__form",children:[(0,o.jsx)("h3",{children:(0,a.__)("Explain a finding","functionalities")}),(0,o.jsx)(of,{data:e,fields:l,form:{layout:{type:"regular"},fields:["finding"]},onChange:e=>t(t=>({...t,...e}))}),(0,o.jsx)("div",{className:"functionalities-wp7-workspace__actions",children:(0,o.jsx)(z.Button,{variant:"secondary",onClick:()=>{s(!0),i(""),ff("explain-finding",e).then(e=>i(e.explanation||"")).catch(e=>i(e.message||String(e))).finally(()=>s(!1))},isBusy:r,disabled:r||!e.finding.trim(),children:(0,a.__)("Explain with AI","functionalities")})}),n&&(0,o.jsx)("p",{className:"functionalities-wp7-workspace__message",children:n})]})}function vf(){const[e,t]=(0,R.useState)(null),[n,i]=(0,R.useState)(""),r=(0,R.useCallback)(()=>(i(""),df()({path:cf.adminDataPath}).then(t).catch(e=>i(e.message||String(e)))),[]);if((0,R.useEffect)(()=>{r()},[r]),n)return(0,o.jsxs)(z.Notice,{status:"error",isDismissible:!1,children:[cf.i18n.loadError," ",n]});if(!e)return(0,o.jsxs)("p",{children:[(0,o.jsx)(z.Spinner,{})," ",cf.i18n.loading]});const s="redirect-manager"===cf.module,l="task-manager"===cf.module||"functionalities-task-manager"===cf.page,d="assumption-detection"===cf.module||"content-regression"===cf.module;if(s){const t=[{id:"from",type:"text",label:(0,a.__)("Source","functionalities"),enableHiding:!1},{id:"to",type:"text",label:(0,a.__)("Destination","functionalities"),enableHiding:!1},{id:"type",type:"integer",label:(0,a.__)("Code","functionalities"),elements:[301,302,307,308].map(e=>({value:e,label:String(e)})),filterBy:{operators:["isAny"]}},{id:"enabled",type:"boolean",label:(0,a.__)("Enabled","functionalities")},{id:"hits",type:"integer",label:(0,a.__)("Hits","functionalities")},{id:"created",type:"datetime",label:(0,a.__)("Created","functionalities")}],n=[{id:"path",type:"text",label:(0,a.__)("Missing path","functionalities"),enableHiding:!1},{id:"count",type:"integer",label:(0,a.__)("Requests","functionalities")},{id:"last_seen",type:"datetime",label:(0,a.__)("Last seen","functionalities"),getValue:({item:e})=>new Date(1e3*Number(e.last_seen)).toISOString()},{id:"referrer_origin",type:"text",label:(0,a.__)("Referrer","functionalities")}];return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__grid",children:[(0,o.jsx)(pf,{onCreated:r}),(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__view",children:[(0,o.jsx)("h3",{children:(0,a.__)("Redirects","functionalities")}),(0,o.jsx)(mf,{data:e.redirects,fields:t,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"created",direction:"desc"},titleField:"from",fields:["to","type","enabled","hits","created"],layout:{density:"balanced"}}}),(0,o.jsx)("h3",{className:"functionalities-wp7-workspace__subheading",children:(0,a.__)("404 activity","functionalities")}),(0,o.jsx)(mf,{data:e.notFound||[],fields:n,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"last_seen",direction:"desc"},titleField:"path",fields:["count","last_seen","referrer_origin"],layout:{density:"balanced"}}})]})]})}if(l){const t=[{id:"text",type:"text",label:(0,a.__)("Task","functionalities"),enableHiding:!1},{id:"project_name",type:"text",label:(0,a.__)("Project","functionalities"),filterBy:{operators:["isAny"]}},{id:"completed",type:"boolean",label:(0,a.__)("Completed","functionalities")},{id:"priority",type:"integer",label:(0,a.__)("Priority","functionalities")},{id:"tags",type:"text",label:(0,a.__)("Tags","functionalities"),getValue:({item:e})=>Array.isArray(e.tags)?e.tags.join(", "):""},{id:"created",type:"datetime",label:(0,a.__)("Created","functionalities")}];return(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__grid",children:[(0,o.jsx)(gf,{projects:e.projects,onCreated:r}),(0,o.jsxs)("div",{className:"functionalities-wp7-workspace__view",children:[(0,o.jsx)("h3",{children:(0,a.__)("Tasks","functionalities")}),(0,o.jsx)(mf,{data:e.tasks,fields:t,initialView:{type:"table",page:1,perPage:20,search:"",filters:[],sort:{field:"created",direction:"desc"},titleField:"text",fields:["project_name","completed","priority","tags","created"],layout:{density:"balanced"}}})]})]})}return d?(0,o.jsx)(hf,{}):null}document.addEventListener("DOMContentLoaded",()=>{!function(){if(!cf.isFunctionalities)return;if(!["redirect-manager","task-manager","assumption-detection","content-regression"].includes(cf.module)&&"functionalities-task-manager"!==cf.page)return;if(!cf.moduleEnabled)return;const e=document.createElement("section");e.className="functionalities-wp7-workspace",e.innerHTML="
";const t=document.querySelector(".functionalities-module")||document.querySelector(".wrap");if(!t)return;const n=t.querySelector("h1")?.nextElementSibling||t.firstChild;t.insertBefore(e,n),(0,R.createRoot)(e.querySelector("[data-functionalities-wp7-root]")).render((0,o.jsx)(vf,{}))}()})},252(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var i,r,a;if(Array.isArray(t)){if((i=t.length)!=n.length)return!1;for(r=i;0!==r--;)if(!e(t[r],n[r]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(r of t.entries())if(!n.has(r[0]))return!1;for(r of t.entries())if(!e(r[1],n.get(r[0])))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(r of t.entries())if(!n.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((i=t.length)!=n.length)return!1;for(r=i;0!==r--;)if(t[r]!==n[r])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((i=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=i;0!==r--;)if(!Object.prototype.hasOwnProperty.call(n,a[r]))return!1;for(r=i;0!==r--;){var s=a[r];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n}},731(e){var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),i=new RegExp(n,"g"),r=new RegExp(n,"");function a(e){return t[e]}var s=function(e){return e.replace(i,a)};e.exports=s,e.exports.has=function(e){return!!e.match(r)},e.exports.remove=s},493(e,t,n){"use strict";var i=n(609),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=i.useState,s=i.useEffect,o=i.useLayoutEffect,l=i.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),i=a({inst:{value:n,getSnapshot:t}}),r=i[0].inst,c=i[1];return o(function(){r.value=n,r.getSnapshot=t,d(r)&&c({inst:r})},[e,n,t]),s(function(){return d(r)&&c({inst:r}),e(function(){d(r)&&c({inst:r})})},[e]),l(n),n};t.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:c},888(e,t,n){"use strict";e.exports=n(493)},609(e){"use strict";e.exports=window.React}};const t={};function n(i){const r=t[i];if(void 0!==r)return r.exports;const a=t[i]={exports:{}};return e[i](a,a.exports,n),a.exports}n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{const e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;let t;n.t=function(i,r){if(1&r&&(i=this(i)),8&r)return i;if("object"==typeof i&&i){if(4&r&&i.__esModule)return i;if(16&r&&"function"==typeof i.then)return i}const a=Object.create(null);n.r(a);const s={};t=t||[null,e({}),e([]),e(e)];for(var o=2&r&&i;("object"==typeof o||"function"==typeof o)&&!~t.indexOf(o);o=e(o))Object.getOwnPropertyNames(o).forEach(e=>s[e]=()=>i[e]);return s.default=()=>i,n.d(a,s),a}})(),n.d=(e,t)=>{if(Array.isArray(t))for(var i=0;iObject.hasOwn(e,t),n.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},n(89)})(); \ No newline at end of file diff --git a/includes/admin/class-module-controller.php b/includes/admin/class-module-controller.php index 5910a7d..39db67f 100644 --- a/includes/admin/class-module-controller.php +++ b/includes/admin/class-module-controller.php @@ -1163,7 +1163,7 @@ function () { \add_settings_section( 'functionalities_misc_section', - \__( 'Miscellaneous (Bloat Control)', 'functionalities' ), + \__( 'Performance & Cleanup', 'functionalities' ), function () { echo '

' . \esc_html__( 'Remove unnecessary WordPress features to improve performance and security.', 'functionalities' ) . '

'; @@ -2932,7 +2932,9 @@ public static function field_json_preset_url(): void {

- + functionalities_json_preset_path — ' . \esc_html__( 'change where the preset file is read from', 'functionalities' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Both segments escaped above; the code tag is literal. + ?>

diff --git a/includes/core/class-wordpress-7-integration.php b/includes/core/class-wordpress-7-integration.php index 78ea8e5..f2b2a24 100644 --- a/includes/core/class-wordpress-7-integration.php +++ b/includes/core/class-wordpress-7-integration.php @@ -688,10 +688,20 @@ public static function enqueue_admin_assets( string $hook_suffix ): void { $page = isset( $_GET['page'] ) ? \sanitize_key( \wp_unslash( $_GET['page'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Read-only routing. $module = isset( $_GET['module'] ) ? \sanitize_key( \wp_unslash( $_GET['module'] ) ) : ''; + // The workspace must not render for a module that is switched off. The + // REST route and every ability already refuse, so without this the page + // showed an empty table and a create form that could only ever error. + $workspace_module = $module; + if ( 'functionalities-task-manager' === $page ) { + $workspace_module = 'task-manager'; + } + $module_enabled = '' !== $workspace_module && Module_Registry::is_enabled( $workspace_module ); + $config = array( 'isFunctionalities' => $is_functionalities, 'page' => $page, 'module' => $module, + 'moduleEnabled' => $module_enabled, 'adminDataPath' => '/functionalities/v1/wp7/admin-data', 'settingsPath' => '/functionalities/v1/wp7/settings', 'abilitiesPath' => '/wp-abilities/v1/abilities/', @@ -703,10 +713,9 @@ public static function enqueue_admin_assets( string $hook_suffix ): void { 'assumptions' => \admin_url( 'admin.php?page=functionalities&module=assumption-detection' ), ), 'i18n' => array( - 'modernTools' => \__( 'WordPress 7 workspace', 'functionalities' ), - 'loading' => \__( 'Loading WordPress 7 workspace…', 'functionalities' ), - 'loadError' => \__( 'The WordPress 7 workspace could not be loaded. The classic interface remains available below.', 'functionalities' ), - 'saved' => \__( 'Saved.', 'functionalities' ), + 'loading' => \__( 'Loading…', 'functionalities' ), + 'loadError' => \__( 'This view could not be loaded. The full interface is available below.', 'functionalities' ), + 'saved' => \__( 'Saved.', 'functionalities' ), ), ); @@ -764,8 +773,8 @@ public static function render_settings_panel(): void { $options = self::get_options(); ?>
-

-

+

+