@strapi/admin 4.4.0-beta.3 → 4.4.0-rc.0
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/admin/src/StrapiApp.js +2 -0
- package/admin/src/components/AuthenticatedApp/index.js +2 -2
- package/admin/src/components/LanguageProvider/index.js +1 -0
- package/admin/src/components/ThemeToggleProvider/index.js +21 -10
- package/admin/src/content-manager/components/DynamicTable/index.js +2 -2
- package/admin/src/content-manager/components/InputJSON/index.js +2 -0
- package/admin/src/contexts/ApiTokenPermissions/index.js +24 -0
- package/admin/src/hooks/index.js +1 -0
- package/admin/src/hooks/useRegenerate/index.js +34 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +56 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/getMethodColor.js +41 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +72 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +30 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +150 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +37 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +254 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +77 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormHead/index.js +85 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +40 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +68 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +215 -197
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/init.js +13 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +72 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/getDateOfExpiration.js +16 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/index.js +5 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +2 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +36 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DefaultButton/index.js +63 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +1 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +19 -0
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +3 -36
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +13 -11
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +3 -2
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +8 -8
- package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedEditView/index.js +1 -1
- package/admin/src/permissions/defaultPermissions.js +2 -6
- package/admin/src/translations/en.json +17 -0
- package/admin/src/translations/zh-Hans.json +0 -1
- package/build/2077.c935ee42.chunk.js +205 -0
- package/build/4318.7d167b58.chunk.js +30 -0
- package/build/{4715.3f6cac0a.chunk.js → 4715.58cd558f.chunk.js} +32 -31
- package/build/4982.05eda880.chunk.js +324 -0
- package/build/7379.d246dd38.chunk.js +1 -0
- package/build/{7866.c793a31d.chunk.js → 7866.1201afbd.chunk.js} +2 -2
- package/build/{8773.eccaa5f3.chunk.js → 8773.c06c24c0.chunk.js} +2 -2
- package/build/{Admin-authenticatedApp.50e41ff2.chunk.js → Admin-authenticatedApp.9dec5230.chunk.js} +6 -6
- package/build/{Admin_homePage.118926e0.chunk.js → Admin_homePage.6d5e3236.chunk.js} +1 -1
- package/build/{Admin_profilePage.9d50ac44.chunk.js → Admin_profilePage.da32abbc.chunk.js} +1 -1
- package/build/{Admin_settingsPage.98a711e5.chunk.js → Admin_settingsPage.98e2a62b.chunk.js} +16 -16
- package/build/admin-app.a61d5c2e.chunk.js +112 -0
- package/build/admin-edit-roles-page.4dd6bcb9.chunk.js +1 -0
- package/build/api-tokens-create-page.93dd0689.chunk.js +1 -0
- package/build/api-tokens-edit-page.b0adac81.chunk.js +1 -0
- package/build/api-tokens-list-page.bb36535f.chunk.js +16 -0
- package/build/{content-manager.2a6f876d.chunk.js → content-manager.feb0d540.chunk.js} +2 -2
- package/build/{content-type-builder.d4610e20.chunk.js → content-type-builder.a684b2e8.chunk.js} +11 -11
- package/build/en-json.a9918c93.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/{main.fdc482f3.js → main.e4065f58.js} +1304 -1288
- package/build/{runtime~main.29105d25.js → runtime~main.4204f341.js} +2 -2
- package/build/sso-settings-page.9ceb0140.chunk.js +1 -0
- package/build/{webhook-edit-page.d2ea3351.chunk.js → webhook-edit-page.9e46fc3f.chunk.js} +1 -1
- package/build/{zh-Hans-json.77a42bc5.chunk.js → zh-Hans-json.9c99f8d4.chunk.js} +1 -1
- package/package.json +10 -9
- package/server/bootstrap.js +19 -1
- package/server/config/admin-actions.js +20 -0
- package/server/content-types/api-token-permission.js +36 -0
- package/server/content-types/api-token.js +25 -1
- package/server/content-types/index.js +1 -0
- package/server/controllers/api-token.js +24 -1
- package/server/controllers/content-api.js +15 -0
- package/server/controllers/index.js +1 -0
- package/server/routes/api-tokens.js +11 -0
- package/server/routes/content-api.js +20 -0
- package/server/routes/index.js +2 -0
- package/server/services/api-token.js +310 -29
- package/server/services/constants.js +10 -0
- package/server/services/permission/engine.js +36 -226
- package/server/services/permission.js +4 -1
- package/server/strategies/admin.js +7 -1
- package/server/strategies/api-token.js +71 -11
- package/server/validation/api-tokens.js +12 -2
- package/build/2077.61cebc93.chunk.js +0 -195
- package/build/4982.c6f88c5d.chunk.js +0 -314
- package/build/admin-app.8bc3e80f.chunk.js +0 -112
- package/build/admin-edit-roles-page.554ba3fa.chunk.js +0 -1
- package/build/api-tokens-create-page.4c262d6e.chunk.js +0 -1
- package/build/api-tokens-edit-page.10a9d368.chunk.js +0 -1
- package/build/api-tokens-list-page.442c9f3c.chunk.js +0 -15
- package/build/en-json.12bc5a14.chunk.js +0 -1
- package/build/sso-settings-page.445184e0.chunk.js +0 -1
- package/server/services/permission/engine-hooks.js +0 -82
package/build/{content-type-builder.d4610e20.chunk.js → content-type-builder.a684b2e8.chunk.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:(Ge,pe,
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:(Ge,pe,l)=>{l.d(pe,{Z:()=>mt});var a=l(32735),U=l(19615),Ce=l(60216),I=l.n(Ce),R=l(9808),$n=l.n(R),At=l(10822),J=l.n(At),Ft=l(57746),r=l.n(Ft),F=l(61714),ve=l.n(F),Dt=l(9895),Nt=l.n(Dt),_e=l(80466),Zt=l.n(_e),It=l(34103),wt=l.n(It),it=l(57290),we=l.n(it),d=l(57955),Fe=l.n(d),Lt=l(90040),Z=l.n(Lt),Bt=l(55788),Ke=l.n(Bt),qt=l(94661),kt=l.n(qt),jt=l(81208),We=l.n(jt),q=l(28565),_=l.n(q),lt=l(65232),De=l.n(lt),ne=l(80268),$=l.n(ne),se=l(42122),ie=l.n(se),le=l(88425),zn=l.n(le),Me=Object.defineProperty,Ut=Object.defineProperties,ut=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,ct=(V,H,X)=>H in V?Me(V,H,{enumerable:!0,configurable:!0,writable:!0,value:X}):V[H]=X,Ne=(V,H)=>{for(var X in H||(H={}))k.call(H,X)&&ct(V,X,H[X]);if(He)for(var X of He(H))_t.call(H,X)&&ct(V,X,H[X]);return V},dt=(V,H)=>Ut(V,ut(H)),Xe=(V,H)=>{var X={};for(var ue in V)k.call(V,ue)&&H.indexOf(ue)<0&&(X[ue]=V[ue]);if(V!=null&&He)for(var ue of He(V))H.indexOf(ue)<0&&_t.call(V,ue)&&(X[ue]=V[ue]);return X};const Oe={biginteger:ie(),boolean:Nt(),collectionType:r(),component:J(),contentType:r(),date:ve(),datetime:ve(),decimal:ie(),dynamiczone:Zt(),email:wt(),enum:we(),enumeration:we(),file:Ke(),files:Ke(),float:ie(),integer:ie(),json:Fe(),JSON:Fe(),media:Ke(),number:ie(),password:kt(),relation:We(),richtext:Z(),singleType:_(),string:De(),text:De(),time:ve(),timestamp:ve(),uid:$()},Vn=(0,U.default)(R.Box)`
|
|
2
2
|
width: ${(0,le.pxToRem)(32)};
|
|
3
3
|
height: ${(0,le.pxToRem)(24)};
|
|
4
4
|
box-sizing: content-box;
|
|
5
|
-
`,Ye=V=>{var H=V,{type:X,customField:ue}=H,Wt=Xe(H,["type","customField"]);const $t=(0,le.useCustomFields)();let yt=Oe[X];if(ue){const{icon:ht}=$t.get(ue);ht&&(yt=ht)}return Oe[X]?a.createElement(Vn,dt(Ne({as:yt},Wt),{"aria-hidden":!0})):null};Ye.defaultProps={customField:null},Ye.propTypes={type:I().string.isRequired,customField:I().string};const mt=Ye},74753:(Ge,pe,
|
|
5
|
+
`,Ye=V=>{var H=V,{type:X,customField:ue}=H,Wt=Xe(H,["type","customField"]);const $t=(0,le.useCustomFields)();let yt=Oe[X];if(ue){const{icon:ht}=$t.get(ue);ht&&(yt=ht)}return Oe[X]?a.createElement(Vn,dt(Ne({as:yt},Wt),{"aria-hidden":!0})):null};Ye.defaultProps={customField:null},Ye.propTypes={type:I().string.isRequired,customField:I().string};const mt=Ye},74753:(Ge,pe,l)=>{l.d(pe,{Z:()=>Ce});var a=l(32735);const Ce=(0,a.createContext)()},51216:(Ge,pe,l)=>{l.d(pe,{Z:()=>Ce});var a=l(32735);const Ce=(0,a.createContext)()},198:(Ge,pe,l)=>{l.d(pe,{Z:()=>I});var a=l(32735),U=l(74753);const I=()=>(0,a.useContext)(U.Z)},32237:(Ge,pe,l)=>{l.d(pe,{Z:()=>I});var a=l(32735),U=l(51216);const I=()=>(0,a.useContext)(U.Z)},32864:(Ge,pe,l)=>{l.r(pe),l.d(pe,{default:()=>pl});var a=l(32735),U=l(5141),Ce=l(99357),I=l(5636),R=l(88425),$n=l(11856),At=l(3633),J=l(25158),Ft=l(60216),r=l.n(Ft),F=l(92891),ve=l(4409),Dt=l(13055),Nt=l(74753),_e=l(32237),Zt=l(43653),It=l.n(Zt),wt=(e,t,n)=>new Promise((o,s)=>{var i=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(i,u);c((n=n.apply(e,t)).next())});const it=It().create({baseURL:`http://localhost:1337/${J.Z}`});it.interceptors.request.use(e=>wt(void 0,null,function*(){return e.headers={Authorization:`Bearer ${R.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},e}),e=>{Promise.reject(e)}),it.interceptors.response.use(e=>e,e=>{var t;throw((t=e.response)==null?void 0:t.status)===401&&(R.auth.clearAppStorage(),window.location.reload()),e});const we=it;var d=l(92318),Fe=l(37087),Lt=l(33795),Z=l.n(Lt),Bt=l(23973),Ke=l.n(Bt),qt=l(3040),kt=l.n(qt),jt=l(59578),We=l.n(jt),q=l(9808),_=l(44526),lt=l(27635),De=l(4122),ne=l(81700),$=l(19192),se=l(90662),ie=l(198),le=l(25716),zn=l(23940),Me=l.n(zn);const Ut=[{label:"All",children:[{label:"images (JPEG, PNG, GIF, SVG, TIFF, ICO, DVU)",value:"images"},{label:"videos (MPEG, MP4, Quicktime, WMV, AVI, FLV)",value:"videos"},{label:"audios (MP3, WAV, OGG)",value:"audios"},{label:"files (CSV, ZIP, PDF, Excel, JSON, ...)",value:"files"}]}],ut=({intlLabel:e,name:t,onChange:n,value:o})=>{const{formatMessage:s}=(0,I.useIntl)(),i=o===null||o.length===0?s({id:"global.none",defaultMessage:"None"}):[...o].sort().map(c=>Me()(c)).join(", "),u=e.id?s({id:e.id,defaultMessage:e.defaultMessage}):t;return a.createElement(le.MultiSelectNested,{id:"select1",label:u,customizeContent:()=>i,onChange:c=>{c.length>0?n({target:{name:t,value:c,type:"allowed-types-select"}}):n({target:{name:t,value:null,type:"allowed-types-select"}})},options:Ut,value:o||[]})};ut.defaultProps={value:null},ut.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().oneOfType([r().object,r().array])};const He=ut;var k=l(95602);const ct=e=>e.kind==="collectionType"&&(e.restrictRelationsTo===null||Array.isArray(e.restrictRelationsTo)&&e.restrictRelationsTo.length>0);var Ne=l(78330),dt=l(87910),Xe=l(25747),Oe=l(19615);const Ye=(0,Oe.default)(q.Box)`
|
|
6
6
|
width: 100%;
|
|
7
7
|
height: 100%;
|
|
8
8
|
border: 1px solid ${({theme:e})=>e.colors.neutral200};
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
background: ${({theme:e})=>e.colors.primary100};
|
|
12
12
|
border: 1px solid ${({theme:e})=>e.colors.primary200};
|
|
13
13
|
}
|
|
14
|
-
`,mt=({type:e})=>{const{formatMessage:t}=(0,I.useIntl)(),{onClickSelectField:n}=(0,_e.Z)(),o=()=>{n({attributeType:e,step:e==="component"?"1":null})};return a.createElement(Ye,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:o},a.createElement($.Flex,null,a.createElement(Xe.Z,{type:e}),a.createElement(q.Box,{paddingLeft:4},a.createElement($.Flex,null,a.createElement(k.Typography,{fontWeight:"bold"},t({id:(0,d.Z)(`attribute.${e}`),defaultMessage:e}))),a.createElement($.Flex,null,a.createElement(k.Typography,{variant:"pi",textColor:"neutral600"},t({id:(0,d.Z)(`attribute.${e}.description`),defaultMessage:"A type for modeling data"}))))))};mt.defaultProps={type:"text"},mt.propTypes={type:r().string};const V=mt,X=e=>{const t=e%2===1;return{paddingLeft:t?2:0,paddingRight:t?0:2}},ue=({attributes:e})=>a.createElement(dt.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:8},e.map((t,n)=>a.createElement(Ne.Grid,{key:n,gap:0},t.map((o,s)=>{const{paddingLeft:
|
|
14
|
+
`,mt=({type:e})=>{const{formatMessage:t}=(0,I.useIntl)(),{onClickSelectField:n}=(0,_e.Z)(),o=()=>{n({attributeType:e,step:e==="component"?"1":null})};return a.createElement(Ye,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:o},a.createElement($.Flex,null,a.createElement(Xe.Z,{type:e}),a.createElement(q.Box,{paddingLeft:4},a.createElement($.Flex,null,a.createElement(k.Typography,{fontWeight:"bold"},t({id:(0,d.Z)(`attribute.${e}`),defaultMessage:e}))),a.createElement($.Flex,null,a.createElement(k.Typography,{variant:"pi",textColor:"neutral600"},t({id:(0,d.Z)(`attribute.${e}.description`),defaultMessage:"A type for modeling data"}))))))};mt.defaultProps={type:"text"},mt.propTypes={type:r().string};const V=mt,X=e=>{const t=e%2===1;return{paddingLeft:t?2:0,paddingRight:t?0:2}},ue=({attributes:e})=>a.createElement(dt.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:8},e.map((t,n)=>a.createElement(Ne.Grid,{key:n,gap:0},t.map((o,s)=>{const{paddingLeft:i,paddingRight:u}=X(s);return a.createElement(Ne.GridItem,{key:o,col:6,style:{height:"100%"}},a.createElement(q.Box,{paddingLeft:i,paddingRight:u,paddingBottom:1,style:{height:"100%"}},a.createElement(V,{type:o})))})))));ue.propTypes={attributes:r().array.isRequired};const Wt=ue;var $t=l(58434),yt=l(74064),ht=l(78752),Ar=l(59290),$e=l.n(Ar),Fr=l(97042),Dr=l.n(Fr);const Nr=(0,Oe.default)(q.Box)`
|
|
15
15
|
background: ${({theme:e})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${e.colors.neutral150} 100%)`};
|
|
16
16
|
opacity: 0.33;
|
|
17
|
-
`,Zr=()=>a.createElement($.Flex,{wrap:"wrap",gap:4},[...Array(4)].map((e,t)=>a.createElement(Nr,{key:`empty-card-${t}`,height:"138px",width:"375px",hasRadius:!0}))),Ir=()=>{const{formatMessage:e}=(0,I.useIntl)();return a.createElement(q.Box,{position:"relative"},a.createElement(Zr,null),a.createElement(q.Box,{position:"absolute",top:6,width:"100%"},a.createElement($.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},a.createElement(ht.Icon,{as:Dr(),color:"",width:"160px",height:"88px"}),a.createElement(q.Box,{paddingTop:6,paddingBottom:4},a.createElement(q.Box,{textAlign:"center"},a.createElement(k.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.heading"),defaultMessage:"Nothing in here yet."})),a.createElement(q.Box,{paddingTop:4},a.createElement(k.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.sub-heading"),defaultMessage:"Find what you are looking for through a wide range of extensions."}))))),a.createElement(yt.LinkButton,{to:"/marketplace",variant:"secondary",startIcon:a.createElement($e(),null)},e({id:(0,d.Z)("modalForm.empty.button"),defaultMessage:"Add custom fields"})))))},Gn=({customFieldUid:e,customField:t})=>{const{type:n,intlLabel:o,intlDescription:s}=t,{formatMessage:
|
|
17
|
+
`,Zr=()=>a.createElement($.Flex,{wrap:"wrap",gap:4},[...Array(4)].map((e,t)=>a.createElement(Nr,{key:`empty-card-${t}`,height:"138px",width:"375px",hasRadius:!0}))),Ir=()=>{const{formatMessage:e}=(0,I.useIntl)();return a.createElement(q.Box,{position:"relative"},a.createElement(Zr,null),a.createElement(q.Box,{position:"absolute",top:6,width:"100%"},a.createElement($.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},a.createElement(ht.Icon,{as:Dr(),color:"",width:"160px",height:"88px"}),a.createElement(q.Box,{paddingTop:6,paddingBottom:4},a.createElement(q.Box,{textAlign:"center"},a.createElement(k.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.heading"),defaultMessage:"Nothing in here yet."})),a.createElement(q.Box,{paddingTop:4},a.createElement(k.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.sub-heading"),defaultMessage:"Find what you are looking for through a wide range of extensions."}))))),a.createElement(yt.LinkButton,{to:"/marketplace",variant:"secondary",startIcon:a.createElement($e(),null)},e({id:(0,d.Z)("modalForm.empty.button"),defaultMessage:"Add custom fields"})))))},Gn=({customFieldUid:e,customField:t})=>{const{type:n,intlLabel:o,intlDescription:s}=t,{formatMessage:i}=(0,I.useIntl)(),{onClickSelectCustomField:u}=(0,_e.Z)(),c=()=>{u({attributeType:n,customFieldUid:e})};return a.createElement(Ye,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:c},a.createElement($.Flex,null,a.createElement(Xe.Z,{type:n,customField:e}),a.createElement(q.Box,{paddingLeft:4},a.createElement($.Flex,null,a.createElement(k.Typography,{fontWeight:"bold"},i(o))),a.createElement($.Flex,null,a.createElement(k.Typography,{variant:"pi",textColor:"neutral600"},i(s))))))};Gn.propTypes={customFieldUid:r().string.isRequired,customField:r().shape({type:r().string.isRequired,icon:r().func,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,intlDescription:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired}).isRequired};const wr=Gn,Lr=()=>{const{formatMessage:e}=(0,I.useIntl)(),t=(0,R.useCustomFields)(),n=Object.entries(t.getAll());if(!n.length)return a.createElement(Ir,null);const o=n.sort((s,i)=>s[1].name>i[1].name?1:-1);return a.createElement(dt.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:3},a.createElement(Ne.Grid,{gap:0},o.map(([s,i],u)=>{const{paddingLeft:c,paddingRight:m}=X(u);return a.createElement(Ne.GridItem,{key:s,col:6,style:{height:"100%"}},a.createElement(q.Box,{paddingLeft:c,paddingRight:m,paddingBottom:1,style:{height:"100%"}},a.createElement(wr,{key:s,customFieldUid:s,customField:i})))})),a.createElement($t.Link,{href:"https://docs.strapi.io/developer-docs/latest/development/custom-fields.html",isExternal:!0},e({id:(0,d.Z)("modalForm.tabs.custom.howToLink"),defaultMessage:"How to add custom fields"}))))},Kn=({attributes:e,forTarget:t,kind:n})=>{const{formatMessage:o}=(0,I.useIntl)(),s=(0,d.Z)("modalForm.tabs.default"),i=(0,d.Z)("modalForm.tabs.custom"),u=t.includes("component")?"component":n,c=(0,d.Z)(`modalForm.sub-header.chooseAttribute.${u}`);return a.createElement(De.ModalBody,{padding:6},a.createElement(ne.TabGroup,{label:o({id:(0,d.Z)("modalForm.tabs.label"),defaultMessage:"Default and Custom types tabs"}),id:"attribute-type-tabs",variant:"simple"},a.createElement($.Flex,{justifyContent:"space-between"},a.createElement(k.Typography,{variant:"beta",as:"h2"},o({id:c,defaultMessage:"Select a field"})),a.createElement(ne.Tabs,null,a.createElement(ne.Tab,null,o({id:s,defaultMessage:"Default"})),a.createElement(ne.Tab,null,o({id:i,defaultMessage:"Custom"})))),a.createElement(q.Box,{paddingBottom:6},a.createElement(lt.Divider,null)),a.createElement(ne.TabPanels,null,a.createElement(ne.TabPanel,null,a.createElement(Wt,{attributes:e})),a.createElement(ne.TabPanel,null,a.createElement(Lr,null)))))};Kn.propTypes={attributes:r().array.isRequired,forTarget:r().string.isRequired,kind:r().string.isRequired};const Br=Kn;var zt=l(49137),qr=l(63865),kr=l(50678),jr=l.n(kr),Ur=Object.defineProperty,Hn=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Wr=Object.prototype.propertyIsEnumerable,Xn=(e,t,n)=>t in e?Ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yn=(e,t)=>{for(var n in t||(t={}))_r.call(t,n)&&Xn(e,n,t[n]);if(Hn)for(var n of Hn(t))Wr.call(t,n)&&Xn(e,n,t[n]);return e};const $r=(0,Oe.default)(k.Typography)`
|
|
18
18
|
text-align: center;
|
|
19
|
-
`,Vt=({description:e,disabled:t,intlLabel:n,isCreating:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),[m,g]=(0,a.useState)(!1),f=n.id?c({id:n.id,defaultMessage:n.defaultMessage},Yn({},n.values)):s,p=e?c({id:e.id,defaultMessage:e.defaultMessage},Yn({},e.values)):"",h=()=>g(A=>!A),E=()=>{l({target:{name:s,value:!1}}),h()},M=({target:{checked:A}})=>{if(!A&&!o){h();return}l({target:{name:s,value:A}})};return a.createElement(a.Fragment,null,a.createElement(qr.ToggleInput,{checked:u||!1,disabled:t,hint:p,label:f,name:s,offLabel:c({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:c({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:M}),m&&a.createElement(zt.Dialog,{onClose:h,title:"Confirmation",isOpen:m},a.createElement(zt.DialogBody,{icon:a.createElement(jr(),null)},a.createElement(se.Stack,{spacing:2},a.createElement($.Flex,{justifyContent:"center"},a.createElement($r,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.message"),defaultMessage:"If you disable the Draft/Publish system, your drafts will be deleted."}))),a.createElement($.Flex,{justifyContent:"center"},a.createElement(k.Typography,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.second-message"),defaultMessage:"Are you sure you want to disable it?"}))))),a.createElement(zt.DialogFooter,{startAction:a.createElement(_.Button,{onClick:h,variant:"tertiary"},c({id:"components.popUpWarning.button.cancel",defaultMessage:"No, cancel"})),endAction:a.createElement(_.Button,{variant:"danger-light",onClick:E},c({id:(0,d.Z)("popUpWarning.draft-publish.button.confirm"),defaultMessage:"Yes, disable"}))})))};Vt.defaultProps={description:null,disabled:!1,value:!1},Vt.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isCreating:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().bool};const zr=Vt;var Gt=i(71657);const Kt=({actionType:e,attributeName:t,attributeType:n,categoryName:o,contentTypeKind:s,dynamicZoneTarget:l,forTarget:u,modalType:c,targetUid:m,customFieldUid:g})=>{var f;const{formatMessage:p}=(0,I.useIntl)(),{modifiedData:h}=(0,ie.Z)();let E,M=[];const A=((f=h==null?void 0:h[u])==null?void 0:f[m])||(h==null?void 0:h[u])||null;let w=A==null?void 0:A.schema.displayName;if(c==="contentType"&&(E=s),["component","editCategory"].includes(c)&&(E="component"),["component","contentType"].includes(c)){let v=(0,d.Z)(`modalForm.component.header-${e}`);return c==="contentType"&&(v=(0,d.Z)(`modalForm.${s}.header-create`)),e==="edit"&&(v=(0,d.Z)("modalForm.header-edit")),a.createElement(De.ModalHeader,null,a.createElement($.Flex,null,a.createElement(q.Box,null,a.createElement(Xe.Z,{type:E})),a.createElement(q.Box,{paddingLeft:3},a.createElement(k.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},p({id:v},{name:w})))))}M=[{label:w,info:{category:(A==null?void 0:A.category)||null,name:A==null?void 0:A.schema.displayName}}],c==="chooseAttribute"&&(E=["component","components"].includes(u)?"component":A.schema.kind),c==="addComponentToDynamicZone"&&(E="dynamiczone",M.push({label:l})),(c==="attribute"||c==="customField")&&(E=n,M.push({label:t})),c==="editCategory"&&(M=[{label:p({id:(0,d.Z)("modalForm.header.categories"),defaultMessage:"Categories"})},{label:o}]);const C=M.map(({label:v})=>v).join(",");return a.createElement(De.ModalHeader,null,a.createElement(se.Stack,{horizontal:!0,spacing:3},a.createElement(Xe.Z,{type:E,customField:g}),a.createElement(Gt.Breadcrumbs,{label:C},M.map((v,z)=>{var B;const ee=Me()(v.label);if(!ee)return null;const N=`${v.label}.${z}`;if((B=v.info)!=null&&B.category){const Y=`${ee} (${Me()(v.info.category)} - ${Me()(v.info.name)})`;return a.createElement(Gt.Crumb,{key:N},Y)}return a.createElement(Gt.Crumb,{key:N},ee)}))))};Kt.defaultProps={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,contentTypeKind:null,targetUid:null,customFieldUid:null},Kt.propTypes={actionType:r().string,attributeName:r().string,attributeType:r().string,categoryName:r().string,contentTypeKind:r().string,dynamicZoneTarget:r().string,forTarget:r().oneOf(["contentType","component","components"]),modalType:r().string.isRequired,targetUid:r().string,customFieldUid:r().string};const Vr=Kt,Ht=({categoryName:e,deleteCategory:t,deleteComponent:n,deleteContentType:o,isAttributeModal:s,isCustomFieldModal:l,isComponentAttribute:u,isComponentToDzModal:c,isContentTypeModal:m,isCreatingComponent:g,isCreatingComponentAttribute:f,isCreatingComponentInDz:p,isCreatingComponentWhileAddingAField:h,isCreatingContentType:E,isCreatingDz:M,isComponentModal:A,isDzAttribute:w,isEditingAttribute:S,isEditingCategory:C,isInFirstComponentStep:v,onSubmitAddComponentAttribute:z,onSubmitAddComponentToDz:B,onSubmitCreateContentType:ee,onSubmitCreateComponent:N,onSubmitCreateDz:Y,onSubmitEditAttribute:fe,onSubmitEditCategory:re,onSubmitEditComponent:ce,onSubmitEditContentType:he,onSubmitEditCustomFieldAttribute:Ae,onSubmitEditDz:nt})=>{const{formatMessage:j}=(0,I.useIntl)();return c?p?a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),B(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"})):a.createElement(_.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),B(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&!M?a.createElement(_.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),nt(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&M?a.createElement(a.Fragment,null,a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),Y(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-components-to-dynamiczone"),defaultMessage:"Add components to the zone"}))):s&&u?v?a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)}},j(f?{id:(0,d.Z)("form.button.configure-component"),defaultMessage:"Configure the component"}:{id:(0,d.Z)("form.button.select-component"),defaultMessage:"Configure the component"})):a.createElement(a.Fragment,null,a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)},startIcon:a.createElement($e(),null)},j(h?{id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"}:{id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{variant:"default",type:"button",onClick:O=>{O.preventDefault(),z(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):s&&!u&&!w?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),fe(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),fe(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):m?a.createElement(a.Fragment,null,!E&&a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),o()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),he(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),E&&a.createElement(_.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),ee(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):A?a.createElement(a.Fragment,null,!g&&a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),n()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),ce(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),g&&a.createElement(_.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),N(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):C?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),t(e)}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),re(O)}},j({id:"global.finish",defaultMessage:"finish"}))):l?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),Ae(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),Ae(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):null};Ht.defaultProps={categoryName:null},Ht.propTypes={categoryName:r().string,deleteCategory:r().func.isRequired,deleteComponent:r().func.isRequired,deleteContentType:r().func.isRequired,isAttributeModal:r().bool.isRequired,isCustomFieldModal:r().bool.isRequired,isComponentAttribute:r().bool.isRequired,isComponentModal:r().bool.isRequired,isComponentToDzModal:r().bool.isRequired,isContentTypeModal:r().bool.isRequired,isCreatingComponent:r().bool.isRequired,isCreatingComponentAttribute:r().bool.isRequired,isCreatingComponentInDz:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,isCreatingContentType:r().bool.isRequired,isCreatingDz:r().bool.isRequired,isDzAttribute:r().bool.isRequired,isEditingAttribute:r().bool.isRequired,isEditingCategory:r().bool.isRequired,isInFirstComponentStep:r().bool.isRequired,onSubmitAddComponentAttribute:r().func.isRequired,onSubmitAddComponentToDz:r().func.isRequired,onSubmitCreateContentType:r().func.isRequired,onSubmitCreateComponent:r().func.isRequired,onSubmitCreateDz:r().func.isRequired,onSubmitEditAttribute:r().func.isRequired,onSubmitEditCategory:r().func.isRequired,onSubmitEditComponent:r().func.isRequired,onSubmitEditContentType:r().func.isRequired,onSubmitEditCustomFieldAttribute:r().func.isRequired,onSubmitEditDz:r().func.isRequired};const Gr=Ht,Kr=({modalType:e,forTarget:t,kind:n,actionType:o,step:s})=>{switch(e){case"chooseAttribute":return(0,d.Z)(`modalForm.sub-header.chooseAttribute.${t.includes("component")?"component":n||"collectionType"}`);case"attribute":return(0,d.Z)(`modalForm.sub-header.attribute.${o}${s!=="null"&&s!==null&&o!=="edit"?".step":""}`);case"customField":return(0,d.Z)(`modalForm.sub-header.attribute.${o}`);case"addComponentToDynamicZone":return(0,d.Z)("modalForm.sub-header.addComponentToDynamicZone");default:return(0,d.Z)("configurations")}},Xt=({actionType:e,modalType:t,forTarget:n,kind:o,step:s,attributeType:l,attributeName:u,customField:c})=>{const{formatMessage:m}=(0,I.useIntl)(),g=t==="customField"?c.intlLabel:{id:(0,d.Z)(`attribute.${l}`)};return a.createElement(k.Typography,{as:"h2",variant:"beta"},m({id:Kr({actionType:e,forTarget:n,kind:o,step:s,modalType:t}),defaultMessage:"Add new field"},{type:Me()(m(g)),name:Me()(u),step:s}))};Xt.defaultProps={actionType:null,modalType:null,forTarget:null,kind:null,step:null,attributeType:null,attributeName:null,customField:null},Xt.propTypes={actionType:r().string,modalType:r().string,forTarget:r().string,kind:r().string,step:r().string,attributeType:r().string,attributeName:r().string,customField:r().object};const Hr=Xt;var Xr=Object.defineProperty,Jn=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Qn=(e,t,n)=>t in e?Xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qr=(e,t)=>{for(var n in t||(t={}))Yr.call(t,n)&&Qn(e,n,t[n]);if(Jn)for(var n of Jn(t))Jr.call(t,n)&&Qn(e,n,t[n]);return e};const Yt=({intlLabel:e,name:t,options:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),u=e.id?l({id:e.id,defaultMessage:e.defaultMessage},Qr({},e.values)):t,c=m=>{let g="";m==="true"&&(g=!0),m==="false"&&(g=!1),o({target:{name:t,value:g,type:"select-default-boolean"}})};return a.createElement(le.Select,{label:u,id:t,name:t,onChange:c,value:(s===null?"":s).toString()},n.map(({metadatas:{intlLabel:m,disabled:g,hidden:f},key:p,value:h})=>a.createElement(le.Option,{key:p,value:h,disabled:g,hidden:f},m.defaultMessage)))};Yt.defaultProps={value:null},Yt.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().any};const eo=Yt;var to=i(10345);const no=(0,Oe.default)(se.Stack)`
|
|
19
|
+
`,Vt=({description:e,disabled:t,intlLabel:n,isCreating:o,name:s,onChange:i,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),[m,g]=(0,a.useState)(!1),f=n.id?c({id:n.id,defaultMessage:n.defaultMessage},Yn({},n.values)):s,p=e?c({id:e.id,defaultMessage:e.defaultMessage},Yn({},e.values)):"",h=()=>g(A=>!A),E=()=>{i({target:{name:s,value:!1}}),h()},M=({target:{checked:A}})=>{if(!A&&!o){h();return}i({target:{name:s,value:A}})};return a.createElement(a.Fragment,null,a.createElement(qr.ToggleInput,{checked:u||!1,disabled:t,hint:p,label:f,name:s,offLabel:c({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:c({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:M}),m&&a.createElement(zt.Dialog,{onClose:h,title:"Confirmation",isOpen:m},a.createElement(zt.DialogBody,{icon:a.createElement(jr(),null)},a.createElement(se.Stack,{spacing:2},a.createElement($.Flex,{justifyContent:"center"},a.createElement($r,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.message"),defaultMessage:"If you disable the Draft/Publish system, your drafts will be deleted."}))),a.createElement($.Flex,{justifyContent:"center"},a.createElement(k.Typography,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.second-message"),defaultMessage:"Are you sure you want to disable it?"}))))),a.createElement(zt.DialogFooter,{startAction:a.createElement(_.Button,{onClick:h,variant:"tertiary"},c({id:"components.popUpWarning.button.cancel",defaultMessage:"No, cancel"})),endAction:a.createElement(_.Button,{variant:"danger-light",onClick:E},c({id:(0,d.Z)("popUpWarning.draft-publish.button.confirm"),defaultMessage:"Yes, disable"}))})))};Vt.defaultProps={description:null,disabled:!1,value:!1},Vt.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isCreating:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().bool};const zr=Vt;var Gt=l(71657);const Kt=({actionType:e,attributeName:t,attributeType:n,categoryName:o,contentTypeKind:s,dynamicZoneTarget:i,forTarget:u,modalType:c,targetUid:m,customFieldUid:g})=>{var f;const{formatMessage:p}=(0,I.useIntl)(),{modifiedData:h}=(0,ie.Z)();let E,M=[];const A=((f=h==null?void 0:h[u])==null?void 0:f[m])||(h==null?void 0:h[u])||null;let w=A==null?void 0:A.schema.displayName;if(c==="contentType"&&(E=s),["component","editCategory"].includes(c)&&(E="component"),["component","contentType"].includes(c)){let v=(0,d.Z)(`modalForm.component.header-${e}`);return c==="contentType"&&(v=(0,d.Z)(`modalForm.${s}.header-create`)),e==="edit"&&(v=(0,d.Z)("modalForm.header-edit")),a.createElement(De.ModalHeader,null,a.createElement($.Flex,null,a.createElement(q.Box,null,a.createElement(Xe.Z,{type:E})),a.createElement(q.Box,{paddingLeft:3},a.createElement(k.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},p({id:v},{name:w})))))}M=[{label:w,info:{category:(A==null?void 0:A.category)||null,name:A==null?void 0:A.schema.displayName}}],c==="chooseAttribute"&&(E=["component","components"].includes(u)?"component":A.schema.kind),c==="addComponentToDynamicZone"&&(E="dynamiczone",M.push({label:i})),(c==="attribute"||c==="customField")&&(E=n,M.push({label:t})),c==="editCategory"&&(M=[{label:p({id:(0,d.Z)("modalForm.header.categories"),defaultMessage:"Categories"})},{label:o}]);const C=M.map(({label:v})=>v).join(",");return a.createElement(De.ModalHeader,null,a.createElement(se.Stack,{horizontal:!0,spacing:3},a.createElement(Xe.Z,{type:E,customField:g}),a.createElement(Gt.Breadcrumbs,{label:C},M.map((v,z)=>{var B;const ee=Me()(v.label);if(!ee)return null;const N=`${v.label}.${z}`;if((B=v.info)!=null&&B.category){const Y=`${ee} (${Me()(v.info.category)} - ${Me()(v.info.name)})`;return a.createElement(Gt.Crumb,{key:N},Y)}return a.createElement(Gt.Crumb,{key:N},ee)}))))};Kt.defaultProps={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,contentTypeKind:null,targetUid:null,customFieldUid:null},Kt.propTypes={actionType:r().string,attributeName:r().string,attributeType:r().string,categoryName:r().string,contentTypeKind:r().string,dynamicZoneTarget:r().string,forTarget:r().oneOf(["contentType","component","components"]),modalType:r().string.isRequired,targetUid:r().string,customFieldUid:r().string};const Vr=Kt,Ht=({categoryName:e,deleteCategory:t,deleteComponent:n,deleteContentType:o,isAttributeModal:s,isCustomFieldModal:i,isComponentAttribute:u,isComponentToDzModal:c,isContentTypeModal:m,isCreatingComponent:g,isCreatingComponentAttribute:f,isCreatingComponentInDz:p,isCreatingComponentWhileAddingAField:h,isCreatingContentType:E,isCreatingDz:M,isComponentModal:A,isDzAttribute:w,isEditingAttribute:S,isEditingCategory:C,isInFirstComponentStep:v,onSubmitAddComponentAttribute:z,onSubmitAddComponentToDz:B,onSubmitCreateContentType:ee,onSubmitCreateComponent:N,onSubmitCreateDz:Y,onSubmitEditAttribute:fe,onSubmitEditCategory:re,onSubmitEditComponent:ce,onSubmitEditContentType:he,onSubmitEditCustomFieldAttribute:Ae,onSubmitEditDz:nt})=>{const{formatMessage:j}=(0,I.useIntl)();return c?p?a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),B(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"})):a.createElement(_.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),B(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&!M?a.createElement(_.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),nt(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&M?a.createElement(a.Fragment,null,a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),Y(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-components-to-dynamiczone"),defaultMessage:"Add components to the zone"}))):s&&u?v?a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)}},j(f?{id:(0,d.Z)("form.button.configure-component"),defaultMessage:"Configure the component"}:{id:(0,d.Z)("form.button.select-component"),defaultMessage:"Configure the component"})):a.createElement(a.Fragment,null,a.createElement(_.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)},startIcon:a.createElement($e(),null)},j(h?{id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"}:{id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{variant:"default",type:"button",onClick:O=>{O.preventDefault(),z(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):s&&!u&&!w?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),fe(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),fe(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):m?a.createElement(a.Fragment,null,!E&&a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),o()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),he(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),E&&a.createElement(_.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),ee(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):A?a.createElement(a.Fragment,null,!g&&a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),n()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),ce(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),g&&a.createElement(_.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),N(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):C?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),t(e)}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(_.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),re(O)}},j({id:"global.finish",defaultMessage:"finish"}))):i?a.createElement(a.Fragment,null,a.createElement(_.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),Ae(O,!0)},startIcon:a.createElement($e(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(_.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),Ae(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):null};Ht.defaultProps={categoryName:null},Ht.propTypes={categoryName:r().string,deleteCategory:r().func.isRequired,deleteComponent:r().func.isRequired,deleteContentType:r().func.isRequired,isAttributeModal:r().bool.isRequired,isCustomFieldModal:r().bool.isRequired,isComponentAttribute:r().bool.isRequired,isComponentModal:r().bool.isRequired,isComponentToDzModal:r().bool.isRequired,isContentTypeModal:r().bool.isRequired,isCreatingComponent:r().bool.isRequired,isCreatingComponentAttribute:r().bool.isRequired,isCreatingComponentInDz:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,isCreatingContentType:r().bool.isRequired,isCreatingDz:r().bool.isRequired,isDzAttribute:r().bool.isRequired,isEditingAttribute:r().bool.isRequired,isEditingCategory:r().bool.isRequired,isInFirstComponentStep:r().bool.isRequired,onSubmitAddComponentAttribute:r().func.isRequired,onSubmitAddComponentToDz:r().func.isRequired,onSubmitCreateContentType:r().func.isRequired,onSubmitCreateComponent:r().func.isRequired,onSubmitCreateDz:r().func.isRequired,onSubmitEditAttribute:r().func.isRequired,onSubmitEditCategory:r().func.isRequired,onSubmitEditComponent:r().func.isRequired,onSubmitEditContentType:r().func.isRequired,onSubmitEditCustomFieldAttribute:r().func.isRequired,onSubmitEditDz:r().func.isRequired};const Gr=Ht,Kr=({modalType:e,forTarget:t,kind:n,actionType:o,step:s})=>{switch(e){case"chooseAttribute":return(0,d.Z)(`modalForm.sub-header.chooseAttribute.${t.includes("component")?"component":n||"collectionType"}`);case"attribute":return(0,d.Z)(`modalForm.sub-header.attribute.${o}${s!=="null"&&s!==null&&o!=="edit"?".step":""}`);case"customField":return(0,d.Z)(`modalForm.sub-header.attribute.${o}`);case"addComponentToDynamicZone":return(0,d.Z)("modalForm.sub-header.addComponentToDynamicZone");default:return(0,d.Z)("configurations")}},Xt=({actionType:e,modalType:t,forTarget:n,kind:o,step:s,attributeType:i,attributeName:u,customField:c})=>{const{formatMessage:m}=(0,I.useIntl)(),g=t==="customField"?c.intlLabel:{id:(0,d.Z)(`attribute.${i}`)};return a.createElement(k.Typography,{as:"h2",variant:"beta"},m({id:Kr({actionType:e,forTarget:n,kind:o,step:s,modalType:t}),defaultMessage:"Add new field"},{type:Me()(m(g)),name:Me()(u),step:s}))};Xt.defaultProps={actionType:null,modalType:null,forTarget:null,kind:null,step:null,attributeType:null,attributeName:null,customField:null},Xt.propTypes={actionType:r().string,modalType:r().string,forTarget:r().string,kind:r().string,step:r().string,attributeType:r().string,attributeName:r().string,customField:r().object};const Hr=Xt;var Xr=Object.defineProperty,Jn=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Qn=(e,t,n)=>t in e?Xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qr=(e,t)=>{for(var n in t||(t={}))Yr.call(t,n)&&Qn(e,n,t[n]);if(Jn)for(var n of Jn(t))Jr.call(t,n)&&Qn(e,n,t[n]);return e};const Yt=({intlLabel:e,name:t,options:n,onChange:o,value:s})=>{const{formatMessage:i}=(0,I.useIntl)(),u=e.id?i({id:e.id,defaultMessage:e.defaultMessage},Qr({},e.values)):t,c=m=>{let g="";m==="true"&&(g=!0),m==="false"&&(g=!1),o({target:{name:t,value:g,type:"select-default-boolean"}})};return a.createElement(le.Select,{label:u,id:t,name:t,onChange:c,value:(s===null?"":s).toString()},n.map(({metadatas:{intlLabel:m,disabled:g,hidden:f},key:p,value:h})=>a.createElement(le.Option,{key:p,value:h,disabled:g,hidden:f},m.defaultMessage)))};Yt.defaultProps={value:null},Yt.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().any};const eo=Yt;var to=l(10345);const no=(0,Oe.default)(se.Stack)`
|
|
20
20
|
position: relative;
|
|
21
21
|
align-items: stretch;
|
|
22
22
|
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
`,Jt=({intlLabel:e,name:t,onChange:n,radios:o,value:s})=>{const{formatMessage:
|
|
88
|
+
`,Jt=({intlLabel:e,name:t,onChange:n,radios:o,value:s})=>{const{formatMessage:i}=(0,I.useIntl)();return a.createElement(se.Stack,{spacing:2},a.createElement(k.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800",htmlFor:t,as:"label"},i(e)),a.createElement(no,{horizontal:!0,spacing:4,style:{alignItems:"stretch"}},o.map(u=>a.createElement("label",{htmlFor:u.value.toString(),key:u.value,className:"container"},a.createElement("input",{id:u.value.toString(),name:t,className:"option-input",checked:u.value===s,value:u.value,key:u.value,onChange:n,type:"radio"}),a.createElement(q.Box,{className:"option",padding:4},a.createElement($.Flex,null,a.createElement(q.Box,{paddingRight:4},a.createElement("span",{className:"checkmark"})),a.createElement(se.Stack,{spacing:2},a.createElement(k.Typography,{fontWeight:"bold"},i(u.title)),a.createElement(k.Typography,{variant:"pi",textColor:"neutral600"},i(u.description)))))))))};Jt.defaultProps={radios:[]},Jt.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,radios:r().arrayOf(r().shape({title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}),description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}),value:r().any.isRequired})),value:r().oneOfType([r().string,r().bool]).isRequired};const Qt=Jt;var ao=Object.defineProperty,ro=Object.defineProperties,oo=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,ea=Object.prototype.hasOwnProperty,ta=Object.prototype.propertyIsEnumerable,na=(e,t,n)=>t in e?ao(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,so=(e,t)=>{for(var n in t||(t={}))ea.call(t,n)&&na(e,n,t[n]);if(bt)for(var n of bt(t))ta.call(t,n)&&na(e,n,t[n]);return e},io=(e,t)=>ro(e,oo(t)),lo=(e,t)=>{var n={};for(var o in e)ea.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&bt)for(var o of bt(e))t.indexOf(o)<0&&ta.call(e,o)&&(n[o]=e[o]);return n};const aa=e=>{var t=e,{onChange:n,name:o}=t,s=lo(t,["onChange","name"]);const i=u=>{const c=u.target.value!=="false";n({target:{name:o,value:c,type:"boolean-radio-group"}})};return a.createElement(Qt,io(so({},s),{name:o,onChange:i}))};aa.propTypes={name:r().string.isRequired,onChange:r().func.isRequired};const uo=aa;var co=l(52111),mo=l(93026),en=l(37178),po=Object.defineProperty,ra=Object.getOwnPropertySymbols,go=Object.prototype.hasOwnProperty,fo=Object.prototype.propertyIsEnumerable,oa=(e,t,n)=>t in e?po(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yo=(e,t)=>{for(var n in t||(t={}))go.call(t,n)&&oa(e,n,t[n]);if(ra)for(var n of ra(t))fo.call(t,n)&&oa(e,n,t[n]);return e};const tn=({error:e,intlLabel:t,modifiedData:n,name:o,onChange:s,value:i})=>{const{formatMessage:u}=(0,I.useIntl)(),[c,m]=(0,a.useState)(!!i||i===0),g=t.id?u({id:t.id,defaultMessage:t.defaultMessage},yo({},t.values)):o,f=n.type==="biginteger"?"text":"number",p=!n.type,h=e?u({id:e,defaultMessage:e}):"";return a.createElement(se.Stack,{spacing:2},a.createElement(co.Checkbox,{id:o,name:o,onValueChange:E=>{s({target:{name:o,value:E?f==="text"?"0":0:null}}),m(w=>!w)},value:c},g),c&&a.createElement(q.Box,{paddingLeft:6,style:{maxWidth:"200px"}},f==="text"?a.createElement(en.TextInput,{"aria-label":g,disabled:p,error:h,id:o,name:o,onChange:s,value:i===null?"":i}):a.createElement(mo.NumberInput,{"aria-label":g,disabled:p,error:h,id:o,name:o,onValueChange:E=>{s({target:{name:o,value:E,type:f}})},value:i||0})))};tn.defaultProps={error:null,value:null},tn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().oneOfType([r().string,r().object,r().bool,r().number])};const ho=tn;var bo=Object.defineProperty,vo=Object.defineProperties,To=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,sa=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,la=(e,t,n)=>t in e?bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eo=(e,t)=>{for(var n in t||(t={}))sa.call(t,n)&&la(e,n,t[n]);if(vt)for(var n of vt(t))ia.call(t,n)&&la(e,n,t[n]);return e},Co=(e,t)=>vo(e,To(t)),Mo=(e,t)=>{var n={};for(var o in e)sa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&vt)for(var o of vt(e))t.indexOf(o)<0&&ia.call(e,o)&&(n[o]=e[o]);return n};const ua=e=>{var t=e,{onChange:n}=t,o=Mo(t,["onChange"]);const s=(0,R.useNotification)(),i=u=>{s({type:"info",message:{id:(0,d.Z)("contentType.kind.change.warning"),defaultMessage:"You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten)."}}),n(u)};return a.createElement(Qt,Co(Eo({},o),{onChange:i}))};ua.propTypes={onChange:r().func.isRequired};const Oo=ua;var Po=l(54450),Ro=l(89978),xo=l(20763),So=l(38938),Ao=l.n(So),Fo=l(16925);const Do=(e,t,n)=>e+t*n,No=(0,Oe.default)($.Flex)`
|
|
89
89
|
svg {
|
|
90
90
|
z-index: 2;
|
|
91
91
|
color: ${({isSelected:e,theme:t})=>e?t.colors.primary600:t.colors.neutral300};
|
|
@@ -103,8 +103,8 @@
|
|
|
103
103
|
z-index: 1;
|
|
104
104
|
}
|
|
105
105
|
`:""}
|
|
106
|
-
`,nn=42,Tt=18,an=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{allIcons:
|
|
107
|
-
${u?`(from: ${u})`:""}`},
|
|
106
|
+
`,nn=42,Tt=18,an=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{allIcons:i}=(0,ie.Z)(),{formatMessage:u}=(0,I.useIntl)(),c=(0,a.useRef)(),[m,g]=(0,a.useState)(!1),[f,p]=(0,a.useState)(""),[h,E]=(0,a.useState)(i),M=()=>g(C=>!C);(0,a.useEffect)(()=>{m&&c.current.querySelector("input").focus()},[m]);const A=({target:{value:C}})=>{p(C),E(()=>i.filter(v=>v.includes(C)))},w=({columnIndex:C,rowIndex:v,style:z})=>{const B=h[Do(C,v,Tt)];return a.createElement("div",{style:z,key:`col-${C}`},B&&a.createElement(No,{style:{width:"100%",height:"100%"},alignItems:"center",justifyContent:"center",onClick:()=>{o({target:{name:n,value:B}})},isSelected:B===s,as:"button",type:"button"},a.createElement(Fo.G,{icon:B})))},S=e?u({id:e,defaultMessage:e}):"";return a.createElement(q.Box,null,a.createElement(se.Stack,{spacing:1},a.createElement($.Flex,{justifyContent:"space-between"},a.createElement(k.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800",htmlFor:n,as:"label"},u(t)),m?a.createElement("div",{ref:c,style:{width:206}},a.createElement(Ro.Searchbar,{name:"searchbar",onBlur:()=>{f||M()},onClear:()=>{p(""),E(i),M()},value:f,onChange:A,clearLabel:"Clearing the icon search",placeholder:u({id:(0,d.Z)("ComponentIconPicker.search.placeholder"),defaultMessage:"Search for an icon"}),size:"S"},u({id:(0,d.Z)("ComponentIconPicker.search.placeholder"),defaultMessage:"Search for an icon"}))):a.createElement(xo.IconButton,{onClick:M,"aria-label":"Edit",icon:a.createElement(Ao(),null),noBorder:!0})),a.createElement(se.Stack,{spacing:1},a.createElement(q.Box,{padding:1,background:"neutral100",borderColor:e?"danger600":"",hasRadius:!0},a.createElement(Po.Ym,{columnCount:Tt,columnWidth:nn,height:132,rowHeight:nn,rowCount:Math.ceil(h.length/Tt),width:nn*Tt},w)),e&&a.createElement(k.Typography,{variant:"pi",id:`${n}-error`,textColor:"danger600","data-strapi-field-error":!0},S))))};an.defaultProps={error:null},an.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string.isRequired};const Zo=an;var rn=l(49561),ca=l(12611),Q=l(91559);const on=({oneThatIsCreatingARelationWithAnother:e,target:t})=>{const{contentTypes:n,sortedContentTypesList:o}=(0,ie.Z)(),s=(0,ve.useDispatch)(),i=o.filter(ct),u=Z()(n,[t,"plugin"],null),c=Z()(n,[t,"schema","displayName"],"error");return a.createElement(ca.SimpleMenu,{id:"label",label:`${c}
|
|
107
|
+
${u?`(from: ${u})`:""}`},i.map(({uid:m,title:g,restrictRelationsTo:f,plugin:p})=>{const h=()=>{const E=p?`${p}_${g}`:g;s({type:Q.aG,target:{value:m,oneThatIsCreatingARelationWithAnother:e,selectedContentTypeFriendlyName:E,targetContentTypeAllowedRelations:f}})};return a.createElement(ca.MenuItem,{key:m,onClick:h},g,"\xA0",p&&a.createElement(a.Fragment,null,"(from: ",p,")"))}))};on.defaultProps={target:null},on.propTypes={oneThatIsCreatingARelationWithAnother:r().string.isRequired,target:r().string};const Io=on,sn=({disabled:e,error:t,header:n,isMain:o,name:s,onChange:i,oneThatIsCreatingARelationWithAnother:u,target:c,value:m})=>a.createElement(q.Box,{background:"neutral100",hasRadius:!0,borderColor:"neutral200"},a.createElement($.Flex,{paddingTop:o?4:1,paddingBottom:o?3:1,justifyContent:"center"},o?a.createElement(k.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800"},n):a.createElement(Io,{target:c,oneThatIsCreatingARelationWithAnother:u})),a.createElement(lt.Divider,{background:"neutral200"}),a.createElement(q.Box,{padding:4},a.createElement(R.GenericInput,{disabled:e,error:(t==null?void 0:t.id)||null,intlLabel:{id:(0,d.Z)("form.attribute.item.defineRelation.fieldName"),defaultMessage:"Field name"},name:s,onChange:i,type:"text",value:m})));sn.defaultProps={disabled:!1,error:null,header:null,isMain:!1,onChange(){},oneThatIsCreatingARelationWithAnother:null,target:null,value:""},sn.propTypes={disabled:r().bool,error:r().object,header:r().string,isMain:r().bool,name:r().string.isRequired,onChange:r().func,oneThatIsCreatingARelationWithAnother:r().string,target:r().string,value:r().string};const da=sn;var wo=l(51382),ma=l.n(wo),Lo=l(24443),ln=l.n(Lo),Bo=l(29158),qo=l.n(Bo),ko=l(10883),jo=l.n(ko),Uo=l(36925),_o=l.n(Uo),Wo=l(23277),$o=l.n(Wo),zo=l(55452),Vo=l.n(zo),Go=l(82937),Ko=l.n(Go);const Ho=(0,Oe.default)(q.Box)`
|
|
108
108
|
position: relative;
|
|
109
109
|
width: 100%;
|
|
110
110
|
&::before {
|
|
@@ -137,9 +137,9 @@
|
|
|
137
137
|
bottom: 0;
|
|
138
138
|
left: 0;
|
|
139
139
|
right: 0;
|
|
140
|
-
`,Jo={oneWay:jo(),oneToOne:qo(),oneToMany:$o(),manyToOne:Vo(),manyToMany:Ko(),manyWay:_o()},un=({naturePickerType:e,oneThatIsCreatingARelationWithAnother:t,relationType:n,target:o})=>{const s=(0,ve.useDispatch)(),{formatMessage:l}=(0,I.useIntl)(),{contentTypes:u,modifiedData:c}=(0,ie.Z)(),m=["oneWay","oneToOne","oneToMany","manyToOne","manyToMany","manyWay"],g=["oneWay","manyWay"],p=(e==="contentType"?Z()(c,[e,"schema","kind"],""):e)==="collectionType"?m:g,h=n==="manyToOne",E=Z()(u,[o,"schema","displayName"],"unknown"),M=h?E:t,A=h?t:E,w=ln()(M,n==="manyToMany"?2:1),S=Z()(u,[o,"schema","restrictRelationsTo"],null),C=ln()(A,["manyToMany","oneToMany","manyToOne","manyWay"].includes(n)?2:1);return n?a.createElement($.Flex,{style:{flex:1}},a.createElement(Ho,null,a.createElement($.Flex,{paddingLeft:9,paddingRight:9,paddingTop:1,justifyContent:"center"},a.createElement(dt.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:3,horizontal:!0},p.map(v=>{const z=Jo[v],B=S===null||S.includes(v);return a.createElement(Xo,{as:"button",isSelected:n===v,disabled:!B,key:v,onClick:()=>{B&&s({type:Q.QQ,target:{oneThatIsCreatingARelationWithAnother:t,targetContentType:o,value:v}})},padding:2,type:"button"},a.createElement(z,{key:v}))}))))),a.createElement(Yo,{justifyContent:"center"},a.createElement(k.Typography,null,ma()(w,{length:24}),"\xA0"),a.createElement(k.Typography,{textColor:"primary600"},l({id:(0,d.Z)(`relation.${n}`)}),"\xA0"),a.createElement(k.Typography,null,ma()(C,{length:24})))):null};un.defaultProps={relationType:null,target:null},un.propTypes={naturePickerType:r().string.isRequired,oneThatIsCreatingARelationWithAnother:r().string.isRequired,relationType:r().string,target:r().string};const Qo=un,pa=({formErrors:e,mainBoxHeader:t,modifiedData:n,naturePickerType:o,onChange:s})=>{const l=(0,rn.Z)(n.relation,n.targetAttribute);return a.createElement($.Flex,{style:{position:"relative"}},a.createElement(da,{isMain:!0,header:t,error:(e==null?void 0:e.name)||null,name:"name",onChange:s,value:(n==null?void 0:n.name)||""}),a.createElement(Qo,{naturePickerType:o,oneThatIsCreatingARelationWithAnother:t,relationType:l,target:n.target}),a.createElement(da,{disabled:["oneWay","manyWay"].includes(l),error:(e==null?void 0:e.targetAttribute)||null,name:"targetAttribute",onChange:s,oneThatIsCreatingARelationWithAnother:t,target:n.target,value:(n==null?void 0:n.targetAttribute)||""}))};pa.propTypes={formErrors:r().object.isRequired,mainBoxHeader:r().string.isRequired,modifiedData:r().object.isRequired,naturePickerType:r().string.isRequired,onChange:r().func.isRequired};const es=pa;var ga=i(45251),ts=Object.defineProperty,fa=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,as=Object.prototype.propertyIsEnumerable,ya=(e,t,n)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rs=(e,t)=>{for(var n in t||(t={}))ns.call(t,n)&&ya(e,n,t[n]);if(fa)for(var n of fa(t))as.call(t,n)&&ya(e,n,t[n]);return e};const cn=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(l),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{if(g){const E=(0,ga.Z)(g);try{const M=ln()(E,2);m.current({target:{name:s,value:M}})}catch(M){m.current({target:{name:s,value:E}})}}else m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},rs({},e.values)):"",h=c(n);return a.createElement(en.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:l,value:u||""})};cn.defaultProps={description:null,error:null,value:null},cn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const os=cn;var ha=i(14715);const dn=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),{allComponentsCategories:u}=(0,ie.Z)(),[c,m]=(0,a.useState)(u),g=e?l({id:e,defaultMessage:e}):"",f=l(t),p=E=>{o({target:{name:n,value:E,type:"select-category"}})},h=E=>{m(M=>[...M,E]),p(E)};return a.createElement(ha.CreatableCombobox,{error:g,id:n,label:f,name:n,onChange:p,onCreateOption:h,value:s},c.map(E=>a.createElement(ha.ComboboxOption,{key:E,value:E},E)))};dn.defaultProps={error:null,value:null},dn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const ss=dn,mn=({error:e,intlLabel:t,isAddingAComponentToAnotherComponent:n,isCreating:o,isCreatingComponentWhileAddingAField:s,componentToCreate:l,name:u,onChange:c,targetUid:m,forTarget:g,value:f})=>{const{formatMessage:p}=(0,I.useIntl)(),h=e?p({id:e,defaultMessage:e}):"",E=p(t),{componentsGroupedByCategory:M,componentsThatHaveOtherComponentInTheirAttributes:A}=(0,ie.Z)(),w=["component","components"].includes(g);let S=Object.entries(M).reduce((C,v)=>{const[z,B]=v,ee=B.map(N=>({uid:N.uid,label:N.schema.displayName,categoryName:z}));return[...C,...ee]},[]);return n&&(S=S.filter(C=>!A.includes(C.uid))),w&&(S=S.filter(C=>C.uid!==m)),s&&(S=[{uid:f,label:l.displayName,categoryName:l.category}]),a.createElement(le.Select,{disabled:s||!o,error:h,label:E,id:u,name:u,onChange:C=>{c({target:{name:u,value:C,type:"select-category"}})},value:f||""},S.map(C=>a.createElement(le.Option,{key:C.uid,value:C.uid},`${C.categoryName} - ${C.label}`)))};mn.defaultProps={componentToCreate:null,error:null},mn.propTypes={componentToCreate:r().object,forTarget:r().string.isRequired,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isAddingAComponentToAnotherComponent:r().bool.isRequired,isCreating:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,targetUid:r().string.isRequired,value:r().string.isRequired};const is=mn,pn=(e,t)=>e.find(({name:n})=>n===t),ba=({dynamicZoneTarget:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),{componentsGroupedByCategory:u,modifiedData:c}=(0,ie.Z)(),g=(pn(c.contentType.schema.attributes,e)||{}).components||[],f=Object.keys(u).reduce((E,M)=>{const A=u[M].filter(({uid:w})=>!g.includes(w));return A.length>0&&(E[M]=A),E},{}),p=Object.entries(f).reduce((E,M)=>{const[A,w]=M,S={label:A,children:w.map(({uid:C,schema:{displayName:v}})=>({label:v,value:C}))};return E.push(S),E},[]),h=l({id:(0,d.Z)("components.SelectComponents.displayed-value"),defaultMessage:"{number, plural, =0 {# components} one {# component} other {# components}} selected"},{number:s.length});return a.createElement(le.MultiSelectNested,{id:"select1",label:l(t),customizeContent:()=>h,name:n,onChange:E=>{o({target:{name:n,value:E,type:"select-components"}})},options:p,value:s||[]})};ba.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,dynamicZoneTarget:r().string.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().array.isRequired};const ls=ba,gn=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),!!u&&n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}})};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},l.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c({id:p.id,defaultMessage:p.defaultMessage},p.values))))};gn.defaultProps={error:void 0,value:""},gn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const us=gn,fn=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),u&&(p==="biginteger"&&u!=="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})),["decimal","float","integer"].includes(p)&&u==="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})))};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},l.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c(p))))};fn.defaultProps={error:void 0,value:""},fn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const cs=fn;var ds=Object.defineProperty,va=Object.getOwnPropertySymbols,ms=Object.prototype.hasOwnProperty,ps=Object.prototype.propertyIsEnumerable,Ta=(e,t,n)=>t in e?ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gs=(e,t)=>{for(var n in t||(t={}))ms.call(t,n)&&Ta(e,n,t[n]);if(va)for(var n of va(t))ps.call(t,n)&&Ta(e,n,t[n]);return e};const yn=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(l),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{g?m.current({target:{name:s,value:(0,ga.Z)(g)}}):m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},gs({},e.values)):"",h=c(n);return a.createElement(en.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:l,value:u||""})};yn.defaultProps={description:null,error:null,value:null},yn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const fs=yn;var ys=Object.defineProperty,hs=Object.defineProperties,bs=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertySymbols,vs=Object.prototype.hasOwnProperty,Ts=Object.prototype.propertyIsEnumerable,Ca=(e,t,n)=>t in e?ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ma=(e,t)=>{for(var n in t||(t={}))vs.call(t,n)&&Ca(e,n,t[n]);if(Ea)for(var n of Ea(t))Ts.call(t,n)&&Ca(e,n,t[n]);return e},Es=(e,t)=>hs(e,bs(t));const Oa=({form:e,formErrors:t,genericInputProps:n,modifiedData:o,onChange:s})=>{const{formatMessage:l}=(0,I.useIntl)();return e.map((u,c)=>u.items.length===0?null:a.createElement(q.Box,{key:c},u.sectionTitle&&a.createElement(q.Box,{paddingBottom:4},a.createElement(k.Typography,{variant:"delta",as:"h3"},l(u.sectionTitle))),a.createElement(Ne.Grid,{gap:4},u.items.map((m,g)=>{const f=`${c}.${g}`,p=Z()(o,m.name,""),h=Object.keys(t).find(M=>M===m.name),E=h?t[h].id:Z()(t,[...m.name.split(".").filter(M=>M!=="componentToCreate"),"id"],null);return m.type==="pushRight"?a.createElement(Ne.GridItem,{col:m.size||6,key:m.name||f},a.createElement("div",null)):a.createElement(Ne.GridItem,{col:m.size||6,key:m.name||f},a.createElement(R.GenericInput,Es(Ma(Ma({},m),n),{error:E,onChange:s,value:p})))}))))};Oa.propTypes={form:r().arrayOf(r().object).isRequired,formErrors:r().object.isRequired,genericInputProps:r().object.isRequired,modifiedData:r().object.isRequired,onChange:r().func.isRequired};const Pa=Oa;var Cs=i(90353),Ms=Object.defineProperty,Ra=Object.getOwnPropertySymbols,Os=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,xa=(e,t,n)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sa=(e,t)=>{for(var n in t||(t={}))Os.call(t,n)&&xa(e,n,t[n]);if(Ra)for(var n of Ra(t))Ps.call(t,n)&&xa(e,n,t[n]);return e};const hn=({description:e,disabled:t,error:n,intlLabel:o,labelAction:s,name:l,onChange:u,placeholder:c,value:m})=>{const{formatMessage:g}=(0,I.useIntl)(),f=n?g({id:n,defaultMessage:n}):"",p=e?g({id:e.id,defaultMessage:e.defaultMessage},Sa({},e.values)):"",h=g(o),E=c?g({id:c.id,defaultMessage:c.defaultMessage},Sa({},c.values)):"",M=Array.isArray(m)?m.join(`
|
|
140
|
+
`,Jo={oneWay:jo(),oneToOne:qo(),oneToMany:$o(),manyToOne:Vo(),manyToMany:Ko(),manyWay:_o()},un=({naturePickerType:e,oneThatIsCreatingARelationWithAnother:t,relationType:n,target:o})=>{const s=(0,ve.useDispatch)(),{formatMessage:i}=(0,I.useIntl)(),{contentTypes:u,modifiedData:c}=(0,ie.Z)(),m=["oneWay","oneToOne","oneToMany","manyToOne","manyToMany","manyWay"],g=["oneWay","manyWay"],p=(e==="contentType"?Z()(c,[e,"schema","kind"],""):e)==="collectionType"?m:g,h=n==="manyToOne",E=Z()(u,[o,"schema","displayName"],"unknown"),M=h?E:t,A=h?t:E,w=ln()(M,n==="manyToMany"?2:1),S=Z()(u,[o,"schema","restrictRelationsTo"],null),C=ln()(A,["manyToMany","oneToMany","manyToOne","manyWay"].includes(n)?2:1);return n?a.createElement($.Flex,{style:{flex:1}},a.createElement(Ho,null,a.createElement($.Flex,{paddingLeft:9,paddingRight:9,paddingTop:1,justifyContent:"center"},a.createElement(dt.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:3,horizontal:!0},p.map(v=>{const z=Jo[v],B=S===null||S.includes(v);return a.createElement(Xo,{as:"button",isSelected:n===v,disabled:!B,key:v,onClick:()=>{B&&s({type:Q.QQ,target:{oneThatIsCreatingARelationWithAnother:t,targetContentType:o,value:v}})},padding:2,type:"button"},a.createElement(z,{key:v}))}))))),a.createElement(Yo,{justifyContent:"center"},a.createElement(k.Typography,null,ma()(w,{length:24}),"\xA0"),a.createElement(k.Typography,{textColor:"primary600"},i({id:(0,d.Z)(`relation.${n}`)}),"\xA0"),a.createElement(k.Typography,null,ma()(C,{length:24})))):null};un.defaultProps={relationType:null,target:null},un.propTypes={naturePickerType:r().string.isRequired,oneThatIsCreatingARelationWithAnother:r().string.isRequired,relationType:r().string,target:r().string};const Qo=un,pa=({formErrors:e,mainBoxHeader:t,modifiedData:n,naturePickerType:o,onChange:s})=>{const i=(0,rn.Z)(n.relation,n.targetAttribute);return a.createElement($.Flex,{style:{position:"relative"}},a.createElement(da,{isMain:!0,header:t,error:(e==null?void 0:e.name)||null,name:"name",onChange:s,value:(n==null?void 0:n.name)||""}),a.createElement(Qo,{naturePickerType:o,oneThatIsCreatingARelationWithAnother:t,relationType:i,target:n.target}),a.createElement(da,{disabled:["oneWay","manyWay"].includes(i),error:(e==null?void 0:e.targetAttribute)||null,name:"targetAttribute",onChange:s,oneThatIsCreatingARelationWithAnother:t,target:n.target,value:(n==null?void 0:n.targetAttribute)||""}))};pa.propTypes={formErrors:r().object.isRequired,mainBoxHeader:r().string.isRequired,modifiedData:r().object.isRequired,naturePickerType:r().string.isRequired,onChange:r().func.isRequired};const es=pa;var ga=l(45251),ts=Object.defineProperty,fa=Object.getOwnPropertySymbols,ns=Object.prototype.hasOwnProperty,as=Object.prototype.propertyIsEnumerable,ya=(e,t,n)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rs=(e,t)=>{for(var n in t||(t={}))ns.call(t,n)&&ya(e,n,t[n]);if(fa)for(var n of fa(t))as.call(t,n)&&ya(e,n,t[n]);return e};const cn=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:i,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(i),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{if(g){const E=(0,ga.Z)(g);try{const M=ln()(E,2);m.current({target:{name:s,value:M}})}catch(M){m.current({target:{name:s,value:E}})}}else m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},rs({},e.values)):"",h=c(n);return a.createElement(en.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:i,value:u||""})};cn.defaultProps={description:null,error:null,value:null},cn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const os=cn;var ha=l(14715);const dn=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:i}=(0,I.useIntl)(),{allComponentsCategories:u}=(0,ie.Z)(),[c,m]=(0,a.useState)(u),g=e?i({id:e,defaultMessage:e}):"",f=i(t),p=E=>{o({target:{name:n,value:E,type:"select-category"}})},h=E=>{m(M=>[...M,E]),p(E)};return a.createElement(ha.CreatableCombobox,{error:g,id:n,label:f,name:n,onChange:p,onCreateOption:h,value:s},c.map(E=>a.createElement(ha.ComboboxOption,{key:E,value:E},E)))};dn.defaultProps={error:null,value:null},dn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const ss=dn,mn=({error:e,intlLabel:t,isAddingAComponentToAnotherComponent:n,isCreating:o,isCreatingComponentWhileAddingAField:s,componentToCreate:i,name:u,onChange:c,targetUid:m,forTarget:g,value:f})=>{const{formatMessage:p}=(0,I.useIntl)(),h=e?p({id:e,defaultMessage:e}):"",E=p(t),{componentsGroupedByCategory:M,componentsThatHaveOtherComponentInTheirAttributes:A}=(0,ie.Z)(),w=["component","components"].includes(g);let S=Object.entries(M).reduce((C,v)=>{const[z,B]=v,ee=B.map(N=>({uid:N.uid,label:N.schema.displayName,categoryName:z}));return[...C,...ee]},[]);return n&&(S=S.filter(C=>!A.includes(C.uid))),w&&(S=S.filter(C=>C.uid!==m)),s&&(S=[{uid:f,label:i.displayName,categoryName:i.category}]),a.createElement(le.Select,{disabled:s||!o,error:h,label:E,id:u,name:u,onChange:C=>{c({target:{name:u,value:C,type:"select-category"}})},value:f||""},S.map(C=>a.createElement(le.Option,{key:C.uid,value:C.uid},`${C.categoryName} - ${C.label}`)))};mn.defaultProps={componentToCreate:null,error:null},mn.propTypes={componentToCreate:r().object,forTarget:r().string.isRequired,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isAddingAComponentToAnotherComponent:r().bool.isRequired,isCreating:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,targetUid:r().string.isRequired,value:r().string.isRequired};const is=mn,pn=(e,t)=>e.find(({name:n})=>n===t),ba=({dynamicZoneTarget:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:i}=(0,I.useIntl)(),{componentsGroupedByCategory:u,modifiedData:c}=(0,ie.Z)(),g=(pn(c.contentType.schema.attributes,e)||{}).components||[],f=Object.keys(u).reduce((E,M)=>{const A=u[M].filter(({uid:w})=>!g.includes(w));return A.length>0&&(E[M]=A),E},{}),p=Object.entries(f).reduce((E,M)=>{const[A,w]=M,S={label:A,children:w.map(({uid:C,schema:{displayName:v}})=>({label:v,value:C}))};return E.push(S),E},[]),h=i({id:(0,d.Z)("components.SelectComponents.displayed-value"),defaultMessage:"{number, plural, =0 {# components} one {# component} other {# components}} selected"},{number:s.length});return a.createElement(le.MultiSelectNested,{id:"select1",label:i(t),customizeContent:()=>h,name:n,onChange:E=>{o({target:{name:n,value:E,type:"select-components"}})},options:p,value:s||[]})};ba.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,dynamicZoneTarget:r().string.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().array.isRequired};const ls=ba,gn=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:i,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),!!u&&n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}})};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},i.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c({id:p.id,defaultMessage:p.defaultMessage},p.values))))};gn.defaultProps={error:void 0,value:""},gn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const us=gn,fn=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:i,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),u&&(p==="biginteger"&&u!=="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})),["decimal","float","integer"].includes(p)&&u==="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})))};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},i.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c(p))))};fn.defaultProps={error:void 0,value:""},fn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const cs=fn;var ds=Object.defineProperty,va=Object.getOwnPropertySymbols,ms=Object.prototype.hasOwnProperty,ps=Object.prototype.propertyIsEnumerable,Ta=(e,t,n)=>t in e?ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gs=(e,t)=>{for(var n in t||(t={}))ms.call(t,n)&&Ta(e,n,t[n]);if(va)for(var n of va(t))ps.call(t,n)&&Ta(e,n,t[n]);return e};const yn=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:i,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(i),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{g?m.current({target:{name:s,value:(0,ga.Z)(g)}}):m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},gs({},e.values)):"",h=c(n);return a.createElement(en.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:i,value:u||""})};yn.defaultProps={description:null,error:null,value:null},yn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const fs=yn;var ys=Object.defineProperty,hs=Object.defineProperties,bs=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertySymbols,vs=Object.prototype.hasOwnProperty,Ts=Object.prototype.propertyIsEnumerable,Ca=(e,t,n)=>t in e?ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ma=(e,t)=>{for(var n in t||(t={}))vs.call(t,n)&&Ca(e,n,t[n]);if(Ea)for(var n of Ea(t))Ts.call(t,n)&&Ca(e,n,t[n]);return e},Es=(e,t)=>hs(e,bs(t));const Oa=({form:e,formErrors:t,genericInputProps:n,modifiedData:o,onChange:s})=>{const{formatMessage:i}=(0,I.useIntl)();return e.map((u,c)=>u.items.length===0?null:a.createElement(q.Box,{key:c},u.sectionTitle&&a.createElement(q.Box,{paddingBottom:4},a.createElement(k.Typography,{variant:"delta",as:"h3"},i(u.sectionTitle))),a.createElement(Ne.Grid,{gap:4},u.items.map((m,g)=>{const f=`${c}.${g}`,p=Z()(o,m.name,""),h=Object.keys(t).find(M=>M===m.name),E=h?t[h].id:Z()(t,[...m.name.split(".").filter(M=>M!=="componentToCreate"),"id"],null);return m.type==="pushRight"?a.createElement(Ne.GridItem,{col:m.size||6,key:m.name||f},a.createElement("div",null)):a.createElement(Ne.GridItem,{col:m.size||6,key:m.name||f},a.createElement(R.GenericInput,Es(Ma(Ma({},m),n),{error:E,onChange:s,value:p})))}))))};Oa.propTypes={form:r().arrayOf(r().object).isRequired,formErrors:r().object.isRequired,genericInputProps:r().object.isRequired,modifiedData:r().object.isRequired,onChange:r().func.isRequired};const Pa=Oa;var Cs=l(90353),Ms=Object.defineProperty,Ra=Object.getOwnPropertySymbols,Os=Object.prototype.hasOwnProperty,Ps=Object.prototype.propertyIsEnumerable,xa=(e,t,n)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sa=(e,t)=>{for(var n in t||(t={}))Os.call(t,n)&&xa(e,n,t[n]);if(Ra)for(var n of Ra(t))Ps.call(t,n)&&xa(e,n,t[n]);return e};const hn=({description:e,disabled:t,error:n,intlLabel:o,labelAction:s,name:i,onChange:u,placeholder:c,value:m})=>{const{formatMessage:g}=(0,I.useIntl)(),f=n?g({id:n,defaultMessage:n}):"",p=e?g({id:e.id,defaultMessage:e.defaultMessage},Sa({},e.values)):"",h=g(o),E=c?g({id:c.id,defaultMessage:c.defaultMessage},Sa({},c.values)):"",M=Array.isArray(m)?m.join(`
|
|
141
141
|
`):"",A=w=>{const S=w.target.value.split(`
|
|
142
|
-
`);u({target:{name:l,value:S}})};return a.createElement(Cs.Textarea,{disabled:t,error:f,label:h,labelAction:s,id:l,hint:p,name:l,onChange:A,placeholder:E,value:M},M)};hn.defaultProps={description:null,disabled:!1,error:"",labelAction:void 0,placeholder:null,value:""},hn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,labelAction:r().element,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),value:r().oneOfType([r().array,r().string])};const Rs=hn,xs=(e,t)=>{const n=Z()(e,["contentType","schema","kind"],"");return n==="singleType"||n===t.kind?!0:Z()(e,["contentType","schema","attributes"],[]).filter(({relation:l,type:u,targetAttribute:c})=>{const m=(0,rn.Z)(l,c);return u==="relation"&&!["oneWay","manyWay"].includes(m)}).length===0},Ss=(e="",t,n)=>{const o=["text","email","richtext","password","number","enumeration","date","media","boolean","json","relation"],s=e==="contentType",l=n.includes(t),u=!s&&!l;return s?[[...o,"uid"],["component","dynamiczone"]]:u?[o,["component"]]:[o]},Aa=e=>e.reduce((t,n)=>{const o=n.items.reduce((s,l)=>(l.name&&s.push(l.name),s),[]);return[...t,...o]},[]);var b=i(5173),Je=i(2158);const As={base:{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"name",type:"text",intlLabel:{id:"global.name",defaultMessage:"Name"},description:{id:(0,d.Z)("modalForm.editCategory.base.name.description"),defaultMessage:"No space is allowed for the name of the category"}}]}]}},Fa=/^[A-Za-z][-_0-9A-Za-z]*$/,Fs=e=>{const t={name:b.Z_().matches(Fa,R.translatedErrors.regex).test({name:"nameNotAllowed",message:R.translatedErrors.unique,test(n){return n?!e.includes((0,D.toLower)(n)):!1}}).required(R.translatedErrors.required)};return b.Ry(t)},Ds=(e,t,n)=>{const o={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(s){if(!s)return!1;const l=(0,Je.N)(s,n);return!e.includes(l)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(s){return s?!t.includes((0,D.toLower)((0,D.trim)(s))):!1}}).required(R.translatedErrors.required),category:b.Z_().matches(Fa,R.translatedErrors.regex).required(R.translatedErrors.required),icon:b.Z_()};return b.Ry(o)},bn={intlLabel:{id:"global.type",defaultMessage:"Type"},name:"createComponent",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.create"),defaultMessage:"Create a new component"},description:{id:(0,d.Z)("form.attribute.component.option.create.description"),defaultMessage:"A component is shared across types and components, it will be available and accessible everywhere."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.reuse-existing"),defaultMessage:"Use an existing component"},description:{id:(0,d.Z)("form.attribute.component.option.reuse-existing.description"),defaultMessage:"Reuse a component already created to keep your data consistent across content-types."},value:!1}]},Qe={base(e=""){return[{sectionTitle:null,items:[{name:`${e}displayName`,type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display Name"}},{name:`${e}category`,type:"select-category",intlLabel:{id:(0,d.Z)("modalForm.components.create-component.category.label"),defaultMessage:"Select a category or enter a name to create a new one"}}]},{sectionTitle:null,items:[{name:`${e}icon`,type:"component-icon-picker",size:12,intlLabel:{id:(0,d.Z)("modalForm.components.icon.label"),defaultMessage:"Icon"}}]}]},advanced(){return[]}},x={default:{name:"default",type:"text",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"}},max:{name:"max",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximum"),defaultMessage:"Maximum value"}},maxLength:{name:"maxLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximumLength"),defaultMessage:"Maximum length"}},min:{name:"min",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimum"),defaultMessage:"Minimum value"}},minLength:{name:"minLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimumLength"),defaultMessage:"Minimum length"}},private:{name:"private",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.privateField"),defaultMessage:"Private field"},description:{id:(0,d.Z)("form.attribute.item.privateField.description"),defaultMessage:"This field will not show up in the API response"}},regex:{intlLabel:{id:(0,d.Z)("form.attribute.item.text.regex"),defaultMessage:"RegExp pattern"},name:"regex",type:"text",description:{id:(0,d.Z)("form.attribute.item.text.regex.description"),defaultMessage:"The text of the regular expression"}},required:{name:"required",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.requiredField"),defaultMessage:"Required field"},description:{id:(0,d.Z)("form.attribute.item.requiredField.description"),defaultMessage:"You won't be able to create an entry if this field is empty"}},unique:{name:"unique",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.uniqueField"),defaultMessage:"Unique field"},description:{id:(0,d.Z)("form.attribute.item.uniqueField.description"),defaultMessage:"You won't be able to create an entry if there is an existing entry with identical content"}}};var Ns=Object.defineProperty,Zs=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,Da=Object.getOwnPropertySymbols,ws=Object.prototype.hasOwnProperty,Ls=Object.prototype.propertyIsEnumerable,Na=(e,t,n)=>t in e?Ns(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vn=(e,t)=>{for(var n in t||(t={}))ws.call(t,n)&&Na(e,n,t[n]);if(Da)for(var n of Da(t))Ls.call(t,n)&&Na(e,n,t[n]);return e},Tn=(e,t)=>Zs(e,Is(t));const Bs={boolean(){return{sections:[{sectionTitle:null,items:[{autoFocus:!0,type:"select-default-boolean",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},name:"default",options:[{value:"true",key:"true",metadatas:{intlLabel:{id:"true",defaultMessage:"true"}}},{value:"",key:"null",metadatas:{intlLabel:{id:"null",defaultMessage:"null"}}},{value:"false",key:"false",metadatas:{intlLabel:{id:"false",defaultMessage:"false"}}}]}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},component({repeatable:e},t){return t==="1"?{sections:Qe.advanced("componentToCreate")}:e?{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private,x.max,x.min]}]}:{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},date({type:e}){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{type:e||"date",value:null,withDefaultValue:!1,disabled:!e,autoFocus:!1})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.private]}]}},dynamiczone(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.max,x.min]}]}},email(){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{type:"email"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},enumeration(e){return{sections:[{sectionTitle:null,items:[{name:"default",type:"select",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{},options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}}},...(e.enum||[]).filter((t,n)=>e.enum.indexOf(t)===n&&t).map(t=>({key:t,value:t,metadatas:{intlLabel:{id:`${t}.no-override`,defaultMessage:t}}}))]},{intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.graphql"),defaultMessage:"Name override for GraphQL"},name:"enumName",type:"text",validations:{},description:{id:(0,d.Z)("form.attribute.item.enumeration.graphql.description"),defaultMessage:"Allows you to override the default generated name for GraphQL"}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},json(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},media(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:(0,d.Z)("form.attribute.media.allowed-types"),defaultMessage:"Select allowed types of media"},name:"allowedTypes",type:"allowed-types-select",size:7,value:"",validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},number(e){const t=e.type==="decimal"||e.type==="float"?"any":1;return{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"default",type:e.type==="biginteger"?"text":"number",step:t,intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.max,x.min,x.private]}]}},password(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},relation(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.private]}]}},richtext(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},text(){return{sections:[{sectionTitle:null,items:[x.default,x.regex]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},uid(e){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{disabled:Boolean(e.targetField),type:"text"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}}},Se={name:"name",type:"text",intlLabel:{id:"global.name",defaultMessage:"Name"},description:{id:(0,d.Z)("modalForm.attribute.form.base.name.description"),defaultMessage:"No space is allowed for the name of the attribute"}};var qs=Object.defineProperty,ks=Object.defineProperties,js=Object.getOwnPropertyDescriptors,Za=Object.getOwnPropertySymbols,Us=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,Ia=(e,t,n)=>t in e?qs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ws=(e,t)=>{for(var n in t||(t={}))Us.call(t,n)&&Ia(e,n,t[n]);if(Za)for(var n of Za(t))_s.call(t,n)&&Ia(e,n,t[n]);return e},$s=(e,t)=>ks(e,js(t));const wa={advanced:Bs,base:{component(e,t){if(t==="1"){const n=e.createComponent===!0?Qe.base("componentToCreate."):[];return{sections:[{sectionTitle:null,items:[bn]},...n]}}return{sections:[{sectionTitle:null,items:[Se,{name:"component",type:"select-component",intlLabel:{id:(0,d.Z)("modalForm.attributes.select-component"),defaultMessage:"Select a component"},isMultiple:!1}]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"repeatable",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.repeatable"),defaultMessage:"Repeatable component"},description:{id:(0,d.Z)("form.attribute.component.option.repeatable.description"),defaultMessage:"Best for multiple instances (array) of ingredients, meta tags, etc.."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.single"),defaultMessage:"Single component"},description:{id:(0,d.Z)("form.attribute.component.option.single.description"),defaultMessage:"Best for grouping fields like full address, main information, etc..."},value:!1}]}]}]}},date(){return{sections:[{sectionTitle:null,items:[Se,{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",type:"select-date",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"date",value:"date",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.date"),defaultMessage:"date (ex: 01/01/{currentYear})",values:{currentYear:new Date().getFullYear()}}}},{key:"datetime",value:"datetime",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.datetime"),defaultMessage:"datetime (ex: 01/01/{currentYear} 00:00 AM)",values:{currentYear:new Date().getFullYear()}}}},{key:"time",value:"time",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.time"),defaultMessage:"time (ex: 00:00 AM)"}}}]}]}]}},enumeration(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{name:"enum",type:"textarea-enum",size:6,intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.rules"),defaultMessage:"Values (one line per value)"},placeholder:{id:(0,d.Z)("form.attribute.item.enumeration.placeholder"),defaultMessage:`Ex:
|
|
142
|
+
`);u({target:{name:i,value:S}})};return a.createElement(Cs.Textarea,{disabled:t,error:f,label:h,labelAction:s,id:i,hint:p,name:i,onChange:A,placeholder:E,value:M},M)};hn.defaultProps={description:null,disabled:!1,error:"",labelAction:void 0,placeholder:null,value:""},hn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,labelAction:r().element,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),value:r().oneOfType([r().array,r().string])};const Rs=hn,xs=(e,t)=>{const n=Z()(e,["contentType","schema","kind"],"");return n==="singleType"||n===t.kind?!0:Z()(e,["contentType","schema","attributes"],[]).filter(({relation:i,type:u,targetAttribute:c})=>{const m=(0,rn.Z)(i,c);return u==="relation"&&!["oneWay","manyWay"].includes(m)}).length===0},Ss=(e="",t,n)=>{const o=["text","email","richtext","password","number","enumeration","date","media","boolean","json","relation"],s=e==="contentType",i=n.includes(t),u=!s&&!i;return s?[[...o,"uid"],["component","dynamiczone"]]:u?[o,["component"]]:[o]},Aa=e=>e.reduce((t,n)=>{const o=n.items.reduce((s,i)=>(i.name&&s.push(i.name),s),[]);return[...t,...o]},[]);var b=l(5173),Je=l(2158);const As={base:{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"name",type:"text",intlLabel:{id:"global.name",defaultMessage:"Name"},description:{id:(0,d.Z)("modalForm.editCategory.base.name.description"),defaultMessage:"No space is allowed for the name of the category"}}]}]}},Fa=/^[A-Za-z][-_0-9A-Za-z]*$/,Fs=e=>{const t={name:b.Z_().matches(Fa,R.translatedErrors.regex).test({name:"nameNotAllowed",message:R.translatedErrors.unique,test(n){return n?!e.includes((0,F.toLower)(n)):!1}}).required(R.translatedErrors.required)};return b.Ry(t)},Ds=(e,t,n)=>{const o={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(s){if(!s)return!1;const i=(0,Je.N)(s,n);return!e.includes(i)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(s){return s?!t.includes((0,F.toLower)((0,F.trim)(s))):!1}}).required(R.translatedErrors.required),category:b.Z_().matches(Fa,R.translatedErrors.regex).required(R.translatedErrors.required),icon:b.Z_()};return b.Ry(o)},bn={intlLabel:{id:"global.type",defaultMessage:"Type"},name:"createComponent",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.create"),defaultMessage:"Create a new component"},description:{id:(0,d.Z)("form.attribute.component.option.create.description"),defaultMessage:"A component is shared across types and components, it will be available and accessible everywhere."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.reuse-existing"),defaultMessage:"Use an existing component"},description:{id:(0,d.Z)("form.attribute.component.option.reuse-existing.description"),defaultMessage:"Reuse a component already created to keep your data consistent across content-types."},value:!1}]},Qe={base(e=""){return[{sectionTitle:null,items:[{name:`${e}displayName`,type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display Name"}},{name:`${e}category`,type:"select-category",intlLabel:{id:(0,d.Z)("modalForm.components.create-component.category.label"),defaultMessage:"Select a category or enter a name to create a new one"}}]},{sectionTitle:null,items:[{name:`${e}icon`,type:"component-icon-picker",size:12,intlLabel:{id:(0,d.Z)("modalForm.components.icon.label"),defaultMessage:"Icon"}}]}]},advanced(){return[]}},x={default:{name:"default",type:"text",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"}},max:{name:"max",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximum"),defaultMessage:"Maximum value"}},maxLength:{name:"maxLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximumLength"),defaultMessage:"Maximum length"}},min:{name:"min",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimum"),defaultMessage:"Minimum value"}},minLength:{name:"minLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimumLength"),defaultMessage:"Minimum length"}},private:{name:"private",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.privateField"),defaultMessage:"Private field"},description:{id:(0,d.Z)("form.attribute.item.privateField.description"),defaultMessage:"This field will not show up in the API response"}},regex:{intlLabel:{id:(0,d.Z)("form.attribute.item.text.regex"),defaultMessage:"RegExp pattern"},name:"regex",type:"text",description:{id:(0,d.Z)("form.attribute.item.text.regex.description"),defaultMessage:"The text of the regular expression"}},required:{name:"required",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.requiredField"),defaultMessage:"Required field"},description:{id:(0,d.Z)("form.attribute.item.requiredField.description"),defaultMessage:"You won't be able to create an entry if this field is empty"}},unique:{name:"unique",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.uniqueField"),defaultMessage:"Unique field"},description:{id:(0,d.Z)("form.attribute.item.uniqueField.description"),defaultMessage:"You won't be able to create an entry if there is an existing entry with identical content"}}};var Ns=Object.defineProperty,Zs=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,Da=Object.getOwnPropertySymbols,ws=Object.prototype.hasOwnProperty,Ls=Object.prototype.propertyIsEnumerable,Na=(e,t,n)=>t in e?Ns(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vn=(e,t)=>{for(var n in t||(t={}))ws.call(t,n)&&Na(e,n,t[n]);if(Da)for(var n of Da(t))Ls.call(t,n)&&Na(e,n,t[n]);return e},Tn=(e,t)=>Zs(e,Is(t));const Bs={boolean(){return{sections:[{sectionTitle:null,items:[{autoFocus:!0,type:"select-default-boolean",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},name:"default",options:[{value:"true",key:"true",metadatas:{intlLabel:{id:"true",defaultMessage:"true"}}},{value:"",key:"null",metadatas:{intlLabel:{id:"null",defaultMessage:"null"}}},{value:"false",key:"false",metadatas:{intlLabel:{id:"false",defaultMessage:"false"}}}]}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},component({repeatable:e},t){return t==="1"?{sections:Qe.advanced("componentToCreate")}:e?{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private,x.max,x.min]}]}:{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},date({type:e}){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{type:e||"date",value:null,withDefaultValue:!1,disabled:!e,autoFocus:!1})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.private]}]}},dynamiczone(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.max,x.min]}]}},email(){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{type:"email"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},enumeration(e){return{sections:[{sectionTitle:null,items:[{name:"default",type:"select",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{},options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}}},...(e.enum||[]).filter((t,n)=>e.enum.indexOf(t)===n&&t).map(t=>({key:t,value:t,metadatas:{intlLabel:{id:`${t}.no-override`,defaultMessage:t}}}))]},{intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.graphql"),defaultMessage:"Name override for GraphQL"},name:"enumName",type:"text",validations:{},description:{id:(0,d.Z)("form.attribute.item.enumeration.graphql.description"),defaultMessage:"Allows you to override the default generated name for GraphQL"}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},json(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},media(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:(0,d.Z)("form.attribute.media.allowed-types"),defaultMessage:"Select allowed types of media"},name:"allowedTypes",type:"allowed-types-select",size:7,value:"",validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},number(e){const t=e.type==="decimal"||e.type==="float"?"any":1;return{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"default",type:e.type==="biginteger"?"text":"number",step:t,intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.max,x.min,x.private]}]}},password(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},relation(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.private]}]}},richtext(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},text(){return{sections:[{sectionTitle:null,items:[x.default,x.regex]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},uid(e){return{sections:[{sectionTitle:null,items:[Tn(vn({},x.default),{disabled:Boolean(e.targetField),type:"text"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}}},Se={name:"name",type:"text",intlLabel:{id:"global.name",defaultMessage:"Name"},description:{id:(0,d.Z)("modalForm.attribute.form.base.name.description"),defaultMessage:"No space is allowed for the name of the attribute"}};var qs=Object.defineProperty,ks=Object.defineProperties,js=Object.getOwnPropertyDescriptors,Za=Object.getOwnPropertySymbols,Us=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,Ia=(e,t,n)=>t in e?qs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ws=(e,t)=>{for(var n in t||(t={}))Us.call(t,n)&&Ia(e,n,t[n]);if(Za)for(var n of Za(t))_s.call(t,n)&&Ia(e,n,t[n]);return e},$s=(e,t)=>ks(e,js(t));const wa={advanced:Bs,base:{component(e,t){if(t==="1"){const n=e.createComponent===!0?Qe.base("componentToCreate."):[];return{sections:[{sectionTitle:null,items:[bn]},...n]}}return{sections:[{sectionTitle:null,items:[Se,{name:"component",type:"select-component",intlLabel:{id:(0,d.Z)("modalForm.attributes.select-component"),defaultMessage:"Select a component"},isMultiple:!1}]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"repeatable",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.repeatable"),defaultMessage:"Repeatable component"},description:{id:(0,d.Z)("form.attribute.component.option.repeatable.description"),defaultMessage:"Best for multiple instances (array) of ingredients, meta tags, etc.."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.single"),defaultMessage:"Single component"},description:{id:(0,d.Z)("form.attribute.component.option.single.description"),defaultMessage:"Best for grouping fields like full address, main information, etc..."},value:!1}]}]}]}},date(){return{sections:[{sectionTitle:null,items:[Se,{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",type:"select-date",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"date",value:"date",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.date"),defaultMessage:"date (ex: 01/01/{currentYear})",values:{currentYear:new Date().getFullYear()}}}},{key:"datetime",value:"datetime",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.datetime"),defaultMessage:"datetime (ex: 01/01/{currentYear} 00:00 AM)",values:{currentYear:new Date().getFullYear()}}}},{key:"time",value:"time",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.time"),defaultMessage:"time (ex: 00:00 AM)"}}}]}]}]}},enumeration(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{name:"enum",type:"textarea-enum",size:6,intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.rules"),defaultMessage:"Values (one line per value)"},placeholder:{id:(0,d.Z)("form.attribute.item.enumeration.placeholder"),defaultMessage:`Ex:
|
|
143
143
|
morning
|
|
144
144
|
noon
|
|
145
|
-
evening`},validations:{required:!0}}]}]}},media(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"multiple",size:12,type:"boolean-radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.media.option.multiple"),defaultMessage:"Multiple media"},description:{id:(0,d.Z)("form.attribute.media.option.multiple.description"),defaultMessage:"Best for sliders, carousels or multiple files download"},value:!0},{title:{id:(0,d.Z)("form.attribute.media.option.single"),defaultMessage:"Single media"},description:{id:(0,d.Z)("form.attribute.media.option.single.description"),defaultMessage:"Best for avatar, profile picture or cover"},value:!1}]}]}]}},number(){return{sections:[{sectionTitle:null,items:[Se,{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type"),defaultMessage:"Number format"},name:"type",type:"select-number",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"integer",value:"integer",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.integer"),defaultMessage:"integer (ex: 10)"}}},{key:"biginteger",value:"biginteger",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.biginteger"),defaultMessage:"biginteger (ex: 123456789)"}}},{key:"decimal",value:"decimal",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.decimal"),defaultMessage:"decimal (ex: 2.22)"}}},{key:"float",value:"float",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.float"),defaultMessage:"decimal (ex: 3.3333333)"}}}]}]}]}},relation(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:"FIXME",defaultMessage:"FIXME"},name:"relation",size:12,type:"relation"}]}]}},string(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",size:12,type:"radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.text.option.short-text"),defaultMessage:"Sort text"},description:{id:(0,d.Z)("form.attribute.text.option.short-text.description"),defaultMessage:"Best for titles, names, links (URL). It also enables exact search on the field."},value:"string"},{title:{id:(0,d.Z)("form.attribute.text.option.long-text"),defaultMessage:"Long text"},description:{id:(0,d.Z)("form.attribute.text.option.long-text.description"),defaultMessage:"Best for descriptions, biography. Exact search is disabled."},value:"text"}]}]}]}},text(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",size:12,type:"radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.text.option.short-text"),defaultMessage:"Sort text"},description:{id:(0,d.Z)("form.attribute.text.option.short-text.description"),defaultMessage:"Best for titles, names, links (URL). It also enables exact search on the field."},value:"string"},{title:{id:(0,d.Z)("form.attribute.text.option.long-text"),defaultMessage:"Long text"},description:{id:(0,d.Z)("form.attribute.text.option.long-text.description"),defaultMessage:"Best for descriptions, biography. Exact search is disabled."},value:"text"}]}]}]}},uid(e,t,n){const o=n.filter(({type:s})=>["string","text"].includes(s)).map(({name:s})=>({key:s,value:s,metadatas:{intlLabel:{id:`${s}.no-override`,defaultMessage:s}}}));return{sections:[{sectionTitle:null,items:[$s(Ws({},Se),{placeholder:{id:(0,d.Z)("modalForm.attribute.form.base.name.placeholder"),defaultMessage:"e.g. Slug, SEO URL, Canonical URL"}}),{intlLabel:{id:(0,d.Z)("modalForm.attribute.target-field"),defaultMessage:"Attached field"},name:"targetField",type:"select",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"global.none",defaultMessage:"None"}}},...o]}]}]}}}},zs={sections:[{sectionTitle:null,items:[Se]}]};var Vs=i(91815),Gs=i.n(Vs),Ks=i(40791),Hs=i.n(Ks);const En=e=>Hs()(e,{decamelize:!1,lowercase:!1,separator:"_"}),La=/^[A-Za-z][_0-9A-Za-z]*$/,Ba=e=>({name:"attributeNameAlreadyUsed",message:R.translatedErrors.unique,test(t){return t?!e.includes(t):!1}}),Vl=(e,t,n)=>{const o=get(e,["schema","attributes"],{});return Object.keys(o).filter(s=>t?s!==n:!0)},Cn=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test(t){return t?!e.includes(t):!1}}),y={default:()=>b.Z_().nullable(),max:()=>b.Rx().integer().nullable(),min:()=>b.Rx().integer().when("max",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),maxLength:()=>b.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>b.Rx().integer().min(0).when("maxLength",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),name(e,t){return b.Z_().test(Ba(e)).test(Cn(t)).matches(La,R.translatedErrors.regex).required(R.translatedErrors.required)},required:()=>b.O7(),type:()=>b.Z_().required(R.translatedErrors.required),unique:()=>b.O7().nullable()},Mn=(e,t)=>({name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength(),regex:b.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test(o){return new RegExp(o)!==null}}).nullable()}),On={name:"isMinSuperiorThanMax",message:(0,d.Z)("error.validation.minSupMax"),test(e){if(!e)return!0;const{max:t}=this.parent;return!t||Number.isNaN((0,D.toNumber)(e))?!0:(0,D.toNumber)(t)>=(0,D.toNumber)(e)}},Pn={date(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},datetime(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},time(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},default(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},biginteger(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().nullable().matches(/^-?\d*$/),unique:y.unique(),required:y.required(),max:b.Z_().nullable().matches(/^-?\d*$/,R.translatedErrors.regex),min:b.Z_().nullable().test(On).matches(/^-?\d*$/,R.translatedErrors.regex)};return b.Ry(n)},boolean(e,t){const n={name:y.name(e,t),default:b.O7().nullable(),required:y.required(),unique:y.unique()};return b.Ry(n)},component(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min(),component:b.Z_().required(R.translatedErrors.required)};return b.Ry(n)},decimal(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx(),required:y.required(),max:b.Rx(),min:b.Rx().test(On)};return b.Ry(n)},dynamiczone(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},email(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().email().nullable(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},enumeration(e,t){const n=/^[_A-Za-z][_0-9A-Za-z]*$/,o={name:b.Z_().test(Ba(e)).test(Cn(t)).matches(n,R.translatedErrors.regex).required(R.translatedErrors.required),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),enum:b.IX().of(b.Z_()).min(1,R.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!Gs()(s.map(En).filter((u,c,m)=>m.indexOf(u)!==c)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(En).some(l=>l==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(En).every(l=>n.test(l))}),enumName:b.Z_().nullable()};return b.Ry(o)},float(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),default:b.Rx(),max:b.Rx(),min:b.Rx().test(On)};return b.Ry(n)},integer(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx().integer(),unique:y.unique(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},json(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),unique:y.unique()};return b.Ry(n)},media(e,t){const n={name:y.name(e,t),type:y.type(),multiple:b.O7(),required:y.required(),allowedTypes:b.IX().of(b.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return b.Ry(n)},password(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},relation(e,t,n,{initialData:o,modifiedData:s}){const l={name:y.name(e,t),target:b.Z_().required(R.translatedErrors.required),relation:b.Z_().required(),type:b.Z_().required(),targetAttribute:b.Vo(()=>{const u=(0,rn.Z)(s.relation,s.targetAttribute);if(u==="oneWay"||u==="manyWay")return b.Z_().nullable();let c=b.Z_().test(Cn(t)),g=[...n.map(({name:f})=>f),s.name].filter(f=>f!==o.targetAttribute);return c.matches(La,R.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test(f){return f?!g.includes(f):!1}}).required(R.translatedErrors.required)})};return b.Ry(l)},richtext(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},string(e,t){const n=Mn(e,t);return b.Ry(n)},text(e,t){const n=Mn(e,t);return b.Ry(n)},uid(e,t){const n=Mn(e,t);return b.Ry(n)}},qa={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}},Rn={advanced:{default(){return{sections:[{sectionTitle:{id:(0,d.Z)("form.contentType.divider.draft-publish"),defaultMessage:"Draft/Publish"},items:[{intlLabel:{id:(0,d.Z)("contentType.draftAndPublish.label"),defaultMessage:"Draft/publish system"},description:{id:(0,d.Z)("contentType.draftAndPublish.description"),defaultMessage:"Write a draft version of each entry before publishing it"},name:"draftAndPublish",type:"toggle-draft-publish",validations:{}}]}]}}},base:{create(){return{sections:[{sectionTitle:null,items:[qa,{description:{id:(0,d.Z)("contentType.apiId-singular.description"),defaultMessage:"Used to generate the API routes and databases tables/collections"},intlLabel:{id:(0,d.Z)("contentType.apiId-singular.label"),defaultMessage:"API ID (Singular)"},name:"singularName",type:"text-singular"},{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{description:{id:(0,d.Z)("contentType.apiId-plural.description"),defaultMessage:"Pluralized API ID"},intlLabel:{id:(0,d.Z)("contentType.apiId-plural.label"),defaultMessage:"API ID (Plural)"},name:"pluralName",type:"text-plural"}]}]}},edit(){return{sections:[{sectionTitle:null,items:[qa,{disabled:!0,description:{id:(0,d.Z)("contentType.apiId-singular.description"),defaultMessage:"Used to generate the API routes and databases tables/collections"},intlLabel:{id:(0,d.Z)("contentType.apiId-singular.label"),defaultMessage:"API ID (Singular)"},name:"singularName",type:"text"},{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{disabled:!0,description:{id:(0,d.Z)("contentType.apiId-plural.description"),defaultMessage:"Pluralized API ID"},intlLabel:{id:(0,d.Z)("contentType.apiId-plural.label"),defaultMessage:"API ID (Plural)"},name:"pluralName",type:"text"},{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"kind",type:"content-type-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.button.collection-type.name"),defaultMessage:"Collection Type"},description:{id:(0,d.Z)("form.button.collection-type.description"),defaultMessage:"Best for multiple instances like articles, products, comments, etc."},value:"collectionType"},{title:{id:(0,d.Z)("form.button.single-type.name"),defaultMessage:"Single Type"},description:{id:(0,d.Z)("form.button.single-type.description"),defaultMessage:"Best for single instance like about us, homepage, etc."},value:"singleType"}]}]}]}}}},Xs=(e,t,n,o)=>{const s={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(l){if(!l)return!1;const u=(0,Je.E)(l);return!e.includes(u)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(l){return l?!t.includes((0,D.toLower)((0,D.trim)(l))):!1}}).required(R.translatedErrors.required),pluralName:b.Z_().test({name:"pluralNameAlreadyUsed",message:R.translatedErrors.unique,test(l){return l?!o.includes(l):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test(l,u){return l?u.parent.singularName!==l:!1}}).required(R.translatedErrors.required),singularName:b.Z_().test({name:"singularNameAlreadyUsed",message:R.translatedErrors.unique,test(l){return l?!n.includes(l):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test(l,u){return l?u.parent.pluralName!==l:!1}}).required(R.translatedErrors.required),draftAndPublish:b.O7(),kind:b.Z_().oneOf(["singleType","collectionType"])};return b.Ry(s)},xn={advanced:{default(){return{sections:Qe.advanced("componentToCreate.")}}},base:{createComponent(){return{sections:[{sectionTitle:null,items:[bn]},...Qe.base("componentToCreate.")]}},default(){return{sections:[{sectionTitle:null,items:[bn]},{sectionTitle:null,items:[{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{name:"components",type:"select-components",intlLabel:{id:(0,d.Z)("modalForm.attributes.select-components"),defaultMessage:"Select the components"},isMultiple:!0}]}]}}}},ka=(e,t)=>{e.forEach(n=>{if(!Ke()(n,"sectionTitle")){t[0].items.push(n);return}t.push(n)})},ja=(e,t)=>e.filter(({name:n})=>n!==t.initialData.name).map(({name:n})=>n);var Ua=i(98399),Ys=Object.defineProperty,Js=Object.defineProperties,Qs=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,_a=Object.prototype.hasOwnProperty,Wa=Object.prototype.propertyIsEnumerable,$a=(e,t,n)=>t in e?Ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sn=(e,t)=>{for(var n in t||(t={}))_a.call(t,n)&&$a(e,n,t[n]);if(Et)for(var n of Et(t))Wa.call(t,n)&&$a(e,n,t[n]);return e},ei=(e,t)=>Js(e,Qs(t)),An=(e,t)=>{var n={};for(var o in e)_a.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Et)for(var o of Et(e))t.indexOf(o)<0&&Wa.call(e,o)&&(n[o]=e[o]);return n};const Le={customField:{schema({schemaAttributes:e,attributeType:t,customFieldValidator:n,reservedNames:o,schemaData:s,ctbFormsAPI:l}){const u=ja(e,s),c=Pn[t](u,o.attributes);return l.makeCustomFieldValidator(c,n,u,o.attributes,s)},form:{base({customField:e}){var t;const n=[{sectionTitle:null,items:[Se]}];return(t=e.options)!=null&&t.base&&ka(e.options.base,n),{sections:n}},advanced(e){var t=e,{customField:n,data:o,step:s,extensions:l}=t,u=An(t,["customField","data","step","extensions"]),c;const m=[{sectionTitle:null,items:[]}],g=l.getAdvancedForm(["attribute",n.type],Sn({data:o,type:n.type,step:s},u));if((c=n.options)!=null&&c.advanced&&ka(n.options.advanced,m),g){const f={sectionTitle:{id:(0,d.Z)("modalForm.custom-fields.advanced.settings.extended"),defaultMessage:"Extended settings"},items:g};m.push(f)}return{sections:m}}}},attribute:{schema(e,t,n,o,s,l){const u=Z()(e,["schema","attributes"],[]),c=ja(u,s);try{let m=Pn[t](c,n.attributes,o,s);return l.makeValidator(["attribute",t],m,c,n.attributes,o,s)}catch(m){return Ua.error("Error yup build schema",m),Pn.default(c,n.attributes)}},form:{advanced(e){var t=e,{data:n,type:o,step:s,extensions:l}=t,u=An(t,["data","type","step","extensions"]);try{const c=wa.advanced[o](n,s).sections,m=l.getAdvancedForm(["attribute",o],Sn({data:n,type:o,step:s},u));return{sections:c.reduce((f,p)=>(p.sectionTitle===null?f.push(p):f.push(ei(Sn({},p),{items:[...p.items,...m]})),f),[])}}catch(c){return Ua.error(c),{sections:[]}}},base({data:e,type:t,step:n,attributes:o}){try{return wa.base[t](e,n,o)}catch(s){return zs}}}},contentType:{schema(e,t,n,o,s,l){const u=Object.values(l).map(h=>h.schema.singularName),c=Object.values(l).map(h=>h.schema.pluralNames),m=t?e.filter(h=>h!==n):e,g=t?u.filter(h=>Z()(l,[n,"schema","singularName"],"")!==h):u,f=t?c.filter(h=>Z()(l,[n,"schema","pluralName"],"")!==h):c,p=Xs(m,o.models,g,f);return s.makeValidator(["contentType"],p,m,o.models,g,f)},form:{base({actionType:e}){return e==="create"?Rn.base.create():Rn.base.edit()},advanced(e){var t=e,{extensions:n}=t,o=An(t,["extensions"]);const s=Rn.advanced.default(o).sections,l=n.getAdvancedForm(["contentType"]);return{sections:[...s,{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:l}]}}}},component:{schema(e,t,n,o=!1,s=null){const l=o?e.filter(u=>u!==s):e;return Ds(l,n.models,t)},form:{advanced(){return{sections:Qe.advanced()}},base(){return{sections:Qe.base()}}}},addComponentToDynamicZone:{form:{advanced(){return xn.advanced.default()},base({data:e}){return Z()(e,"createComponent",!1)?xn.base.createComponent():xn.base.default()}}},editCategory:{schema(e,t){const n=e.filter(o=>o!==t.name).map(o=>We()(o));return Fs(n)},form:{advanced:()=>({sections:[]}),base(){return As.base}}}};var za=i(12463),ti=i(25061);const ni=()=>e=>e[`${J.Z}_formModal`]||ti.E,ai=()=>(0,za.P1)(ni(),e=>e);var Va=i(98399),ri=Object.defineProperty,oi=Object.defineProperties,si=Object.getOwnPropertyDescriptors,Ct=Object.getOwnPropertySymbols,Ga=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable,Ha=(e,t,n)=>t in e?ri(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,et=(e,t)=>{for(var n in t||(t={}))Ga.call(t,n)&&Ha(e,n,t[n]);if(Ct)for(var n of Ct(t))Ka.call(t,n)&&Ha(e,n,t[n]);return e},Mt=(e,t)=>oi(e,si(t)),Ot=(e,t)=>{var n={};for(var o in e)Ga.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ct)for(var o of Ct(e))t.indexOf(o)<0&&Ka.call(e,o)&&(n[o]=e[o]);return n},Xa=(e,t,n)=>new Promise((o,s)=>{var l=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(l,u);c((n=n.apply(e,t)).next())});const ii=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:t,onNavigateToAddCompoToDZModal:n,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:l,attributeType:u,customFieldUid:c,categoryName:m,dynamicZoneTarget:g,forTarget:f,modalType:p,isOpen:h,kind:E,step:M,targetUid:A}=(0,_e.Z)(),w=(0,R.useCustomFields)().get(c),S=(0,a.useRef)(),C=(0,a.useMemo)(ai,[]),v=(0,ve.useDispatch)(),z=(0,R.useNotification)(),B=(0,ve.useSelector)(G=>C(G),ve.shallowEqual),{push:ee}=(0,U.useHistory)(),{trackUsage:N}=(0,R.useTracking)(),{formatMessage:Y}=(0,I.useIntl)(),{getPlugin:fe}=(0,R.useStrapiApp)(),ce=fe(J.Z).apis.forms,he=ce.components.inputs,{addAttribute:Ae,addCustomFieldAttribute:nt,addCreatedComponentToDynamicZone:j,allComponentsCategories:O,changeDynamicZoneComponents:wn,contentTypes:at,components:ft,createSchema:rt,deleteCategory:Ln,deleteData:xt,editCategory:Bn,editCustomFieldAttribute:qn,submitData:kn,modifiedData:de,nestedComponents:jn,setModifiedData:St,sortedContentTypesList:Un,updateSchema:_n,reservedNames:Be}=(0,ie.Z)(),{componentToCreate:qe,formErrors:Ze,initialData:P,isCreatingComponentWhileAddingAField:F,modifiedData:T}=B,L=f==="contentType"||f==="component"?[f]:[f,A];(0,a.useEffect)(()=>{if(h){const G=Un.filter(ct);p==="editCategory"&&St(),s==="edit"&&p==="attribute"&&f==="contentType"&&N("willEditFieldOfContentType");const me=[...L,"schema","attributes"],Ue=pn(Z()(de,me,[]),g)||null;if(p==="editCategory"&&s==="edit"&&v({type:Q._H,modalType:p,actionType:s,data:{name:m}}),p==="contentType"&&s==="create"&&v({type:Q._H,modalType:p,actionType:s,data:{draftAndPublish:!0},pluginOptions:{}}),p==="contentType"&&s==="edit"){const{displayName:W,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Re}=Z()(de,[...L,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});v({type:Q._H,actionType:s,modalType:p,data:{displayName:W,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Re}})}if(p==="component"&&s==="edit"){const W=Z()(de,L,{});v({type:Q._H,actionType:s,modalType:p,data:{displayName:W.schema.displayName,category:W.category,icon:W.schema.icon}})}if(p==="addComponentToDynamicZone"&&s==="edit"){const W=Mt(et({},Ue),{components:[],name:g,createComponent:!1,componentToCreate:{type:"component"}});v({type:Q.VZ,attributeToEdit:W})}if(u){const W=pn(Z()(de,me,[]),l),te=Mt(et({},W),{name:l});u==="component"&&s==="edit"&&(te.repeatable||kt()(te,"repeatable",!1)),v({type:Q.S0,attributeType:u,nameToSetForRelation:Z()(G,["0","title"],"error"),targetUid:Z()(G,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:te,step:M,forTarget:f})}}else v({type:Q.c2})},[s,l,u,m,g,f,h,p]);const oe=p==="contentType",Ie=p==="component",Pe=p==="attribute",ot=p==="customField",Ve=u==="component"&&Pe,ke=s==="create",je=Z()(T,"createComponent",!1)||F,st=M==="1",Tr=p==="editCategory",Er=p==="chooseAttribute",Wn=(0,Je.E)(T.displayName||""),Cr=Z()(de,[...L,"schema","attributes"],null),gl=()=>Xa(void 0,null,function*(){var G;let me;const Ue=je&&M==="1"?Z()(T,"componentToCreate",{}):T;if(oe)me=Le.contentType.schema(Object.keys(at),s==="edit",Z()(de,[...L,"uid"],null),Be,ce,at);else if(Ie)me=Le.component.schema(Object.keys(ft),T.category||"",Be,s==="edit",Z()(de,[...L,"uid"],null),ce);else if(ot)me=Le.customField.schema({schemaAttributes:Z()(de,[...L,"schema","attributes"],[]),attributeType:w.type,reservedNames:Be,schemaData:{modifiedData:T,initialData:P},ctbFormsAPI:ce,customFieldValidator:(G=w.options)==null?void 0:G.validator});else if(Ve&&je&&st)me=Le.component.schema(Object.keys(ft),Z()(T,"componentToCreate.category",""),Be,ce);else if(Pe&&!st){const W=u==="relation"?"relation":T.type;let te=[];if(W==="relation"){const K=Z()(T,["target"],null);te=Z()(at,[K,"schema","attributes"],[]).filter(({name:Ee})=>s!=="edit"?!0:Ee!==P.targetAttribute)}me=Le.attribute.schema(Z()(de,L,{}),W,Be,te,{modifiedData:T,initialData:P},ce)}else if(Tr)me=Le.editCategory.schema(O,P,ce);else if(st&&je)me=Le.component.schema(Object.keys(ft),Z()(T,"componentToCreate.category",""),Be,ce);else return;yield me.validate(Ue,{abortEarly:!1})}),Mr=(0,a.useCallback)(G=>{var{target:me}=G,Ue=me,{name:W,value:te,type:K}=Ue,be=Ot(Ue,["name","value","type"]);const Ee=["enumName","max","min","maxLength","minLength","regex","default"];let Re;Ee.includes(W)&&te===""?Re=null:Re=te;const xe=Object.assign({},Ze);W==="max"&&delete xe.min,W==="maxLength"&&delete xe.minLength,delete xe[W],v({type:Q.Ey,errors:xe}),v(et({type:Q.P0,keys:W.split("."),value:Re},be))},[v,Ze]),Te=(G,...me)=>Xa(void 0,[G,...me],function*(Ue,W=ke){Ue.preventDefault();try{yield gl(),yl(W);const te=f==="components"?A:Wn;if(oe)if(ke)rt(Mt(et({},T),{kind:E}),p,Wn),ee({pathname:`/plugins/${J.Z}/content-types/${Wn}`}),t({forTarget:f,targetUid:te});else{xs(de,T)?(e(),kn(T)):z({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(p==="component")if(ke){const K=(0,Je.N)(T.displayName,T.category),be=T,{category:Ee}=be,Re=Ot(be,["category"]);rt(Re,"component",K,Ee),ee({pathname:`/plugins/${J.Z}/component-categories/${Ee}/${K}`}),t({forTarget:f,targetUid:K})}else{_n(T,p,A),e();return}else if(Tr){if(We()(P.name)===We()(T.name)){e();return}Bn(P.name,T);return}else if(ot){const K={attributeToSet:Mt(et({},T),{customField:c,type:w.type}),forTarget:f,targetUid:A,initialAttribute:P};s==="edit"?qn(K):nt(K),W?t({forTarget:f,targetUid:te}):e();return}else if(Pe&&!je){if(u==="dynamiczone"){Ae(T,f,A,s==="edit",P),ke?(v({type:Q.I}),S.current._handlers.setSelectedTabIndex(0),n({dynamicZoneTarget:T.name})):e();return}if(!Ve){Ae(T,f,A,s==="edit",P),W?t({forTarget:f,targetUid:te}):e();return}if(st){o(),v({type:Q.yC,forTarget:f});return}Ae(T,f,A,s==="edit",P,!0),W?t({forTarget:f,targetUid:A}):e()}else if(Pe&&je){if(st){N("willCreateComponentFromAttributesModal"),v({type:Q.oF,forTarget:f}),o();return}const K=qe,{category:be,type:Ee}=K,Re=Ot(K,["category","type"]),xe=(0,Je.N)(qe.displayName,be);rt(Re,Ee,xe,be,je),Ae(T,f,A,!1),v({type:Q.c2}),W?t({forTarget:"components",targetUid:xe}):e();return}else{if(st)if(je){const K=T.componentToCreate,{category:be,type:Ee}=K,Re=Ot(K,["category","type"]),xe=(0,Je.N)(T.componentToCreate.displayName,be);rt(Re,Ee,xe,be,je),j(g,[xe]),t({forTarget:"components",targetUid:xe})}else wn(g,T.components),e();else Va.error("This case is not handled");return}v({type:Q.c2})}catch(te){const K=(0,R.getYupInnerErrors)(te);Va.log({err:te,errors:K}),v({type:Q.Ey,errors:K})}}),Or=()=>{e(),v({type:Q.c2})},fl=G=>{if(G==="advanced"){if(oe){N("didSelectContentTypeSettings");return}f==="contentType"&&N("didSelectContentTypeFieldSettings")}},yl=G=>{p==="attribute"&&f==="contentType"&&u!=="dynamiczone"&&G&&N("willAddMoreFieldToContentType")},hl=()=>!!(p==="editCategory"||p==="component"||Ke()(T,"createComponent")),bl=Ss(f,A,jn);if(!h||!p)return null;const Pr=Z()(Le,[p,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),vl=f==="components"||f==="component",Rr={customInputs:et({"allowed-types-select":He,"boolean-radio-group":uo,"checkbox-with-number-field":ho,"component-icon-picker":Zo,"content-type-radio-group":Oo,"radio-group":Qt,relation:es,"select-category":ss,"select-component":is,"select-components":ls,"select-default-boolean":eo,"select-number":cs,"select-date":us,"toggle-draft-publish":zr,"text-plural":os,"text-singular":fs,"textarea-enum":Rs},he),componentToCreate:qe,dynamicZoneTarget:g,formErrors:Ze,isAddingAComponentToAnotherComponent:vl,isCreatingComponentWhileAddingAField:F,mainBoxHeader:Z()(de,[...L,"schema","displayName"],""),modifiedData:T,naturePickerType:f,isCreating:ke,targetUid:A,forTarget:f},xr=Pr.advanced({data:T,type:u,step:M,actionType:s,attributes:Cr,extensions:ce,forTarget:f,contentTypeSchema:de.contentType||{},customField:w}).sections,Sr=Pr.base({data:T,type:u,step:M,actionType:s,attributes:Cr,extensions:ce,forTarget:f,contentTypeSchema:de.contentType||{},customField:w}).sections,Tl=Aa(Sr),El=Aa(xr),Cl=Object.keys(Ze).some(G=>Tl.includes(G)),Ml=Object.keys(Ze).some(G=>El.includes(G)),Ol=Z()(at,[A,"schema","kind"]);return a.createElement(De.ModalLayout,{onClose:Or,labelledBy:"title"},a.createElement(Vr,{actionType:s,attributeName:l,categoryName:m,contentTypeKind:E,dynamicZoneTarget:g,modalType:p,forTarget:f,targetUid:A,attributeType:u,customFieldUid:c}),Er&&a.createElement(Br,{attributes:bl,forTarget:f,kind:Ol||"collectionType"}),!Er&&a.createElement("form",{onSubmit:Te},a.createElement(De.ModalBody,null,a.createElement(ne.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:S,onTabChange:G=>{G===1&&fl("advanced")}},a.createElement($.Flex,{justifyContent:"space-between"},a.createElement(Hr,{actionType:s,forTarget:f,kind:E,step:M,modalType:p,attributeType:u,attributeName:l,customField:w}),a.createElement(ne.Tabs,null,a.createElement(ne.Tab,{hasError:Cl},Y({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),a.createElement(ne.Tab,{hasError:Ml,disabled:hl()},Y({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),a.createElement(lt.Divider,null),a.createElement(q.Box,{paddingTop:6},a.createElement(ne.TabPanels,null,a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Pa,{form:Sr,formErrors:Ze,genericInputProps:Rr,modifiedData:T,onChange:Mr}))),a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Pa,{form:xr,formErrors:Ze,genericInputProps:Rr,modifiedData:T,onChange:Mr}))))))),a.createElement(De.ModalFooter,{endActions:a.createElement(Gr,{deleteCategory:Ln,deleteContentType:xt,deleteComponent:xt,categoryName:P.name,isAttributeModal:p==="attribute",isCustomFieldModal:p==="customField",isComponentToDzModal:p==="addComponentToDynamicZone",isComponentAttribute:u==="component",isComponentModal:p==="component",isContentTypeModal:p==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:T.createComponent||!1,isCreatingComponentInDz:T.createComponent||!1,isCreatingComponentWhileAddingAField:F,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:u==="dynamiczone",isEditingCategory:p==="editCategory",isInFirstComponentStep:M==="1",onSubmitAddComponentAttribute:Te,onSubmitAddComponentToDz:Te,onSubmitCreateComponent:Te,onSubmitCreateContentType:Te,onSubmitCreateDz:Te,onSubmitEditAttribute:Te,onSubmitEditCategory:Te,onSubmitEditComponent:Te,onSubmitEditContentType:Te,onSubmitEditCustomFieldAttribute:Te,onSubmitEditDz:Te}),startActions:a.createElement(_.Button,{variant:"tertiary",onClick:Or},Y({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))})))},Ya=e=>e.reduce((t,n)=>(t[n.uid]=n,t),{}),li=(e,t,n,o)=>{const s=t.reduce((c,m)=>{const g=Z()(n,m,{});return c[m]=g,c},{});return{[o?"contentType":"component"]:e,components:s}},ui=(e,t)=>{const n=Object.keys(e).map(o=>(0,D.get)(e,[o,...t],""));return(0,Fe.Z)(n)};var ci=i(13339);const di=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=(0,D.get)(e,[o,"schema","attributes"],[]),l=mi(s);return[...n,...l]},[]);return(0,Fe.Z)(t)},mi=e=>e.reduce((t,n)=>{const{type:o,component:s}=n;return o==="component"&&t.push(s),t},[]),Ja=di,pi=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=Z()(e,[o],{}),l=s.uid;return gi(s)&&n.push(l),n},[]);return(0,Fe.Z)(t)},gi=e=>Z()(e,["schema","attributes"],[]).some(n=>{const{type:o}=n;return o==="component"});var fi=Object.defineProperty,yi=Object.defineProperties,hi=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertySymbols,Qa=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,tr=(e,t,n)=>t in e?fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bi=(e,t)=>{for(var n in t||(t={}))Qa.call(t,n)&&tr(e,n,t[n]);if(Pt)for(var n of Pt(t))er.call(t,n)&&tr(e,n,t[n]);return e},vi=(e,t)=>yi(e,hi(t)),Ti=(e,t)=>{var n={};for(var o in e)Qa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Pt)for(var o of Pt(e))t.indexOf(o)<0&&er.call(e,o)&&(n[o]=e[o]);return n};const Ei=(e,t)=>{const n=Object.keys(e).filter(o=>{const s=(0,D.get)(e,o,{}),l=(0,D.get)(t,o,{}),u=(0,D.get)(s,["isTemporary"],!1),c=!(0,D.isEqual)(s,l);return u||c});return(0,Fe.Z)(n)},Ci=(e,t)=>{const n=ar((0,D.get)(e,"schema.attributes",[]),t),o=(0,D.get)(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},(0,D.omit)(e.schema,"attributes"),{attributes:n})},nr=(e,t=!1)=>{const n=(0,D.get)(e,"uid",null),o=ar((0,D.get)(e,"schema.attributes",[]),n),s=t?{category:(0,D.get)(e,"category","")}:{},l=Object.assign(s,(0,D.omit)(e.schema,"attributes"),{attributes:o});return delete l.uid,delete l.isTemporary,delete l.visible,delete l.restrictRelationsTo,l},ar=(e,t)=>e.reduce((n,o)=>{var s=o,{name:l}=s,u=Ti(s,["name"]);const c=u,m=c.target===t,g=c.type==="relation",f=(0,D.get)(c,"targetAttribute",null);if(!m)if(g){const p=Object.assign({},c,{targetAttribute:rr(f)});n[l]=Rt(p)}else n[l]=Rt(c);if(m){const p=c.target,h=Object.assign({},c,{target:p,targetAttribute:rr(f)});n[l]=Rt(h)}if(c.customField){const p=vi(bi({},c),{type:"customField"});n[l]=Rt(p)}return n},{}),rr=e=>e==="-"?null:e,Rt=e=>Object.keys(e).reduce((t,n)=>(e[n]!==null&&n!=="plugin"&&(t[n]=e[n]),t),{}),Mi=(e,t,n,o=!1)=>Ei(e,t).map(u=>{const c=(0,D.get)(e,u,{});return Ci(c,n,o)}),Oi=e=>(0,D.sortBy)(Object.keys(e).map(t=>({visible:e[t].schema.visible,name:t,title:e[t].schema.displayName,plugin:e[t].plugin||null,uid:t,to:`/plugins/${J.Z}/content-types/${t}`,kind:e[t].schema.kind,restrictRelationsTo:e[t].schema.restrictRelationsTo})).filter(t=>t!==null),t=>(0,D.camelCase)(t.title)),or="did-not-kill-server",Pi="server is down";function pt(e,t){return new Promise(n=>{fetch(`${strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":!1}}).then(o=>{if(o.status>=400)throw new Error(Pi);if(!t)throw new Error(or);n(e)}).catch(o=>{setTimeout(()=>pt(e,o.message!==or).then(n),100)})})}const Ri=e=>Object.values(e.attributes).filter(({type:n})=>n==="dynamiczone").every(({components:n})=>Array.isArray(n)&&n.length>0);var ae=i(31947),xi=i(54370);const Si=()=>e=>e[`${J.Z}_dataManagerProvider`]||xi.E,Ai=()=>(0,za.P1)(Si(),e=>e);var Fi=Object.defineProperty,Di=Object.defineProperties,Ni=Object.getOwnPropertyDescriptors,sr=Object.getOwnPropertySymbols,Zi=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable,ir=(e,t,n)=>t in e?Fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fn=(e,t)=>{for(var n in t||(t={}))Zi.call(t,n)&&ir(e,n,t[n]);if(sr)for(var n of sr(t))Ii.call(t,n)&&ir(e,n,t[n]);return e},Dn=(e,t)=>Di(e,Ni(t));const wi=e=>Object.keys(e).reduce((t,n)=>{const o=e[n].schema;return t[n]=Dn(Fn({},e[n]),{schema:Dn(Fn({},o),{attributes:Li(o.attributes)})}),t},{}),Li=e=>Object.keys(e).reduce((t,n)=>(t.push(Dn(Fn({},e[n]),{name:n})),t),[]),lr=wi;var gt=i(98399),Bi=Object.defineProperty,ur=Object.getOwnPropertySymbols,qi=Object.prototype.hasOwnProperty,ki=Object.prototype.propertyIsEnumerable,cr=(e,t,n)=>t in e?Bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dr=(e,t)=>{for(var n in t||(t={}))qi.call(t,n)&&cr(e,n,t[n]);if(ur)for(var n of ur(t))ki.call(t,n)&&cr(e,n,t[n]);return e},tt=(e,t,n)=>new Promise((o,s)=>{var l=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(l,u);c((n=n.apply(e,t)).next())});const Nn=({allIcons:e,children:t,components:n,contentTypes:o,isLoading:s,isLoadingForDataToBeSet:l,initialData:u,modifiedData:c,reservedNames:m})=>{const g=(0,ve.useDispatch)(),f=(0,R.useNotification)(),{lockAppWithAutoreload:p,unlockAppWithAutoreload:h}=(0,R.useAutoReloadOverlayBlocker)(),{setCurrentStep:E}=(0,R.useGuidedTour)(),{getPlugin:M}=(0,R.useStrapiApp)(),{apis:A}=M(J.Z),{autoReload:w}=(0,R.useAppInfos)(),{formatMessage:S}=(0,I.useIntl)(),{trackUsage:C}=(0,R.useTracking)(),{refetchPermissions:v}=(0,R.useRBACProvider)(),{pathname:z}=(0,U.useLocation)(),{onCloseModal:B}=(0,_e.Z)(),ee=(0,U.useRouteMatch)(`/plugins/${J.Z}/content-types/:uid`),N=(0,U.useRouteMatch)(`/plugins/${J.Z}/component-categories/:categoryUid/:componentUid`),Y=(0,a.useRef)();Y.current=S;const fe=w,re=ee!==null,ce=re?"contentType":"component",he=re?(0,D.get)(ee,"params.uid",null):(0,D.get)(N,"params.componentUid",null),Ae=(0,a.useRef)(),nt=re?"content-types":"components";Ae.current=()=>tt(void 0,null,function*(){try{const[{data:{data:P}},{data:{data:F}},{data:T}]=yield Promise.all(["components","content-types","reserved-names"].map(ot=>we.get(ot))),L=Ya(P),oe=lr(L),Ie=Ya(F),Pe=lr(Ie);g({type:ae.Id,components:oe,contentTypes:Pe,reservedNames:T})}catch(P){gt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}}),(0,a.useEffect)(()=>(Ae.current(),()=>{g({type:ae.Zl})}),[]),(0,a.useEffect)(()=>{!s&&he&&St()},[s,z,he]),(0,a.useEffect)(()=>{w||f({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[w,f]);const j=(P,F,T,L=!1,oe,Ie=!1)=>{const Pe=L?ae.JO:ae.gz;g({type:Pe,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:oe,shouldAddComponentToData:Ie})},O=({attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})=>{g({type:ae.Ir,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})},wn=({attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})=>{g({type:ae.Ly,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})},at=(P,F)=>{g({type:ae.Uu,dynamicZoneTarget:P,componentsToAdd:F})},ft=(P,F,T,L,oe=!1)=>{const Ie=F==="contentType"?ae.Sh:ae.VR;g({type:Ie,data:P,componentCategory:L,schemaType:F,uid:T,shouldAddComponentToData:oe})},rt=(P,F)=>{g({type:ae.o_,dynamicZoneTarget:P,newComponents:F})},Ln=(P,F,T="")=>{const L=P==="components"?ae.lw:ae.ai;P==="contentType"&&C("willDeleteFieldOfContentType"),g({type:L,mainDataKey:P,attributeToRemoveName:F,componentUid:T})},xt=P=>tt(void 0,null,function*(){try{const F=`/component-categories/${P}`,T=window.confirm(S({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));B(),T&&(p(),yield we.delete(F),yield pt(!0),yield h(),yield qe())}catch(F){gt.error({err:F}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),Bn=()=>tt(void 0,null,function*(){try{const P=`/${nt}/${he}`,F=(0,D.get)(c,[ce,"isTemporary"],!1),T=window.confirm(S({id:(0,d.Z)(`popUpWarning.bodyMessage.${re?"contentType":"component"}.delete`)}));if(B(),T){if(F){g({type:ae.Ap});return}p(),yield we.delete(P),yield pt(!0),yield h(),yield qe()}}catch(P){gt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),qn=(P,F)=>tt(void 0,null,function*(){try{const T=`/component-categories/${P}`;B(),p(),yield we({url:T,method:"PUT",data:F}),yield pt(!0),yield h(),yield qe()}catch(T){gt.error({err:T}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),kn=()=>{const P=Object.assign({},n,c.components);if(!re){const T=(0,D.get)(c,"component",{});(0,D.set)(P,(0,D.get)(T,["uid"],""),T)}const F=pi(P);return(0,Fe.Z)(F)},de=()=>{const P=Ja(n),F=Ja(c.components||{});return(0,Fe.Z)([...F,...P])},jn=(P,F)=>{g({type:ae.NG,dzName:P,componentToRemoveIndex:F})},St=()=>{const P=re?o:n,F=(0,D.get)(P,he,{schema:{attributes:[]}}),T=(0,ci.Z)(F.schema.attributes,n),L=li(F,T,n,re),oe=(0,D.get)(F,"isTemporary",!1)&&(0,D.size)((0,D.get)(F,"schema.attributes",[]))===0;g({type:ae.xx,schemaToSet:L,hasJustCreatedSchema:oe})},Un=(0,a.useMemo)(()=>{const P=re?o:n;return he==="create-content-type"?!1:!Object.keys(P).includes(he)&&!s},[n,o,he,re,s]),_n=(0,a.useMemo)(()=>{const P=Object.keys(o).filter(F=>(0,D.get)(o,[F,"schema","visible"],!0)).sort();return(0,D.get)(P,"0","create-content-type")},[o]);if(Un)return a.createElement(U.Redirect,{to:`/plugins/${J.Z}/content-types/${_n}`});const Be=P=>tt(void 0,null,function*(){var F,T;try{const L=(0,D.get)(c,[ce,"isTemporary"],!1),oe={components:Mi(c.components,n,he,L)};if(re){const Ve=A.forms.mutateContentTypeSchema(dr(dr({},nr(c.contentType)),P),u.contentType);if(!Ri(Ve)){f({type:"warning",message:{id:(0,d.Z)("notification.error.dynamiczone-min.validation"),defaultMessage:"At least one component is required in a dynamic zone to be able to save a content type"}});return}oe.contentType=Ve,C("willSaveContentType")}else oe.component=nr(c.component,!0),C("willSaveComponent");const Ie=L?"POST":"PUT",Pe=`/${nt}`,ot=L?Pe:`${Pe}/${he}`;if(p(),yield we({url:ot,method:Ie,data:oe}),yield pt(!0),yield h(),L&&(((F=u.contentType)==null?void 0:F.schema.kind)==="collectionType"||((T=u.contentType)==null?void 0:T.schema.kind)==="singleType")&&E("contentTypeBuilder.success"),re){C("didSaveContentType");const Ve=(0,D.get)(oe,["contentType","schema","name"],""),ke=(0,D.get)(u,["contentType","schema","name"],"");!L&&Ve!==ke&&C("didEditNameOfContentType")}else C("didSaveComponent");yield qe()}catch(L){re||C("didNotSaveComponent"),gt.error({err:L.response}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),qe=()=>tt(void 0,null,function*(){yield v()}),Ze=(P,F,T)=>{g({type:ae.bi,data:P,schemaType:F,uid:T})};return a.createElement(Nt.Z.Provider,{value:{addAttribute:j,addCustomFieldAttribute:O,addCreatedComponentToDynamicZone:at,allComponentsCategories:ui(n,["category"]),allIcons:e,changeDynamicZoneComponents:rt,components:n,componentsGroupedByCategory:(0,D.groupBy)(n,"category"),componentsThatHaveOtherComponentInTheirAttributes:kn(),contentTypes:o,createSchema:ft,deleteCategory:xt,deleteData:Bn,editCategory:qn,editCustomFieldAttribute:wn,isInDevelopmentMode:fe,initialData:u,isInContentTypeView:re,modifiedData:c,nestedComponents:de(),removeAttribute:Ln,removeComponentFromDynamicZone:jn,reservedNames:m,setModifiedData:St,sortedContentTypesList:Oi(o),submitData:Be,updateSchema:Ze}},l?a.createElement(R.LoadingIndicatorPage,null):a.createElement(a.Fragment,null,t,fe&&a.createElement(ii,null)))};Nn.defaultProps={components:{}},Nn.propTypes={allIcons:r().array.isRequired,children:r().node.isRequired,components:r().object,contentTypes:r().object.isRequired,isLoading:r().bool.isRequired,isLoadingForDataToBeSet:r().bool.isRequired,initialData:r().object.isRequired,modifiedData:r().object.isRequired,reservedNames:r().object.isRequired};const ji=Ai(),Ui=(0,ve.connect)(ji,null),_i=(0,Dt.compose)(Ui)((0,a.memo)(Nn));var Wi=i(51216);const mr={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null,customFieldUid:null};var $i=Object.defineProperty,zi=Object.defineProperties,Vi=Object.getOwnPropertyDescriptors,pr=Object.getOwnPropertySymbols,Gi=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable,gr=(e,t,n)=>t in e?$i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ge=(e,t)=>{for(var n in t||(t={}))Gi.call(t,n)&&gr(e,n,t[n]);if(pr)for(var n of pr(t))Ki.call(t,n)&&gr(e,n,t[n]);return e},ye=(e,t)=>zi(e,Vi(t));const fr=({children:e})=>{const[t,n]=(0,a.useState)(mr),{trackUsage:o}=(0,R.useTracking)(),s=({attributeType:S,customFieldUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",modalType:"customField",attributeType:S,customFieldUid:C}))},l=({attributeType:S,step:C})=>{t.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:S}),n(v=>ye(ge({},v),{actionType:"create",modalType:"attribute",step:C,attributeType:S}))},u=({dynamicZoneTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{dynamicZoneTarget:S,targetUid:C,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},c=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",forTarget:S,targetUid:C,modalType:"chooseAttribute",isOpen:!0}))},m=S=>{n(C=>ye(ge(ge({},C),S),{isOpen:!0}))},g=S=>{n(C=>ye(ge({},C),{categoryName:S,actionType:"edit",modalType:"editCategory",isOpen:!0}))},f=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,customFieldUid:B})=>{n(ee=>ye(ge({},ee),{modalType:"customField",customFieldUid:B,actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,isOpen:!0}))},p=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B})=>{n(ee=>ye(ge({},ee),{modalType:"attribute",actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B,isOpen:!0}))},h=({modalType:S,forTarget:C,targetUid:v,kind:z})=>{n(B=>ye(ge({},B),{modalType:S,actionType:"edit",forTarget:C,targetUid:v,kind:z,isOpen:!0}))},E=()=>{n(mr)},M=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{forTarget:S,targetUid:C,modalType:"chooseAttribute"}))},A=()=>{n(S=>ye(ge({},S),{attributeType:"component",modalType:"attribute",step:"2"}))},w=({dynamicZoneTarget:S})=>{n(C=>ye(ge({},C),{dynamicZoneTarget:S,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return a.createElement(Wi.Z.Provider,{value:ye(ge({},t),{onClickSelectField:l,onClickSelectCustomField:s,onCloseModal:E,onNavigateToChooseAttributeModal:M,onNavigateToAddCompoToDZModal:w,onOpenModalAddComponentsToDZ:u,onNavigateToCreateComponentStep2:A,onOpenModalAddField:c,onOpenModalCreateSchema:m,onOpenModalEditCategory:g,onOpenModalEditField:p,onOpenModalEditCustomField:f,onOpenModalEditSchema:h,setFormModalNavigationState:n})},e)};fr.propTypes={children:r().node.isRequired};const Hi=fr,Xi=(0,a.lazy)(()=>i.e(5905).then(i.bind(i,14515))),Yi=()=>{const{url:e}=(0,U.useRouteMatch)(),{categoryUid:t}=(0,U.useParams)();return a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`${e}/:componentUid`},a.createElement(Xi,{categoryId:t}))))},Ji=JSON.parse('["ad","address-book","address-card","adjust","air-freshener","align-center","align-justify","align-left","align-right","allergies","ambulance","american-sign-language-interpreting","anchor","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angle-down","angle-left","angle-right","angle-up","angry","ankh","apple-alt","archive","archway","arrow-alt-circle-down","arrow-alt-circle-left","arrow-alt-circle-right","arrow-alt-circle-up","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-down","arrow-left","arrow-right","arrow-up","arrows-alt","arrows-alt-h","arrows-alt-v","assistive-listening-systems","asterisk","at","atlas","atom","audio-description","award","baby","baby-carriage","backspace","backward","bacon","balance-scale","balance-scale-left","balance-scale-right","ban","band-aid","barcode","bars","baseball-ball","basketball-ball","bath","battery-empty","battery-full","battery-half","battery-quarter","battery-three-quarters","bed","beer","bell","bell-slash","bezier-curve","bible","bicycle","biking","binoculars","biohazard","birthday-cake","blender","blender-phone","blind","blog","bold","bolt","bomb","bone","bong","book","book-dead","book-medical","book-open","book-reader","bookmark","border-all","border-none","border-style","bowling-ball","box","box-open","boxes","braille","brain","bread-slice","briefcase","briefcase-medical","broadcast-tower","broom","brush","bug","building","bullhorn","bullseye","burn","bus","bus-alt","business-time","calculator","calendar","calendar-alt","calendar-check","calendar-day","calendar-minus","calendar-plus","calendar-times","calendar-week","camera","camera-retro","campground","candy-cane","cannabis","capsules","car","car-alt","car-battery","car-crash","car-side","caret-down","caret-left","caret-right","caret-square-down","caret-square-left","caret-square-right","caret-square-up","caret-up","carrot","cart-arrow-down","cart-plus","cash-register","cat","certificate","chair","chalkboard","chalkboard-teacher","charging-station","chart-area","chart-bar","chart-line","chart-pie","check","check-circle","check-double","check-square","cheese","chess","chess-bishop","chess-board","chess-king","chess-knight","chess-pawn","chess-queen","chess-rook","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-down","chevron-left","chevron-right","chevron-up","child","church","circle","circle-notch","city","clinic-medical","clipboard","clipboard-check","clipboard-list","clock","clone","closed-captioning","cloud","cloud-download-alt","cloud-meatball","cloud-moon","cloud-moon-rain","cloud-rain","cloud-showers-heavy","cloud-sun","cloud-sun-rain","cloud-upload-alt","cocktail","code","code-branch","coffee","cog","cogs","coins","columns","comment","comment-alt","comment-dollar","comment-dots","comment-medical","comment-slash","comments","comments-dollar","compact-disc","compass","compress","compress-arrows-alt","concierge-bell","cookie","cookie-bite","copy","copyright","couch","credit-card","crop","crop-alt","cross","crosshairs","crow","crown","crutch","cube","cubes","cut","database","deaf","democrat","desktop","dharmachakra","diagnoses","dice","dice-d20","dice-d6","dice-five","dice-four","dice-one","dice-six","dice-three","dice-two","digital-tachograph","directions","divide","dizzy","dna","dog","dollar-sign","dolly","dolly-flatbed","donate","door-closed","door-open","dot-circle","dove","download","drafting-compass","dragon","draw-polygon","drum","drum-steelpan","drumstick-bite","dumbbell","dumpster","dumpster-fire","dungeon","edit","egg","eject","ellipsis-h","ellipsis-v","envelope","envelope-open","envelope-open-text","envelope-square","equals","eraser","ethernet","euro-sign","exchange-alt","exclamation","exclamation-circle","exclamation-triangle","expand","expand-arrows-alt","external-link-alt","external-link-square-alt","eye","eye-dropper","eye-slash","fan","fast-backward","fast-forward","fax","feather","feather-alt","female","fighter-jet","file","file-alt","file-archive","file-audio","file-code","file-contract","file-csv","file-download","file-excel","file-export","file-image","file-import","file-invoice","file-invoice-dollar","file-medical","file-medical-alt","file-pdf","file-powerpoint","file-prescription","file-signature","file-upload","file-video","file-word","fill","fill-drip","film","filter","fingerprint","fire","fire-alt","fire-extinguisher","first-aid","fish","fist-raised","flag","flag-checkered","flag-usa","flask","flushed","folder","folder-minus","folder-open","folder-plus","font","football-ball","forward","frog","frown","frown-open","funnel-dollar","futbol","gamepad","gas-pump","gavel","gem","genderless","ghost","gift","gifts","glass-cheers","glass-martini","glass-martini-alt","glass-whiskey","glasses","globe","globe-africa","globe-americas","globe-asia","globe-europe","golf-ball","gopuram","graduation-cap","greater-than","greater-than-equal","grimace","grin","grin-alt","grin-beam","grin-beam-sweat","grin-hearts","grin-squint","grin-squint-tears","grin-stars","grin-tears","grin-tongue","grin-tongue-squint","grin-tongue-wink","grin-wink","grip-horizontal","grip-lines","grip-lines-vertical","grip-vertical","guitar","h-square","hamburger","hammer","hamsa","hand-holding","hand-holding-heart","hand-holding-usd","hand-lizard","hand-middle-finger","hand-paper","hand-peace","hand-point-down","hand-point-left","hand-point-right","hand-point-up","hand-pointer","hand-rock","hand-scissors","hand-spock","hands","hands-helping","handshake","hanukiah","hard-hat","hashtag","hat-cowboy","hat-cowboy-side","hat-wizard","haykal","hdd","heading","headphones","headphones-alt","headset","heart","heart-broken","heartbeat","helicopter","highlighter","hiking","hippo","history","hockey-puck","holly-berry","home","horse","horse-head","hospital","hospital-alt","hospital-symbol","hot-tub","hotdog","hotel","hourglass","hourglass-end","hourglass-half","hourglass-start","house-damage","hryvnia","i-cursor","ice-cream","icicles","icons","id-badge","id-card","id-card-alt","igloo","image","images","inbox","indent","industry","infinity","info","info-circle","italic","jedi","joint","journal-whills","kaaba","key","keyboard","khanda","kiss","kiss-beam","kiss-wink-heart","kiwi-bird","landmark","language","laptop","laptop-code","laptop-medical","laugh","laugh-beam","laugh-squint","laugh-wink","layer-group","leaf","lemon","less-than","less-than-equal","level-down-alt","level-up-alt","life-ring","lightbulb","link","lira-sign","list","list-alt","list-ol","list-ul","location-arrow","lock","lock-open","long-arrow-alt-down","long-arrow-alt-left","long-arrow-alt-right","long-arrow-alt-up","low-vision","luggage-cart","magic","magnet","mail-bulk","male","map","map-marked","map-marked-alt","map-marker","map-marker-alt","map-pin","map-signs","marker","mars","mars-double","mars-stroke","mars-stroke-h","mars-stroke-v","mask","medal","medkit","meh","meh-blank","meh-rolling-eyes","memory","menorah","mercury","meteor","microchip","microphone","microphone-alt","microphone-alt-slash","microphone-slash","microscope","minus","minus-circle","minus-square","mitten","mobile","mobile-alt","money-bill","money-bill-alt","money-bill-wave","money-bill-wave-alt","money-check","money-check-alt","monument","moon","mortar-pestle","mosque","motorcycle","mountain","mouse","mouse-pointer","mug-hot","music","network-wired","neuter","newspaper","not-equal","notes-medical","object-group","object-ungroup","oil-can","om","otter","outdent","pager","paint-brush","paint-roller","palette","pallet","paper-plane","paperclip","parachute-box","paragraph","parking","passport","pastafarianism","paste","pause","pause-circle","paw","peace","pen","pen-alt","pen-fancy","pen-nib","pen-square","pencil-alt","pencil-ruler","people-carry","pepper-hot","percent","percentage","person-booth","phone","phone-alt","phone-slash","phone-square","phone-square-alt","phone-volume","photo-video","piggy-bank","pills","pizza-slice","place-of-worship","plane","plane-arrival","plane-departure","play","play-circle","plug","plus","plus-circle","plus-square","podcast","poll","poll-h","poo","poo-storm","poop","portrait","pound-sign","power-off","pray","praying-hands","prescription","prescription-bottle","prescription-bottle-alt","print","procedures","project-diagram","puzzle-piece","qrcode","question","question-circle","quidditch","quote-left","quote-right","quran","radiation","radiation-alt","rainbow","random","receipt","record-vinyl","recycle","redo","redo-alt","registered","remove-format","reply","reply-all","republican","restroom","retweet","ribbon","ring","road","robot","rocket","route","rss","rss-square","ruble-sign","ruler","ruler-combined","ruler-horizontal","ruler-vertical","running","rupee-sign","sad-cry","sad-tear","satellite","satellite-dish","save","school","screwdriver","scroll","sd-card","search","search-dollar","search-location","search-minus","search-plus","seedling","server","shapes","share","share-alt","share-alt-square","share-square","shekel-sign","shield-alt","ship","shipping-fast","shoe-prints","shopping-bag","shopping-basket","shopping-cart","shower","shuttle-van","sign","sign-in-alt","sign-language","sign-out-alt","signal","signature","sim-card","sitemap","skating","skiing","skiing-nordic","skull","skull-crossbones","slash","sleigh","sliders-h","smile","smile-beam","smile-wink","smog","smoking","smoking-ban","sms","snowboarding","snowflake","snowman","snowplow","socks","solar-panel","sort","sort-alpha-down","sort-alpha-down-alt","sort-alpha-up","sort-alpha-up-alt","sort-amount-down","sort-amount-down-alt","sort-amount-up","sort-amount-up-alt","sort-down","sort-numeric-down","sort-numeric-down-alt","sort-numeric-up","sort-numeric-up-alt","sort-up","spa","space-shuttle","spell-check","spider","spinner","splotch","spray-can","square","square-full","square-root-alt","stamp","star","star-and-crescent","star-half","star-half-alt","star-of-david","star-of-life","step-backward","step-forward","stethoscope","sticky-note","stop","stop-circle","stopwatch","store","store-alt","stream","street-view","strikethrough","stroopwafel","subscript","subway","suitcase","suitcase-rolling","sun","superscript","surprise","swatchbook","swimmer","swimming-pool","synagogue","sync","sync-alt","syringe","table","table-tennis","tablet","tablet-alt","tablets","tachometer-alt","tag","tags","tape","tasks","taxi","teeth","teeth-open","temperature-high","temperature-low","tenge","terminal","text-height","text-width","th","th-large","th-list","theater-masks","thermometer","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","thumbs-down","thumbs-up","thumbtack","ticket-alt","times","times-circle","tint","tint-slash","tired","toggle-off","toggle-on","toilet","toilet-paper","toolbox","tools","tooth","torah","torii-gate","tractor","trademark","traffic-light","train","tram","transgender","transgender-alt","trash","trash-alt","trash-restore","trash-restore-alt","tree","trophy","truck","truck-loading","truck-monster","truck-moving","truck-pickup","tshirt","tty","tv","umbrella","umbrella-beach","underline","undo","undo-alt","universal-access","university","unlink","unlock","unlock-alt","upload","user","user-alt","user-alt-slash","user-astronaut","user-check","user-circle","user-clock","user-cog","user-edit","user-friends","user-graduate","user-injured","user-lock","user-md","user-minus","user-ninja","user-nurse","user-plus","user-secret","user-shield","user-slash","user-tag","user-tie","user-times","users","users-cog","utensil-spoon","utensils","vector-square","venus","venus-double","venus-mars","vial","vials","video","video-slash","vihara","voicemail","volleyball-ball","volume-down","volume-mute","volume-off","volume-up","vote-yea","vr-cardboard","walking","wallet","warehouse","water","wave-square","weight","weight-hanging","wheelchair","wifi","wind","window-close","window-maximize","window-minimize","window-restore","wine-bottle","wine-glass","wine-glass-alt","won-sign","wrench","x-ray","yen-sign","yin-yang"]');var ze=i(89420),Qi=i(74201),el=i(86834),tl=i.n(el),nl=i(98978),yr=i.n(nl),al=i(89793),rl=i.n(al),ol=i(58469),sl=Object.defineProperty,il=Object.defineProperties,ll=Object.getOwnPropertyDescriptors,hr=Object.getOwnPropertySymbols,ul=Object.prototype.hasOwnProperty,cl=Object.prototype.propertyIsEnumerable,br=(e,t,n)=>t in e?sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zn=(e,t)=>{for(var n in t||(t={}))ul.call(t,n)&&br(e,n,t[n]);if(hr)for(var n of hr(t))cl.call(t,n)&&br(e,n,t[n]);return e},In=(e,t)=>il(e,ll(t));const dl=()=>{const{components:e,componentsGroupedByCategory:t,contentTypes:n,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:l,initialData:u}=(0,ie.Z)(),c=(0,R.useNotification)(),{trackUsage:m}=(0,R.useTracking)(),[g,f]=(0,a.useState)(""),{onOpenModalCreateSchema:p,onOpenModalEditCategory:h}=(0,_e.Z)(),E=yr()(Object.keys(t).map(N=>({name:N,title:N,isEditable:o,onClickEdit(Y,fe){Y.stopPropagation(),M?h(fe.name):C()},links:yr()(t[N].map(Y=>({name:Y.uid,to:`/plugins/${J.Z}/component-categories/${N}/${Y.uid}`,title:Y.schema.displayName})),Y=>Y.title)})),N=>N.title),M=!Object.keys(n).some(N=>n[N].isTemporary===!0)&&!Object.keys(e).some(N=>e[N].isTemporary===!0)&&rl()(l,u),A=()=>{M?(m("willCreateContentType"),p({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):C()},w=()=>{M?(m("willCreateSingleType"),p({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):C()},S=()=>{M?(m("willCreateComponent"),p({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):C()},C=()=>{c({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},v=s.filter(N=>N.visible),z=[{name:"models",title:{id:`${(0,d.Z)("menu.section.models.name")}`,defaultMessage:"Collection Types"},customLink:o&&{id:`${(0,d.Z)("button.model.create")}`,defaultMessage:"Create new collection type",onClick:A},links:v.filter(N=>N.kind==="collectionType")},{name:"singleTypes",title:{id:`${(0,d.Z)("menu.section.single-types.name")}`,defaultMessage:"Single Types"},customLink:o&&{id:`${(0,d.Z)("button.single-types.create")}`,defaultMessage:"Create new single type",onClick:w},links:v.filter(N=>N.kind==="singleType")},{name:"components",title:{id:`${(0,d.Z)("menu.section.components.name")}`,defaultMessage:"Components"},customLink:o&&{id:`${(0,d.Z)("button.component.create")}`,defaultMessage:"Create a new component",onClick:S},links:E}],B=N=>(0,ol.ZP)(N,We()(g),{keys:[Y=>We()(Y.title)]});return{menu:(()=>z.map(N=>N.links.some(fe=>!tl()(fe.links))?In(Zn({},N),{links:N.links.map(fe=>In(Zn({},fe),{links:B(fe.links)}))}):In(Zn({},N),{links:B(N.links)})))(),searchValue:g,onSearchChange:f}},ml=()=>{const{menu:e,searchValue:t,onSearchChange:n}=dl(),{formatMessage:o}=(0,I.useIntl)();return a.createElement(ze.SubNav,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},a.createElement(ze.SubNavHeader,{searchable:!0,value:t,onClear:()=>n(""),onChange:s=>n(s.target.value),label:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"}),searchLabel:o({id:"global.search",defaultMessage:"Search"})}),a.createElement(ze.SubNavSections,null,e.map(s=>a.createElement(a.Fragment,{key:s.name},a.createElement(ze.SubNavSection,{label:o({id:s.title.id,defaultMessage:s.title.defaultMessage}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(l=>l.links?a.createElement(ze.SubNavLinkSection,{key:l.name,label:Me()(l.title)},l.links.map(u=>a.createElement(ze.SubNavLink,{as:U.NavLink,to:u.to,active:u.active,key:u.name,isSubSectionChild:!0},Me()(o({id:u.name,defaultMessage:u.title}))))):a.createElement(ze.SubNavLink,{as:U.NavLink,to:l.to,active:l.active,key:l.name},Me()(o({id:l.name,defaultMessage:l.title}))))),s.customLink&&a.createElement(q.Box,{paddingLeft:7},a.createElement(Qi.TextButton,{onClick:s.customLink.onClick,startIcon:a.createElement($e(),null),marginTop:2},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage})))))))},vr=(0,a.lazy)(()=>i.e(5905).then(i.bind(i,14515))),pl=()=>{const{formatMessage:e}=(0,I.useIntl)(),t=e({id:`${J.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:n}=(0,R.useGuidedTour)(),o=(0,a.useRef)(n);return(0,a.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),a.createElement(R.CheckPagePermissions,{permissions:At.Z.main},a.createElement(Ce.Helmet,{title:t}),a.createElement(Hi,null,a.createElement(_i,{allIcons:Ji},a.createElement($n.Layout,{sideNav:a.createElement(ml,null)},a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`/plugins/${J.Z}/content-types/create-content-type`,component:vr}),a.createElement(U.Route,{path:`/plugins/${J.Z}/content-types/:uid`,component:vr}),a.createElement(U.Route,{path:`/plugins/${J.Z}/component-categories/:categoryUid`,component:Yi})))))))}},92318:(Ge,pe,i)=>{i.d(pe,{Z:()=>Ce});var a=i(25158);const Ce=I=>`${a.Z}.${I}`}}]);
|
|
145
|
+
evening`},validations:{required:!0}}]}]}},media(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"multiple",size:12,type:"boolean-radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.media.option.multiple"),defaultMessage:"Multiple media"},description:{id:(0,d.Z)("form.attribute.media.option.multiple.description"),defaultMessage:"Best for sliders, carousels or multiple files download"},value:!0},{title:{id:(0,d.Z)("form.attribute.media.option.single"),defaultMessage:"Single media"},description:{id:(0,d.Z)("form.attribute.media.option.single.description"),defaultMessage:"Best for avatar, profile picture or cover"},value:!1}]}]}]}},number(){return{sections:[{sectionTitle:null,items:[Se,{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type"),defaultMessage:"Number format"},name:"type",type:"select-number",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"integer",value:"integer",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.integer"),defaultMessage:"integer (ex: 10)"}}},{key:"biginteger",value:"biginteger",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.biginteger"),defaultMessage:"biginteger (ex: 123456789)"}}},{key:"decimal",value:"decimal",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.decimal"),defaultMessage:"decimal (ex: 2.22)"}}},{key:"float",value:"float",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.float"),defaultMessage:"decimal (ex: 3.3333333)"}}}]}]}]}},relation(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:"FIXME",defaultMessage:"FIXME"},name:"relation",size:12,type:"relation"}]}]}},string(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",size:12,type:"radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.text.option.short-text"),defaultMessage:"Sort text"},description:{id:(0,d.Z)("form.attribute.text.option.short-text.description"),defaultMessage:"Best for titles, names, links (URL). It also enables exact search on the field."},value:"string"},{title:{id:(0,d.Z)("form.attribute.text.option.long-text"),defaultMessage:"Long text"},description:{id:(0,d.Z)("form.attribute.text.option.long-text.description"),defaultMessage:"Best for descriptions, biography. Exact search is disabled."},value:"text"}]}]}]}},text(){return{sections:[{sectionTitle:null,items:[Se]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",size:12,type:"radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.text.option.short-text"),defaultMessage:"Sort text"},description:{id:(0,d.Z)("form.attribute.text.option.short-text.description"),defaultMessage:"Best for titles, names, links (URL). It also enables exact search on the field."},value:"string"},{title:{id:(0,d.Z)("form.attribute.text.option.long-text"),defaultMessage:"Long text"},description:{id:(0,d.Z)("form.attribute.text.option.long-text.description"),defaultMessage:"Best for descriptions, biography. Exact search is disabled."},value:"text"}]}]}]}},uid(e,t,n){const o=n.filter(({type:s})=>["string","text"].includes(s)).map(({name:s})=>({key:s,value:s,metadatas:{intlLabel:{id:`${s}.no-override`,defaultMessage:s}}}));return{sections:[{sectionTitle:null,items:[$s(Ws({},Se),{placeholder:{id:(0,d.Z)("modalForm.attribute.form.base.name.placeholder"),defaultMessage:"e.g. Slug, SEO URL, Canonical URL"}}),{intlLabel:{id:(0,d.Z)("modalForm.attribute.target-field"),defaultMessage:"Attached field"},name:"targetField",type:"select",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"global.none",defaultMessage:"None"}}},...o]}]}]}}}},zs={sections:[{sectionTitle:null,items:[Se]}]};var Vs=l(91815),Gs=l.n(Vs),Ks=l(40791),Hs=l.n(Ks);const En=e=>Hs()(e,{decamelize:!1,lowercase:!1,separator:"_"}),La=/^[A-Za-z][_0-9A-Za-z]*$/,Ba=e=>({name:"attributeNameAlreadyUsed",message:R.translatedErrors.unique,test(t){return t?!e.includes(t):!1}}),Vl=(e,t,n)=>{const o=get(e,["schema","attributes"],{});return Object.keys(o).filter(s=>t?s!==n:!0)},Cn=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test(t){return t?!e.includes(t):!1}}),y={default:()=>b.Z_().nullable(),max:()=>b.Rx().integer().nullable(),min:()=>b.Rx().integer().when("max",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),maxLength:()=>b.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>b.Rx().integer().min(0).when("maxLength",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),name(e,t){return b.Z_().test(Ba(e)).test(Cn(t)).matches(La,R.translatedErrors.regex).required(R.translatedErrors.required)},required:()=>b.O7(),type:()=>b.Z_().required(R.translatedErrors.required),unique:()=>b.O7().nullable()},Mn=(e,t)=>({name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength(),regex:b.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test(o){return new RegExp(o)!==null}}).nullable()}),On={name:"isMinSuperiorThanMax",message:(0,d.Z)("error.validation.minSupMax"),test(e){if(!e)return!0;const{max:t}=this.parent;return!t||Number.isNaN((0,F.toNumber)(e))?!0:(0,F.toNumber)(t)>=(0,F.toNumber)(e)}},Pn={date(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},datetime(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},time(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},default(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},biginteger(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().nullable().matches(/^-?\d*$/),unique:y.unique(),required:y.required(),max:b.Z_().nullable().matches(/^-?\d*$/,R.translatedErrors.regex),min:b.Z_().nullable().test(On).matches(/^-?\d*$/,R.translatedErrors.regex)};return b.Ry(n)},boolean(e,t){const n={name:y.name(e,t),default:b.O7().nullable(),required:y.required(),unique:y.unique()};return b.Ry(n)},component(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min(),component:b.Z_().required(R.translatedErrors.required)};return b.Ry(n)},decimal(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx(),required:y.required(),max:b.Rx(),min:b.Rx().test(On)};return b.Ry(n)},dynamiczone(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},email(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().email().nullable(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},enumeration(e,t){const n=/^[_A-Za-z][_0-9A-Za-z]*$/,o={name:b.Z_().test(Ba(e)).test(Cn(t)).matches(n,R.translatedErrors.regex).required(R.translatedErrors.required),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),enum:b.IX().of(b.Z_()).min(1,R.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!Gs()(s.map(En).filter((u,c,m)=>m.indexOf(u)!==c)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(En).some(i=>i==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(En).every(i=>n.test(i))}),enumName:b.Z_().nullable()};return b.Ry(o)},float(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),default:b.Rx(),max:b.Rx(),min:b.Rx().test(On)};return b.Ry(n)},integer(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx().integer(),unique:y.unique(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},json(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),unique:y.unique()};return b.Ry(n)},media(e,t){const n={name:y.name(e,t),type:y.type(),multiple:b.O7(),required:y.required(),allowedTypes:b.IX().of(b.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return b.Ry(n)},password(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},relation(e,t,n,{initialData:o,modifiedData:s}){const i={name:y.name(e,t),target:b.Z_().required(R.translatedErrors.required),relation:b.Z_().required(),type:b.Z_().required(),targetAttribute:b.Vo(()=>{const u=(0,rn.Z)(s.relation,s.targetAttribute);if(u==="oneWay"||u==="manyWay")return b.Z_().nullable();let c=b.Z_().test(Cn(t)),g=[...n.map(({name:f})=>f),s.name].filter(f=>f!==o.targetAttribute);return c.matches(La,R.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test(f){return f?!g.includes(f):!1}}).required(R.translatedErrors.required)})};return b.Ry(i)},richtext(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},string(e,t){const n=Mn(e,t);return b.Ry(n)},text(e,t){const n=Mn(e,t);return b.Ry(n)},uid(e,t){const n=Mn(e,t);return b.Ry(n)}},qa={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}},Rn={advanced:{default(){return{sections:[{sectionTitle:{id:(0,d.Z)("form.contentType.divider.draft-publish"),defaultMessage:"Draft/Publish"},items:[{intlLabel:{id:(0,d.Z)("contentType.draftAndPublish.label"),defaultMessage:"Draft/publish system"},description:{id:(0,d.Z)("contentType.draftAndPublish.description"),defaultMessage:"Write a draft version of each entry before publishing it"},name:"draftAndPublish",type:"toggle-draft-publish",validations:{}}]}]}}},base:{create(){return{sections:[{sectionTitle:null,items:[qa,{description:{id:(0,d.Z)("contentType.apiId-singular.description"),defaultMessage:"Used to generate the API routes and databases tables/collections"},intlLabel:{id:(0,d.Z)("contentType.apiId-singular.label"),defaultMessage:"API ID (Singular)"},name:"singularName",type:"text-singular"},{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{description:{id:(0,d.Z)("contentType.apiId-plural.description"),defaultMessage:"Pluralized API ID"},intlLabel:{id:(0,d.Z)("contentType.apiId-plural.label"),defaultMessage:"API ID (Plural)"},name:"pluralName",type:"text-plural"}]}]}},edit(){return{sections:[{sectionTitle:null,items:[qa,{disabled:!0,description:{id:(0,d.Z)("contentType.apiId-singular.description"),defaultMessage:"Used to generate the API routes and databases tables/collections"},intlLabel:{id:(0,d.Z)("contentType.apiId-singular.label"),defaultMessage:"API ID (Singular)"},name:"singularName",type:"text"},{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{disabled:!0,description:{id:(0,d.Z)("contentType.apiId-plural.description"),defaultMessage:"Pluralized API ID"},intlLabel:{id:(0,d.Z)("contentType.apiId-plural.label"),defaultMessage:"API ID (Plural)"},name:"pluralName",type:"text"},{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"kind",type:"content-type-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.button.collection-type.name"),defaultMessage:"Collection Type"},description:{id:(0,d.Z)("form.button.collection-type.description"),defaultMessage:"Best for multiple instances like articles, products, comments, etc."},value:"collectionType"},{title:{id:(0,d.Z)("form.button.single-type.name"),defaultMessage:"Single Type"},description:{id:(0,d.Z)("form.button.single-type.description"),defaultMessage:"Best for single instance like about us, homepage, etc."},value:"singleType"}]}]}]}}}},Xs=(e,t,n,o)=>{const s={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(i){if(!i)return!1;const u=(0,Je.E)(i);return!e.includes(u)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!t.includes((0,F.toLower)((0,F.trim)(i))):!1}}).required(R.translatedErrors.required),pluralName:b.Z_().test({name:"pluralNameAlreadyUsed",message:R.translatedErrors.unique,test(i){return i?!o.includes(i):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test(i,u){return i?u.parent.singularName!==i:!1}}).test({name:"pluralNameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!t.includes((0,F.toLower)((0,F.trim)(i))):!1}}).required(R.translatedErrors.required),singularName:b.Z_().test({name:"singularNameAlreadyUsed",message:R.translatedErrors.unique,test(i){return i?!n.includes(i):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test(i,u){return i?u.parent.pluralName!==i:!1}}).test({name:"singularNameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!t.includes((0,F.toLower)((0,F.trim)(i))):!1}}).required(R.translatedErrors.required),draftAndPublish:b.O7(),kind:b.Z_().oneOf(["singleType","collectionType"])};return b.Ry(s)},xn={advanced:{default(){return{sections:Qe.advanced("componentToCreate.")}}},base:{createComponent(){return{sections:[{sectionTitle:null,items:[bn]},...Qe.base("componentToCreate.")]}},default(){return{sections:[{sectionTitle:null,items:[bn]},{sectionTitle:null,items:[{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{name:"components",type:"select-components",intlLabel:{id:(0,d.Z)("modalForm.attributes.select-components"),defaultMessage:"Select the components"},isMultiple:!0}]}]}}}},ka=(e,t)=>{e.forEach(n=>{if(!Ke()(n,"sectionTitle")){t[0].items.push(n);return}t.push(n)})},ja=(e,t)=>e.filter(({name:n})=>n!==t.initialData.name).map(({name:n})=>n);var Ua=l(98399),Ys=Object.defineProperty,Js=Object.defineProperties,Qs=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,_a=Object.prototype.hasOwnProperty,Wa=Object.prototype.propertyIsEnumerable,$a=(e,t,n)=>t in e?Ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sn=(e,t)=>{for(var n in t||(t={}))_a.call(t,n)&&$a(e,n,t[n]);if(Et)for(var n of Et(t))Wa.call(t,n)&&$a(e,n,t[n]);return e},ei=(e,t)=>Js(e,Qs(t)),An=(e,t)=>{var n={};for(var o in e)_a.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Et)for(var o of Et(e))t.indexOf(o)<0&&Wa.call(e,o)&&(n[o]=e[o]);return n};const Le={customField:{schema({schemaAttributes:e,attributeType:t,customFieldValidator:n,reservedNames:o,schemaData:s,ctbFormsAPI:i}){const u=ja(e,s),c=Pn[t](u,o.attributes);return i.makeCustomFieldValidator(c,n,u,o.attributes,s)},form:{base({customField:e}){var t;const n=[{sectionTitle:null,items:[Se]}];return(t=e.options)!=null&&t.base&&ka(e.options.base,n),{sections:n}},advanced(e){var t=e,{customField:n,data:o,step:s,extensions:i}=t,u=An(t,["customField","data","step","extensions"]),c;const m=[{sectionTitle:null,items:[]}],g=i.getAdvancedForm(["attribute",n.type],Sn({data:o,type:n.type,step:s},u));if((c=n.options)!=null&&c.advanced&&ka(n.options.advanced,m),g){const f={sectionTitle:{id:(0,d.Z)("modalForm.custom-fields.advanced.settings.extended"),defaultMessage:"Extended settings"},items:g};m.push(f)}return{sections:m}}}},attribute:{schema(e,t,n,o,s,i){const u=Z()(e,["schema","attributes"],[]),c=ja(u,s);try{let m=Pn[t](c,n.attributes,o,s);return i.makeValidator(["attribute",t],m,c,n.attributes,o,s)}catch(m){return Ua.error("Error yup build schema",m),Pn.default(c,n.attributes)}},form:{advanced(e){var t=e,{data:n,type:o,step:s,extensions:i}=t,u=An(t,["data","type","step","extensions"]);try{const c=wa.advanced[o](n,s).sections,m=i.getAdvancedForm(["attribute",o],Sn({data:n,type:o,step:s},u));return{sections:c.reduce((f,p)=>(p.sectionTitle===null?f.push(p):f.push(ei(Sn({},p),{items:[...p.items,...m]})),f),[])}}catch(c){return Ua.error(c),{sections:[]}}},base({data:e,type:t,step:n,attributes:o}){try{return wa.base[t](e,n,o)}catch(s){return zs}}}},contentType:{schema(e,t,n,o,s,i){const u=Object.values(i).map(h=>h.schema.singularName),c=Object.values(i).map(h=>h.schema.pluralNames),m=t?e.filter(h=>h!==n):e,g=t?u.filter(h=>Z()(i,[n,"schema","singularName"],"")!==h):u,f=t?c.filter(h=>Z()(i,[n,"schema","pluralName"],"")!==h):c,p=Xs(m,o.models,g,f);return s.makeValidator(["contentType"],p,m,o.models,g,f)},form:{base({actionType:e}){return e==="create"?Rn.base.create():Rn.base.edit()},advanced(e){var t=e,{extensions:n}=t,o=An(t,["extensions"]);const s=Rn.advanced.default(o).sections,i=n.getAdvancedForm(["contentType"]);return{sections:[...s,{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:i}]}}}},component:{schema(e,t,n,o=!1,s=null){const i=o?e.filter(u=>u!==s):e;return Ds(i,n.models,t)},form:{advanced(){return{sections:Qe.advanced()}},base(){return{sections:Qe.base()}}}},addComponentToDynamicZone:{form:{advanced(){return xn.advanced.default()},base({data:e}){return Z()(e,"createComponent",!1)?xn.base.createComponent():xn.base.default()}}},editCategory:{schema(e,t){const n=e.filter(o=>o!==t.name).map(o=>We()(o));return Fs(n)},form:{advanced:()=>({sections:[]}),base(){return As.base}}}};var za=l(12463),ti=l(25061);const ni=()=>e=>e[`${J.Z}_formModal`]||ti.E,ai=()=>(0,za.P1)(ni(),e=>e);var Va=l(98399),ri=Object.defineProperty,oi=Object.defineProperties,si=Object.getOwnPropertyDescriptors,Ct=Object.getOwnPropertySymbols,Ga=Object.prototype.hasOwnProperty,Ka=Object.prototype.propertyIsEnumerable,Ha=(e,t,n)=>t in e?ri(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,et=(e,t)=>{for(var n in t||(t={}))Ga.call(t,n)&&Ha(e,n,t[n]);if(Ct)for(var n of Ct(t))Ka.call(t,n)&&Ha(e,n,t[n]);return e},Mt=(e,t)=>oi(e,si(t)),Ot=(e,t)=>{var n={};for(var o in e)Ga.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ct)for(var o of Ct(e))t.indexOf(o)<0&&Ka.call(e,o)&&(n[o]=e[o]);return n},Xa=(e,t,n)=>new Promise((o,s)=>{var i=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(i,u);c((n=n.apply(e,t)).next())});const ii=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:t,onNavigateToAddCompoToDZModal:n,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:i,attributeType:u,customFieldUid:c,categoryName:m,dynamicZoneTarget:g,forTarget:f,modalType:p,isOpen:h,kind:E,step:M,targetUid:A}=(0,_e.Z)(),w=(0,R.useCustomFields)().get(c),S=(0,a.useRef)(),C=(0,a.useMemo)(ai,[]),v=(0,ve.useDispatch)(),z=(0,R.useNotification)(),B=(0,ve.useSelector)(G=>C(G),ve.shallowEqual),{push:ee}=(0,U.useHistory)(),{trackUsage:N}=(0,R.useTracking)(),{formatMessage:Y}=(0,I.useIntl)(),{getPlugin:fe}=(0,R.useStrapiApp)(),ce=fe(J.Z).apis.forms,he=ce.components.inputs,{addAttribute:Ae,addCustomFieldAttribute:nt,addCreatedComponentToDynamicZone:j,allComponentsCategories:O,changeDynamicZoneComponents:wn,contentTypes:at,components:ft,createSchema:rt,deleteCategory:Ln,deleteData:xt,editCategory:Bn,editCustomFieldAttribute:qn,submitData:kn,modifiedData:de,nestedComponents:jn,setModifiedData:St,sortedContentTypesList:Un,updateSchema:_n,reservedNames:Be}=(0,ie.Z)(),{componentToCreate:qe,formErrors:Ze,initialData:P,isCreatingComponentWhileAddingAField:D,modifiedData:T}=B,L=f==="contentType"||f==="component"?[f]:[f,A];(0,a.useEffect)(()=>{if(h){const G=Un.filter(ct);p==="editCategory"&&St(),s==="edit"&&p==="attribute"&&f==="contentType"&&N("willEditFieldOfContentType");const me=[...L,"schema","attributes"],Ue=pn(Z()(de,me,[]),g)||null;if(p==="editCategory"&&s==="edit"&&v({type:Q._H,modalType:p,actionType:s,data:{name:m}}),p==="contentType"&&s==="create"&&v({type:Q._H,modalType:p,actionType:s,data:{draftAndPublish:!0},pluginOptions:{}}),p==="contentType"&&s==="edit"){const{displayName:W,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Re}=Z()(de,[...L,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});v({type:Q._H,actionType:s,modalType:p,data:{displayName:W,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Re}})}if(p==="component"&&s==="edit"){const W=Z()(de,L,{});v({type:Q._H,actionType:s,modalType:p,data:{displayName:W.schema.displayName,category:W.category,icon:W.schema.icon}})}if(p==="addComponentToDynamicZone"&&s==="edit"){const W=Mt(et({},Ue),{components:[],name:g,createComponent:!1,componentToCreate:{type:"component"}});v({type:Q.VZ,attributeToEdit:W})}if(u){const W=pn(Z()(de,me,[]),i),te=Mt(et({},W),{name:i});u==="component"&&s==="edit"&&(te.repeatable||kt()(te,"repeatable",!1)),v({type:Q.S0,attributeType:u,nameToSetForRelation:Z()(G,["0","title"],"error"),targetUid:Z()(G,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:te,step:M,forTarget:f})}}else v({type:Q.c2})},[s,i,u,m,g,f,h,p]);const oe=p==="contentType",Ie=p==="component",Pe=p==="attribute",ot=p==="customField",Ve=u==="component"&&Pe,ke=s==="create",je=Z()(T,"createComponent",!1)||D,st=M==="1",Tr=p==="editCategory",Er=p==="chooseAttribute",Wn=(0,Je.E)(T.displayName||""),Cr=Z()(de,[...L,"schema","attributes"],null),gl=()=>Xa(void 0,null,function*(){var G;let me;const Ue=je&&M==="1"?Z()(T,"componentToCreate",{}):T;if(oe)me=Le.contentType.schema(Object.keys(at),s==="edit",Z()(de,[...L,"uid"],null),Be,ce,at);else if(Ie)me=Le.component.schema(Object.keys(ft),T.category||"",Be,s==="edit",Z()(de,[...L,"uid"],null),ce);else if(ot)me=Le.customField.schema({schemaAttributes:Z()(de,[...L,"schema","attributes"],[]),attributeType:w.type,reservedNames:Be,schemaData:{modifiedData:T,initialData:P},ctbFormsAPI:ce,customFieldValidator:(G=w.options)==null?void 0:G.validator});else if(Ve&&je&&st)me=Le.component.schema(Object.keys(ft),Z()(T,"componentToCreate.category",""),Be,ce);else if(Pe&&!st){const W=u==="relation"?"relation":T.type;let te=[];if(W==="relation"){const K=Z()(T,["target"],null);te=Z()(at,[K,"schema","attributes"],[]).filter(({name:Ee})=>s!=="edit"?!0:Ee!==P.targetAttribute)}me=Le.attribute.schema(Z()(de,L,{}),W,Be,te,{modifiedData:T,initialData:P},ce)}else if(Tr)me=Le.editCategory.schema(O,P,ce);else if(st&&je)me=Le.component.schema(Object.keys(ft),Z()(T,"componentToCreate.category",""),Be,ce);else return;yield me.validate(Ue,{abortEarly:!1})}),Mr=(0,a.useCallback)(G=>{var{target:me}=G,Ue=me,{name:W,value:te,type:K}=Ue,be=Ot(Ue,["name","value","type"]);const Ee=["enumName","max","min","maxLength","minLength","regex","default"];let Re;Ee.includes(W)&&te===""?Re=null:Re=te;const xe=Object.assign({},Ze);W==="max"&&delete xe.min,W==="maxLength"&&delete xe.minLength,delete xe[W],v({type:Q.Ey,errors:xe}),v(et({type:Q.P0,keys:W.split("."),value:Re},be))},[v,Ze]),Te=(G,...me)=>Xa(void 0,[G,...me],function*(Ue,W=ke){Ue.preventDefault();try{yield gl(),yl(W);const te=f==="components"?A:Wn;if(oe)if(ke)rt(Mt(et({},T),{kind:E}),p,Wn),ee({pathname:`/plugins/${J.Z}/content-types/${Wn}`}),t({forTarget:f,targetUid:te});else{xs(de,T)?(e(),kn(T)):z({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(p==="component")if(ke){const K=(0,Je.N)(T.displayName,T.category),be=T,{category:Ee}=be,Re=Ot(be,["category"]);rt(Re,"component",K,Ee),ee({pathname:`/plugins/${J.Z}/component-categories/${Ee}/${K}`}),t({forTarget:f,targetUid:K})}else{_n(T,p,A),e();return}else if(Tr){if(We()(P.name)===We()(T.name)){e();return}Bn(P.name,T);return}else if(ot){const K={attributeToSet:Mt(et({},T),{customField:c,type:w.type}),forTarget:f,targetUid:A,initialAttribute:P};s==="edit"?qn(K):nt(K),W?t({forTarget:f,targetUid:te}):e();return}else if(Pe&&!je){if(u==="dynamiczone"){Ae(T,f,A,s==="edit",P),ke?(v({type:Q.I}),S.current._handlers.setSelectedTabIndex(0),n({dynamicZoneTarget:T.name})):e();return}if(!Ve){Ae(T,f,A,s==="edit",P),W?t({forTarget:f,targetUid:te}):e();return}if(st){o(),v({type:Q.yC,forTarget:f});return}Ae(T,f,A,s==="edit",P,!0),W?t({forTarget:f,targetUid:A}):e()}else if(Pe&&je){if(st){N("willCreateComponentFromAttributesModal"),v({type:Q.oF,forTarget:f}),o();return}const K=qe,{category:be,type:Ee}=K,Re=Ot(K,["category","type"]),xe=(0,Je.N)(qe.displayName,be);rt(Re,Ee,xe,be,je),Ae(T,f,A,!1),v({type:Q.c2}),W?t({forTarget:"components",targetUid:xe}):e();return}else{if(st)if(je){const K=T.componentToCreate,{category:be,type:Ee}=K,Re=Ot(K,["category","type"]),xe=(0,Je.N)(T.componentToCreate.displayName,be);rt(Re,Ee,xe,be,je),j(g,[xe]),t({forTarget:"components",targetUid:xe})}else wn(g,T.components),e();else Va.error("This case is not handled");return}v({type:Q.c2})}catch(te){const K=(0,R.getYupInnerErrors)(te);Va.log({err:te,errors:K}),v({type:Q.Ey,errors:K})}}),Or=()=>{e(),v({type:Q.c2})},fl=G=>{if(G==="advanced"){if(oe){N("didSelectContentTypeSettings");return}f==="contentType"&&N("didSelectContentTypeFieldSettings")}},yl=G=>{p==="attribute"&&f==="contentType"&&u!=="dynamiczone"&&G&&N("willAddMoreFieldToContentType")},hl=()=>!!(p==="editCategory"||p==="component"||Ke()(T,"createComponent")),bl=Ss(f,A,jn);if(!h||!p)return null;const Pr=Z()(Le,[p,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),vl=f==="components"||f==="component",Rr={customInputs:et({"allowed-types-select":He,"boolean-radio-group":uo,"checkbox-with-number-field":ho,"component-icon-picker":Zo,"content-type-radio-group":Oo,"radio-group":Qt,relation:es,"select-category":ss,"select-component":is,"select-components":ls,"select-default-boolean":eo,"select-number":cs,"select-date":us,"toggle-draft-publish":zr,"text-plural":os,"text-singular":fs,"textarea-enum":Rs},he),componentToCreate:qe,dynamicZoneTarget:g,formErrors:Ze,isAddingAComponentToAnotherComponent:vl,isCreatingComponentWhileAddingAField:D,mainBoxHeader:Z()(de,[...L,"schema","displayName"],""),modifiedData:T,naturePickerType:f,isCreating:ke,targetUid:A,forTarget:f},xr=Pr.advanced({data:T,type:u,step:M,actionType:s,attributes:Cr,extensions:ce,forTarget:f,contentTypeSchema:de.contentType||{},customField:w}).sections,Sr=Pr.base({data:T,type:u,step:M,actionType:s,attributes:Cr,extensions:ce,forTarget:f,contentTypeSchema:de.contentType||{},customField:w}).sections,Tl=Aa(Sr),El=Aa(xr),Cl=Object.keys(Ze).some(G=>Tl.includes(G)),Ml=Object.keys(Ze).some(G=>El.includes(G)),Ol=Z()(at,[A,"schema","kind"]);return a.createElement(De.ModalLayout,{onClose:Or,labelledBy:"title"},a.createElement(Vr,{actionType:s,attributeName:i,categoryName:m,contentTypeKind:E,dynamicZoneTarget:g,modalType:p,forTarget:f,targetUid:A,attributeType:u,customFieldUid:c}),Er&&a.createElement(Br,{attributes:bl,forTarget:f,kind:Ol||"collectionType"}),!Er&&a.createElement("form",{onSubmit:Te},a.createElement(De.ModalBody,null,a.createElement(ne.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:S,onTabChange:G=>{G===1&&fl("advanced")}},a.createElement($.Flex,{justifyContent:"space-between"},a.createElement(Hr,{actionType:s,forTarget:f,kind:E,step:M,modalType:p,attributeType:u,attributeName:i,customField:w}),a.createElement(ne.Tabs,null,a.createElement(ne.Tab,{hasError:Cl},Y({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),a.createElement(ne.Tab,{hasError:Ml,disabled:hl()},Y({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),a.createElement(lt.Divider,null),a.createElement(q.Box,{paddingTop:6},a.createElement(ne.TabPanels,null,a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Pa,{form:Sr,formErrors:Ze,genericInputProps:Rr,modifiedData:T,onChange:Mr}))),a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Pa,{form:xr,formErrors:Ze,genericInputProps:Rr,modifiedData:T,onChange:Mr}))))))),a.createElement(De.ModalFooter,{endActions:a.createElement(Gr,{deleteCategory:Ln,deleteContentType:xt,deleteComponent:xt,categoryName:P.name,isAttributeModal:p==="attribute",isCustomFieldModal:p==="customField",isComponentToDzModal:p==="addComponentToDynamicZone",isComponentAttribute:u==="component",isComponentModal:p==="component",isContentTypeModal:p==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:T.createComponent||!1,isCreatingComponentInDz:T.createComponent||!1,isCreatingComponentWhileAddingAField:D,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:u==="dynamiczone",isEditingCategory:p==="editCategory",isInFirstComponentStep:M==="1",onSubmitAddComponentAttribute:Te,onSubmitAddComponentToDz:Te,onSubmitCreateComponent:Te,onSubmitCreateContentType:Te,onSubmitCreateDz:Te,onSubmitEditAttribute:Te,onSubmitEditCategory:Te,onSubmitEditComponent:Te,onSubmitEditContentType:Te,onSubmitEditCustomFieldAttribute:Te,onSubmitEditDz:Te}),startActions:a.createElement(_.Button,{variant:"tertiary",onClick:Or},Y({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))})))},Ya=e=>e.reduce((t,n)=>(t[n.uid]=n,t),{}),li=(e,t,n,o)=>{const s=t.reduce((c,m)=>{const g=Z()(n,m,{});return c[m]=g,c},{});return{[o?"contentType":"component"]:e,components:s}},ui=(e,t)=>{const n=Object.keys(e).map(o=>(0,F.get)(e,[o,...t],""));return(0,Fe.Z)(n)};var ci=l(13339);const di=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=(0,F.get)(e,[o,"schema","attributes"],[]),i=mi(s);return[...n,...i]},[]);return(0,Fe.Z)(t)},mi=e=>e.reduce((t,n)=>{const{type:o,component:s}=n;return o==="component"&&t.push(s),t},[]),Ja=di,pi=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=Z()(e,[o],{}),i=s.uid;return gi(s)&&n.push(i),n},[]);return(0,Fe.Z)(t)},gi=e=>Z()(e,["schema","attributes"],[]).some(n=>{const{type:o}=n;return o==="component"});var fi=Object.defineProperty,yi=Object.defineProperties,hi=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertySymbols,Qa=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,tr=(e,t,n)=>t in e?fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bi=(e,t)=>{for(var n in t||(t={}))Qa.call(t,n)&&tr(e,n,t[n]);if(Pt)for(var n of Pt(t))er.call(t,n)&&tr(e,n,t[n]);return e},vi=(e,t)=>yi(e,hi(t)),Ti=(e,t)=>{var n={};for(var o in e)Qa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Pt)for(var o of Pt(e))t.indexOf(o)<0&&er.call(e,o)&&(n[o]=e[o]);return n};const Ei=(e,t)=>{const n=Object.keys(e).filter(o=>{const s=(0,F.get)(e,o,{}),i=(0,F.get)(t,o,{}),u=(0,F.get)(s,["isTemporary"],!1),c=!(0,F.isEqual)(s,i);return u||c});return(0,Fe.Z)(n)},Ci=(e,t)=>{const n=ar((0,F.get)(e,"schema.attributes",[]),t),o=(0,F.get)(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},(0,F.omit)(e.schema,"attributes"),{attributes:n})},nr=(e,t=!1)=>{const n=(0,F.get)(e,"uid",null),o=ar((0,F.get)(e,"schema.attributes",[]),n),s=t?{category:(0,F.get)(e,"category","")}:{},i=Object.assign(s,(0,F.omit)(e.schema,"attributes"),{attributes:o});return delete i.uid,delete i.isTemporary,delete i.visible,delete i.restrictRelationsTo,i},ar=(e,t)=>e.reduce((n,o)=>{var s=o,{name:i}=s,u=Ti(s,["name"]);const c=u,m=c.target===t,g=c.type==="relation",f=(0,F.get)(c,"targetAttribute",null);if(!m)if(g){const p=Object.assign({},c,{targetAttribute:rr(f)});n[i]=Rt(p)}else n[i]=Rt(c);if(m){const p=c.target,h=Object.assign({},c,{target:p,targetAttribute:rr(f)});n[i]=Rt(h)}if(c.customField){const p=vi(bi({},c),{type:"customField"});n[i]=Rt(p)}return n},{}),rr=e=>e==="-"?null:e,Rt=e=>Object.keys(e).reduce((t,n)=>(e[n]!==null&&n!=="plugin"&&(t[n]=e[n]),t),{}),Mi=(e,t,n,o=!1)=>Ei(e,t).map(u=>{const c=(0,F.get)(e,u,{});return Ci(c,n,o)}),Oi=e=>(0,F.sortBy)(Object.keys(e).map(t=>({visible:e[t].schema.visible,name:t,title:e[t].schema.displayName,plugin:e[t].plugin||null,uid:t,to:`/plugins/${J.Z}/content-types/${t}`,kind:e[t].schema.kind,restrictRelationsTo:e[t].schema.restrictRelationsTo})).filter(t=>t!==null),t=>(0,F.camelCase)(t.title)),or="did-not-kill-server",Pi="server is down";function pt(e,t){return new Promise(n=>{fetch(`${strapi.backendURL}/_health`,{method:"HEAD",mode:"no-cors",headers:{"Content-Type":"application/json","Keep-Alive":!1}}).then(o=>{if(o.status>=400)throw new Error(Pi);if(!t)throw new Error(or);n(e)}).catch(o=>{setTimeout(()=>pt(e,o.message!==or).then(n),100)})})}const Ri=e=>Object.values(e.attributes).filter(({type:n})=>n==="dynamiczone").every(({components:n})=>Array.isArray(n)&&n.length>0);var ae=l(31947),xi=l(54370);const Si=()=>e=>e[`${J.Z}_dataManagerProvider`]||xi.E,Ai=()=>(0,za.P1)(Si(),e=>e);var Fi=Object.defineProperty,Di=Object.defineProperties,Ni=Object.getOwnPropertyDescriptors,sr=Object.getOwnPropertySymbols,Zi=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable,ir=(e,t,n)=>t in e?Fi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fn=(e,t)=>{for(var n in t||(t={}))Zi.call(t,n)&&ir(e,n,t[n]);if(sr)for(var n of sr(t))Ii.call(t,n)&&ir(e,n,t[n]);return e},Dn=(e,t)=>Di(e,Ni(t));const wi=e=>Object.keys(e).reduce((t,n)=>{const o=e[n].schema;return t[n]=Dn(Fn({},e[n]),{schema:Dn(Fn({},o),{attributes:Li(o.attributes)})}),t},{}),Li=e=>Object.keys(e).reduce((t,n)=>(t.push(Dn(Fn({},e[n]),{name:n})),t),[]),lr=wi;var gt=l(98399),Bi=Object.defineProperty,ur=Object.getOwnPropertySymbols,qi=Object.prototype.hasOwnProperty,ki=Object.prototype.propertyIsEnumerable,cr=(e,t,n)=>t in e?Bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dr=(e,t)=>{for(var n in t||(t={}))qi.call(t,n)&&cr(e,n,t[n]);if(ur)for(var n of ur(t))ki.call(t,n)&&cr(e,n,t[n]);return e},tt=(e,t,n)=>new Promise((o,s)=>{var i=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(i,u);c((n=n.apply(e,t)).next())});const Nn=({allIcons:e,children:t,components:n,contentTypes:o,isLoading:s,isLoadingForDataToBeSet:i,initialData:u,modifiedData:c,reservedNames:m})=>{const g=(0,ve.useDispatch)(),f=(0,R.useNotification)(),{lockAppWithAutoreload:p,unlockAppWithAutoreload:h}=(0,R.useAutoReloadOverlayBlocker)(),{setCurrentStep:E}=(0,R.useGuidedTour)(),{getPlugin:M}=(0,R.useStrapiApp)(),{apis:A}=M(J.Z),{autoReload:w}=(0,R.useAppInfos)(),{formatMessage:S}=(0,I.useIntl)(),{trackUsage:C}=(0,R.useTracking)(),{refetchPermissions:v}=(0,R.useRBACProvider)(),{pathname:z}=(0,U.useLocation)(),{onCloseModal:B}=(0,_e.Z)(),ee=(0,U.useRouteMatch)(`/plugins/${J.Z}/content-types/:uid`),N=(0,U.useRouteMatch)(`/plugins/${J.Z}/component-categories/:categoryUid/:componentUid`),Y=(0,a.useRef)();Y.current=S;const fe=w,re=ee!==null,ce=re?"contentType":"component",he=re?(0,F.get)(ee,"params.uid",null):(0,F.get)(N,"params.componentUid",null),Ae=(0,a.useRef)(),nt=re?"content-types":"components";Ae.current=()=>tt(void 0,null,function*(){try{const[{data:{data:P}},{data:{data:D}},{data:T}]=yield Promise.all(["components","content-types","reserved-names"].map(ot=>we.get(ot))),L=Ya(P),oe=lr(L),Ie=Ya(D),Pe=lr(Ie);g({type:ae.Id,components:oe,contentTypes:Pe,reservedNames:T})}catch(P){gt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}}),(0,a.useEffect)(()=>(Ae.current(),()=>{g({type:ae.Zl})}),[]),(0,a.useEffect)(()=>{!s&&he&&St()},[s,z,he]),(0,a.useEffect)(()=>{w||f({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[w,f]);const j=(P,D,T,L=!1,oe,Ie=!1)=>{const Pe=L?ae.JO:ae.gz;g({type:Pe,attributeToSet:P,forTarget:D,targetUid:T,initialAttribute:oe,shouldAddComponentToData:Ie})},O=({attributeToSet:P,forTarget:D,targetUid:T,initialAttribute:L})=>{g({type:ae.Ir,attributeToSet:P,forTarget:D,targetUid:T,initialAttribute:L})},wn=({attributeToSet:P,forTarget:D,targetUid:T,initialAttribute:L})=>{g({type:ae.Ly,attributeToSet:P,forTarget:D,targetUid:T,initialAttribute:L})},at=(P,D)=>{g({type:ae.Uu,dynamicZoneTarget:P,componentsToAdd:D})},ft=(P,D,T,L,oe=!1)=>{const Ie=D==="contentType"?ae.Sh:ae.VR;g({type:Ie,data:P,componentCategory:L,schemaType:D,uid:T,shouldAddComponentToData:oe})},rt=(P,D)=>{g({type:ae.o_,dynamicZoneTarget:P,newComponents:D})},Ln=(P,D,T="")=>{const L=P==="components"?ae.lw:ae.ai;P==="contentType"&&C("willDeleteFieldOfContentType"),g({type:L,mainDataKey:P,attributeToRemoveName:D,componentUid:T})},xt=P=>tt(void 0,null,function*(){try{const D=`/component-categories/${P}`,T=window.confirm(S({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));B(),T&&(p(),yield we.delete(D),yield pt(!0),yield h(),yield qe())}catch(D){gt.error({err:D}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),Bn=()=>tt(void 0,null,function*(){try{const P=`/${nt}/${he}`,D=(0,F.get)(c,[ce,"isTemporary"],!1),T=window.confirm(S({id:(0,d.Z)(`popUpWarning.bodyMessage.${re?"contentType":"component"}.delete`)}));if(B(),T){if(D){g({type:ae.Ap});return}p(),yield we.delete(P),yield pt(!0),yield h(),yield qe()}}catch(P){gt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),qn=(P,D)=>tt(void 0,null,function*(){try{const T=`/component-categories/${P}`;B(),p(),yield we({url:T,method:"PUT",data:D}),yield pt(!0),yield h(),yield qe()}catch(T){gt.error({err:T}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),kn=()=>{const P=Object.assign({},n,c.components);if(!re){const T=(0,F.get)(c,"component",{});(0,F.set)(P,(0,F.get)(T,["uid"],""),T)}const D=pi(P);return(0,Fe.Z)(D)},de=()=>{const P=Ja(n),D=Ja(c.components||{});return(0,Fe.Z)([...D,...P])},jn=(P,D)=>{g({type:ae.NG,dzName:P,componentToRemoveIndex:D})},St=()=>{const P=re?o:n,D=(0,F.get)(P,he,{schema:{attributes:[]}}),T=(0,ci.Z)(D.schema.attributes,n),L=li(D,T,n,re),oe=(0,F.get)(D,"isTemporary",!1)&&(0,F.size)((0,F.get)(D,"schema.attributes",[]))===0;g({type:ae.xx,schemaToSet:L,hasJustCreatedSchema:oe})},Un=(0,a.useMemo)(()=>{const P=re?o:n;return he==="create-content-type"?!1:!Object.keys(P).includes(he)&&!s},[n,o,he,re,s]),_n=(0,a.useMemo)(()=>{const P=Object.keys(o).filter(D=>(0,F.get)(o,[D,"schema","visible"],!0)).sort();return(0,F.get)(P,"0","create-content-type")},[o]);if(Un)return a.createElement(U.Redirect,{to:`/plugins/${J.Z}/content-types/${_n}`});const Be=P=>tt(void 0,null,function*(){var D,T;try{const L=(0,F.get)(c,[ce,"isTemporary"],!1),oe={components:Mi(c.components,n,he,L)};if(re){const Ve=A.forms.mutateContentTypeSchema(dr(dr({},nr(c.contentType)),P),u.contentType);if(!Ri(Ve)){f({type:"warning",message:{id:(0,d.Z)("notification.error.dynamiczone-min.validation"),defaultMessage:"At least one component is required in a dynamic zone to be able to save a content type"}});return}oe.contentType=Ve,C("willSaveContentType")}else oe.component=nr(c.component,!0),C("willSaveComponent");const Ie=L?"POST":"PUT",Pe=`/${nt}`,ot=L?Pe:`${Pe}/${he}`;if(p(),yield we({url:ot,method:Ie,data:oe}),yield pt(!0),yield h(),L&&(((D=u.contentType)==null?void 0:D.schema.kind)==="collectionType"||((T=u.contentType)==null?void 0:T.schema.kind)==="singleType")&&E("contentTypeBuilder.success"),re){C("didSaveContentType");const Ve=(0,F.get)(oe,["contentType","schema","name"],""),ke=(0,F.get)(u,["contentType","schema","name"],"");!L&&Ve!==ke&&C("didEditNameOfContentType")}else C("didSaveComponent");yield qe()}catch(L){re||C("didNotSaveComponent"),gt.error({err:L.response}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),qe=()=>tt(void 0,null,function*(){yield v()}),Ze=(P,D,T)=>{g({type:ae.bi,data:P,schemaType:D,uid:T})};return a.createElement(Nt.Z.Provider,{value:{addAttribute:j,addCustomFieldAttribute:O,addCreatedComponentToDynamicZone:at,allComponentsCategories:ui(n,["category"]),allIcons:e,changeDynamicZoneComponents:rt,components:n,componentsGroupedByCategory:(0,F.groupBy)(n,"category"),componentsThatHaveOtherComponentInTheirAttributes:kn(),contentTypes:o,createSchema:ft,deleteCategory:xt,deleteData:Bn,editCategory:qn,editCustomFieldAttribute:wn,isInDevelopmentMode:fe,initialData:u,isInContentTypeView:re,modifiedData:c,nestedComponents:de(),removeAttribute:Ln,removeComponentFromDynamicZone:jn,reservedNames:m,setModifiedData:St,sortedContentTypesList:Oi(o),submitData:Be,updateSchema:Ze}},i?a.createElement(R.LoadingIndicatorPage,null):a.createElement(a.Fragment,null,t,fe&&a.createElement(ii,null)))};Nn.defaultProps={components:{}},Nn.propTypes={allIcons:r().array.isRequired,children:r().node.isRequired,components:r().object,contentTypes:r().object.isRequired,isLoading:r().bool.isRequired,isLoadingForDataToBeSet:r().bool.isRequired,initialData:r().object.isRequired,modifiedData:r().object.isRequired,reservedNames:r().object.isRequired};const ji=Ai(),Ui=(0,ve.connect)(ji,null),_i=(0,Dt.compose)(Ui)((0,a.memo)(Nn));var Wi=l(51216);const mr={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null,customFieldUid:null};var $i=Object.defineProperty,zi=Object.defineProperties,Vi=Object.getOwnPropertyDescriptors,pr=Object.getOwnPropertySymbols,Gi=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable,gr=(e,t,n)=>t in e?$i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ge=(e,t)=>{for(var n in t||(t={}))Gi.call(t,n)&&gr(e,n,t[n]);if(pr)for(var n of pr(t))Ki.call(t,n)&&gr(e,n,t[n]);return e},ye=(e,t)=>zi(e,Vi(t));const fr=({children:e})=>{const[t,n]=(0,a.useState)(mr),{trackUsage:o}=(0,R.useTracking)(),s=({attributeType:S,customFieldUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",modalType:"customField",attributeType:S,customFieldUid:C}))},i=({attributeType:S,step:C})=>{t.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:S}),n(v=>ye(ge({},v),{actionType:"create",modalType:"attribute",step:C,attributeType:S}))},u=({dynamicZoneTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{dynamicZoneTarget:S,targetUid:C,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},c=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",forTarget:S,targetUid:C,modalType:"chooseAttribute",isOpen:!0}))},m=S=>{n(C=>ye(ge(ge({},C),S),{isOpen:!0}))},g=S=>{n(C=>ye(ge({},C),{categoryName:S,actionType:"edit",modalType:"editCategory",isOpen:!0}))},f=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,customFieldUid:B})=>{n(ee=>ye(ge({},ee),{modalType:"customField",customFieldUid:B,actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,isOpen:!0}))},p=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B})=>{n(ee=>ye(ge({},ee),{modalType:"attribute",actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B,isOpen:!0}))},h=({modalType:S,forTarget:C,targetUid:v,kind:z})=>{n(B=>ye(ge({},B),{modalType:S,actionType:"edit",forTarget:C,targetUid:v,kind:z,isOpen:!0}))},E=()=>{n(mr)},M=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{forTarget:S,targetUid:C,modalType:"chooseAttribute"}))},A=()=>{n(S=>ye(ge({},S),{attributeType:"component",modalType:"attribute",step:"2"}))},w=({dynamicZoneTarget:S})=>{n(C=>ye(ge({},C),{dynamicZoneTarget:S,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return a.createElement(Wi.Z.Provider,{value:ye(ge({},t),{onClickSelectField:i,onClickSelectCustomField:s,onCloseModal:E,onNavigateToChooseAttributeModal:M,onNavigateToAddCompoToDZModal:w,onOpenModalAddComponentsToDZ:u,onNavigateToCreateComponentStep2:A,onOpenModalAddField:c,onOpenModalCreateSchema:m,onOpenModalEditCategory:g,onOpenModalEditField:p,onOpenModalEditCustomField:f,onOpenModalEditSchema:h,setFormModalNavigationState:n})},e)};fr.propTypes={children:r().node.isRequired};const Hi=fr,Xi=(0,a.lazy)(()=>l.e(5905).then(l.bind(l,14515))),Yi=()=>{const{url:e}=(0,U.useRouteMatch)(),{categoryUid:t}=(0,U.useParams)();return a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`${e}/:componentUid`},a.createElement(Xi,{categoryId:t}))))},Ji=JSON.parse('["ad","address-book","address-card","adjust","air-freshener","align-center","align-justify","align-left","align-right","allergies","ambulance","american-sign-language-interpreting","anchor","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angle-down","angle-left","angle-right","angle-up","angry","ankh","apple-alt","archive","archway","arrow-alt-circle-down","arrow-alt-circle-left","arrow-alt-circle-right","arrow-alt-circle-up","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-down","arrow-left","arrow-right","arrow-up","arrows-alt","arrows-alt-h","arrows-alt-v","assistive-listening-systems","asterisk","at","atlas","atom","audio-description","award","baby","baby-carriage","backspace","backward","bacon","balance-scale","balance-scale-left","balance-scale-right","ban","band-aid","barcode","bars","baseball-ball","basketball-ball","bath","battery-empty","battery-full","battery-half","battery-quarter","battery-three-quarters","bed","beer","bell","bell-slash","bezier-curve","bible","bicycle","biking","binoculars","biohazard","birthday-cake","blender","blender-phone","blind","blog","bold","bolt","bomb","bone","bong","book","book-dead","book-medical","book-open","book-reader","bookmark","border-all","border-none","border-style","bowling-ball","box","box-open","boxes","braille","brain","bread-slice","briefcase","briefcase-medical","broadcast-tower","broom","brush","bug","building","bullhorn","bullseye","burn","bus","bus-alt","business-time","calculator","calendar","calendar-alt","calendar-check","calendar-day","calendar-minus","calendar-plus","calendar-times","calendar-week","camera","camera-retro","campground","candy-cane","cannabis","capsules","car","car-alt","car-battery","car-crash","car-side","caret-down","caret-left","caret-right","caret-square-down","caret-square-left","caret-square-right","caret-square-up","caret-up","carrot","cart-arrow-down","cart-plus","cash-register","cat","certificate","chair","chalkboard","chalkboard-teacher","charging-station","chart-area","chart-bar","chart-line","chart-pie","check","check-circle","check-double","check-square","cheese","chess","chess-bishop","chess-board","chess-king","chess-knight","chess-pawn","chess-queen","chess-rook","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-down","chevron-left","chevron-right","chevron-up","child","church","circle","circle-notch","city","clinic-medical","clipboard","clipboard-check","clipboard-list","clock","clone","closed-captioning","cloud","cloud-download-alt","cloud-meatball","cloud-moon","cloud-moon-rain","cloud-rain","cloud-showers-heavy","cloud-sun","cloud-sun-rain","cloud-upload-alt","cocktail","code","code-branch","coffee","cog","cogs","coins","columns","comment","comment-alt","comment-dollar","comment-dots","comment-medical","comment-slash","comments","comments-dollar","compact-disc","compass","compress","compress-arrows-alt","concierge-bell","cookie","cookie-bite","copy","copyright","couch","credit-card","crop","crop-alt","cross","crosshairs","crow","crown","crutch","cube","cubes","cut","database","deaf","democrat","desktop","dharmachakra","diagnoses","dice","dice-d20","dice-d6","dice-five","dice-four","dice-one","dice-six","dice-three","dice-two","digital-tachograph","directions","divide","dizzy","dna","dog","dollar-sign","dolly","dolly-flatbed","donate","door-closed","door-open","dot-circle","dove","download","drafting-compass","dragon","draw-polygon","drum","drum-steelpan","drumstick-bite","dumbbell","dumpster","dumpster-fire","dungeon","edit","egg","eject","ellipsis-h","ellipsis-v","envelope","envelope-open","envelope-open-text","envelope-square","equals","eraser","ethernet","euro-sign","exchange-alt","exclamation","exclamation-circle","exclamation-triangle","expand","expand-arrows-alt","external-link-alt","external-link-square-alt","eye","eye-dropper","eye-slash","fan","fast-backward","fast-forward","fax","feather","feather-alt","female","fighter-jet","file","file-alt","file-archive","file-audio","file-code","file-contract","file-csv","file-download","file-excel","file-export","file-image","file-import","file-invoice","file-invoice-dollar","file-medical","file-medical-alt","file-pdf","file-powerpoint","file-prescription","file-signature","file-upload","file-video","file-word","fill","fill-drip","film","filter","fingerprint","fire","fire-alt","fire-extinguisher","first-aid","fish","fist-raised","flag","flag-checkered","flag-usa","flask","flushed","folder","folder-minus","folder-open","folder-plus","font","football-ball","forward","frog","frown","frown-open","funnel-dollar","futbol","gamepad","gas-pump","gavel","gem","genderless","ghost","gift","gifts","glass-cheers","glass-martini","glass-martini-alt","glass-whiskey","glasses","globe","globe-africa","globe-americas","globe-asia","globe-europe","golf-ball","gopuram","graduation-cap","greater-than","greater-than-equal","grimace","grin","grin-alt","grin-beam","grin-beam-sweat","grin-hearts","grin-squint","grin-squint-tears","grin-stars","grin-tears","grin-tongue","grin-tongue-squint","grin-tongue-wink","grin-wink","grip-horizontal","grip-lines","grip-lines-vertical","grip-vertical","guitar","h-square","hamburger","hammer","hamsa","hand-holding","hand-holding-heart","hand-holding-usd","hand-lizard","hand-middle-finger","hand-paper","hand-peace","hand-point-down","hand-point-left","hand-point-right","hand-point-up","hand-pointer","hand-rock","hand-scissors","hand-spock","hands","hands-helping","handshake","hanukiah","hard-hat","hashtag","hat-cowboy","hat-cowboy-side","hat-wizard","haykal","hdd","heading","headphones","headphones-alt","headset","heart","heart-broken","heartbeat","helicopter","highlighter","hiking","hippo","history","hockey-puck","holly-berry","home","horse","horse-head","hospital","hospital-alt","hospital-symbol","hot-tub","hotdog","hotel","hourglass","hourglass-end","hourglass-half","hourglass-start","house-damage","hryvnia","i-cursor","ice-cream","icicles","icons","id-badge","id-card","id-card-alt","igloo","image","images","inbox","indent","industry","infinity","info","info-circle","italic","jedi","joint","journal-whills","kaaba","key","keyboard","khanda","kiss","kiss-beam","kiss-wink-heart","kiwi-bird","landmark","language","laptop","laptop-code","laptop-medical","laugh","laugh-beam","laugh-squint","laugh-wink","layer-group","leaf","lemon","less-than","less-than-equal","level-down-alt","level-up-alt","life-ring","lightbulb","link","lira-sign","list","list-alt","list-ol","list-ul","location-arrow","lock","lock-open","long-arrow-alt-down","long-arrow-alt-left","long-arrow-alt-right","long-arrow-alt-up","low-vision","luggage-cart","magic","magnet","mail-bulk","male","map","map-marked","map-marked-alt","map-marker","map-marker-alt","map-pin","map-signs","marker","mars","mars-double","mars-stroke","mars-stroke-h","mars-stroke-v","mask","medal","medkit","meh","meh-blank","meh-rolling-eyes","memory","menorah","mercury","meteor","microchip","microphone","microphone-alt","microphone-alt-slash","microphone-slash","microscope","minus","minus-circle","minus-square","mitten","mobile","mobile-alt","money-bill","money-bill-alt","money-bill-wave","money-bill-wave-alt","money-check","money-check-alt","monument","moon","mortar-pestle","mosque","motorcycle","mountain","mouse","mouse-pointer","mug-hot","music","network-wired","neuter","newspaper","not-equal","notes-medical","object-group","object-ungroup","oil-can","om","otter","outdent","pager","paint-brush","paint-roller","palette","pallet","paper-plane","paperclip","parachute-box","paragraph","parking","passport","pastafarianism","paste","pause","pause-circle","paw","peace","pen","pen-alt","pen-fancy","pen-nib","pen-square","pencil-alt","pencil-ruler","people-carry","pepper-hot","percent","percentage","person-booth","phone","phone-alt","phone-slash","phone-square","phone-square-alt","phone-volume","photo-video","piggy-bank","pills","pizza-slice","place-of-worship","plane","plane-arrival","plane-departure","play","play-circle","plug","plus","plus-circle","plus-square","podcast","poll","poll-h","poo","poo-storm","poop","portrait","pound-sign","power-off","pray","praying-hands","prescription","prescription-bottle","prescription-bottle-alt","print","procedures","project-diagram","puzzle-piece","qrcode","question","question-circle","quidditch","quote-left","quote-right","quran","radiation","radiation-alt","rainbow","random","receipt","record-vinyl","recycle","redo","redo-alt","registered","remove-format","reply","reply-all","republican","restroom","retweet","ribbon","ring","road","robot","rocket","route","rss","rss-square","ruble-sign","ruler","ruler-combined","ruler-horizontal","ruler-vertical","running","rupee-sign","sad-cry","sad-tear","satellite","satellite-dish","save","school","screwdriver","scroll","sd-card","search","search-dollar","search-location","search-minus","search-plus","seedling","server","shapes","share","share-alt","share-alt-square","share-square","shekel-sign","shield-alt","ship","shipping-fast","shoe-prints","shopping-bag","shopping-basket","shopping-cart","shower","shuttle-van","sign","sign-in-alt","sign-language","sign-out-alt","signal","signature","sim-card","sitemap","skating","skiing","skiing-nordic","skull","skull-crossbones","slash","sleigh","sliders-h","smile","smile-beam","smile-wink","smog","smoking","smoking-ban","sms","snowboarding","snowflake","snowman","snowplow","socks","solar-panel","sort","sort-alpha-down","sort-alpha-down-alt","sort-alpha-up","sort-alpha-up-alt","sort-amount-down","sort-amount-down-alt","sort-amount-up","sort-amount-up-alt","sort-down","sort-numeric-down","sort-numeric-down-alt","sort-numeric-up","sort-numeric-up-alt","sort-up","spa","space-shuttle","spell-check","spider","spinner","splotch","spray-can","square","square-full","square-root-alt","stamp","star","star-and-crescent","star-half","star-half-alt","star-of-david","star-of-life","step-backward","step-forward","stethoscope","sticky-note","stop","stop-circle","stopwatch","store","store-alt","stream","street-view","strikethrough","stroopwafel","subscript","subway","suitcase","suitcase-rolling","sun","superscript","surprise","swatchbook","swimmer","swimming-pool","synagogue","sync","sync-alt","syringe","table","table-tennis","tablet","tablet-alt","tablets","tachometer-alt","tag","tags","tape","tasks","taxi","teeth","teeth-open","temperature-high","temperature-low","tenge","terminal","text-height","text-width","th","th-large","th-list","theater-masks","thermometer","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","thumbs-down","thumbs-up","thumbtack","ticket-alt","times","times-circle","tint","tint-slash","tired","toggle-off","toggle-on","toilet","toilet-paper","toolbox","tools","tooth","torah","torii-gate","tractor","trademark","traffic-light","train","tram","transgender","transgender-alt","trash","trash-alt","trash-restore","trash-restore-alt","tree","trophy","truck","truck-loading","truck-monster","truck-moving","truck-pickup","tshirt","tty","tv","umbrella","umbrella-beach","underline","undo","undo-alt","universal-access","university","unlink","unlock","unlock-alt","upload","user","user-alt","user-alt-slash","user-astronaut","user-check","user-circle","user-clock","user-cog","user-edit","user-friends","user-graduate","user-injured","user-lock","user-md","user-minus","user-ninja","user-nurse","user-plus","user-secret","user-shield","user-slash","user-tag","user-tie","user-times","users","users-cog","utensil-spoon","utensils","vector-square","venus","venus-double","venus-mars","vial","vials","video","video-slash","vihara","voicemail","volleyball-ball","volume-down","volume-mute","volume-off","volume-up","vote-yea","vr-cardboard","walking","wallet","warehouse","water","wave-square","weight","weight-hanging","wheelchair","wifi","wind","window-close","window-maximize","window-minimize","window-restore","wine-bottle","wine-glass","wine-glass-alt","won-sign","wrench","x-ray","yen-sign","yin-yang"]');var ze=l(89420),Qi=l(74201),el=l(86834),tl=l.n(el),nl=l(98978),yr=l.n(nl),al=l(89793),rl=l.n(al),ol=l(58469),sl=Object.defineProperty,il=Object.defineProperties,ll=Object.getOwnPropertyDescriptors,hr=Object.getOwnPropertySymbols,ul=Object.prototype.hasOwnProperty,cl=Object.prototype.propertyIsEnumerable,br=(e,t,n)=>t in e?sl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zn=(e,t)=>{for(var n in t||(t={}))ul.call(t,n)&&br(e,n,t[n]);if(hr)for(var n of hr(t))cl.call(t,n)&&br(e,n,t[n]);return e},In=(e,t)=>il(e,ll(t));const dl=()=>{const{components:e,componentsGroupedByCategory:t,contentTypes:n,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:i,initialData:u}=(0,ie.Z)(),c=(0,R.useNotification)(),{trackUsage:m}=(0,R.useTracking)(),[g,f]=(0,a.useState)(""),{onOpenModalCreateSchema:p,onOpenModalEditCategory:h}=(0,_e.Z)(),E=yr()(Object.keys(t).map(N=>({name:N,title:N,isEditable:o,onClickEdit(Y,fe){Y.stopPropagation(),M?h(fe.name):C()},links:yr()(t[N].map(Y=>({name:Y.uid,to:`/plugins/${J.Z}/component-categories/${N}/${Y.uid}`,title:Y.schema.displayName})),Y=>Y.title)})),N=>N.title),M=!Object.keys(n).some(N=>n[N].isTemporary===!0)&&!Object.keys(e).some(N=>e[N].isTemporary===!0)&&rl()(i,u),A=()=>{M?(m("willCreateContentType"),p({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):C()},w=()=>{M?(m("willCreateSingleType"),p({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):C()},S=()=>{M?(m("willCreateComponent"),p({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):C()},C=()=>{c({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},v=s.filter(N=>N.visible),z=[{name:"models",title:{id:`${(0,d.Z)("menu.section.models.name")}`,defaultMessage:"Collection Types"},customLink:o&&{id:`${(0,d.Z)("button.model.create")}`,defaultMessage:"Create new collection type",onClick:A},links:v.filter(N=>N.kind==="collectionType")},{name:"singleTypes",title:{id:`${(0,d.Z)("menu.section.single-types.name")}`,defaultMessage:"Single Types"},customLink:o&&{id:`${(0,d.Z)("button.single-types.create")}`,defaultMessage:"Create new single type",onClick:w},links:v.filter(N=>N.kind==="singleType")},{name:"components",title:{id:`${(0,d.Z)("menu.section.components.name")}`,defaultMessage:"Components"},customLink:o&&{id:`${(0,d.Z)("button.component.create")}`,defaultMessage:"Create a new component",onClick:S},links:E}],B=N=>(0,ol.ZP)(N,We()(g),{keys:[Y=>We()(Y.title)]});return{menu:(()=>z.map(N=>N.links.some(fe=>!tl()(fe.links))?In(Zn({},N),{links:N.links.map(fe=>In(Zn({},fe),{links:B(fe.links)}))}):In(Zn({},N),{links:B(N.links)})))(),searchValue:g,onSearchChange:f}},ml=()=>{const{menu:e,searchValue:t,onSearchChange:n}=dl(),{formatMessage:o}=(0,I.useIntl)();return a.createElement(ze.SubNav,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},a.createElement(ze.SubNavHeader,{searchable:!0,value:t,onClear:()=>n(""),onChange:s=>n(s.target.value),label:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"}),searchLabel:o({id:"global.search",defaultMessage:"Search"})}),a.createElement(ze.SubNavSections,null,e.map(s=>a.createElement(a.Fragment,{key:s.name},a.createElement(ze.SubNavSection,{label:o({id:s.title.id,defaultMessage:s.title.defaultMessage}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(i=>i.links?a.createElement(ze.SubNavLinkSection,{key:i.name,label:Me()(i.title)},i.links.map(u=>a.createElement(ze.SubNavLink,{as:U.NavLink,to:u.to,active:u.active,key:u.name,isSubSectionChild:!0},Me()(o({id:u.name,defaultMessage:u.title}))))):a.createElement(ze.SubNavLink,{as:U.NavLink,to:i.to,active:i.active,key:i.name},Me()(o({id:i.name,defaultMessage:i.title}))))),s.customLink&&a.createElement(q.Box,{paddingLeft:7},a.createElement(Qi.TextButton,{onClick:s.customLink.onClick,startIcon:a.createElement($e(),null),marginTop:2},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage})))))))},vr=(0,a.lazy)(()=>l.e(5905).then(l.bind(l,14515))),pl=()=>{const{formatMessage:e}=(0,I.useIntl)(),t=e({id:`${J.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:n}=(0,R.useGuidedTour)(),o=(0,a.useRef)(n);return(0,a.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),a.createElement(R.CheckPagePermissions,{permissions:At.Z.main},a.createElement(Ce.Helmet,{title:t}),a.createElement(Hi,null,a.createElement(_i,{allIcons:Ji},a.createElement($n.Layout,{sideNav:a.createElement(ml,null)},a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`/plugins/${J.Z}/content-types/create-content-type`,component:vr}),a.createElement(U.Route,{path:`/plugins/${J.Z}/content-types/:uid`,component:vr}),a.createElement(U.Route,{path:`/plugins/${J.Z}/component-categories/:categoryUid`,component:Yi})))))))}},92318:(Ge,pe,l)=>{l.d(pe,{Z:()=>Ce});var a=l(25158);const Ce=I=>`${a.Z}.${I}`}}]);
|