strapi-plugin-navigation 3.0.7-beta.4 โ†’ 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,7 @@ Strapi Navigation Plugin provides a website navigation / menu builder feature fo
50
50
  13. [๐Ÿงน REST Cache](#rest-cache)
51
51
  14. [๐Ÿงฉ Examples](#-examples)
52
52
  15. [๐Ÿ’ฌ FAQ](#-faq)
53
- 16. [๐Ÿค Contributing](#-contributing)
53
+ 16. [๐Ÿค Contributing](#-contributing-to-the-plugin)
54
54
  17. [๐Ÿ‘จโ€๐Ÿ’ป Community support](#-community-support)
55
55
 
56
56
  ## ๐Ÿ’Ž Versions
@@ -113,7 +113,7 @@ Complete installation requirements are exact same as for Strapi itself and can b
113
113
 
114
114
  **Supported Strapi versions**:
115
115
 
116
- - Strapi v5.8.1 (recently tested)
116
+ - Strapi v5.9.0 (recently tested)
117
117
  - Strapi v5.x
118
118
 
119
119
  > This plugin is designed for **Strapi v5** and is not working with v4.x. To get version for **Strapi v4** install version [v4.x](https://github.com/VirtusLab-Open-Source/strapi-plugin-navigation/tree/strapi-v4).
@@ -745,16 +745,9 @@ module.exports = {
745
745
 
746
746
  If you already got it, make sure that `navigation` plugin is inserted before `graphql`. That should do the job.
747
747
 
748
- ## ๐Ÿค Contributing
748
+ ## ๐Ÿค Contributing to the plugin
749
749
 
750
- <div>
751
- <a href="https://sharing.clickup.com/tl/xhcmx-43/strapiv-4-navigation-roadmap">
752
- <img src="https://img.shields.io/website?down_message=roadmap&label=product&up_message=roadmap&url=https%3A%2F%2Fsharing.clickup.com%2Ftl%2Fxhcmx-43%2Fstrapiv-4-navigation-roadmap" />
753
- </a>
754
- <a href="https://sharing.clickup.com/b/6-169004201-2/strapiv-4-navigation-board">
755
- <img src="https://img.shields.io/website?down_message=board&label=product&up_color=blue&up_message=board&url=https%3A%2F%2Fsharing.clickup.com%2Fb%2F6-169004201-2%2Fstrapiv-4-navigation-board" />
756
- </a>
757
- </div>
750
+ ### How to start?
758
751
 
759
752
  Feel free to fork and make a Pull Request to this plugin project. All the input is warmly welcome!
760
753
 
@@ -787,6 +780,12 @@ Feel free to fork and make a Pull Request to this plugin project. All the input
787
780
 
788
781
  4. Run your Strapi instance
789
782
 
783
+ ### :octocat: Core team
784
+ [@CodeVoyager](https://github.com/CodeVoyager) [@cyp3rius](https://github.com/cyp3rius)
785
+
786
+ ### ๐ŸŒŸ Strapi Community
787
+ [@jorrit](https://github.com/jorrit)
788
+
790
789
  ## ๐Ÿ‘จโ€๐Ÿ’ป Community support
791
790
 
792
791
  For general help using Strapi, please refer to [the official Strapi documentation](https://strapi.io/documentation/). For additional help, you can use one of these channels to ask a question:
@@ -1,10 +1,10 @@
1
- "use strict";const p=require("react"),t=require("react/jsx-runtime"),pt=require("styled-components"),$=require("@strapi/strapi/admin"),_e=require("react-dnd"),Ft=require("react-dnd-html5-backend"),Be=require("react-router-dom"),a=require("@strapi/design-system"),W=require("@tanstack/react-query"),I=require("lodash"),H=require("react-intl"),V=require("@sensinum/strapi-utils"),G=require("@strapi/icons"),c=require("zod"),Me=require("lodash/fp"),mt=e=>e&&e.__esModule?e:{default:e};function Nt(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,l.get?l:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const Rt=mt(p),Ce=mt(pt),o=Nt(c),he="navigation",At=({setPlugin:e})=>{const n=p.useRef(e);return p.useEffect(()=>{n.current?.(he)},[]),null},Et=92,Lt=Ce.default.svg`
1
+ "use strict";const p=require("react"),t=require("react/jsx-runtime"),pt=require("styled-components"),$=require("@strapi/strapi/admin"),_e=require("react-dnd"),Ft=require("react-dnd-html5-backend"),Be=require("react-router-dom"),a=require("@strapi/design-system"),H=require("@tanstack/react-query"),I=require("lodash"),X=require("react-intl"),_=require("@sensinum/strapi-utils"),G=require("@strapi/icons"),c=require("zod"),ze=require("lodash/fp"),mt=e=>e&&e.__esModule?e:{default:e};function Nt(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,l.get?l:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const Rt=mt(p),Ce=mt(pt),o=Nt(c),he="navigation",At=({setPlugin:e})=>{const n=p.useRef(e);return p.useEffect(()=>{n.current?.(he)},[]),null},Et=92,Lt=Ce.default.svg`
2
2
  path {
3
3
  fill: ${({theme:e})=>e.colors.neutral500};
4
4
  }
5
5
  `,$t=({width:e=20,height:n=20})=>t.jsx(Lt,{viewBox:`0 0 ${e} ${n}`,xmlns:"http://www.w3.org/2000/svg",height:n,width:e,children:t.jsx("g",{style:{transform:`scale(${e/Et})`},children:t.jsx("path",{d:`M78,23.5H14c-3.6,0-6.5-2.9-6.5-6.5s2.9-6.5,6.5-6.5h64c3.6,0,6.5,2.9,6.5,6.5S81.6,23.5,78,23.5z M84.5,46
6
6
  c0-3.6-2.9-6.5-6.5-6.5H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,52.5,84.5,49.6,84.5,46z M84.5,75c0-3.6-2.9-6.5-6.5-6.5
7
- H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,81.5,84.5,78.6,84.5,75z`})})}),kt=()=>t.jsx($t,{}),tt={en:()=>Promise.resolve().then(()=>require("../_chunks/en-CKowl_sX.js")),fr:()=>Promise.resolve().then(()=>require("../_chunks/fr-DyX_S7LN.js")),ca:()=>Promise.resolve().then(()=>require("../_chunks/ca-BzGBgdJx.js"))},Ve=e=>`${he}.${e}`,r=(e,n)=>({id:Ve(e),defaultMessage:n??Ve(e)}),De=e=>`plugin::navigation.${e}`,qe={read:"read",update:"update",settings:"settings"},Ae={access:[{action:De(qe.read),subject:null}],update:[{action:De(qe.update),subject:null}],settings:[{action:De(qe.settings),subject:null}]},Qe=c.z.object({name:c.z.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:c.z.string(),required:c.z.boolean().optional(),enabled:c.z.boolean().optional()}),Pt=Qe.extend({type:c.z.literal("select"),multi:c.z.boolean(),options:c.z.array(c.z.string())}),Mt=Qe.extend({type:c.z.enum(["boolean","string"]),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),zt=Qe.extend({type:c.z.literal("media"),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),gt=c.z.union([Mt,zt,Pt]),Bt=c.z.union([c.z.literal("audience"),gt]),Dt=c.z.object({additionalFields:c.z.array(Bt),allowedLevels:c.z.number(),availableAudience:c.z.object({id:c.z.number(),documentId:c.z.string(),name:c.z.string(),key:c.z.string()}).array(),contentTypes:c.z.array(c.z.string()),contentTypesNameFields:c.z.record(c.z.string(),c.z.array(c.z.string())),contentTypesPopulate:c.z.record(c.z.string(),c.z.array(c.z.string())),gql:c.z.object({navigationItemRelated:c.z.array(c.z.string())}),pathDefaultFields:c.z.record(c.z.string(),c.z.any()),cascadeMenuAttached:c.z.boolean(),preferCustomContentTypes:c.z.boolean(),isCacheEnabled:c.z.boolean().optional(),isCachePluginEnabled:c.z.boolean().optional()}),qt=c.z.object({uid:c.z.string(),isDisplayed:c.z.boolean(),apiID:c.z.string(),kind:c.z.enum(["collectionType","singleType"]),info:c.z.object({singularName:c.z.string(),pluralName:c.z.string(),displayName:c.z.string(),description:c.z.string().optional()}),attributes:c.z.record(c.z.string(),c.z.unknown())}),Ot=o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}),ht=o.enum(["INTERNAL","EXTERNAL","WRAPPER"]),Gt=o.object({id:o.number(),documentId:o.string(),title:o.string(),type:ht,path:o.string(),externalPath:o.string().or(o.null()).optional(),uiRouterKey:o.string(),menuAttached:o.boolean(),order:o.number().int(),collapsed:o.boolean(),autoSync:o.boolean().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),additionalFields:o.record(o.string(),o.unknown()).or(o.null()).optional(),audience:o.array(Ot).or(o.null()).optional(),viewId:o.number().optional(),viewParentId:o.number().optional(),structureId:o.string().optional(),removed:o.boolean().optional(),isSearchActive:o.boolean().optional(),updated:o.boolean().optional()}),ft=Gt.extend({items:o.lazy(()=>ft.array().or(o.null())).optional()}),_t=o.object({id:o.number(),documentId:o.string(),name:o.string(),slug:o.string(),locale:o.string(),visible:o.boolean(),items:o.array(ft)}),Ke=o.object({name:o.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:o.string(),required:o.boolean().optional(),enabled:o.boolean().optional()}),Vt=Ke.extend({type:o.literal("select"),multi:o.boolean(),options:o.array(o.string())}),Qt=Ke.extend({type:o.enum(["boolean","string"]),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Kt=Ke.extend({type:o.literal("media"),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Ut=Qt.or(Kt).or(Vt),Wt=o.union([o.literal("audience"),Ut]),Ht=o.object({uid:o.string(),name:o.string(),draftAndPublish:o.boolean(),isSingle:o.boolean(),description:o.string(),collectionName:o.string(),contentTypeName:o.string(),label:o.string(),labelSingular:o.string(),endpoint:o.string(),available:o.boolean(),visible:o.boolean()}),Xt=o.object({additionalFields:o.array(Wt),allowedLevels:o.number(),availableAudience:o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}).array(),contentTypes:o.array(o.string()),contentTypesNameFields:o.record(o.string(),o.array(o.string())),contentTypesPopulate:o.record(o.string(),o.array(o.string())),gql:o.object({navigationItemRelated:o.array(o.string())}),pathDefaultFields:o.record(o.string(),o.string().array()),cascadeMenuAttached:o.boolean(),preferCustomContentTypes:o.boolean(),allowedContentTypes:o.string().array(),restrictedContentTypes:o.string().array(),isCacheEnabled:o.boolean().optional(),isCachePluginEnabled:o.boolean().optional()}),nt=Xt.omit({contentTypes:!0}).extend({contentTypes:Ht.array()}),Zt=o.object({defaultLocale:o.string(),restLocale:o.string().array()}),Jt=o.enum(["collectionType","singleType"]),Yt=o.object({singularName:o.string(),pluralName:o.string(),displayName:o.string(),description:o.string().optional(),name:o.string().optional()}),yt=o.object({required:o.boolean().optional(),max:o.number().optional(),min:o.number().optional(),minLength:o.number().optional(),maxLength:o.number().optional(),private:o.boolean().optional(),configurable:o.boolean().optional(),default:o.any().optional()}),en=o.enum(["string","text","richtext","blocks","email","password","date","time","datetime","timestamp","boolean","integer","biginteger","float","decimal","json","relation","media"]),tn=yt.extend({type:en}),nn=yt.extend({type:o.literal("enumeration"),enum:o.string().array()}),an=o.object({type:o.literal("component"),component:o.string(),repeatable:o.boolean().optional()}),on=o.object({type:o.literal("dynamiczone"),components:o.string().array()}),sn=o.object({media:o.literal("media"),allowedTypes:o.enum(["images","videos","audios","files"]).array(),required:o.boolean().optional()}),rn=o.enum(["oneToOne","oneToMany","manyToOne","manyToMany","morphToMany","manyToMorph"]),ln=o.object({type:o.literal("relation"),relation:rn,target:o.string(),mappedBy:o.string().optional(),inversedBy:o.string().optional()}),dn=o.record(o.string(),o.union([tn,nn,an,on,ln,sn])),cn=o.object({kind:Jt,collectionName:o.string(),info:Yt,options:o.object({draftAndPublish:o.boolean().optional(),hidden:o.boolean().optional(),templateName:o.string().optional()}).optional(),attributes:dn,actions:o.record(o.string(),o.any()).optional(),lifecycles:o.record(o.string(),o.any()).optional(),uid:o.string(),apiName:o.string().optional(),associations:o.object({model:o.string(),alias:o.string()}).array().optional(),modelName:o.string().optional(),plugin:o.string().optional(),pluginOptions:o.record(o.string(),o.any()).optional(),isSingle:o.boolean().optional()});cn.pick({info:!0,kind:!0,attributes:!0,options:!0});const un=o.object({id:o.number(),documentId:o.string(),locale:o.string().or(o.null()).optional()}).and(o.record(o.string(),o.any())),pn=o.object({slug:o.string()}),mn=o.object({externalPath:o.string().or(o.null()).optional(),path:o.string().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),title:o.string(),type:ht,uiRouterKey:o.string()}),Y="navigation",ee=I.once(e=>({getIndexPrefix(){return[Y]},readAll(){return e.get(`/${Y}`).then(({data:n})=>_t.array().parse(n))},readAllIndex(){return[Y,"navigations"]},delete(n){return e.del(`/${Y}/${n}`)},create(n){return e.post(`/${Y}/`,n)},update(n){return e.put(`/${Y}/${n.documentId}`,n)},purge({documentId:n,withLangVersions:i}){return e.del(`/${Y}/cache/purge/${n??""}?clearLocalisations=${!!i}`)},slugify(n){const i=new URLSearchParams;return i.append("q",n),e.get(`/${Y}/slug?${i.toString()}`).then(({data:l})=>pn.parse(l)).then(({slug:l})=>l)},readConfig(){return e.get(`/${Y}/config`).then(({data:n})=>nt.parse(n))},readConfigIndex(){return[Y,"config"]},healthCheck(){return e.get("/_health")},healthCheckIndex(){return["health"]},readNavigationItemFromLocale({source:n,structureId:i,target:l,documentId:d}){return e.get(`/${Y}/i18n/item/read/${d}/${n}/${l}?path=${i}`)},updateConfig(n){return e.put(`/${Y}/config`,n).then(()=>{})},restart(){return e.get(`/${Y}/settings/restart`).then(()=>{})},restoreConfig(){return e.del(`/${Y}/config`).then(()=>{})},readSettingsConfig(){return e.get(`/${Y}/settings/config`).then(({data:n})=>{const i=nt.parse(n);return{...i,contentTypes:i.contentTypes.map(({uid:l})=>l)}})},readSettingsConfigIndex(){return[Y,"config"]},readContentType(){return e.get("/content-manager/content-types").then(({data:n})=>qt.array().parse(n.data))},readContentTypeIndex(){return[Y,"content-manager","content-types"]},readContentTypeItems({uid:n,locale:i,query:l}){const d=new URLSearchParams;return l&&d.append("_q",l),i&&d.append("locale",i),e.get(`/${Y}/content-type-items/${n}?${d.toString()}`).then(({data:s})=>un.array().parse(s))},readContentTypeItemsIndex({uid:n,locale:i,query:l}){return[Y,"content-manager","content-type-items",n,i,l]},readLocale(){return e.get(`/${Y}/settings/locale`).then(n=>Zt.parse(n.data))},readLocaleIndex(){return[Y,"locale"]},copyNavigationLocale({documentId:n,source:i,target:l}){return e.put(`/${Y}/i18n/copy/${n}/${i}/${l}`)},copyNavigationItemLocale({source:n,structureId:i="",target:l}){return e.get(`/${Y}/i18n/item/read/${n}/${l}?path=${i}`).then(d=>mn.parse(d.data))}})),gn=t.jsx(G.WarningCircle,{}),Ue=({isVisible:e=!1,isActionAsync:n=!1,children:i,onConfirm:l,onCancel:d,header:s,labelCancel:h,labelConfirm:b,iconConfirm:N,mainIcon:g=gn})=>{const{formatMessage:y}=H.useIntl();return e?t.jsx(a.Dialog.Root,{open:e,onOpenChange:w=>{!w&&e&&d?.(void 0)},title:s||y(r("components.confirmation.dialog.header","Confirmation")),children:t.jsxs(a.Dialog.Content,{children:[t.jsx(a.Dialog.Body,{icon:g,children:t.jsx(a.Flex,{justifyContent:"center",children:t.jsx(a.Typography,{id:"dialog-confirm-description",children:i||y(r("components.confirmation.dialog.description"))})})}),t.jsxs(a.Dialog.Footer,{children:[t.jsx(a.Dialog.Cancel,{children:t.jsx(a.Button,{fullWidth:!0,onClick:d,variant:"tertiary",disabled:n,children:h||y(r("components.confirmation.dialog.button.cancel","Cancel"))})}),t.jsx(a.Button,{fullWidth:!0,onClick:l,variant:"danger-light",startIcon:N||t.jsx(G.Check,{}),disabled:n,children:b||y(r("components.confirmation.dialog.button.confirm","Confirm"))})]})]})}):null},at=t.jsx(t.Fragment,{}),hn=({onConfirm:e,onCancel:n})=>{const{formatMessage:i}=H.useIntl();return t.jsx(Ue,{isVisible:!0,header:i(r("pages.view.actions.i18nCopyItems.confirmation.header")),labelConfirm:i(r("pages.view.actions.i18nCopyItems.confirmation.confirm")),iconConfirm:at,mainIcon:at,onConfirm:e,onCancel:n,children:i(r("pages.view.actions.i18nCopyItems.confirmation.content"))})},We=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readLocaleIndex(),queryFn:n.readLocale,staleTime:1/0})},xt=e=>{const n=$.getFetchClient(),i=ee(n);return W.useQuery({queryKey:i.readContentTypeItemsIndex(e),queryFn:()=>i.readContentTypeItems(e),staleTime:1e3*60*3,enabled:!!e.uid})},fn=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1e3*60*3})},yn=()=>{const e=$.getFetchClient(),n=ee(e),i=W.useQueryClient();return()=>{i.resetQueries({queryKey:n.readAllIndex()})}},xn=()=>{const e=$.getFetchClient(),n=ee(e),i=W.useQueryClient();return()=>{i.resetQueries({queryKey:n.readContentTypeIndex()})}},He=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readAllIndex(),queryFn(){return n.readAll().then(i=>i.map(l=>({...l,items:l.items.map(Xe)})))},staleTime:1e3*60*5})},bn=()=>{const e=W.useQueryClient(),n=$.getFetchClient(),i=ee(n);return p.useCallback(()=>{e.invalidateQueries({queryKey:i.getIndexPrefix()})},[e,n,i])},jn=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return Promise.all(i.map(n.delete))}})},In=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn:n.copyNavigationItemLocale})},Cn=()=>{const e=$.getFetchClient(),n=ee(e),i=W.useQueryClient();return W.useMutation({mutationFn:n.copyNavigationLocale,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},Tn=()=>{const e=$.getFetchClient(),n=ee(e),i=W.useQueryClient();return W.useMutation({mutationFn:n.create,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},bt=e=>{const n=$.getFetchClient(),i=ee(n),l=W.useQueryClient();return W.useMutation({mutationFn:i.update,onSuccess(){l.invalidateQueries({queryKey:i.readAllIndex()}),e?.()}})},jt=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return i?.length?Promise.all(i.map(l=>n.purge({documentId:l,withLangVersions:!0}))):n.purge({})}})},ke=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readConfigIndex(),queryFn:n.readConfig})},vn=e=>{const[n,i]=p.useState(!1),[l,d]=p.useState(void 0),s=p.useCallback(()=>{i(!1)},[i]),h=p.useCallback(()=>{l&&(e(l),i(!1))},[e,l]),b=p.useMemo(()=>n?t.jsx(hn,{onConfirm:h,onCancel:s}):null,[n,h,s]);return p.useMemo(()=>({setI18nCopyModalOpened:i,setI18nCopySourceLocale:d,i18nCopyItemsModal:b,i18nCopySourceLocale:l}),[d,i,b,l])},Xe=e=>({...e,viewId:Math.floor(Math.random()*152e4),items:e.items?.map(Xe)}),Le=(e=[])=>I.orderBy(e,["order"],["asc"]).map((n,i)=>{const l=i+1;return{...n,order:l,updated:n.updated||l!==n.order}}),Pe=(e,n)=>e.type==="INTERNAL"?{type:"INTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Re(e,e.items,n):e.items,related:{__type:e.relatedType,documentId:e.related},viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated}:e.type==="EXTERNAL"?{type:"EXTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,autoSync:e.autoSync,items:e.items?.length?Re(e,e.items,n):e.items,path:"",viewId:e.viewId,structureId:e.structureId,viewParentId:e.viewParentId,removed:e.removed,updated:e.updated,externalPath:e.externalPath??"",audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[]}:{type:"WRAPPER",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path??"",title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Re(e,e.items,n):e.items,viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated},Re=(e,n=[],i)=>{if(!e.viewParentId){if(e.viewId){const d=n.map(s=>s.viewId===e.viewId?Pe(e,i):{...s,items:s.items?.length?Re(e,s.items,i):s.items});return Le(d)}return[...Le([...n,Pe({...e,viewId:Date.now()},i)])]}const l=n.map(d=>{const s=d.items||[];if(e.viewParentId===d.viewId){if(!e.viewId)return{...d,items:[...Le([...s,Pe({...e,viewId:Date.now()},i)])]};const h=s.map(b=>b.viewId===e.viewId?Pe(e,i):b);return{...d,items:Le(h)}}return{...d,items:d.items?.length?Re(e,d.items,i):d.items}});return Le(l)},ze=(e,n)=>{const i=n?.contentTypes??[],l=n?.contentTypesNameFields??{},d=l.default??[],{__collectionUid:s}=e,h=i.find(({uid:y})=>y===s);if(h?.isSingle)return h.labelSingular;const b=[...d,...d.map(y=>I.capitalize(y))],N=I.get(l,`${h?h.uid:s}`,b),g=(I.isEmpty(N)?b:N).map(y=>e[y]).filter(y=>y);return I.first(g)||""},wn=({relatedRef:e,relatedType:n={},type:i,isCollection:l})=>l?n.available||e.available:i==="INTERNAL"&&(e?"publishedAt"in e:!1)?I.get(e,"publishedAt",!0):!0,Se=(e,n=!1)=>{const{__type:i,documentId:l}=e.type==="INTERNAL"&&e.related?e.related:{__type:"",documentId:""};return e.type==="INTERNAL"?{type:"INTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},path:e.path??"",relatedType:i,related:l,title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:void 0,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>Se(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:e.type==="EXTERNAL"?{type:"EXTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:e.externalPath,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>Se(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:{type:"WRAPPER",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>Se(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive,path:e.path??""}},It=e=>e.find(({isPending:n})=>n),Ne=(e,n)=>e.collapsed!==n?{...e,collapsed:n,updated:!0,items:e.items?.map(i=>Ne(i,n))}:{...e,items:e.items?.map(i=>Ne(i,n))},Ee=({start:e,end:n})=>t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:it(e)}),it(n)]}),it=e=>e?t.jsx(a.Button,{onClick:e.onClick,variant:e.variant,disabled:e.disabled,children:e.children}):null,Sn=({alreadyUsedNames:e})=>c.z.object({name:c.z.string().min(2).and(c.z.string().refine(n=>!e.includes(n),"Name already used")),visible:c.z.boolean()}),Ct=({navigation:e,onChange:n,alreadyUsedNames:i=[],isLoading:l})=>{const[d,s]=p.useState({}),[h,b]=p.useState(),{formatMessage:N}=H.useIntl(),{name:g,visible:y}=d,w=(C,T,u)=>{if(u){let v=C,A=T;if(I.isObject(C)){const{name:_,value:oe}=C.target;v=_,A=I.isNil(A)?oe:A}return I.isString(v)&&j(v,A),u(C,A)}},j=(C,T)=>{s(I.set({...d},C,T))},L=C=>{const T=I.get(h,C);if(T)return T};return p.useEffect(()=>{e&&(e.name?s({...e}):(s({name:"New navigation",visible:!0}),n({name:"New navigation",visible:!0,disabled:!0})))},[]),p.useEffect(()=>{if(`${g}-${y}`!=`${e.name}-${e.visible}`){const{error:C}=Sn({alreadyUsedNames:i}).safeParse(d);n({...e,name:g,visible:y,disabled:!I.isEmpty(C?.issues)}),b(C?C.issues.reduce((T,u)=>({...T,[u.path.join(".")]:u.message}),{}):void 0)}},[g,y]),t.jsx($.Form,{method:"POST",initialValues:d,children:({values:C,onChange:T})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:6,children:t.jsx(V.Field,{name:"name",label:N(r("popup.navigation.form.name.label","Name")),error:L("name"),children:t.jsx(a.TextInput,{name:"name",type:"string",placeholder:N(r("popup.navigation.form.name.placeholder","Navigations's name")),onChange:(u,v)=>w(u,v,T),value:C.name,disabled:l})})}),t.jsx(a.Grid.Item,{col:6,children:t.jsx(V.Field,{name:"visible",label:N(r("popup.navigation.form.visible.label","Visibility")),error:L("visible"),children:t.jsx(a.Toggle,{name:"visible",checked:C.visible,onChange:u=>w(u,!C.visible,T),onLabel:N(r("popup.navigation.form.visible.toggle.visible")),offLabel:N(r("popup.navigation.form.visible.toggle.hidden")),disabled:l,width:"100%"})})})]})})},Fn={name:"",items:[],visible:!1},Nn=({setState:e,current:n,isLoading:i,alreadyUsedNames:l})=>{const d=p.useCallback(({disabled:s,...h})=>{e({view:"CREATE",current:h,alreadyUsedNames:l,disabled:s})},[e]);return t.jsx(Ct,{alreadyUsedNames:l,navigation:n,onChange:d,isLoading:i})},Rn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),variant:"tertiary",disabled:l,onClick:n},end:{children:d(r("popup.navigation.manage.button.save")),variant:"default",disabled:l||i,onClick:e}})},An=t.jsx(G.Pencil,{}),En=t.jsx(G.Trash,{}),ot=t.jsx(G.Feather,{}),Ln=({navigations:e,selected:n,setState:i})=>{const l=ke(),d=!!n.length,{formatMessage:s}=H.useIntl(),h=We(),b=p.useCallback(()=>i({navigations:e,selected:d?[]:e.map(u=>u),view:"LIST"}),[i,e,d]),N=p.useMemo(()=>new Set(n.map(Me.prop("documentId"))),[n]),g=(u,v)=>()=>{i({navigations:e,selected:v?n.filter(({documentId:A})=>A!==u.documentId):n.concat([u]),view:"LIST"})},y=u=>()=>{i({view:"EDIT",current:u,navigation:u,alreadyUsedNames:e.reduce((v,{name:A})=>A!==u.name?v.concat([A]):v,[])})},w=u=>()=>{i({view:"DELETE",navigations:u})},j=u=>()=>{i({view:"CACHE_PURGE",navigations:u})},L=p.useCallback(w(n),[w]),C=p.useCallback(j(n),[j]),T=u=>[u].concat(e.filter(v=>v.documentId===u.documentId&&v.locale!==u.locale));return t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,paddingBottom:3,children:d?t.jsxs(a.Flex,{direction:"row",gap:1,children:[t.jsx(a.Box,{paddingRight:3,children:s(r("popup.navigation.manage.table.hasSelected"),{count:n.length})}),t.jsx(a.Button,{onClick:L,variant:"tertiary",children:s(r("popup.navigation.manage.button.delete"))}),l.data?.isCacheEnabled?t.jsx(a.Button,{onClick:C,variant:"tertiary",children:s(r("popup.navigation.manage.button.purge"))}):null]}):null})}),t.jsxs(a.Table,{rowCount:e.length,colCount:6,children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{children:t.jsx(a.Checkbox,{onCheckedChange:b,check:d})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.id"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.name"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.locale"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.visibility"))})}),t.jsx(a.Th,{children:l.data?.isCacheEnabled?t.jsx(a.Flex,{direction:"row",children:t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})})}):null})]})}),t.jsx(a.Tbody,{children:e.filter(({locale:u})=>u===h.data?.defaultLocale).map(u=>t.jsxs(a.Tr,{children:[t.jsx(a.Td,{children:t.jsx(a.Checkbox,{onCheckedChange:g(u,N.has(u.documentId)),checked:N.has(u.documentId)})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.documentId})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.name})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:T(u).map(Me.prop("locale")).join(", ")})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.visible?s(r("popup.navigation.manage.navigation.visible")):s(r("popup.navigation.manage.navigation.hidden"))})}),t.jsx(a.Td,{children:t.jsxs(a.Flex,{width:"100%",direction:"row",alignItems:"center",justifyContent:"flex-end",children:[t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:y(u),label:s(r("popup.navigation.manage.button.edit")),noBorder:!0,children:An})}),t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:w([u]),label:s(r("popup.navigation.manage.button.delete")),noBorder:!0,children:En})}),l.data?.isCacheEnabled?t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([u]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})}):null]})})]},u.documentId))})]})]})},$n=({onClose:e,state:n,setState:i,navigations:l,isLoading:d})=>{const{formatMessage:s}=H.useIntl();return t.jsx(Ee,{start:{onClick:e,variant:"tertiary",disabled:d,children:s(r("popup.item.form.button.cancel"))},end:{onClick:()=>i({view:"CREATE",alreadyUsedNames:l.map(({name:h})=>h),current:Fn}),variant:"default",disabled:d,children:s(r("popup.navigation.manage.button.create"))}})},kn=({navigations:e})=>{const{formatMessage:n}=H.useIntl();return t.jsxs(a.Grid.Root,{children:[t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Flex,{children:t.jsx(a.Typography,{variant:"beta",children:n(r("popup.navigation.manage.delete.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:Mn(e)})})]})},Pn=({state:e,onSubmit:n,onReset:i,isLoading:l})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:i,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.delete")),disabled:l,onClick:n,variant:"danger"}})},Mn=e=>e.map(Me.prop("name")).join(", "),zn=({errors:e})=>{const{formatMessage:n}=H.useIntl(),{toggleNotification:i}=$.useNotification();return p.useEffect(()=>{e.map(l=>{i({type:"warning",message:n({id:"",defaultMessage:l.message})}),console.error(l)})},[]),t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,children:n(r("popup.navigation.manage.error.message"))})})},Bn=({onReset:e})=>{const{formatMessage:n}=H.useIntl();return t.jsx(Ee,{end:{children:n(r("popup.navigation.manage.button.goBack")),onClick:e,variant:"secondary"}})},Dn=({alreadyUsedNames:e,current:n,isLoading:i,navigation:l,setState:d})=>{const s=p.useMemo(()=>n??l,[n]),h=p.useCallback(({disabled:b,...N})=>{d({view:"EDIT",alreadyUsedNames:e,current:N,disabled:b,navigation:l})},[d,l,e]);return t.jsx(Ct,{navigation:s,onChange:h,isLoading:i,alreadyUsedNames:e})},qn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:n,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.save")),disabled:l||i,onClick:e,variant:"secondary"}})},On=({navigations:e})=>{const{formatMessage:n}=H.useIntl();return t.jsxs(a.Grid.Root,{children:[t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Flex,{children:t.jsx(a.Typography,{variant:"beta",children:n(r("popup.navigation.manage.purge.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:_n(e)})})]})},Gn=({onSubmit:e,onReset:n,isLoading:i})=>{const{formatMessage:l}=H.useIntl();return t.jsx(Ee,{start:{children:l(r("popup.item.form.button.cancel")),disabled:i,onClick:n,variant:"tertiary"},end:{children:l(r("popup.navigation.manage.footer.button.purge")),disabled:i,onClick:e,variant:"danger"}})},_n=e=>e.map(Me.prop("name")).join(", "),Vn=({initialState:e,isOpened:n,onClose:i})=>{const{formatMessage:l}=H.useIntl(),[d,s]=p.useState(e),{toggleNotification:h}=$.useNotification(),b=bn(),N=jn(),g=Tn(),y=bt(),w=jt(),j=He(),L=We(),C=p.useMemo(()=>I.sortBy(j.data??[],"id"),[j.data]),T=It([N,j,g,y,w,L]),u=p.useCallback(()=>s({view:"INITIAL"}),[s]),v=p.useCallback(async()=>{const z=d.view==="DELETE"?()=>{N.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:b})}:d.view==="EDIT"?()=>{y.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CREATE"&&d.current?()=>{g.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CACHE_PURGE"?()=>{w.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:b})}:()=>{};try{z(),s({view:"INITIAL"})}catch(J){s({view:"ERROR",errors:J instanceof Error?[J]:[]})}},[d,s,b,g,w,y,N,h,l,r]);p.useEffect(()=>{(d.view==="INITIAL"||d.view==="LIST")&&s({view:"LIST",navigations:C,selected:[]})},[d.view,C]);const A=Qn(d,l,!!T),_=Kn(d,s,!!T),oe=Un({state:d,setState:s,onClose:i,onSubmit:v,onReset:u,navigations:C,isLoading:!!T});return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:z=>{z||i?.()},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",children:A})}),t.jsx(a.Modal.Body,{children:_}),oe]})})},Qn=(e,n,i)=>{switch(e.view){case"LIST":case"CREATE":case"ERROR":case"CACHE_PURGE":case"DELETE":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r(`popup.navigation.manage.header.${e.view}`))]});case"EDIT":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r("popup.navigation.manage.header.EDIT"),{name:e.navigation.name})]});case"INITIAL":return null;default:return Ze(e)}},Kn=(e,n,i)=>{const l={setState:n,isLoading:i};switch(e.view){case"LIST":return t.jsx(Ln,{...e,...l});case"EDIT":return t.jsx(Dn,{...e,...l});case"CREATE":return t.jsx(Nn,{...e,...l});case"DELETE":return t.jsx(kn,{...e,...l});case"CACHE_PURGE":return t.jsx(On,{...e,...l});case"INITIAL":return t.jsx(a.Loader,{small:!0});case"ERROR":return t.jsx(zn,{...e,...l});default:return Ze(e)}},Un=e=>{switch(e.state.view){case"LIST":return t.jsx($n,{...e});case"CREATE":return t.jsx(Rn,{...e,disabled:e.state.disabled});case"EDIT":return t.jsx(qn,{...e,disabled:e.state.disabled});case"DELETE":return t.jsx(Pn,{...e});case"CACHE_PURGE":return t.jsx(Gn,{...e});case"ERROR":return t.jsx(Bn,{...e});case"INITIAL":return null;default:return Ze(e.state)}},Ze=e=>(console.warn(`Unknown state "${e?.view}". (${JSON.stringify(e)})`),null),Wn=()=>{const[e,n]=p.useState(!1),i=p.useCallback(()=>n(!0),[n]),l=p.useCallback(()=>n(!1),[n]),d=p.useMemo(()=>e?t.jsx(Vn,{initialState:{view:"INITIAL"},isOpened:!0,onClose:l}):null,[e,l]);return p.useMemo(()=>({navigationManagerModal:d,openNavigationManagerModal:i,closeNavigationManagerModal:l}),[d,i,l])},st=t.jsx(G.Check,{}),Hn=({activeNavigation:e,availableNavigations:n,structureHasErrors:i,structureHasChanged:l,handleChangeSelection:d,handleLocalizationSelection:s,handleSave:h,handleCachePurge:b,permissions:N={},locale:g,currentLocale:y})=>{const{formatMessage:w}=H.useIntl(),{openNavigationManagerModal:j,navigationManagerModal:L}=Wn(),C=!!g.restLocale,{canUpdate:T}=N,u=ke();return t.jsx(t.Fragment,{children:t.jsx($.Layouts.Header,{title:w(r("header.title","UI Navigation")),subtitle:w(r("header.description")),primaryAction:t.jsxs(a.Flex,{direction:"row",size:2,children:[t.jsx(a.Box,{children:t.jsxs(a.Grid.Root,{gap:4,style:u.data?.isCacheEnabled?{display:"flex"}:void 0,children:[C?null:t.jsx(a.Grid.Item,{col:2}),T&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:j,startIcon:null,type:"button",variant:"secondary",fullWidth:!0,size:"S",children:w(r("header.action.manage"))})}),t.jsx(a.Grid.Item,{col:T?4:10,children:t.jsx(a.Field.Root,{width:"100%",children:t.jsx(a.SingleSelect,{type:"select",placeholder:"Change navigation",name:"navigationSelect",onChange:v=>{const A=n.find(({documentId:_})=>v===_);A&&d(A)},value:e?.documentId,size:"S",style:null,children:n.filter(({locale:v})=>v===y).map(({documentId:v,name:A})=>t.jsx(a.SingleSelectOption,{value:v,children:A},v))})})}),C?t.jsx(a.Grid.Item,{col:2,children:t.jsx(a.SingleSelect,{type:"select",placeholder:w(r("pages.main.header.localization.select.placeholder")),name:"navigationLocalizationSelect",onChange:s,value:y,size:"S",children:[g.defaultLocale,...g.restLocale].map(v=>t.jsx(a.SingleSelectOption,{value:v,children:v},v))})}):null,T&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:h,startIcon:st,disabled:i||!l,type:"submit",fullWidth:!0,size:"S",children:w(r("submit.cta.save"))})}),u.data?.isCacheEnabled&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:b,startIcon:st,variant:"danger",type:"submit",fullWidth:!0,size:"S",children:w(r("submit.cta.cache.purge"))})})]})}),T&&L]}),secondaryAction:t.jsx(a.Tag,{icon:t.jsx(G.Information,{"aria-hidden":!0}),children:e?w(r("header.meta"),{id:e?.documentId,key:e?.slug}):null})})})},Xn=({startActions:e,endActions:n})=>t.jsxs(a.Flex,{justifyContent:"space-between",width:"100%",children:[t.jsx(a.Flex,{alignItems:"space-between",children:e}),t.jsx(a.Flex,{alignItems:"space-between",children:n})]}),Zn=Ce.default.div`
7
+ H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,81.5,84.5,78.6,84.5,75z`})})}),kt=()=>t.jsx($t,{}),tt={en:()=>Promise.resolve().then(()=>require("../_chunks/en-CKowl_sX.js")),fr:()=>Promise.resolve().then(()=>require("../_chunks/fr-DyX_S7LN.js")),ca:()=>Promise.resolve().then(()=>require("../_chunks/ca-BzGBgdJx.js"))},Ve=e=>`${he}.${e}`,r=(e,n)=>({id:Ve(e),defaultMessage:n??Ve(e)}),De=e=>`plugin::navigation.${e}`,qe={read:"read",update:"update",settings:"settings"},Ne={access:[{action:De(qe.read),subject:null}],update:[{action:De(qe.update),subject:null}],settings:[{action:De(qe.settings),subject:null}]},Qe=c.z.object({name:c.z.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:c.z.string(),required:c.z.boolean().optional(),enabled:c.z.boolean().optional()}),Pt=Qe.extend({type:c.z.literal("select"),multi:c.z.boolean(),options:c.z.array(c.z.string())}),zt=Qe.extend({type:c.z.enum(["boolean","string"]),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),Mt=Qe.extend({type:c.z.literal("media"),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),gt=c.z.union([zt,Mt,Pt]),Bt=c.z.union([c.z.literal("audience"),gt]),Dt=c.z.object({additionalFields:c.z.array(Bt),allowedLevels:c.z.number(),availableAudience:c.z.object({id:c.z.number(),documentId:c.z.string(),name:c.z.string(),key:c.z.string()}).array(),contentTypes:c.z.array(c.z.string()),contentTypesNameFields:c.z.record(c.z.string(),c.z.array(c.z.string())),contentTypesPopulate:c.z.record(c.z.string(),c.z.array(c.z.string())),gql:c.z.object({navigationItemRelated:c.z.array(c.z.string())}),pathDefaultFields:c.z.record(c.z.string(),c.z.any()),cascadeMenuAttached:c.z.boolean(),preferCustomContentTypes:c.z.boolean(),isCacheEnabled:c.z.boolean().optional(),isCachePluginEnabled:c.z.boolean().optional()}),qt=c.z.object({uid:c.z.string(),isDisplayed:c.z.boolean(),apiID:c.z.string(),kind:c.z.enum(["collectionType","singleType"]),info:c.z.object({singularName:c.z.string(),pluralName:c.z.string(),displayName:c.z.string(),description:c.z.string().optional()}),attributes:c.z.record(c.z.string(),c.z.unknown())}),Ot=o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}),ht=o.enum(["INTERNAL","EXTERNAL","WRAPPER"]),Gt=o.object({id:o.number(),documentId:o.string(),title:o.string(),type:ht,path:o.string(),externalPath:o.string().or(o.null()).optional(),uiRouterKey:o.string(),menuAttached:o.boolean(),order:o.number().int(),collapsed:o.boolean(),autoSync:o.boolean().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),additionalFields:o.record(o.string(),o.unknown()).or(o.null()).optional(),audience:o.array(Ot).or(o.null()).optional(),viewId:o.number().optional(),viewParentId:o.number().optional(),structureId:o.string().optional(),removed:o.boolean().optional(),isSearchActive:o.boolean().optional(),updated:o.boolean().optional()}),ft=Gt.extend({items:o.lazy(()=>ft.array().or(o.null())).optional()}),_t=o.object({id:o.number(),documentId:o.string(),name:o.string(),slug:o.string(),locale:o.string(),visible:o.boolean(),items:o.array(ft)}),Ke=o.object({name:o.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:o.string(),required:o.boolean().optional(),enabled:o.boolean().optional()}),Vt=Ke.extend({type:o.literal("select"),multi:o.boolean(),options:o.array(o.string())}),Qt=Ke.extend({type:o.enum(["boolean","string"]),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Kt=Ke.extend({type:o.literal("media"),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Ut=Qt.or(Kt).or(Vt),Wt=o.union([o.literal("audience"),Ut]),Ht=o.object({uid:o.string(),name:o.string(),draftAndPublish:o.boolean(),isSingle:o.boolean(),description:o.string(),collectionName:o.string(),contentTypeName:o.string(),label:o.string(),labelSingular:o.string(),endpoint:o.string(),available:o.boolean(),visible:o.boolean()}),Xt=o.object({additionalFields:o.array(Wt),allowedLevels:o.number(),availableAudience:o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}).array(),contentTypes:o.array(o.string()),contentTypesNameFields:o.record(o.string(),o.array(o.string())),contentTypesPopulate:o.record(o.string(),o.array(o.string())),gql:o.object({navigationItemRelated:o.array(o.string())}),pathDefaultFields:o.record(o.string(),o.string().array()),cascadeMenuAttached:o.boolean(),preferCustomContentTypes:o.boolean(),allowedContentTypes:o.string().array(),restrictedContentTypes:o.string().array(),isCacheEnabled:o.boolean().optional(),isCachePluginEnabled:o.boolean().optional()}),nt=Xt.omit({contentTypes:!0}).extend({contentTypes:Ht.array()}),Zt=o.object({defaultLocale:o.string(),restLocale:o.string().array()}),Jt=o.enum(["collectionType","singleType"]),Yt=o.object({singularName:o.string(),pluralName:o.string(),displayName:o.string(),description:o.string().optional(),name:o.string().optional()}),yt=o.object({required:o.boolean().optional(),max:o.number().optional(),min:o.number().optional(),minLength:o.number().optional(),maxLength:o.number().optional(),private:o.boolean().optional(),configurable:o.boolean().optional(),default:o.any().optional()}),en=o.enum(["string","text","richtext","blocks","email","password","date","time","datetime","timestamp","boolean","integer","biginteger","float","decimal","json","relation","media"]),tn=yt.extend({type:en}),nn=yt.extend({type:o.literal("enumeration"),enum:o.string().array()}),an=o.object({type:o.literal("component"),component:o.string(),repeatable:o.boolean().optional()}),on=o.object({type:o.literal("dynamiczone"),components:o.string().array()}),sn=o.object({media:o.literal("media"),allowedTypes:o.enum(["images","videos","audios","files"]).array(),required:o.boolean().optional()}),rn=o.enum(["oneToOne","oneToMany","manyToOne","manyToMany","morphToMany","manyToMorph"]),ln=o.object({type:o.literal("relation"),relation:rn,target:o.string(),mappedBy:o.string().optional(),inversedBy:o.string().optional()}),dn=o.record(o.string(),o.union([tn,nn,an,on,ln,sn])),cn=o.object({kind:Jt,collectionName:o.string(),info:Yt,options:o.object({draftAndPublish:o.boolean().optional(),hidden:o.boolean().optional(),templateName:o.string().optional()}).optional(),attributes:dn,actions:o.record(o.string(),o.any()).optional(),lifecycles:o.record(o.string(),o.any()).optional(),uid:o.string(),apiName:o.string().optional(),associations:o.object({model:o.string(),alias:o.string()}).array().optional(),modelName:o.string().optional(),plugin:o.string().optional(),pluginOptions:o.record(o.string(),o.any()).optional(),isSingle:o.boolean().optional()});cn.pick({info:!0,kind:!0,attributes:!0,options:!0});const un=o.object({id:o.number(),documentId:o.string(),locale:o.string().or(o.null()).optional()}).and(o.record(o.string(),o.any())),pn=o.object({slug:o.string()}),mn=o.object({externalPath:o.string().or(o.null()).optional(),path:o.string().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),title:o.string(),type:ht,uiRouterKey:o.string()}),Y="navigation",ee=I.once(e=>({getIndexPrefix(){return[Y]},readAll(){return e.get(`/${Y}`).then(({data:n})=>_t.array().parse(n))},readAllIndex(){return[Y,"navigations"]},delete(n){return e.del(`/${Y}/${n}`)},create(n){return e.post(`/${Y}/`,n)},update(n){return e.put(`/${Y}/${n.documentId}`,n)},purge({documentId:n,withLangVersions:i}){return e.del(`/${Y}/cache/purge/${n??""}?clearLocalisations=${!!i}`)},slugify(n){const i=new URLSearchParams;return i.append("q",n),e.get(`/${Y}/slug?${i.toString()}`).then(({data:l})=>pn.parse(l)).then(({slug:l})=>l)},readConfig(){return e.get(`/${Y}/config`).then(({data:n})=>nt.parse(n))},readConfigIndex(){return[Y,"config"]},healthCheck(){return e.get("/_health")},healthCheckIndex(){return["health"]},readNavigationItemFromLocale({source:n,structureId:i,target:l,documentId:d}){return e.get(`/${Y}/i18n/item/read/${d}/${n}/${l}?path=${i}`)},updateConfig(n){return e.put(`/${Y}/config`,n).then(()=>{})},restart(){return e.get(`/${Y}/settings/restart`).then(()=>{})},restoreConfig(){return e.del(`/${Y}/config`).then(()=>{})},readSettingsConfig(){return e.get(`/${Y}/settings/config`).then(({data:n})=>{const i=nt.parse(n);return{...i,contentTypes:i.contentTypes.map(({uid:l})=>l)}})},readSettingsConfigIndex(){return[Y,"config"]},readContentType(){return e.get("/content-manager/content-types").then(({data:n})=>qt.array().parse(n.data))},readContentTypeIndex(){return[Y,"content-manager","content-types"]},readContentTypeItems({uid:n,locale:i,query:l}){const d=new URLSearchParams;return l&&d.append("_q",l),i&&d.append("locale",i),e.get(`/${Y}/content-type-items/${n}?${d.toString()}`).then(({data:s})=>un.array().parse(s))},readContentTypeItemsIndex({uid:n,locale:i,query:l}){return[Y,"content-manager","content-type-items",n,i,l]},readLocale(){return e.get(`/${Y}/settings/locale`).then(n=>Zt.parse(n.data))},readLocaleIndex(){return[Y,"locale"]},copyNavigationLocale({documentId:n,source:i,target:l}){return e.put(`/${Y}/i18n/copy/${n}/${i}/${l}`)},copyNavigationItemLocale({source:n,structureId:i="",target:l}){return e.get(`/${Y}/i18n/item/read/${n}/${l}?path=${i}`).then(d=>mn.parse(d.data))}})),gn=t.jsx(G.WarningCircle,{}),Ue=({isVisible:e=!1,isActionAsync:n=!1,children:i,onConfirm:l,onCancel:d,header:s,labelCancel:h,labelConfirm:b,iconConfirm:N,mainIcon:g=gn})=>{const{formatMessage:y}=X.useIntl();return e?t.jsx(a.Dialog.Root,{open:e,onOpenChange:S=>{!S&&e&&d?.(void 0)},title:s||y(r("components.confirmation.dialog.header","Confirmation")),children:t.jsxs(a.Dialog.Content,{children:[t.jsx(a.Dialog.Body,{icon:g,children:t.jsx(a.Flex,{justifyContent:"center",children:t.jsx(a.Typography,{id:"dialog-confirm-description",children:i||y(r("components.confirmation.dialog.description"))})})}),t.jsxs(a.Dialog.Footer,{children:[t.jsx(a.Dialog.Cancel,{children:t.jsx(a.Button,{fullWidth:!0,onClick:d,variant:"tertiary",disabled:n,children:h||y(r("components.confirmation.dialog.button.cancel","Cancel"))})}),t.jsx(a.Button,{fullWidth:!0,onClick:l,variant:"danger-light",startIcon:N||t.jsx(G.Check,{}),disabled:n,children:b||y(r("components.confirmation.dialog.button.confirm","Confirm"))})]})]})}):null},at=t.jsx(t.Fragment,{}),hn=({onConfirm:e,onCancel:n})=>{const{formatMessage:i}=X.useIntl();return t.jsx(Ue,{isVisible:!0,header:i(r("pages.view.actions.i18nCopyItems.confirmation.header")),labelConfirm:i(r("pages.view.actions.i18nCopyItems.confirmation.confirm")),iconConfirm:at,mainIcon:at,onConfirm:e,onCancel:n,children:i(r("pages.view.actions.i18nCopyItems.confirmation.content"))})},We=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readLocaleIndex(),queryFn:n.readLocale,staleTime:1/0})},xt=e=>{const n=$.getFetchClient(),i=ee(n);return H.useQuery({queryKey:i.readContentTypeItemsIndex(e),queryFn:()=>i.readContentTypeItems(e),staleTime:1e3*60*3,enabled:!!e.uid})},fn=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1e3*60*3})},yn=()=>{const e=$.getFetchClient(),n=ee(e),i=H.useQueryClient();return()=>{i.resetQueries({queryKey:n.readAllIndex()})}},xn=()=>{const e=$.getFetchClient(),n=ee(e),i=H.useQueryClient();return()=>{i.resetQueries({queryKey:n.readContentTypeIndex()})}},He=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readAllIndex(),queryFn(){return n.readAll().then(i=>i.map(l=>({...l,items:l.items.map(Xe)})))},staleTime:1e3*60*5})},bn=()=>{const e=H.useQueryClient(),n=$.getFetchClient(),i=ee(n);return p.useCallback(()=>{e.invalidateQueries({queryKey:i.getIndexPrefix()})},[e,n,i])},jn=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn(i){return Promise.all(i.map(n.delete))}})},In=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn:n.copyNavigationItemLocale})},Cn=()=>{const e=$.getFetchClient(),n=ee(e),i=H.useQueryClient();return H.useMutation({mutationFn:n.copyNavigationLocale,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},Tn=()=>{const e=$.getFetchClient(),n=ee(e),i=H.useQueryClient();return H.useMutation({mutationFn:n.create,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},bt=e=>{const n=$.getFetchClient(),i=ee(n),l=H.useQueryClient();return H.useMutation({mutationFn:i.update,onSuccess(){l.invalidateQueries({queryKey:i.readAllIndex()}),e?.()}})},jt=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn(i){return i?.length?Promise.all(i.map(l=>n.purge({documentId:l,withLangVersions:!0}))):n.purge({})}})},ke=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readConfigIndex(),queryFn:n.readConfig})},vn=e=>{const[n,i]=p.useState(!1),[l,d]=p.useState(void 0),s=p.useCallback(()=>{i(!1)},[i]),h=p.useCallback(()=>{l&&(e(l),i(!1))},[e,l]),b=p.useMemo(()=>n?t.jsx(hn,{onConfirm:h,onCancel:s}):null,[n,h,s]);return p.useMemo(()=>({setI18nCopyModalOpened:i,setI18nCopySourceLocale:d,i18nCopyItemsModal:b,i18nCopySourceLocale:l}),[d,i,b,l])},Xe=e=>({...e,viewId:Math.floor(Math.random()*152e4),items:e.items?.map(Xe)}),Le=(e=[])=>I.orderBy(e,["order"],["asc"]).map((n,i)=>{const l=i+1;return{...n,order:l,updated:n.updated||l!==n.order}}),Pe=(e,n)=>e.type==="INTERNAL"?{type:"INTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,related:{__type:e.relatedType,documentId:e.related},viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated}:e.type==="EXTERNAL"?{type:"EXTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,path:"",viewId:e.viewId,structureId:e.structureId,viewParentId:e.viewParentId,removed:e.removed,updated:e.updated,externalPath:e.externalPath??"",audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[]}:{type:"WRAPPER",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path??"",title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated},Ae=(e,n=[],i)=>{if(!e.viewParentId){if(e.viewId){const d=n.map(s=>s.viewId===e.viewId?Pe(e,i):{...s,items:s.items?.length?Ae(e,s.items,i):s.items});return Le(d)}return[...Le([...n,Pe({...e,viewId:Date.now()},i)])]}const l=n.map(d=>{const s=d.items||[];if(e.viewParentId===d.viewId){if(!e.viewId)return{...d,items:[...Le([...s,Pe({...e,viewId:Date.now()},i)])]};const h=s.map(b=>b.viewId===e.viewId?Pe(e,i):b);return{...d,items:Le(h)}}return{...d,items:d.items?.length?Ae(e,d.items,i):d.items}});return Le(l)},Me=(e,n)=>{const i=n?.contentTypes??[],l=n?.contentTypesNameFields??{},d=l.default??[],{__collectionUid:s}=e,h=i.find(({uid:y})=>y===s);if(h?.isSingle)return h.labelSingular;const b=[...d,...d.map(y=>I.capitalize(y))],N=I.get(l,`${h?h.uid:s}`,b),g=(I.isEmpty(N)?b:N).map(y=>e[y]).filter(y=>y);return I.first(g)||""},Sn=({relatedRef:e,relatedType:n={},type:i,isCollection:l})=>l?n.available||e.available:i==="INTERNAL"&&(e?"publishedAt"in e:!1)?I.get(e,"publishedAt",!0):!0,we=(e,n=!1)=>{const{__type:i,documentId:l}=e.type==="INTERNAL"&&e.related?e.related:{__type:"",documentId:""};return e.type==="INTERNAL"?{type:"INTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},path:e.path??"",relatedType:i,related:l,title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:void 0,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:e.type==="EXTERNAL"?{type:"EXTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:e.externalPath,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:{type:"WRAPPER",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive,path:e.path??""}},It=e=>e.find(({isPending:n})=>n),Re=(e,n)=>e.collapsed!==n?{...e,collapsed:n,updated:!0,items:e.items?.map(i=>Re(i,n))}:{...e,items:e.items?.map(i=>Re(i,n))},Ee=({start:e,end:n})=>t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:it(e)}),it(n)]}),it=e=>e?t.jsx(a.Button,{onClick:e.onClick,variant:e.variant,disabled:e.disabled,children:e.children}):null,wn=({alreadyUsedNames:e})=>c.z.object({name:c.z.string().min(2).and(c.z.string().refine(n=>!e.includes(n),"Name already used")),visible:c.z.boolean()}),Ct=({navigation:e,onChange:n,alreadyUsedNames:i=[],isLoading:l})=>{const[d,s]=p.useState({}),[h,b]=p.useState(),{formatMessage:N}=X.useIntl(),{name:g,visible:y}=d,S=(C,T,u)=>{if(u){let v=C,A=T;if(I.isObject(C)){const{name:V,value:oe}=C.target;v=V,A=I.isNil(A)?oe:A}return I.isString(v)&&j(v,A),u(C,A)}},j=(C,T)=>{s(I.set({...d},C,T))},L=C=>{const T=I.get(h,C);if(T)return T};return p.useEffect(()=>{e&&(e.name?s({...e}):(s({name:"New navigation",visible:!0}),n({name:"New navigation",visible:!0,disabled:!0})))},[]),p.useEffect(()=>{if(`${g}-${y}`!=`${e.name}-${e.visible}`){const{error:C}=wn({alreadyUsedNames:i}).safeParse(d);n({...e,name:g,visible:y,disabled:!I.isEmpty(C?.issues)}),b(C?C.issues.reduce((T,u)=>({...T,[u.path.join(".")]:u.message}),{}):void 0)}},[g,y]),t.jsx($.Form,{method:"POST",initialValues:d,children:({values:C,onChange:T})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:6,children:t.jsx(_.Field,{name:"name",label:N(r("popup.navigation.form.name.label","Name")),error:L("name"),children:t.jsx(a.TextInput,{name:"name",type:"string",placeholder:N(r("popup.navigation.form.name.placeholder","Navigations's name")),onChange:(u,v)=>S(u,v,T),value:C.name,disabled:l})})}),t.jsx(a.Grid.Item,{col:6,children:t.jsx(_.Field,{name:"visible",label:N(r("popup.navigation.form.visible.label","Visibility")),error:L("visible"),children:t.jsx(a.Toggle,{name:"visible",checked:C.visible,onChange:u=>S(u,!C.visible,T),onLabel:N(r("popup.navigation.form.visible.toggle.visible")),offLabel:N(r("popup.navigation.form.visible.toggle.hidden")),disabled:l,width:"100%"})})})]})})},Fn={name:"",items:[],visible:!1},Nn=({setState:e,current:n,isLoading:i,alreadyUsedNames:l})=>{const d=p.useCallback(({disabled:s,...h})=>{e({view:"CREATE",current:h,alreadyUsedNames:l,disabled:s})},[e]);return t.jsx(Ct,{alreadyUsedNames:l,navigation:n,onChange:d,isLoading:i})},Rn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=X.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),variant:"tertiary",disabled:l,onClick:n},end:{children:d(r("popup.navigation.manage.button.save")),variant:"default",disabled:l||i,onClick:e}})},An=t.jsx(G.Pencil,{}),En=t.jsx(G.Trash,{}),ot=t.jsx(G.Feather,{}),Ln=({navigations:e,selected:n,setState:i})=>{const l=ke(),d=!!n.length,{formatMessage:s}=X.useIntl(),h=We(),b=p.useCallback(()=>i({navigations:e,selected:d?[]:e.map(u=>u),view:"LIST"}),[i,e,d]),N=p.useMemo(()=>new Set(n.map(ze.prop("documentId"))),[n]),g=(u,v)=>()=>{i({navigations:e,selected:v?n.filter(({documentId:A})=>A!==u.documentId):n.concat([u]),view:"LIST"})},y=u=>()=>{i({view:"EDIT",current:u,navigation:u,alreadyUsedNames:e.reduce((v,{name:A})=>A!==u.name?v.concat([A]):v,[])})},S=u=>()=>{i({view:"DELETE",navigations:u})},j=u=>()=>{i({view:"CACHE_PURGE",navigations:u})},L=p.useCallback(S(n),[S]),C=p.useCallback(j(n),[j]),T=u=>[u].concat(e.filter(v=>v.documentId===u.documentId&&v.locale!==u.locale));return t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,paddingBottom:3,children:d?t.jsxs(a.Flex,{direction:"row",gap:1,children:[t.jsx(a.Box,{paddingRight:3,children:s(r("popup.navigation.manage.table.hasSelected"),{count:n.length})}),t.jsx(a.Button,{onClick:L,variant:"tertiary",children:s(r("popup.navigation.manage.button.delete"))}),l.data?.isCacheEnabled?t.jsx(a.Button,{onClick:C,variant:"tertiary",children:s(r("popup.navigation.manage.button.purge"))}):null]}):null})}),t.jsxs(a.Table,{rowCount:e.length,colCount:6,children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{children:t.jsx(a.Checkbox,{onCheckedChange:b,check:d})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.id"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.name"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.locale"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.visibility"))})}),t.jsx(a.Th,{children:l.data?.isCacheEnabled?t.jsx(a.Flex,{direction:"row",children:t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})})}):null})]})}),t.jsx(a.Tbody,{children:e.filter(({locale:u})=>u===h.data?.defaultLocale).map(u=>t.jsxs(a.Tr,{children:[t.jsx(a.Td,{children:t.jsx(a.Checkbox,{onCheckedChange:g(u,N.has(u.documentId)),checked:N.has(u.documentId)})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.documentId})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.name})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:T(u).map(ze.prop("locale")).join(", ")})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.visible?s(r("popup.navigation.manage.navigation.visible")):s(r("popup.navigation.manage.navigation.hidden"))})}),t.jsx(a.Td,{children:t.jsxs(a.Flex,{width:"100%",direction:"row",alignItems:"center",justifyContent:"flex-end",children:[t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:y(u),label:s(r("popup.navigation.manage.button.edit")),noBorder:!0,children:An})}),t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:S([u]),label:s(r("popup.navigation.manage.button.delete")),noBorder:!0,children:En})}),l.data?.isCacheEnabled?t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([u]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})}):null]})})]},u.documentId))})]})]})},$n=({onClose:e,state:n,setState:i,navigations:l,isLoading:d})=>{const{formatMessage:s}=X.useIntl();return t.jsx(Ee,{start:{onClick:e,variant:"tertiary",disabled:d,children:s(r("popup.item.form.button.cancel"))},end:{onClick:()=>i({view:"CREATE",alreadyUsedNames:l.map(({name:h})=>h),current:Fn}),variant:"default",disabled:d,children:s(r("popup.navigation.manage.button.create"))}})},kn=({navigations:e})=>{const{formatMessage:n}=X.useIntl();return t.jsxs(a.Grid.Root,{children:[t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Flex,{children:t.jsx(a.Typography,{variant:"beta",children:n(r("popup.navigation.manage.delete.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:zn(e)})})]})},Pn=({state:e,onSubmit:n,onReset:i,isLoading:l})=>{const{formatMessage:d}=X.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:i,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.delete")),disabled:l,onClick:n,variant:"danger"}})},zn=e=>e.map(ze.prop("name")).join(", "),Mn=({errors:e})=>{const{formatMessage:n}=X.useIntl(),{toggleNotification:i}=$.useNotification();return p.useEffect(()=>{e.map(l=>{i({type:"warning",message:n({id:"",defaultMessage:l.message})}),console.error(l)})},[]),t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,children:n(r("popup.navigation.manage.error.message"))})})},Bn=({onReset:e})=>{const{formatMessage:n}=X.useIntl();return t.jsx(Ee,{end:{children:n(r("popup.navigation.manage.button.goBack")),onClick:e,variant:"secondary"}})},Dn=({alreadyUsedNames:e,current:n,isLoading:i,navigation:l,setState:d})=>{const s=p.useMemo(()=>n??l,[n]),h=p.useCallback(({disabled:b,...N})=>{d({view:"EDIT",alreadyUsedNames:e,current:N,disabled:b,navigation:l})},[d,l,e]);return t.jsx(Ct,{navigation:s,onChange:h,isLoading:i,alreadyUsedNames:e})},qn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=X.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:n,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.save")),disabled:l||i,onClick:e,variant:"secondary"}})},On=({navigations:e})=>{const{formatMessage:n}=X.useIntl();return t.jsxs(a.Grid.Root,{children:[t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Flex,{children:t.jsx(a.Typography,{variant:"beta",children:n(r("popup.navigation.manage.purge.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:_n(e)})})]})},Gn=({onSubmit:e,onReset:n,isLoading:i})=>{const{formatMessage:l}=X.useIntl();return t.jsx(Ee,{start:{children:l(r("popup.item.form.button.cancel")),disabled:i,onClick:n,variant:"tertiary"},end:{children:l(r("popup.navigation.manage.footer.button.purge")),disabled:i,onClick:e,variant:"danger"}})},_n=e=>e.map(ze.prop("name")).join(", "),Vn=({initialState:e,isOpened:n,onClose:i})=>{const{formatMessage:l}=X.useIntl(),[d,s]=p.useState(e),{toggleNotification:h}=$.useNotification(),b=bn(),N=jn(),g=Tn(),y=bt(),S=jt(),j=He(),L=We(),C=p.useMemo(()=>I.sortBy(j.data??[],"id"),[j.data]),T=It([N,j,g,y,S,L]),u=p.useCallback(()=>s({view:"INITIAL"}),[s]),v=p.useCallback(async()=>{const B=d.view==="DELETE"?()=>{N.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:b})}:d.view==="EDIT"?()=>{y.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CREATE"&&d.current?()=>{g.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CACHE_PURGE"?()=>{S.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:b})}:()=>{};try{B(),s({view:"INITIAL"})}catch(J){s({view:"ERROR",errors:J instanceof Error?[J]:[]})}},[d,s,b,g,S,y,N,h,l,r]);p.useEffect(()=>{(d.view==="INITIAL"||d.view==="LIST")&&s({view:"LIST",navigations:C,selected:[]})},[d.view,C]);const A=Qn(d,l,!!T),V=Kn(d,s,!!T),oe=Un({state:d,setState:s,onClose:i,onSubmit:v,onReset:u,navigations:C,isLoading:!!T});return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:B=>{B||i?.()},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",children:A})}),t.jsx(a.Modal.Body,{children:V}),oe]})})},Qn=(e,n,i)=>{switch(e.view){case"LIST":case"CREATE":case"ERROR":case"CACHE_PURGE":case"DELETE":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r(`popup.navigation.manage.header.${e.view}`))]});case"EDIT":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r("popup.navigation.manage.header.EDIT"),{name:e.navigation.name})]});case"INITIAL":return null;default:return Ze(e)}},Kn=(e,n,i)=>{const l={setState:n,isLoading:i};switch(e.view){case"LIST":return t.jsx(Ln,{...e,...l});case"EDIT":return t.jsx(Dn,{...e,...l});case"CREATE":return t.jsx(Nn,{...e,...l});case"DELETE":return t.jsx(kn,{...e,...l});case"CACHE_PURGE":return t.jsx(On,{...e,...l});case"INITIAL":return t.jsx(a.Loader,{small:!0});case"ERROR":return t.jsx(Mn,{...e,...l});default:return Ze(e)}},Un=e=>{switch(e.state.view){case"LIST":return t.jsx($n,{...e});case"CREATE":return t.jsx(Rn,{...e,disabled:e.state.disabled});case"EDIT":return t.jsx(qn,{...e,disabled:e.state.disabled});case"DELETE":return t.jsx(Pn,{...e});case"CACHE_PURGE":return t.jsx(Gn,{...e});case"ERROR":return t.jsx(Bn,{...e});case"INITIAL":return null;default:return Ze(e.state)}},Ze=e=>(console.warn(`Unknown state "${e?.view}". (${JSON.stringify(e)})`),null),Wn=()=>{const[e,n]=p.useState(!1),i=p.useCallback(()=>n(!0),[n]),l=p.useCallback(()=>n(!1),[n]),d=p.useMemo(()=>e?t.jsx(Vn,{initialState:{view:"INITIAL"},isOpened:!0,onClose:l}):null,[e,l]);return p.useMemo(()=>({navigationManagerModal:d,openNavigationManagerModal:i,closeNavigationManagerModal:l}),[d,i,l])},st=t.jsx(G.Check,{}),Hn=({activeNavigation:e,availableNavigations:n,structureHasErrors:i,structureHasChanged:l,handleChangeSelection:d,handleLocalizationSelection:s,handleSave:h,handleCachePurge:b,permissions:N={},locale:g,currentLocale:y})=>{const{formatMessage:S}=X.useIntl(),{openNavigationManagerModal:j,navigationManagerModal:L}=Wn(),C=!!g.restLocale,{canUpdate:T}=N,u=ke();return t.jsx(t.Fragment,{children:t.jsx($.Layouts.Header,{title:S(r("header.title","UI Navigation")),subtitle:S(r("header.description")),primaryAction:t.jsxs(a.Flex,{direction:"row",size:2,children:[t.jsx(a.Box,{children:t.jsxs(a.Grid.Root,{gap:4,style:u.data?.isCacheEnabled?{display:"flex"}:void 0,children:[C?null:t.jsx(a.Grid.Item,{col:2}),T&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:j,startIcon:null,type:"button",variant:"secondary",fullWidth:!0,size:"S",children:S(r("header.action.manage"))})}),t.jsx(a.Grid.Item,{col:T?4:10,children:t.jsx(a.Field.Root,{width:"100%",children:t.jsx(a.SingleSelect,{type:"select",placeholder:"Change navigation",name:"navigationSelect",onChange:v=>{const A=n.find(({documentId:V})=>v===V);A&&d(A)},value:e?.documentId,size:"S",style:null,children:n.filter(({locale:v})=>v===y).map(({documentId:v,name:A})=>t.jsx(a.SingleSelectOption,{value:v,children:A},v))})})}),C?t.jsx(a.Grid.Item,{col:2,children:t.jsx(a.SingleSelect,{type:"select",placeholder:S(r("pages.main.header.localization.select.placeholder")),name:"navigationLocalizationSelect",onChange:s,value:y,size:"S",children:[g.defaultLocale,...g.restLocale].map(v=>t.jsx(a.SingleSelectOption,{value:v,children:v},v))})}):null,T&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:h,startIcon:st,disabled:i||!l,type:"submit",fullWidth:!0,size:"S",children:S(r("submit.cta.save"))})}),u.data?.isCacheEnabled&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:b,startIcon:st,variant:"danger",type:"submit",fullWidth:!0,size:"S",children:S(r("submit.cta.cache.purge"))})})]})}),T&&L]}),secondaryAction:t.jsx(a.Tag,{icon:t.jsx(G.Information,{"aria-hidden":!0}),children:e?S(r("header.meta"),{id:e?.documentId,key:e?.slug}):null})})})},Xn=({startActions:e,endActions:n})=>t.jsxs(a.Flex,{justifyContent:"space-between",width:"100%",children:[t.jsx(a.Flex,{alignItems:"space-between",children:e}),t.jsx(a.Flex,{alignItems:"space-between",children:n})]}),Zn=Ce.default.div`
8
8
  border-radius: 50%;
9
9
  background: #dcdce4;
10
10
  width: 25px;
@@ -88,7 +88,7 @@
88
88
  > div > * {
89
89
  margin: 0px ${({theme:e})=>e.spaces[1]};
90
90
  }
91
- `,na=t.jsx(G.Pencil,{}),aa=t.jsx(G.Trash,{}),ia=t.jsx(G.Eye,{}),oa=t.jsx(G.ArrowClockwise,{}),sa={zIndex:2},ra={maxWidth:"425px"},la=({title:e,path:n,icon:i,removed:l,canUpdate:d,onItemRemove:s,onItemEdit:h,onItemRestore:b,dragRef:N,isSearchActive:g})=>{const{formatMessage:y}=H.useIntl();return t.jsxs(ta,{children:[t.jsxs(a.Flex,{alignItems:"center",children:[d&&t.jsx(ea,{ref:N,isActive:g}),t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",children:e}),t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral500",ellipsis:!0,style:ra,children:n}),t.jsx(a.Flex,{children:i})]}),t.jsxs(a.Flex,{alignItems:"center",style:sa,children:[l&&t.jsx(Tt,{borderColor:"danger200",backgroundColor:"danger100",textColor:"danger600",children:y(r("components.navigationItem.badge.removed"))}),t.jsxs(a.IconButtonGroup,{children:[t.jsx(Oe,{isActive:g,disabled:l,onClick:h,label:y(r(`components.navigationItem.action.${d?"edit":"view"}`,d?"Edit":"View")),children:d?na:ia}),d&&t.jsx(t.Fragment,{children:l?t.jsx(Oe,{isActive:g,onClick:b,label:y(r("components.navigationItem.action.restore","Restore")),variant:"success-light",children:oa}):t.jsx(Oe,{isActive:g,onClick:s,variant:"danger-light",label:y(r("components.navigationItem.action.remove","Remove")),children:aa})})]})]})]})},Oe=Ce.default(a.IconButton)`
91
+ `,na=t.jsx(G.Pencil,{}),aa=t.jsx(G.Trash,{}),ia=t.jsx(G.Eye,{}),oa=t.jsx(G.ArrowClockwise,{}),sa={zIndex:2},ra={maxWidth:"425px"},la=({title:e,path:n,icon:i,removed:l,canUpdate:d,onItemRemove:s,onItemEdit:h,onItemRestore:b,dragRef:N,isSearchActive:g})=>{const{formatMessage:y}=X.useIntl();return t.jsxs(ta,{children:[t.jsxs(a.Flex,{alignItems:"center",children:[d&&t.jsx(ea,{ref:N,isActive:g}),t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",children:e}),t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral500",ellipsis:!0,style:ra,children:n}),t.jsx(a.Flex,{children:i})]}),t.jsxs(a.Flex,{alignItems:"center",style:sa,children:[l&&t.jsx(Tt,{borderColor:"danger200",backgroundColor:"danger100",textColor:"danger600",children:y(r("components.navigationItem.badge.removed"))}),t.jsxs(a.IconButtonGroup,{children:[t.jsx(Oe,{isActive:g,disabled:l,onClick:h,label:y(r(`components.navigationItem.action.${d?"edit":"view"}`,d?"Edit":"View")),children:d?na:ia}),d&&t.jsx(t.Fragment,{children:l?t.jsx(Oe,{isActive:g,onClick:b,label:y(r("components.navigationItem.action.restore","Restore")),variant:"success-light",children:oa}):t.jsx(Oe,{isActive:g,onClick:s,variant:"danger-light",label:y(r("components.navigationItem.action.remove","Remove")),children:aa})})]})]})]})},Oe=Ce.default(a.IconButton)`
92
92
  transition: background-color 0.3s ease-in;
93
93
  ${({isActive:e,theme:n})=>e?`background-color: ${n.colors.neutral150} ;`:""}
94
94
  `,da=Ce.default.div`
@@ -134,7 +134,7 @@
134
134
  border-radius: 0 0 0 100%;
135
135
  }
136
136
  `};
137
- `,ua=({item:e,isLast:n=!1,level:i=0,levelPath:l="",isParentAttachedToMenu:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:b,onItemEdit:N,onItemReOrder:g,onItemToggleCollapse:y,displayChildren:w,permissions:j,structureId:L,viewParentId:C,locale:T})=>{const u=Se(e,!0),{formatMessage:v}=H.useIntl(),A=ke(),_=u.type==="EXTERNAL",oe=u.type==="WRAPPER",z=I.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels-1:!0,J=I.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels:!0,ne=!I.isEmpty(e.items)&&!_&&!w,fe=_?void 0:`${l==="/"?"":l}/${u.path==="/"?"":u.path}`.replace("//","/"),ye=xt({uid:u.type==="INTERNAL"?u.relatedType??"":"",locale:T}),ae=fn().data?.find(O=>u.type==="INTERNAL"?O.uid===u.relatedType:!1),K=ye.data?.find(O=>u.type==="INTERNAL"?O.documentId===u.related:!1)??{documentId:"",id:0},le=!!K?.publishedAt,de=_?"":ze(K,A.data),xe=ae?.info.displayName??"",te=le?"success":"secondary",be=j.canUpdate,Te=p.useRef(null),me=p.useRef(null),ge=p.useRef(null),[,je]=_e.useDrop({accept:`navigation-item_${l}`,hover(O,k){const X=O.order??0,P=e.order??0;if(X===P)return;const ce=me.current.getBoundingClientRect(),Fe=(ce.bottom-ce.top)/2,ve=k.getClientOffset();if(!ve)return;const we=ve.y-ce.top,U=we>Fe?(e.order??0)+.5:(e.order??0)-.5;X<P&&we<Fe||X>P&&we>Fe||g({item:Se(O,!0),newOrder:U})},collect:O=>({isOverCurrent:O.isOver({shallow:!0})})}),[{isDragging:ie},Ie,f]=_e.useDrag({type:`navigation-item_${l}`,item:()=>e,collect:O=>({isDragging:O.isDragging()})}),B={dragRef:Ie(Te),dropRef:je(me),previewRef:f(ge)},S=O=>{const k=ae?.kind==="singleType",X=O?.locale?`?plugins[i18n][locale]=${O?.locale}`:"";return`/admin/content-manager/${k?"single-types":"collection-types"}/${ae?.uid}${k?"":"/"+O?.documentId}${X}`},E=p.useCallback(O=>be&&s(O,u.viewId,z,fe,u.menuAttached,`${L}.${u.items?.length??0}`,Math.max(...u.items?.map(({order:k})=>k)??[])),[u.viewId,z,fe,u.menuAttached,L,u.items,be]);p.useEffect(()=>{u.isSearchActive&&B.dropRef?.current?.scrollIntoView?.({behavior:"smooth",block:"center",inline:"center"})},[u.isSearchActive,B.dropRef.current]);const q=pt.useTheme();return t.jsxs(ca,{level:i,isLast:n,style:{opacity:ie?.2:1},ref:B.dropRef,children:[t.jsxs(a.Card,{style:{width:"728px",zIndex:1,position:"relative",overflow:"hidden",backgroundColor:u.isSearchActive?q.colors.secondary100:void 0,borderColor:u.isSearchActive?q.colors.secondary200:void 0,transition:"background-color 0.3s ease-in"},children:[u.removed&&t.jsx(da,{}),t.jsxs("div",{ref:B.previewRef,children:[t.jsx(a.CardBody,{children:t.jsx(la,{title:e.title??"",path:_?u.externalPath:fe,icon:_?t.jsx(G.Earth,{}):oe?t.jsx(G.Cog,{}):t.jsx(G.Link,{}),onItemRemove:()=>h({...e,viewParentId:C}),onItemEdit:()=>{const{__type:O,documentId:k}=e.related??{};e.type!=="EXTERNAL"&&e.type!=="INTERNAL"&&e.type!=="WRAPPER"||N({item:e.type==="INTERNAL"?{...e,type:"INTERNAL",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:O??"",related:k??"",additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:void 0,viewParentId:C,audience:e.audience?.map(({documentId:X})=>X)??[]}:e.type==="EXTERNAL"?{...e,type:"EXTERNAL",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:void 0,related:void 0,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:e.externalPath??"",viewParentId:C,audience:e.audience?.map(({documentId:X})=>X)??[]}:{...e,type:"WRAPPER",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,viewParentId:C,audience:e.audience?.map(({documentId:X})=>X)??[]},levelPath:l,isParentAttachedToMenu:d})},onItemRestore:()=>b({...e,viewParentId:C}),dragRef:B.dragRef,removed:u.removed,canUpdate:be,isSearchActive:u.isSearchActive})}),t.jsx(a.Divider,{}),!_&&t.jsx(a.CardBody,{style:{padding:"8px"},children:t.jsxs(a.Flex,{style:{width:"100%"},direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsxs(a.Flex,{children:[!I.isEmpty(e.items)&&t.jsx(Jn,{toggle:()=>y({...e,viewParentId:C}),collapsed:u.collapsed,itemsCount:e.items?.length??0}),be&&z&&t.jsx(a.TextButton,{disabled:u.removed,startIcon:t.jsx(G.Plus,{}),onClick:E,children:t.jsx(a.Typography,{variant:"pi",fontWeight:"bold",textColor:u.removed?"neutral600":"primary600",children:v(r("components.navigationItem.action.newItem"))})})]}),u.type==="INTERNAL"&&u.related&&!K.id?t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[xe,"ย /ย "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:v(r("components.navigationItem.related.localeMissing"))})]}):null,de&&t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsx(Tt,{borderColor:`${te}200`,backgroundColor:`${te}100`,textColor:`${te}600`,className:"action",small:!0,children:v(r(`components.navigationItem.badge.${le?"published":"draft"}`))}),t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[xe,"ย /ย "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:de}),t.jsx(a.Link,{href:S(K??void 0),endIcon:t.jsx(G.ArrowRight,{}),children:"ย "})]})]})})]})]}),ne&&!u.removed&&!u.collapsed&&t.jsx(vt,{onItemLevelAdd:s,onItemRemove:h,onItemEdit:N,onItemRestore:b,onItemReOrder:g,onItemToggleCollapse:y,isParentAttachedToMenu:u.menuAttached,items:e.items??[],level:i+1,levelPath:fe,permissions:j,structurePrefix:L,viewParentId:u.viewId,locale:T})]})},pa=Ce.default.div`
137
+ `,ua=({item:e,isLast:n=!1,level:i=0,levelPath:l="",isParentAttachedToMenu:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:b,onItemEdit:N,onItemReOrder:g,onItemToggleCollapse:y,displayChildren:S,permissions:j,structureId:L,viewParentId:C,locale:T})=>{const u=we(e,!0),{formatMessage:v}=X.useIntl(),A=ke(),V=u.type==="EXTERNAL",oe=u.type==="WRAPPER",B=I.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels-1:!0,J=I.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels:!0,ne=!I.isEmpty(e.items)&&!S,fe=V?void 0:`${l==="/"?"":l}/${u.path==="/"?"":u.path}`.replace("//","/"),ye=xt({uid:u.type==="INTERNAL"?u.relatedType??"":"",locale:T}),ae=fn().data?.find(O=>u.type==="INTERNAL"?O.uid===u.relatedType:!1),K=ye.data?.find(O=>u.type==="INTERNAL"?O.documentId===u.related:!1)??{documentId:"",id:0},le=!!K?.publishedAt,de=V?"":Me(K,A.data),xe=ae?.info.displayName??"",te=le?"success":"secondary",be=j.canUpdate,Te=p.useRef(null),me=p.useRef(null),ge=p.useRef(null),[,je]=_e.useDrop({accept:`navigation-item_${l}`,hover(O,P){const U=O.order??0,k=e.order??0;if(U===k)return;const ce=me.current.getBoundingClientRect(),Fe=(ce.bottom-ce.top)/2,ve=P.getClientOffset();if(!ve)return;const Se=ve.y-ce.top,W=Se>Fe?(e.order??0)+.5:(e.order??0)-.5;U<k&&Se<Fe||U>k&&Se>Fe||g({item:we(O,!0),newOrder:W})},collect:O=>({isOverCurrent:O.isOver({shallow:!0})})}),[{isDragging:ie},Ie,f]=_e.useDrag({type:`navigation-item_${l}`,item:()=>e,collect:O=>({isDragging:O.isDragging()})}),z={dragRef:Ie(Te),dropRef:je(me),previewRef:f(ge)},w=O=>{const P=ae?.kind==="singleType",U=O?.locale?`?plugins[i18n][locale]=${O?.locale}`:"";return`/admin/content-manager/${P?"single-types":"collection-types"}/${ae?.uid}${P?"":"/"+O?.documentId}${U}`},E=p.useCallback(O=>{if(!be)return;const P=(u.items??[]).reduce((U,{order:k})=>U<k?k:U,0);return s(O,u.viewId,B,fe,u.menuAttached,`${L}.${u.items?.length??0}`,P)},[u.viewId,B,fe,u.menuAttached,L,u.items,be]);p.useEffect(()=>{u.isSearchActive&&z.dropRef?.current?.scrollIntoView?.({behavior:"smooth",block:"center",inline:"center"})},[u.isSearchActive,z.dropRef.current]);const q=pt.useTheme();return t.jsxs(ca,{level:i,isLast:n,style:{opacity:ie?.2:1},ref:z?z.dropRef:void 0,children:[t.jsxs(a.Card,{style:{width:"728px",zIndex:1,position:"relative",overflow:"hidden",backgroundColor:u.isSearchActive?q.colors.secondary100:void 0,borderColor:u.isSearchActive?q.colors.secondary200:void 0,transition:"background-color 0.3s ease-in"},children:[u.removed&&t.jsx(da,{}),t.jsxs("div",{ref:z.previewRef,children:[t.jsx(a.CardBody,{children:t.jsx(la,{title:e.title??"",path:V?u.externalPath:fe,icon:V?t.jsx(G.Earth,{}):oe?t.jsx(G.Cog,{}):t.jsx(G.Link,{}),onItemRemove:()=>h({...e,viewParentId:C}),onItemEdit:()=>{const{__type:O,documentId:P}=e.related??{};e.type!=="EXTERNAL"&&e.type!=="INTERNAL"&&e.type!=="WRAPPER"||N({item:e.type==="INTERNAL"?{...e,type:"INTERNAL",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:O??"",related:P??"",additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:void 0,viewParentId:C,audience:e.audience?.map(({documentId:U})=>U)??[]}:e.type==="EXTERNAL"?{...e,type:"EXTERNAL",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:void 0,related:void 0,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:e.externalPath??"",viewParentId:C,audience:e.audience?.map(({documentId:U})=>U)??[]}:{...e,type:"WRAPPER",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,viewParentId:C,audience:e.audience?.map(({documentId:U})=>U)??[]},levelPath:l,isParentAttachedToMenu:d})},onItemRestore:()=>b({...e,viewParentId:C}),dragRef:z.dragRef,removed:u.removed,canUpdate:be,isSearchActive:u.isSearchActive})}),t.jsx(a.Divider,{}),t.jsx(a.CardBody,{style:{padding:"8px"},children:t.jsxs(a.Flex,{style:{width:"100%"},direction:"row",alignItems:"center",justifyContent:"space-between",children:[t.jsxs(a.Flex,{children:[!I.isEmpty(e.items)&&t.jsx(Jn,{toggle:()=>y({...e,viewParentId:C}),collapsed:u.collapsed,itemsCount:e.items?.length??0}),be&&B&&t.jsx(a.TextButton,{disabled:u.removed,startIcon:t.jsx(G.Plus,{}),onClick:E,children:t.jsx(a.Typography,{variant:"pi",fontWeight:"bold",textColor:u.removed?"neutral600":"primary600",children:v(r("components.navigationItem.action.newItem"))})})]}),u.type==="INTERNAL"&&u.related&&!K.id?t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[xe,"ย /ย "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:v(r("components.navigationItem.related.localeMissing"))})]}):null,de&&t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsx(Tt,{borderColor:`${te}200`,backgroundColor:`${te}100`,textColor:`${te}600`,className:"action",small:!0,children:v(r(`components.navigationItem.badge.${le?"published":"draft"}`))}),t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[xe,"ย /ย "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:de}),t.jsx(a.Link,{href:w(K??void 0),endIcon:t.jsx(G.ArrowRight,{}),children:"ย "})]})]})})]})]}),ne&&!u.removed&&!u.collapsed&&t.jsx(vt,{onItemLevelAdd:s,onItemRemove:h,onItemEdit:N,onItemRestore:b,onItemReOrder:g,onItemToggleCollapse:y,isParentAttachedToMenu:u.menuAttached,items:e.items??[],level:i+1,levelPath:fe,permissions:j,structurePrefix:L,viewParentId:u.viewId,locale:T})]})},pa=Ce.default.div`
138
138
  position: relative;
139
139
  ${({level:e,theme:n})=>e&&`
