strapi-plugin-navigation 3.0.9 → 3.0.10

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
@@ -176,7 +176,7 @@ Config for this plugin is stored as a part of the `config/plugins.{js|ts}` or `c
176
176
  ### Additional Fields
177
177
  It is advised to configure additional fields through the plugin's Settings Page. There you can find the table of custom fields and toggle input for the audience field. When enabled, the audience field can be customized through the content manager. Custom fields can be added, edited, toggled, and removed with the use of the table provided on the Settings Page. When removing custom fields be advised that their values in navigation items will be lost. Disabling the custom fields will not affect the data and can be done with no consequence of loosing information.
178
178
 
179
- Creating configuration for additional fields with the `config.(js|ts)` file should be done with caution. Config object contains the `additionalFields` property of type `Array<CustomField | 'audience'>`, where CustomField is of type `{ type: 'string' | 'boolean' | { "name": string, "url": string, "mime": string, "width": number, "height": number, "previewUrl": string }, name: string, label: string }`. When creating custom fields be advised that the `name` property has to be unique. When editing a custom field it is advised not to edit its `name` and `type` properties. After config has been restored the custom fields that are not present in `config.js` file will be deleted and their values in navigation items will be lost.
179
+ Creating configuration for additional fields with the `config.(js|ts)` file should be done with caution. Config object contains the `additionalFields` property of type `Array<CustomField | 'audience'>`, where CustomField is of type `{ type: 'string' | 'boolean' | 'media', name: string, label: string, enabled?: boolean }`. When creating custom fields be advised that the `name` property has to be unique. When editing a custom field it is advised not to edit its `name` and `type` properties. After config has been restored the custom fields that are not present in `config.js` file will be deleted and their values in navigation items will be lost.
180
180
 
181
181
  ## 🔧 GQL Configuration
182
182
  Using navigation with GraphQL requires both plugins to be installed and working. You can find installation guide for GraphQL plugin **[here](https://docs.strapi.io/dev-docs/plugins/graphql#graphql)**. To properly configure GQL to work with navigation you should provide `gql` prop. This should contain union types that will be used to define GQL response format for your data while fetching:
@@ -1,10 +1,10 @@
1
- "use strict";const p=require("react"),t=require("react/jsx-runtime"),gt=require("styled-components"),P=require("@strapi/strapi/admin"),_e=require("react-dnd"),Rt=require("react-dnd-html5-backend"),De=require("react-router-dom"),a=require("@strapi/design-system"),K=require("@tanstack/react-query"),j=require("lodash"),U=require("react-intl"),O=require("@sensinum/strapi-utils"),q=require("@strapi/icons"),c=require("zod"),Me=require("lodash/fp"),ht=e=>e&&e.__esModule?e:{default:e};function At(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 r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,r.get?r:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const Et=ht(p),Ce=ht(gt),o=At(c),he="navigation",Lt=({setPlugin:e})=>{const n=p.useRef(e);return p.useEffect(()=>{n.current?.(he)},[]),null},$t=92,kt=Ce.default.svg`
1
+ "use strict";const p=require("react"),t=require("react/jsx-runtime"),ht=require("styled-components"),P=require("@strapi/strapi/admin"),_e=require("react-dnd"),Rt=require("react-dnd-html5-backend"),De=require("react-router-dom"),a=require("@strapi/design-system"),W=require("@tanstack/react-query"),j=require("lodash"),H=require("react-intl"),G=require("@sensinum/strapi-utils"),O=require("@strapi/icons"),c=require("zod"),Me=require("lodash/fp"),ft=e=>e&&e.__esModule?e:{default:e};function Et(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 s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const Lt=ft(p),we=ft(ht),o=Et(c),xe="navigation",$t=({setPlugin:e})=>{const n=p.useRef(e);return p.useEffect(()=>{n.current?.(xe)},[]),null},Pt=92,kt=we.default.svg`
2
2
  path {
3
3
  fill: ${({theme:e})=>e.colors.neutral500};
4
4
  }
5
- `,Pt=({width:e=20,height:n=20})=>t.jsx(kt,{viewBox:`0 0 ${e} ${n}`,xmlns:"http://www.w3.org/2000/svg",height:n,width:e,children:t.jsx("g",{style:{transform:`scale(${e/$t})`},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
5
+ `,zt=({width:e=20,height:n=20})=>t.jsx(kt,{viewBox:`0 0 ${e} ${n}`,xmlns:"http://www.w3.org/2000/svg",height:n,width:e,children:t.jsx("g",{style:{transform:`scale(${e/Pt})`},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`})})}),zt=()=>t.jsx(Pt,{}),nt={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"))},Qe=e=>`${he}.${e}`,l=(e,n)=>({id:Qe(e),defaultMessage:n??Qe(e)}),qe=e=>`plugin::navigation.${e}`,Oe={read:"read",update:"update",settings:"settings"},Ne={access:[{action:qe(Oe.read),subject:null}],update:[{action:qe(Oe.update),subject:null}],settings:[{action:qe(Oe.settings),subject:null}]},Ke=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()}),Mt=Ke.extend({type:c.z.literal("select"),multi:c.z.boolean(),options:c.z.array(c.z.string())}),Bt=Ke.extend({type:c.z.enum(["boolean","string"]),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),Dt=Ke.extend({type:c.z.literal("media"),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),ft=c.z.union([Bt,Dt,Mt]),qt=c.z.union([c.z.literal("audience"),ft]),Ot=c.z.object({additionalFields:c.z.array(qt),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()}),Gt=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())}),Vt=o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}),yt=o.enum(["INTERNAL","EXTERNAL","WRAPPER"]),_t=o.object({id:o.number(),documentId:o.string(),title:o.string(),type:yt,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(Vt).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()}),xt=_t.extend({items:o.lazy(()=>xt.array().or(o.null())).optional()}),Qt=o.object({id:o.number(),documentId:o.string(),name:o.string(),slug:o.string(),locale:o.string(),visible:o.boolean(),items:o.array(xt)}),Ue=o.object({name:o.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:o.string(),required:o.boolean().optional(),enabled:o.boolean().optional()}),Kt=Ue.extend({type:o.literal("select"),multi:o.boolean(),options:o.array(o.string())}),Ut=Ue.extend({type:o.enum(["boolean","string"]),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Wt=Ue.extend({type:o.literal("media"),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Ht=Ut.or(Wt).or(Kt),Xt=o.union([o.literal("audience"),Ht]),Zt=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()}),Jt=o.object({additionalFields:o.array(Xt),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()}),at=Jt.omit({contentTypes:!0}).extend({contentTypes:Zt.array()}),Yt=o.object({defaultLocale:o.string(),restLocale:o.string().array()}),en=o.enum(["collectionType","singleType"]),tn=o.object({singularName:o.string(),pluralName:o.string(),displayName:o.string(),description:o.string().optional(),name:o.string().optional()}),bt=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()}),nn=o.enum(["string","text","richtext","blocks","email","password","date","time","datetime","timestamp","boolean","integer","biginteger","float","decimal","json","relation","media"]),an=bt.extend({type:nn}),on=bt.extend({type:o.literal("enumeration"),enum:o.string().array()}),sn=o.object({type:o.literal("component"),component:o.string(),repeatable:o.boolean().optional()}),rn=o.object({type:o.literal("dynamiczone"),components:o.string().array()}),ln=o.object({media:o.literal("media"),allowedTypes:o.enum(["images","videos","audios","files"]).array(),required:o.boolean().optional()}),dn=o.enum(["oneToOne","oneToMany","manyToOne","manyToMany","morphToMany","manyToMorph"]),cn=o.object({type:o.literal("relation"),relation:dn,target:o.string(),mappedBy:o.string().optional(),inversedBy:o.string().optional()}),un=o.record(o.string(),o.union([an,on,sn,rn,cn,ln])),pn=o.object({kind:en,collectionName:o.string(),info:tn,options:o.object({draftAndPublish:o.boolean().optional(),hidden:o.boolean().optional(),templateName:o.string().optional()}).optional(),attributes:un,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()});pn.pick({info:!0,kind:!0,attributes:!0,options:!0});const mn=o.object({id:o.number(),documentId:o.string(),locale:o.string().or(o.null()).optional()}).and(o.record(o.string(),o.any())),gn=o.object({slug:o.string()}),hn=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:yt,uiRouterKey:o.string()}),Y="navigation",te=j.once(e=>({getIndexPrefix(){return[Y]},readAll(){return e.get(`/${Y}`).then(({data:n})=>Qt.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:r})=>gn.parse(r)).then(({slug:r})=>r)},readConfig(){return e.get(`/${Y}/config`).then(({data:n})=>at.parse(n))},readConfigIndex(){return[Y,"config"]},healthCheck(){return e.get("/_health")},healthCheckIndex(){return["health"]},readNavigationItemFromLocale({source:n,structureId:i,target:r,documentId:d}){return e.get(`/${Y}/i18n/item/read/${d}/${n}/${r}?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=at.parse(n);return{...i,contentTypes:i.contentTypes.map(({uid:r})=>r)}})},readSettingsConfigIndex(){return[Y,"config"]},readContentType(){return e.get("/content-manager/content-types").then(({data:n})=>Gt.array().parse(n.data))},readContentTypeIndex(){return[Y,"content-manager","content-types"]},readContentTypeItems({uid:n,locale:i,query:r}){const d=new URLSearchParams;return r&&d.append("_q",r),i&&d.append("locale",i),e.get(`/${Y}/content-type-items/${n}?${d.toString()}`).then(({data:s})=>mn.array().parse(s))},readContentTypeItemsIndex({uid:n,locale:i,query:r}){return[Y,"content-manager","content-type-items",n,i,r]},readLocale(){return e.get(`/${Y}/settings/locale`).then(n=>Yt.parse(n.data))},readLocaleIndex(){return[Y,"locale"]},copyNavigationLocale({documentId:n,source:i,target:r}){return e.put(`/${Y}/i18n/copy/${n}/${i}/${r}`)},copyNavigationItemLocale({source:n,structureId:i="",target:r}){return e.get(`/${Y}/i18n/item/read/${n}/${r}?path=${i}`).then(d=>hn.parse(d.data))}})),fn=t.jsx(q.WarningCircle,{}),We=({isVisible:e=!1,isActionAsync:n=!1,children:i,onConfirm:r,onCancel:d,header:s,labelCancel:h,labelConfirm:x,iconConfirm:S,mainIcon:g=fn})=>{const{formatMessage:y}=U.useIntl();return e?t.jsx(a.Dialog.Root,{open:e,onOpenChange:w=>{!w&&e&&d?.(void 0)},title:s||y(l("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(l("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(l("components.confirmation.dialog.button.cancel","Cancel"))})}),t.jsx(a.Button,{fullWidth:!0,onClick:r,variant:"danger-light",startIcon:S||t.jsx(q.Check,{}),disabled:n,children:x||y(l("components.confirmation.dialog.button.confirm","Confirm"))})]})]})}):null},it=t.jsx(t.Fragment,{}),yn=({onConfirm:e,onCancel:n})=>{const{formatMessage:i}=U.useIntl();return t.jsx(We,{isVisible:!0,header:i(l("pages.view.actions.i18nCopyItems.confirmation.header")),labelConfirm:i(l("pages.view.actions.i18nCopyItems.confirmation.confirm")),iconConfirm:it,mainIcon:it,onConfirm:e,onCancel:n,children:i(l("pages.view.actions.i18nCopyItems.confirmation.content"))})},He=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readLocaleIndex(),queryFn:n.readLocale,staleTime:1/0})},jt=e=>{const n=P.getFetchClient(),i=te(n);return K.useQuery({queryKey:i.readContentTypeItemsIndex(e),queryFn:()=>i.readContentTypeItems(e),staleTime:1e3*60*3,enabled:!!e.uid})},xn=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1e3*60*3})},bn=()=>{const e=P.getFetchClient(),n=te(e),i=K.useQueryClient();return()=>{i.resetQueries({queryKey:n.readAllIndex()})}},jn=()=>{const e=P.getFetchClient(),n=te(e),i=K.useQueryClient();return()=>{i.resetQueries({queryKey:n.readContentTypeIndex()})}},Xe=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readAllIndex(),queryFn(){return n.readAll().then(i=>i.map(r=>({...r,items:r.items.map(Ze)})))},staleTime:1e3*60*5})},In=()=>{const e=K.useQueryClient(),n=P.getFetchClient(),i=te(n);return p.useCallback(()=>{e.invalidateQueries({queryKey:i.getIndexPrefix()})},[e,n,i])},Cn=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn(i){return Promise.all(i.map(n.delete))}})},vn=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn:n.copyNavigationItemLocale})},Tn=()=>{const e=P.getFetchClient(),n=te(e),i=K.useQueryClient();return K.useMutation({mutationFn:n.copyNavigationLocale,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},wn=()=>{const e=P.getFetchClient(),n=te(e),i=K.useQueryClient();return K.useMutation({mutationFn:n.create,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},It=e=>{const n=P.getFetchClient(),i=te(n),r=K.useQueryClient();return K.useMutation({mutationFn:i.update,onSuccess(){r.invalidateQueries({queryKey:i.readAllIndex()}),e?.()}})},Ct=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn(i){return i?.length?Promise.all(i.map(r=>n.purge({documentId:r,withLangVersions:!0}))):n.purge({})}})},Pe=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readConfigIndex(),queryFn:n.readConfig})},Sn=e=>{const[n,i]=p.useState(!1),[r,d]=p.useState(void 0),s=p.useCallback(()=>{i(!1)},[i]),h=p.useCallback(()=>{r&&(e(r),i(!1))},[e,r]),x=p.useMemo(()=>n?t.jsx(yn,{onConfirm:h,onCancel:s}):null,[n,h,s]);return p.useMemo(()=>({setI18nCopyModalOpened:i,setI18nCopySourceLocale:d,i18nCopyItemsModal:x,i18nCopySourceLocale:r}),[d,i,x,r])},Ze=e=>({...e,viewId:Math.floor(Math.random()*152e4),items:e.items?.map(Ze)}),$e=(e=[])=>j.orderBy(e,["order"],["asc"]).map((n,i)=>{const r=i+1;return{...n,order:r,updated:n.updated||r!==n.order}}),ze=(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(r=>r.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ee(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?Ee(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(r=>r.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(r=>r.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ee(e,e.items,n):e.items,viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated},Ee=(e,n=[],i)=>{if(!e.viewParentId){if(e.viewId){const d=n.map(s=>s.viewId===e.viewId?ze(e,i):{...s,items:s.items?.length?Ee(e,s.items,i):s.items});return $e(d)}return[...$e([...n,ze({...e,viewId:Date.now()},i)])]}const r=n.map(d=>{const s=d.items||[];if(e.viewParentId===d.viewId){if(!e.viewId)return{...d,items:[...$e([...s,ze({...e,viewId:Date.now()},i)])]};const h=s.map(x=>x.viewId===e.viewId?ze(e,i):x);return{...d,items:$e(h)}}return{...d,items:d.items?.length?Ee(e,d.items,i):d.items}});return $e(r)},Be=(e,n)=>{const i=n?.contentTypes??[],r=n?.contentTypesNameFields??{},d=r.default??[],{__collectionUid:s}=e,h=i.find(({uid:y})=>y===s);if(h?.isSingle)return h.labelSingular;const x=[...d,...d.map(y=>j.capitalize(y))],S=j.get(r,`${h?h.uid:s}`,x),g=(j.isEmpty(S)?x:S).map(y=>e[y]).filter(y=>y);return j.first(g)||""},Fn=({relatedRef:e,relatedType:n={},type:i,isCollection:r})=>r?n.available||e.available:i==="INTERNAL"&&(e?"publishedAt"in e:!1)?j.get(e,"publishedAt",!0):!0,Se=(e,n=!1)=>{const{__type:i,documentId:r}=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:r,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??""}},vt=e=>e.find(({isPending:n})=>n),Ae=(e,n)=>e.collapsed!==n?{...e,collapsed:n,updated:!0,items:e.items?.map(i=>Ae(i,n))}:{...e,items:e.items?.map(i=>Ae(i,n))},Le=({start:e,end:n})=>t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:ot(e)}),ot(n)]}),ot=e=>e?t.jsx(a.Button,{onClick:e.onClick,variant:e.variant,disabled:e.disabled,children:e.children}):null,Nn=({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()}),Tt=({navigation:e,onChange:n,alreadyUsedNames:i=[],isLoading:r})=>{const[d,s]=p.useState({}),[h,x]=p.useState(),{formatMessage:S}=U.useIntl(),{name:g,visible:y}=d,w=(C,T,u)=>{if(u){let v=C,A=T;if(j.isObject(C)){const{name:G,value:le}=C.target;v=G,A=j.isNil(A)?le:A}return j.isString(v)&&b(v,A),u(C,A)}},b=(C,T)=>{s(j.set({...d},C,T))},k=C=>{const T=j.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}=Nn({alreadyUsedNames:i}).safeParse(d);n({...e,name:g,visible:y,disabled:!j.isEmpty(C?.issues)}),x(C?C.issues.reduce((T,u)=>({...T,[u.path.join(".")]:u.message}),{}):void 0)}},[g,y]),t.jsx(P.Form,{width:"auto",height:"auto",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(O.Field,{name:"name",label:S(l("popup.navigation.form.name.label","Name")),error:k("name"),children:t.jsx(a.TextInput,{name:"name",type:"string",placeholder:S(l("popup.navigation.form.name.placeholder","Navigations's name")),onChange:(u,v)=>w(u,v,T),value:C.name,disabled:r})})}),t.jsx(a.Grid.Item,{col:6,children:t.jsx(O.Field,{name:"visible",label:S(l("popup.navigation.form.visible.label","Visibility")),error:k("visible"),children:t.jsx(a.Toggle,{name:"visible",checked:C.visible,onChange:u=>w(u,!C.visible,T),onLabel:S(l("popup.navigation.form.visible.toggle.visible")),offLabel:S(l("popup.navigation.form.visible.toggle.hidden")),disabled:r,width:"100%"})})})]})})},Rn={name:"",items:[],visible:!1},An=({setState:e,current:n,isLoading:i,alreadyUsedNames:r})=>{const d=p.useCallback(({disabled:s,...h})=>{e({view:"CREATE",current:h,alreadyUsedNames:r,disabled:s})},[e]);return t.jsx(Tt,{alreadyUsedNames:r,navigation:n,onChange:d,isLoading:i})},En=({onSubmit:e,onReset:n,disabled:i,isLoading:r})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),variant:"tertiary",disabled:r,onClick:n},end:{children:d(l("popup.navigation.manage.button.save")),variant:"default",disabled:r||i,onClick:e}})},Ln=t.jsx(q.Pencil,{}),$n=t.jsx(q.Trash,{}),st=t.jsx(q.Feather,{}),kn=({navigations:e,selected:n,setState:i})=>{const r=Pe(),d=!!n.length,{formatMessage:s}=U.useIntl(),h=He(),x=p.useCallback(()=>i({navigations:e,selected:d?[]:e.map(u=>u),view:"LIST"}),[i,e,d]),S=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})},b=u=>()=>{i({view:"CACHE_PURGE",navigations:u})},k=p.useCallback(w(n),[w]),C=p.useCallback(b(n),[b]),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(l("popup.navigation.manage.table.hasSelected"),{count:n.length})}),t.jsx(a.Button,{onClick:k,variant:"tertiary",children:s(l("popup.navigation.manage.button.delete"))}),r.data?.isCacheEnabled?t.jsx(a.Button,{onClick:C,variant:"tertiary",children:s(l("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:x,check:d})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(l("popup.navigation.manage.table.id"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(l("popup.navigation.manage.table.name"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(l("popup.navigation.manage.table.locale"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(l("popup.navigation.manage.table.visibility"))})}),t.jsx(a.Th,{children:r.data?.isCacheEnabled?t.jsx(a.Flex,{direction:"row",children:t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:b([]),label:s(l("popup.navigation.manage.button.purge")),noBorder:!0,children:st})})}):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,S.has(u.documentId)),checked:S.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(l("popup.navigation.manage.navigation.visible")):s(l("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(l("popup.navigation.manage.button.edit")),noBorder:!0,children:Ln})}),t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:w([u]),label:s(l("popup.navigation.manage.button.delete")),noBorder:!0,children:$n})}),r.data?.isCacheEnabled?t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:b([u]),label:s(l("popup.navigation.manage.button.purge")),noBorder:!0,children:st})}):null]})})]},u.documentId))})]})]})},Pn=({onClose:e,state:n,setState:i,navigations:r,isLoading:d})=>{const{formatMessage:s}=U.useIntl();return t.jsx(Le,{start:{onClick:e,variant:"tertiary",disabled:d,children:s(l("popup.item.form.button.cancel"))},end:{onClick:()=>i({view:"CREATE",alreadyUsedNames:r.map(({name:h})=>h),current:Rn}),variant:"default",disabled:d,children:s(l("popup.navigation.manage.button.create"))}})},zn=({navigations:e})=>{const{formatMessage:n}=U.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(l("popup.navigation.manage.delete.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:Bn(e)})})]})},Mn=({state:e,onSubmit:n,onReset:i,isLoading:r})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),disabled:r,onClick:i,variant:"tertiary"},end:{children:d(l("popup.navigation.manage.button.delete")),disabled:r,onClick:n,variant:"danger"}})},Bn=e=>e.map(Me.prop("name")).join(", "),Dn=({errors:e})=>{const{formatMessage:n}=U.useIntl(),{toggleNotification:i}=P.useNotification();return p.useEffect(()=>{e.map(r=>{i({type:"warning",message:n({id:"",defaultMessage:r.message})}),console.error(r)})},[]),t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,children:n(l("popup.navigation.manage.error.message"))})})},qn=({onReset:e})=>{const{formatMessage:n}=U.useIntl();return t.jsx(Le,{end:{children:n(l("popup.navigation.manage.button.goBack")),onClick:e,variant:"secondary"}})},On=({alreadyUsedNames:e,current:n,isLoading:i,navigation:r,setState:d})=>{const s=p.useMemo(()=>n??r,[n]),h=p.useCallback(({disabled:x,...S})=>{d({view:"EDIT",alreadyUsedNames:e,current:S,disabled:x,navigation:r})},[d,r,e]);return t.jsx(Tt,{navigation:s,onChange:h,isLoading:i,alreadyUsedNames:e})},Gn=({onSubmit:e,onReset:n,disabled:i,isLoading:r})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),disabled:r,onClick:n,variant:"tertiary"},end:{children:d(l("popup.navigation.manage.button.save")),disabled:r||i,onClick:e,variant:"secondary"}})},Vn=({navigations:e})=>{const{formatMessage:n}=U.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(l("popup.navigation.manage.purge.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:Qn(e)})})]})},_n=({onSubmit:e,onReset:n,isLoading:i})=>{const{formatMessage:r}=U.useIntl();return t.jsx(Le,{start:{children:r(l("popup.item.form.button.cancel")),disabled:i,onClick:n,variant:"tertiary"},end:{children:r(l("popup.navigation.manage.footer.button.purge")),disabled:i,onClick:e,variant:"danger"}})},Qn=e=>e.map(Me.prop("name")).join(", "),Kn=({initialState:e,isOpened:n,onClose:i})=>{const{formatMessage:r}=U.useIntl(),[d,s]=p.useState(e),{toggleNotification:h}=P.useNotification(),x=In(),S=Cn(),g=wn(),y=It(),w=Ct(),b=Xe(),k=He(),C=p.useMemo(()=>j.sortBy(b.data??[],"id"),[b.data]),T=vt([S,b,g,y,w,k]),u=p.useCallback(()=>s({view:"INITIAL"}),[s]),v=p.useCallback(async()=>{const z=d.view==="DELETE"?()=>{S.mutate(d.navigations.reduce((Z,ne)=>(ne.documentId&&Z.push(ne.documentId),Z),[]),{onSuccess:x})}:d.view==="EDIT"?()=>{y.mutate(d.current,{onSuccess(){x(),h({type:"success",message:r(l("notification.navigation.submit"))})},onError(Z){console.warn(Z),h({type:"warning",message:r(l("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CREATE"&&d.current?()=>{g.mutate(d.current,{onSuccess(){x(),h({type:"success",message:r(l("notification.navigation.submit"))})},onError(Z){console.warn(Z),h({type:"warning",message:r(l("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CACHE_PURGE"?()=>{w.mutate(d.navigations.reduce((Z,ne)=>(ne.documentId&&Z.push(ne.documentId),Z),[]),{onSuccess:x})}:()=>{};try{z(),s({view:"INITIAL"})}catch(Z){s({view:"ERROR",errors:Z instanceof Error?[Z]:[]})}},[d,s,x,g,w,y,S,h,r,l]);p.useEffect(()=>{(d.view==="INITIAL"||d.view==="LIST")&&s({view:"LIST",navigations:C,selected:[]})},[d.view,C]);const A=Un(d,r,!!T),G=Wn(d,s,!!T),le=Hn({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:G}),le]})})},Un=(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(l(`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(l("popup.navigation.manage.header.EDIT"),{name:e.navigation.name})]});case"INITIAL":return null;default:return Je(e)}},Wn=(e,n,i)=>{const r={setState:n,isLoading:i};switch(e.view){case"LIST":return t.jsx(kn,{...e,...r});case"EDIT":return t.jsx(On,{...e,...r});case"CREATE":return t.jsx(An,{...e,...r});case"DELETE":return t.jsx(zn,{...e,...r});case"CACHE_PURGE":return t.jsx(Vn,{...e,...r});case"INITIAL":return t.jsx(a.Loader,{small:!0});case"ERROR":return t.jsx(Dn,{...e,...r});default:return Je(e)}},Hn=e=>{switch(e.state.view){case"LIST":return t.jsx(Pn,{...e});case"CREATE":return t.jsx(En,{...e,disabled:e.state.disabled});case"EDIT":return t.jsx(Gn,{...e,disabled:e.state.disabled});case"DELETE":return t.jsx(Mn,{...e});case"CACHE_PURGE":return t.jsx(_n,{...e});case"ERROR":return t.jsx(qn,{...e});case"INITIAL":return null;default:return Je(e.state)}},Je=e=>(console.warn(`Unknown state "${e?.view}". (${JSON.stringify(e)})`),null),Xn=()=>{const[e,n]=p.useState(!1),i=p.useCallback(()=>n(!0),[n]),r=p.useCallback(()=>n(!1),[n]),d=p.useMemo(()=>e?t.jsx(Kn,{initialState:{view:"INITIAL"},isOpened:!0,onClose:r}):null,[e,r]);return p.useMemo(()=>({navigationManagerModal:d,openNavigationManagerModal:i,closeNavigationManagerModal:r}),[d,i,r])},rt=t.jsx(q.Check,{}),Zn=({activeNavigation:e,availableNavigations:n,structureHasErrors:i,structureHasChanged:r,handleChangeSelection:d,handleLocalizationSelection:s,handleSave:h,handleCachePurge:x,permissions:S={},locale:g,currentLocale:y})=>{const{formatMessage:w}=U.useIntl(),{openNavigationManagerModal:b,navigationManagerModal:k}=Xn(),C=!!g.restLocale,{canUpdate:T}=S,u=Pe();return t.jsx(t.Fragment,{children:t.jsx(P.Layouts.Header,{title:w(l("header.title","UI Navigation")),subtitle:w(l("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:b,startIcon:null,type:"button",variant:"secondary",fullWidth:!0,size:"S",children:w(l("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:G})=>v===G);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(l("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:rt,disabled:i||!r,type:"submit",fullWidth:!0,size:"S",children:w(l("submit.cta.save"))})}),u.data?.isCacheEnabled&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:x,startIcon:rt,variant:"danger",type:"submit",fullWidth:!0,size:"S",children:w(l("submit.cta.cache.purge"))})})]})}),T&&k]}),secondaryAction:t.jsx(a.Tag,{icon:t.jsx(q.Information,{"aria-hidden":!0}),children:e?w(l("header.meta"),{id:e?.documentId,key:e?.slug}):null})})})},Jn=({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})]}),Yn=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`})})}),Mt=()=>t.jsx(zt,{}),nt={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"))},Qe=e=>`${xe}.${e}`,l=(e,n)=>({id:Qe(e),defaultMessage:n??Qe(e)}),qe=e=>`plugin::navigation.${e}`,Oe={read:"read",update:"update",settings:"settings"},Ae={access:[{action:qe(Oe.read),subject:null}],update:[{action:qe(Oe.update),subject:null}],settings:[{action:qe(Oe.settings),subject:null}]},Ke=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()}),Bt=Ke.extend({type:c.z.literal("select"),multi:c.z.boolean(),options:c.z.array(c.z.string())}),Dt=Ke.extend({type:c.z.enum(["boolean","string"]),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),qt=Ke.extend({type:c.z.literal("media"),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),yt=c.z.union([Dt,qt,Bt]),Ot=c.z.union([c.z.literal("audience"),yt]),Gt=c.z.object({additionalFields:c.z.array(Ot),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()}),Vt=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())}),_t=o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}),xt=o.enum(["INTERNAL","EXTERNAL","WRAPPER"]),Qt=o.object({id:o.number(),documentId:o.string(),title:o.string(),type:xt,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(_t).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()}),bt=Qt.extend({items:o.lazy(()=>bt.array().or(o.null())).optional()}),Kt=o.object({id:o.number(),documentId:o.string(),name:o.string(),slug:o.string(),locale:o.string(),visible:o.boolean(),items:o.array(bt)}),Ue=o.object({name:o.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:o.string(),required:o.boolean().optional(),enabled:o.boolean().optional()}),Ut=Ue.extend({type:o.literal("select"),multi:o.boolean(),options:o.array(o.string())}),Wt=Ue.extend({type:o.enum(["boolean","string"]),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Ht=Ue.extend({type:o.literal("media"),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Xt=Wt.or(Ht).or(Ut),Zt=o.union([o.literal("audience"),Xt]),Jt=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()}),Yt=o.object({additionalFields:o.array(Zt),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()}),at=Yt.omit({contentTypes:!0}).extend({contentTypes:Jt.array()}),en=o.object({defaultLocale:o.string(),restLocale:o.string().array()}),tn=o.enum(["collectionType","singleType"]),nn=o.object({singularName:o.string(),pluralName:o.string(),displayName:o.string(),description:o.string().optional(),name:o.string().optional()}),jt=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()}),an=o.enum(["string","text","richtext","blocks","email","password","date","time","datetime","timestamp","boolean","integer","biginteger","float","decimal","json","relation","media"]),on=jt.extend({type:an}),sn=jt.extend({type:o.literal("enumeration"),enum:o.string().array()}),rn=o.object({type:o.literal("component"),component:o.string(),repeatable:o.boolean().optional()}),ln=o.object({type:o.literal("dynamiczone"),components:o.string().array()}),dn=o.object({media:o.literal("media"),allowedTypes:o.enum(["images","videos","audios","files"]).array(),required:o.boolean().optional()}),cn=o.enum(["oneToOne","oneToMany","manyToOne","manyToMany","morphToMany","manyToMorph"]),un=o.object({type:o.literal("relation"),relation:cn,target:o.string(),mappedBy:o.string().optional(),inversedBy:o.string().optional()}),pn=o.record(o.string(),o.union([on,sn,rn,ln,un,dn])),mn=o.object({kind:tn,collectionName:o.string(),info:nn,options:o.object({draftAndPublish:o.boolean().optional(),hidden:o.boolean().optional(),templateName:o.string().optional()}).optional(),attributes:pn,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()});mn.pick({info:!0,kind:!0,attributes:!0,options:!0});const gn=o.object({id:o.number(),documentId:o.string(),locale:o.string().or(o.null()).optional()}).and(o.record(o.string(),o.any())),hn=o.object({slug:o.string()}),fn=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:xt,uiRouterKey:o.string()}),Y="navigation",ee=j.once(e=>({getIndexPrefix(){return[Y]},readAll(){return e.get(`/${Y}`).then(({data:n})=>Kt.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:s})=>hn.parse(s)).then(({slug:s})=>s)},readConfig(){return e.get(`/${Y}/config`).then(({data:n})=>at.parse(n))},readConfigIndex(){return[Y,"config"]},healthCheck(){return e.get("/_health")},healthCheckIndex(){return["health"]},readNavigationItemFromLocale({source:n,structureId:i,target:s,documentId:d}){return e.get(`/${Y}/i18n/item/read/${d}/${n}/${s}?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=at.parse(n);return{...i,contentTypes:i.contentTypes.map(({uid:s})=>s)}})},readSettingsConfigIndex(){return[Y,"config"]},readContentType(){return e.get("/content-manager/content-types").then(({data:n})=>Vt.array().parse(n.data))},readContentTypeIndex(){return[Y,"content-manager","content-types"]},readContentTypeItems({uid:n,locale:i,query:s}){const d=new URLSearchParams;return s&&d.append("_q",s),i&&d.append("locale",i),e.get(`/${Y}/content-type-items/${n}?${d.toString()}`).then(({data:r})=>gn.array().parse(r))},readContentTypeItemsIndex({uid:n,locale:i,query:s}){return[Y,"content-manager","content-type-items",n,i,s]},readLocale(){return e.get(`/${Y}/settings/locale`).then(n=>en.parse(n.data))},readLocaleIndex(){return[Y,"locale"]},copyNavigationLocale({documentId:n,source:i,target:s}){return e.put(`/${Y}/i18n/copy/${n}/${i}/${s}`)},copyNavigationItemLocale({source:n,structureId:i="",target:s}){return e.get(`/${Y}/i18n/item/read/${n}/${s}?path=${i}`).then(d=>fn.parse(d.data))}})),yn=t.jsx(O.WarningCircle,{}),We=({isVisible:e=!1,isActionAsync:n=!1,children:i,onConfirm:s,onCancel:d,header:r,labelCancel:h,labelConfirm:x,iconConfirm:F,mainIcon:g=yn})=>{const{formatMessage:f}=H.useIntl();return e?t.jsx(a.Dialog.Root,{open:e,onOpenChange:S=>{!S&&e&&d?.(void 0)},title:r||f(l("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||f(l("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||f(l("components.confirmation.dialog.button.cancel","Cancel"))})}),t.jsx(a.Button,{fullWidth:!0,onClick:s,variant:"danger-light",startIcon:F||t.jsx(O.Check,{}),disabled:n,children:x||f(l("components.confirmation.dialog.button.confirm","Confirm"))})]})]})}):null},it=t.jsx(t.Fragment,{}),xn=({onConfirm:e,onCancel:n})=>{const{formatMessage:i}=H.useIntl();return t.jsx(We,{isVisible:!0,header:i(l("pages.view.actions.i18nCopyItems.confirmation.header")),labelConfirm:i(l("pages.view.actions.i18nCopyItems.confirmation.confirm")),iconConfirm:it,mainIcon:it,onConfirm:e,onCancel:n,children:i(l("pages.view.actions.i18nCopyItems.confirmation.content"))})},He=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readLocaleIndex(),queryFn:n.readLocale,staleTime:1/0})},It=e=>{const n=P.getFetchClient(),i=ee(n);return W.useQuery({queryKey:i.readContentTypeItemsIndex(e),queryFn:()=>i.readContentTypeItems(e),staleTime:1e3*60*3,enabled:!!e.uid})},bn=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1e3*60*3})},jn=()=>{const e=P.getFetchClient(),n=ee(e),i=W.useQueryClient();return()=>{i.resetQueries({queryKey:n.readAllIndex()})}},In=()=>{const e=P.getFetchClient(),n=ee(e),i=W.useQueryClient();return()=>{i.resetQueries({queryKey:n.readContentTypeIndex()})}},Xe=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readAllIndex(),queryFn(){return n.readAll().then(i=>i.map(s=>({...s,items:s.items.map(Ze)})))},staleTime:1e3*60*5})},Cn=()=>{const e=W.useQueryClient(),n=P.getFetchClient(),i=ee(n);return p.useCallback(()=>{e.invalidateQueries({queryKey:i.getIndexPrefix()})},[e,n,i])},vn=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return Promise.all(i.map(n.delete))}})},Tn=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn:n.copyNavigationItemLocale})},wn=()=>{const e=P.getFetchClient(),n=ee(e),i=W.useQueryClient();return W.useMutation({mutationFn:n.copyNavigationLocale,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},Sn=()=>{const e=P.getFetchClient(),n=ee(e),i=W.useQueryClient();return W.useMutation({mutationFn:n.create,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},Ct=e=>{const n=P.getFetchClient(),i=ee(n),s=W.useQueryClient();return W.useMutation({mutationFn:i.update,onSuccess(){s.invalidateQueries({queryKey:i.readAllIndex()}),e?.()}})},vt=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return i?.length?Promise.all(i.map(s=>n.purge({documentId:s,withLangVersions:!0}))):n.purge({})}})},ke=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readConfigIndex(),queryFn:n.readConfig})},Fn=e=>{const[n,i]=p.useState(!1),[s,d]=p.useState(void 0),r=p.useCallback(()=>{i(!1)},[i]),h=p.useCallback(()=>{s&&(e(s),i(!1))},[e,s]),x=p.useMemo(()=>n?t.jsx(xn,{onConfirm:h,onCancel:r}):null,[n,h,r]);return p.useMemo(()=>({setI18nCopyModalOpened:i,setI18nCopySourceLocale:d,i18nCopyItemsModal:x,i18nCopySourceLocale:s}),[d,i,x,s])},Ze=e=>({...e,viewId:Math.floor(Math.random()*152e4),items:e.items?.map(Ze)}),$e=(e=[])=>j.orderBy(e,["order"],["asc"]).map((n,i)=>{const s=i+1;return{...n,order:s,updated:n.updated||s!==n.order}}),ze=(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(s=>s.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ee(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?Ee(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(s=>s.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(s=>s.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ee(e,e.items,n):e.items,viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated},Ee=(e,n=[],i)=>{if(!e.viewParentId){if(e.viewId){const d=n.map(r=>r.viewId===e.viewId?ze(e,i):{...r,items:r.items?.length?Ee(e,r.items,i):r.items});return $e(d)}return[...$e([...n,ze({...e,viewId:Date.now()},i)])]}const s=n.map(d=>{const r=d.items||[];if(e.viewParentId===d.viewId){if(!e.viewId)return{...d,items:[...$e([...r,ze({...e,viewId:Date.now()},i)])]};const h=r.map(x=>x.viewId===e.viewId?ze(e,i):x);return{...d,items:$e(h)}}return{...d,items:d.items?.length?Ee(e,d.items,i):d.items}});return $e(s)},Be=(e,n)=>{const i=n?.contentTypes??[],s=n?.contentTypesNameFields??{},d=s.default??[],{__collectionUid:r}=e,h=i.find(({uid:f})=>f===r);if(h?.isSingle)return h.labelSingular;const x=[...d,...d.map(f=>j.capitalize(f))],F=j.get(s,`${h?h.uid:r}`,x),g=(j.isEmpty(F)?x:F).map(f=>e[f]).filter(f=>f);return j.first(g)||""},Nn=({relatedRef:e,relatedType:n={},type:i,isCollection:s})=>s?n.available||e.available:i==="INTERNAL"&&(e?"publishedAt"in e:!1)?j.get(e,"publishedAt",!0):!0,Ne=(e,n=!1)=>{const{__type:i,documentId:s}=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:s,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=>Ne(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=>Ne(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=>Ne(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive,path:e.path??""}},Tt=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))},Le=({start:e,end:n})=>t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:ot(e)}),ot(n)]}),ot=e=>e?t.jsx(a.Button,{onClick:e.onClick,variant:e.variant,disabled:e.disabled,children:e.children}):null,An=({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()}),wt=({navigation:e,onChange:n,alreadyUsedNames:i=[],isLoading:s})=>{const[d,r]=p.useState({}),[h,x]=p.useState(),{formatMessage:F}=H.useIntl(),{name:g,visible:f}=d,S=(I,T,u)=>{if(u){let v=I,A=T;if(j.isObject(I)){const{name:V,value:le}=I.target;v=V,A=j.isNil(A)?le:A}return j.isString(v)&&b(v,A),u(I,A)}},b=(I,T)=>{r(j.set({...d},I,T))},$=I=>{const T=j.get(h,I);if(T)return T};return p.useEffect(()=>{e&&(e.name?r({...e}):(r({name:"New navigation",visible:!0}),n({name:"New navigation",visible:!0,disabled:!0})))},[]),p.useEffect(()=>{if(`${g}-${f}`!=`${e.name}-${e.visible}`){const{error:I}=An({alreadyUsedNames:i}).safeParse(d);n({...e,name:g,visible:f,disabled:!j.isEmpty(I?.issues)}),x(I?I.issues.reduce((T,u)=>({...T,[u.path.join(".")]:u.message}),{}):void 0)}},[g,f]),t.jsx(P.Form,{width:"auto",height:"auto",method:"POST",initialValues:d,children:({values:I,onChange:T})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:6,children:t.jsx(G.Field,{name:"name",label:F(l("popup.navigation.form.name.label","Name")),error:$("name"),children:t.jsx(a.TextInput,{name:"name",type:"string",placeholder:F(l("popup.navigation.form.name.placeholder","Navigations's name")),onChange:(u,v)=>S(u,v,T),value:I.name,disabled:s})})}),t.jsx(a.Grid.Item,{col:6,children:t.jsx(G.Field,{name:"visible",label:F(l("popup.navigation.form.visible.label","Visibility")),error:$("visible"),children:t.jsx(a.Toggle,{name:"visible",checked:I.visible,onChange:u=>S(u,!I.visible,T),onLabel:F(l("popup.navigation.form.visible.toggle.visible")),offLabel:F(l("popup.navigation.form.visible.toggle.hidden")),disabled:s,width:"100%"})})})]})})},Rn={name:"",items:[],visible:!1},En=({setState:e,current:n,isLoading:i,alreadyUsedNames:s})=>{const d=p.useCallback(({disabled:r,...h})=>{e({view:"CREATE",current:h,alreadyUsedNames:s,disabled:r})},[e]);return t.jsx(wt,{alreadyUsedNames:s,navigation:n,onChange:d,isLoading:i})},Ln=({onSubmit:e,onReset:n,disabled:i,isLoading:s})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),variant:"tertiary",disabled:s,onClick:n},end:{children:d(l("popup.navigation.manage.button.save")),variant:"default",disabled:s||i,onClick:e}})},$n=t.jsx(O.Pencil,{}),Pn=t.jsx(O.Trash,{}),st=t.jsx(O.Feather,{}),kn=({navigations:e,selected:n,setState:i})=>{const s=ke(),d=!!n.length,{formatMessage:r}=H.useIntl(),h=He(),x=p.useCallback(()=>i({navigations:e,selected:d?[]:e.map(u=>u),view:"LIST"}),[i,e,d]),F=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"})},f=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})},b=u=>()=>{i({view:"CACHE_PURGE",navigations:u})},$=p.useCallback(S(n),[S]),I=p.useCallback(b(n),[b]),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:r(l("popup.navigation.manage.table.hasSelected"),{count:n.length})}),t.jsx(a.Button,{onClick:$,variant:"tertiary",children:r(l("popup.navigation.manage.button.delete"))}),s.data?.isCacheEnabled?t.jsx(a.Button,{onClick:I,variant:"tertiary",children:r(l("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:x,check:d})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:r(l("popup.navigation.manage.table.id"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:r(l("popup.navigation.manage.table.name"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:r(l("popup.navigation.manage.table.locale"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:r(l("popup.navigation.manage.table.visibility"))})}),t.jsx(a.Th,{children:s.data?.isCacheEnabled?t.jsx(a.Flex,{direction:"row",children:t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:b([]),label:r(l("popup.navigation.manage.button.purge")),noBorder:!0,children:st})})}):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,F.has(u.documentId)),checked:F.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?r(l("popup.navigation.manage.navigation.visible")):r(l("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:f(u),label:r(l("popup.navigation.manage.button.edit")),noBorder:!0,children:$n})}),t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:S([u]),label:r(l("popup.navigation.manage.button.delete")),noBorder:!0,children:Pn})}),s.data?.isCacheEnabled?t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:b([u]),label:r(l("popup.navigation.manage.button.purge")),noBorder:!0,children:st})}):null]})})]},u.documentId))})]})]})},zn=({onClose:e,state:n,setState:i,navigations:s,isLoading:d})=>{const{formatMessage:r}=H.useIntl();return t.jsx(Le,{start:{onClick:e,variant:"tertiary",disabled:d,children:r(l("popup.item.form.button.cancel"))},end:{onClick:()=>i({view:"CREATE",alreadyUsedNames:s.map(({name:h})=>h),current:Rn}),variant:"default",disabled:d,children:r(l("popup.navigation.manage.button.create"))}})},Mn=({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(l("popup.navigation.manage.delete.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:Dn(e)})})]})},Bn=({state:e,onSubmit:n,onReset:i,isLoading:s})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),disabled:s,onClick:i,variant:"tertiary"},end:{children:d(l("popup.navigation.manage.button.delete")),disabled:s,onClick:n,variant:"danger"}})},Dn=e=>e.map(Me.prop("name")).join(", "),qn=({errors:e})=>{const{formatMessage:n}=H.useIntl(),{toggleNotification:i}=P.useNotification();return p.useEffect(()=>{e.map(s=>{i({type:"warning",message:n({id:"",defaultMessage:s.message})}),console.error(s)})},[]),t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,children:n(l("popup.navigation.manage.error.message"))})})},On=({onReset:e})=>{const{formatMessage:n}=H.useIntl();return t.jsx(Le,{end:{children:n(l("popup.navigation.manage.button.goBack")),onClick:e,variant:"secondary"}})},Gn=({alreadyUsedNames:e,current:n,isLoading:i,navigation:s,setState:d})=>{const r=p.useMemo(()=>n??s,[n]),h=p.useCallback(({disabled:x,...F})=>{d({view:"EDIT",alreadyUsedNames:e,current:F,disabled:x,navigation:s})},[d,s,e]);return t.jsx(wt,{navigation:r,onChange:h,isLoading:i,alreadyUsedNames:e})},Vn=({onSubmit:e,onReset:n,disabled:i,isLoading:s})=>{const{formatMessage:d}=H.useIntl();return t.jsx(Le,{start:{children:d(l("popup.item.form.button.cancel")),disabled:s,onClick:n,variant:"tertiary"},end:{children:d(l("popup.navigation.manage.button.save")),disabled:s||i,onClick:e,variant:"secondary"}})},_n=({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(l("popup.navigation.manage.purge.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:Kn(e)})})]})},Qn=({onSubmit:e,onReset:n,isLoading:i})=>{const{formatMessage:s}=H.useIntl();return t.jsx(Le,{start:{children:s(l("popup.item.form.button.cancel")),disabled:i,onClick:n,variant:"tertiary"},end:{children:s(l("popup.navigation.manage.footer.button.purge")),disabled:i,onClick:e,variant:"danger"}})},Kn=e=>e.map(Me.prop("name")).join(", "),Un=({initialState:e,isOpened:n,onClose:i})=>{const{formatMessage:s}=H.useIntl(),[d,r]=p.useState(e),{toggleNotification:h}=P.useNotification(),x=Cn(),F=vn(),g=Sn(),f=Ct(),S=vt(),b=Xe(),$=He(),I=p.useMemo(()=>j.sortBy(b.data??[],"id"),[b.data]),T=Tt([F,b,g,f,S,$]),u=p.useCallback(()=>r({view:"INITIAL"}),[r]),v=p.useCallback(async()=>{const M=d.view==="DELETE"?()=>{F.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:x})}:d.view==="EDIT"?()=>{f.mutate(d.current,{onSuccess(){x(),h({type:"success",message:s(l("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:s(l("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CREATE"&&d.current?()=>{g.mutate(d.current,{onSuccess(){x(),h({type:"success",message:s(l("notification.navigation.submit"))})},onError(J){console.warn(J),h({type:"warning",message:s(l("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CACHE_PURGE"?()=>{S.mutate(d.navigations.reduce((J,ne)=>(ne.documentId&&J.push(ne.documentId),J),[]),{onSuccess:x})}:()=>{};try{M(),r({view:"INITIAL"})}catch(J){r({view:"ERROR",errors:J instanceof Error?[J]:[]})}},[d,r,x,g,S,f,F,h,s,l]);p.useEffect(()=>{(d.view==="INITIAL"||d.view==="LIST")&&r({view:"LIST",navigations:I,selected:[]})},[d.view,I]);const A=Wn(d,s,!!T),V=Hn(d,r,!!T),le=Xn({state:d,setState:r,onClose:i,onSubmit:v,onReset:u,navigations:I,isLoading:!!T});return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:M=>{M||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}),le]})})},Wn=(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(l(`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(l("popup.navigation.manage.header.EDIT"),{name:e.navigation.name})]});case"INITIAL":return null;default:return Je(e)}},Hn=(e,n,i)=>{const s={setState:n,isLoading:i};switch(e.view){case"LIST":return t.jsx(kn,{...e,...s});case"EDIT":return t.jsx(Gn,{...e,...s});case"CREATE":return t.jsx(En,{...e,...s});case"DELETE":return t.jsx(Mn,{...e,...s});case"CACHE_PURGE":return t.jsx(_n,{...e,...s});case"INITIAL":return t.jsx(a.Loader,{small:!0});case"ERROR":return t.jsx(qn,{...e,...s});default:return Je(e)}},Xn=e=>{switch(e.state.view){case"LIST":return t.jsx(zn,{...e});case"CREATE":return t.jsx(Ln,{...e,disabled:e.state.disabled});case"EDIT":return t.jsx(Vn,{...e,disabled:e.state.disabled});case"DELETE":return t.jsx(Bn,{...e});case"CACHE_PURGE":return t.jsx(Qn,{...e});case"ERROR":return t.jsx(On,{...e});case"INITIAL":return null;default:return Je(e.state)}},Je=e=>(console.warn(`Unknown state "${e?.view}". (${JSON.stringify(e)})`),null),Zn=()=>{const[e,n]=p.useState(!1),i=p.useCallback(()=>n(!0),[n]),s=p.useCallback(()=>n(!1),[n]),d=p.useMemo(()=>e?t.jsx(Un,{initialState:{view:"INITIAL"},isOpened:!0,onClose:s}):null,[e,s]);return p.useMemo(()=>({navigationManagerModal:d,openNavigationManagerModal:i,closeNavigationManagerModal:s}),[d,i,s])},rt=t.jsx(O.Check,{}),Jn=({activeNavigation:e,availableNavigations:n,structureHasErrors:i,structureHasChanged:s,handleChangeSelection:d,handleLocalizationSelection:r,handleSave:h,handleCachePurge:x,permissions:F={},locale:g,currentLocale:f})=>{const{formatMessage:S}=H.useIntl(),{openNavigationManagerModal:b,navigationManagerModal:$}=Zn(),I=!!g.restLocale,{canUpdate:T}=F,u=ke();return t.jsx(t.Fragment,{children:t.jsx(P.Layouts.Header,{title:S(l("header.title","UI Navigation")),subtitle:S(l("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:[I?null:t.jsx(a.Grid.Item,{col:2}),T&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:b,startIcon:null,type:"button",variant:"secondary",fullWidth:!0,size:"S",children:S(l("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===f).map(({documentId:v,name:A})=>t.jsx(a.SingleSelectOption,{value:v,children:A},v))})})}),I?t.jsx(a.Grid.Item,{col:2,children:t.jsx(a.SingleSelect,{type:"select",placeholder:S(l("pages.main.header.localization.select.placeholder")),name:"navigationLocalizationSelect",onChange:r,value:f,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:rt,disabled:i||!s,type:"submit",fullWidth:!0,size:"S",children:S(l("submit.cta.save"))})}),u.data?.isCacheEnabled&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:x,startIcon:rt,variant:"danger",type:"submit",fullWidth:!0,size:"S",children:S(l("submit.cta.cache.purge"))})})]})}),T&&$]}),secondaryAction:t.jsx(a.Tag,{icon:t.jsx(O.Information,{"aria-hidden":!0}),children:e?S(l("header.meta"),{id:e?.documentId,key:e?.slug}):null})})})},Yn=({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})]}),ea=we.default.div`
8
8
  border-radius: 50%;
9
9
  background: #dcdce4;
10
10
  width: 25px;
@@ -13,7 +13,7 @@
13
13
  justify-content: center;
14
14
  align-items: center;
15
15
  margin-right: 8px;
16
- `,ea=({toggle:e,collapsed:n,itemsCount:i})=>t.jsxs(a.Flex,{justifyContent:"space-between",alignItems:"center",onClick:e,cursor:"pointer",style:{marginRight:"16px"},children:[t.jsx(Yn,{children:n?t.jsx(q.CaretDown,{width:"16px",height:"9px"}):t.jsx(q.CaretUp,{width:"16px",height:"9px"})}),t.jsxs(a.Typography,{variant:"pi",children:[i," nested items"]})]}),wt=Ce.default(a.Badge)`
16
+ `,ta=({toggle:e,collapsed:n,itemsCount:i})=>t.jsxs(a.Flex,{justifyContent:"space-between",alignItems:"center",onClick:e,cursor:"pointer",style:{marginRight:"16px"},children:[t.jsx(ea,{children:n?t.jsx(O.CaretDown,{width:"16px",height:"9px"}):t.jsx(O.CaretUp,{width:"16px",height:"9px"})}),t.jsxs(a.Typography,{variant:"pi",children:[i," nested items"]})]}),St=we.default(a.Badge)`
17
17
  border: 1px solid ${({theme:e,borderColor:n})=>e.colors[n]};
18
18
 
19
19
  ${({small:e,theme:n})=>e&&`
@@ -29,7 +29,7 @@
29
29
  vertical-align: middle;
30
30
  }
31
31
  `}
32
- `,ta=Ce.default.span`
32
+ `,na=we.default.span`
33
33
  display: flex;
34
34
  align-items: center;
35
35
  justify-content: center;
@@ -77,7 +77,7 @@
77
77
  }
78
78
  }
79
79
  }
80
- `,na=Et.default.forwardRef((e,n)=>t.jsx(ta,{...e,ref:n,children:t.jsx(q.Drag,{})})),aa=Ce.default(a.CardTitle)`
80
+ `,aa=Lt.default.forwardRef((e,n)=>t.jsx(na,{...e,ref:n,children:t.jsx(O.Drag,{})})),ia=we.default(a.CardTitle)`
81
81
  width: 100%;
82
82
 
83
83
  display: flex;
@@ -88,10 +88,10 @@
88
88
  > div > * {
89
89
  margin: 0px ${({theme:e})=>e.spaces[1]};
90
90
  }
91
- `,ia=t.jsx(q.Pencil,{}),oa=t.jsx(q.Trash,{}),sa=t.jsx(q.Eye,{}),ra=t.jsx(q.ArrowClockwise,{}),la={zIndex:2},da={maxWidth:"425px"},ca=({title:e,path:n,icon:i,removed:r,canUpdate:d,onItemRemove:s,onItemEdit:h,onItemRestore:x,dragRef:S,isSearchActive:g})=>{const{formatMessage:y}=U.useIntl();return t.jsxs(aa,{children:[t.jsxs(a.Flex,{alignItems:"center",children:[d&&t.jsx(na,{ref:S,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:da,children:n}),t.jsx(a.Flex,{children:i})]}),t.jsxs(a.Flex,{alignItems:"center",style:la,children:[r&&t.jsx(wt,{borderColor:"danger200",backgroundColor:"danger100",textColor:"danger600",children:y(l("components.navigationItem.badge.removed"))}),t.jsxs(a.IconButtonGroup,{children:[t.jsx(Ge,{isActive:g,disabled:r,onClick:h,label:y(l(`components.navigationItem.action.${d?"edit":"view"}`,d?"Edit":"View")),children:d?ia:sa}),d&&t.jsx(t.Fragment,{children:r?t.jsx(Ge,{isActive:g,onClick:x,label:y(l("components.navigationItem.action.restore","Restore")),variant:"success-light",children:ra}):t.jsx(Ge,{isActive:g,onClick:s,variant:"danger-light",label:y(l("components.navigationItem.action.remove","Remove")),children:oa})})]})]})]})},Ge=Ce.default(a.IconButton)`
91
+ `,oa=t.jsx(O.Pencil,{}),sa=t.jsx(O.Trash,{}),ra=t.jsx(O.Eye,{}),la=t.jsx(O.ArrowClockwise,{}),da={zIndex:2},ca={maxWidth:"425px"},ua=({title:e,path:n,icon:i,removed:s,canUpdate:d,onItemRemove:r,onItemEdit:h,onItemRestore:x,dragRef:F,isSearchActive:g})=>{const{formatMessage:f}=H.useIntl();return t.jsxs(ia,{children:[t.jsxs(a.Flex,{alignItems:"center",children:[d&&t.jsx(aa,{ref:F,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:ca,children:n}),t.jsx(a.Flex,{children:i})]}),t.jsxs(a.Flex,{alignItems:"center",style:da,children:[s&&t.jsx(St,{borderColor:"danger200",backgroundColor:"danger100",textColor:"danger600",children:f(l("components.navigationItem.badge.removed"))}),t.jsxs(a.IconButtonGroup,{children:[t.jsx(Ge,{isActive:g,disabled:s,onClick:h,label:f(l(`components.navigationItem.action.${d?"edit":"view"}`,d?"Edit":"View")),children:d?oa:ra}),d&&t.jsx(t.Fragment,{children:s?t.jsx(Ge,{isActive:g,onClick:x,label:f(l("components.navigationItem.action.restore","Restore")),variant:"success-light",children:la}):t.jsx(Ge,{isActive:g,onClick:r,variant:"danger-light",label:f(l("components.navigationItem.action.remove","Remove")),children:sa})})]})]})]})},Ge=we.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
- `,ua=Ce.default.div`
94
+ `,pa=we.default.div`
95
95
  width: 100%;
96
96
  height: 100%;
97
97
  position: absolute;
@@ -100,7 +100,7 @@
100
100
  z-index: 1;
101
101
 
102
102
  background: rgba(255, 255, 255, 0.75);
103
- `,pa=Ce.default.div`
103
+ `,ma=we.default.div`
104
104
  position: relative;
105
105
  margin-top: ${({theme:e})=>e.spaces[2]};
106
106
  margin-left: ${({level:e})=>e&&"54px"};
@@ -134,7 +134,7 @@
134
134
  border-radius: 0 0 0 100%;
135
135
  }
136
136
  `};
137
- `,ma=({item:e,isLast:n=!1,level:i=0,levelPath:r="",isParentAttachedToMenu:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:x,onItemEdit:S,onItemReOrder:g,onItemToggleCollapse:y,displayChildren:w,permissions:b,structureId:k,viewParentId:C,locale:T})=>{const u=Se(e,!0),{formatMessage:v}=U.useIntl(),A=Pe(),G=u.type==="EXTERNAL",le=u.type==="WRAPPER",z=j.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels-1:!0,Z=j.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels:!0,ne=!j.isEmpty(e.items)&&!w,fe=G?void 0:`${r==="/"?"":r}/${u.path==="/"?"":u.path}`.replace("//","/"),ye=jt({uid:u.type==="INTERNAL"?u.relatedType??"":"",locale:T}),ee=xn().data?.find($=>u.type==="INTERNAL"?$.uid===u.relatedType:!1),W=ee?.uid.includes("api::"),re=ye.data?.find($=>u.type==="INTERNAL"?$.documentId===u.related:!1)??{documentId:"",id:0},ue=!!re?.publishedAt,xe=G?"":Be(re,A.data),be=ee?.info.displayName??"",oe=ue?"success":"secondary",je=b.canUpdate,ve=p.useRef(null),pe=p.useRef(null),Ie=p.useRef(null),[,Te]=_e.useDrop({accept:`navigation-item_${r}`,hover($,J){const E=$.order??0,ie=e.order??0;if(E===ie)return;const Re=pe.current.getBoundingClientRect(),Fe=(Re.bottom-Re.top)/2,we=J.getClientOffset();if(!we)return;const N=we.y-Re.top,se=N>Fe?(e.order??0)+.5:(e.order??0)-.5;E<ie&&N<Fe||E>ie&&N>Fe||g({item:Se($,!0),newOrder:se})},collect:$=>({isOverCurrent:$.isOver({shallow:!0})})}),[{isDragging:ae},f,B]=_e.useDrag({type:`navigation-item_${r}`,item:()=>e,collect:$=>({isDragging:$.isDragging()})}),R={dragRef:f(ve),dropRef:Te(pe),previewRef:B(Ie)},F=$=>{const J=ee?.kind==="singleType",E=$?.locale?`?plugins[i18n][locale]=${$?.locale}`:"";return`/admin/content-manager/${J?"single-types":"collection-types"}/${ee?.uid}${J?"":"/"+$?.documentId}${E}`},H=p.useCallback($=>{if(!je)return;const J=(u.items??[]).reduce((E,{order:ie})=>E<ie?ie:E,0);return s($,u.viewId,z,fe,u.menuAttached,`${k}.${u.items?.length??0}`,J)},[u.viewId,z,fe,u.menuAttached,k,u.items,je]);p.useEffect(()=>{u.isSearchActive&&R.dropRef?.current?.scrollIntoView?.({behavior:"smooth",block:"center",inline:"center"})},[u.isSearchActive,R.dropRef.current]);const X=gt.useTheme();return t.jsxs(pa,{level:i,isLast:n,style:{opacity:ae?.2:1},ref:R?R.dropRef:void 0,children:[t.jsxs(a.Card,{style:{width:"728px",zIndex:1,position:"relative",overflow:"hidden",backgroundColor:u.isSearchActive?X.colors.secondary100:void 0,borderColor:u.isSearchActive?X.colors.secondary200:void 0,transition:"background-color 0.3s ease-in"},children:[u.removed&&t.jsx(ua,{}),t.jsxs("div",{ref:R.previewRef,children:[t.jsx(a.CardBody,{children:t.jsx(ca,{title:e.title??"",path:G?u.externalPath:fe,icon:G?t.jsx(q.Earth,{}):le?t.jsx(q.Cog,{}):t.jsx(q.Link,{}),onItemRemove:()=>h({...e,viewParentId:C}),onItemEdit:()=>{const{__type:$,documentId:J}=e.related??{};e.type!=="EXTERNAL"&&e.type!=="INTERNAL"&&e.type!=="WRAPPER"||S({item:e.type==="INTERNAL"?{...e,type:"INTERNAL",isMenuAllowedLevel:Z,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:$??"",related:J??"",additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:void 0,viewParentId:C,audience:e.audience?.map(({documentId:E})=>E)??[]}:e.type==="EXTERNAL"?{...e,type:"EXTERNAL",isMenuAllowedLevel:Z,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:E})=>E)??[]}:{...e,type:"WRAPPER",isMenuAllowedLevel:Z,isParentAttachedToMenu:d,isSearchActive:!1,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,viewParentId:C,audience:e.audience?.map(({documentId:E})=>E)??[]},levelPath:r,isParentAttachedToMenu:d})},onItemRestore:()=>x({...e,viewParentId:C}),dragRef:R.dragRef,removed:u.removed,canUpdate:je,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:[!j.isEmpty(e.items)&&t.jsx(ea,{toggle:()=>y({...e,viewParentId:C}),collapsed:u.collapsed,itemsCount:e.items?.length??0}),je&&z&&t.jsx(a.TextButton,{disabled:u.removed,startIcon:t.jsx(q.Plus,{}),onClick:H,children:t.jsx(a.Typography,{variant:"pi",fontWeight:"bold",textColor:u.removed?"neutral600":"primary600",children:v(l("components.navigationItem.action.newItem"))})})]}),u.type==="INTERNAL"&&u.related&&!re.id?t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[be," / "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:v(l("components.navigationItem.related.localeMissing"))})]}):null,xe&&t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsx(wt,{borderColor:`${oe}200`,backgroundColor:`${oe}100`,textColor:`${oe}600`,className:"action",small:!0,children:v(l(`components.navigationItem.badge.${ue?"published":"draft"}`))}),t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[be," / "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:xe}),W&&t.jsx(a.Link,{href:F(re??void 0),endIcon:t.jsx(q.ArrowRight,{}),children:" "})]})]})})]})]}),ne&&!u.removed&&!u.collapsed&&t.jsx(St,{onItemLevelAdd:s,onItemRemove:h,onItemEdit:S,onItemRestore:x,onItemReOrder:g,onItemToggleCollapse:y,isParentAttachedToMenu:u.menuAttached,items:e.items??[],level:i+1,levelPath:fe,permissions:b,structurePrefix:k,viewParentId:u.viewId,locale:T})]})},ga=Ce.default.div`
137
+ `,ga=({item:e,isLast:n=!1,level:i=0,levelPath:s="",isParentAttachedToMenu:d,onItemLevelAdd:r,onItemRemove:h,onItemRestore:x,onItemEdit:F,onItemReOrder:g,onItemToggleCollapse:f,displayChildren:S,permissions:b,structureId:$,viewParentId:I,locale:T})=>{const u=Ne(e,!0),{formatMessage:v}=H.useIntl(),A=ke(),V=u.type==="EXTERNAL",le=u.type==="WRAPPER",M=j.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels-1:!0,J=j.isNumber(A.data?.allowedLevels)?i<A.data.allowedLevels:!0,ne=!j.isEmpty(e.items)&&!S,be=V?void 0:`${s==="/"?"":s}/${u.path==="/"?"":u.path}`.replace("//","/"),je=It({uid:u.type==="INTERNAL"?u.relatedType??"":"",locale:T}),te=bn().data?.find(D=>u.type==="INTERNAL"?D.uid===u.relatedType:!1),Z=te?.uid.includes("api::"),ie=je.data?.find(D=>u.type==="INTERNAL"?D.documentId===u.related:!1)??{documentId:"",id:0},ue=!!ie?.publishedAt,Ie=V?"":Be(ie,A.data),Ce=te?.info.displayName??"",oe=ue?"success":"secondary",ve=b.canUpdate,Se=p.useRef(null),pe=p.useRef(null),Te=p.useRef(null),[,Fe]=_e.useDrop({accept:`navigation-item_${s}`,hover(D,X){const _=D.order??0,E=e.order??0;if(_===E)return;const me=pe.current.getBoundingClientRect(),re=(me.bottom-me.top)/2,ge=X.getClientOffset();if(!ge)return;const N=ge.y-me.top,se=N>re?(e.order??0)+.5:(e.order??0)-.5;_<E&&N<re||_>E&&N>re||g({item:Ne(D,!0),newOrder:se})},collect:D=>({isOverCurrent:D.isOver({shallow:!0})})}),[{isDragging:ae},ye,y]=_e.useDrag({type:`navigation-item_${s}`,item:()=>e,collect:D=>({isDragging:D.isDragging()})}),z={dragRef:ye(Se),dropRef:Fe(pe),previewRef:y(Te)},w=D=>{const X=te?.kind==="singleType",_=D?.locale?`?plugins[i18n][locale]=${D?.locale}`:"";return`/admin/content-manager/${X?"single-types":"collection-types"}/${te?.uid}${X?"":"/"+D?.documentId}${_}`},R=p.useCallback(D=>{if(!ve)return;const X=(u.items??[]).reduce((_,{order:E})=>_<E?E:_,0);return r(D,u.viewId,M,be,u.menuAttached,`${$}.${u.items?.length??0}`,X)},[u.viewId,M,be,u.menuAttached,$,u.items,ve]);p.useEffect(()=>{u.isSearchActive&&z.dropRef?.current?.scrollIntoView?.({behavior:"smooth",block:"center",inline:"center"})},[u.isSearchActive,z.dropRef.current]);const k=ht.useTheme();return t.jsxs(ma,{level:i,isLast:n,style:{opacity:ae?.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?k.colors.secondary100:void 0,borderColor:u.isSearchActive?k.colors.secondary200:void 0,transition:"background-color 0.3s ease-in"},children:[u.removed&&t.jsx(pa,{}),t.jsxs("div",{ref:z.previewRef,children:[t.jsx(a.CardBody,{children:t.jsx(ua,{title:e.title??"",path:V?u.externalPath:be,icon:V?t.jsx(O.Earth,{}):le?t.jsx(O.Cog,{}):t.jsx(O.Link,{}),onItemRemove:()=>h({...e,viewParentId:I}),onItemEdit:()=>{const{__type:D,documentId:X}=e.related??{};e.type!=="EXTERNAL"&&e.type!=="INTERNAL"&&e.type!=="WRAPPER"||F({item:e.type==="INTERNAL"?{...e,type:"INTERNAL",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,relatedType:D??"",related:X??"",additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,externalPath:void 0,viewParentId:I,audience:e.audience?.map(({documentId:_})=>_)??[]}: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:I,audience:e.audience?.map(({documentId:_})=>_)??[]}:{...e,type:"WRAPPER",isMenuAllowedLevel:J,isParentAttachedToMenu:d,isSearchActive:!1,additionalFields:e.additionalFields??{},items:e.items??[],autoSync:e.autoSync??!0,viewParentId:I,audience:e.audience?.map(({documentId:_})=>_)??[]},levelPath:s,isParentAttachedToMenu:d})},onItemRestore:()=>x({...e,viewParentId:I}),dragRef:z.dragRef,removed:u.removed,canUpdate:ve,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:[!j.isEmpty(e.items)&&t.jsx(ta,{toggle:()=>f({...e,viewParentId:I}),collapsed:u.collapsed,itemsCount:e.items?.length??0}),ve&&M&&t.jsx(a.TextButton,{disabled:u.removed,startIcon:t.jsx(O.Plus,{}),onClick:R,children:t.jsx(a.Typography,{variant:"pi",fontWeight:"bold",textColor:u.removed?"neutral600":"primary600",children:v(l("components.navigationItem.action.newItem"))})})]}),u.type==="INTERNAL"&&u.related&&!ie.id?t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[Ce," / "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:v(l("components.navigationItem.related.localeMissing"))})]}):null,Ie&&t.jsxs(a.Flex,{justifyContent:"center",alignItems:"center",children:[t.jsx(St,{borderColor:`${oe}200`,backgroundColor:`${oe}100`,textColor:`${oe}600`,className:"action",small:!0,children:v(l(`components.navigationItem.badge.${ue?"published":"draft"}`))}),t.jsxs(a.Typography,{variant:"omega",textColor:"neutral600",children:[Ce," / "]}),t.jsx(a.Typography,{variant:"omega",textColor:"neutral800",children:Ie}),Z&&t.jsx(a.Link,{href:w(ie??void 0),endIcon:t.jsx(O.ArrowRight,{}),children:" "})]})]})})]})]}),ne&&!u.removed&&!u.collapsed&&t.jsx(Ft,{onItemLevelAdd:r,onItemRemove:h,onItemEdit:F,onItemRestore:x,onItemReOrder:g,onItemToggleCollapse:f,isParentAttachedToMenu:u.menuAttached,items:e.items??[],level:i+1,levelPath:be,permissions:b,structurePrefix:$,viewParentId:u.viewId,locale:T})]})},ha=we.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
- `,St=({isParentAttachedToMenu:e=!1,items:n,level:i=0,levelPath:r="",onItemEdit:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:x,onItemReOrder:S,onItemToggleCollapse:g,displayFlat:y,permissions:w,structurePrefix:b,viewParentId:k,locale:C})=>t.jsx(ga,{"data-level":i,children:n?.map((T,u)=>t.jsx(ma,{item:T,isLast:u===n.length-1,level:i,levelPath:r,isParentAttachedToMenu:e,onItemRestore:x,onItemLevelAdd:s,onItemRemove:h,onItemEdit:d,onItemReOrder:S,onItemToggleCollapse:g,displayChildren:y,permissions:w,structureId:b?`${b}.${u}`:u.toString(),viewParentId:k,locale:C},`list-item-${T.viewId||u}`))}),ha="",fa={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},ya=({name:e,field:n,isLoading:i,onChange:r,onChangeEnhancer:d,value:s,disabled:h})=>{const{toggleNotification:x}=P.useNotification(),{formatMessage:S}=U.useIntl(),y=P.useStrapiApp("AdditionalFieldInput",b=>b.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,r)},[s]),n.type){case"boolean":return t.jsx(a.Toggle,{...w,checked:!!s,onChange:b=>d(b,!s,r),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return t.jsx(a.TextInput,{...w,onChange:(b,k)=>d(b,k,r),value:s||ha});case"select":return n.multi?t.jsx(a.MultiSelect,{...w,onChange:b=>d(w.name,b,r),value:j.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((b,k)=>t.jsx(a.MultiSelectOption,{value:b,children:b},`${n.name}-option-${k}`))}):t.jsx(a.SingleSelect,{...w,onChange:b=>d(w.name,b,r),value:j.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((b,k)=>t.jsx(a.SingleSelectOption,{value:b,children:b},`${n.name}-option-${k}`))});case"media":return t.jsx(y,{...w,...fa,value:s});default:throw x({type:"warning",message:S(l("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},xa=({handleCancel:e,handleSubmit:n,submitDisabled:i,canUpdate:r})=>{const{formatMessage:d}=U.useIntl();return r?t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:e,variant:"tertiary",children:d(l("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:n,disabled:i,children:d(l("popup.item.form.button.save"))})]}):null},ba=[/^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\-._~%!$&'()*+,;=:@]+)+\/?/],Ye=({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},{}))}),ja=({additionalFields:e,isSingleSelected:n})=>Ye({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()}),Ia=({isSingleSelected:e,additionalFields:n})=>Ye({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=>ba.some(r=>r.test(i))),relatedType:c.z.string().optional(),related:c.z.string().optional()}),Ca=({isSingleSelected:e,additionalFields:n})=>Ye({additionalFields:n}).extend({type:c.z.literal("WRAPPER"),path:c.z.string().or(c.z.null()).optional()}),va=e=>c.z.discriminatedUnion("type",[Ia(e),ja(e),Ca(e)]),lt={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Ta=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn(i){return n.slugify(i)}})},wa=async({slugify:e,title:n,config:i,related:r,relatedType:d,contentTypeItems:s})=>{if(n)return n?await e(n):void 0;if(r){const h=Be({...s?.find(x=>x.documentId===r.toString())??{documentId:"",id:0},__collectionUid:d},i);return h?await e(h):void 0}},Sa=({currentType:e,config:n,contentTypeItems:i,currentRelated:r,currentRelatedType:d,isSingleSelected:s})=>{if(e!=="INTERNAL"||!d)return"";const h=n?.pathDefaultFields[d]??[];if(j.isEmpty(e)&&!j.isEmpty(h)){const x=s?j.first(i??[]):i?.find(({id:g})=>g===r);return h.map(g=>x?.[g]??"").filter(g=>!!g.toString().trim())[0]??""}return""},Fa=({currentPath:e,isExternal:n,current:i,currentType:r="INTERNAL",config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:x,isSingleSelected:S})=>{if(!n){const g=j.isEmpty(e)||e==="/"?Sa({currentType:r,config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:x,isSingleSelected:S}):e||"";return`${i.levelPath!=="/"?`${i.levelPath}`:""}/${g}`.replace("//","/")}},dt=({name:e,onClear:n,onChange:i,options:r,value:d,disabled:s})=>{const[h,x]=p.useState(""),S=g=>{x(g)};return p.useEffect(()=>{d||S("")},[d]),t.jsx(a.Combobox,{name:e,autocomplete:"list",onClear:n,onChange:i,onTextValueChange:S,value:d,textValue:h,options:r,disabled:s,width:"100%",children:r.map(({key:g,label:y,value:w})=>t.jsx(a.ComboboxOption,{value:w,children:y},g))})},Na=[],Ra=({availableLocale:e,isLoading:n,current:i=lt,onSubmit:r,onCancel:d,appendLabelPublicationStatus:s=Aa,locale:h,permissions:x={},currentNavigation:S})=>{const{formatMessage:g}=U.useIntl(),[y,w]=p.useState(n),{canUpdate:b}=x,[k,C]=p.useState(!1),[T,u]=p.useState(),[v,A]=p.useState({}),[G,le]=p.useState(),z=Pe(),Z=z.data?.availableAudience??[],ne=z.data?.contentTypes??[],{toggleNotification:fe}=P.useNotification(),ye=vn(),ce=Xe(),ee=(m,L,_)=>{if(_){let D=m,I=L;if(j.isObject(m)){const{name:M,value:Q}=m.target;D=M,I=j.isNil(I)?Q:I}return j.isObject(I)?re(I):j.isString(D)&&W(D,I),_(m,I)}},W=(m,L)=>{A(j.set({...v,additionalFields:{...v.additionalFields},updated:!0},m,L))},re=m=>A({...v,additionalFields:{...v.additionalFields},updated:!0,...m}),ue=m=>({...m,additionalFields:z.data?.additionalFields.reduce((L,_)=>{const{name:D,type:I}=_;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(I){case"boolean":M=j.isBoolean(M)?`${M}`:M;break;case"media":M=M&&JSON.stringify(M);break}return{...L,[D]:M}}return L},{})||{}}),xe=m=>({...m,additionalFields:z.data?.additionalFields.reduce((L,_)=>{const{name:D,type:I}=_;if(D in(m.additionalFields??{})){let M=m.additionalFields[D];switch(I){case"boolean":M=M==="true";break;case"media":M=M&&JSON.parse(M);break}return{...L,[D]:M}}return L},{})||{}}),be=async(m,L)=>{m.preventDefault();const _=ue(L),{success:D,data:I,error:M}=va({isSingleSelected:k,additionalFields:z.data?.additionalFields??Na}).safeParse(_);if(D){const Q=I.title.trim()?I.title.trim():I.type==="INTERNAL"?ie(I?.related?.toString(),I.relatedType,k):"";w(!0);const me=await wa(I.type==="INTERNAL"?{slugify:$.mutateAsync,title:Q,related:I.related,relatedType:I.relatedType}:{slugify:$.mutateAsync,title:Q});if($.reset(),w(!1),!me){fe({type:"warning",message:g(l("popup.item.form.uiRouter.unableToRender"))});return}r(I.type==="INTERNAL"?{...I,title:Q,uiRouterKey:me}:{...I,title:Q,uiRouterKey:me})}else M&&le(M.issues.reduce((Q,me)=>({...Q,[me.path.join(".")]:me.message}),{}))},oe=(m,L)=>j.get(G,m)?g(l(L??m)):void 0,je=i.type==="INTERNAL"?i.relatedType:void 0,{path:ve,type:pe,title:Ie,autoSync:Te}=v,{relatedType:ae,related:f}=v.type==="INTERNAL"?v:{related:void 0,relatedType:void 0},B=pe==="EXTERNAL",R=pe==="INTERNAL",F=B?"externalPath":"path",H=R&&!k&&j.isNil(f)||y,X=jt({uid:ae??"",locale:h}),$=Ta(),J=p.useMemo(()=>e.map((m,L)=>({key:`${m}-${L}`,value:m,label:m})),[e]),E=p.useMemo(()=>Z.map(m=>({value:m.documentId??0,label:m.name??" "})),[Z]),ie=p.useCallback((m,L,_)=>{let D;if(_){if(D=X.data?.find(I=>I.uid===L||I.__collectionUid===L),!D)return ne.find(I=>I.uid===L)?.contentTypeName}else D={...X.data?.find(({documentId:M})=>M===m)||{documentId:null},__collectionUid:L};return Be(D,z.data)},[X.data,z.data,ne]),Fe=(z.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(m=>({key:m,value:m,label:g(l(`popup.item.form.type.${m.toLowerCase()}.label`))})),we=j.sortBy(X.data?.map(m=>{const L=s(Be({...m,__collectionUid:ae},z.data),m,!1);return{key:m?.documentId?.toString(),value:m?.documentId?.toString(),label:L}})??[],m=>m.label),N=p.useMemo(()=>j.sortBy(z.data?.contentTypes?.filter(m=>m.isSingle?!!(ae&&[ae,je].includes(m.uid)):!0).map(m=>({key:m.uid,value:m.uid,label:m.contentTypeName})),m=>m.label),[z.data,ae]),V=j.isEmpty(we),se=p.useCallback(async m=>{m.preventDefault(),m.stopPropagation();const L=ce.data?.find(({locale:_})=>_===T);L&&(w(!0),ye.mutate({target:S.documentId,structureId:i.structureId,source:L.documentId},{onSuccess(_){ye.reset();const{type:D,externalPath:I,path:M,related:Q,title:me,uiRouterKey:Nt}=_,{__type:et,documentId:tt}=Q??{};W("type",D),W("externalPath",I??void 0),W("path",M??void 0),W("title",me),W("uiRouterKey",Nt),et&&tt&&(W("related",tt),W("relatedType",et))},onSettled(){w(!1)}}))},[w,ye,ce]);return p.useEffect(()=>{A(xe({...lt,...i}))},[i]),p.useEffect(()=>{if(ae){const m=z.data?.contentTypes.find(L=>L.uid===ae);if(m&&(C(m.isSingle),m.isSingle&&X.data?.length)){const L=X.data[0];L&&W("related",L.documentId)}}},[ae,z.data,X.data]),p.useEffect(()=>{if(Te&&pe==="INTERNAL"&&f&&ae&&z.data){const m=X.data?.find(L=>L.documentId===f);if(m){const{contentTypesNameFields:L,pathDefaultFields:_}=z.data,D=_[ae]?.reduce((Q,me)=>Q||m?.[me],void 0),I=(L[ae]??[]).concat(L.default??[]).reduce((Q,me)=>Q||m?.[me],void 0),M=[];D&&D!==ve&&M.push({name:"path",value:D}),I&&I!==Ie&&M.push({name:"title",value:I}),setTimeout(()=>{M.forEach(Q=>{W(Q.name,Q.value)})},100)}}},[Ie,ve,Te,pe,f,ae,z.data,X.data]),t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx(P.Form,{width:"auto",height:"auto",method:"POST",initialValues:v,children:({values:m,onChange:L})=>{const _=m.type==="INTERNAL"?m:{related:void 0,relatedType:void 0},D=Fa({currentPath:m.path,isExternal:m.type==="EXTERNAL",current:i,currentType:m.type,config:z.data,contentTypeItems:X.data,currentRelated:_.related,currentRelatedType:_.relatedType,isSingleSelected:k});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(O.Field,{name:"type",label:g(l("popup.item.form.type.label","Internal link")),error:oe("type"),hint:g(l("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.SingleSelect,{onChange:I=>ee("type",I,L),value:m.type,name:"type",disabled:!b,width:"100%",children:Fe.map(({key:I,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},I))})})},"title"),t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(O.Field,{name:"menuAttached",label:g(l("popup.item.form.menuAttached.label","MenuAttached")),error:oe("menuAttached"),hint:g(l("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:t.jsx(a.Toggle,{name:"menuAttached",checked:m.menuAttached,onChange:I=>ee(I,!m.menuAttached,L),value:m.menuAttached,onLabel:g(l("popup.item.form.menuAttached.value.yes","yes")),offLabel:g(l("popup.item.form.menuAttached.value.no","no")),disabled:!b||(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(O.Field,{name:"title",label:g(l("popup.item.form.title.label","Title")),error:oe("title"),hint:g(l("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.TextInput,{type:"string",disabled:!b||m.autoSync&&m.type==="INTERNAL",name:"title",onChange:(I,M)=>ee(I,M,L),value:m.title})})},"title"),m.type==="INTERNAL"&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(O.Field,{name:"autoSync",label:g(l("popup.item.form.autoSync.label","Read fields from related")),error:oe("autoSync"),children:t.jsx(a.Toggle,{name:"autoSync",checked:m.autoSync,onChange:I=>ee(I,!m.autoSync,L),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(O.Field,{name:F,label:g(l(`popup.item.form.${F}.label`,"Path")),error:oe(F,`popup.item.form.${F}.validation.type`),hint:[g(l(`popup.item.form.${F}.placeholder`,"e.g. Blog")),D?g(l("popup.item.form.type.external.description"),{value:D}):""].join(" "),children:t.jsx(a.TextInput,{disabled:!b,name:F,onChange:(I,M)=>ee(I,M,L),value:m[F],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&&!k?6:12,children:t.jsx(O.Field,{name:"relatedType",label:g(l("popup.item.form.relatedType.label","Related Type")),error:oe("relatedType"),hint:!y&&j.isEmpty(N)?g(l("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:t.jsx(dt,{name:"relatedType",onClear:()=>ee("",{related:void 0,title:void 0,relatedType:void 0},L),onChange:I=>ee(I,{related:void 0,title:m.autoSync?"":m.title,relatedType:I},L),value:m.relatedType,options:z.data?.contentTypes.map(I=>({key:I.uid,value:I.uid,label:I.contentTypeName}))??[],disabled:!z.data?.contentTypes.length||!b})})}),m.relatedType&&!k&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(O.Field,{name:"related",label:g(l("popup.item.form.related.label","Related")),error:oe("related"),hint:!y&&V?g(l("popup.item.form.related.empty","There are no more entities"),{contentTypeName:m.relatedType}):void 0,children:t.jsx(dt,{name:"related",onClear:()=>ee("related",void 0,L),onChange:I=>ee("related",I,L),value:m.related,options:we,disabled:y||V||!b})})})]}),!j.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((I,M)=>{if(I!=="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(O.Field,{name:`additionalFields.${I.name}`,label:I.label,error:oe(`additionalFields.${I.name}`),children:t.jsx(ya,{name:`additionalFields.${I.name}`,field:I,isLoading:y,onChange:L,onChangeEnhancer:ee,value:j.get(m?.additionalFields,I.name),disabled:!b})})},I.name)}),z.data?.additionalFields.map((I,M)=>{if(I==="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(O.Field,{name:"audience",label:g(l("popup.item.form.audience.label")),error:oe("audience"),hint:!y&&j.isEmpty(E)?g(l("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:t.jsx(a.MultiSelect,{name:"audience",value:m.audience,onChange:Q=>ee("audience",Q,L),width:"100%",children:E.map(({value:Q,label:me})=>t.jsx(a.MultiSelectOption,{value:Q,children:me},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%"})})})]}),J&&J.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(O.Field,{name:"i18n.locale",label:g(l("popup.item.form.i18n.locale.label","Copy details from")),children:t.jsx(a.SingleSelect,{name:"i18n.locale",onChange:u,value:T,disabled:y||!b,placeholder:g(l("popup.item.form.i18n.locale.placeholder","locale")),children:J.map(({key:I,label:M,value:Q})=>t.jsx(a.SingleSelectOption,{value:Q,children:M},I))})})}),b&&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:se,disabled:y||!T,children:g(l("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(xa,{handleSubmit:m=>be(m,v),handleCancel:d,submitDisabled:H,canUpdate:b})]})},Aa=()=>"",Ea=({isNewItem:e,canUpdate:n})=>{const{formatMessage:i}=U.useIntl();let r="view";return n&&(r=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(l(`popup.item.header.${r}`))})})},La=({availableLocale:e,isOpen:n,isLoading:i,currentItem:r={},onSubmit:d,onClose:s,locale:h,permissions:x,currentNavigation:S})=>{const{formatMessage:g}=U.useIntl(),y=k=>{d(k)},w=(k,C,T)=>`${Fn({relatedRef:C,type:C.isSingle?"INTERNAL":C.type,isCollection:T})?"":`[${g(l("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${k}`,b=!!r.viewId;return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:k=>{k||s({preventDefault(){},stopPropagation(){},target:{}})},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(Ea,{isNewItem:!b,canUpdate:x?.canUpdate}),t.jsx(Ra,{availableLocale:e,current:r,isLoading:i,onSubmit:y,onCancel:s,appendLabelPublicationStatus:w,locale:h,permissions:x,currentNavigation:S})]})})},Ve=0,$a=({value:e,setValue:n,initialIndex:i=Ve})=>{const[r,d]=p.useState(e),[s,h]=p.useState(e),[x,S]=p.useState(i),[g,y]=p.useState(!!e),w=p.useRef(null),{formatMessage:b}=U.useIntl();p.useEffect(()=>{g&&setTimeout(()=>{w.current?.querySelector("input")?.focus()},0)},[g]),p.useEffect(()=>{x&&r===s&&n({value:r,index:x})},[x,r,s]),p.useEffect(()=>{r!==s&&(h(r),S(Ve),n({value:r,index:Ve}))},[r,s]);const k=p.useCallback(u=>{u.code.toLowerCase()==="enter"&&S(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:b(l("pages.main.search.placeholder","Type to start searching...")),onKeyDown:k,children:"Search for navigation items"}),t.jsx(a.Typography,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:b(l("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):t.jsx(a.IconButton,{children:t.jsx(q.Search,{}),onClick:()=>y(!g)})},ka=new K.QueryClient,Pa=()=>{const{formatMessage:e}=U.useIntl(),n=He(),[i,r]=p.useState(),[d,s]=p.useState(),[h,x]=p.useState(),[S,g]=p.useState(!1),[y,w]=p.useState(!1),[b,k]=p.useState(),C=p.useMemo(()=>({access:Ne.access||Ne.update,update:Ne.update}),[]),{isLoading:T,allowedActions:{canUpdate:u,canAccess:v}}=P.useRBAC(C),A=Xe(),G=Pe(),le=Ct(),z=vt([A,{isPending:T}]),Z=Tn(),[{value:ne,index:fe},ye]=p.useState({value:"",index:0}),ce=j.isEmpty(ne),ee=(ne||"").toLowerCase(),W=(N,V,se)=>{const m=N.reduce((L,_)=>{const D=_.items?.length?W(_.items??[],V):[];return V(_)?[_,...D,...L]:[...D,...L]},[]);if(se!==void 0){const L=se%m.length;return m.map((_,D)=>L===D?{..._,isSearchActive:!0}:_)}return m},re=ce?[]:W(d?.items.map(N=>({...N}))??[],N=>(N?.title||"").toLowerCase().includes(ee),ee?fe:void 0),ue=p.useCallback((N,V={})=>{x(V),g(N)},[g]),xe=p.useCallback((N,V,se=!0,m="",L=!0,_="0",D=0)=>{u&&(N.preventDefault(),N.stopPropagation(),ue(!0,{viewParentId:V,isMenuAllowedLevel:se,levelPath:m,parentAttachedToMenu:L,structureId:_,viewId:void 0,order:D+1}))},[ue,u]),be=p.useMemo(()=>(n.data?[n.data.defaultLocale,...n.data.restLocale]:[]).filter(N=>N!==b),[n.data,b]),oe=jn(),je=bn(),{i18nCopyItemsModal:ve,i18nCopySourceLocale:pe,setI18nCopyModalOpened:Ie,setI18nCopySourceLocale:Te}=Sn(p.useCallback(N=>{const V=A.data?.find(({locale:se,documentId:m})=>se===N&&m===d?.documentId);V&&V.documentId&&d?.documentId&&Z.mutate({source:V.locale,target:d.locale,documentId:V.documentId},{onSuccess(se){Z.reset(),s({...se.data,items:se.data.items.map(Ze)}),oe(),je()}})},[d])),ae=p.useCallback(()=>{pe&&Ie(!0)},[Ie,pe]),f=It(()=>{r({documentId:d?.documentId,id:d?.id}),s(void 0)}),B=()=>{d&&f.mutate(d)},R=N=>{N.preventDefault(),N.stopPropagation(),N.target.tagName!=="HTML"&&ue(!1)},F=({item:N,newOrder:V})=>{E({...N,order:V})},H=N=>{E(Se({...N,removed:!0},!0))},X=N=>{E(Se({...N,removed:!1},!0))},$=N=>{E(Se({...N,collapsed:!N.collapsed,updated:!0,isSearchActive:!1},!0))},J=({item:N,levelPath:V="",parentAttachedToMenu:se=!0})=>{ue(!0,{...N,levelPath:V,parentAttachedToMenu:se})},E=N=>{if(d&&G.data){const V=Ee(N,d?.items??[],G.data);s({...d,items:V}),w(!0),g(!1)}},ie=ce?d?.items??[]:re,Re=p.useCallback(()=>{d&&s({...d,items:d.items.map(N=>Ae(N,!1))})},[s,d,Ae]),Fe=p.useCallback(()=>{d&&s({...d,items:d.items.map(N=>Ae(N,!0))})},[s,d,Ae]),we=[{onClick:Re,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:Fe,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(q.Plus,{}),margin:"8px"}),p.useEffect(()=>{if(!d&&A.data?.[0]){let N;i?.documentId&&(N=A.data.find(V=>V.documentId===i.documentId&&V.id===i.id)),r(void 0),s(N||j.first(A.data))}},[A.data]),p.useEffect(()=>{!b&&n.data?.defaultLocale&&k(n.data?.defaultLocale)},[A.data]),p.useEffect(()=>{if(d&&b!==d.locale){r(void 0);const N=A.data?.find(V=>V.documentId===d.documentId&&V.locale===b);N&&N.documentId===d.documentId&&N.locale!==d.locale&&s(N)}},[d,b,A.data]),p.useEffect(()=>{!b&&n.data?.defaultLocale&&k(n.data.defaultLocale)},[A.data]),!A.data||!n.data||z?t.jsx(P.Page.Loading,{}):t.jsxs(P.Layouts.Root,{children:[t.jsx(P.Page.Title,{children:e(l("header.title","UI Navigation"))}),t.jsxs(P.Page.Main,{children:[t.jsx(Zn,{availableNavigations:A.data,activeNavigation:d,handleCachePurge:()=>le.mutate(void 0),handleChangeSelection:s,handleLocalizationSelection:k,handleSave:B,locale:n.data,structureHasChanged:y,permissions:{canUpdate:u},currentLocale:b}),t.jsxs(P.Layouts.Content,{children:[t.jsx(Jn,{startActions:t.jsx($a,{value:ne,setValue:ye}),endActions:we.map(({tradId:N,margin:V,...se},m)=>t.jsx(a.Box,{marginLeft:V,children:t.jsxs(a.Button,{...se,children:[" ",e(l(N))," "]})},m))}),d?.items.length?t.jsx(St,{items:ie,onItemLevelAdd:xe,onItemRemove:H,onItemEdit:J,onItemRestore:X,onItemReOrder:F,onItemToggleCollapse:$,displayFlat:!ce,isParentAttachedToMenu:!0,permissions:{canUpdate:u,canAccess:v},structurePrefix:"",locale:b??""}):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(l("empty.description"))})}),u&&t.jsx(a.Button,{variant:"secondary",startIcon:t.jsx(q.ListPlus,{}),label:e(l("empty.cta")),onClick:xe,children:e(l("empty.cta"))}),u&&be.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(l("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:Te,value:pe,size:"S",children:be.map(N=>t.jsx(a.SingleSelectOption,{value:N,children:e(l("view.i18n.fill.option"),{locale:N})},N))})}),t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.Button,{variant:"tertiary",onClick:ae,disabled:!pe,size:"S",children:e(l("view.i18n.fill.cta.button"))})})]})]}):null]}),S&&b&&d&&t.jsx(La,{availableLocale:be,currentItem:h,onSubmit:E,onClose:R,locale:b,permissions:{canUpdate:u},isOpen:S,isLoading:T,currentNavigation:d}),u&&ve]})]})]})};function za(){const e=O.usePluginTheme();return t.jsx(K.QueryClientProvider,{client:ka,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(Pa,{})})})}const Ma=()=>t.jsx(_e.DndProvider,{backend:Rt.HTML5Backend,children:t.jsxs(De.Routes,{children:[t.jsx(De.Route,{path:"/",index:!0,Component:za}),t.jsx(De.Route,{path:"/*",Component:P.Page.Error})]})}),Ba=Ce.default(a.Alert)`
154
+ `,Ft=({isParentAttachedToMenu:e=!1,items:n,level:i=0,levelPath:s="",onItemEdit:d,onItemLevelAdd:r,onItemRemove:h,onItemRestore:x,onItemReOrder:F,onItemToggleCollapse:g,displayFlat:f,permissions:S,structurePrefix:b,viewParentId:$,locale:I})=>t.jsx(ha,{"data-level":i,children:n?.map((T,u)=>t.jsx(ga,{item:T,isLast:u===n.length-1,level:i,levelPath:s,isParentAttachedToMenu:e,onItemRestore:x,onItemLevelAdd:r,onItemRemove:h,onItemEdit:d,onItemReOrder:F,onItemToggleCollapse:g,displayChildren:f,permissions:S,structureId:b?`${b}.${u}`:u.toString(),viewParentId:$,locale:I},`list-item-${T.viewId||u}`))}),fa="",ya={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},xa=({name:e,field:n,isLoading:i,onChange:s,onChangeEnhancer:d,value:r,disabled:h})=>{const{toggleNotification:x}=P.useNotification(),{formatMessage:F}=H.useIntl(),f=P.useStrapiApp("AdditionalFieldInput",b=>b.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,r,s)},[r]),n.type){case"boolean":return t.jsx(a.Toggle,{...S,checked:!!r,onChange:b=>d(b,!r,s),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return t.jsx(a.TextInput,{...S,onChange:(b,$)=>d(b,$,s),value:r||fa});case"select":return n.multi?t.jsx(a.MultiSelect,{...S,onChange:b=>d(S.name,b,s),value:j.isNil(r)?n.multi?[]:null:r,multi:n.multi,withTags:n.multi,children:n.options.map((b,$)=>t.jsx(a.MultiSelectOption,{value:b,children:b},`${n.name}-option-${$}`))}):t.jsx(a.SingleSelect,{...S,onChange:b=>d(S.name,b,s),value:j.isNil(r)?n.multi?[]:null:r,multi:n.multi,withTags:n.multi,children:n.options.map((b,$)=>t.jsx(a.SingleSelectOption,{value:b,children:b},`${n.name}-option-${$}`))});case"media":return t.jsx(f,{...S,...ya,value:r});default:throw x({type:"warning",message:F(l("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},ba=({handleCancel:e,handleSubmit:n,submitDisabled:i,canUpdate:s})=>{const{formatMessage:d}=H.useIntl();return s?t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:e,variant:"tertiary",children:d(l("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:n,disabled:i,children:d(l("popup.item.form.button.save"))})]}):null},ja=[/^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\-._~%!$&'()*+,;=:@]+)+\/?/],Ye=({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},{}))}),Ia=({additionalFields:e,isSingleSelected:n})=>Ye({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()}),Ca=({isSingleSelected:e,additionalFields:n})=>Ye({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=>ja.some(s=>s.test(i))),relatedType:c.z.string().optional(),related:c.z.string().optional()}),va=({isSingleSelected:e,additionalFields:n})=>Ye({additionalFields:n}).extend({type:c.z.literal("WRAPPER"),path:c.z.string().or(c.z.null()).optional()}),Ta=e=>c.z.discriminatedUnion("type",[Ca(e),Ia(e),va(e)]),lt={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},wa=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return n.slugify(i)}})},Sa=async({slugify:e,title:n,config:i,related:s,relatedType:d,contentTypeItems:r})=>{if(n)return n?await e(n):void 0;if(s){const h=Be({...r?.find(x=>x.documentId===s.toString())??{documentId:"",id:0},__collectionUid:d},i);return h?await e(h):void 0}},Fa=({currentType:e,config:n,contentTypeItems:i,currentRelated:s,currentRelatedType:d,isSingleSelected:r})=>{if(e!=="INTERNAL"||!d)return"";const h=n?.pathDefaultFields[d]??[];if(j.isEmpty(e)&&!j.isEmpty(h)){const x=r?j.first(i??[]):i?.find(({id:g})=>g===s);return h.map(g=>x?.[g]??"").filter(g=>!!g.toString().trim())[0]??""}return""},Na=({currentPath:e,isExternal:n,current:i,currentType:s="INTERNAL",config:d,contentTypeItems:r,currentRelated:h,currentRelatedType:x,isSingleSelected:F})=>{if(!n){const g=j.isEmpty(e)||e==="/"?Fa({currentType:s,config:d,contentTypeItems:r,currentRelated:h,currentRelatedType:x,isSingleSelected:F}):e||"";return`${i.levelPath!=="/"?`${i.levelPath}`:""}/${g}`.replace("//","/")}},dt=(e,n)=>n?e.find(i=>i.value===n)?.label??"":"",ct=({name:e,onClear:n,onChange:i,options:s,value:d,disabled:r})=>{const[h,x]=p.useState(dt(s,d));return p.useEffect(()=>{x(dt(s,d))},[d,s]),t.jsx(a.Combobox,{name:e,autocomplete:"list",onClear:n,onChange:i,onTextValueChange:x,value:d,textValue:h,options:s,disabled:r,width:"100%",children:s.map(({key:F,label:g,value:f})=>t.jsx(a.ComboboxOption,{value:f,children:g},F))})},Aa=[],Ra=({availableLocale:e,isLoading:n,current:i=lt,onSubmit:s,onCancel:d,appendLabelPublicationStatus:r=Ea,locale:h,permissions:x={},currentNavigation:F})=>{const{formatMessage:g}=H.useIntl(),[f,S]=p.useState(n),{canUpdate:b}=x,[$,I]=p.useState(!1),[T,u]=p.useState(),[v,A]=p.useState({}),[V,le]=p.useState(),M=ke(),J=M.data?.availableAudience??[],ne=M.data?.contentTypes??[],{toggleNotification:be}=P.useNotification(),je=Tn(),ce=Xe(),te=(m,L,K)=>{if(K){let q=m,C=L;if(j.isObject(m)){const{name:B,value:U}=m.target;q=B,C=j.isNil(C)?U:C}return j.isString(q)&&Z(q,C),K(m,C)}},Z=(m,L)=>{A(j.set({...v,additionalFields:{...v.additionalFields},updated:!0},m,L))},ie=m=>A({...v,additionalFields:{...v.additionalFields},updated:!0,...m}),ue=m=>({...m,additionalFields:M.data?.additionalFields.reduce((L,K)=>{const{name:q,type:C}=K;if(q in(m.additionalFields??{})){let B=m.additionalFields[q];switch(C){case"boolean":B=j.isBoolean(B)?`${B}`:B;break;case"media":B=B&&JSON.stringify(B);break}return{...L,[q]:B}}return L},{})||{}}),Ie=m=>({...m,additionalFields:M.data?.additionalFields.reduce((L,K)=>{const{name:q,type:C}=K;if(q in(m.additionalFields??{})){let B=m.additionalFields[q];switch(C){case"boolean":B=B==="true";break;case"media":B=B&&JSON.parse(B);break}return{...L,[q]:B}}return L},{})||{}}),Ce=async(m,L)=>{m.preventDefault();const K=ue(L),{success:q,data:C,error:B}=Ta({isSingleSelected:$,additionalFields:M.data?.additionalFields??Aa}).safeParse(K);if(q){const U=C.title.trim()?C.title.trim():C.type==="INTERNAL"?E(C?.related?.toString(),C.relatedType,$):"";S(!0);const he=await Sa(C.type==="INTERNAL"?{slugify:D.mutateAsync,title:U,related:C.related,relatedType:C.relatedType}:{slugify:D.mutateAsync,title:U});if(D.reset(),S(!1),!he){be({type:"warning",message:g(l("popup.item.form.uiRouter.unableToRender"))});return}s(C.type==="INTERNAL"?{...C,title:U,uiRouterKey:he}:{...C,title:U,uiRouterKey:he})}else B&&le(B.issues.reduce((U,he)=>({...U,[he.path.join(".")]:he.message}),{}))},oe=(m,L)=>j.get(V,m)?g(l(L??m)):void 0,ve=i.type==="INTERNAL"?i.relatedType:void 0,{path:Se,type:pe,title:Te,autoSync:Fe}=v,{relatedType:ae,related:ye}=v.type==="INTERNAL"?v:{related:void 0,relatedType:void 0},y=pe==="EXTERNAL",z=pe==="INTERNAL",w=y?"externalPath":"path",R=z&&!$&&j.isNil(ye)||f,k=It({uid:ae??"",locale:h}),D=wa(),X=p.useMemo(()=>e.map((m,L)=>({key:`${m}-${L}`,value:m,label:m})),[e]),_=p.useMemo(()=>J.map(m=>({value:m.documentId??0,label:m.name??" "})),[J]),E=p.useCallback((m,L,K)=>{let q;if(K){if(q=k.data?.find(C=>C.uid===L||C.__collectionUid===L),!q)return ne.find(C=>C.uid===L)?.contentTypeName}else q={...k.data?.find(({documentId:B})=>B===m)||{documentId:null},__collectionUid:L};return Be(q,M.data)},[k.data,M.data,ne]),re=(M.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(m=>({key:m,value:m,label:g(l(`popup.item.form.type.${m.toLowerCase()}.label`))})),ge=j.sortBy(k.data?.map(m=>{const L=r(Be({...m,__collectionUid:ae},M.data),m,!1);return{key:m?.documentId?.toString(),value:m?.documentId?.toString(),label:L}})??[],m=>m.label),N=p.useMemo(()=>j.sortBy(M.data?.contentTypes?.filter(m=>m.isSingle?!!(ae&&[ae,ve].includes(m.uid)):!0).map(m=>({key:m.uid,value:m.uid,label:m.contentTypeName})),m=>m.label),[M.data,ae]),Q=j.isEmpty(ge),se=p.useCallback(async m=>{m.preventDefault(),m.stopPropagation();const L=ce.data?.find(({locale:K})=>K===T);L&&(S(!0),je.mutate({target:F.documentId,structureId:i.structureId,source:L.documentId},{onSuccess(K){je.reset();const{type:q,externalPath:C,path:B,related:U,title:he,uiRouterKey:At}=K,{__type:et,documentId:tt}=U??{};Z("type",q),Z("externalPath",C??void 0),Z("path",B??void 0),Z("title",he),Z("uiRouterKey",At),et&&tt&&(Z("related",tt),Z("relatedType",et))},onSettled(){S(!1)}}))},[S,je,ce]);return p.useEffect(()=>{A(Ie({...lt,...i}))},[i]),p.useEffect(()=>{if(ae){const m=M.data?.contentTypes.find(L=>L.uid===ae);if(m&&(I(m.isSingle),m.isSingle&&k.data?.length)){const L=k.data[0];L&&Z("related",L.documentId)}}},[ae,M.data,k.data]),p.useEffect(()=>{if(Fe&&pe==="INTERNAL"&&ye&&ae&&M.data){const m=k.data?.find(L=>L.documentId===ye);if(m){const{contentTypesNameFields:L,pathDefaultFields:K}=M.data,q=K[ae]?.reduce((U,he)=>U||m?.[he],void 0),C=(L[ae]??[]).concat(L.default??[]).reduce((U,he)=>U||m?.[he],void 0),B=[];q&&q!==Se&&B.push({name:"path",value:q}),C&&C!==Te&&B.push({name:"title",value:C}),setTimeout(()=>{B.forEach(U=>{Z(U.name,U.value)})},100)}}},[Te,Se,Fe,pe,ye,ae,M.data,k.data]),t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx(P.Form,{width:"auto",height:"auto",method:"POST",initialValues:v,children:({values:m,onChange:L})=>{const K=m.type==="INTERNAL"?m:{related:void 0,relatedType:void 0},q=Na({currentPath:m.path,isExternal:m.type==="EXTERNAL",current:i,currentType:m.type,config:M.data,contentTypeItems:k.data,currentRelated:K.related,currentRelatedType:K.relatedType,isSingleSelected:$});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(G.Field,{name:"type",label:g(l("popup.item.form.type.label","Internal link")),error:oe("type"),hint:g(l("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.SingleSelect,{onChange:C=>te("type",C,L),value:m.type,name:"type",disabled:!b,width:"100%",children:re.map(({key:C,label:B,value:U})=>t.jsx(a.SingleSelectOption,{value:U,children:B},C))})})},"title"),t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(G.Field,{name:"menuAttached",label:g(l("popup.item.form.menuAttached.label","MenuAttached")),error:oe("menuAttached"),hint:g(l("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:t.jsx(a.Toggle,{name:"menuAttached",checked:m.menuAttached,onChange:C=>te(C,!m.menuAttached,L),value:m.menuAttached,onLabel:g(l("popup.item.form.menuAttached.value.yes","yes")),offLabel:g(l("popup.item.form.menuAttached.value.no","no")),disabled:!b||(M.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(G.Field,{name:"title",label:g(l("popup.item.form.title.label","Title")),error:oe("title"),hint:g(l("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.TextInput,{type:"string",disabled:!b||m.autoSync&&m.type==="INTERNAL",name:"title",onChange:(C,B)=>te(C,B,L),value:m.title})})},"title"),m.type==="INTERNAL"&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(G.Field,{name:"autoSync",label:g(l("popup.item.form.autoSync.label","Read fields from related")),error:oe("autoSync"),children:t.jsx(a.Toggle,{name:"autoSync",checked:m.autoSync,onChange:C=>te(C,!m.autoSync,L),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(G.Field,{name:w,label:g(l(`popup.item.form.${w}.label`,"Path")),error:oe(w,`popup.item.form.${w}.validation.type`),hint:[g(l(`popup.item.form.${w}.placeholder`,"e.g. Blog")),q?g(l("popup.item.form.type.external.description"),{value:q}):""].join(" "),children:t.jsx(a.TextInput,{disabled:!b,name:w,onChange:(C,B)=>te(C,B,L),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&&!$?6:12,children:t.jsx(G.Field,{name:"relatedType",label:g(l("popup.item.form.relatedType.label","Related Type")),error:oe("relatedType"),hint:!f&&j.isEmpty(N)?g(l("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:t.jsx(ct,{name:"relatedType",onClear:()=>ie({related:void 0,title:void 0,relatedType:void 0}),onChange:C=>ie({related:void 0,title:m.autoSync?"":m.title,relatedType:C}),value:m.relatedType,options:M.data?.contentTypes.map(C=>({key:C.uid,value:C.uid,label:C.contentTypeName}))??[],disabled:!M.data?.contentTypes.length||!b})})}),m.relatedType&&!$&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(G.Field,{name:"related",label:g(l("popup.item.form.related.label","Related")),error:oe("related"),hint:!f&&Q?g(l("popup.item.form.related.empty","There are no more entities"),{contentTypeName:m.relatedType}):void 0,children:t.jsx(ct,{name:"related",onClear:()=>te("related",void 0,L),onChange:C=>te("related",C,L),value:m.related,options:ge,disabled:f||Q||!b})})})]}),!j.isEmpty(M.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:[M.data?.additionalFields.map((C,B)=>{if(C!=="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(G.Field,{name:`additionalFields.${C.name}`,label:C.label,error:oe(`additionalFields.${C.name}`),children:t.jsx(xa,{name:`additionalFields.${C.name}`,field:C,isLoading:f,onChange:L,onChangeEnhancer:te,value:j.get(m?.additionalFields,C.name),disabled:!b})})},C.name)}),M.data?.additionalFields.map((C,B)=>{if(C==="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(G.Field,{name:"audience",label:g(l("popup.item.form.audience.label")),error:oe("audience"),hint:!f&&j.isEmpty(_)?g(l("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:t.jsx(a.MultiSelect,{name:"audience",value:m.audience,onChange:U=>te("audience",U,L),width:"100%",children:_.map(({value:U,label:he})=>t.jsx(a.MultiSelectOption,{value:U,children:he},U))})})},"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%"})})})]}),X&&X.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(G.Field,{name:"i18n.locale",label:g(l("popup.item.form.i18n.locale.label","Copy details from")),children:t.jsx(a.SingleSelect,{name:"i18n.locale",onChange:u,value:T,disabled:f||!b,placeholder:g(l("popup.item.form.i18n.locale.placeholder","locale")),children:X.map(({key:C,label:B,value:U})=>t.jsx(a.SingleSelectOption,{value:U,children:B},C))})})}),b&&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:se,disabled:f||!T,children:g(l("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(ba,{handleSubmit:m=>Ce(m,v),handleCancel:d,submitDisabled:R,canUpdate:b})]})},Ea=()=>"",La=({isNewItem:e,canUpdate:n})=>{const{formatMessage:i}=H.useIntl();let s="view";return n&&(s=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(l(`popup.item.header.${s}`))})})},$a=({availableLocale:e,isOpen:n,isLoading:i,currentItem:s={},onSubmit:d,onClose:r,locale:h,permissions:x,currentNavigation:F})=>{const{formatMessage:g}=H.useIntl(),f=$=>{d($)},S=($,I,T)=>`${Nn({relatedRef:I,type:I.isSingle?"INTERNAL":I.type,isCollection:T})?"":`[${g(l("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${$}`,b=!!s.viewId;return t.jsx(a.Modal.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:$=>{$||r({preventDefault(){},stopPropagation(){},target:{}})},open:n,children:t.jsxs(a.Modal.Content,{children:[t.jsx(La,{isNewItem:!b,canUpdate:x?.canUpdate}),t.jsx(Ra,{availableLocale:e,current:s,isLoading:i,onSubmit:f,onCancel:r,appendLabelPublicationStatus:S,locale:h,permissions:x,currentNavigation:F})]})})},Ve=0,Pa=({value:e,setValue:n,initialIndex:i=Ve})=>{const[s,d]=p.useState(e),[r,h]=p.useState(e),[x,F]=p.useState(i),[g,f]=p.useState(!!e),S=p.useRef(null),{formatMessage:b}=H.useIntl();p.useEffect(()=>{g&&setTimeout(()=>{S.current?.querySelector("input")?.focus()},0)},[g]),p.useEffect(()=>{x&&s===r&&n({value:s,index:x})},[x,s,r]),p.useEffect(()=>{s!==r&&(h(s),F(Ve),n({value:s,index:Ve}))},[s,r]);const $=p.useCallback(u=>{u.code.toLowerCase()==="enter"&&F(v=>v+1)},[]),I=p.useCallback(u=>{d(u.target.value)},[d]),T=p.useCallback(()=>{d(""),f(!1)},[d,f]);return g?t.jsxs("div",{ref:S,children:[t.jsx(a.Searchbar,{name:"searchbar",onClear:T,value:e,size:"S",onChange:I,clearLabel:"Clearing the search",placeholder:b(l("pages.main.search.placeholder","Type to start searching...")),onKeyDown:$,children:"Search for navigation items"}),t.jsx(a.Typography,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:b(l("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):t.jsx(a.IconButton,{children:t.jsx(O.Search,{}),onClick:()=>f(!g)})},ka=new W.QueryClient,za=()=>{const{formatMessage:e}=H.useIntl(),n=He(),[i,s]=p.useState(),[d,r]=p.useState(),[h,x]=p.useState(),[F,g]=p.useState(!1),[f,S]=p.useState(!1),[b,$]=p.useState(),I=p.useMemo(()=>({access:Ae.access||Ae.update,update:Ae.update}),[]),{isLoading:T,allowedActions:{canUpdate:u,canAccess:v}}=P.useRBAC(I),A=Xe(),V=ke(),le=vt(),M=Tt([A,{isPending:T}]),J=wn(),[{value:ne,index:be},je]=p.useState({value:"",index:0}),ce=j.isEmpty(ne),te=(ne||"").toLowerCase(),Z=(N,Q,se)=>{const m=N.reduce((L,K)=>{const q=K.items?.length?Z(K.items??[],Q):[];return Q(K)?[K,...q,...L]:[...q,...L]},[]);if(se!==void 0){const L=se%m.length;return m.map((K,q)=>L===q?{...K,isSearchActive:!0}:K)}return m},ie=ce?[]:Z(d?.items.map(N=>({...N}))??[],N=>(N?.title||"").toLowerCase().includes(te),te?be:void 0),ue=p.useCallback((N,Q={})=>{x(Q),g(N)},[g]),Ie=p.useCallback((N,Q,se=!0,m="",L=!0,K="0",q=0)=>{u&&(N.preventDefault(),N.stopPropagation(),ue(!0,{viewParentId:Q,isMenuAllowedLevel:se,levelPath:m,parentAttachedToMenu:L,structureId:K,viewId:void 0,order:q+1}))},[ue,u]),Ce=p.useMemo(()=>(n.data?[n.data.defaultLocale,...n.data.restLocale]:[]).filter(N=>N!==b),[n.data,b]),oe=In(),ve=jn(),{i18nCopyItemsModal:Se,i18nCopySourceLocale:pe,setI18nCopyModalOpened:Te,setI18nCopySourceLocale:Fe}=Fn(p.useCallback(N=>{const Q=A.data?.find(({locale:se,documentId:m})=>se===N&&m===d?.documentId);Q&&Q.documentId&&d?.documentId&&J.mutate({source:Q.locale,target:d.locale,documentId:Q.documentId},{onSuccess(se){J.reset(),r({...se.data,items:se.data.items.map(Ze)}),oe(),ve()}})},[d])),ae=p.useCallback(()=>{pe&&Te(!0)},[Te,pe]),ye=Ct(()=>{s({documentId:d?.documentId,id:d?.id}),r(void 0)}),y=()=>{d&&ye.mutate(d)},z=N=>{N.preventDefault(),N.stopPropagation(),N.target.tagName!=="HTML"&&ue(!1)},w=({item:N,newOrder:Q})=>{_({...N,order:Q})},R=N=>{_(Ne({...N,removed:!0},!0))},k=N=>{_(Ne({...N,removed:!1},!0))},D=N=>{_(Ne({...N,collapsed:!N.collapsed,updated:!0,isSearchActive:!1},!0))},X=({item:N,levelPath:Q="",parentAttachedToMenu:se=!0})=>{ue(!0,{...N,levelPath:Q,parentAttachedToMenu:se})},_=N=>{if(d&&V.data){const Q=Ee(N,d?.items??[],V.data);r({...d,items:Q}),S(!0),g(!1)}},E=ce?d?.items??[]:ie,me=p.useCallback(()=>{d&&r({...d,items:d.items.map(N=>Re(N,!1))})},[r,d,Re]),re=p.useCallback(()=>{d&&r({...d,items:d.items.map(N=>Re(N,!0))})},[r,d,Re]),ge=[{onClick:me,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:re,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return u&&ge.push({onClick:Ie,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:t.jsx(O.Plus,{}),margin:"8px"}),p.useEffect(()=>{if(!d&&A.data?.[0]){let N;i?.documentId&&(N=A.data.find(Q=>Q.documentId===i.documentId&&Q.id===i.id)),s(void 0),r(N||j.first(A.data))}},[A.data]),p.useEffect(()=>{!b&&n.data?.defaultLocale&&$(n.data?.defaultLocale)},[A.data]),p.useEffect(()=>{if(d&&b!==d.locale){s(void 0);const N=A.data?.find(Q=>Q.documentId===d.documentId&&Q.locale===b);N&&N.documentId===d.documentId&&N.locale!==d.locale&&r(N)}},[d,b,A.data]),p.useEffect(()=>{!b&&n.data?.defaultLocale&&$(n.data.defaultLocale)},[A.data]),!A.data||!n.data||M?t.jsx(P.Page.Loading,{}):t.jsxs(P.Layouts.Root,{children:[t.jsx(P.Page.Title,{children:e(l("header.title","UI Navigation"))}),t.jsxs(P.Page.Main,{children:[t.jsx(Jn,{availableNavigations:A.data,activeNavigation:d,handleCachePurge:()=>le.mutate(void 0),handleChangeSelection:r,handleLocalizationSelection:$,handleSave:y,locale:n.data,structureHasChanged:f,permissions:{canUpdate:u},currentLocale:b}),t.jsxs(P.Layouts.Content,{children:[t.jsx(Yn,{startActions:t.jsx(Pa,{value:ne,setValue:je}),endActions:ge.map(({tradId:N,margin:Q,...se},m)=>t.jsx(a.Box,{marginLeft:Q,children:t.jsxs(a.Button,{...se,children:[" ",e(l(N))," "]})},m))}),d?.items.length?t.jsx(Ft,{items:E,onItemLevelAdd:Ie,onItemRemove:R,onItemEdit:X,onItemRestore:k,onItemReOrder:w,onItemToggleCollapse:D,displayFlat:!ce,isParentAttachedToMenu:!0,permissions:{canUpdate:u,canAccess:v},structurePrefix:"",locale:b??""}):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(l("empty.description"))})}),u&&t.jsx(a.Button,{variant:"secondary",startIcon:t.jsx(O.ListPlus,{}),label:e(l("empty.cta")),onClick:Ie,children:e(l("empty.cta"))}),u&&Ce.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(l("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:Fe,value:pe,size:"S",children:Ce.map(N=>t.jsx(a.SingleSelectOption,{value:N,children:e(l("view.i18n.fill.option"),{locale:N})},N))})}),t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.Button,{variant:"tertiary",onClick:ae,disabled:!pe,size:"S",children:e(l("view.i18n.fill.cta.button"))})})]})]}):null]}),F&&b&&d&&t.jsx($a,{availableLocale:Ce,currentItem:h,onSubmit:_,onClose:z,locale:b,permissions:{canUpdate:u},isOpen:F,isLoading:T,currentNavigation:d}),u&&Se]})]})]})};function Ma(){const e=G.usePluginTheme();return t.jsx(W.QueryClientProvider,{client:ka,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(za,{})})})}const Ba=()=>t.jsx(_e.DndProvider,{backend:Rt.HTML5Backend,children:t.jsxs(De.Routes,{children:[t.jsx(De.Route,{path:"/",index:!0,Component:Ma}),t.jsx(De.Route,{path:"/*",Component:P.Page.Error})]})}),Da=we.default(a.Alert)`
155
155
  [role='status'] {
156
156
  flex-direction: column;
157
157
  }
158
- `,Da=({onChange:e,initialValue:n,...i})=>{const[r,d]=p.useState(j.isArray(n)?n.reduce((h,x)=>`${h}${x}; `,""):""),s=h=>{const x=h?.target.value??"",S=x.split(";").map(g=>g.trim()).filter(g=>!!g.length);d(x??""),e(S)};return t.jsx(a.TextInput,{...i,onChange:s,value:r})},qa=["string","boolean","select","media"],de="pages.settings.form.customFields.popup.",Oa=e=>e.map((n,i)=>({key:`${n}-${i}`,metadatas:{intlLabel:{id:n,defaultMessage:n},hidden:!1,disabled:!1},value:n,label:n})),Ga=({isEditForm:e,customField:n,onSubmit:i,onClose:r})=>{const d=Oa(qa),{formatMessage:s}=U.useIntl(),[h,x]=p.useState({}),[S,g]=p.useState(),{type:y}=h;p.useEffect(()=>{n&&x({...n})},[n]);const w=(T,u,v)=>{if(v){let A=T,G=u;if(j.isObject(T)){const{name:le,value:z}=T.target;A=le,G=j.isNil(G)?z:G}return j.isString(A)&&b(A,G),v(T,G)}},b=(T,u)=>{x(j.set({...h},T,u))},k=T=>{if(j.get(S,T))return s(l(T))},C=(T,u)=>{const{success:v,data:A,error:G}=ft.safeParse(u);v?i(u):G&&g(G.issues.reduce((le,z)=>({...le,[z.path.join(".")]:z.message}),{}))};return t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx(P.Form,{method:"POST",width:"auto",height:"auto",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(O.Field,{name:"name",label:s(l(`${de}name.label`)),hint:s(l(`${de}name.description`)),error:k("name"),children:t.jsx(a.TextInput,{name:"name",value:T.name,onChange:(v,A)=>w(v,A,u),placeholder:s(l(`${de}name.placeholder`)),type:"string",disabled:e,width:"100%"})})},"name"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(O.Field,{name:"label",label:s(l(`${de}label.label`)),hint:s(l(`${de}label.description`)),error:k("label"),children:t.jsx(a.TextInput,{name:"label",value:T.label,onChange:(v,A)=>w(v,A,u),placeholder:s(l(`${de}label.placeholder`)),type:"string",width:"100%"})})},"label"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(O.Field,{name:"type",label:s(l(`${de}type.label`)),hint:s(l(`${de}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:G})=>t.jsx(a.SingleSelectOption,{value:G,children:A},v))})})},"type"),y==="select"&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(O.Field,{name:"multi",label:s(l(`${de}multi.label`)),hint:s(l(`${de}multi.description`)),error:k("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(O.Field,{name:"options",label:s(l(`${de}options.label`)),hint:s(l(`${de}options.description`)),error:k("options"),children:t.jsx(Da,{name:"options",onChange:v=>w("options",v,u),initialValue:T.options})})},"options")]}),t.jsx(a.Grid.Item,{col:12,children:t.jsx(O.Field,{name:"required",label:s(l(`${de}required.label`)),hint:s(l(`${de}required.description`)),error:k("required"),children:t.jsx(a.Toggle,{name:"required",placeholder:s(l(`${de}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:r,variant:"tertiary",children:s(l("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:T=>C(T,h),children:s(l("popup.item.form.button.save"))})]})]})},Va=({isOpen:e,onClose:n,onSubmit:i,data:r})=>{const d=!!r,{formatMessage:s}=U.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(l(`pages.settings.form.customFields.popup.header.${d?"edit":"new"}`))})}),t.jsx(Ga,{isEditForm:d,customField:j.pick(r,"name","label","type","required","options","multi"),onSubmit:i,onClose:n})]})})},ct=t.jsx(q.PriceTag,{}),_a=t.jsx(q.Plus,{}),ge="pages.settings.form.customFields.table.",Qa=({data:e=[],onOpenModal:n,onRemoveCustomField:i,onToggleCustomField:r})=>{const[d,s]=p.useState(!1),[h,x]=p.useState(null),{toggleNotification:S}=P.useNotification(),g=p.useMemo(()=>j.sortBy(e,"name"),[e]),{formatMessage:y}=U.useIntl(),w=p.useCallback(C=>{x(C),s(!0)},[x,s]),b=p.useCallback(()=>{x(null),s(!1)},[x,s]),k=p.useCallback(()=>{h===null?S({type:"warning",message:y(l(`${ge}confirmation.error`))}):i(h),b()},[b,h,Qe,i,S]);return t.jsxs(t.Fragment,{children:[t.jsx(We,{isVisible:d,header:y(l(`${ge}confirmation.header`)),children:y(l(`${ge}confirmation.message`)),labelConfirm:y(l(`${ge}confirmation.confirm`)),iconConfirm:ct,mainIcon:ct,onConfirm:k,onCancel:b}),t.jsxs(a.Table,{width:"100%",colCount:4,rowCount:e.length+1,footer:t.jsx(a.TFooter,{onClick:C=>{C.preventDefault(),n(null)},icon:_a,children:y(l(`${ge}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(l(`${ge}header.name`))})}),t.jsx(a.Th,{width:"60%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(l(`${ge}header.label`))})}),t.jsx(a.Th,{width:"15%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(l(`${ge}header.type`))})}),t.jsx(a.Th,{width:"5%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(l(`${ge}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(l(`${ge}${C.required?"required":"notRequired"}`)),children:t.jsx(a.Typography,{textColor:"neutral800",children:C.required?t.jsx(q.Check,{}):t.jsx(q.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:()=>r(C),label:y(l(`${ge}${C.enabled?"disable":"enable"}`)),variant:C.enabled?"success-light":"tertiary",children:C.enabled?t.jsx(q.Eye,{}):t.jsx(q.EyeStriked,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>n(C),label:y(l(`${ge}edit`)),children:t.jsx(q.Pencil,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>w(C),label:y(l(`${ge}remove`)),children:t.jsx(q.Trash,{}),style:{minWidth:50}})]})})})]},C.name):null)})]})]})},Ka=/^(?<type>[a-z0-9-]+)\:{2}(?<api>[a-z0-9-]+)\.{1}(?<contentType>[a-z0-9-]+)$/i,Ua=(e="",n={})=>{const{allowedContentTypes:i=[],restrictedContentTypes:r=[],contentTypes:d=[],preferCustomContentTypes:s=!1}=n,x=(s?["api::",...d]:i).filter(g=>e.includes(g)||e===g).length>0,S=r.filter(g=>e.includes(g)||e===g).length===0;return!!e&&x&&S},Wa=(e="")=>{const n=s=>s.split("-").map(h=>j.capitalize(h)).join(""),[i,r,d]=Ha(e);return i==="api"?n(d):`${n(r)}${n(d)}`},Ha=(e="")=>e.split(Ka).filter(n=>n&&n.length>0),ut="SERVER OFFLINE",Ft=(e,n)=>new Promise(i=>{fetch(`${window.strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":"false"}}).then(r=>{if(r.status>=400)throw new Error;if(!n)throw new Error(ut);i(e)}).catch(r=>{setTimeout(()=>Ft(e,r.message!==ut).then(i),100)})}),Xa=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readSettingsConfigIndex(),queryFn(){return n.readSettingsConfig()},staleTime:1e3*60*5})},Za=()=>{const e=P.getFetchClient(),n=te(e),i=K.useQuery({queryKey:n.healthCheckIndex(),queryFn:()=>n.healthCheck(),retry:!0,retryDelay:1e3*5,enabled:!1});return K.useMutation({mutationFn:()=>n.restart().then(()=>i.refetch())})},Ja=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn:()=>n.restoreConfig()})},Ya=()=>{const e=P.getFetchClient(),n=te(e);return K.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1/0})},ei=()=>{const e=P.getFetchClient(),n=te(e);return K.useMutation({mutationFn(i){return n.updateConfig({...i,contentTypesNameFields:Object.fromEntries(i.contentTypesNameFields.map(({key:r,fields:d})=>[r,d])),contentTypesPopulate:Object.fromEntries(i.contentTypesPopulate.map(({key:r,fields:d})=>[r,d])),pathDefaultFields:Object.fromEntries(i.pathDefaultFields.map(({key:r,fields:d})=>[r,d])),additionalFields:i.audienceFieldChecked?[...i.additionalFields,"audience"]:i.additionalFields,gql:{navigationItemRelated:i.contentTypes.map(r=>Wa(r))}})}})},ti=Ot.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()}),ke={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6},pt=new K.QueryClient,ni=()=>{const e=Xa(),n=Ya(),i=ei(),r=Ja(),d=Za(),{formatMessage:s}=U.useIntl(),[h,x]=p.useState({required:!1}),[S,g]=p.useState(!1),y=P.useAuth("SettingsPage",f=>f.permissions),w=p.useMemo(()=>!!y.find(({action:f})=>f===Ne.settings[0].action),[y]),b=p.useMemo(()=>!!y.find(({action:f})=>f===Ne.access[0].action),[y]),k=e.isPending||n.isPending||i.isPending||d.isPending||r.isPending,[C,T]=p.useState({}),[u,v]=p.useState(),[A,G]=p.useState(!1),[le,z]=p.useState(!1),[Z,ne]=p.useState(null),{contentTypesNameFields:fe,contentTypes:ye,additionalFields:ce,preferCustomContentTypes:ee}=C,W=(f,B,R)=>{if(R){let F=f,H=B;if(j.isObject(f)){const{name:X,value:$}=f.target;F=X,H=j.isNil(H)?$:H}return j.isString(F)&&re(F,H),R(f,H)}},re=(f,B)=>{T(R=>j.set({...R},f,B))},ue=f=>{if(j.get(u,f))return s(l(f))},xe=f=>{ne(f),G(!0)},be=f=>{const B=ce.filter(R=>typeof R!="string"?R.name!==f.name:!0);re("additionalFields",B),ne(null),G(!1)},oe=f=>{const B={...f,enabled:!f.enabled},R=ce.map(F=>typeof F!="string"&&f.name===F.name?B:F);re("additionalFields",R)},je=f=>{const R=!!ce.find(F=>typeof F!="string"?F.name===f.name:!1)?ce.map(F=>typeof F!="string"&&f.name===F.name?f:F):[...ce,f];re("additionalFields",R),ne(null),G(!1)},ve=k?[]:j.sortBy(Object.values(n.data??[]).filter(({uid:f})=>Ua(f,{allowedContentTypes:e.data?.allowedContentTypes,restrictedContentTypes:e.data?.restrictedContentTypes,preferCustomContentTypes:ee,contentTypes:ye})).map(f=>{const B=n.data?.find(R=>R.uid===f.uid);if(B){const{isDisplayed:R,kind:F}=B;return{...f,available:R,isSingle:F==="singleType"}}return f}),f=>f.info.displayName),pe=(f,B)=>{const{success:R,data:F,error:H}=ti.safeParse(B);R?i.mutate(F,{onSuccess(){x({required:!0}),i.reset()}}):H&&(v(H.issues.reduce((X,$)=>({...X,[$.path.join(".")]:$.message}),{})),console.warn("Invalid form data",H))},Ie=async f=>{z(!1),f&&(r.mutate(),x({required:!0}))},Te=async()=>{d.mutate(void 0,{onSuccess(){g(!0),Ft(!0).then(f=>{f&&window.location.reload()})},onError(){x({required:!1})}})},ae=()=>x({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?k||S?t.jsx(P.Page.Loading,{}):t.jsxs(P.Layouts.Root,{children:[t.jsxs(P.Page.Main,{children:[t.jsx(P.Page.Title,{children:s(l("pages.settings.header.title"))}),t.jsx(P.Layouts.Header,{title:s(l("pages.settings.header.title")),subtitle:s(l("pages.settings.header.description")),primaryAction:b?t.jsx(a.Button,{startIcon:t.jsx(q.Check,{}),disabled:h.required,onClick:f=>pe(f,C),children:s(l("pages.settings.actions.submit"))}):null}),t.jsx(P.Layouts.Content,{children:t.jsx(P.Form,{method:"POST",width:"auto",height:"auto",initialValues:C,children:({values:f,onChange:B})=>t.jsxs(a.Flex,{direction:"column",gap:4,children:[h.required&&t.jsx(a.Box,{...ke,width:"100%",children:t.jsx(Ba,{closeLabel:s(l("pages.settings.actions.restart.alert.cancel")),title:s(l("pages.settings.actions.restart.alert.title")),action:t.jsx(a.Box,{children:t.jsx(a.Button,{onClick:Te,startIcon:t.jsx(q.Play,{}),children:s(l("pages.settings.actions.restart.label"))})}),onClose:ae,children:t.jsxs(t.Fragment,{children:[t.jsx(a.Box,{paddingBottom:1,children:s(l("pages.settings.actions.restart.alert.description"))}),h.reasons?.map((R,F)=>t.jsx(a.Box,{paddingBottom:1,children:s(l(`pages.settings.actions.restart.alert.reason.${R}`))},F))]})})}),t.jsx(a.Box,{...ke,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(l("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(O.Field,{name:"preferCustomContentTypes",label:s(l("pages.settings.form.preferCustomContentTypes.label")),hint:s(l("pages.settings.form.preferCustomContentTypes.hint")),children:t.jsx(a.Toggle,{name:"preferCustomContentTypes",checked:f.preferCustomContentTypes,onChange:R=>W(R,!f.preferCustomContentTypes,B),onLabel:s(l("components.toggle.enabled")),offLabel:s(l("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),t.jsx(a.Grid.Item,{col:8,s:12,xs:12,children:t.jsx(O.Field,{name:"contentTypes",label:s(l("pages.settings.form.contentTypes.label")),hint:s(l("pages.settings.form.contentTypes.hint")),children:t.jsx(a.MultiSelect,{name:"contentTypes",label:s(l("pages.settings.form.contentTypes.label")),"aria-label":s(l("pages.settings.form.contentTypes.label")),placeholder:s(l("pages.settings.form.contentTypes.placeholder")),value:f.contentTypes,onChange:R=>{W("contentTypes",R,B);const{contentTypesNameFields:F=[],contentTypesPopulate:H=[],pathDefaultFields:X=[]}=f,$=R.filter(E=>!F.find(ie=>ie.key===E))??[],J=F.filter(E=>!R.includes(E.key)||E.key==="default").map(({key:E})=>E)??[];re("contentTypesNameFields",[...F.filter(({key:E})=>!J.includes(E)||E==="default")??[],...$.map(E=>({key:E,fields:[]}))]),re("contentTypesPopulate",[...H.filter(({key:E})=>!J.includes(E)||E==="default")??[],...$.map(E=>({key:E,fields:[]}))]),re("pathDefaultFields",[...X.filter(({key:E})=>!J.includes(E)||E==="default")??[],...$.map(E=>({key:E,fields:[]}))])},disabled:h.required,error:ue("contentTypes"),withTags:!0,width:"100%",children:ve.map(R=>t.jsx(a.MultiSelectOption,{value:R.uid,children:R.info.displayName},R.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((R,F)=>{const H=n.data?.find(({uid:$})=>$===R.key),X=Object.keys(H?.attributes??{}).sort();return H?t.jsxs(a.Accordion.Item,{value:R.key,children:[t.jsx(a.Accordion.Header,{children:t.jsx(a.Accordion.Trigger,{children:H?.info.displayName??s(l("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(O.Field,{name:`contentTypesNameFields[${F}]`,label:s(l("pages.settings.form.nameField.label")),hint:s(l(`pages.settings.form.nameField.${j.isEmpty(j.get(f,`contentTypesNameFields[${F}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`contentTypesNameFields[${F}]`,placeholder:s(l("pages.settings.form.nameField.placeholder")),value:j.get(f,`contentTypesNameFields[${F}].fields`),onChange:$=>{const J=j.get(f,"contentTypesNameFields",[]).map((E,ie)=>ie===F?{...E,fields:$}:E);return W("contentTypesNameFields",J,B)},disabled:h.required,error:ue(`contentTypesNameFields[${F}]`),withTags:!0,children:X.map($=>t.jsx(a.MultiSelectOption,{value:$,children:$},$))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(O.Field,{name:`contentTypesPopulate[${F-1}]`,label:s(l("pages.settings.form.populate.label")),hint:s(l(`pages.settings.form.populate.${j.isEmpty(j.get(f,`contentTypesPopulate[${F-1}]fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{width:"100%",name:`contentTypesPopulate[${F-1}]`,placeholder:s(l("pages.settings.form.populate.placeholder")),value:j.get(f,`contentTypesPopulate[${F-1}].fields`,[]),onChange:$=>{const J=j.get(f,"contentTypesPopulate",[]).map((E,ie)=>ie===F-1?{...E,fields:$}:E);return W("contentTypesPopulate",J,B)},disabled:h.required,error:ue(`contentTypesPopulate[${F-1}]`),withTags:!0,children:X.map($=>t.jsx(a.MultiSelectOption,{value:$,children:$},$))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(O.Field,{name:`pathDefaultFields[${F-1}]`,label:s(l("pages.settings.form.pathDefaultFields.label")),hint:s(l(`pages.settings.form.pathDefaultFields.${j.isEmpty(j.get(f,`pathDefaultFields[${F-1}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`pathDefaultFields[${F-1}]`,width:"100%",placeholder:s(l("pages.settings.form.pathDefaultFields.placeholder")),value:j.get(f,`pathDefaultFields[${F-1}].fields`,[]),onChange:$=>{const J=j.get(f,"pathDefaultFields",[]).map((E,ie)=>ie===F-1?{...E,fields:$}:E);return W("pathDefaultFields",J,B)},disabled:h.required,error:ue(`pathDefaultFields[${F-1}]`),withTags:!0,children:X.map($=>t.jsx(a.MultiSelectOption,{value:$,children:$},$))})})})]})})]},R.key):null})}):null})]})})})]})}),t.jsx(a.Box,{...ke,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(l("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(O.Field,{name:"allowedLevels",label:s(l("pages.settings.form.allowedLevels.label")),hint:s(l("pages.settings.form.allowedLevels.hint")),children:t.jsx(a.NumberInput,{width:"100%",name:"allowedLevels",type:"number",placeholder:s(l("pages.settings.form.allowedLevels.placeholder")),onChange:(R,F)=>{if(j.isObject(R)){const H=parseInt(R.target.value);return W(R.target.name,j.isNaN(H)?0:H,B)}return W(R,F,B)},value:f.allowedLevels,disabled:h.required})})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(O.Field,{name:"cascadeMenuAttached",label:s(l("pages.settings.form.cascadeMenuAttached.label")),hint:s(l("pages.settings.form.cascadeMenuAttached.hint")),children:t.jsx(a.Toggle,{width:"100%",name:"cascadeMenuAttached",checked:f.cascadeMenuAttached,onChange:R=>W(R,!f.cascadeMenuAttached,B),onLabel:s(l("components.toggle.enabled")),offLabel:s(l("components.toggle.disabled")),disabled:h.required})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(O.Field,{name:"audienceFieldChecked",label:s(l("pages.settings.form.audience.label")),hint:s(l("pages.settings.form.audience.hint")),children:t.jsx(a.Toggle,{name:"audienceFieldChecked",checked:f.audienceFieldChecked,onChange:R=>W(R,!f.audienceFieldChecked,B),onLabel:s(l("components.toggle.enabled")),offLabel:s(l("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(O.Field,{name:"isCacheEnabled",label:s(l("pages.settings.form.cache.label")),hint:s(l("pages.settings.form.cache.hint")),children:t.jsx(a.Toggle,{name:"isCacheEnabled",checked:f.isCacheEnabled,onChange:R=>W(R,!f.isCacheEnabled,B),onLabel:s(l("components.toggle.enabled")),offLabel:s(l("components.toggle.disabled")),disabled:h.required,width:"100%"})})})]})]})}),t.jsxs(a.Box,{...ke,width:"100%",children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(l("pages.settings.customFields.title"))}),t.jsx(a.Box,{padding:1}),t.jsx(Qa,{data:ce,onOpenModal:xe,onRemoveCustomField:be,onToggleCustomField:oe})]}),t.jsx(a.Box,{...ke,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(l("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(l("pages.settings.actions.restore.description"))})}),t.jsxs(a.Grid.Item,{col:12,s:12,xs:12,children:[b?t.jsx(a.Button,{variant:"danger-light",startIcon:t.jsx(q.Check,{}),onClick:()=>z(!0),children:s(l("pages.settings.actions.restore.label"))}):null,t.jsx(We,{isVisible:le,header:s(l("pages.settings.actions.restore.confirmation.header")),labelConfirm:s(l("pages.settings.actions.restore.confirmation.confirm")),iconConfirm:t.jsx(q.Typhoon,{}),onConfirm:()=>Ie(!0),onCancel:()=>Ie(!1),children:s(l("pages.settings.actions.restore.confirmation.description"))})]})]})]})})]})})})]}),A&&t.jsx(Va,{onClose:()=>G(!1),onSubmit:je,isOpen:A,data:Z})]}):t.jsx(P.Page.NoPermissions,{})};function ai(){pt.invalidateQueries();const e=O.usePluginTheme();return t.jsx(K.QueryClientProvider,{client:pt,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(ni,{})})})}const ii="navigation",mt="Navigation",oi={register(e){e.createSettingSection({id:he,intlLabel:{id:`${he}.plugin.section.name`,defaultMessage:`${mt} plugin`}},[{intlLabel:{id:`${he}.plugin.section.item`,defaultMessage:"Configuration"},id:"navigation",to:he,Component(){return ai},permissions:Ne.settings}]),e.addMenuLink({to:`plugins/${he}`,icon:zt,intlLabel:{id:`${he}.plugin.name`,defaultMessage:mt},Component(){return Ma},permissions:Ne.access,position:1}),e.registerPlugin({id:he,initializer:Lt,isReady:!1,name:ii})},registerTrads:async function({locales:e=[]}){return Promise.all(e.map(async n=>n in nt?nt[n]().then(({default:r})=>({data:O.prefixPluginTranslations(O.flattenObject(r),he),locale:n})):{data:O.prefixPluginTranslations(O.flattenObject({}),he),locale:n}))}};module.exports=oi;
158
+ `,qa=({onChange:e,initialValue:n,...i})=>{const[s,d]=p.useState(j.isArray(n)?n.reduce((h,x)=>`${h}${x}; `,""):""),r=h=>{const x=h?.target.value??"",F=x.split(";").map(g=>g.trim()).filter(g=>!!g.length);d(x??""),e(F)};return t.jsx(a.TextInput,{...i,onChange:r,value:s})},Oa=["string","boolean","select","media"],de="pages.settings.form.customFields.popup.",Ga=e=>e.map((n,i)=>({key:`${n}-${i}`,metadatas:{intlLabel:{id:n,defaultMessage:n},hidden:!1,disabled:!1},value:n,label:n})),Va=({isEditForm:e,customField:n,onSubmit:i,onClose:s})=>{const d=Ga(Oa),{formatMessage:r}=H.useIntl(),[h,x]=p.useState({}),[F,g]=p.useState(),{type:f}=h;p.useEffect(()=>{n&&x({...n})},[n]);const S=(T,u,v)=>{if(v){let A=T,V=u;if(j.isObject(T)){const{name:le,value:M}=T.target;A=le,V=j.isNil(V)?M:V}return j.isString(A)&&b(A,V),v(T,V)}},b=(T,u)=>{x(j.set({...h},T,u))},$=T=>{if(j.get(F,T))return r(l(T))},I=(T,u)=>{const{success:v,data:A,error:V}=yt.safeParse({...u,enabled:!0});v?i(A):V&&g(V.issues.reduce((le,M)=>({...le,[M.path.join(".")]:M.message}),{}))};return t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx(P.Form,{method:"POST",width:"auto",height:"auto",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(G.Field,{name:"name",label:r(l(`${de}name.label`)),hint:r(l(`${de}name.description`)),error:$("name"),children:t.jsx(a.TextInput,{name:"name",value:T.name,onChange:(v,A)=>S(v,A,u),placeholder:r(l(`${de}name.placeholder`)),type:"string",disabled:e,width:"100%"})})},"name"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"label",label:r(l(`${de}label.label`)),hint:r(l(`${de}label.description`)),error:$("label"),children:t.jsx(a.TextInput,{name:"label",value:T.label,onChange:(v,A)=>S(v,A,u),placeholder:r(l(`${de}label.placeholder`)),type:"string",width:"100%"})})},"label"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"type",label:r(l(`${de}type.label`)),hint:r(l(`${de}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"),f==="select"&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"multi",label:r(l(`${de}multi.label`)),hint:r(l(`${de}multi.description`)),error:$("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(G.Field,{name:"options",label:r(l(`${de}options.label`)),hint:r(l(`${de}options.description`)),error:$("options"),children:t.jsx(qa,{name:"options",onChange:v=>S("options",v,u),initialValue:T.options})})},"options")]}),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"required",label:r(l(`${de}required.label`)),hint:r(l(`${de}required.description`)),error:$("required"),children:t.jsx(a.Toggle,{name:"required",placeholder:r(l(`${de}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:s,variant:"tertiary",children:r(l("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:T=>I(T,h),children:r(l("popup.item.form.button.save"))})]})]})},_a=({isOpen:e,onClose:n,onSubmit:i,data:s})=>{const d=!!s,{formatMessage:r}=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:r(l(`pages.settings.form.customFields.popup.header.${d?"edit":"new"}`))})}),t.jsx(Va,{isEditForm:d,customField:j.pick(s,"name","label","type","required","options","multi"),onSubmit:i,onClose:n})]})})},ut=t.jsx(O.PriceTag,{}),Qa=t.jsx(O.Plus,{}),fe="pages.settings.form.customFields.table.",Ka=({data:e=[],onOpenModal:n,onRemoveCustomField:i,onToggleCustomField:s})=>{const[d,r]=p.useState(!1),[h,x]=p.useState(null),{toggleNotification:F}=P.useNotification(),g=p.useMemo(()=>j.sortBy(e,"name"),[e]),{formatMessage:f}=H.useIntl(),S=p.useCallback(I=>{x(I),r(!0)},[x,r]),b=p.useCallback(()=>{x(null),r(!1)},[x,r]),$=p.useCallback(()=>{h===null?F({type:"warning",message:f(l(`${fe}confirmation.error`))}):i(h),b()},[b,h,Qe,i,F]);return t.jsxs(t.Fragment,{children:[t.jsx(We,{isVisible:d,header:f(l(`${fe}confirmation.header`)),children:f(l(`${fe}confirmation.message`)),labelConfirm:f(l(`${fe}confirmation.confirm`)),iconConfirm:ut,mainIcon:ut,onConfirm:$,onCancel:b}),t.jsxs(a.Table,{width:"100%",colCount:4,rowCount:e.length+1,footer:t.jsx(a.TFooter,{onClick:I=>{I.preventDefault(),n(null)},icon:Qa,children:f(l(`${fe}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:f(l(`${fe}header.name`))})}),t.jsx(a.Th,{width:"60%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:f(l(`${fe}header.label`))})}),t.jsx(a.Th,{width:"15%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:f(l(`${fe}header.type`))})}),t.jsx(a.Th,{width:"5%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:f(l(`${fe}header.required`))})}),t.jsx(a.Th,{children:t.jsx(a.VisuallyHidden,{})})]})}),t.jsx(a.Tbody,{children:g.map(I=>typeof I!="string"?t.jsxs(a.Tr,{children:[t.jsx(a.Td,{width:"20%",children:t.jsx(a.Typography,{fontWeight:"semiBold",textColor:"neutral800",children:I.name})}),t.jsx(a.Td,{width:"60%",children:t.jsx(a.Typography,{textColor:"neutral800",children:I.label})}),t.jsx(a.Td,{width:"15%",children:t.jsx(a.Typography,{textColor:"neutral800",children:I.type})}),t.jsx(a.Td,{width:"5%",children:t.jsx(a.Tooltip,{description:f(l(`${fe}${I.required?"required":"notRequired"}`)),children:t.jsx(a.Typography,{textColor:"neutral800",children:I.required?t.jsx(O.Check,{}):t.jsx(O.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:()=>s(I),label:f(l(`${fe}${I.enabled?"disable":"enable"}`)),variant:I.enabled?"success-light":"tertiary",children:I.enabled?t.jsx(O.Eye,{}):t.jsx(O.EyeStriked,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>n(I),label:f(l(`${fe}edit`)),children:t.jsx(O.Pencil,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>S(I),label:f(l(`${fe}remove`)),children:t.jsx(O.Trash,{}),style:{minWidth:50}})]})})})]},I.name):null)})]})]})},Ua=/^(?<type>[a-z0-9-]+)\:{2}(?<api>[a-z0-9-]+)\.{1}(?<contentType>[a-z0-9-]+)$/i,Wa=(e="",n={})=>{const{allowedContentTypes:i=[],restrictedContentTypes:s=[],contentTypes:d=[],preferCustomContentTypes:r=!1}=n,x=(r?["api::",...d]:i).filter(g=>e.includes(g)||e===g).length>0,F=s.filter(g=>e.includes(g)||e===g).length===0;return!!e&&x&&F},Ha=(e="")=>{const n=r=>r.split("-").map(h=>j.capitalize(h)).join(""),[i,s,d]=Xa(e);return i==="api"?n(d):`${n(s)}${n(d)}`},Xa=(e="")=>e.split(Ua).filter(n=>n&&n.length>0),pt="SERVER OFFLINE",Nt=(e,n)=>new Promise(i=>{fetch(`${window.strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":"false"}}).then(s=>{if(s.status>=400)throw new Error;if(!n)throw new Error(pt);i(e)}).catch(s=>{setTimeout(()=>Nt(e,s.message!==pt).then(i),100)})}),Za=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readSettingsConfigIndex(),queryFn(){return n.readSettingsConfig()},staleTime:1e3*60*5})},Ja=()=>{const e=P.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())})},Ya=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn:()=>n.restoreConfig()})},ei=()=>{const e=P.getFetchClient(),n=ee(e);return W.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1/0})},ti=()=>{const e=P.getFetchClient(),n=ee(e);return W.useMutation({mutationFn(i){return n.updateConfig({...i,contentTypesNameFields:Object.fromEntries(i.contentTypesNameFields.map(({key:s,fields:d})=>[s,d])),contentTypesPopulate:Object.fromEntries(i.contentTypesPopulate.map(({key:s,fields:d})=>[s,d])),pathDefaultFields:Object.fromEntries(i.pathDefaultFields.map(({key:s,fields:d})=>[s,d])),additionalFields:i.audienceFieldChecked?[...i.additionalFields,"audience"]:i.additionalFields,gql:{navigationItemRelated:i.contentTypes.map(s=>Ha(s))}})}})},ni=Gt.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()}),Pe={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6},ai=["relation","media","component","dynamiczone"],mt=new W.QueryClient,ii=()=>{const e=Za(),n=ei(),i=ti(),s=Ya(),d=Ja(),{formatMessage:r}=H.useIntl(),[h,x]=p.useState({required:!1}),[F,g]=p.useState(!1),f=P.useAuth("SettingsPage",y=>y.permissions),S=p.useMemo(()=>!!f.find(({action:y})=>y===Ae.settings[0].action),[f]),b=p.useMemo(()=>!!f.find(({action:y})=>y===Ae.access[0].action),[f]),$=e.isPending||n.isPending||i.isPending||d.isPending||s.isPending,[I,T]=p.useState({}),[u,v]=p.useState(),[A,V]=p.useState(!1),[le,M]=p.useState(!1),[J,ne]=p.useState(null),{contentTypesNameFields:be,contentTypes:je,additionalFields:ce,preferCustomContentTypes:te}=I,Z=(y,z,w)=>{if(w){let R=y,k=z;if(j.isObject(y)){const{name:D,value:X}=y.target;R=D,k=j.isNil(k)?X:k}return j.isString(R)&&ie(R,k),w(y,k)}},ie=(y,z)=>{T(w=>j.set({...w},y,z))},ue=y=>{if(j.get(u,y))return r(l(y))},Ie=y=>{ne(y),V(!0)},Ce=y=>{const z=ce.filter(w=>typeof w!="string"?w.name!==y.name:!0);ie("additionalFields",z),ne(null),V(!1)},oe=y=>{const z={...y,enabled:!y.enabled},w=ce.map(R=>typeof R!="string"&&y.name===R.name?z:R);ie("additionalFields",w)},ve=y=>{const w=!!ce.find(R=>typeof R!="string"?R.name===y.name:!1)?ce.map(R=>typeof R!="string"&&y.name===R.name?y:R):[...ce,y];ie("additionalFields",w),ne(null),V(!1)},Se=$?[]:j.sortBy(Object.values(n.data??[]).filter(({uid:y})=>Wa(y,{allowedContentTypes:e.data?.allowedContentTypes,restrictedContentTypes:e.data?.restrictedContentTypes,preferCustomContentTypes:te,contentTypes:je})).map(y=>{const z=n.data?.find(w=>w.uid===y.uid);if(z){const{isDisplayed:w,kind:R}=z;return{...y,available:w,isSingle:R==="singleType"}}return y}),y=>y.info.displayName),pe=(y,z)=>{const{success:w,data:R,error:k}=ni.safeParse(z);w?i.mutate(R,{onSuccess(){x({required:!0}),i.reset()}}):k&&(v(k.issues.reduce((D,X)=>({...D,[X.path.join(".")]:X.message}),{})),console.warn("Invalid form data",k))},Te=async y=>{M(!1),y&&(s.mutate(),x({required:!0}))},Fe=async()=>{d.mutate(void 0,{onSuccess(){g(!0),Nt(!0).then(y=>{y&&window.location.reload()})},onError(){x({required:!1})}})},ae=()=>x({required:!1}),ye=(y,z)=>{const w=z.map(k=>({key:k,fields:y[k]??[]}));return Object.entries(y).filter(([k,D])=>!z.includes(k)).map(([k,D])=>({key:k,fields:D})).concat(w)};return p.useEffect(()=>{if(e.data){const{additionalFields:y,contentTypes:z,contentTypesNameFields:w,contentTypesPopulate:R,pathDefaultFields:k}=e.data;T({...e.data,additionalFields:y.filter(D=>typeof D!="string"),audienceFieldChecked:y.includes("audience"),contentTypesNameFields:ye(w,z),contentTypesPopulate:ye(R,z),pathDefaultFields:ye(k,z)})}},[e.data]),S?$||F?t.jsx(P.Page.Loading,{}):t.jsxs(P.Layouts.Root,{children:[t.jsxs(P.Page.Main,{children:[t.jsx(P.Page.Title,{children:r(l("pages.settings.header.title"))}),t.jsx(P.Layouts.Header,{title:r(l("pages.settings.header.title")),subtitle:r(l("pages.settings.header.description")),primaryAction:b?t.jsx(a.Button,{startIcon:t.jsx(O.Check,{}),disabled:h.required,onClick:y=>pe(y,I),children:r(l("pages.settings.actions.submit"))}):null}),t.jsx(P.Layouts.Content,{children:t.jsx(P.Form,{method:"POST",width:"auto",height:"auto",initialValues:I,children:({values:y,onChange:z})=>t.jsxs(a.Flex,{direction:"column",gap:4,children:[h.required&&t.jsx(a.Box,{...Pe,width:"100%",children:t.jsx(Da,{closeLabel:r(l("pages.settings.actions.restart.alert.cancel")),title:r(l("pages.settings.actions.restart.alert.title")),action:t.jsx(a.Box,{children:t.jsx(a.Button,{onClick:Fe,startIcon:t.jsx(O.Play,{}),children:r(l("pages.settings.actions.restart.label"))})}),onClose:ae,children:t.jsxs(t.Fragment,{children:[t.jsx(a.Box,{paddingBottom:1,children:r(l("pages.settings.actions.restart.alert.description"))}),h.reasons?.map((w,R)=>t.jsx(a.Box,{paddingBottom:1,children:r(l(`pages.settings.actions.restart.alert.reason.${w}`))},R))]})})}),t.jsx(a.Box,{...Pe,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:r(l("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(G.Field,{name:"preferCustomContentTypes",label:r(l("pages.settings.form.preferCustomContentTypes.label")),hint:r(l("pages.settings.form.preferCustomContentTypes.hint")),children:t.jsx(a.Toggle,{name:"preferCustomContentTypes",checked:y.preferCustomContentTypes,onChange:w=>Z(w,!y.preferCustomContentTypes,z),onLabel:r(l("components.toggle.enabled")),offLabel:r(l("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),t.jsx(a.Grid.Item,{col:8,s:12,xs:12,children:t.jsx(G.Field,{name:"contentTypes",label:r(l("pages.settings.form.contentTypes.label")),hint:r(l("pages.settings.form.contentTypes.hint")),children:t.jsx(a.MultiSelect,{name:"contentTypes",label:r(l("pages.settings.form.contentTypes.label")),"aria-label":r(l("pages.settings.form.contentTypes.label")),placeholder:r(l("pages.settings.form.contentTypes.placeholder")),value:y.contentTypes,onChange:w=>{Z("contentTypes",w,z);const{contentTypesNameFields:R=[],contentTypesPopulate:k=[],pathDefaultFields:D=[]}=y,X=w.filter(E=>!R.find(me=>me.key===E))??[],_=R.filter(E=>!w.includes(E.key)||E.key==="default").map(({key:E})=>E)??[];ie("contentTypesNameFields",[...R.filter(({key:E})=>!_.includes(E)||E==="default")??[],...X.map(E=>({key:E,fields:[]}))]),ie("contentTypesPopulate",[...k.filter(({key:E})=>!_.includes(E)||E==="default")??[],...X.map(E=>({key:E,fields:[]}))]),ie("pathDefaultFields",[...D.filter(({key:E})=>!_.includes(E)||E==="default")??[],...X.map(E=>({key:E,fields:[]}))])},disabled:h.required,error:ue("contentTypes"),withTags:!0,width:"100%",children:Se.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:je?.length?t.jsx(a.Accordion.Root,{style:{width:"100%"},children:be.map((w,R)=>{const k=n.data?.find(({uid:E})=>E===w.key),D=k?.attributes??{},X=Object.keys(D).sort(),_=X.filter(E=>ai.includes(D[E]?.type));return k?t.jsxs(a.Accordion.Item,{value:w.key,children:[t.jsx(a.Accordion.Header,{children:t.jsx(a.Accordion.Trigger,{children:k?.info.displayName??r(l("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(G.Field,{name:`contentTypesNameFields[${R}]`,label:r(l("pages.settings.form.nameField.label")),hint:r(l(`pages.settings.form.nameField.${j.isEmpty(j.get(y,`contentTypesNameFields[${R}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`contentTypesNameFields[${R}]`,placeholder:r(l("pages.settings.form.nameField.placeholder")),value:j.get(y,`contentTypesNameFields[${R}].fields`),onChange:E=>{const me=j.get(y,"contentTypesNameFields",[]).map((re,ge)=>ge===R?{...re,fields:E}:re);return Z("contentTypesNameFields",me,z)},disabled:h.required,error:ue(`contentTypesNameFields[${R}]`),withTags:!0,children:X.map(E=>t.jsx(a.MultiSelectOption,{value:E,children:E},E))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(G.Field,{name:`contentTypesPopulate[${R-1}]`,label:r(l("pages.settings.form.populate.label")),hint:r(l(`pages.settings.form.populate.${j.isEmpty(j.get(y,`contentTypesPopulate[${R-1}]fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{width:"100%",name:`contentTypesPopulate[${R-1}]`,placeholder:r(l("pages.settings.form.populate.placeholder")),value:j.get(y,`contentTypesPopulate[${R-1}].fields`,[]),onChange:E=>{const me=j.get(y,"contentTypesPopulate",[]).map((re,ge)=>ge===R-1?{...re,fields:E}:re);return Z("contentTypesPopulate",me,z)},disabled:h.required,error:ue(`contentTypesPopulate[${R-1}]`),withTags:!0,children:_.map(E=>t.jsx(a.MultiSelectOption,{value:E,children:E},E))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(G.Field,{name:`pathDefaultFields[${R-1}]`,label:r(l("pages.settings.form.pathDefaultFields.label")),hint:r(l(`pages.settings.form.pathDefaultFields.${j.isEmpty(j.get(y,`pathDefaultFields[${R-1}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`pathDefaultFields[${R-1}]`,width:"100%",placeholder:r(l("pages.settings.form.pathDefaultFields.placeholder")),value:j.get(y,`pathDefaultFields[${R-1}].fields`,[]),onChange:E=>{const me=j.get(y,"pathDefaultFields",[]).map((re,ge)=>ge===R-1?{...re,fields:E}:re);return Z("pathDefaultFields",me,z)},disabled:h.required,error:ue(`pathDefaultFields[${R-1}]`),withTags:!0,children:X.map(E=>t.jsx(a.MultiSelectOption,{value:E,children:E},E))})})})]})})]},w.key):null})}):null})]})})})]})}),t.jsx(a.Box,{...Pe,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:r(l("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(G.Field,{name:"allowedLevels",label:r(l("pages.settings.form.allowedLevels.label")),hint:r(l("pages.settings.form.allowedLevels.hint")),children:t.jsx(a.NumberInput,{width:"100%",name:"allowedLevels",type:"number",placeholder:r(l("pages.settings.form.allowedLevels.placeholder")),onChange:(w,R)=>{if(j.isObject(w)){const k=parseInt(w.target.value);return Z(w.target.name,j.isNaN(k)?0:k,z)}return Z(w,R,z)},value:y.allowedLevels,disabled:h.required})})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(G.Field,{name:"cascadeMenuAttached",label:r(l("pages.settings.form.cascadeMenuAttached.label")),hint:r(l("pages.settings.form.cascadeMenuAttached.hint")),children:t.jsx(a.Toggle,{width:"100%",name:"cascadeMenuAttached",checked:y.cascadeMenuAttached,onChange:w=>Z(w,!y.cascadeMenuAttached,z),onLabel:r(l("components.toggle.enabled")),offLabel:r(l("components.toggle.disabled")),disabled:h.required})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(G.Field,{name:"audienceFieldChecked",label:r(l("pages.settings.form.audience.label")),hint:r(l("pages.settings.form.audience.hint")),children:t.jsx(a.Toggle,{name:"audienceFieldChecked",checked:y.audienceFieldChecked,onChange:w=>Z(w,!y.audienceFieldChecked,z),onLabel:r(l("components.toggle.enabled")),offLabel:r(l("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(G.Field,{name:"isCacheEnabled",label:r(l("pages.settings.form.cache.label")),hint:r(l("pages.settings.form.cache.hint")),children:t.jsx(a.Toggle,{name:"isCacheEnabled",checked:y.isCacheEnabled,onChange:w=>Z(w,!y.isCacheEnabled,z),onLabel:r(l("components.toggle.enabled")),offLabel:r(l("components.toggle.disabled")),disabled:h.required,width:"100%"})})})]})]})}),t.jsxs(a.Box,{...Pe,width:"100%",children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:r(l("pages.settings.customFields.title"))}),t.jsx(a.Box,{padding:1}),t.jsx(Ka,{data:ce,onOpenModal:Ie,onRemoveCustomField:Ce,onToggleCustomField:oe})]}),t.jsx(a.Box,{...Pe,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:r(l("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:r(l("pages.settings.actions.restore.description"))})}),t.jsxs(a.Grid.Item,{col:12,s:12,xs:12,children:[b?t.jsx(a.Button,{variant:"danger-light",startIcon:t.jsx(O.Check,{}),onClick:()=>M(!0),children:r(l("pages.settings.actions.restore.label"))}):null,t.jsx(We,{isVisible:le,header:r(l("pages.settings.actions.restore.confirmation.header")),labelConfirm:r(l("pages.settings.actions.restore.confirmation.confirm")),iconConfirm:t.jsx(O.Typhoon,{}),onConfirm:()=>Te(!0),onCancel:()=>Te(!1),children:r(l("pages.settings.actions.restore.confirmation.description"))})]})]})]})})]})})})]}),A&&t.jsx(_a,{onClose:()=>V(!1),onSubmit:ve,isOpen:A,data:J})]}):t.jsx(P.Page.NoPermissions,{})};function oi(){mt.invalidateQueries();const e=G.usePluginTheme();return t.jsx(W.QueryClientProvider,{client:mt,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(ii,{})})})}const si="navigation",gt="Navigation",ri={register(e){e.createSettingSection({id:xe,intlLabel:{id:`${xe}.plugin.section.name`,defaultMessage:`${gt} plugin`}},[{intlLabel:{id:`${xe}.plugin.section.item`,defaultMessage:"Configuration"},id:"navigation",to:xe,Component(){return oi},permissions:Ae.settings}]),e.addMenuLink({to:`plugins/${xe}`,icon:Mt,intlLabel:{id:`${xe}.plugin.name`,defaultMessage:gt},Component(){return Ba},permissions:Ae.access,position:1}),e.registerPlugin({id:xe,initializer:$t,isReady:!1,name:si})},registerTrads:async function({locales:e=[]}){return Promise.all(e.map(async n=>n in nt?nt[n]().then(({default:s})=>({data:G.prefixPluginTranslations(G.flattenObject(s),xe),locale:n})):{data:G.prefixPluginTranslations(G.flattenObject({}),xe),locale:n}))}};module.exports=ri;