strapi-plugin-navigation 3.0.8 → 3.0.9
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/dist/admin/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";const
|
|
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`
|
|
2
2
|
path {
|
|
3
3
|
fill: ${({theme:e})=>e.colors.neutral500};
|
|
4
4
|
}
|
|
5
|
-
|
|
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
|
|
6
6
|
c0-3.6-2.9-6.5-6.5-6.5H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,52.5,84.5,49.6,84.5,46z M84.5,75c0-3.6-2.9-6.5-6.5-6.5
|
|
7
|
-
H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,81.5,84.5,78.6,84.5,75z`})})}),kt=()=>t.jsx($t,{}),tt={en:()=>Promise.resolve().then(()=>require("../_chunks/en-CKowl_sX.js")),fr:()=>Promise.resolve().then(()=>require("../_chunks/fr-DyX_S7LN.js")),ca:()=>Promise.resolve().then(()=>require("../_chunks/ca-BzGBgdJx.js"))},Ve=e=>`${he}.${e}`,r=(e,n)=>({id:Ve(e),defaultMessage:n??Ve(e)}),De=e=>`plugin::navigation.${e}`,qe={read:"read",update:"update",settings:"settings"},Ne={access:[{action:De(qe.read),subject:null}],update:[{action:De(qe.update),subject:null}],settings:[{action:De(qe.settings),subject:null}]},Qe=c.z.object({name:c.z.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:c.z.string(),required:c.z.boolean().optional(),enabled:c.z.boolean().optional()}),Pt=Qe.extend({type:c.z.literal("select"),multi:c.z.boolean(),options:c.z.array(c.z.string())}),zt=Qe.extend({type:c.z.enum(["boolean","string"]),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),Mt=Qe.extend({type:c.z.literal("media"),multi:c.z.literal(!1).optional(),options:c.z.array(c.z.string()).max(0).optional()}),gt=c.z.union([zt,Mt,Pt]),Bt=c.z.union([c.z.literal("audience"),gt]),Dt=c.z.object({additionalFields:c.z.array(Bt),allowedLevels:c.z.number(),availableAudience:c.z.object({id:c.z.number(),documentId:c.z.string(),name:c.z.string(),key:c.z.string()}).array(),contentTypes:c.z.array(c.z.string()),contentTypesNameFields:c.z.record(c.z.string(),c.z.array(c.z.string())),contentTypesPopulate:c.z.record(c.z.string(),c.z.array(c.z.string())),gql:c.z.object({navigationItemRelated:c.z.array(c.z.string())}),pathDefaultFields:c.z.record(c.z.string(),c.z.any()),cascadeMenuAttached:c.z.boolean(),preferCustomContentTypes:c.z.boolean(),isCacheEnabled:c.z.boolean().optional(),isCachePluginEnabled:c.z.boolean().optional()}),qt=c.z.object({uid:c.z.string(),isDisplayed:c.z.boolean(),apiID:c.z.string(),kind:c.z.enum(["collectionType","singleType"]),info:c.z.object({singularName:c.z.string(),pluralName:c.z.string(),displayName:c.z.string(),description:c.z.string().optional()}),attributes:c.z.record(c.z.string(),c.z.unknown())}),Ot=o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}),ht=o.enum(["INTERNAL","EXTERNAL","WRAPPER"]),Gt=o.object({id:o.number(),documentId:o.string(),title:o.string(),type:ht,path:o.string(),externalPath:o.string().or(o.null()).optional(),uiRouterKey:o.string(),menuAttached:o.boolean(),order:o.number().int(),collapsed:o.boolean(),autoSync:o.boolean().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),additionalFields:o.record(o.string(),o.unknown()).or(o.null()).optional(),audience:o.array(Ot).or(o.null()).optional(),viewId:o.number().optional(),viewParentId:o.number().optional(),structureId:o.string().optional(),removed:o.boolean().optional(),isSearchActive:o.boolean().optional(),updated:o.boolean().optional()}),ft=Gt.extend({items:o.lazy(()=>ft.array().or(o.null())).optional()}),_t=o.object({id:o.number(),documentId:o.string(),name:o.string(),slug:o.string(),locale:o.string(),visible:o.boolean(),items:o.array(ft)}),Ke=o.object({name:o.string().refine(e=>!e.includes(" "),{message:"No space allowed"}),label:o.string(),required:o.boolean().optional(),enabled:o.boolean().optional()}),Vt=Ke.extend({type:o.literal("select"),multi:o.boolean(),options:o.array(o.string())}),Qt=Ke.extend({type:o.enum(["boolean","string"]),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Kt=Ke.extend({type:o.literal("media"),multi:o.literal(!1).optional(),options:o.array(o.string()).max(0).optional()}),Ut=Qt.or(Kt).or(Vt),Wt=o.union([o.literal("audience"),Ut]),Ht=o.object({uid:o.string(),name:o.string(),draftAndPublish:o.boolean(),isSingle:o.boolean(),description:o.string(),collectionName:o.string(),contentTypeName:o.string(),label:o.string(),labelSingular:o.string(),endpoint:o.string(),available:o.boolean(),visible:o.boolean()}),Xt=o.object({additionalFields:o.array(Wt),allowedLevels:o.number(),availableAudience:o.object({id:o.number(),documentId:o.string(),name:o.string(),key:o.string()}).array(),contentTypes:o.array(o.string()),contentTypesNameFields:o.record(o.string(),o.array(o.string())),contentTypesPopulate:o.record(o.string(),o.array(o.string())),gql:o.object({navigationItemRelated:o.array(o.string())}),pathDefaultFields:o.record(o.string(),o.string().array()),cascadeMenuAttached:o.boolean(),preferCustomContentTypes:o.boolean(),allowedContentTypes:o.string().array(),restrictedContentTypes:o.string().array(),isCacheEnabled:o.boolean().optional(),isCachePluginEnabled:o.boolean().optional()}),nt=Xt.omit({contentTypes:!0}).extend({contentTypes:Ht.array()}),Zt=o.object({defaultLocale:o.string(),restLocale:o.string().array()}),Jt=o.enum(["collectionType","singleType"]),Yt=o.object({singularName:o.string(),pluralName:o.string(),displayName:o.string(),description:o.string().optional(),name:o.string().optional()}),yt=o.object({required:o.boolean().optional(),max:o.number().optional(),min:o.number().optional(),minLength:o.number().optional(),maxLength:o.number().optional(),private:o.boolean().optional(),configurable:o.boolean().optional(),default:o.any().optional()}),en=o.enum(["string","text","richtext","blocks","email","password","date","time","datetime","timestamp","boolean","integer","biginteger","float","decimal","json","relation","media"]),tn=yt.extend({type:en}),nn=yt.extend({type:o.literal("enumeration"),enum:o.string().array()}),an=o.object({type:o.literal("component"),component:o.string(),repeatable:o.boolean().optional()}),on=o.object({type:o.literal("dynamiczone"),components:o.string().array()}),sn=o.object({media:o.literal("media"),allowedTypes:o.enum(["images","videos","audios","files"]).array(),required:o.boolean().optional()}),rn=o.enum(["oneToOne","oneToMany","manyToOne","manyToMany","morphToMany","manyToMorph"]),ln=o.object({type:o.literal("relation"),relation:rn,target:o.string(),mappedBy:o.string().optional(),inversedBy:o.string().optional()}),dn=o.record(o.string(),o.union([tn,nn,an,on,ln,sn])),cn=o.object({kind:Jt,collectionName:o.string(),info:Yt,options:o.object({draftAndPublish:o.boolean().optional(),hidden:o.boolean().optional(),templateName:o.string().optional()}).optional(),attributes:dn,actions:o.record(o.string(),o.any()).optional(),lifecycles:o.record(o.string(),o.any()).optional(),uid:o.string(),apiName:o.string().optional(),associations:o.object({model:o.string(),alias:o.string()}).array().optional(),modelName:o.string().optional(),plugin:o.string().optional(),pluginOptions:o.record(o.string(),o.any()).optional(),isSingle:o.boolean().optional()});cn.pick({info:!0,kind:!0,attributes:!0,options:!0});const un=o.object({id:o.number(),documentId:o.string(),locale:o.string().or(o.null()).optional()}).and(o.record(o.string(),o.any())),pn=o.object({slug:o.string()}),mn=o.object({externalPath:o.string().or(o.null()).optional(),path:o.string().or(o.null()).optional(),related:o.object({documentId:o.string().optional(),__type:o.string()}).catchall(o.unknown()).nullish(),title:o.string(),type:ht,uiRouterKey:o.string()}),Y="navigation",ee=I.once(e=>({getIndexPrefix(){return[Y]},readAll(){return e.get(`/${Y}`).then(({data:n})=>_t.array().parse(n))},readAllIndex(){return[Y,"navigations"]},delete(n){return e.del(`/${Y}/${n}`)},create(n){return e.post(`/${Y}/`,n)},update(n){return e.put(`/${Y}/${n.documentId}`,n)},purge({documentId:n,withLangVersions:i}){return e.del(`/${Y}/cache/purge/${n??""}?clearLocalisations=${!!i}`)},slugify(n){const i=new URLSearchParams;return i.append("q",n),e.get(`/${Y}/slug?${i.toString()}`).then(({data:l})=>pn.parse(l)).then(({slug:l})=>l)},readConfig(){return e.get(`/${Y}/config`).then(({data:n})=>nt.parse(n))},readConfigIndex(){return[Y,"config"]},healthCheck(){return e.get("/_health")},healthCheckIndex(){return["health"]},readNavigationItemFromLocale({source:n,structureId:i,target:l,documentId:d}){return e.get(`/${Y}/i18n/item/read/${d}/${n}/${l}?path=${i}`)},updateConfig(n){return e.put(`/${Y}/config`,n).then(()=>{})},restart(){return e.get(`/${Y}/settings/restart`).then(()=>{})},restoreConfig(){return e.del(`/${Y}/config`).then(()=>{})},readSettingsConfig(){return e.get(`/${Y}/settings/config`).then(({data:n})=>{const i=nt.parse(n);return{...i,contentTypes:i.contentTypes.map(({uid:l})=>l)}})},readSettingsConfigIndex(){return[Y,"config"]},readContentType(){return e.get("/content-manager/content-types").then(({data:n})=>qt.array().parse(n.data))},readContentTypeIndex(){return[Y,"content-manager","content-types"]},readContentTypeItems({uid:n,locale:i,query:l}){const d=new URLSearchParams;return l&&d.append("_q",l),i&&d.append("locale",i),e.get(`/${Y}/content-type-items/${n}?${d.toString()}`).then(({data:s})=>un.array().parse(s))},readContentTypeItemsIndex({uid:n,locale:i,query:l}){return[Y,"content-manager","content-type-items",n,i,l]},readLocale(){return e.get(`/${Y}/settings/locale`).then(n=>Zt.parse(n.data))},readLocaleIndex(){return[Y,"locale"]},copyNavigationLocale({documentId:n,source:i,target:l}){return e.put(`/${Y}/i18n/copy/${n}/${i}/${l}`)},copyNavigationItemLocale({source:n,structureId:i="",target:l}){return e.get(`/${Y}/i18n/item/read/${n}/${l}?path=${i}`).then(d=>mn.parse(d.data))}})),gn=t.jsx(O.WarningCircle,{}),Ue=({isVisible:e=!1,isActionAsync:n=!1,children:i,onConfirm:l,onCancel:d,header:s,labelCancel:h,labelConfirm:b,iconConfirm:R,mainIcon:g=gn})=>{const{formatMessage:y}=U.useIntl();return e?t.jsx(a.Dialog.Root,{open:e,onOpenChange:F=>{!F&&e&&d?.(void 0)},title:s||y(r("components.confirmation.dialog.header","Confirmation")),children:t.jsxs(a.Dialog.Content,{children:[t.jsx(a.Dialog.Body,{icon:g,children:t.jsx(a.Flex,{justifyContent:"center",children:t.jsx(a.Typography,{id:"dialog-confirm-description",children:i||y(r("components.confirmation.dialog.description"))})})}),t.jsxs(a.Dialog.Footer,{children:[t.jsx(a.Dialog.Cancel,{children:t.jsx(a.Button,{fullWidth:!0,onClick:d,variant:"tertiary",disabled:n,children:h||y(r("components.confirmation.dialog.button.cancel","Cancel"))})}),t.jsx(a.Button,{fullWidth:!0,onClick:l,variant:"danger-light",startIcon:R||t.jsx(O.Check,{}),disabled:n,children:b||y(r("components.confirmation.dialog.button.confirm","Confirm"))})]})]})}):null},at=t.jsx(t.Fragment,{}),hn=({onConfirm:e,onCancel:n})=>{const{formatMessage:i}=U.useIntl();return t.jsx(Ue,{isVisible:!0,header:i(r("pages.view.actions.i18nCopyItems.confirmation.header")),labelConfirm:i(r("pages.view.actions.i18nCopyItems.confirmation.confirm")),iconConfirm:at,mainIcon:at,onConfirm:e,onCancel:n,children:i(r("pages.view.actions.i18nCopyItems.confirmation.content"))})},We=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readLocaleIndex(),queryFn:n.readLocale,staleTime:1/0})},xt=e=>{const n=P.getFetchClient(),i=ee(n);return K.useQuery({queryKey:i.readContentTypeItemsIndex(e),queryFn:()=>i.readContentTypeItems(e),staleTime:1e3*60*3,enabled:!!e.uid})},fn=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1e3*60*3})},yn=()=>{const e=P.getFetchClient(),n=ee(e),i=K.useQueryClient();return()=>{i.resetQueries({queryKey:n.readAllIndex()})}},xn=()=>{const e=P.getFetchClient(),n=ee(e),i=K.useQueryClient();return()=>{i.resetQueries({queryKey:n.readContentTypeIndex()})}},He=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readAllIndex(),queryFn(){return n.readAll().then(i=>i.map(l=>({...l,items:l.items.map(Xe)})))},staleTime:1e3*60*5})},bn=()=>{const e=K.useQueryClient(),n=P.getFetchClient(),i=ee(n);return m.useCallback(()=>{e.invalidateQueries({queryKey:i.getIndexPrefix()})},[e,n,i])},jn=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn(i){return Promise.all(i.map(n.delete))}})},In=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn:n.copyNavigationItemLocale})},Cn=()=>{const e=P.getFetchClient(),n=ee(e),i=K.useQueryClient();return K.useMutation({mutationFn:n.copyNavigationLocale,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},vn=()=>{const e=P.getFetchClient(),n=ee(e),i=K.useQueryClient();return K.useMutation({mutationFn:n.create,onSuccess(){i.invalidateQueries({queryKey:n.readAllIndex()})}})},bt=e=>{const n=P.getFetchClient(),i=ee(n),l=K.useQueryClient();return K.useMutation({mutationFn:i.update,onSuccess(){l.invalidateQueries({queryKey:i.readAllIndex()}),e?.()}})},jt=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn(i){return i?.length?Promise.all(i.map(l=>n.purge({documentId:l,withLangVersions:!0}))):n.purge({})}})},ke=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readConfigIndex(),queryFn:n.readConfig})},Tn=e=>{const[n,i]=m.useState(!1),[l,d]=m.useState(void 0),s=m.useCallback(()=>{i(!1)},[i]),h=m.useCallback(()=>{l&&(e(l),i(!1))},[e,l]),b=m.useMemo(()=>n?t.jsx(hn,{onConfirm:h,onCancel:s}):null,[n,h,s]);return m.useMemo(()=>({setI18nCopyModalOpened:i,setI18nCopySourceLocale:d,i18nCopyItemsModal:b,i18nCopySourceLocale:l}),[d,i,b,l])},Xe=e=>({...e,viewId:Math.floor(Math.random()*152e4),items:e.items?.map(Xe)}),Le=(e=[])=>I.orderBy(e,["order"],["asc"]).map((n,i)=>{const l=i+1;return{...n,order:l,updated:n.updated||l!==n.order}}),Pe=(e,n)=>e.type==="INTERNAL"?{type:"INTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,related:{__type:e.relatedType,documentId:e.related},viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated}:e.type==="EXTERNAL"?{type:"EXTERNAL",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,path:"",viewId:e.viewId,structureId:e.structureId,viewParentId:e.viewParentId,removed:e.removed,updated:e.updated,externalPath:e.externalPath??"",audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[]}:{type:"WRAPPER",collapsed:!!e.collapsed,id:e.id,documentId:e.documentId,menuAttached:!!e.menuAttached,order:e.order??0,path:e.path??"",title:e.title,uiRouterKey:e.uiRouterKey,additionalFields:e.additionalFields,audience:e.audience?.map(i=>n.availableAudience.find(l=>l.documentId===i))??[],autoSync:e.autoSync,items:e.items?.length?Ae(e,e.items,n):e.items,viewId:e.viewId,viewParentId:e.viewParentId,structureId:e.structureId,removed:e.removed,updated:e.updated},Ae=(e,n=[],i)=>{if(!e.viewParentId){if(e.viewId){const d=n.map(s=>s.viewId===e.viewId?Pe(e,i):{...s,items:s.items?.length?Ae(e,s.items,i):s.items});return Le(d)}return[...Le([...n,Pe({...e,viewId:Date.now()},i)])]}const l=n.map(d=>{const s=d.items||[];if(e.viewParentId===d.viewId){if(!e.viewId)return{...d,items:[...Le([...s,Pe({...e,viewId:Date.now()},i)])]};const h=s.map(b=>b.viewId===e.viewId?Pe(e,i):b);return{...d,items:Le(h)}}return{...d,items:d.items?.length?Ae(e,d.items,i):d.items}});return Le(l)},Me=(e,n)=>{const i=n?.contentTypes??[],l=n?.contentTypesNameFields??{},d=l.default??[],{__collectionUid:s}=e,h=i.find(({uid:y})=>y===s);if(h?.isSingle)return h.labelSingular;const b=[...d,...d.map(y=>I.capitalize(y))],R=I.get(l,`${h?h.uid:s}`,b),g=(I.isEmpty(R)?b:R).map(y=>e[y]).filter(y=>y);return I.first(g)||""},wn=({relatedRef:e,relatedType:n={},type:i,isCollection:l})=>l?n.available||e.available:i==="INTERNAL"&&(e?"publishedAt"in e:!1)?I.get(e,"publishedAt",!0):!0,we=(e,n=!1)=>{const{__type:i,documentId:l}=e.type==="INTERNAL"&&e.related?e.related:{__type:"",documentId:""};return e.type==="INTERNAL"?{type:"INTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},path:e.path??"",relatedType:i,related:l,title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:void 0,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:e.type==="EXTERNAL"?{type:"EXTERNAL",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,externalPath:e.externalPath,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive}:{type:"WRAPPER",id:e.id,documentId:e.documentId,additionalFields:e.additionalFields??{},title:e.title,uiRouterKey:e.uiRouterKey,autoSync:e.autoSync??void 0,collapsed:e.collapsed,order:e.order??0,menuAttached:e.menuAttached,viewId:e.viewId,viewParentId:e.viewParentId,items:n?e.items:e.items?.map(d=>we(d))??void 0,removed:e.removed,updated:e.updated,isSearchActive:e.isSearchActive,path:e.path??""}},It=e=>e.find(({isPending:n})=>n),Re=(e,n)=>e.collapsed!==n?{...e,collapsed:n,updated:!0,items:e.items?.map(i=>Re(i,n))}:{...e,items:e.items?.map(i=>Re(i,n))},Ee=({start:e,end:n})=>t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:it(e)}),it(n)]}),it=e=>e?t.jsx(a.Button,{onClick:e.onClick,variant:e.variant,disabled:e.disabled,children:e.children}):null,Sn=({alreadyUsedNames:e})=>c.z.object({name:c.z.string().min(2).and(c.z.string().refine(n=>!e.includes(n),"Name already used")),visible:c.z.boolean()}),Ct=({navigation:e,onChange:n,alreadyUsedNames:i=[],isLoading:l})=>{const[d,s]=m.useState({}),[h,b]=m.useState(),{formatMessage:R}=U.useIntl(),{name:g,visible:y}=d,F=(C,v,u)=>{if(u){let T=C,A=v;if(I.isObject(C)){const{name:_,value:re}=C.target;T=_,A=I.isNil(A)?re:A}return I.isString(T)&&j(T,A),u(C,A)}},j=(C,v)=>{s(I.set({...d},C,v))},k=C=>{const v=I.get(h,C);if(v)return v};return m.useEffect(()=>{e&&(e.name?s({...e}):(s({name:"New navigation",visible:!0}),n({name:"New navigation",visible:!0,disabled:!0})))},[]),m.useEffect(()=>{if(`${g}-${y}`!=`${e.name}-${e.visible}`){const{error:C}=Sn({alreadyUsedNames:i}).safeParse(d);n({...e,name:g,visible:y,disabled:!I.isEmpty(C?.issues)}),b(C?C.issues.reduce((v,u)=>({...v,[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:v})=>t.jsxs(a.Grid.Root,{gap:5,children:[t.jsx(a.Grid.Item,{col:6,children:t.jsx(G.Field,{name:"name",label:R(r("popup.navigation.form.name.label","Name")),error:k("name"),children:t.jsx(a.TextInput,{name:"name",type:"string",placeholder:R(r("popup.navigation.form.name.placeholder","Navigations's name")),onChange:(u,T)=>F(u,T,v),value:C.name,disabled:l})})}),t.jsx(a.Grid.Item,{col:6,children:t.jsx(G.Field,{name:"visible",label:R(r("popup.navigation.form.visible.label","Visibility")),error:k("visible"),children:t.jsx(a.Toggle,{name:"visible",checked:C.visible,onChange:u=>F(u,!C.visible,v),onLabel:R(r("popup.navigation.form.visible.toggle.visible")),offLabel:R(r("popup.navigation.form.visible.toggle.hidden")),disabled:l,width:"100%"})})})]})})},Fn={name:"",items:[],visible:!1},Nn=({setState:e,current:n,isLoading:i,alreadyUsedNames:l})=>{const d=m.useCallback(({disabled:s,...h})=>{e({view:"CREATE",current:h,alreadyUsedNames:l,disabled:s})},[e]);return t.jsx(Ct,{alreadyUsedNames:l,navigation:n,onChange:d,isLoading:i})},Rn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),variant:"tertiary",disabled:l,onClick:n},end:{children:d(r("popup.navigation.manage.button.save")),variant:"default",disabled:l||i,onClick:e}})},An=t.jsx(O.Pencil,{}),En=t.jsx(O.Trash,{}),ot=t.jsx(O.Feather,{}),Ln=({navigations:e,selected:n,setState:i})=>{const l=ke(),d=!!n.length,{formatMessage:s}=U.useIntl(),h=We(),b=m.useCallback(()=>i({navigations:e,selected:d?[]:e.map(u=>u),view:"LIST"}),[i,e,d]),R=m.useMemo(()=>new Set(n.map(ze.prop("documentId"))),[n]),g=(u,T)=>()=>{i({navigations:e,selected:T?n.filter(({documentId:A})=>A!==u.documentId):n.concat([u]),view:"LIST"})},y=u=>()=>{i({view:"EDIT",current:u,navigation:u,alreadyUsedNames:e.reduce((T,{name:A})=>A!==u.name?T.concat([A]):T,[])})},F=u=>()=>{i({view:"DELETE",navigations:u})},j=u=>()=>{i({view:"CACHE_PURGE",navigations:u})},k=m.useCallback(F(n),[F]),C=m.useCallback(j(n),[j]),v=u=>[u].concat(e.filter(T=>T.documentId===u.documentId&&T.locale!==u.locale));return t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,paddingBottom:3,children:d?t.jsxs(a.Flex,{direction:"row",gap:1,children:[t.jsx(a.Box,{paddingRight:3,children:s(r("popup.navigation.manage.table.hasSelected"),{count:n.length})}),t.jsx(a.Button,{onClick:k,variant:"tertiary",children:s(r("popup.navigation.manage.button.delete"))}),l.data?.isCacheEnabled?t.jsx(a.Button,{onClick:C,variant:"tertiary",children:s(r("popup.navigation.manage.button.purge"))}):null]}):null})}),t.jsxs(a.Table,{rowCount:e.length,colCount:6,children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{children:t.jsx(a.Checkbox,{onCheckedChange:b,check:d})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.id"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.name"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.locale"))})}),t.jsx(a.Th,{children:t.jsx(a.Typography,{textColor:"neutral800",children:s(r("popup.navigation.manage.table.visibility"))})}),t.jsx(a.Th,{children:l.data?.isCacheEnabled?t.jsx(a.Flex,{direction:"row",children:t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})})}):null})]})}),t.jsx(a.Tbody,{children:e.filter(({locale:u})=>u===h.data?.defaultLocale).map(u=>t.jsxs(a.Tr,{children:[t.jsx(a.Td,{children:t.jsx(a.Checkbox,{onCheckedChange:g(u,R.has(u.documentId)),checked:R.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:v(u).map(ze.prop("locale")).join(", ")})}),t.jsx(a.Td,{children:t.jsx(a.Typography,{textColor:"neutral800",children:u.visible?s(r("popup.navigation.manage.navigation.visible")):s(r("popup.navigation.manage.navigation.hidden"))})}),t.jsx(a.Td,{children:t.jsxs(a.Flex,{width:"100%",direction:"row",alignItems:"center",justifyContent:"flex-end",children:[t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:y(u),label:s(r("popup.navigation.manage.button.edit")),noBorder:!0,children:An})}),t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:F([u]),label:s(r("popup.navigation.manage.button.delete")),noBorder:!0,children:En})}),l.data?.isCacheEnabled?t.jsx(a.Box,{paddingLeft:1,children:t.jsx(a.IconButton,{onClick:j([u]),label:s(r("popup.navigation.manage.button.purge")),noBorder:!0,children:ot})}):null]})})]},u.documentId))})]})]})},$n=({onClose:e,state:n,setState:i,navigations:l,isLoading:d})=>{const{formatMessage:s}=U.useIntl();return t.jsx(Ee,{start:{onClick:e,variant:"tertiary",disabled:d,children:s(r("popup.item.form.button.cancel"))},end:{onClick:()=>i({view:"CREATE",alreadyUsedNames:l.map(({name:h})=>h),current:Fn}),variant:"default",disabled:d,children:s(r("popup.navigation.manage.button.create"))}})},kn=({navigations:e})=>{const{formatMessage:n}=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(r("popup.navigation.manage.delete.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:zn(e)})})]})},Pn=({state:e,onSubmit:n,onReset:i,isLoading:l})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:i,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.delete")),disabled:l,onClick:n,variant:"danger"}})},zn=e=>e.map(ze.prop("name")).join(", "),Mn=({errors:e})=>{const{formatMessage:n}=U.useIntl(),{toggleNotification:i}=P.useNotification();return m.useEffect(()=>{e.map(l=>{i({type:"warning",message:n({id:"",defaultMessage:l.message})}),console.error(l)})},[]),t.jsx(a.Grid.Root,{children:t.jsx(a.Grid.Item,{col:12,children:n(r("popup.navigation.manage.error.message"))})})},Bn=({onReset:e})=>{const{formatMessage:n}=U.useIntl();return t.jsx(Ee,{end:{children:n(r("popup.navigation.manage.button.goBack")),onClick:e,variant:"secondary"}})},Dn=({alreadyUsedNames:e,current:n,isLoading:i,navigation:l,setState:d})=>{const s=m.useMemo(()=>n??l,[n]),h=m.useCallback(({disabled:b,...R})=>{d({view:"EDIT",alreadyUsedNames:e,current:R,disabled:b,navigation:l})},[d,l,e]);return t.jsx(Ct,{navigation:s,onChange:h,isLoading:i,alreadyUsedNames:e})},qn=({onSubmit:e,onReset:n,disabled:i,isLoading:l})=>{const{formatMessage:d}=U.useIntl();return t.jsx(Ee,{start:{children:d(r("popup.item.form.button.cancel")),disabled:l,onClick:n,variant:"tertiary"},end:{children:d(r("popup.navigation.manage.button.save")),disabled:l||i,onClick:e,variant:"secondary"}})},On=({navigations:e})=>{const{formatMessage:n}=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(r("popup.navigation.manage.purge.header"))})})}),t.jsx(a.Grid.Item,{col:12,paddingBottom:1,children:t.jsx(a.Typography,{variant:"omega",fontWeight:"semiBold",children:_n(e)})})]})},Gn=({onSubmit:e,onReset:n,isLoading:i})=>{const{formatMessage:l}=U.useIntl();return t.jsx(Ee,{start:{children:l(r("popup.item.form.button.cancel")),disabled:i,onClick:n,variant:"tertiary"},end:{children:l(r("popup.navigation.manage.footer.button.purge")),disabled:i,onClick:e,variant:"danger"}})},_n=e=>e.map(ze.prop("name")).join(", "),Vn=({initialState:e,isOpened:n,onClose:i})=>{const{formatMessage:l}=U.useIntl(),[d,s]=m.useState(e),{toggleNotification:h}=P.useNotification(),b=bn(),R=jn(),g=vn(),y=bt(),F=jt(),j=He(),k=We(),C=m.useMemo(()=>I.sortBy(j.data??[],"id"),[j.data]),v=It([R,j,g,y,F,k]),u=m.useCallback(()=>s({view:"INITIAL"}),[s]),T=m.useCallback(async()=>{const M=d.view==="DELETE"?()=>{R.mutate(d.navigations.reduce((Z,te)=>(te.documentId&&Z.push(te.documentId),Z),[]),{onSuccess:b})}:d.view==="EDIT"?()=>{y.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(Z){console.warn(Z),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CREATE"&&d.current?()=>{g.mutate(d.current,{onSuccess(){b(),h({type:"success",message:l(r("notification.navigation.submit"))})},onError(Z){console.warn(Z),h({type:"warning",message:l(r("notification.navigation.error"),{errorTitles:""})})}})}:d.view==="CACHE_PURGE"?()=>{F.mutate(d.navigations.reduce((Z,te)=>(te.documentId&&Z.push(te.documentId),Z),[]),{onSuccess:b})}:()=>{};try{M(),s({view:"INITIAL"})}catch(Z){s({view:"ERROR",errors:Z instanceof Error?[Z]:[]})}},[d,s,b,g,F,y,R,h,l,r]);m.useEffect(()=>{(d.view==="INITIAL"||d.view==="LIST")&&s({view:"LIST",navigations:C,selected:[]})},[d.view,C]);const A=Qn(d,l,!!v),_=Kn(d,s,!!v),re=Un({state:d,setState:s,onClose:i,onSubmit:T,onReset:u,navigations:C,isLoading:!!v});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:_}),re]})})},Qn=(e,n,i)=>{switch(e.view){case"LIST":case"CREATE":case"ERROR":case"CACHE_PURGE":case"DELETE":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r(`popup.navigation.manage.header.${e.view}`))]});case"EDIT":return t.jsxs(a.Flex,{direction:"row",children:[i?t.jsx(a.Loader,{small:!0}):null,n(r("popup.navigation.manage.header.EDIT"),{name:e.navigation.name})]});case"INITIAL":return null;default:return Ze(e)}},Kn=(e,n,i)=>{const l={setState:n,isLoading:i};switch(e.view){case"LIST":return t.jsx(Ln,{...e,...l});case"EDIT":return t.jsx(Dn,{...e,...l});case"CREATE":return t.jsx(Nn,{...e,...l});case"DELETE":return t.jsx(kn,{...e,...l});case"CACHE_PURGE":return t.jsx(On,{...e,...l});case"INITIAL":return t.jsx(a.Loader,{small:!0});case"ERROR":return t.jsx(Mn,{...e,...l});default:return Ze(e)}},Un=e=>{switch(e.state.view){case"LIST":return t.jsx($n,{...e});case"CREATE":return t.jsx(Rn,{...e,disabled:e.state.disabled});case"EDIT":return t.jsx(qn,{...e,disabled:e.state.disabled});case"DELETE":return t.jsx(Pn,{...e});case"CACHE_PURGE":return t.jsx(Gn,{...e});case"ERROR":return t.jsx(Bn,{...e});case"INITIAL":return null;default:return Ze(e.state)}},Ze=e=>(console.warn(`Unknown state "${e?.view}". (${JSON.stringify(e)})`),null),Wn=()=>{const[e,n]=m.useState(!1),i=m.useCallback(()=>n(!0),[n]),l=m.useCallback(()=>n(!1),[n]),d=m.useMemo(()=>e?t.jsx(Vn,{initialState:{view:"INITIAL"},isOpened:!0,onClose:l}):null,[e,l]);return m.useMemo(()=>({navigationManagerModal:d,openNavigationManagerModal:i,closeNavigationManagerModal:l}),[d,i,l])},st=t.jsx(O.Check,{}),Hn=({activeNavigation:e,availableNavigations:n,structureHasErrors:i,structureHasChanged:l,handleChangeSelection:d,handleLocalizationSelection:s,handleSave:h,handleCachePurge:b,permissions:R={},locale:g,currentLocale:y})=>{const{formatMessage:F}=U.useIntl(),{openNavigationManagerModal:j,navigationManagerModal:k}=Wn(),C=!!g.restLocale,{canUpdate:v}=R,u=ke();return t.jsx(t.Fragment,{children:t.jsx(P.Layouts.Header,{title:F(r("header.title","UI Navigation")),subtitle:F(r("header.description")),primaryAction:t.jsxs(a.Flex,{direction:"row",size:2,children:[t.jsx(a.Box,{children:t.jsxs(a.Grid.Root,{gap:4,style:u.data?.isCacheEnabled?{display:"flex"}:void 0,children:[C?null:t.jsx(a.Grid.Item,{col:2}),v&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:j,startIcon:null,type:"button",variant:"secondary",fullWidth:!0,size:"S",children:F(r("header.action.manage"))})}),t.jsx(a.Grid.Item,{col:v?4:10,children:t.jsx(a.Field.Root,{width:"100%",children:t.jsx(a.SingleSelect,{type:"select",placeholder:"Change navigation",name:"navigationSelect",onChange:T=>{const A=n.find(({documentId:_})=>T===_);A&&d(A)},value:e?.documentId,size:"S",style:null,children:n.filter(({locale:T})=>T===y).map(({documentId:T,name:A})=>t.jsx(a.SingleSelectOption,{value:T,children:A},T))})})}),C?t.jsx(a.Grid.Item,{col:2,children:t.jsx(a.SingleSelect,{type:"select",placeholder:F(r("pages.main.header.localization.select.placeholder")),name:"navigationLocalizationSelect",onChange:s,value:y,size:"S",children:[g.defaultLocale,...g.restLocale].map(T=>t.jsx(a.SingleSelectOption,{value:T,children:T},T))})}):null,v&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:h,startIcon:st,disabled:i||!l,type:"submit",fullWidth:!0,size:"S",children:F(r("submit.cta.save"))})}),u.data?.isCacheEnabled&&t.jsx(a.Grid.Item,{col:3,children:t.jsx(a.Button,{onClick:b,startIcon:st,variant:"danger",type:"submit",fullWidth:!0,size:"S",children:F(r("submit.cta.cache.purge"))})})]})}),v&&k]}),secondaryAction:t.jsx(a.Tag,{icon:t.jsx(O.Information,{"aria-hidden":!0}),children:e?F(r("header.meta"),{id:e?.documentId,key:e?.slug}):null})})})},Xn=({startActions:e,endActions:n})=>t.jsxs(a.Flex,{justifyContent:"space-between",width:"100%",children:[t.jsx(a.Flex,{alignItems:"space-between",children:e}),t.jsx(a.Flex,{alignItems:"space-between",children:n})]}),Zn=Ce.default.div`
|
|
7
|
+
H14c-3.6,0-6.5,2.9-6.5,6.5s2.9,6.5,6.5,6.5h64C81.6,81.5,84.5,78.6,84.5,75z`})})}),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`
|
|
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
|
-
`,
|
|
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)`
|
|
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
|
-
`,
|
|
32
|
+
`,ta=Ce.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
|
-
`,
|
|
80
|
+
`,na=Et.default.forwardRef((e,n)=>t.jsx(ta,{...e,ref:n,children:t.jsx(q.Drag,{})})),aa=Ce.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
|
-
`,
|
|
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)`
|
|
92
92
|
transition: background-color 0.3s ease-in;
|
|
93
93
|
${({isActive:e,theme:n})=>e?`background-color: ${n.colors.neutral150} ;`:""}
|
|
94
|
-
`,
|
|
94
|
+
`,ua=Ce.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
|
-
`,
|
|
103
|
+
`,pa=Ce.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
|
-
`,
|
|
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`
|
|
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
|
-
`,Tt=({isParentAttachedToMenu:e=!1,items:n,level:i=0,levelPath:l="",onItemEdit:d,onItemLevelAdd:s,onItemRemove:h,onItemRestore:b,onItemReOrder:R,onItemToggleCollapse:g,displayFlat:y,permissions:F,structurePrefix:j,viewParentId:k,locale:C})=>t.jsx(pa,{"data-level":i,children:n?.map((v,u)=>t.jsx(ua,{item:v,isLast:u===n.length-1,level:i,levelPath:l,isParentAttachedToMenu:e,onItemRestore:b,onItemLevelAdd:s,onItemRemove:h,onItemEdit:d,onItemReOrder:R,onItemToggleCollapse:g,displayChildren:y,permissions:F,structureId:j?`${j}.${u}`:u.toString(),viewParentId:k,locale:C},`list-item-${v.viewId||u}`))}),ma="",ga={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},ha=({name:e,field:n,isLoading:i,onChange:l,onChangeEnhancer:d,value:s,disabled:h})=>{const{toggleNotification:b}=P.useNotification(),{formatMessage:R}=U.useIntl(),y=P.useStrapiApp("AdditionalFieldInput",j=>j.fields).media,F=m.useMemo(()=>({id:n.name,name:e||n.name,disabled:i||h}),[n,i]);switch(m.useEffect(()=>{n.type==="media"&&d(F.name,s,l)},[s]),n.type){case"boolean":return t.jsx(a.Toggle,{...F,checked:!!s,onChange:j=>d(j,!s,l),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return t.jsx(a.TextInput,{...F,onChange:(j,k)=>d(j,k,l),value:s||ma});case"select":return n.multi?t.jsx(a.MultiSelect,{...F,onChange:j=>d(F.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,k)=>t.jsx(a.MultiSelectOption,{value:j,children:j},`${n.name}-option-${k}`))}):t.jsx(a.SingleSelect,{...F,onChange:j=>d(F.name,j,l),value:I.isNil(s)?n.multi?[]:null:s,multi:n.multi,withTags:n.multi,children:n.options.map((j,k)=>t.jsx(a.SingleSelectOption,{value:j,children:j},`${n.name}-option-${k}`))});case"media":return t.jsx(y,{...F,...ga,value:s});default:throw b({type:"warning",message:R(r("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},fa=({handleCancel:e,handleSubmit:n,submitDisabled:i,canUpdate:l})=>{const{formatMessage:d}=U.useIntl();return l?t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:e,variant:"tertiary",children:d(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:n,disabled:i,children:d(r("popup.item.form.button.save"))})]}):null},ya=[/^mailto:[\w-\.]+@([\w-]+\.)+[\w-]{2,}$/,/^tel:(\+\d{1,3})?[\s]?(\(?\d{2,3}\)?)?[\s.-]?(\d{3})?[\s.-]?\d{3,4}$/,/^#.*/,/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/,/(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)+\/?/],Je=({additionalFields:e})=>c.z.object({title:c.z.string(),autoSync:c.z.boolean().optional(),removed:c.z.boolean().optional(),updated:c.z.boolean().optional(),uiRouterKey:c.z.string(),levelPath:c.z.string().optional(),isMenuAllowedLevel:c.z.boolean().optional(),parentAttachedToMenu:c.z.boolean().optional(),viewId:c.z.number().optional(),structureId:c.z.string().optional(),menuAttached:c.z.boolean().optional(),collapsed:c.z.boolean().optional(),isSearchActive:c.z.boolean().optional(),viewParentId:c.z.number().optional(),id:c.z.number().optional(),documentId:c.z.string().optional(),audience:c.z.string().array().optional(),order:c.z.number().optional(),items:c.z.any().array().optional(),additionalFields:c.z.object(e.reduce((n,i)=>{if(typeof i=="string")return n;switch(i.type){case"string":n[i.name]=i.required?c.z.string():c.z.string().optional();break;case"boolean":n[i.name]=i.required?c.z.boolean():c.z.boolean().optional();case"media":n[i.name]=i.required?c.z.any():c.z.any().optional();case"select":{i.multi?n[i.name]=i.required?c.z.string().array():c.z.string().array().optional():n[i.name]=i.required?c.z.string():c.z.string().optional();break}}return n},{}))}),xa=({additionalFields:e,isSingleSelected:n})=>Je({additionalFields:e}).extend({type:c.z.literal("INTERNAL"),path:c.z.string(),externalPath:c.z.string().optional(),relatedType:c.z.string(),related:n?c.z.string().optional():c.z.string()}),ba=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n}).extend({type:c.z.literal("EXTERNAL"),path:c.z.string().or(c.z.null()).optional(),externalPath:c.z.string().min(1).refine(i=>ya.some(l=>l.test(i))),relatedType:c.z.string().optional(),related:c.z.string().optional()}),ja=({isSingleSelected:e,additionalFields:n})=>Je({additionalFields:n}).extend({type:c.z.literal("WRAPPER"),path:c.z.string().or(c.z.null()).optional()}),Ia=e=>c.z.discriminatedUnion("type",[ba(e),xa(e),ja(e)]),rt={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Ca=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn(i){return n.slugify(i)}})},va=async({slugify:e,title:n,config:i,related:l,relatedType:d,contentTypeItems:s})=>{if(n)return n?await e(n):void 0;if(l){const h=Me({...s?.find(b=>b.documentId===l.toString())??{documentId:"",id:0},__collectionUid:d},i);return h?await e(h):void 0}},Ta=({currentType:e,config:n,contentTypeItems:i,currentRelated:l,currentRelatedType:d,isSingleSelected:s})=>{if(e!=="INTERNAL"||!d)return"";const h=n?.pathDefaultFields[d]??[];if(I.isEmpty(e)&&!I.isEmpty(h)){const b=s?I.first(i??[]):i?.find(({id:g})=>g===l);return h.map(g=>b?.[g]??"").filter(g=>!!g.toString().trim())[0]??""}return""},wa=({currentPath:e,isExternal:n,current:i,currentType:l="INTERNAL",config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:R})=>{if(!n){const g=I.isEmpty(e)||e==="/"?Ta({currentType:l,config:d,contentTypeItems:s,currentRelated:h,currentRelatedType:b,isSingleSelected:R}):e||"";return`${i.levelPath!=="/"?`${i.levelPath}`:""}/${g}`.replace("//","/")}},Sa=[],Fa=({availableLocale:e,isLoading:n,current:i=rt,onSubmit:l,onCancel:d,appendLabelPublicationStatus:s=Na,locale:h,permissions:b={},currentNavigation:R})=>{const{formatMessage:g}=U.useIntl(),[y,F]=m.useState(n),{canUpdate:j}=b,[k,C]=m.useState(!1),[v,u]=m.useState(),[T,A]=m.useState({}),[_,re]=m.useState(),M=ke(),Z=M.data?.availableAudience??[],te=M.data?.contentTypes??[],{toggleNotification:fe}=P.useNotification(),ye=In(),de=He(),X=(p,S,H)=>{if(H){let D=p,x=S;if(I.isObject(p)){const{name:z,value:V}=p.target;D=z,x=I.isNil(x)?V:x}return I.isString(D)&&W(D,x),H(p,x)}},W=(p,S)=>{A(I.set({...T,additionalFields:{...T.additionalFields},updated:!0},p,S))},se=p=>({...p,additionalFields:M.data?.additionalFields.reduce((S,H)=>{const{name:D,type:x}=H;if(D in(p.additionalFields??{})){let z=p.additionalFields[D];switch(x){case"boolean":z=I.isBoolean(z)?`${z}`:z;break;case"media":z=z&&JSON.stringify(z);break}return{...S,[D]:z}}return S},{})||{}}),ce=p=>({...p,additionalFields:M.data?.additionalFields.reduce((S,H)=>{const{name:D,type:x}=H;if(D in(p.additionalFields??{})){let z=p.additionalFields[D];switch(x){case"boolean":z=z==="true";break;case"media":z=z&&JSON.parse(z);break}return{...S,[D]:z}}return S},{})||{}}),xe=async(p,S)=>{p.preventDefault();const H=se(S),{success:D,data:x,error:z}=Ia({isSingleSelected:k,additionalFields:M.data?.additionalFields??Sa}).safeParse(H);if(D){const V=x.title.trim()?x.title.trim():x.type==="INTERNAL"?L(x?.related?.toString(),x.relatedType,k):"";F(!0);const ue=await va(x.type==="INTERNAL"?{slugify:ie.mutateAsync,title:V,related:x.related,relatedType:x.relatedType}:{slugify:ie.mutateAsync,title:V});if(ie.reset(),F(!1),!ue){fe({type:"warning",message:g(r("popup.item.form.uiRouter.unableToRender"))});return}l(x.type==="INTERNAL"?{...x,title:V,uiRouterKey:ue}:{...x,title:V,uiRouterKey:ue})}else z&&re(z.issues.reduce((V,ue)=>({...V,[ue.path.join(".")]:ue.message}),{}))},ne=(p,S)=>I.get(_,p)?g(r(S??p)):void 0,ve=i.type==="INTERNAL"?i.relatedType:void 0,{path:ge,type:be,title:me,autoSync:je}=T,{relatedType:ae,related:Ie}=T.type==="INTERNAL"?T:{related:void 0,relatedType:void 0},f=be==="EXTERNAL",B=be==="INTERNAL",w=f?"externalPath":"path",$=B&&!k&&I.isNil(Ie)||y,q=xt({uid:ae??"",locale:h}),ie=Ca(),E=m.useMemo(()=>e.map((p,S)=>({key:`${p}-${S}`,value:p,label:p})),[e]),J=m.useMemo(()=>Z.map(p=>({value:p.documentId??0,label:p.name??" "})),[Z]),L=m.useCallback((p,S,H)=>{let D;if(H){if(D=q.data?.find(x=>x.uid===S||x.__collectionUid===S),!D)return te.find(x=>x.uid===S)?.contentTypeName}else D={...q.data?.find(({documentId:z})=>z===p)||{documentId:null},__collectionUid:S};return Me(D,M.data)},[q.data,M.data,te]),Se=(M.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(p=>({key:p,value:p,label:g(r(`popup.item.form.type.${p.toLowerCase()}.label`))})),Te=I.sortBy(q.data?.map(p=>{const S=s(Me({...p,__collectionUid:ae},M.data),p,!1);return{key:p?.documentId?.toString(),value:p?.documentId?.toString(),label:S}})??[],p=>p.label),Fe=m.useMemo(()=>I.sortBy(M.data?.contentTypes?.filter(p=>p.isSingle?!!(ae&&[ae,ve].includes(p.uid)):!0).map(p=>({key:p.uid,value:p.uid,label:p.contentTypeName})),p=>p.label),[M.data,ae]),N=I.isEmpty(Te),Q=m.useCallback(async p=>{p.preventDefault(),p.stopPropagation();const S=de.data?.find(({locale:H})=>H===v);S&&(F(!0),ye.mutate({target:R.documentId,structureId:i.structureId,source:S.documentId},{onSuccess(H){ye.reset();const{type:D,externalPath:x,path:z,related:V,title:ue,uiRouterKey:St}=H,{__type:Ye,documentId:et}=V??{};W("type",D),W("externalPath",x??void 0),W("path",z??void 0),W("title",ue),W("uiRouterKey",St),Ye&&et&&(W("related",et),W("relatedType",Ye))},onSettled(){F(!1)}}))},[F,ye,de]);return m.useEffect(()=>{A(ce({...rt,...i}))},[i]),m.useEffect(()=>{if(ae){const p=M.data?.contentTypes.find(S=>S.uid===ae);if(p&&(C(p.isSingle),p.isSingle&&q.data?.length)){const S=q.data[0];S&&W("related",S.documentId)}}},[ae,M.data,q.data]),m.useEffect(()=>{if(je&&be==="INTERNAL"&&Ie&&ae&&M.data){const p=q.data?.find(S=>S.documentId===Ie);if(p){const{contentTypesNameFields:S,pathDefaultFields:H}=M.data,D=H[ae]?.reduce((V,ue)=>V||p?.[ue],void 0),x=(S[ae]??[]).concat(S.default??[]).reduce((V,ue)=>V||p?.[ue],void 0),z=[];D&&D!==ge&&z.push({name:"path",value:D}),x&&x!==me&&z.push({name:"title",value:x}),setTimeout(()=>{z.forEach(V=>{W(V.name,V.value)})},100)}}},[me,ge,je,be,Ie,ae,M.data,q.data]),t.jsxs(t.Fragment,{children:[t.jsx(a.Modal.Body,{children:t.jsx(P.Form,{width:"auto",height:"auto",method:"POST",initialValues:T,children:({values:p,onChange:S})=>{console.log("values",p);const H=p.type==="INTERNAL"?p:{related:void 0,relatedType:void 0},D=wa({currentPath:p.path,isExternal:p.type==="EXTERNAL",current:i,currentType:p.type,config:M.data,contentTypeItems:q.data,currentRelated:H.related,currentRelatedType:H.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(G.Field,{name:"type",label:g(r("popup.item.form.type.label","Internal link")),error:ne("type"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.SingleSelect,{onChange:x=>X("type",x,S),value:p.type,name:"type",disabled:!j,width:"100%",children:Se.map(({key:x,label:z,value:V})=>t.jsx(a.SingleSelectOption,{value:V,children:z},x))})})},"title"),t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(G.Field,{name:"menuAttached",label:g(r("popup.item.form.menuAttached.label","MenuAttached")),error:ne("menuAttached"),hint:g(r("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:t.jsx(a.Toggle,{name:"menuAttached",checked:p.menuAttached,onChange:x=>X(x,!p.menuAttached,S),value:p.menuAttached,onLabel:g(r("popup.item.form.menuAttached.value.yes","yes")),offLabel:g(r("popup.item.form.menuAttached.value.no","no")),disabled:!j||(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:p.type==="INTERNAL"?8:12,children:t.jsx(G.Field,{name:"title",label:g(r("popup.item.form.title.label","Title")),error:ne("title"),hint:g(r("popup.item.form.title.placeholder","e.g. Blog")),children:t.jsx(a.TextInput,{type:"string",disabled:!j||p.autoSync&&p.type==="INTERNAL",name:"title",onChange:(x,z)=>X(x,z,S),value:p.title})})},"title"),p.type==="INTERNAL"&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:4,children:t.jsx(G.Field,{name:"autoSync",label:g(r("popup.item.form.autoSync.label","Read fields from related")),error:ne("autoSync"),children:t.jsx(a.Toggle,{name:"autoSync",checked:p.autoSync,onChange:x=>X(x,!p.autoSync,S),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(r(`popup.item.form.${w}.label`,"Path")),error:ne(w,`popup.item.form.${w}.validation.type`),hint:[g(r(`popup.item.form.${w}.placeholder`,"e.g. Blog")),D?g(r("popup.item.form.type.external.description"),{value:D}):""].join(" "),children:t.jsx(a.TextInput,{disabled:!j,name:w,onChange:(x,z)=>X(x,z,S),value:p[w],width:"100%"})})},"title")}),p.type==="INTERNAL"&&t.jsxs(a.Grid.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[t.jsx(a.Grid.Item,{alignItems:"flex-start",col:p.relatedType&&!k?6:12,children:t.jsx(G.Field,{name:"relatedType",label:g(r("popup.item.form.relatedType.label","Related Type")),error:ne("relatedType"),hint:!y&&I.isEmpty(Fe)?g(r("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:t.jsx(a.Combobox,{name:"relatedType",autocomplete:"both",onClear:()=>{X("relatedType",void 0,S),X("related",void 0,S),p.autoSync&&X("title",void 0,S)},onChange:x=>{X("relatedType",x,S),X("related",void 0,S),p.autoSync&&X("title",void 0,S)},value:p.relatedType,disabled:!M.data?.contentTypes.length||!j,width:"100%",children:M.data?.contentTypes.map(x=>t.jsx(a.ComboboxOption,{value:x.uid,children:x.contentTypeName},x.uid))})})}),p.relatedType&&!k&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(G.Field,{name:"related",label:g(r("popup.item.form.related.label","Related")),error:ne("related"),hint:!y&&N?g(r("popup.item.form.related.empty","There are no more entities"),{contentTypeName:p.relatedType}):void 0,children:t.jsx(a.Combobox,{name:"related",autocomplete:"both",onClear:()=>X("related",void 0,S),onChange:x=>X("related",x,S),value:p.related,options:Te,disabled:y||N||!j,width:"100%",children:Te.map(({key:x,label:z,value:V})=>t.jsx(a.ComboboxOption,{value:V,children:z},x))})})})]}),!I.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((x,z)=>{if(x!=="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,children:t.jsx(G.Field,{name:`additionalFields.${x.name}`,label:x.label,error:ne(`additionalFields.${x.name}`),children:t.jsx(ha,{name:`additionalFields.${x.name}`,field:x,isLoading:y,onChange:S,onChangeEnhancer:X,value:I.get(p?.additionalFields,x.name),disabled:!j})})},x.name)}),M.data?.additionalFields.map((x,z)=>{if(x==="audience")return t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12,children:t.jsx(G.Field,{name:"audience",label:g(r("popup.item.form.audience.label")),error:ne("audience"),hint:!y&&I.isEmpty(J)?g(r("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:t.jsx(a.MultiSelect,{name:"audience",value:p.audience,onChange:V=>X("audience",V,S),width:"100%",children:J.map(({value:V,label:ue})=>t.jsx(a.MultiSelectOption,{value:V,children:ue},V))})})},"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%"})})})]}),E&&E.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(r("popup.item.form.i18n.locale.label","Copy details from")),children:t.jsx(a.SingleSelect,{name:"i18n.locale",onChange:u,value:v,disabled:y||!j,placeholder:g(r("popup.item.form.i18n.locale.placeholder","locale")),children:E.map(({key:x,label:z,value:V})=>t.jsx(a.SingleSelectOption,{value:V,children:z},x))})})}),j&&t.jsx(a.Grid.Item,{alignItems:"flex-start",col:6,lg:12,paddingTop:6,children:t.jsx(a.Box,{children:t.jsx(a.Button,{variant:"tertiary",onClick:Q,disabled:y||!v,children:g(r("popup.item.form.i18n.locale.button"))})})})]})]},"title")}),t.jsx(a.Grid.Root,{gap:5,children:t.jsx(a.Grid.Item,{alignItems:"flex-start",col:12},"title")})]})}})}),t.jsx(fa,{handleSubmit:p=>xe(p,T),handleCancel:d,submitDisabled:$,canUpdate:j})]})},Na=()=>"",Ra=({isNewItem:e,canUpdate:n})=>{const{formatMessage:i}=U.useIntl();let l="view";return n&&(l=e?"new":"edit"),t.jsx(a.Modal.Header,{children:t.jsx(a.Typography,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:i(r(`popup.item.header.${l}`))})})},Aa=({availableLocale:e,isOpen:n,isLoading:i,currentItem:l={},onSubmit:d,onClose:s,locale:h,permissions:b,currentNavigation:R})=>{const{formatMessage:g}=U.useIntl(),y=k=>{d(k)},F=(k,C,v)=>`${wn({relatedRef:C,type:C.isSingle?"INTERNAL":C.type,isCollection:v})?"":`[${g(r("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${k}`,j=!!l.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(Ra,{isNewItem:!j,canUpdate:b?.canUpdate}),t.jsx(Fa,{availableLocale:e,current:l,isLoading:i,onSubmit:y,onCancel:s,appendLabelPublicationStatus:F,locale:h,permissions:b,currentNavigation:R})]})})},Ge=0,Ea=({value:e,setValue:n,initialIndex:i=Ge})=>{const[l,d]=m.useState(e),[s,h]=m.useState(e),[b,R]=m.useState(i),[g,y]=m.useState(!!e),F=m.useRef(null),{formatMessage:j}=U.useIntl();m.useEffect(()=>{g&&setTimeout(()=>{F.current?.querySelector("input")?.focus()},0)},[g]),m.useEffect(()=>{b&&l===s&&n({value:l,index:b})},[b,l,s]),m.useEffect(()=>{l!==s&&(h(l),R(Ge),n({value:l,index:Ge}))},[l,s]);const k=m.useCallback(u=>{u.code.toLowerCase()==="enter"&&R(T=>T+1)},[]),C=m.useCallback(u=>{d(u.target.value)},[d]),v=m.useCallback(()=>{d(""),y(!1)},[d,y]);return g?t.jsxs("div",{ref:F,children:[t.jsx(a.Searchbar,{name:"searchbar",onClear:v,value:e,size:"S",onChange:C,clearLabel:"Clearing the search",placeholder:j(r("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:j(r("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):t.jsx(a.IconButton,{children:t.jsx(O.Search,{}),onClick:()=>y(!g)})},La=new K.QueryClient,$a=()=>{const{formatMessage:e}=U.useIntl(),n=We(),[i,l]=m.useState(),[d,s]=m.useState(),[h,b]=m.useState(),[R,g]=m.useState(!1),[y,F]=m.useState(!1),[j,k]=m.useState(),C=m.useMemo(()=>({access:Ne.access||Ne.update,update:Ne.update}),[]),{isLoading:v,allowedActions:{canUpdate:u,canAccess:T}}=P.useRBAC(C),A=He(),_=ke(),re=jt(),M=It([A,{isPending:v}]),Z=Cn(),[{value:te,index:fe},ye]=m.useState({value:"",index:0}),de=I.isEmpty(te),X=(te||"").toLowerCase(),W=(N,Q,p)=>{const S=N.reduce((H,D)=>{const x=D.items?.length?W(D.items??[],Q):[];return Q(D)?[D,...x,...H]:[...x,...H]},[]);if(p!==void 0){const H=p%S.length;return S.map((D,x)=>H===x?{...D,isSearchActive:!0}:D)}return S},se=de?[]:W(d?.items.map(N=>({...N}))??[],N=>(N?.title||"").toLowerCase().includes(X),X?fe:void 0),ce=m.useCallback((N,Q={})=>{b(Q),g(N)},[g]),xe=m.useCallback((N,Q,p=!0,S="",H=!0,D="0",x=0)=>{u&&(N.preventDefault(),N.stopPropagation(),ce(!0,{viewParentId:Q,isMenuAllowedLevel:p,levelPath:S,parentAttachedToMenu:H,structureId:D,viewId:void 0,order:x+1}))},[ce,u]),ne=m.useMemo(()=>(n.data?[n.data.defaultLocale,...n.data.restLocale]:[]).filter(N=>N!==j),[n.data,j]),ve=xn(),ge=yn(),{i18nCopyItemsModal:be,i18nCopySourceLocale:me,setI18nCopyModalOpened:je,setI18nCopySourceLocale:ae}=Tn(m.useCallback(N=>{const Q=A.data?.find(({locale:p,documentId:S})=>p===N&&S===d?.documentId);Q&&Q.documentId&&d?.documentId&&Z.mutate({source:Q.locale,target:d.locale,documentId:Q.documentId},{onSuccess(p){Z.reset(),s({...p.data,items:p.data.items.map(Xe)}),ve(),ge()}})},[d])),Ie=m.useCallback(()=>{me&&je(!0)},[je,me]),f=bt(()=>{l({documentId:d?.documentId,id:d?.id}),s(void 0)}),B=()=>{d&&f.mutate(d)},w=N=>{N.preventDefault(),N.stopPropagation(),N.target.tagName!=="HTML"&&ce(!1)},$=({item:N,newOrder:Q})=>{L({...N,order:Q})},q=N=>{L(we({...N,removed:!0},!0))},ie=N=>{L(we({...N,removed:!1},!0))},E=N=>{L(we({...N,collapsed:!N.collapsed,updated:!0,isSearchActive:!1},!0))},J=({item:N,levelPath:Q="",parentAttachedToMenu:p=!0})=>{ce(!0,{...N,levelPath:Q,parentAttachedToMenu:p})},L=N=>{if(d&&_.data){const Q=Ae(N,d?.items??[],_.data);s({...d,items:Q}),F(!0),g(!1)}},oe=de?d?.items??[]:se,Se=m.useCallback(()=>{d&&s({...d,items:d.items.map(N=>Re(N,!1))})},[s,d,Re]),Te=m.useCallback(()=>{d&&s({...d,items:d.items.map(N=>Re(N,!0))})},[s,d,Re]),Fe=[{onClick:Se,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:Te,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return u&&Fe.push({onClick:xe,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:t.jsx(O.Plus,{}),margin:"8px"}),m.useEffect(()=>{if(!d&&A.data?.[0]){let N;i?.documentId&&(N=A.data.find(Q=>Q.documentId===i.documentId&&Q.id===i.id)),l(void 0),s(N||I.first(A.data))}},[A.data]),m.useEffect(()=>{!j&&n.data?.defaultLocale&&k(n.data?.defaultLocale)},[A.data]),m.useEffect(()=>{if(d&&j!==d.locale){l(void 0);const N=A.data?.find(Q=>Q.documentId===d.documentId&&Q.locale===j);N&&N.documentId===d.documentId&&N.locale!==d.locale&&s(N)}},[d,j,A.data]),m.useEffect(()=>{!j&&n.data?.defaultLocale&&k(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(r("header.title","UI Navigation"))}),t.jsxs(P.Page.Main,{children:[t.jsx(Hn,{availableNavigations:A.data,activeNavigation:d,handleCachePurge:()=>re.mutate(void 0),handleChangeSelection:s,handleLocalizationSelection:k,handleSave:B,locale:n.data,structureHasChanged:y,permissions:{canUpdate:u},currentLocale:j}),t.jsxs(P.Layouts.Content,{children:[t.jsx(Xn,{startActions:t.jsx(Ea,{value:te,setValue:ye}),endActions:Fe.map(({tradId:N,margin:Q,...p},S)=>t.jsx(a.Box,{marginLeft:Q,children:t.jsxs(a.Button,{...p,children:[" ",e(r(N))," "]})},S))}),d?.items.length?t.jsx(Tt,{items:oe,onItemLevelAdd:xe,onItemRemove:q,onItemEdit:J,onItemRestore:ie,onItemReOrder:$,onItemToggleCollapse:E,displayFlat:!de,isParentAttachedToMenu:!0,permissions:{canUpdate:u,canAccess:T},structurePrefix:"",locale:j??""}):t.jsxs(a.Flex,{direction:"column",minHeight:"400px",justifyContent:"center",children:[t.jsx(a.Box,{padding:4,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("empty.description"))})}),u&&t.jsx(a.Button,{variant:"secondary",startIcon:t.jsx(O.ListPlus,{}),label:e(r("empty.cta")),onClick:xe,children:e(r("empty.cta"))}),u&&ne.length?t.jsxs(a.Flex,{direction:"column",justifyContent:"center",children:[t.jsx(a.Box,{paddingTop:3,paddingBottom:3,children:t.jsx(a.Typography,{variant:"beta",textColor:"neutral600",children:e(r("view.i18n.fill.cta.header"))})}),t.jsxs(a.Flex,{direction:"row",justifyContent:"center",alignItems:"center",children:[t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.SingleSelect,{onChange:ae,value:me,size:"S",children:ne.map(N=>t.jsx(a.SingleSelectOption,{value:N,children:e(r("view.i18n.fill.option"),{locale:N})},N))})}),t.jsx(a.Box,{paddingLeft:1,paddingRight:1,children:t.jsx(a.Button,{variant:"tertiary",onClick:Ie,disabled:!me,size:"S",children:e(r("view.i18n.fill.cta.button"))})})]})]}):null]}),R&&j&&d&&t.jsx(Aa,{availableLocale:ne,currentItem:h,onSubmit:L,onClose:w,locale:j,permissions:{canUpdate:u},isOpen:R,isLoading:v,currentNavigation:d}),u&&be]})]})]})};function ka(){const e=G.usePluginTheme();return t.jsx(K.QueryClientProvider,{client:La,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx($a,{})})})}const Pa=()=>t.jsx(_e.DndProvider,{backend:Ft.HTML5Backend,children:t.jsxs(Be.Routes,{children:[t.jsx(Be.Route,{path:"/",index:!0,Component:ka}),t.jsx(Be.Route,{path:"/*",Component:P.Page.Error})]})}),za=Ce.default(a.Alert)`
|
|
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)`
|
|
155
155
|
[role='status'] {
|
|
156
156
|
flex-direction: column;
|
|
157
157
|
}
|
|
158
|
-
`,Ma=({onChange:e,initialValue:n,...i})=>{const[l,d]=m.useState(I.isArray(n)?n.reduce((h,b)=>`${h}${b}; `,""):""),s=h=>{const b=h?.target.value??"",R=b.split(";").map(g=>g.trim()).filter(g=>!!g.length);d(b??""),e(R)};return t.jsx(a.TextInput,{...i,onChange:s,value:l})},Ba=["string","boolean","select","media"],le="pages.settings.form.customFields.popup.",Da=e=>e.map((n,i)=>({key:`${n}-${i}`,metadatas:{intlLabel:{id:n,defaultMessage:n},hidden:!1,disabled:!1},value:n,label:n})),qa=({isEditForm:e,customField:n,onSubmit:i,onClose:l})=>{const d=Da(Ba),{formatMessage:s}=U.useIntl(),[h,b]=m.useState({}),[R,g]=m.useState(),{type:y}=h;m.useEffect(()=>{n&&b({...n})},[n]);const F=(v,u,T)=>{if(T){let A=v,_=u;if(I.isObject(v)){const{name:re,value:M}=v.target;A=re,_=I.isNil(_)?M:_}return I.isString(A)&&j(A,_),T(v,_)}},j=(v,u)=>{b(I.set({...h},v,u))},k=v=>{if(I.get(R,v))return s(r(v))},C=(v,u)=>{const{success:T,data:A,error:_}=gt.safeParse(u);T?i(u):_&&g(_.issues.reduce((re,M)=>({...re,[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:v,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:s(r(`${le}name.label`)),hint:s(r(`${le}name.description`)),error:k("name"),children:t.jsx(a.TextInput,{name:"name",value:v.name,onChange:(T,A)=>F(T,A,u),placeholder:s(r(`${le}name.placeholder`)),type:"string",disabled:e,width:"100%"})})},"name"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"label",label:s(r(`${le}label.label`)),hint:s(r(`${le}label.description`)),error:k("label"),children:t.jsx(a.TextInput,{name:"label",value:v.label,onChange:(T,A)=>F(T,A,u),placeholder:s(r(`${le}label.placeholder`)),type:"string",width:"100%"})})},"label"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"type",label:s(r(`${le}type.label`)),hint:s(r(`${le}type.description`)),children:t.jsx(a.SingleSelect,{name:"type",value:v.type,onChange:T=>F("type",T,u),disabled:e,width:"100%",children:d.map(({key:T,label:A,value:_})=>t.jsx(a.SingleSelectOption,{value:_,children:A},T))})})},"type"),y==="select"&&t.jsxs(t.Fragment,{children:[t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"multi",label:s(r(`${le}multi.label`)),hint:s(r(`${le}multi.description`)),error:k("multi"),children:t.jsx(a.Toggle,{name:"multi",checked:v.multi,onChange:T=>F(T,!v.multi,u),onLabel:"true",offLabel:"false",width:"100%"})})},"multi"),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"options",label:s(r(`${le}options.label`)),hint:s(r(`${le}options.description`)),error:k("options"),children:t.jsx(Ma,{name:"options",onChange:T=>F("options",T,u),initialValue:v.options})})},"options")]}),t.jsx(a.Grid.Item,{col:12,children:t.jsx(G.Field,{name:"required",label:s(r(`${le}required.label`)),hint:s(r(`${le}required.description`)),error:k("required"),children:t.jsx(a.Toggle,{name:"required",placeholder:s(r(`${le}required.placeholder`)),checked:v.required,onChange:T=>F(T,!v.required,u),onLabel:"true",offLabel:"false",width:"100%"})})},"required")]})})}),t.jsxs(a.Modal.Footer,{children:[t.jsx(a.Modal.Close,{children:t.jsx(a.Button,{onClick:l,variant:"tertiary",children:s(r("popup.item.form.button.cancel"))})}),t.jsx(a.Button,{onClick:v=>C(v,h),children:s(r("popup.item.form.button.save"))})]})]})},Oa=({isOpen:e,onClose:n,onSubmit:i,data:l})=>{const d=!!l,{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(r(`pages.settings.form.customFields.popup.header.${d?"edit":"new"}`))})}),t.jsx(qa,{isEditForm:d,customField:I.pick(l,"name","label","type","required","options","multi"),onSubmit:i,onClose:n})]})})},lt=t.jsx(O.PriceTag,{}),Ga=t.jsx(O.Plus,{}),pe="pages.settings.form.customFields.table.",_a=({data:e=[],onOpenModal:n,onRemoveCustomField:i,onToggleCustomField:l})=>{const[d,s]=m.useState(!1),[h,b]=m.useState(null),{toggleNotification:R}=P.useNotification(),g=m.useMemo(()=>I.sortBy(e,"name"),[e]),{formatMessage:y}=U.useIntl(),F=m.useCallback(C=>{b(C),s(!0)},[b,s]),j=m.useCallback(()=>{b(null),s(!1)},[b,s]),k=m.useCallback(()=>{h===null?R({type:"warning",message:y(r(`${pe}confirmation.error`))}):i(h),j()},[j,h,Ve,i,R]);return t.jsxs(t.Fragment,{children:[t.jsx(Ue,{isVisible:d,header:y(r(`${pe}confirmation.header`)),children:y(r(`${pe}confirmation.message`)),labelConfirm:y(r(`${pe}confirmation.confirm`)),iconConfirm:lt,mainIcon:lt,onConfirm:k,onCancel:j}),t.jsxs(a.Table,{width:"100%",colCount:4,rowCount:e.length+1,footer:t.jsx(a.TFooter,{onClick:C=>{C.preventDefault(),n(null)},icon:Ga,children:y(r(`${pe}footer`))}),children:[t.jsx(a.Thead,{children:t.jsxs(a.Tr,{children:[t.jsx(a.Th,{width:"20%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.name`))})}),t.jsx(a.Th,{width:"60%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.label`))})}),t.jsx(a.Th,{width:"15%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.type`))})}),t.jsx(a.Th,{width:"5%",children:t.jsx(a.Typography,{variant:"sigma",textColor:"neutral600",children:y(r(`${pe}header.required`))})}),t.jsx(a.Th,{children:t.jsx(a.VisuallyHidden,{})})]})}),t.jsx(a.Tbody,{children:g.map(C=>typeof C!="string"?t.jsxs(a.Tr,{children:[t.jsx(a.Td,{width:"20%",children:t.jsx(a.Typography,{fontWeight:"semiBold",textColor:"neutral800",children:C.name})}),t.jsx(a.Td,{width:"60%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.label})}),t.jsx(a.Td,{width:"15%",children:t.jsx(a.Typography,{textColor:"neutral800",children:C.type})}),t.jsx(a.Td,{width:"5%",children:t.jsx(a.Tooltip,{description:y(r(`${pe}${C.required?"required":"notRequired"}`)),children:t.jsx(a.Typography,{textColor:"neutral800",children:C.required?t.jsx(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:()=>l(C),label:y(r(`${pe}${C.enabled?"disable":"enable"}`)),variant:C.enabled?"success-light":"tertiary",children:C.enabled?t.jsx(O.Eye,{}):t.jsx(O.EyeStriked,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>n(C),label:y(r(`${pe}edit`)),children:t.jsx(O.Pencil,{}),style:{minWidth:50}}),t.jsx(a.IconButton,{onClick:()=>F(C),label:y(r(`${pe}remove`)),children:t.jsx(O.Trash,{}),style:{minWidth:50}})]})})})]},C.name):null)})]})]})},Va=/^(?<type>[a-z0-9-]+)\:{2}(?<api>[a-z0-9-]+)\.{1}(?<contentType>[a-z0-9-]+)$/i,Qa=(e="",n={})=>{const{allowedContentTypes:i=[],restrictedContentTypes:l=[],contentTypes:d=[],preferCustomContentTypes:s=!1}=n,b=(s?["api::",...d]:i).filter(g=>e.includes(g)||e===g).length>0,R=l.filter(g=>e.includes(g)||e===g).length===0;return!!e&&b&&R},Ka=(e="")=>{const n=s=>s.split("-").map(h=>I.capitalize(h)).join(""),[i,l,d]=Ua(e);return i==="api"?n(d):`${n(l)}${n(d)}`},Ua=(e="")=>e.split(Va).filter(n=>n&&n.length>0),dt="SERVER OFFLINE",wt=(e,n)=>new Promise(i=>{fetch(`${window.strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":"false"}}).then(l=>{if(l.status>=400)throw new Error;if(!n)throw new Error(dt);i(e)}).catch(l=>{setTimeout(()=>wt(e,l.message!==dt).then(i),100)})}),Wa=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readSettingsConfigIndex(),queryFn(){return n.readSettingsConfig()},staleTime:1e3*60*5})},Ha=()=>{const e=P.getFetchClient(),n=ee(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())})},Xa=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn:()=>n.restoreConfig()})},Za=()=>{const e=P.getFetchClient(),n=ee(e);return K.useQuery({queryKey:n.readContentTypeIndex(),queryFn:()=>n.readContentType(),staleTime:1/0})},Ja=()=>{const e=P.getFetchClient(),n=ee(e);return K.useMutation({mutationFn(i){return n.updateConfig({...i,contentTypesNameFields:Object.fromEntries(i.contentTypesNameFields.map(({key:l,fields:d})=>[l,d])),contentTypesPopulate:Object.fromEntries(i.contentTypesPopulate.map(({key:l,fields:d})=>[l,d])),pathDefaultFields:Object.fromEntries(i.pathDefaultFields.map(({key:l,fields:d})=>[l,d])),additionalFields:i.audienceFieldChecked?[...i.additionalFields,"audience"]:i.additionalFields,gql:{navigationItemRelated:i.contentTypes.map(l=>Ka(l))}})}})},Ya=Dt.omit({contentTypesNameFields:!0}).extend({audienceFieldChecked:c.z.boolean(),contentTypesNameFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),contentTypesPopulate:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array(),pathDefaultFields:c.z.object({key:c.z.string(),fields:c.z.string().array()}).array()}),$e={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6},ct=new K.QueryClient,ei=()=>{const e=Wa(),n=Za(),i=Ja(),l=Xa(),d=Ha(),{formatMessage:s}=U.useIntl(),[h,b]=m.useState({required:!1}),[R,g]=m.useState(!1),y=P.useAuth("SettingsPage",f=>f.permissions),F=m.useMemo(()=>!!y.find(({action:f})=>f===Ne.settings[0].action),[y]),j=m.useMemo(()=>!!y.find(({action:f})=>f===Ne.access[0].action),[y]),k=e.isPending||n.isPending||i.isPending||d.isPending||l.isPending,[C,v]=m.useState({}),[u,T]=m.useState(),[A,_]=m.useState(!1),[re,M]=m.useState(!1),[Z,te]=m.useState(null),{contentTypesNameFields:fe,contentTypes:ye,additionalFields:de,preferCustomContentTypes:X}=C,W=(f,B,w)=>{if(w){let $=f,q=B;if(I.isObject(f)){const{name:ie,value:E}=f.target;$=ie,q=I.isNil(q)?E:q}return I.isString($)&&se($,q),w(f,q)}},se=(f,B)=>{v(w=>I.set({...w},f,B))},ce=f=>{if(I.get(u,f))return s(r(f))},xe=f=>{te(f),_(!0)},ne=f=>{const B=de.filter(w=>typeof w!="string"?w.name!==f.name:!0);se("additionalFields",B),te(null),_(!1)},ve=f=>{const B={...f,enabled:!f.enabled},w=de.map($=>typeof $!="string"&&f.name===$.name?B:$);se("additionalFields",w)},ge=f=>{const w=!!de.find($=>typeof $!="string"?$.name===f.name:!1)?de.map($=>typeof $!="string"&&f.name===$.name?f:$):[...de,f];se("additionalFields",w),te(null),_(!1)},be=k?[]:I.sortBy(Object.values(n.data??[]).filter(({uid:f})=>Qa(f,{allowedContentTypes:e.data?.allowedContentTypes,restrictedContentTypes:e.data?.restrictedContentTypes,preferCustomContentTypes:X,contentTypes:ye})).map(f=>{const B=n.data?.find(w=>w.uid===f.uid);if(B){const{isDisplayed:w,kind:$}=B;return{...f,available:w,isSingle:$==="singleType"}}return f}),f=>f.info.displayName),me=(f,B)=>{const{success:w,data:$,error:q}=Ya.safeParse(B);w?i.mutate($,{onSuccess(){b({required:!0}),i.reset()}}):q&&(T(q.issues.reduce((ie,E)=>({...ie,[E.path.join(".")]:E.message}),{})),console.warn("Invalid form data",q))},je=async f=>{M(!1),f&&(l.mutate(),b({required:!0}))},ae=async()=>{d.mutate(void 0,{onSuccess(){g(!0),wt(!0).then(f=>{f&&window.location.reload()})},onError(){b({required:!1})}})},Ie=()=>b({required:!1});return m.useEffect(()=>{e.data&&v({...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]),F?k||R?t.jsx(P.Page.Loading,{}):t.jsxs(P.Layouts.Root,{children:[t.jsxs(P.Page.Main,{children:[t.jsx(P.Page.Title,{children:s(r("pages.settings.header.title"))}),t.jsx(P.Layouts.Header,{title:s(r("pages.settings.header.title")),subtitle:s(r("pages.settings.header.description")),primaryAction:j?t.jsx(a.Button,{startIcon:t.jsx(O.Check,{}),disabled:h.required,onClick:f=>me(f,C),children:s(r("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,{...$e,width:"100%",children:t.jsx(za,{closeLabel:s(r("pages.settings.actions.restart.alert.cancel")),title:s(r("pages.settings.actions.restart.alert.title")),action:t.jsx(a.Box,{children:t.jsx(a.Button,{onClick:ae,startIcon:t.jsx(O.Play,{}),children:s(r("pages.settings.actions.restart.label"))})}),onClose:Ie,children:t.jsxs(t.Fragment,{children:[t.jsx(a.Box,{paddingBottom:1,children:s(r("pages.settings.actions.restart.alert.description"))}),h.reasons?.map((w,$)=>t.jsx(a.Box,{paddingBottom:1,children:s(r(`pages.settings.actions.restart.alert.reason.${w}`))},$))]})})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.general.title"))}),t.jsx(a.Grid.Root,{gap:4,width:"100%",children:t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(G.Field,{name:"preferCustomContentTypes",label:s(r("pages.settings.form.preferCustomContentTypes.label")),hint:s(r("pages.settings.form.preferCustomContentTypes.hint")),children:t.jsx(a.Toggle,{name:"preferCustomContentTypes",checked:f.preferCustomContentTypes,onChange:w=>W(w,!f.preferCustomContentTypes,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),t.jsx(a.Grid.Item,{col:8,s:12,xs:12,children:t.jsx(G.Field,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),hint:s(r("pages.settings.form.contentTypes.hint")),children:t.jsx(a.MultiSelect,{name:"contentTypes",label:s(r("pages.settings.form.contentTypes.label")),"aria-label":s(r("pages.settings.form.contentTypes.label")),placeholder:s(r("pages.settings.form.contentTypes.placeholder")),value:f.contentTypes,onChange:w=>{W("contentTypes",w,B);const{contentTypesNameFields:$=[],contentTypesPopulate:q=[],pathDefaultFields:ie=[]}=f,E=w.filter(L=>!$.find(oe=>oe.key===L))??[],J=$.filter(L=>!w.includes(L.key)||L.key==="default").map(({key:L})=>L)??[];se("contentTypesNameFields",[...$.filter(({key:L})=>!J.includes(L)||L==="default")??[],...E.map(L=>({key:L,fields:[]}))]),se("contentTypesPopulate",[...q.filter(({key:L})=>!J.includes(L)||L==="default")??[],...E.map(L=>({key:L,fields:[]}))]),se("pathDefaultFields",[...ie.filter(({key:L})=>!J.includes(L)||L==="default")??[],...E.map(L=>({key:L,fields:[]}))])},disabled:h.required,error:ce("contentTypes"),withTags:!0,width:"100%",children:be.map(w=>t.jsx(a.MultiSelectOption,{value:w.uid,children:w.info.displayName},w.uid))})})}),t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:ye?.length?t.jsx(a.Accordion.Root,{style:{width:"100%"},children:fe.map((w,$)=>{const q=n.data?.find(({uid:E})=>E===w.key),ie=Object.keys(q?.attributes??{}).sort();return q?t.jsxs(a.Accordion.Item,{value:w.key,children:[t.jsx(a.Accordion.Header,{children:t.jsx(a.Accordion.Trigger,{children:q?.info.displayName??s(r("pages.settings.form.nameField.default"))})}),t.jsx(a.Accordion.Content,{children:t.jsxs(a.Grid.Root,{gap:4,padding:2,children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(G.Field,{name:`contentTypesNameFields[${$}]`,label:s(r("pages.settings.form.nameField.label")),hint:s(r(`pages.settings.form.nameField.${I.isEmpty(I.get(f,`contentTypesNameFields[${$}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`contentTypesNameFields[${$}]`,placeholder:s(r("pages.settings.form.nameField.placeholder")),value:I.get(f,`contentTypesNameFields[${$}].fields`),onChange:E=>{const J=I.get(f,"contentTypesNameFields",[]).map((L,oe)=>oe===$?{...L,fields:E}:L);return W("contentTypesNameFields",J,B)},disabled:h.required,error:ce(`contentTypesNameFields[${$}]`),withTags:!0,children:ie.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[${$-1}]`,label:s(r("pages.settings.form.populate.label")),hint:s(r(`pages.settings.form.populate.${I.isEmpty(I.get(f,`contentTypesPopulate[${$-1}]fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{width:"100%",name:`contentTypesPopulate[${$-1}]`,placeholder:s(r("pages.settings.form.populate.placeholder")),value:I.get(f,`contentTypesPopulate[${$-1}].fields`,[]),onChange:E=>{const J=I.get(f,"contentTypesPopulate",[]).map((L,oe)=>oe===$-1?{...L,fields:E}:L);return W("contentTypesPopulate",J,B)},disabled:h.required,error:ce(`contentTypesPopulate[${$-1}]`),withTags:!0,children:ie.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[${$-1}]`,label:s(r("pages.settings.form.pathDefaultFields.label")),hint:s(r(`pages.settings.form.pathDefaultFields.${I.isEmpty(I.get(f,`pathDefaultFields[${$-1}].fields`,[]))?"empty":"hint"}`)),children:t.jsx(a.MultiSelect,{name:`pathDefaultFields[${$-1}]`,width:"100%",placeholder:s(r("pages.settings.form.pathDefaultFields.placeholder")),value:I.get(f,`pathDefaultFields[${$-1}].fields`,[]),onChange:E=>{const J=I.get(f,"pathDefaultFields",[]).map((L,oe)=>oe===$-1?{...L,fields:E}:L);return W("pathDefaultFields",J,B)},disabled:h.required,error:ce(`pathDefaultFields[${$-1}]`),withTags:!0,children:ie.map(E=>t.jsx(a.MultiSelectOption,{value:E,children:E},E))})})})]})})]},w.key):null})}):null})]})})})]})}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.additional.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(a.Box,{width:"100%",children:t.jsx(G.Field,{name:"allowedLevels",label:s(r("pages.settings.form.allowedLevels.label")),hint:s(r("pages.settings.form.allowedLevels.hint")),children:t.jsx(a.NumberInput,{width:"100%",name:"allowedLevels",type:"number",placeholder:s(r("pages.settings.form.allowedLevels.placeholder")),onChange:(w,$)=>{if(I.isObject(w)){const q=parseInt(w.target.value);return W(w.target.name,I.isNaN(q)?0:q,B)}return W(w,$,B)},value:f.allowedLevels,disabled:h.required})})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(G.Field,{name:"cascadeMenuAttached",label:s(r("pages.settings.form.cascadeMenuAttached.label")),hint:s(r("pages.settings.form.cascadeMenuAttached.hint")),children:t.jsx(a.Toggle,{width:"100%",name:"cascadeMenuAttached",checked:f.cascadeMenuAttached,onChange:w=>W(w,!f.cascadeMenuAttached,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required})})}),t.jsx(a.Grid.Item,{col:4,s:12,xs:12,children:t.jsx(G.Field,{name:"audienceFieldChecked",label:s(r("pages.settings.form.audience.label")),hint:s(r("pages.settings.form.audience.hint")),children:t.jsx(a.Toggle,{name:"audienceFieldChecked",checked:f.audienceFieldChecked,onChange:w=>W(w,!f.audienceFieldChecked,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})}),e.data?.isCachePluginEnabled&&t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(G.Field,{name:"isCacheEnabled",label:s(r("pages.settings.form.cache.label")),hint:s(r("pages.settings.form.cache.hint")),children:t.jsx(a.Toggle,{name:"isCacheEnabled",checked:f.isCacheEnabled,onChange:w=>W(w,!f.isCacheEnabled,B),onLabel:s(r("components.toggle.enabled")),offLabel:s(r("components.toggle.disabled")),disabled:h.required,width:"100%"})})})]})]})}),t.jsxs(a.Box,{...$e,width:"100%",children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.customFields.title"))}),t.jsx(a.Box,{padding:1}),t.jsx(_a,{data:de,onOpenModal:xe,onRemoveCustomField:ne,onToggleCustomField:ve})]}),t.jsx(a.Box,{...$e,width:"100%",children:t.jsxs(a.Flex,{direction:"column",alignItems:"flex-start",gap:2,children:[t.jsx(a.Typography,{variant:"delta",as:"h2",children:s(r("pages.settings.restoring.title"))}),t.jsxs(a.Grid.Root,{gap:4,width:"100%",children:[t.jsx(a.Grid.Item,{col:12,s:12,xs:12,children:t.jsx(a.Typography,{children:s(r("pages.settings.actions.restore.description"))})}),t.jsxs(a.Grid.Item,{col:12,s:12,xs:12,children:[j?t.jsx(a.Button,{variant:"danger-light",startIcon:t.jsx(O.Check,{}),onClick:()=>M(!0),children:s(r("pages.settings.actions.restore.label"))}):null,t.jsx(Ue,{isVisible:re,header:s(r("pages.settings.actions.restore.confirmation.header")),labelConfirm:s(r("pages.settings.actions.restore.confirmation.confirm")),iconConfirm:t.jsx(O.Typhoon,{}),onConfirm:()=>je(!0),onCancel:()=>je(!1),children:s(r("pages.settings.actions.restore.confirmation.description"))})]})]})]})})]})})})]}),A&&t.jsx(Oa,{onClose:()=>_(!1),onSubmit:ge,isOpen:A,data:Z})]}):t.jsx(P.Page.NoPermissions,{})};function ti(){ct.invalidateQueries();const e=G.usePluginTheme();return t.jsx(K.QueryClientProvider,{client:ct,children:t.jsx(a.DesignSystemProvider,{theme:e,children:t.jsx(ei,{})})})}const ni="navigation",ut="Navigation",ai={register(e){e.createSettingSection({id:he,intlLabel:{id:`${he}.plugin.section.name`,defaultMessage:`${ut} plugin`}},[{intlLabel:{id:`${he}.plugin.section.item`,defaultMessage:"Configuration"},id:"navigation",to:he,Component(){return ti},permissions:Ne.settings}]),e.addMenuLink({to:`plugins/${he}`,icon:kt,intlLabel:{id:`${he}.plugin.name`,defaultMessage:ut},Component(){return Pa},permissions:Ne.access,position:1}),e.registerPlugin({id:he,initializer:At,isReady:!1,name:ni})},registerTrads:async function({locales:e=[]}){return Promise.all(e.map(async n=>n in tt?tt[n]().then(({default:l})=>({data:G.prefixPluginTranslations(G.flattenObject(l),he),locale:n})):{data:G.prefixPluginTranslations(G.flattenObject({}),he),locale:n}))}};module.exports=ai;
|
|
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;
|