140
140
  &::before {
@@ -151,8 +151,8 @@
151
151
  border-left: 4px solid ${n.colors.neutral300};
152
152
  }
153
153
  `};
154
- `,vt=({isParentAttachedToMenu:e=!1,items:n,level:i=0,levelPath:l="",onItemEdit:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:b,onItemReOrder:N,onItemToggleCollapse:g,displayFlat:y,permissions:w,structurePrefix:j,viewParentId:L,locale:C})=>t.jsx(pa,{"data-level":i,children:n?.map((T,u)=>t.jsx(ua,{item:T,isLast:u===n.length-1,level:i,levelPath:l,isParentAttachedToMenu:e,onItemRestore:b,onItemLevelAdd:s,onItemRemove:h,onItemEdit:d,onItemReOrder:N,onItemToggleCollapse:g,displayChildren:y,permissions:w,structureId:j?`${j}.${u}`:u.toString(),viewParentId:L,locale:C},`list-item-${T.viewId||u}`))}),ma="",ga={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},ha=({name:e,field:n,isLoading:i,onChange:l,onChangeEnhancer:d,value:s,disabled:h})=>{const{toggleNotification:b}=$.useNotification(),{formatMessage:N}=H.useIntl(),y=$.useStrapiApp("AdditionalFieldInput",j=>j.fields).media,w=p.useMemo(()=>({id:n.name,name:e||n.name,disabled:i||h}),[n,i]);switch(p.useEffect(()=>{n.type==="media"&&d(w.name,s,l)},[s]),n.type){case"boolean":return t.jsx(a.Toggle,{...w,checked:!!s,onChange:j=>d(j,!s,l),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return t.jsx(a.TextInput,{...w,onChange:(j,L)=>d(j,L,l),value:s||ma});case"select":return n.multi?t.jsx(a.MultiSelect,{...w,onChange:j=>d(w.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,L)=>t.jsx(a.MultiSelectOption,{value:j,children:j},`${n.name}-option-${L}`))}):t.jsx(a.SingleSelect,{...w,onChange:j=>d(w.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,L)=>t.jsx(a.SingleSelectOption,{value:j,children:j},`${n.name}-option-${L}`))});case"media":return t.jsx(y,{...w,...ga,value:s});default:throw b({type:"warning",message:N(r("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},fa=({handleCancel:e,handleSubmit:n,submitDisabled:i,canUpdate:l})=>{const{formatMessage:d}=H.useIntl();return l?t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:e,variant:"tertiary",children:d(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:n,disabled:i,children:d(r("popup.item.form.button.save"))})]}):null},ya=[/^mailto:[\w-\.]+@([\w-]+\.)+[\w-]{2,}$/,/^tel:(\+\d{1,3})?[\s]?(\(?\d{2,3}\)?)?[\s.-]?(\d{3})?[\s.-]?\d{3,4}$/,/^#.*/,/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/],Je=({additionalFields:e})=>c.z.object({title:c.z.string(),autoSync:c.z.boolean().optional(),removed:c.z.boolean().optional(),updated:c.z.boolean().optional(),uiRouterKey:c.z.string(),levelPath:c.z.string().optional(),isMenuAllowedLevel:c.z.boolean().optional(),parentAttachedToMenu:c.z.boolean().optional(),viewId:c.z.number().optional(),structureId:c.z.string().optional(),menuAttached:c.z.boolean().optional(),collapsed:c.z.boolean().optional(),isSearchActive:c.z.boolean().optional(),viewParentId:c.z.number().optional(),id:c.z.number().optional(),documentId:c.z.string().optional(),audience:c.z.string().array().optional(),order:c.z.number().optional(),items:c.z.any().array().optional(),additionalFields:c.z.object(e.reduce((n,i)=>{if(typeof i=="string")return n;switch(i.type){case"string":n[i.name]=i.required?c.z.string():c.z.string().optional();break;case"boolean":n[i.name]=i.required?c.z.boolean():c.z.boolean().optional();case"media":n[i.name]=i.required?c.z.any():c.z.any().optional();case"select":{i.multi?n[i.name]=i.required?c.z.string().array():c.z.string().array().optional():n[i.name]=i.required?c.z.string():c.z.string().optional();break}}return n},{}))}),xa=({additionalFields:e,isSingleSelected:n})=>Je({additionalFields:e,isSingleSelected:n}).extend({type:c.z.literal("INTERNAL"),path:c.z.string(),externalPath:c.z.string().optional(),relatedType:c.z.string(),related:n?c.z.string().optional():c.z.string()}),ba=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n,isSingleSelected:e}).extend({type:c.z.literal("EXTERNAL"),path:c.z.string().or(c.z.null()).optional(),externalPath:c.z.string().min(1).refine(i=>ya.some(l=>l.test(i))),relatedType:c.z.string().optional(),related:c.z.string().optional()}),ja=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n,isSingleSelected:e}).extend({type:c.z.literal("WRAPPER"),path:c.z.string().or(c.z.null()).optional()}),Ia=e=>c.z.discriminatedUnion("type",[ba(e),xa(e),ja(e)]),rt={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Ca=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return n.slugify(i)}})},Ta=async({slugify:e,title:n,config:i,related:l,relatedType:d,contentTypeItems:s})=>{if(n)return n?await e(n):void 0;if(l){const h=ze({...s?.find(b=>b.documentId===l.toString())??{documentId:"",id:0},__collectionUid:d},i);return h?await e(h):void 0}},va=({currentType:e,config:n,contentTypeItems:i,currentRelated:l,currentRelatedType:d,isSingleSelected:s})=>{if(e!=="INTERNAL"||!d)return"";const h=n?.pathDefaultFields[d]??[];if(I.isEmpty(e)&&!I.isEmpty(h)){const b=s?I.first(i??[]):i?.find(({id:g})=>g===l);return h.map(g=>b?.[g]??"").filter(g=>!!g.toString().trim())[0]??""}return""},wa=({currentPath:e,isExternal:n,current:i,currentType:l="INTERNAL",config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:N})=>{if(!n){const g=I.isEmpty(e)||e==="/"?va({currentType:l,config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:N}):e||"";return`${i.levelPath!=="/"?`${i.levelPath}`:""}/${g}`.replace("//","/")}},Sa=[],Fa=({availableLocale:e,isLoading:n,current:i=rt,onSubmit:l,onCancel:d,appendLabelPublicationStatus:s=Na,locale:h,permissions:b={},currentNavigation:N})=>{const{formatMessage:g}=H.useIntl(),[y,w]=p.useState(n),{canUpdate:j}=b,[L,C]=p.useState(!1),[T,u]=p.useState(),[v,A]=p.useState({}),[_,oe]=p.useState(),z=ke(),J=z.data?.availableAudience??[],ne=z.data?.contentTypes??[],{toggleNotification:fe}=$.useNotification(),ye=In(),re=He(),ae=(m,F,Z)=>{if(Z){let D=m,x=F;if(I.isObject(m)){const{name:M,value:Q}=m.target;D=M,x=I.isNil(x)?Q:x}return I.isString(D)&&K(D,x),Z(m,x)}},K=(m,F)=>{A(I.set({...v,additionalFields:{...v.additionalFields},updated:!0},m,F))},le=m=>({...m,additionalFields:z.data?.additionalFields.reduce((F,Z)=>{const{name:D,type:x}=Z;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(x){case"boolean":M=I.isBoolean(M)?`${M}`:M;break;case"media":M=M&&JSON.stringify(M);break}return{...F,[D]:M}}return F},{})||{}}),de=m=>({...m,additionalFields:z.data?.additionalFields.reduce((F,Z)=>{const{name:D,type:x}=Z;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(x){case"boolean":M=M==="true";break;case"media":M=M&&JSON.parse(M);break}return{...F,[D]:M}}return F},{})||{}}),xe=async(m,F)=>{m.preventDefault();const Z=le(F),{success:D,data:x,error:M}=Ia({isSingleSelected:L,additionalFields:z.data?.additionalFields??Sa}).safeParse(Z);if(D){const Q=x.title.trim()?x.title.trim():x.type==="INTERNAL"?P(x?.related?.toString(),x.relatedType,L):"";w(!0);const ue=await Ta(x.type==="INTERNAL"?{slugify:O.mutateAsync,title:Q,related:x.related,relatedType:x.relatedType}:{slugify:O.mutateAsync,title:Q});if(O.reset(),w(!1),!ue){fe({type:"warning",message:g(r("popup.item.form.uiRouter.unableToRender"))});return}l(x.type==="INTERNAL"?{...x,title:Q,uiRouterKey:ue}:{...x,title:Q,uiRouterKey:ue})}else M&&oe(M.issues.reduce((Q,ue)=>({...Q,[ue.path.join(".")]:ue.message}),{}))},te=(m,F)=>I.get(_,m)?g(r(F??m)):void 0,be=i.type==="INTERNAL"?i.relatedType:void 0,{path:Te,type:me,title:ge,autoSync:je}=v,{relatedType:ie,related:Ie}=v.type==="INTERNAL"?v:{related:void 0,relatedType:void 0},f=me==="EXTERNAL",B=me==="INTERNAL",S=f?"externalPath":"path",E=B&&!L&&I.isNil(Ie)||y,q=xt({uid:ie??"",locale:h}),O=Ca(),k=p.useMemo(()=>e.map((m,F)=>({key:`${m}-${F}`,value:m,label:m})),[e]),X=p.useMemo(()=>J.map(m=>({value:m.documentId??0,label:m.name??" "})),[J]),P=p.useCallback((m,F,Z)=>{let D;if(Z){if(D=q.data?.find(x=>x.uid===F||x.__collectionUid===F),!D)return ne.find(x=>x.uid===F)?.contentTypeName}else D={...q.data?.find(({documentId:M})=>M===m)||{documentId:null},__collectionUid:F};return ze(D,z.data)},[q.data,z.data,ne]),Fe=(z.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(m=>({key:m,value:m,label:g(r(`popup.item.form.type.${m.toLowerCase()}.label`))})),ve=I.sortBy(q.data?.map(m=>{const F=s(ze({...m,__collectionUid:ie},z.data),m,!1);return{key:m?.documentId?.toString(),value:m?.documentId?.toString(),label:F}})??[],m=>m.label),we=p.useMemo(()=>I.sortBy(z.data?.contentTypes?.filter(m=>m.isSingle?!!(ie&&[ie,be].includes(m.uid)):!0).map(m=>({key:m.uid,value:m.uid,label:m.contentTypeName})),m=>m.label),[z.data,ie]),R=I.isEmpty(ve),U=p.useCallback(async m=>{m.preventDefault(),m.stopPropagation();const F=re.data?.find(({locale:Z})=>Z===T);F&&(w(!0),ye.mutate({target:N.documentId,structureId:i.structureId,source:F.documentId},{onSuccess(Z){ye.reset();const{type:D,externalPath:x,path:M,related:Q,title:ue,uiRouterKey:St}=Z,{__type:Ye,documentId:et}=Q??{};K("type",D),K("externalPath",x??void 0),K("path",M??void 0),K("title",ue),K("uiRouterKey",St),Ye&&et&&(K("related",et),K("relatedType",Ye))},onSettled(){w(!1)}}))},[w,ye,re]);return p.useEffect(()=>{A(de({...rt,...i}))},[i]),p.useEffect(()=>{if(ie){const m=z.data?.contentTypes.find(F=>F.uid===ie);if(m&&(C(m.isSingle),m.isSingle&&q.data?.length)){const F=q.data[0];F&&K("related",F.documentId)}}},[ie,z.data,q.data]),p.useEffect(()=>{if(je&&me==="INTERNAL"&&Ie&&ie&&z.data){const m=q.data?.find(F=>F.documentId===Ie);if(m){const{contentTypesNameFields:F,pathDefaultFields:Z}=z.data,D=Z[ie]?.reduce((Q,ue)=>Q||m?.[ue],void 0),x=(F[ie]??[]).concat(F.default??[]).reduce((Q,ue)=>Q||m?.[ue],void 0),M=[];D&&D!==Te&&M.push({name:"path",value:D}),x&&x!==ge&&M.push({name:"title",value:x}),setTimeout(()=>{M.forEach(Q=>{K(Q.name,Q.value)})},100)}}},[ge,Te,je,me,Ie,ie,z.data,q.data]),t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx($.Form,{method:"POST",initialValues:v,children:({values:m,onChange:F})=>{const Z=m.type==="INTERNAL"?m:{related:void 0,relatedType:void 0},D=wa({currentPath:m.path,isExternal:m.type==="EXTERNAL",current:i,currentType:m.type,config:z.data,contentTypeItems:q.data,currentRelated:Z.related,currentRelatedType:Z.relatedType,isSingleSelected:L});return t.jsxs(t.Fragment,{children:[t.jsxs(a.Grid.Root,{gap:5,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:8,children:t.jsx(V.Field,{name:"type",label:g(r("popup.item.form.type.label","Internal link")),error:te("type"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.SingleSelect,{onChange:x=>ae("type",x,F),value:m.type,name:"type",disabled:!j,width:"100%",children:Fe.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})},"title"),t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(V.Field,{name:"menuAttached",label:g(r("popup.item.form.menuAttached.label","MenuAttached")),error:te("menuAttached"),hint:g(r("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:t.jsx(a.Toggle,{name:"menuAttached",checked:m.menuAttached,onChange:x=>ae(x,!m.menuAttached,F),value:m.menuAttached,onLabel:g(r("popup.item.form.menuAttached.value.yes","yes")),offLabel:g(r("popup.item.form.menuAttached.value.no","no")),disabled:!j||(z.data?.cascadeMenuAttached?!(i.isMenuAllowedLevel&&i.parentAttachedToMenu):!1),width:"100%"})})},"menuAttached")]}),t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:m.type==="INTERNAL"?8:12,children:t.jsx(V.Field,{name:"title",label:g(r("popup.item.form.title.label","Title")),error:te("title"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.TextInput,{type:"string",disabled:!j||m.autoSync&&m.type==="INTERNAL",name:"title",onChange:(x,M)=>ae(x,M,F),value:m.title})})},"title"),m.type==="INTERNAL"&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(V.Field,{name:"autoSync",label:g(r("popup.item.form.autoSync.label","Read fields from related")),error:te("autoSync"),children:t.jsx(a.Toggle,{name:"autoSync",checked:m.autoSync,onChange:x=>ae(x,!m.autoSync,F),onLabel:"Enabled",offLabel:"Disabled"})})},"autoSync")]}),t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(V.Field,{name:S,label:g(r(`popup.item.form.${S}.label`,"Path")),error:te(S,`popup.item.form.${S}.validation.type`),hint:[g(r(`popup.item.form.${S}.placeholder`,"e.g. Blog")),D?g(r("popup.item.form.type.external.description"),{value:D}):""].join(" "),children:t.jsx(a.TextInput,{disabled:!j,name:S,onChange:(x,M)=>ae(x,M,F),value:m[S],width:"100%"})})},"title")}),m.type==="INTERNAL"&&t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:m.relatedType&&!L?6:12,children:t.jsx(V.Field,{name:"relatedType",label:g(r("popup.item.form.relatedType.label","Related Type")),error:te("relatedType"),hint:!y&&I.isEmpty(we)?g(r("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:t.jsx(a.SingleSelect,{name:"relatedType",onChange:x=>ae("relatedType",x,F),value:m.relatedType,disabled:!z.data?.contentTypes.length||!j,width:"100%",children:z.data?.contentTypes.map(x=>t.jsx(a.SingleSelectOption,{value:x.uid,children:x.contentTypeName},x.uid))})})}),m.relatedType&&!L&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(V.Field,{name:"related",label:g(r("popup.item.form.related.label","Related")),error:te("related"),hint:!y&&R?g(r("popup.item.form.related.empty","There are no more entities"),{contentTypeName:m.relatedType}):void 0,children:t.jsx(a.SingleSelect,{name:"related",onChange:x=>ae("related",x,F),value:m.related,options:ve,disabled:y||R||!j,width:"100%",children:ve.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})})]}),!I.isEmpty(z.data?.additionalFields)&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{col:12,lg:12,children:t.jsx(a.Divider,{width:"100%"})})}),t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[z.data?.additionalFields.map((x,M)=>{if(x!=="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(V.Field,{name:`additionalFields.${x.name}`,label:x.label,error:te(`additionalFields.${x.name}`),children:t.jsx(ha,{name:`additionalFields.${x.name}`,field:x,isLoading:y,onChange:F,onChangeEnhancer:ae,value:I.get(m?.additionalFields,x.name),disabled:!j})})},x.name)}),z.data?.additionalFields.map((x,M)=>{if(x==="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(V.Field,{name:"audience",label:g(r("popup.item.form.audience.label")),error:te("audience"),hint:!y&&I.isEmpty(X)?g(r("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:t.jsx(a.MultiSelect,{name:"audience",value:m.audience,onChange:Q=>ae("audience",Q,F),width:"100%",children:X.map(({value:Q,label:ue})=>t.jsx(a.MultiSelectOption,{value:Q,children:ue},Q))})})},"audience")})]}),t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{col:12,lg:12,children:t.jsx(a.Divider,{width:"100%"})})})]}),k&&k.length>1&&t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsxs(a.Grid.Item,{alignItems:"flex-start",col:12,children:[t.jsx(a.Divider,{marginTop:5,marginBottom:5}),t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,lg:12,children:t.jsx(V.Field,{name:"i18n.locale",label:g(r("popup.item.form.i18n.locale.label","Copy details from")),children:t.jsx(a.SingleSelect,{name:"i18n.locale",onChange:u,value:T,disabled:y||!j,placeholder:g(r("popup.item.form.i18n.locale.placeholder","locale")),children:k.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})}),j&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,lg:12,paddingTop:6,children:t.jsx(a.Box,{children:t.jsx(a.Button,{variant:"tertiary",onClick:U,disabled:y||!T,children:g(r("popup.item.form.i18n.locale.button"))})})})]})]},"title")}),t.jsx(a.Grid.Root,{gap:5,children:t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12},"title")})]})}})}),t.jsx(fa,{handleSubmit:m=>xe(m,v),handleCancel:d,submitDisabled:E,canUpdate:j})]})},Na=()=>"",Ra=({isNewItem:e,canUpdate:n})=>{const{formatMessage:i}=H.useIntl();let l="view";return n&&(l=e?"new":"edit"),t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:i(r(`popup.item.header.${l}`))})})},Aa=({availableLocale:e,isOpen:n,isLoading:i,currentItem:l={},onSubmit:d,onClose:s,locale:h,permissions:b,currentNavigation:N})=>{const{formatMessage:g}=H.useIntl(),y=L=>{d(L)},w=(L,C,T)=>`${wn({relatedRef:C,type:C.isSingle?"INTERNAL":C.type,isCollection:T})?"":`[${g(r("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${L}`,j=!!l.viewId;return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:L=>{L||s({preventDefault(){},stopPropagation(){},target:{}})},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(Ra,{isNewItem:!j,canUpdate:b?.canUpdate}),t.jsx(Fa,{availableLocale:e,current:l,isLoading:i,onSubmit:y,onCancel:s,appendLabelPublicationStatus:w,locale:h,permissions:b,currentNavigation:N})]})})},Ge=0,Ea=({value:e,setValue:n,initialIndex:i=Ge})=>{const[l,d]=p.useState(e),[s,h]=p.useState(e),[b,N]=p.useState(i),[g,y]=p.useState(!!e),w=p.useRef(null),{formatMessage:j}=H.useIntl();p.useEffect(()=>{g&&setTimeout(()=>{w.current?.querySelector("input")?.focus()},0)},[g]),p.useEffect(()=>{b&&l===s&&n({value:l,index:b})},[b,l,s]),p.useEffect(()=>{l!==s&&(h(l),N(Ge),n({value:l,index:Ge}))},[l,s]);const L=p.useCallback(u=>{u.code.toLowerCase()==="enter"&&N(v=>v+1)},[]),C=p.useCallback(u=>{d(u.target.value)},[d]),T=p.useCallback(()=>{d(""),y(!1)},[d,y]);return g?t.jsxs("div",{ref:w,children:[t.jsx(a.Searchbar,{name:"searchbar",onClear:T,value:e,size:"S",onChange:C,clearLabel:"Clearing the search",placeholder:j(r("pages.main.search.placeholder","Type to start searching...")),onKeyDown:L,children:"Search for navigation items"}),t.jsx(a.Typography,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:j(r("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):t.jsx(a.IconButton,{children:t.jsx(G.Search,{}),onClick:()=>y(!g)})},La=new W.QueryClient,$a=()=>{const{formatMessage:e}=H.useIntl(),n=We(),[i,l]=p.useState(),[d,s]=p.useState(),[h,b]=p.useState(),[N,g]=p.useState(!1),[y,w]=p.useState(!1),[j,L]=p.useState(),C=p.useMemo(()=>({access:Ae.access,update:Ae.update}),[]),{isLoading:T,allowedActions:{canUpdate:u,canAccess:v}}=$.useRBAC(C),A=He(),_=ke(),oe=jt(),z=It([A,{isPending:T}]),J=Cn(),[{value:ne,index:fe},ye]=p.useState({value:"",index:0}),re=I.isEmpty(ne),ae=(ne||"").toLowerCase(),K=(R,U,m)=>{const F=R.reduce((Z,D)=>{const x=D.items?.length?K(D.items??[],U):[];return U(D)?[D,...x,...Z]:[...x,...Z]},[]);if(m!==void 0){const Z=m%F.length;return F.map((D,x)=>Z===x?{...D,isSearchActive:!0}:D)}return F},le=re?[]:K(d?.items.map(R=>({...R}))??[],R=>(R?.title||"").toLowerCase().includes(ae),ae?fe:void 0),de=p.useCallback((R,U={})=>{b(U),g(R)},[g]),xe=p.useCallback((R,U,m=!0,F="",Z=!0,D="0",x=0)=>{u&&(R.preventDefault(),R.stopPropagation(),de(!0,{viewParentId:U,isMenuAllowedLevel:m,levelPath:F,parentAttachedToMenu:Z,structureId:D,viewId:void 0,order:x+1}))},[de,u]),te=p.useMemo(()=>(n.data?[n.data.defaultLocale,...n.data.restLocale]:[]).filter(R=>R!==j),[n.data,j]),be=xn(),Te=yn(),{i18nCopyItemsModal:me,i18nCopySourceLocale:ge,setI18nCopyModalOpened:je,setI18nCopySourceLocale:ie}=vn(p.useCallback(R=>{const U=A.data?.find(({locale:m,documentId:F})=>m===R&&F===d?.documentId);U&&U.documentId&&d?.documentId&&J.mutate({source:U.locale,target:d.locale,documentId:U.documentId},{onSuccess(m){J.reset(),s({...m.data,items:m.data.items.map(Xe)}),be(),Te()}})},[d])),Ie=p.useCallback(()=>{ge&&je(!0)},[je,ge]),f=bt(()=>{l({documentId:d?.documentId,id:d?.id}),s(void 0)}),B=()=>{d&&f.mutate(d)},S=R=>{R.preventDefault(),R.stopPropagation(),R.target.tagName!=="HTML"&&de(!1)},E=({item:R,newOrder:U})=>{P({...R,order:U})},q=R=>{P(Se({...R,removed:!0},!0))},O=R=>{P(Se({...R,removed:!1},!0))},k=R=>{P(Se({...R,collapsed:!R.collapsed,updated:!0,isSearchActive:!1},!0))},X=({item:R,levelPath:U="",parentAttachedToMenu:m=!0})=>{de(!0,{...R,levelPath:U,parentAttachedToMenu:m})},P=R=>{if(d&&_.data){const U=Re(R,d?.items??[],_.data);s({...d,items:U}),w(!0),g(!1)}},ce=re?d?.items??[]:le,Fe=p.useCallback(()=>{d&&s({...d,items:d.items.map(R=>Ne(R,!1))})},[s,d,Ne]),ve=p.useCallback(()=>{d&&s({...d,items:d.items.map(R=>Ne(R,!0))})},[s,d,Ne]),we=[{onClick:Fe,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:ve,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return u&&we.push({onClick:xe,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:t.jsx(G.Plus,{}),margin:"8px"}),p.useEffect(()=>{if(!d&&A.data?.[0]){let R;i?.documentId&&(R=A.data.find(U=>U.documentId===i.documentId&&U.id===i.id)),l(void 0),s(R||I.first(A.data))}},[A.data]),p.useEffect(()=>{!j&&n.data?.defaultLocale&&L(n.data?.defaultLocale)},[A.data]),p.useEffect(()=>{if(d&&j!==d.locale){l(void 0);const R=A.data?.find(U=>U.documentId===d.documentId&&U.locale===j);R&&R.documentId===d.documentId&&R.locale!==d.locale&&s(R)}},[d,j,A.data]),p.useEffect(()=>{!j&&n.data?.defaultLocale&&L(n.data.defaultLocale)},[A.data]),!A.data||!n.data||z?t.jsx($.Page.Loading,{}):t.jsxs($.Layouts.Root,{children:[t.jsx($.Page.Title,{children:e(r("header.title","UI Navigation"))}),t.jsxs($.Page.Main,{children:[t.jsx(Hn,{availableNavigations:A.data,activeNavigation:d,handleCachePurge:()=>oe.mutate(void 0),handleChangeSelection:s,handleLocalizationSelection:L,handleSave:B,locale:n.data,structureHasChanged:y,permissions:{canUpdate:u},currentLocale:j}),t.jsxs($.Layouts.Content,{children:[t.jsx(Xn,{startActions:t.jsx(Ea,{value:ne,setValue:ye}),endActions:we.map(({tradId:R,margin:U,...m},F)=>t.jsx(a.Box,{marginLeft:U,children:t.jsxs(a.Button,{...m,children:[" ",e(r(R))," "]})},F))}),d?.items.length?t.jsx(vt,{items:ce,onItemLevelAdd:xe,onItemRemove:q,onItemEdit:X,onItemRestore:O,onItemReOrder:E,onItemToggleCollapse:k,displayFlat:!re,isParentAttachedToMenu:!0,permissions:{canUpdate:u,canAccess:v},structurePrefix:"",locale:j??""}):t.jsxs(a.Flex,{direction:"column",minHeight:"400px",justifyContent:"center",children:[t.jsx(a.Box,{padding:4,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("empty.description"))})}),u&&t.jsx(a.Button,{variant:"secondary",startIcon:t.jsx(G.ListPlus,{}),label:e(r("empty.cta")),onClick:xe,children:e(r("empty.cta"))}),u&&te.length?t.jsxs(a.Flex,{direction:"column",justifyContent:"center",children:[t.jsx(a.Box,{paddingTop:3,paddingBottom:3,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("view.i18n.fill.cta.header"))})}),t.jsxs(a.Flex,{direction:"row",justifyContent:"center",alignItems:"center",children:[t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.SingleSelect,{onChange:ie,value:ge,size:"S",children:te.map(R=>t.jsx(a.SingleSelectOption,{value:R,children:e(r("view.i18n.fill.option"),{locale:R})},R))})}),t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.Button,{variant:"tertiary",onClick:Ie,disabled:!ge,size:"S",children:e(r("view.i18n.fill.cta.button"))})})]})]}):null]}),N&&j&&d&&t.jsx(Aa,{availableLocale:te,currentItem:h,onSubmit:P,onClose:S,locale:j,permissions:{canUpdate:u},isOpen:N,isLoading:T,currentNavigation:d}),u&&me]})]})]})};function ka(){const e=V.usePluginTheme();return t.jsx(W.QueryClientProvider,{client:La,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx($a,{})})})}const Pa=()=>t.jsx(_e.DndProvider,{backend:Ft.HTML5Backend,children:t.jsxs(Be.Routes,{children:[t.jsx(Be.Route,{path:"/",index:!0,Component:ka}),t.jsx(Be.Route,{path:"/*",Component:$.Page.Error})]})}),Ma=Ce.default(a.Alert)`
154
+ `,vt=({isParentAttachedToMenu:e=!1,items:n,level:i=0,levelPath:l="",onItemEdit:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:b,onItemReOrder:N,onItemToggleCollapse:g,displayFlat:y,permissions:S,structurePrefix:j,viewParentId:L,locale:C})=>t.jsx(pa,{"data-level":i,children:n?.map((T,u)=>t.jsx(ua,{item:T,isLast:u===n.length-1,level:i,levelPath:l,isParentAttachedToMenu:e,onItemRestore:b,onItemLevelAdd:s,onItemRemove:h,onItemEdit:d,onItemReOrder:N,onItemToggleCollapse:g,displayChildren:y,permissions:S,structureId:j?`${j}.${u}`:u.toString(),viewParentId:L,locale:C},`list-item-${T.viewId||u}`))}),ma="",ga={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},ha=({name:e,field:n,isLoading:i,onChange:l,onChangeEnhancer:d,value:s,disabled:h})=>{const{toggleNotification:b}=$.useNotification(),{formatMessage:N}=X.useIntl(),y=$.useStrapiApp("AdditionalFieldInput",j=>j.fields).media,S=p.useMemo(()=>({id:n.name,name:e||n.name,disabled:i||h}),[n,i]);switch(p.useEffect(()=>{n.type==="media"&&d(S.name,s,l)},[s]),n.type){case"boolean":return t.jsx(a.Toggle,{...S,checked:!!s,onChange:j=>d(j,!s,l),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return t.jsx(a.TextInput,{...S,onChange:(j,L)=>d(j,L,l),value:s||ma});case"select":return n.multi?t.jsx(a.MultiSelect,{...S,onChange:j=>d(S.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,L)=>t.jsx(a.MultiSelectOption,{value:j,children:j},`${n.name}-option-${L}`))}):t.jsx(a.SingleSelect,{...S,onChange:j=>d(S.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,L)=>t.jsx(a.SingleSelectOption,{value:j,children:j},`${n.name}-option-${L}`))});case"media":return t.jsx(y,{...S,...ga,value:s});default:throw b({type:"warning",message:N(r("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},fa=({handleCancel:e,handleSubmit:n,submitDisabled:i,canUpdate:l})=>{const{formatMessage:d}=X.useIntl();return l?t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:e,variant:"tertiary",children:d(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:n,disabled:i,children:d(r("popup.item.form.button.save"))})]}):null},ya=[/^mailto:[\w-\.]+@([\w-]+\.)+[\w-]{2,}$/,/^tel:(\+\d{1,3})?[\s]?(\(?\d{2,3}\)?)?[\s.-]?(\d{3})?[\s.-]?\d{3,4}$/,/^#.*/,/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/,/(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)+\/?/],Je=({additionalFields:e})=>c.z.object({title:c.z.string(),autoSync:c.z.boolean().optional(),removed:c.z.boolean().optional(),updated:c.z.boolean().optional(),uiRouterKey:c.z.string(),levelPath:c.z.string().optional(),isMenuAllowedLevel:c.z.boolean().optional(),parentAttachedToMenu:c.z.boolean().optional(),viewId:c.z.number().optional(),structureId:c.z.string().optional(),menuAttached:c.z.boolean().optional(),collapsed:c.z.boolean().optional(),isSearchActive:c.z.boolean().optional(),viewParentId:c.z.number().optional(),id:c.z.number().optional(),documentId:c.z.string().optional(),audience:c.z.string().array().optional(),order:c.z.number().optional(),items:c.z.any().array().optional(),additionalFields:c.z.object(e.reduce((n,i)=>{if(typeof i=="string")return n;switch(i.type){case"string":n[i.name]=i.required?c.z.string():c.z.string().optional();break;case"boolean":n[i.name]=i.required?c.z.boolean():c.z.boolean().optional();case"media":n[i.name]=i.required?c.z.any():c.z.any().optional();case"select":{i.multi?n[i.name]=i.required?c.z.string().array():c.z.string().array().optional():n[i.name]=i.required?c.z.string():c.z.string().optional();break}}return n},{}))}),xa=({additionalFields:e,isSingleSelected:n})=>Je({additionalFields:e}).extend({type:c.z.literal("INTERNAL"),path:c.z.string(),externalPath:c.z.string().optional(),relatedType:c.z.string(),related:n?c.z.string().optional():c.z.string()}),ba=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n}).extend({type:c.z.literal("EXTERNAL"),path:c.z.string().or(c.z.null()).optional(),externalPath:c.z.string().min(1).refine(i=>ya.some(l=>l.test(i))),relatedType:c.z.string().optional(),related:c.z.string().optional()}),ja=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n}).extend({type:c.z.literal("WRAPPER"),path:c.z.string().or(c.z.null()).optional()}),Ia=e=>c.z.discriminatedUnion("type",[ba(e),xa(e),ja(e)]),rt={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Ca=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn(i){return n.slugify(i)}})},Ta=async({slugify:e,title:n,config:i,related:l,relatedType:d,contentTypeItems:s})=>{if(n)return n?await e(n):void 0;if(l){const h=Me({...s?.find(b=>b.documentId===l.toString())??{documentId:"",id:0},__collectionUid:d},i);return h?await e(h):void 0}},va=({currentType:e,config:n,contentTypeItems:i,currentRelated:l,currentRelatedType:d,isSingleSelected:s})=>{if(e!=="INTERNAL"||!d)return"";const h=n?.pathDefaultFields[d]??[];if(I.isEmpty(e)&&!I.isEmpty(h)){const b=s?I.first(i??[]):i?.find(({id:g})=>g===l);return h.map(g=>b?.[g]??"").filter(g=>!!g.toString().trim())[0]??""}return""},Sa=({currentPath:e,isExternal:n,current:i,currentType:l="INTERNAL",config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:N})=>{if(!n){const g=I.isEmpty(e)||e==="/"?va({currentType:l,config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:N}):e||"";return`${i.levelPath!=="/"?`${i.levelPath}`:""}/${g}`.replace("//","/")}},wa=[],Fa=({availableLocale:e,isLoading:n,current:i=rt,onSubmit:l,onCancel:d,appendLabelPublicationStatus:s=Na,locale:h,permissions:b={},currentNavigation:N})=>{const{formatMessage:g}=X.useIntl(),[y,S]=p.useState(n),{canUpdate:j}=b,[L,C]=p.useState(!1),[T,u]=p.useState(),[v,A]=p.useState({}),[V,oe]=p.useState(),B=ke(),J=B.data?.availableAudience??[],ne=B.data?.contentTypes??[],{toggleNotification:fe}=$.useNotification(),ye=In(),re=He(),ae=(m,F,Z)=>{if(Z){let D=m,x=F;if(I.isObject(m)){const{name:M,value:Q}=m.target;D=M,x=I.isNil(x)?Q:x}return I.isString(D)&&K(D,x),Z(m,x)}},K=(m,F)=>{A(I.set({...v,additionalFields:{...v.additionalFields},updated:!0},m,F))},le=m=>({...m,additionalFields:B.data?.additionalFields.reduce((F,Z)=>{const{name:D,type:x}=Z;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(x){case"boolean":M=I.isBoolean(M)?`${M}`:M;break;case"media":M=M&&JSON.stringify(M);break}return{...F,[D]:M}}return F},{})||{}}),de=m=>({...m,additionalFields:B.data?.additionalFields.reduce((F,Z)=>{const{name:D,type:x}=Z;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(x){case"boolean":M=M==="true";break;case"media":M=M&&JSON.parse(M);break}return{...F,[D]:M}}return F},{})||{}}),xe=async(m,F)=>{m.preventDefault();const Z=le(F),{success:D,data:x,error:M}=Ia({isSingleSelected:L,additionalFields:B.data?.additionalFields??wa}).safeParse(Z);if(D){const Q=x.title.trim()?x.title.trim():x.type==="INTERNAL"?k(x?.related?.toString(),x.relatedType,L):"";S(!0);const ue=await Ta(x.type==="INTERNAL"?{slugify:O.mutateAsync,title:Q,related:x.related,relatedType:x.relatedType}:{slugify:O.mutateAsync,title:Q});if(O.reset(),S(!1),!ue){fe({type:"warning",message:g(r("popup.item.form.uiRouter.unableToRender"))});return}l(x.type==="INTERNAL"?{...x,title:Q,uiRouterKey:ue}:{...x,title:Q,uiRouterKey:ue})}else M&&oe(M.issues.reduce((Q,ue)=>({...Q,[ue.path.join(".")]:ue.message}),{}))},te=(m,F)=>I.get(V,m)?g(r(F??m)):void 0,be=i.type==="INTERNAL"?i.relatedType:void 0,{path:Te,type:me,title:ge,autoSync:je}=v,{relatedType:ie,related:Ie}=v.type==="INTERNAL"?v:{related:void 0,relatedType:void 0},f=me==="EXTERNAL",z=me==="INTERNAL",w=f?"externalPath":"path",E=z&&!L&&I.isNil(Ie)||y,q=xt({uid:ie??"",locale:h}),O=Ca(),P=p.useMemo(()=>e.map((m,F)=>({key:`${m}-${F}`,value:m,label:m})),[e]),U=p.useMemo(()=>J.map(m=>({value:m.documentId??0,label:m.name??" "})),[J]),k=p.useCallback((m,F,Z)=>{let D;if(Z){if(D=q.data?.find(x=>x.uid===F||x.__collectionUid===F),!D)return ne.find(x=>x.uid===F)?.contentTypeName}else D={...q.data?.find(({documentId:M})=>M===m)||{documentId:null},__collectionUid:F};return Me(D,B.data)},[q.data,B.data,ne]),Fe=(B.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(m=>({key:m,value:m,label:g(r(`popup.item.form.type.${m.toLowerCase()}.label`))})),ve=I.sortBy(q.data?.map(m=>{const F=s(Me({...m,__collectionUid:ie},B.data),m,!1);return{key:m?.documentId?.toString(),value:m?.documentId?.toString(),label:F}})??[],m=>m.label),Se=p.useMemo(()=>I.sortBy(B.data?.contentTypes?.filter(m=>m.isSingle?!!(ie&&[ie,be].includes(m.uid)):!0).map(m=>({key:m.uid,value:m.uid,label:m.contentTypeName})),m=>m.label),[B.data,ie]),R=I.isEmpty(ve),W=p.useCallback(async m=>{m.preventDefault(),m.stopPropagation();const F=re.data?.find(({locale:Z})=>Z===T);F&&(S(!0),ye.mutate({target:N.documentId,structureId:i.structureId,source:F.documentId},{onSuccess(Z){ye.reset();const{type:D,externalPath:x,path:M,related:Q,title:ue,uiRouterKey:wt}=Z,{__type:Ye,documentId:et}=Q??{};K("type",D),K("externalPath",x??void 0),K("path",M??void 0),K("title",ue),K("uiRouterKey",wt),Ye&&et&&(K("related",et),K("relatedType",Ye))},onSettled(){S(!1)}}))},[S,ye,re]);return p.useEffect(()=>{A(de({...rt,...i}))},[i]),p.useEffect(()=>{if(ie){const m=B.data?.contentTypes.find(F=>F.uid===ie);if(m&&(C(m.isSingle),m.isSingle&&q.data?.length)){const F=q.data[0];F&&K("related",F.documentId)}}},[ie,B.data,q.data]),p.useEffect(()=>{if(je&&me==="INTERNAL"&&Ie&&ie&&B.data){const m=q.data?.find(F=>F.documentId===Ie);if(m){const{contentTypesNameFields:F,pathDefaultFields:Z}=B.data,D=Z[ie]?.reduce((Q,ue)=>Q||m?.[ue],void 0),x=(F[ie]??[]).concat(F.default??[]).reduce((Q,ue)=>Q||m?.[ue],void 0),M=[];D&&D!==Te&&M.push({name:"path",value:D}),x&&x!==ge&&M.push({name:"title",value:x}),setTimeout(()=>{M.forEach(Q=>{K(Q.name,Q.value)})},100)}}},[ge,Te,je,me,Ie,ie,B.data,q.data]),t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx($.Form,{method:"POST",initialValues:v,children:({values:m,onChange:F})=>{const Z=m.type==="INTERNAL"?m:{related:void 0,relatedType:void 0},D=Sa({currentPath:m.path,isExternal:m.type==="EXTERNAL",current:i,currentType:m.type,config:B.data,contentTypeItems:q.data,currentRelated:Z.related,currentRelatedType:Z.relatedType,isSingleSelected:L});return t.jsxs(t.Fragment,{children:[t.jsxs(a.Grid.Root,{gap:5,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:8,children:t.jsx(_.Field,{name:"type",label:g(r("popup.item.form.type.label","Internal link")),error:te("type"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.SingleSelect,{onChange:x=>ae("type",x,F),value:m.type,name:"type",disabled:!j,width:"100%",children:Fe.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})},"title"),t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(_.Field,{name:"menuAttached",label:g(r("popup.item.form.menuAttached.label","MenuAttached")),error:te("menuAttached"),hint:g(r("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:t.jsx(a.Toggle,{name:"menuAttached",checked:m.menuAttached,onChange:x=>ae(x,!m.menuAttached,F),value:m.menuAttached,onLabel:g(r("popup.item.form.menuAttached.value.yes","yes")),offLabel:g(r("popup.item.form.menuAttached.value.no","no")),disabled:!j||(B.data?.cascadeMenuAttached?!(i.isMenuAllowedLevel&&i.parentAttachedToMenu):!1),width:"100%"})})},"menuAttached")]}),t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:m.type==="INTERNAL"?8:12,children:t.jsx(_.Field,{name:"title",label:g(r("popup.item.form.title.label","Title")),error:te("title"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.TextInput,{type:"string",disabled:!j||m.autoSync&&m.type==="INTERNAL",name:"title",onChange:(x,M)=>ae(x,M,F),value:m.title})})},"title"),m.type==="INTERNAL"&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(_.Field,{name:"autoSync",label:g(r("popup.item.form.autoSync.label","Read fields from related")),error:te("autoSync"),children:t.jsx(a.Toggle,{name:"autoSync",checked:m.autoSync,onChange:x=>ae(x,!m.autoSync,F),onLabel:"Enabled",offLabel:"Disabled"})})},"autoSync")]}),t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(_.Field,{name:w,label:g(r(`popup.item.form.${w}.label`,"Path")),error:te(w,`popup.item.form.${w}.validation.type`),hint:[g(r(`popup.item.form.${w}.placeholder`,"e.g. Blog")),D?g(r("popup.item.form.type.external.description"),{value:D}):""].join(" "),children:t.jsx(a.TextInput,{disabled:!j,name:w,onChange:(x,M)=>ae(x,M,F),value:m[w],width:"100%"})})},"title")}),m.type==="INTERNAL"&&t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:m.relatedType&&!L?6:12,children:t.jsx(_.Field,{name:"relatedType",label:g(r("popup.item.form.relatedType.label","Related Type")),error:te("relatedType"),hint:!y&&I.isEmpty(Se)?g(r("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:t.jsx(a.SingleSelect,{name:"relatedType",onChange:x=>ae("relatedType",x,F),value:m.relatedType,disabled:!B.data?.contentTypes.length||!j,width:"100%",children:B.data?.contentTypes.map(x=>t.jsx(a.SingleSelectOption,{value:x.uid,children:x.contentTypeName},x.uid))})})}),m.relatedType&&!L&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(_.Field,{name:"related",label:g(r("popup.item.form.related.label","Related")),error:te("related"),hint:!y&&R?g(r("popup.item.form.related.empty","There are no more entities"),{contentTypeName:m.relatedType}):void 0,children:t.jsx(a.SingleSelect,{name:"related",onChange:x=>ae("related",x,F),value:m.related,options:ve,disabled:y||R||!j,width:"100%",children:ve.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})})]}),!I.isEmpty(B.data?.additionalFields)&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{col:12,lg:12,children:t.jsx(a.Divider,{width:"100%"})})}),t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[B.data?.additionalFields.map((x,M)=>{if(x!=="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(_.Field,{name:`additionalFields.${x.name}`,label:x.label,error:te(`additionalFields.${x.name}`),children:t.jsx(ha,{name:`additionalFields.${x.name}`,field:x,isLoading:y,onChange:F,onChangeEnhancer:ae,value:I.get(m?.additionalFields,x.name),disabled:!j})})},x.name)}),B.data?.additionalFields.map((x,M)=>{if(x==="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(_.Field,{name:"audience",label:g(r("popup.item.form.audience.label")),error:te("audience"),hint:!y&&I.isEmpty(U)?g(r("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:t.jsx(a.MultiSelect,{name:"audience",value:m.audience,onChange:Q=>ae("audience",Q,F),width:"100%",children:U.map(({value:Q,label:ue})=>t.jsx(a.MultiSelectOption,{value:Q,children:ue},Q))})})},"audience")})]}),t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsx(a.Grid.Item,{col:12,lg:12,children:t.jsx(a.Divider,{width:"100%"})})})]}),P&&P.length>1&&t.jsx(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:t.jsxs(a.Grid.Item,{alignItems:"flex-start",col:12,children:[t.jsx(a.Divider,{marginTop:5,marginBottom:5}),t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,lg:12,children:t.jsx(_.Field,{name:"i18n.locale",label:g(r("popup.item.form.i18n.locale.label","Copy details from")),children:t.jsx(a.SingleSelect,{name:"i18n.locale",onChange:u,value:T,disabled:y||!j,placeholder:g(r("popup.item.form.i18n.locale.placeholder","locale")),children:P.map(({key:x,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},x))})})}),j&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,lg:12,paddingTop:6,children:t.jsx(a.Box,{children:t.jsx(a.Button,{variant:"tertiary",onClick:W,disabled:y||!T,children:g(r("popup.item.form.i18n.locale.button"))})})})]})]},"title")}),t.jsx(a.Grid.Root,{gap:5,children:t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12},"title")})]})}})}),t.jsx(fa,{handleSubmit:m=>xe(m,v),handleCancel:d,submitDisabled:E,canUpdate:j})]})},Na=()=>"",Ra=({isNewItem:e,canUpdate:n})=>{const{formatMessage:i}=X.useIntl();let l="view";return n&&(l=e?"new":"edit"),t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:i(r(`popup.item.header.${l}`))})})},Aa=({availableLocale:e,isOpen:n,isLoading:i,currentItem:l={},onSubmit:d,onClose:s,locale:h,permissions:b,currentNavigation:N})=>{const{formatMessage:g}=X.useIntl(),y=L=>{d(L)},S=(L,C,T)=>`${Sn({relatedRef:C,type:C.isSingle?"INTERNAL":C.type,isCollection:T})?"":`[${g(r("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${L}`,j=!!l.viewId;return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:L=>{L||s({preventDefault(){},stopPropagation(){},target:{}})},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(Ra,{isNewItem:!j,canUpdate:b?.canUpdate}),t.jsx(Fa,{availableLocale:e,current:l,isLoading:i,onSubmit:y,onCancel:s,appendLabelPublicationStatus:S,locale:h,permissions:b,currentNavigation:N})]})})},Ge=0,Ea=({value:e,setValue:n,initialIndex:i=Ge})=>{const[l,d]=p.useState(e),[s,h]=p.useState(e),[b,N]=p.useState(i),[g,y]=p.useState(!!e),S=p.useRef(null),{formatMessage:j}=X.useIntl();p.useEffect(()=>{g&&setTimeout(()=>{S.current?.querySelector("input")?.focus()},0)},[g]),p.useEffect(()=>{b&&l===s&&n({value:l,index:b})},[b,l,s]),p.useEffect(()=>{l!==s&&(h(l),N(Ge),n({value:l,index:Ge}))},[l,s]);const L=p.useCallback(u=>{u.code.toLowerCase()==="enter"&&N(v=>v+1)},[]),C=p.useCallback(u=>{d(u.target.value)},[d]),T=p.useCallback(()=>{d(""),y(!1)},[d,y]);return g?t.jsxs("div",{ref:S,children:[t.jsx(a.Searchbar,{name:"searchbar",onClear:T,value:e,size:"S",onChange:C,clearLabel:"Clearing the search",placeholder:j(r("pages.main.search.placeholder","Type to start searching...")),onKeyDown:L,children:"Search for navigation items"}),t.jsx(a.Typography,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:j(r("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):t.jsx(a.IconButton,{children:t.jsx(G.Search,{}),onClick:()=>y(!g)})},La=new H.QueryClient,$a=()=>{const{formatMessage:e}=X.useIntl(),n=We(),[i,l]=p.useState(),[d,s]=p.useState(),[h,b]=p.useState(),[N,g]=p.useState(!1),[y,S]=p.useState(!1),[j,L]=p.useState(),C=p.useMemo(()=>({access:Ne.access||Ne.update,update:Ne.update}),[]),{isLoading:T,allowedActions:{canUpdate:u,canAccess:v}}=$.useRBAC(C),A=He(),V=ke(),oe=jt(),B=It([A,{isPending:T}]),J=Cn(),[{value:ne,index:fe},ye]=p.useState({value:"",index:0}),re=I.isEmpty(ne),ae=(ne||"").toLowerCase(),K=(R,W,m)=>{const F=R.reduce((Z,D)=>{const x=D.items?.length?K(D.items??[],W):[];return W(D)?[D,...x,...Z]:[...x,...Z]},[]);if(m!==void 0){const Z=m%F.length;return F.map((D,x)=>Z===x?{...D,isSearchActive:!0}:D)}return F},le=re?[]:K(d?.items.map(R=>({...R}))??[],R=>(R?.title||"").toLowerCase().includes(ae),ae?fe:void 0),de=p.useCallback((R,W={})=>{b(W),g(R)},[g]),xe=p.useCallback((R,W,m=!0,F="",Z=!0,D="0",x=0)=>{u&&(R.preventDefault(),R.stopPropagation(),de(!0,{viewParentId:W,isMenuAllowedLevel:m,levelPath:F,parentAttachedToMenu:Z,structureId:D,viewId:void 0,order:x+1}))},[de,u]),te=p.useMemo(()=>(n.data?[n.data.defaultLocale,...n.data.restLocale]:[]).filter(R=>R!==j),[n.data,j]),be=xn(),Te=yn(),{i18nCopyItemsModal:me,i18nCopySourceLocale:ge,setI18nCopyModalOpened:je,setI18nCopySourceLocale:ie}=vn(p.useCallback(R=>{const W=A.data?.find(({locale:m,documentId:F})=>m===R&&F===d?.documentId);W&&W.documentId&&d?.documentId&&J.mutate({source:W.locale,target:d.locale,documentId:W.documentId},{onSuccess(m){J.reset(),s({...m.data,items:m.data.items.map(Xe)}),be(),Te()}})},[d])),Ie=p.useCallback(()=>{ge&&je(!0)},[je,ge]),f=bt(()=>{l({documentId:d?.documentId,id:d?.id}),s(void 0)}),z=()=>{d&&f.mutate(d)},w=R=>{R.preventDefault(),R.stopPropagation(),R.target.tagName!=="HTML"&&de(!1)},E=({item:R,newOrder:W})=>{k({...R,order:W})},q=R=>{k(we({...R,removed:!0},!0))},O=R=>{k(we({...R,removed:!1},!0))},P=R=>{k(we({...R,collapsed:!R.collapsed,updated:!0,isSearchActive:!1},!0))},U=({item:R,levelPath:W="",parentAttachedToMenu:m=!0})=>{de(!0,{...R,levelPath:W,parentAttachedToMenu:m})},k=R=>{if(d&&V.data){const W=Ae(R,d?.items??[],V.data);s({...d,items:W}),S(!0),g(!1)}},ce=re?d?.items??[]:le,Fe=p.useCallback(()=>{d&&s({...d,items:d.items.map(R=>Re(R,!1))})},[s,d,Re]),ve=p.useCallback(()=>{d&&s({...d,items:d.items.map(R=>Re(R,!0))})},[s,d,Re]),Se=[{onClick:Fe,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:ve,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return u&&Se.push({onClick:xe,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:t.jsx(G.Plus,{}),margin:"8px"}),p.useEffect(()=>{if(!d&&A.data?.[0]){let R;i?.documentId&&(R=A.data.find(W=>W.documentId===i.documentId&&W.id===i.id)),l(void 0),s(R||I.first(A.data))}},[A.data]),p.useEffect(()=>{!j&&n.data?.defaultLocale&&L(n.data?.defaultLocale)},[A.data]),p.useEffect(()=>{if(d&&j!==d.locale){l(void 0);const R=A.data?.find(W=>W.documentId===d.documentId&&W.locale===j);R&&R.documentId===d.documentId&&R.locale!==d.locale&&s(R)}},[d,j,A.data]),p.useEffect(()=>{!j&&n.data?.defaultLocale&&L(n.data.defaultLocale)},[A.data]),!A.data||!n.data||B?t.jsx($.Page.Loading,{}):t.jsxs($.Layouts.Root,{children:[t.jsx($.Page.Title,{children:e(r("header.title","UI Navigation"))}),t.jsxs($.Page.Main,{children:[t.jsx(Hn,{availableNavigations:A.data,activeNavigation:d,handleCachePurge:()=>oe.mutate(void 0),handleChangeSelection:s,handleLocalizationSelection:L,handleSave:z,locale:n.data,structureHasChanged:y,permissions:{canUpdate:u},currentLocale:j}),t.jsxs($.Layouts.Content,{children:[t.jsx(Xn,{startActions:t.jsx(Ea,{value:ne,setValue:ye}),endActions:Se.map(({tradId:R,margin:W,...m},F)=>t.jsx(a.Box,{marginLeft:W,children:t.jsxs(a.Button,{...m,children:[" ",e(r(R))," "]})},F))}),d?.items.length?t.jsx(vt,{items:ce,onItemLevelAdd:xe,onItemRemove:q,onItemEdit:U,onItemRestore:O,onItemReOrder:E,onItemToggleCollapse:P,displayFlat:!re,isParentAttachedToMenu:!0,permissions:{canUpdate:u,canAccess:v},structurePrefix:"",locale:j??""}):t.jsxs(a.Flex,{direction:"column",minHeight:"400px",justifyContent:"center",children:[t.jsx(a.Box,{padding:4,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("empty.description"))})}),u&&t.jsx(a.Button,{variant:"secondary",startIcon:t.jsx(G.ListPlus,{}),label:e(r("empty.cta")),onClick:xe,children:e(r("empty.cta"))}),u&&te.length?t.jsxs(a.Flex,{direction:"column",justifyContent:"center",children:[t.jsx(a.Box,{paddingTop:3,paddingBottom:3,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("view.i18n.fill.cta.header"))})}),t.jsxs(a.Flex,{direction:"row",justifyContent:"center",alignItems:"center",children:[t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.SingleSelect,{onChange:ie,value:ge,size:"S",children:te.map(R=>t.jsx(a.SingleSelectOption,{value:R,children:e(r("view.i18n.fill.option"),{locale:R})},R))})}),t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.Button,{variant:"tertiary",onClick:Ie,disabled:!ge,size:"S",children:e(r("view.i18n.fill.cta.button"))})})]})]}):null]}),N&&j&&d&&t.jsx(Aa,{availableLocale:te,currentItem:h,onSubmit:k,onClose:w,locale:j,permissions:{canUpdate:u},isOpen:N,isLoading:T,currentNavigation:d}),u&&me]})]})]})};function ka(){const e=_.usePluginTheme();return t.jsx(H.QueryClientProvider,{client:La,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx($a,{})})})}const Pa=()=>t.jsx(_e.DndProvider,{backend:Ft.HTML5Backend,children:t.jsxs(Be.Routes,{children:[t.jsx(Be.Route,{path:"/",index:!0,Component:ka}),t.jsx(Be.Route,{path:"/*",Component:$.Page.Error})]})}),za=Ce.default(a.Alert)`
155
155
  [role='status'] {
156
156
  flex-direction: column;
157
157
  }
158
- `,za=({onChange:e,initialValue:n,...i})=>{const[l,d]=p.useState(I.isArray(n)?n.reduce((h,b)=>`${h}${b}; `,""):""),s=h=>{const b=h?.target.value??"",N=b.split(";").map(g=>g.trim()).filter(g=>!!g.length);d(b??""),e(N)};return t.jsx(a.TextInput,{...i,onChange:s,value:l})},Ba=["string","boolean","select","media"],se="pages.settings.form.customFields.popup.",Da=e=>e.map((n,i)=>({key:`${n}-${i}`,metadatas:{intlLabel:{id:n,defaultMessage:n},hidden:!1,disabled:!1},value:n,label:n})),qa=({isEditForm:e,customField:n,onSubmit:i,onClose:l})=>{const d=Da(Ba),{formatMessage:s}=H.useIntl(),[h,b]=p.useState({}),[N,g]=p.useState(),{type:y}=h;p.useEffect(()=>{n&&b({...n})},[n]);const w=(T,u,v)=>{if(v){let A=T,_=u;if(I.isObject(T)){const{name:oe,value:z}=T.target;A=oe,_=I.isNil(_)?z:_}return I.isString(A)&&j(A,_),v(T,_)}},j=(T,u)=>{b(I.set({...h},T,u))},L=T=>{if(I.get(N,T))return s(r(T))},C=(T,u)=>{const{success:v,data:A,error:_}=gt.safeParse(u);v?i(u):_&&g(_.issues.reduce((oe,z)=>({...oe,[z.path.join(".")]:z.message}),{}))};return t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx($.Form,{method:"POST",initialValues:h,children:({values:T,onChange:u})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"name",label:s(r(`${se}name.label`)),hint:s(r(`${se}name.description`)),error:L("name"),children:t.jsx(a.TextInput,{name:"name",value:T.name,onChange:(v,A)=>w(v,A,u),placeholder:s(r(`${se}name.placeholder`)),type:"string",disabled:e,width:"100%"})})},"name"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"label",label:s(r(`${se}label.label`)),hint:s(r(`${se}label.description`)),error:L("label"),children:t.jsx(a.TextInput,{name:"label",value:T.label,onChange:(v,A)=>w(v,A,u),placeholder:s(r(`${se}label.placeholder`)),type:"string",width:"100%"})})},"label"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"type",label:s(r(`${se}type.label`)),hint:s(r(`${se}type.description`)),children:t.jsx(a.SingleSelect,{name:"type",value:T.type,onChange:v=>w("type",v,u),disabled:e,width:"100%",children:d.map(({key:v,label:A,value:_})=>t.jsx(a.SingleSelectOption,{value:_,children:A},v))})})},"type"),y==="select"&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"multi",label:s(r(`${se}multi.label`)),hint:s(r(`${se}multi.description`)),error:L("multi"),children:t.jsx(a.Toggle,{name:"multi",checked:T.multi,onChange:v=>w(v,!T.multi,u),onLabel:"true",offLabel:"false",width:"100%"})})},"multi"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"options",label:s(r(`${se}options.label`)),hint:s(r(`${se}options.description`)),error:L("options"),children:t.jsx(za,{name:"options",onChange:v=>w("options",v,u),initialValue:T.options})})},"options")]}),t.jsx(a.Grid.Item,{col:12,children:t.jsx(V.Field,{name:"required",label:s(r(`${se}required.label`)),hint:s(r(`${se}required.description`)),error:L("required"),children:t.jsx(a.Toggle,{name:"required",placeholder:s(r(`${se}required.placeholder`)),checked:T.required,onChange:v=>w(v,!T.required,u),onLabel:"true",offLabel:"false",width:"100%"})})},"required")]})})}),t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:l,variant:"tertiary",children:s(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:T=>C(T,h),children:s(r("popup.item.form.button.save"))})]})]})},Oa=({isOpen:e,onClose:n,onSubmit:i,data:l})=>{const d=!!l,{formatMessage:s}=H.useIntl();return t.jsx(a.Modal.Root,{onOpenChange:h=>{h||n()},open:e,labelledBy:"custom-field-modal",children:t.jsxs(a.Modal.Content,{children:[t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:s(r(`pages.settings.form.customFields.popup.header.${d?"edit":"new"}`))})}),t.jsx(qa,{isEditForm:d,customField:I.pick(l,"name","label","type","required","options","multi"),onSubmit:i,onClose:n})]})})},lt=t.jsx(G.PriceTag,{}),Ga=t.jsx(G.Plus,{}),pe="pages.settings.form.customFields.table.",_a=({data:e=[],onOpenModal:n,onRemoveCustomField:i,onToggleCustomField:l})=>{const[d,s]=p.useState(!1),[h,b]=p.useState(null),{toggleNotification:N}=$.useNotification(),g=p.useMemo(()=>I.sortBy(e,"name"),[e]),{formatMessage:y}=H.useIntl(),w=p.useCallback(C=>{b(C),s(!0)},[b,s]),j=p.useCallback(()=>{b(null),s(!1)},[b,s]),L=p.useCallback(()=>{h===null?N({type:"warning",message:y(r(`${pe}confirmation.error`))}):i(h),j()},[j,h,Ve,i,N]);return t.jsxs(t.Fragment,{children:[t.jsx(Ue,{isVisible:d,header:y(r(`${pe}confirmation.header`)),children:y(r(`${pe}confirmation.message`)),labelConfirm:y(r(`${pe}confirmation.confirm`)),iconConfirm:lt,mainIcon:lt,onConfirm:L,onCancel:j}),t.jsxs(a.Table,{width:"100%",colCount:4,rowCount:e.length+1,footer:t.jsx(a.TFooter,{onClick:C=>{C.preventDefault(),n(null)},icon:Ga,children:y(r(`${pe}footer`))}),children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{width:"20%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.name`))})}),t.jsx(a.Th,{width:"60%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.label`))})}),t.jsx(a.Th,{width:"15%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.type`))})}),t.jsx(a.Th,{width:"5%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.required`))})}),t.jsx(a.Th,{children:t.jsx(a.VisuallyHidden,{})})]})}),t.jsx(a.Tbody,{children:g.map(C=>typeof C!="string"?t.jsxs(a.Tr,{children:[t.jsx(a.Td,{width:"20%",children:t.jsx(a.Typography,{fontWeight:"semiBold",textColor:"neutral800",children:C.name})}),t.jsx(a.Td,{width:"60%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.label})}),t.jsx(a.Td,{width:"15%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.type})}),t.jsx(a.Td,{width:"5%",children:t.jsx(a.Tooltip,{description:y(r(`${pe}${C.required?"required":"notRequired"}`)),children:t.jsx(a.Typography,{textColor:"neutral800",children:C.required?t.jsx(G.Check,{}):t.jsx(G.Minus,{})})})}),t.jsx(a.Td,{children:t.jsx(a.Flex,{width:"100%",justifyContent:"flex-end",alignItems:"center",children:t.jsxs(a.IconButtonGroup,{children:[t.jsx(a.IconButton,{onClick:()=>l(C),label:y(r(`${pe}${C.enabled?"disable":"enable"}`)),variant:C.enabled?"success-light":"tertiary",children:C.enabled?t.jsx(G.Eye,{}):t.jsx(G.EyeStriked,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>n(C),label:y(r(`${pe}edit`)),children:t.jsx(G.Pencil,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>w(C),label:y(r(`${pe}remove`)),children:t.jsx(G.Trash,{}),style:{minWidth:50}})]})})})]},C.name):null)})]})]})},Va=/^(?<type>[a-z0-9-]+)\:{2}(?<api>[a-z0-9-]+)\.{1}(?<contentType>[a-z0-9-]+)$/i,Qa=(e="",n={})=>{const{allowedContentTypes:i=[],restrictedContentTypes:l=[],contentTypes:d=[],preferCustomContentTypes:s=!1}=n,b=(s?["api::",...d]:i).filter(g=>e.includes(g)||e===g).length>0,N=l.filter(g=>e.includes(g)||e===g).length===0;return!!e&&b&&N},Ka=(e="")=>{const n=s=>s.split("-").map(h=>I.capitalize(h)).join(""),[i,l,d]=Ua(e);return i==="api"?n(d):`${n(l)}${n(d)}`},Ua=(e="")=>e.split(Va).filter(n=>n&&n.length>0),dt="SERVER OFFLINE",wt=(e,n)=>new Promise(i=>{fetch(`${window.strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":"false"}}).then(l=>{if(l.status>=400)throw new Error;if(!n)throw new Error(dt);i(e)}).catch(l=>{setTimeout(()=>wt(e,l.message!==dt).then(i),100)})}),Wa=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readSettingsConfigIndex(),queryFn(){return n.readSettingsConfig()},staleTime:1e3*60*5})},Ha=()=>{const e=$.getFetchClient(),n=ee(e),i=W.useQuery({queryKey:n.healthCheckIndex(),queryFn:()=>n.healthCheck(),retry:!0,retryDelay:1e3*5,enabled:!1});return W.useMutation({mutationFn:()=>n.restart().then(()=>i.refetch())})},Xa=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn:()=>n.restoreConfig()})},Za=()=>{const e=$.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1/0})},Ja=()=>{const e=$.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return n.updateConfig({...i,contentTypesNameFields:Object.fromEntries(i.contentTypesNameFields.map(({key:l,fields:d})=>[l,d])),contentTypesPopulate:Object.fromEntries(i.contentTypesPopulate.map(({key:l,fields:d})=>[l,d])),pathDefaultFields:Object.fromEntries(i.pathDefaultFields.map(({key:l,fields:d})=>[l,d])),additionalFields:i.audienceFieldChecked?[...i.additionalFields,"audience"]:i.additionalFields,gql:{navigationItemRelated:i.contentTypes.map(l=>Ka(l))}})}})},Ya=Dt.omit({contentTypesNameFields:!0}).extend({audienceFieldChecked:c.z.boolean(),contentTypesNameFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),contentTypesPopulate:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),pathDefaultFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array()}),$e={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6},ct=new W.QueryClient,ei=()=>{const e=Wa(),n=Za(),i=Ja(),l=Xa(),d=Ha(),{formatMessage:s}=H.useIntl(),[h,b]=p.useState({required:!1}),[N,g]=p.useState(!1),y=$.useAuth("SettingsPage",f=>f.permissions),w=p.useMemo(()=>!!y.find(({action:f})=>f===Ae.settings[0].action),[y]),j=p.useMemo(()=>!!y.find(({action:f})=>f===Ae.access[0].action),[y]),L=e.isPending||n.isPending||i.isPending||d.isPending||l.isPending,[C,T]=p.useState({}),[u,v]=p.useState(),[A,_]=p.useState(!1),[oe,z]=p.useState(!1),[J,ne]=p.useState(null),{contentTypesNameFields:fe,contentTypes:ye,additionalFields:re,preferCustomContentTypes:ae}=C,K=(f,B,S)=>{if(S){let E=f,q=B;if(I.isObject(f)){const{name:O,value:k}=f.target;E=O,q=I.isNil(q)?k:q}return I.isString(E)&&le(E,q),S(f,q)}},le=(f,B)=>{T(S=>I.set({...S},f,B))},de=f=>{if(I.get(u,f))return s(r(f))},xe=f=>{ne(f),_(!0)},te=f=>{const B=re.filter(S=>typeof S!="string"?S.name!==f.name:!0);le("additionalFields",B),ne(null),_(!1)},be=f=>{const B={...f,enabled:!f.enabled},S=re.map(E=>typeof E!="string"&&f.name===E.name?B:E);le("additionalFields",S)},Te=f=>{const S=!!re.find(E=>typeof E!="string"?E.name===f.name:!1)?re.map(E=>typeof E!="string"&&f.name===E.name?f:E):[...re,f];le("additionalFields",S),ne(null),_(!1)},me=L?[]:I.sortBy(Object.values(n.data??[]).filter(({uid:f})=>Qa(f,{allowedContentTypes:e.data?.allowedContentTypes,restrictedContentTypes:e.data?.restrictedContentTypes,preferCustomContentTypes:ae,contentTypes:ye})).map(f=>{const B=n.data?.find(S=>S.uid===f.uid);if(B){const{isDisplayed:S,kind:E}=B;return{...f,available:S,isSingle:E==="singleType"}}return f}),f=>f.info.displayName),ge=(f,B)=>{const{success:S,data:E,error:q}=Ya.safeParse(B);S?i.mutate(E,{onSuccess(){b({required:!0}),i.reset()}}):q&&(v(q.issues.reduce((O,k)=>({...O,[k.path.join(".")]:k.message}),{})),console.warn("Invalid form data",q))},je=async f=>{z(!1),f&&(l.mutate(),b({required:!0}))},ie=async()=>{d.mutate(void 0,{onSuccess(){g(!0),wt(!0).then(f=>{f&&window.location.reload()})},onError(){b({required:!1})}})},Ie=()=>b({required:!1});return p.useEffect(()=>{e.data&&T({...e.data,additionalFields:e.data.additionalFields.filter(f=>typeof f!="string"),audienceFieldChecked:e.data.additionalFields.includes("audience"),contentTypesNameFields:Object.entries(e.data.contentTypesNameFields).map(([f,B])=>({key:f,fields:B})),contentTypesPopulate:Object.entries(e.data.contentTypesPopulate).map(([f,B])=>({key:f,fields:B})),pathDefaultFields:Object.entries(e.data.pathDefaultFields).map(([f,B])=>({key:f,fields:B}))})},[e.data]),w?L||N?t.jsx($.Page.Loading,{}):t.jsxs($.Layouts.Root,{children:[t.jsxs($.Page.Main,{children:[t.jsx($.Page.Title,{children:s(r("pages.settings.header.title"))}),t.jsx($.Layouts.Header,{title:s(r("pages.settings.header.title")),subtitle:s(r("pages.settings.header.description")),primaryAction:j?t.jsx(a.Button,{startIcon:t.jsx(G.Check,{}),disabled:h.required,onClick:f=>ge(f,C),children:s(r("pages.settings.actions.submit"))}):null}),t.jsx($.Layouts.Content,{children:t.jsx($.Form,{method:"POST",initialValues:C,children:({values:f,onChange:B})=>t.jsxs(a.Flex,{direction:"column",gap:4,children:[h.required&&t.jsx(a.Box,{...$e,width:"100%",children:t.jsx(Ma,{closeLabel:s(r("pages.settings.actions.restart.alert.cancel")),title:s(r("pages.settings.actions.restart.alert.title")),action:t.jsx(a.Box,{children:t.jsx(a.Button,{onClick:ie,startIcon:t.jsx(G.Play,{}),children:s(r("pages.settings.actions.restart.label"))})}),onClose:Ie,children:t.jsxs(t.Fragment,{children:[t.jsx(a.Box,{paddingBottom:1,children:s(r("pages.settings.actions.restart.alert.description"))}),h.reasons?.map((S,E)=>t.jsx(a.Box,{paddingBottom:1,children:s(r(`pages.settings.actions.restart.alert.reason.${S}`))},E))]})})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.general.title"))}),t.jsx(a.Grid.Root,{gap:4,width:"100%",children:t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(V.Field,{name:"preferCustomContentTypes",label:s(r("pages.settings.form.preferCustomContentTypes.label")),hint:s(r("pages.settings.form.preferCustomContentTypes.hint")),children:t.jsx(a.Toggle,{name:"preferCustomContentTypes",checked:f.preferCustomContentTypes,onChange:S=>K(S,!f.preferCustomContentTypes,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),t.jsx(a.Grid.Item,{col:8,s:12,xs:12,children:t.jsx(V.Field,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),hint:s(r("pages.settings.form.contentTypes.hint")),children:t.jsx(a.MultiSelect,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),"aria-label":s(r("pages.settings.form.contentTypes.label")),placeholder:s(r("pages.settings.form.contentTypes.placeholder")),value:f.contentTypes,onChange:S=>{K("contentTypes",S,B);const{contentTypesNameFields:E=[],contentTypesPopulate:q=[],pathDefaultFields:O=[]}=f,k=S.filter(P=>!E.find(ce=>ce.key===P))??[],X=E.filter(P=>!S.includes(P.key)||P.key==="default").map(({key:P})=>P)??[];le("contentTypesNameFields",[...E.filter(({key:P})=>!X.includes(P)||P==="default")??[],...k.map(P=>({key:P,fields:[]}))]),le("contentTypesPopulate",[...q.filter(({key:P})=>!X.includes(P)||P==="default")??[],...k.map(P=>({key:P,fields:[]}))]),le("pathDefaultFields",[...O.filter(({key:P})=>!X.includes(P)||P==="default")??[],...k.map(P=>({key:P,fields:[]}))])},disabled:h.required,error:de("contentTypes"),withTags:!0,width:"100%",children:me.map(S=>t.jsx(a.MultiSelectOption,{value:S.uid,children:S.info.displayName},S.uid))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:ye?.length?t.jsx(a.Accordion.Root,{style:{width:"100%"},children:fe.map((S,E)=>{const q=n.data?.find(({uid:k})=>k===S.key),O=Object.keys(q?.attributes??{}).sort();return q?t.jsxs(a.Accordion.Item,{value:S.key,children:[t.jsx(a.Accordion.Header,{children:t.jsx(a.Accordion.Trigger,{children:q?.info.displayName??s(r("pages.settings.form.nameField.default"))})}),t.jsx(a.Accordion.Content,{children:t.jsxs(a.Grid.Root,{gap:4,padding:2,children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(V.Field,{name:`contentTypesNameFields[${E}]`,label:s(r("pages.settings.form.nameField.label")),hint:s(r(`pages.settings.form.nameField.${I.isEmpty(I.get(f,`contentTypesNameFields[${E}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`contentTypesNameFields[${E}]`,placeholder:s(r("pages.settings.form.nameField.placeholder")),value:I.get(f,`contentTypesNameFields[${E}].fields`),onChange:k=>{const X=I.get(f,"contentTypesNameFields",[]).map((P,ce)=>ce===E?{...P,fields:k}:P);return K("contentTypesNameFields",X,B)},disabled:h.required,error:de(`contentTypesNameFields[${E}]`),withTags:!0,children:O.map(k=>t.jsx(a.MultiSelectOption,{value:k,children:k},k))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(V.Field,{name:`contentTypesPopulate[${E-1}]`,label:s(r("pages.settings.form.populate.label")),hint:s(r(`pages.settings.form.populate.${I.isEmpty(I.get(f,`contentTypesPopulate[${E-1}]fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{width:"100%",name:`contentTypesPopulate[${E-1}]`,placeholder:s(r("pages.settings.form.populate.placeholder")),value:I.get(f,`contentTypesPopulate[${E-1}].fields`,[]),onChange:k=>{const X=I.get(f,"contentTypesPopulate",[]).map((P,ce)=>ce===E-1?{...P,fields:k}:P);return K("contentTypesPopulate",X,B)},disabled:h.required,error:de(`contentTypesPopulate[${E-1}]`),withTags:!0,children:O.map(k=>t.jsx(a.MultiSelectOption,{value:k,children:k},k))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(V.Field,{name:`pathDefaultFields[${E-1}]`,label:s(r("pages.settings.form.pathDefaultFields.label")),hint:s(r(`pages.settings.form.pathDefaultFields.${I.isEmpty(I.get(f,`pathDefaultFields[${E-1}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`pathDefaultFields[${E-1}]`,width:"100%",placeholder:s(r("pages.settings.form.pathDefaultFields.placeholder")),value:I.get(f,`pathDefaultFields[${E-1}].fields`,[]),onChange:k=>{const X=I.get(f,"pathDefaultFields",[]).map((P,ce)=>ce===E-1?{...P,fields:k}:P);return K("pathDefaultFields",X,B)},disabled:h.required,error:de(`pathDefaultFields[${E-1}]`),withTags:!0,children:O.map(k=>t.jsx(a.MultiSelectOption,{value:k,children:k},k))})})})]})})]},S.key):null})}):null})]})})})]})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.additional.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(a.Box,{width:"100%",children:t.jsx(V.Field,{name:"allowedLevels",label:s(r("pages.settings.form.allowedLevels.label")),hint:s(r("pages.settings.form.allowedLevels.hint")),children:t.jsx(a.NumberInput,{width:"100%",name:"allowedLevels",type:"number",placeholder:s(r("pages.settings.form.allowedLevels.placeholder")),onChange:(S,E)=>{if(I.isObject(S)){const q=parseInt(S.target.value);return K(S.target.name,I.isNaN(q)?0:q,B)}return K(S,E,B)},value:f.allowedLevels,disabled:h.required})})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(V.Field,{name:"cascadeMenuAttached",label:s(r("pages.settings.form.cascadeMenuAttached.label")),hint:s(r("pages.settings.form.cascadeMenuAttached.hint")),children:t.jsx(a.Toggle,{width:"100%",name:"cascadeMenuAttached",checked:f.cascadeMenuAttached,onChange:S=>K(S,!f.cascadeMenuAttached,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(V.Field,{name:"audienceFieldChecked",label:s(r("pages.settings.form.audience.label")),hint:s(r("pages.settings.form.audience.hint")),children:t.jsx(a.Toggle,{name:"audienceFieldChecked",checked:f.audienceFieldChecked,onChange:S=>K(S,!f.audienceFieldChecked,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),e.data?.isCachePluginEnabled&&t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(V.Field,{name:"isCacheEnabled",label:s(r("pages.settings.form.cache.label")),hint:s(r("pages.settings.form.cache.hint")),children:t.jsx(a.Toggle,{name:"isCacheEnabled",checked:f.isCacheEnabled,onChange:S=>K(S,!f.isCacheEnabled,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})})]})]})}),t.jsxs(a.Box,{...$e,width:"100%",children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.customFields.title"))}),t.jsx(a.Box,{padding:1}),t.jsx(_a,{data:re,onOpenModal:xe,onRemoveCustomField:te,onToggleCustomField:be})]}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.restoring.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(a.Typography,{children:s(r("pages.settings.actions.restore.description"))})}),t.jsxs(a.Grid.Item,{col:12,s:12,xs:12,children:[j?t.jsx(a.Button,{variant:"danger-light",startIcon:t.jsx(G.Check,{}),onClick:()=>z(!0),children:s(r("pages.settings.actions.restore.label"))}):null,t.jsx(Ue,{isVisible:oe,header:s(r("pages.settings.actions.restore.confirmation.header")),labelConfirm:s(r("pages.settings.actions.restore.confirmation.confirm")),iconConfirm:t.jsx(G.Typhoon,{}),onConfirm:()=>je(!0),onCancel:()=>je(!1),children:s(r("pages.settings.actions.restore.confirmation.description"))})]})]})]})})]})})})]}),A&&t.jsx(Oa,{onClose:()=>_(!1),onSubmit:Te,isOpen:A,data:J})]}):t.jsx($.Page.NoPermissions,{})};function ti(){ct.invalidateQueries();const e=V.usePluginTheme();return t.jsx(W.QueryClientProvider,{client:ct,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(ei,{})})})}const ni="navigation",ut="Navigation",ai={register(e){e.createSettingSection({id:he,intlLabel:{id:`${he}.plugin.section.name`,defaultMessage:`${ut} plugin`}},[{intlLabel:{id:`${he}.plugin.section.item`,defaultMessage:"Configuration"},id:"navigation",to:he,Component(){return ti},permissions:Ae.settings}]),e.addMenuLink({to:`plugins/${he}`,icon:kt,intlLabel:{id:`${he}.plugin.name`,defaultMessage:ut},Component(){return Pa},permissions:Ae.access,position:1}),e.registerPlugin({id:he,initializer:At,isReady:!1,name:ni})},registerTrads:async function({locales:e=[]}){return Promise.all(e.map(async n=>n in tt?tt[n]().then(({default:l})=>({data:V.prefixPluginTranslations(V.flattenObject(l),he),locale:n})):{data:V.prefixPluginTranslations(V.flattenObject({}),he),locale:n}))}};module.exports=ai;
158
+ `,Ma=({onChange:e,initialValue:n,...i})=>{const[l,d]=p.useState(I.isArray(n)?n.reduce((h,b)=>`${h}${b}; `,""):""),s=h=>{const b=h?.target.value??"",N=b.split(";").map(g=>g.trim()).filter(g=>!!g.length);d(b??""),e(N)};return t.jsx(a.TextInput,{...i,onChange:s,value:l})},Ba=["string","boolean","select","media"],se="pages.settings.form.customFields.popup.",Da=e=>e.map((n,i)=>({key:`${n}-${i}`,metadatas:{intlLabel:{id:n,defaultMessage:n},hidden:!1,disabled:!1},value:n,label:n})),qa=({isEditForm:e,customField:n,onSubmit:i,onClose:l})=>{const d=Da(Ba),{formatMessage:s}=X.useIntl(),[h,b]=p.useState({}),[N,g]=p.useState(),{type:y}=h;p.useEffect(()=>{n&&b({...n})},[n]);const S=(T,u,v)=>{if(v){let A=T,V=u;if(I.isObject(T)){const{name:oe,value:B}=T.target;A=oe,V=I.isNil(V)?B:V}return I.isString(A)&&j(A,V),v(T,V)}},j=(T,u)=>{b(I.set({...h},T,u))},L=T=>{if(I.get(N,T))return s(r(T))},C=(T,u)=>{const{success:v,data:A,error:V}=gt.safeParse(u);v?i(u):V&&g(V.issues.reduce((oe,B)=>({...oe,[B.path.join(".")]:B.message}),{}))};return t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx($.Form,{method:"POST",initialValues:h,children:({values:T,onChange:u})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"name",label:s(r(`${se}name.label`)),hint:s(r(`${se}name.description`)),error:L("name"),children:t.jsx(a.TextInput,{name:"name",value:T.name,onChange:(v,A)=>S(v,A,u),placeholder:s(r(`${se}name.placeholder`)),type:"string",disabled:e,width:"100%"})})},"name"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"label",label:s(r(`${se}label.label`)),hint:s(r(`${se}label.description`)),error:L("label"),children:t.jsx(a.TextInput,{name:"label",value:T.label,onChange:(v,A)=>S(v,A,u),placeholder:s(r(`${se}label.placeholder`)),type:"string",width:"100%"})})},"label"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"type",label:s(r(`${se}type.label`)),hint:s(r(`${se}type.description`)),children:t.jsx(a.SingleSelect,{name:"type",value:T.type,onChange:v=>S("type",v,u),disabled:e,width:"100%",children:d.map(({key:v,label:A,value:V})=>t.jsx(a.SingleSelectOption,{value:V,children:A},v))})})},"type"),y==="select"&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"multi",label:s(r(`${se}multi.label`)),hint:s(r(`${se}multi.description`)),error:L("multi"),children:t.jsx(a.Toggle,{name:"multi",checked:T.multi,onChange:v=>S(v,!T.multi,u),onLabel:"true",offLabel:"false",width:"100%"})})},"multi"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"options",label:s(r(`${se}options.label`)),hint:s(r(`${se}options.description`)),error:L("options"),children:t.jsx(Ma,{name:"options",onChange:v=>S("options",v,u),initialValue:T.options})})},"options")]}),t.jsx(a.Grid.Item,{col:12,children:t.jsx(_.Field,{name:"required",label:s(r(`${se}required.label`)),hint:s(r(`${se}required.description`)),error:L("required"),children:t.jsx(a.Toggle,{name:"required",placeholder:s(r(`${se}required.placeholder`)),checked:T.required,onChange:v=>S(v,!T.required,u),onLabel:"true",offLabel:"false",width:"100%"})})},"required")]})})}),t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:l,variant:"tertiary",children:s(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:T=>C(T,h),children:s(r("popup.item.form.button.save"))})]})]})},Oa=({isOpen:e,onClose:n,onSubmit:i,data:l})=>{const d=!!l,{formatMessage:s}=X.useIntl();return t.jsx(a.Modal.Root,{onOpenChange:h=>{h||n()},open:e,labelledBy:"custom-field-modal",children:t.jsxs(a.Modal.Content,{children:[t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:s(r(`pages.settings.form.customFields.popup.header.${d?"edit":"new"}`))})}),t.jsx(qa,{isEditForm:d,customField:I.pick(l,"name","label","type","required","options","multi"),onSubmit:i,onClose:n})]})})},lt=t.jsx(G.PriceTag,{}),Ga=t.jsx(G.Plus,{}),pe="pages.settings.form.customFields.table.",_a=({data:e=[],onOpenModal:n,onRemoveCustomField:i,onToggleCustomField:l})=>{const[d,s]=p.useState(!1),[h,b]=p.useState(null),{toggleNotification:N}=$.useNotification(),g=p.useMemo(()=>I.sortBy(e,"name"),[e]),{formatMessage:y}=X.useIntl(),S=p.useCallback(C=>{b(C),s(!0)},[b,s]),j=p.useCallback(()=>{b(null),s(!1)},[b,s]),L=p.useCallback(()=>{h===null?N({type:"warning",message:y(r(`${pe}confirmation.error`))}):i(h),j()},[j,h,Ve,i,N]);return t.jsxs(t.Fragment,{children:[t.jsx(Ue,{isVisible:d,header:y(r(`${pe}confirmation.header`)),children:y(r(`${pe}confirmation.message`)),labelConfirm:y(r(`${pe}confirmation.confirm`)),iconConfirm:lt,mainIcon:lt,onConfirm:L,onCancel:j}),t.jsxs(a.Table,{width:"100%",colCount:4,rowCount:e.length+1,footer:t.jsx(a.TFooter,{onClick:C=>{C.preventDefault(),n(null)},icon:Ga,children:y(r(`${pe}footer`))}),children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{width:"20%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.name`))})}),t.jsx(a.Th,{width:"60%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.label`))})}),t.jsx(a.Th,{width:"15%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.type`))})}),t.jsx(a.Th,{width:"5%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.required`))})}),t.jsx(a.Th,{children:t.jsx(a.VisuallyHidden,{})})]})}),t.jsx(a.Tbody,{children:g.map(C=>typeof C!="string"?t.jsxs(a.Tr,{children:[t.jsx(a.Td,{width:"20%",children:t.jsx(a.Typography,{fontWeight:"semiBold",textColor:"neutral800",children:C.name})}),t.jsx(a.Td,{width:"60%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.label})}),t.jsx(a.Td,{width:"15%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.type})}),t.jsx(a.Td,{width:"5%",children:t.jsx(a.Tooltip,{description:y(r(`${pe}${C.required?"required":"notRequired"}`)),children:t.jsx(a.Typography,{textColor:"neutral800",children:C.required?t.jsx(G.Check,{}):t.jsx(G.Minus,{})})})}),t.jsx(a.Td,{children:t.jsx(a.Flex,{width:"100%",justifyContent:"flex-end",alignItems:"center",children:t.jsxs(a.IconButtonGroup,{children:[t.jsx(a.IconButton,{onClick:()=>l(C),label:y(r(`${pe}${C.enabled?"disable":"enable"}`)),variant:C.enabled?"success-light":"tertiary",children:C.enabled?t.jsx(G.Eye,{}):t.jsx(G.EyeStriked,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>n(C),label:y(r(`${pe}edit`)),children:t.jsx(G.Pencil,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>S(C),label:y(r(`${pe}remove`)),children:t.jsx(G.Trash,{}),style:{minWidth:50}})]})})})]},C.name):null)})]})]})},Va=/^(?<type>[a-z0-9-]+)\:{2}(?<api>[a-z0-9-]+)\.{1}(?<contentType>[a-z0-9-]+)$/i,Qa=(e="",n={})=>{const{allowedContentTypes:i=[],restrictedContentTypes:l=[],contentTypes:d=[],preferCustomContentTypes:s=!1}=n,b=(s?["api::",...d]:i).filter(g=>e.includes(g)||e===g).length>0,N=l.filter(g=>e.includes(g)||e===g).length===0;return!!e&&b&&N},Ka=(e="")=>{const n=s=>s.split("-").map(h=>I.capitalize(h)).join(""),[i,l,d]=Ua(e);return i==="api"?n(d):`${n(l)}${n(d)}`},Ua=(e="")=>e.split(Va).filter(n=>n&&n.length>0),dt="SERVER OFFLINE",St=(e,n)=>new Promise(i=>{fetch(`${window.strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":"false"}}).then(l=>{if(l.status>=400)throw new Error;if(!n)throw new Error(dt);i(e)}).catch(l=>{setTimeout(()=>St(e,l.message!==dt).then(i),100)})}),Wa=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readSettingsConfigIndex(),queryFn(){return n.readSettingsConfig()},staleTime:1e3*60*5})},Ha=()=>{const e=$.getFetchClient(),n=ee(e),i=H.useQuery({queryKey:n.healthCheckIndex(),queryFn:()=>n.healthCheck(),retry:!0,retryDelay:1e3*5,enabled:!1});return H.useMutation({mutationFn:()=>n.restart().then(()=>i.refetch())})},Xa=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn:()=>n.restoreConfig()})},Za=()=>{const e=$.getFetchClient(),n=ee(e);return H.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1/0})},Ja=()=>{const e=$.getFetchClient(),n=ee(e);return H.useMutation({mutationFn(i){return n.updateConfig({...i,contentTypesNameFields:Object.fromEntries(i.contentTypesNameFields.map(({key:l,fields:d})=>[l,d])),contentTypesPopulate:Object.fromEntries(i.contentTypesPopulate.map(({key:l,fields:d})=>[l,d])),pathDefaultFields:Object.fromEntries(i.pathDefaultFields.map(({key:l,fields:d})=>[l,d])),additionalFields:i.audienceFieldChecked?[...i.additionalFields,"audience"]:i.additionalFields,gql:{navigationItemRelated:i.contentTypes.map(l=>Ka(l))}})}})},Ya=Dt.omit({contentTypesNameFields:!0}).extend({audienceFieldChecked:c.z.boolean(),contentTypesNameFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),contentTypesPopulate:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),pathDefaultFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array()}),$e={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6},ct=new H.QueryClient,ei=()=>{const e=Wa(),n=Za(),i=Ja(),l=Xa(),d=Ha(),{formatMessage:s}=X.useIntl(),[h,b]=p.useState({required:!1}),[N,g]=p.useState(!1),y=$.useAuth("SettingsPage",f=>f.permissions),S=p.useMemo(()=>!!y.find(({action:f})=>f===Ne.settings[0].action),[y]),j=p.useMemo(()=>!!y.find(({action:f})=>f===Ne.access[0].action),[y]),L=e.isPending||n.isPending||i.isPending||d.isPending||l.isPending,[C,T]=p.useState({}),[u,v]=p.useState(),[A,V]=p.useState(!1),[oe,B]=p.useState(!1),[J,ne]=p.useState(null),{contentTypesNameFields:fe,contentTypes:ye,additionalFields:re,preferCustomContentTypes:ae}=C,K=(f,z,w)=>{if(w){let E=f,q=z;if(I.isObject(f)){const{name:O,value:P}=f.target;E=O,q=I.isNil(q)?P:q}return I.isString(E)&&le(E,q),w(f,q)}},le=(f,z)=>{T(w=>I.set({...w},f,z))},de=f=>{if(I.get(u,f))return s(r(f))},xe=f=>{ne(f),V(!0)},te=f=>{const z=re.filter(w=>typeof w!="string"?w.name!==f.name:!0);le("additionalFields",z),ne(null),V(!1)},be=f=>{const z={...f,enabled:!f.enabled},w=re.map(E=>typeof E!="string"&&f.name===E.name?z:E);le("additionalFields",w)},Te=f=>{const w=!!re.find(E=>typeof E!="string"?E.name===f.name:!1)?re.map(E=>typeof E!="string"&&f.name===E.name?f:E):[...re,f];le("additionalFields",w),ne(null),V(!1)},me=L?[]:I.sortBy(Object.values(n.data??[]).filter(({uid:f})=>Qa(f,{allowedContentTypes:e.data?.allowedContentTypes,restrictedContentTypes:e.data?.restrictedContentTypes,preferCustomContentTypes:ae,contentTypes:ye})).map(f=>{const z=n.data?.find(w=>w.uid===f.uid);if(z){const{isDisplayed:w,kind:E}=z;return{...f,available:w,isSingle:E==="singleType"}}return f}),f=>f.info.displayName),ge=(f,z)=>{const{success:w,data:E,error:q}=Ya.safeParse(z);w?i.mutate(E,{onSuccess(){b({required:!0}),i.reset()}}):q&&(v(q.issues.reduce((O,P)=>({...O,[P.path.join(".")]:P.message}),{})),console.warn("Invalid form data",q))},je=async f=>{B(!1),f&&(l.mutate(),b({required:!0}))},ie=async()=>{d.mutate(void 0,{onSuccess(){g(!0),St(!0).then(f=>{f&&window.location.reload()})},onError(){b({required:!1})}})},Ie=()=>b({required:!1});return p.useEffect(()=>{e.data&&T({...e.data,additionalFields:e.data.additionalFields.filter(f=>typeof f!="string"),audienceFieldChecked:e.data.additionalFields.includes("audience"),contentTypesNameFields:Object.entries(e.data.contentTypesNameFields).map(([f,z])=>({key:f,fields:z})),contentTypesPopulate:Object.entries(e.data.contentTypesPopulate).map(([f,z])=>({key:f,fields:z})),pathDefaultFields:Object.entries(e.data.pathDefaultFields).map(([f,z])=>({key:f,fields:z}))})},[e.data]),S?L||N?t.jsx($.Page.Loading,{}):t.jsxs($.Layouts.Root,{children:[t.jsxs($.Page.Main,{children:[t.jsx($.Page.Title,{children:s(r("pages.settings.header.title"))}),t.jsx($.Layouts.Header,{title:s(r("pages.settings.header.title")),subtitle:s(r("pages.settings.header.description")),primaryAction:j?t.jsx(a.Button,{startIcon:t.jsx(G.Check,{}),disabled:h.required,onClick:f=>ge(f,C),children:s(r("pages.settings.actions.submit"))}):null}),t.jsx($.Layouts.Content,{children:t.jsx($.Form,{method:"POST",initialValues:C,children:({values:f,onChange:z})=>t.jsxs(a.Flex,{direction:"column",gap:4,children:[h.required&&t.jsx(a.Box,{...$e,width:"100%",children:t.jsx(za,{closeLabel:s(r("pages.settings.actions.restart.alert.cancel")),title:s(r("pages.settings.actions.restart.alert.title")),action:t.jsx(a.Box,{children:t.jsx(a.Button,{onClick:ie,startIcon:t.jsx(G.Play,{}),children:s(r("pages.settings.actions.restart.label"))})}),onClose:Ie,children:t.jsxs(t.Fragment,{children:[t.jsx(a.Box,{paddingBottom:1,children:s(r("pages.settings.actions.restart.alert.description"))}),h.reasons?.map((w,E)=>t.jsx(a.Box,{paddingBottom:1,children:s(r(`pages.settings.actions.restart.alert.reason.${w}`))},E))]})})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.general.title"))}),t.jsx(a.Grid.Root,{gap:4,width:"100%",children:t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(_.Field,{name:"preferCustomContentTypes",label:s(r("pages.settings.form.preferCustomContentTypes.label")),hint:s(r("pages.settings.form.preferCustomContentTypes.hint")),children:t.jsx(a.Toggle,{name:"preferCustomContentTypes",checked:f.preferCustomContentTypes,onChange:w=>K(w,!f.preferCustomContentTypes,z),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),t.jsx(a.Grid.Item,{col:8,s:12,xs:12,children:t.jsx(_.Field,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),hint:s(r("pages.settings.form.contentTypes.hint")),children:t.jsx(a.MultiSelect,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),"aria-label":s(r("pages.settings.form.contentTypes.label")),placeholder:s(r("pages.settings.form.contentTypes.placeholder")),value:f.contentTypes,onChange:w=>{K("contentTypes",w,z);const{contentTypesNameFields:E=[],contentTypesPopulate:q=[],pathDefaultFields:O=[]}=f,P=w.filter(k=>!E.find(ce=>ce.key===k))??[],U=E.filter(k=>!w.includes(k.key)||k.key==="default").map(({key:k})=>k)??[];le("contentTypesNameFields",[...E.filter(({key:k})=>!U.includes(k)||k==="default")??[],...P.map(k=>({key:k,fields:[]}))]),le("contentTypesPopulate",[...q.filter(({key:k})=>!U.includes(k)||k==="default")??[],...P.map(k=>({key:k,fields:[]}))]),le("pathDefaultFields",[...O.filter(({key:k})=>!U.includes(k)||k==="default")??[],...P.map(k=>({key:k,fields:[]}))])},disabled:h.required,error:de("contentTypes"),withTags:!0,width:"100%",children:me.map(w=>t.jsx(a.MultiSelectOption,{value:w.uid,children:w.info.displayName},w.uid))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:ye?.length?t.jsx(a.Accordion.Root,{style:{width:"100%"},children:fe.map((w,E)=>{const q=n.data?.find(({uid:P})=>P===w.key),O=Object.keys(q?.attributes??{}).sort();return q?t.jsxs(a.Accordion.Item,{value:w.key,children:[t.jsx(a.Accordion.Header,{children:t.jsx(a.Accordion.Trigger,{children:q?.info.displayName??s(r("pages.settings.form.nameField.default"))})}),t.jsx(a.Accordion.Content,{children:t.jsxs(a.Grid.Root,{gap:4,padding:2,children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(_.Field,{name:`contentTypesNameFields[${E}]`,label:s(r("pages.settings.form.nameField.label")),hint:s(r(`pages.settings.form.nameField.${I.isEmpty(I.get(f,`contentTypesNameFields[${E}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`contentTypesNameFields[${E}]`,placeholder:s(r("pages.settings.form.nameField.placeholder")),value:I.get(f,`contentTypesNameFields[${E}].fields`),onChange:P=>{const U=I.get(f,"contentTypesNameFields",[]).map((k,ce)=>ce===E?{...k,fields:P}:k);return K("contentTypesNameFields",U,z)},disabled:h.required,error:de(`contentTypesNameFields[${E}]`),withTags:!0,children:O.map(P=>t.jsx(a.MultiSelectOption,{value:P,children:P},P))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(_.Field,{name:`contentTypesPopulate[${E-1}]`,label:s(r("pages.settings.form.populate.label")),hint:s(r(`pages.settings.form.populate.${I.isEmpty(I.get(f,`contentTypesPopulate[${E-1}]fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{width:"100%",name:`contentTypesPopulate[${E-1}]`,placeholder:s(r("pages.settings.form.populate.placeholder")),value:I.get(f,`contentTypesPopulate[${E-1}].fields`,[]),onChange:P=>{const U=I.get(f,"contentTypesPopulate",[]).map((k,ce)=>ce===E-1?{...k,fields:P}:k);return K("contentTypesPopulate",U,z)},disabled:h.required,error:de(`contentTypesPopulate[${E-1}]`),withTags:!0,children:O.map(P=>t.jsx(a.MultiSelectOption,{value:P,children:P},P))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(_.Field,{name:`pathDefaultFields[${E-1}]`,label:s(r("pages.settings.form.pathDefaultFields.label")),hint:s(r(`pages.settings.form.pathDefaultFields.${I.isEmpty(I.get(f,`pathDefaultFields[${E-1}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`pathDefaultFields[${E-1}]`,width:"100%",placeholder:s(r("pages.settings.form.pathDefaultFields.placeholder")),value:I.get(f,`pathDefaultFields[${E-1}].fields`,[]),onChange:P=>{const U=I.get(f,"pathDefaultFields",[]).map((k,ce)=>ce===E-1?{...k,fields:P}:k);return K("pathDefaultFields",U,z)},disabled:h.required,error:de(`pathDefaultFields[${E-1}]`),withTags:!0,children:O.map(P=>t.jsx(a.MultiSelectOption,{value:P,children:P},P))})})})]})})]},w.key):null})}):null})]})})})]})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.additional.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(a.Box,{width:"100%",children:t.jsx(_.Field,{name:"allowedLevels",label:s(r("pages.settings.form.allowedLevels.label")),hint:s(r("pages.settings.form.allowedLevels.hint")),children:t.jsx(a.NumberInput,{width:"100%",name:"allowedLevels",type:"number",placeholder:s(r("pages.settings.form.allowedLevels.placeholder")),onChange:(w,E)=>{if(I.isObject(w)){const q=parseInt(w.target.value);return K(w.target.name,I.isNaN(q)?0:q,z)}return K(w,E,z)},value:f.allowedLevels,disabled:h.required})})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(_.Field,{name:"cascadeMenuAttached",label:s(r("pages.settings.form.cascadeMenuAttached.label")),hint:s(r("pages.settings.form.cascadeMenuAttached.hint")),children:t.jsx(a.Toggle,{width:"100%",name:"cascadeMenuAttached",checked:f.cascadeMenuAttached,onChange:w=>K(w,!f.cascadeMenuAttached,z),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(_.Field,{name:"audienceFieldChecked",label:s(r("pages.settings.form.audience.label")),hint:s(r("pages.settings.form.audience.hint")),children:t.jsx(a.Toggle,{name:"audienceFieldChecked",checked:f.audienceFieldChecked,onChange:w=>K(w,!f.audienceFieldChecked,z),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),e.data?.isCachePluginEnabled&&t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(_.Field,{name:"isCacheEnabled",label:s(r("pages.settings.form.cache.label")),hint:s(r("pages.settings.form.cache.hint")),children:t.jsx(a.Toggle,{name:"isCacheEnabled",checked:f.isCacheEnabled,onChange:w=>K(w,!f.isCacheEnabled,z),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})})]})]})}),t.jsxs(a.Box,{...$e,width:"100%",children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.customFields.title"))}),t.jsx(a.Box,{padding:1}),t.jsx(_a,{data:re,onOpenModal:xe,onRemoveCustomField:te,onToggleCustomField:be})]}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.restoring.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(a.Typography,{children:s(r("pages.settings.actions.restore.description"))})}),t.jsxs(a.Grid.Item,{col:12,s:12,xs:12,children:[j?t.jsx(a.Button,{variant:"danger-light",startIcon:t.jsx(G.Check,{}),onClick:()=>B(!0),children:s(r("pages.settings.actions.restore.label"))}):null,t.jsx(Ue,{isVisible:oe,header:s(r("pages.settings.actions.restore.confirmation.header")),labelConfirm:s(r("pages.settings.actions.restore.confirmation.confirm")),iconConfirm:t.jsx(G.Typhoon,{}),onConfirm:()=>je(!0),onCancel:()=>je(!1),children:s(r("pages.settings.actions.restore.confirmation.description"))})]})]})]})})]})})})]}),A&&t.jsx(Oa,{onClose:()=>V(!1),onSubmit:Te,isOpen:A,data:J})]}):t.jsx($.Page.NoPermissions,{})};function ti(){ct.invalidateQueries();const e=_.usePluginTheme();return t.jsx(H.QueryClientProvider,{client:ct,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(ei,{})})})}const ni="navigation",ut="Navigation",ai={register(e){e.createSettingSection({id:he,intlLabel:{id:`${he}.plugin.section.name`,defaultMessage:`${ut} plugin`}},[{intlLabel:{id:`${he}.plugin.section.item`,defaultMessage:"Configuration"},id:"navigation",to:he,Component(){return ti},permissions:Ne.settings}]),e.addMenuLink({to:`plugins/${he}`,icon:kt,intlLabel:{id:`${he}.plugin.name`,defaultMessage:ut},Component(){return Pa},permissions:Ne.access,position:1}),e.registerPlugin({id:he,initializer:At,isReady:!1,name:ni})},registerTrads:async function({locales:e=[]}){return Promise.all(e.map(async n=>n in tt?tt[n]().then(({default:l})=>({data:_.prefixPluginTranslations(_.flattenObject(l),he),locale:n})):{data:_.prefixPluginTranslations(_.flattenObject({}),he),locale:n}))}};module.exports=ai;