@strapi/admin 4.3.2-alpha.0 → 4.3.4
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/content-manager/components/AttributeFilter/index.js +3 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/CellValue.js +3 -5
- package/build/{1669.341e10d8.chunk.js → 1669.0551026a.chunk.js} +1 -1
- package/build/{1856.6a94980b.chunk.js → 1856.d3da2fcd.chunk.js} +18 -17
- package/build/{2077.5456ccd1.chunk.js → 2077.b25a0b57.chunk.js} +6 -5
- package/build/2912.da8a70aa.chunk.js +258 -0
- package/build/{4715.a6e62860.chunk.js → 4715.3787be19.chunk.js} +20 -19
- package/build/4982.a4e36c9a.chunk.js +314 -0
- package/build/611.aa894d27.chunk.js +158 -0
- package/build/6925.fb35248e.chunk.js +761 -0
- package/build/7841.922b96eb.chunk.js +258 -0
- package/build/7866.29d1f169.chunk.js +504 -0
- package/build/8380.ab3939f3.chunk.js +284 -0
- package/build/8469.41c8d25f.chunk.js +1 -0
- package/build/8549.0e30f86d.chunk.js +158 -0
- package/build/{8773.83d4a28b.chunk.js → 8773.c190837d.chunk.js} +95 -92
- package/build/{8655.9073e17e.chunk.js → 9166.280c7521.chunk.js} +62 -60
- package/build/9420.ee1ccff7.chunk.js +504 -0
- package/build/Admin-authenticatedApp.380e5e99.chunk.js +80 -0
- package/build/{Admin_marketplace.8efd3fd0.chunk.js → Admin_marketplace.0b758aac.chunk.js} +1 -1
- package/build/Admin_settingsPage.76ee4c17.chunk.js +178 -0
- package/build/{admin-app.1bd5f67e.chunk.js → admin-app.93ff2e38.chunk.js} +5 -5
- package/build/{admin-edit-users.714863af.chunk.js → admin-edit-users.7d9cf406.chunk.js} +1 -1
- package/build/{admin-users.2bd6fb37.chunk.js → admin-users.bb3a8eb6.chunk.js} +1 -1
- package/build/{content-manager.57c1cfe3.chunk.js → content-manager.55791f82.chunk.js} +60 -60
- package/build/content-type-builder-list-view.4a704844.chunk.js +194 -0
- package/build/{content-type-builder.b2cbf2e9.chunk.js → content-type-builder.f48a28f9.chunk.js} +2 -2
- package/build/index.html +1 -1
- package/build/main.66ef8611.js +9317 -0
- package/build/{runtime~main.70365303.js → runtime~main.3dfda620.js} +1 -1
- package/build/{upload-settings.4bad0bdd.chunk.js → upload-settings.5dfe0fe2.chunk.js} +1 -1
- package/build/upload-translation-ca-json.00dc1f33.chunk.js +1 -0
- package/build/upload-translation-de-json.00cbbc08.chunk.js +1 -0
- package/build/upload-translation-dk-json.c787a6be.chunk.js +1 -0
- package/build/upload-translation-en-json.004a86c1.chunk.js +1 -0
- package/build/upload-translation-es-json.6b1813b6.chunk.js +1 -0
- package/build/upload-translation-ko-json.392002fb.chunk.js +1 -0
- package/build/upload-translation-pl-json.136eedb6.chunk.js +1 -0
- package/build/upload.0af4feca.chunk.js +7 -0
- package/build/users-email-settings-page.899e7fbd.chunk.js +1 -0
- package/build/{users-roles-settings-page.3db986a4.chunk.js → users-roles-settings-page.1206751f.chunk.js} +1 -1
- package/build/{webhook-list-page.2ab4bbf0.chunk.js → webhook-list-page.912becb8.chunk.js} +7 -6
- package/package.json +12 -12
- package/server/routes/webhooks.js +4 -1
- package/server/services/project-settings.js +1 -1
- package/admin/src/content-manager/components/DynamicTable/CellContent/utils/getNumberOfDecimals.js +0 -8
- package/build/109.1464fd6e.chunk.js +0 -2
- package/build/20.9e5a98b6.chunk.js +0 -308
- package/build/3332.1e443103.chunk.js +0 -102
- package/build/413.d5986568.chunk.js +0 -284
- package/build/5520.3c6bf86a.chunk.js +0 -503
- package/build/8469.3af1823d.chunk.js +0 -1
- package/build/9420.ba035f29.chunk.js +0 -508
- package/build/9799.ce46400f.chunk.js +0 -760
- package/build/Admin-authenticatedApp.dd060dfe.chunk.js +0 -80
- package/build/Admin_settingsPage.5fc517d7.chunk.js +0 -178
- package/build/content-type-builder-list-view.b12687b2.chunk.js +0 -194
- package/build/main.407d75cc.js +0 -8675
- package/build/upload-translation-ca-json.79159984.chunk.js +0 -1
- package/build/upload-translation-de-json.745613c0.chunk.js +0 -1
- package/build/upload-translation-dk-json.cb25dcf0.chunk.js +0 -1
- package/build/upload-translation-en-json.bc79c867.chunk.js +0 -1
- package/build/upload-translation-es-json.1f344b53.chunk.js +0 -1
- package/build/upload-translation-ko-json.9a2c21cb.chunk.js +0 -1
- package/build/upload-translation-pl-json.c1f86b50.chunk.js +0 -1
- package/build/upload.b2cb62bd.chunk.js +0 -7
- package/build/users-email-settings-page.824a3cdb.chunk.js +0 -101
package/build/{content-type-builder.b2cbf2e9.chunk.js → content-type-builder.f48a28f9.chunk.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:(We,se,i)=>{i.d(se,{Z:()=>De});var r=i(32735),q=i(19615),ve=i(60216),F=i.n(ve),R=i(9808),Nn=i.n(R),Ct=i(10822),X=i.n(Ct),Mt=i(57746),a=i.n(Mt),A=i(61714),fe=i.n(A),Ot=i(9895),Pt=i.n(Ot),$e=i(80466),Rt=i.n($e),xt=i(34103),St=i.n(xt),Je=i(
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:(We,se,i)=>{i.d(se,{Z:()=>De});var r=i(32735),q=i(19615),ve=i(60216),F=i.n(ve),R=i(9808),Nn=i.n(R),Ct=i(10822),X=i.n(Ct),Mt=i(57746),a=i.n(Mt),A=i(61714),fe=i.n(A),Ot=i(9895),Pt=i.n(Ot),$e=i(80466),Rt=i.n($e),xt=i(34103),St=i.n(xt),Je=i(52773),we=i.n(Je),d=i(57955),Ae=i.n(d),At=i(90040),Z=i.n(At),Dt=i(55788),Qe=i.n(Dt),Nt=i(94661),Zt=i.n(Nt),Ft=i(81208),qe=i.n(Ft),It=i(28565),Te=i.n(It),_=i(65232),j=i.n(_),et=i(80268),Le=i.n(et),z=i(42122),de=i.n(z),V=i(88425),me=i.n(V),Ee=Object.defineProperty,oe=Object.getOwnPropertySymbols,ct=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,ut=(Y,G,W)=>G in Y?Ee(Y,G,{enumerable:!0,configurable:!0,writable:!0,value:W}):Y[G]=W,ke=(Y,G)=>{for(var W in G||(G={}))ct.call(G,W)&&ut(Y,W,G[W]);if(oe)for(var W of oe(G))ze.call(G,W)&&ut(Y,W,G[W]);return Y},dt=(Y,G)=>{var W={};for(var pe in Y)ct.call(Y,pe)&&G.indexOf(pe)<0&&(W[pe]=Y[pe]);if(Y!=null&&oe)for(var pe of oe(Y))G.indexOf(pe)<0&&ze.call(Y,pe)&&(W[pe]=Y[pe]);return W};const wt={biginteger:de(),boolean:Pt(),collectionType:a(),component:X(),contentType:a(),date:fe(),datetime:fe(),decimal:de(),dynamiczone:Rt(),email:St(),enum:we(),enumeration:we(),file:Qe(),files:Qe(),float:de(),integer:de(),json:Ae(),JSON:Ae(),media:Qe(),number:de(),password:Zt(),relation:qe(),richtext:Z(),singleType:Te(),string:j(),text:j(),time:fe(),timestamp:fe(),uid:Le()},mt=(0,q.default)(R.Box)`
|
|
2
2
|
width: ${(0,V.pxToRem)(32)};
|
|
3
3
|
height: ${(0,V.pxToRem)(24)};
|
|
4
4
|
box-sizing: content-box;
|
|
@@ -139,4 +139,4 @@
|
|
|
139
139
|
`);c({target:{name:l,value:P}})};return r.createElement(Go.Textarea,{disabled:t,error:g,label:y,labelAction:s,id:l,hint:f,name:l,onChange:M,placeholder:v,value:E},E)};sn.defaultProps={description:null,disabled:!1,error:"",labelAction:void 0,placeholder:null,value:""},sn.propTypes={description:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}),disabled:a().bool,error:a().string,intlLabel:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}).isRequired,labelAction:a().element,name:a().string.isRequired,onChange:a().func.isRequired,placeholder:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired,values:a().object}),value:a().oneOfType([a().array,a().string])};const Jo=sn,Qo=(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:c,targetAttribute:u})=>{const p=(0,Gt.Z)(l,u);return c==="relation"&&!["oneWay","manyWay"].includes(p)}).length===0},es=(e="",t,n)=>{const o=["text","email","richtext","password","number","enumeration","date","media","boolean","json","relation"],s=e==="contentType",l=n.includes(t),c=!s&&!l;return s?[[...o,"uid"],["component","dynamiczone"]]:c?[o,["component"]]:[o]},ts=({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"addComponentToDynamicZone":return(0,d.Z)("modalForm.sub-header.addComponentToDynamicZone");default:return(0,d.Z)("configurations")}},ma=e=>e.reduce((t,n)=>{const o=n.items.reduce((s,l)=>(l.name&&s.push(l.name),s),[]);return[...t,...o]},[]);var T=i(5173),Ke=i(2158);const ns={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"}}]}]}},pa=new RegExp("^[A-Za-z][-_0-9A-Za-z]*$"),as=e=>{const t={name:T.Z_().matches(pa,R.translatedErrors.regex).test({name:"nameNotAllowed",message:R.translatedErrors.unique,test:n=>n?!e.includes((0,A.toLower)(n)):!1}).required(R.translatedErrors.required)};return T.Ry(t)},rs=(e,t,n)=>{const o={displayName:T.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test:s=>{if(!s)return!1;const l=(0,Ke.N)(s,n);return!e.includes(l)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test:s=>s?!t.includes((0,A.toLower)((0,A.trim)(s))):!1}).required(R.translatedErrors.required),category:T.Z_().matches(pa,R.translatedErrors.regex).required(R.translatedErrors.required),icon:T.Z_()};return T.Ry(o)},ln={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}]},Ge={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[]}},O={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 os=Object.defineProperty,ss=Object.defineProperties,is=Object.getOwnPropertyDescriptors,ga=Object.getOwnPropertySymbols,ls=Object.prototype.hasOwnProperty,cs=Object.prototype.propertyIsEnumerable,fa=(e,t,n)=>t in e?os(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cn=(e,t)=>{for(var n in t||(t={}))ls.call(t,n)&&fa(e,n,t[n]);if(ga)for(var n of ga(t))cs.call(t,n)&&fa(e,n,t[n]);return e},un=(e,t)=>ss(e,is(t));const us={boolean:()=>({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:[O.required,O.private]}]}),component:({repeatable:e},t)=>t==="1"?{sections:Ge.advanced("componentToCreate")}:e?{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.private,O.max,O.min]}]}:{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.private]}]},date:({type:e})=>({sections:[{sectionTitle:null,items:[un(cn({},O.default),{type:e||"date",value:null,withDefaultValue:!1,disabled:!e,autoFocus:!1})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.unique,O.private]}]}),dynamiczone:()=>({sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.max,O.min]}]}),email:()=>({sections:[{sectionTitle:null,items:[un(cn({},O.default),{type:"email"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.unique,O.maxLength,O.minLength,O.private]}]}),enumeration:e=>({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:[O.required,O.private]}]}),json:()=>({sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.private]}]}),media:()=>({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:[O.required,O.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:[O.required,O.unique,O.max,O.min,O.private]}]}},password:()=>({sections:[{sectionTitle:null,items:[O.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.maxLength,O.minLength,O.private]}]}),relation:()=>({sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.private]}]}),richtext:()=>({sections:[{sectionTitle:null,items:[O.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.maxLength,O.minLength,O.private]}]}),text:()=>({sections:[{sectionTitle:null,items:[O.default,O.regex]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.unique,O.maxLength,O.minLength,O.private]}]}),uid:e=>({sections:[{sectionTitle:null,items:[un(cn({},O.default),{disabled:Boolean(e.targetField),type:"text"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[O.required,O.maxLength,O.minLength,O.private]}]})},Ne={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 ds=Object.defineProperty,ms=Object.defineProperties,ps=Object.getOwnPropertyDescriptors,ya=Object.getOwnPropertySymbols,gs=Object.prototype.hasOwnProperty,fs=Object.prototype.propertyIsEnumerable,ha=(e,t,n)=>t in e?ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ys=(e,t)=>{for(var n in t||(t={}))gs.call(t,n)&&ha(e,n,t[n]);if(ya)for(var n of ya(t))fs.call(t,n)&&ha(e,n,t[n]);return e},hs=(e,t)=>ms(e,ps(t));const ba={advanced:us,base:{component:(e,t)=>{if(t==="1"){const n=e.createComponent===!0?Ge.base("componentToCreate."):[];return{sections:[{sectionTitle:null,items:[ln]},...n]}}return{sections:[{sectionTitle:null,items:[Ne,{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:()=>({sections:[{sectionTitle:null,items:[Ne,{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:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:
|
|
140
140
|
morning
|
|
141
141
|
noon
|
|
142
|
-
evening`},validations:{required:!0}}]}]}),media:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:()=>({sections:[{sectionTitle:null,items:[Ne,{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:()=>({sections:[{sectionTitle:null,items:[{intlLabel:{id:"FIXME",defaultMessage:"FIXME"},name:"relation",size:12,type:"relation"}]}]}),string:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:[hs(ys({},Ne),{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]}]}]}}}},bs={sections:[{sectionTitle:null,items:[Ne]}]};var vs=i(91815),Ts=i.n(vs),Es=i(40791),Cs=i.n(Es);const dn=e=>Cs()(e,{decamelize:!1,lowercase:!1,separator:"_"}),va=new RegExp("^[A-Za-z][_0-9A-Za-z]*$"),Ta=e=>({name:"attributeNameAlreadyUsed",message:R.translatedErrors.unique,test:t=>t?!e.includes(t):!1}),gl=(e,t,n)=>{const o=get(e,["schema","attributes"],{});return Object.keys(o).filter(s=>t?s!==n:!0)},mn=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test:t=>t?!e.includes(t):!1}),h={default:()=>T.Z_().nullable(),max:()=>T.Rx().integer().nullable(),min:()=>T.Rx().integer().when("max",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),maxLength:()=>T.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>T.Rx().integer().min(0).when("maxLength",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),name:(e,t)=>T.Z_().test(Ta(e)).test(mn(t)).matches(va,R.translatedErrors.regex).required(R.translatedErrors.required),required:()=>T.O7(),type:()=>T.Z_().required(R.translatedErrors.required),unique:()=>T.O7().nullable()},pn=(e,t)=>({name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength(),regex:T.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test:o=>new RegExp(o)!==null}).nullable()}),gn={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,A.toNumber)(e))?!0:(0,A.toNumber)(t)>=(0,A.toNumber)(e)}},Ea={date:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},datetime:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},time:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},default:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},biginteger:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Z_().nullable().matches(/^-?\d*$/),unique:h.unique(),required:h.required(),max:T.Z_().nullable().matches(/^-?\d*$/,R.translatedErrors.regex),min:T.Z_().nullable().test(gn).matches(/^-?\d*$/,R.translatedErrors.regex)};return T.Ry(n)},boolean:(e,t)=>{const n={name:h.name(e,t),default:T.O7().nullable(),required:h.required(),unique:h.unique()};return T.Ry(n)},component:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),max:h.max(),min:h.min(),component:T.Z_().required(R.translatedErrors.required)};return T.Ry(n)},decimal:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Rx(),required:h.required(),max:T.Rx(),min:T.Rx().test(gn)};return T.Ry(n)},dynamiczone:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),max:h.max(),min:h.min()};return T.Ry(n)},email:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Z_().email().nullable(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},enumeration:(e,t)=>{const n=new RegExp("^[_A-Za-z][_0-9A-Za-z]*$"),o={name:T.Z_().test(Ta(e)).test(mn(t)).matches(n,R.translatedErrors.regex).required(R.translatedErrors.required),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),enum:T.IX().of(T.Z_()).min(1,R.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!Ts()(s.map(dn).filter((c,u,p)=>p.indexOf(c)!==u)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(dn).some(l=>l==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(dn).every(l=>n.test(l))}),enumName:T.Z_().nullable()};return T.Ry(o)},float:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),default:T.Rx(),max:T.Rx(),min:T.Rx().test(gn)};return T.Ry(n)},integer:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Rx().integer(),unique:h.unique(),required:h.required(),max:h.max(),min:h.min()};return T.Ry(n)},json:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),unique:h.unique()};return T.Ry(n)},media:(e,t)=>{const n={name:h.name(e,t),type:h.type(),multiple:T.O7(),required:h.required(),allowedTypes:T.IX().of(T.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return T.Ry(n)},password:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},relation:(e,t,n,{initialData:o,modifiedData:s})=>{const l={name:h.name(e,t),target:T.Z_().required(R.translatedErrors.required),relation:T.Z_().required(),type:T.Z_().required(),targetAttribute:T.Vo(()=>{const c=(0,Gt.Z)(s.relation,s.targetAttribute);if(c==="oneWay"||c==="manyWay")return T.Z_().nullable();let u=T.Z_().test(mn(t)),m=[...n.map(({name:g})=>g),s.name].filter(g=>g!==o.targetAttribute);return u.matches(va,R.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test:g=>g?!m.includes(g):!1}).required(R.translatedErrors.required)})};return T.Ry(l)},richtext:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},string:(e,t)=>{const n=pn(e,t);return T.Ry(n)},text:(e,t)=>{const n=pn(e,t);return T.Ry(n)},uid:(e,t)=>{const n=pn(e,t);return T.Ry(n)}},Ca={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}},fn={advanced:{default:()=>({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:()=>({sections:[{sectionTitle:null,items:[Ca,{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:()=>({sections:[{sectionTitle:null,items:[Ca,{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"}]}]}]})}},Ms=(e,t,n,o)=>{const s={displayName:T.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test:l=>{if(!l)return!1;const c=(0,Ke.E)(l);return!e.includes(c)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test:l=>l?!t.includes((0,A.toLower)((0,A.trim)(l))):!1}).required(R.translatedErrors.required),pluralName:T.Z_().test({name:"pluralNameAlreadyUsed",message:R.translatedErrors.unique,test:l=>l?!o.includes(l):!1}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test:(l,c)=>l?c.parent.singularName!==l:!1}).required(R.translatedErrors.required),singularName:T.Z_().test({name:"singularNameAlreadyUsed",message:R.translatedErrors.unique,test:l=>l?!n.includes(l):!1}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test:(l,c)=>l?c.parent.pluralName!==l:!1}).required(R.translatedErrors.required),draftAndPublish:T.O7(),kind:T.Z_().oneOf(["singleType","collectionType"])};return T.Ry(s)},yn={advanced:{default:()=>({sections:Ge.advanced("componentToCreate.")})},base:{createComponent:()=>({sections:[{sectionTitle:null,items:[ln]},...Ge.base("componentToCreate.")]}),default:()=>({sections:[{sectionTitle:null,items:[ln]},{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}]}]})}};var Ma=i(98399),Os=Object.defineProperty,Ps=Object.defineProperties,Rs=Object.getOwnPropertyDescriptors,ht=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,Pa=Object.prototype.propertyIsEnumerable,Ra=(e,t,n)=>t in e?Os(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xa=(e,t)=>{for(var n in t||(t={}))Oa.call(t,n)&&Ra(e,n,t[n]);if(ht)for(var n of ht(t))Pa.call(t,n)&&Ra(e,n,t[n]);return e},xs=(e,t)=>Ps(e,Rs(t)),Sa=(e,t)=>{var n={};for(var o in e)Oa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ht)for(var o of ht(e))t.indexOf(o)<0&&Pa.call(e,o)&&(n[o]=e[o]);return n};const je={attribute:{schema(e,t,n,o,s,l){const u=Z()(e,["schema","attributes"],[]).filter(({name:p})=>p!==s.initialData.name).map(({name:p})=>p);try{let p=Ea[t](u,n.attributes,o,s);return l.makeValidator(["attribute",t],p,u,n.attributes,o,s)}catch(p){return Ma.error("Error yup build schema",p),Ea.default(u,n.attributes)}},form:{advanced(e){var t=e,{data:n,type:o,step:s,extensions:l}=t,c=Sa(t,["data","type","step","extensions"]);try{const u=ba.advanced[o](n,s).sections,p=l.getAdvancedForm(["attribute",o],xa({data:n,type:o,step:s},c));return{sections:u.reduce((g,f)=>(f.sectionTitle===null?g.push(f):g.push(xs(xa({},f),{items:[...f.items,...p]})),g),[])}}catch(u){return Ma.error(u),{sections:[]}}},base({data:e,type:t,step:n,attributes:o}){try{return ba.base[t](e,n,o)}catch(s){return bs}}}},contentType:{schema(e,t,n,o,s,l){const c=Object.values(l).map(y=>y.schema.singularName),u=Object.values(l).map(y=>y.schema.pluralNames),p=t?e.filter(y=>y!==n):e,m=t?c.filter(y=>Z()(l,[n,"schema","singularName"],"")!==y):c,g=t?u.filter(y=>Z()(l,[n,"schema","pluralName"],"")!==y):u,f=Ms(p,o.models,m,g);return s.makeValidator(["contentType"],f,p,o.models,m,g)},form:{base({actionType:e}){return e==="create"?fn.base.create():fn.base.edit()},advanced(e){var t=e,{extensions:n}=t,o=Sa(t,["extensions"]);const s=fn.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(c=>c!==s):e;return rs(l,n.models,t)},form:{advanced(){return{sections:Ge.advanced()}},base(){return{sections:Ge.base()}}}},addComponentToDynamicZone:{form:{advanced(){return yn.advanced.default()},base({data:e}){return Z()(e,"createComponent",!1)?yn.base.createComponent():yn.base.default()}}},editCategory:{schema(e,t){const n=e.filter(o=>o!==t.name).map(o=>qe()(o));return as(n)},form:{advanced:()=>({sections:[]}),base(){return ns.base}}}};var Aa=i(12463),Ss=i(25061);const As=()=>e=>e[`${X.Z}_formModal`]||Ss.E,Ds=()=>(0,Aa.P1)(As(),e=>e);var Da=i(98399),Ns=Object.defineProperty,Zs=Object.defineProperties,Fs=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Za=Object.prototype.propertyIsEnumerable,Fa=(e,t,n)=>t in e?Ns(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nt=(e,t)=>{for(var n in t||(t={}))Na.call(t,n)&&Fa(e,n,t[n]);if(bt)for(var n of bt(t))Za.call(t,n)&&Fa(e,n,t[n]);return e},hn=(e,t)=>Zs(e,Fs(t)),vt=(e,t)=>{var n={};for(var o in e)Na.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&&Za.call(e,o)&&(n[o]=e[o]);return n},Ia=(e,t,n)=>new Promise((o,s)=>{var l=p=>{try{u(n.next(p))}catch(m){s(m)}},c=p=>{try{u(n.throw(p))}catch(m){s(m)}},u=p=>p.done?o(p.value):Promise.resolve(p.value).then(l,c);u((n=n.apply(e,t)).next())});const Is=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:t,onNavigateToAddCompoToDZModal:n,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:l,attributeType:c,categoryName:u,dynamicZoneTarget:p,forTarget:m,modalType:g,isOpen:f,kind:y,step:v,targetUid:E}=(0,$e.Z)(),M=(0,r.useRef)(),D=(0,r.useMemo)(Ds,[]),P=(0,fe.useDispatch)(),C=(0,R.useNotification)(),I=(0,fe.useSelector)(B=>D(B),fe.shallowEqual),{push:K}=(0,q.useHistory)(),{trackUsage:L}=(0,R.useTracking)(),{formatMessage:ne}=(0,F.useIntl)(),{getPlugin:N}=(0,R.useStrapiApp)(),$=N(X.Z).apis.forms,Q=$.components.inputs,{addAttribute:Ze,addCreatedComponentToDynamicZone:ge,allComponentsCategories:k,changeDynamicZoneComponents:x,contentTypes:Xe,components:ot,createSchema:Ye,deleteCategory:On,deleteData:Tt,editCategory:Pn,submitData:Rn,modifiedData:le,nestedComponents:xn,setModifiedData:Sn,sortedContentTypesList:An,updateSchema:Et,reservedNames:_e}=(0,Ee.Z)(),{componentToCreate:st,formErrors:Fe,initialData:ce,isCreatingComponentWhileAddingAField:it,modifiedData:b}=I,S=m==="contentType"||m==="component"?[m]:[m,E];(0,r.useEffect)(()=>{if(f){const B=An.filter(mt);g==="editCategory"&&Sn(),s==="edit"&&g==="attribute"&&m==="contentType"&&L("willEditFieldOfContentType");const Be=[...S,"schema","attributes"],Ie=nn(Z()(le,Be,[]),p)||null;if(g==="editCategory"&&s==="edit"&&P({type:J._H,modalType:g,actionType:s,data:{name:u}}),g==="contentType"&&s==="create"&&P({type:J._H,modalType:g,actionType:s,data:{draftAndPublish:!0},pluginOptions:{}}),g==="contentType"&&s==="edit"){const{displayName:U,draftAndPublish:re,kind:te,pluginOptions:ue,pluralName:Se,singularName:Pe}=Z()(le,[...S,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});P({type:J._H,actionType:s,modalType:g,data:{displayName:U,draftAndPublish:re,kind:te,pluginOptions:ue,pluralName:Se,singularName:Pe}})}if(g==="component"&&s==="edit"){const U=Z()(le,S,{});P({type:J._H,actionType:s,modalType:g,data:{displayName:U.schema.displayName,category:U.category,icon:U.schema.icon}})}if(g==="addComponentToDynamicZone"&&s==="edit"){const U=hn(nt({},Ie),{components:[],name:p,createComponent:!1,componentToCreate:{type:"component"}});P({type:J.VZ,attributeToEdit:U})}if(c){const U=nn(Z()(le,Be,[]),l),re=hn(nt({},U),{name:l});c==="component"&&s==="edit"&&(re.repeatable||Zt()(re,"repeatable",!1)),P({type:J.S0,attributeType:c,nameToSetForRelation:Z()(B,["0","title"],"error"),targetUid:Z()(B,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:re,step:v,forTarget:m})}}else P({type:J.c2})},[s,l,c,u,p,m,f,g]);const w=g==="contentType",H=g==="component",ee=g==="attribute",xe=c==="component"&&ee,he=s==="create",be=Z()(b,"createComponent",!1)||it,Me=v==="1",lt=g==="editCategory",nr=g==="chooseAttribute",Dn=(0,Ke.E)(b.displayName||""),ar=Z()(le,[...S,"schema","attributes"],null),qi=()=>Ia(void 0,null,function*(){let B;const Be=be&&v==="1"?Z()(b,"componentToCreate",{}):b;if(w)B=je.contentType.schema(Object.keys(Xe),s==="edit",Z()(le,[...S,"uid"],null),_e,$,Xe);else if(H)B=je.component.schema(Object.keys(ot),b.category||"",_e,s==="edit",Z()(le,[...S,"uid"],null),$);else if(xe&&be&&Me)B=je.component.schema(Object.keys(ot),Z()(b,"componentToCreate.category",""),_e,$);else if(ee&&!Me){const Ie=c==="relation"?"relation":b.type;let U=[];if(Ie==="relation"){const re=Z()(b,["target"],null);U=Z()(Xe,[re,"schema","attributes"],[]).filter(({name:ue})=>s!=="edit"?!0:ue!==ce.targetAttribute)}B=je.attribute.schema(Z()(le,S,{}),Ie,_e,U,{modifiedData:b,initialData:ce},$)}else if(lt)B=je.editCategory.schema(k,ce,$);else if(Me&&be)B=je.component.schema(Object.keys(ot),Z()(b,"componentToCreate.category",""),_e,$);else return;yield B.validate(Be,{abortEarly:!1})}),rr=(0,r.useCallback)(B=>{var{target:Be}=B,Ie=Be,{name:U,value:re,type:te}=Ie,ue=vt(Ie,["name","value","type"]);const Se=["enumName","max","min","maxLength","minLength","regex","default"];let Pe;Se.includes(U)&&re===""?Pe=null:Pe=re;const Re=Object.assign({},Fe);U==="max"&&delete Re.min,U==="maxLength"&&delete Re.minLength,delete Re[U],P({type:J.Ey,errors:Re}),P(nt({type:J.P0,keys:U.split("."),value:Pe},ue))},[P,Fe]),Oe=(B,...Be)=>Ia(void 0,[B,...Be],function*(Ie,U=he){Ie.preventDefault();try{yield qi(),ji(U);const re=m==="components"?E:Dn;if(w)if(he)Ye(hn(nt({},b),{kind:y}),g,Dn),K({pathname:`/plugins/${X.Z}/content-types/${Dn}`}),t({forTarget:m,targetUid:re});else{Qo(le,b)?(e(),Rn(b)):C({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(g==="component")if(he){const te=(0,Ke.N)(b.displayName,b.category),ue=b,{category:Se}=ue,Pe=vt(ue,["category"]);Ye(Pe,"component",te,Se),K({pathname:`/plugins/${X.Z}/component-categories/${Se}/${te}`}),t({forTarget:m,targetUid:te})}else{Et(b,g,E),e();return}else if(lt){if(qe()(ce.name)===qe()(b.name)){e();return}Pn(ce.name,b);return}else if(ee&&!be){if(c==="dynamiczone"){Ze(b,m,E,s==="edit",ce),he?(P({type:J.I}),M.current._handlers.setSelectedTabIndex(0),n({dynamicZoneTarget:b.name})):e();return}if(!xe){Ze(b,m,E,s==="edit",ce),U?t({forTarget:m,targetUid:re}):e();return}if(Me){o(),P({type:J.yC,forTarget:m});return}Ze(b,m,E,s==="edit",ce,!0),U?t({forTarget:m,targetUid:E}):e()}else if(ee&&be){if(Me){L("willCreateComponentFromAttributesModal"),P({type:J.oF,forTarget:m}),o();return}const te=st,{category:ue,type:Se}=te,Pe=vt(te,["category","type"]),Re=(0,Ke.N)(st.displayName,ue);Ye(Pe,Se,Re,ue,be),Ze(b,m,E,!1),P({type:J.c2}),U?t({forTarget:"components",targetUid:Re}):e();return}else{if(Me)if(be){const te=b.componentToCreate,{category:ue,type:Se}=te,Pe=vt(te,["category","type"]),Re=(0,Ke.N)(b.componentToCreate.displayName,ue);Ye(Pe,Se,Re,ue,be),ge(p,[Re]),t({forTarget:"components",targetUid:Re})}else x(p,b.components),e();else Da.error("This case is not handled");return}P({type:J.c2})}catch(re){const te=(0,R.getYupInnerErrors)(re);Da.log({err:re,errors:te}),P({type:J.Ey,errors:te})}}),or=()=>{e(),P({type:J.c2})},ki=B=>{if(B==="advanced"){if(w){L("didSelectContentTypeSettings");return}m==="contentType"&&L("didSelectContentTypeFieldSettings")}},ji=B=>{g==="attribute"&&m==="contentType"&&c!=="dynamiczone"&&B&&L("willAddMoreFieldToContentType")},Ui=()=>!!(g==="editCategory"||g==="component"||Qe()(b,"createComponent")),_i=es(m,E,xn);if(!f||!g)return null;const sr=Z()(je,[g,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),Wi=m==="components"||m==="component",ir={customInputs:nt({"allowed-types-select":ut,"boolean-radio-group":wr,"checkbox-with-number-field":_r,"component-icon-picker":ro,"content-type-radio-group":Hr,"radio-group":Wt,relation:Ro,"select-category":Zo,"select-component":Fo,"select-components":Io,"select-default-boolean":Rr,"select-number":Lo,"select-date":wo,"toggle-draft-publish":br,"text-plural":No,"text-singular":Uo,"textarea-enum":Jo},Q),componentToCreate:st,dynamicZoneTarget:p,formErrors:Fe,isAddingAComponentToAnotherComponent:Wi,isCreatingComponentWhileAddingAField:it,mainBoxHeader:Z()(le,[...S,"schema","displayName"],""),modifiedData:b,naturePickerType:m,isCreating:he,targetUid:E,forTarget:m},lr=sr.advanced({data:b,type:c,step:v,actionType:s,attributes:ar,extensions:$,forTarget:m,contentTypeSchema:le.contentType||{}}).sections,cr=sr.base({data:b,type:c,step:v,actionType:s,attributes:ar,extensions:$,forTarget:m,contentTypeSchema:le.contentType||{}}).sections,$i=ma(cr),zi=ma(lr),Vi=Object.keys(Fe).some(B=>$i.includes(B)),Ki=Object.keys(Fe).some(B=>zi.includes(B)),Gi=Z()(Xe,[E,"schema","kind"]);return r.createElement(r.Fragment,null,r.createElement(Le.ModalLayout,{onClose:or,labelledBy:"title"},r.createElement(vr,{actionType:s,attributeName:l,categoryName:u,contentTypeKind:y,dynamicZoneTarget:p,modalType:g,forTarget:m,targetUid:E,attributeType:c}),nr&&r.createElement(ur,{attributes:_i,forTarget:m,kind:Gi||"collectionType"}),!nr&&r.createElement("form",{onSubmit:Oe},r.createElement(Le.ModalBody,null,r.createElement(de.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:M,onTabChange:B=>{B===1&&ki("advanced")}},r.createElement(V.Flex,{justifyContent:"space-between"},r.createElement(z.Typography,{as:"h2",variant:"beta"},ne({id:ts({actionType:s,forTarget:m,kind:y,step:v,modalType:g}),defaultMessage:"Add new field"},{type:Te()(ne({id:(0,d.Z)(`attribute.${c}`)})),name:Te()(l),step:v})),r.createElement(de.Tabs,null,r.createElement(de.Tab,{hasError:Vi},ne({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),r.createElement(de.Tab,{hasError:Ki,disabled:Ui()},ne({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),r.createElement(et.Divider,null),r.createElement(_.Box,{paddingTop:6},r.createElement(de.TabPanels,null,r.createElement(de.TabPanel,null,r.createElement(me.Stack,{spacing:6},r.createElement(la,{form:cr,formErrors:Fe,genericInputProps:ir,modifiedData:b,onChange:rr}))),r.createElement(de.TabPanel,null,r.createElement(me.Stack,{spacing:6},r.createElement(la,{form:lr,formErrors:Fe,genericInputProps:ir,modifiedData:b,onChange:rr}))))))),r.createElement(Le.ModalFooter,{endActions:r.createElement(Er,{deleteCategory:On,deleteContentType:Tt,deleteComponent:Tt,categoryName:ce.name,isAttributeModal:g==="attribute",isComponentToDzModal:g==="addComponentToDynamicZone",isComponentAttribute:c==="component",isComponentModal:g==="component",isContentTypeModal:g==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:b.createComponent||!1,isCreatingComponentInDz:b.createComponent||!1,isCreatingComponentWhileAddingAField:it,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:c==="dynamiczone",isEditingCategory:g==="editCategory",isInFirstComponentStep:v==="1",onSubmitAddComponentAttribute:Oe,onSubmitAddComponentToDz:Oe,onSubmitCreateComponent:Oe,onSubmitCreateContentType:Oe,onSubmitCreateDz:Oe,onSubmitEditAttribute:Oe,onSubmitEditCategory:Oe,onSubmitEditComponent:Oe,onSubmitEditContentType:Oe,onSubmitEditDz:Oe}),startActions:r.createElement(j.Button,{variant:"tertiary",onClick:or},ne({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))}))))},wa=e=>e.reduce((t,n)=>(t[n.uid]=n,t),{}),ws=(e,t,n,o)=>{const s=t.reduce((u,p)=>{const m=Z()(n,p,{});return u[p]=m,u},{});return{[o?"contentType":"component"]:e,components:s}},Ls=(e,t)=>{const n=Object.keys(e).map(o=>(0,A.get)(e,[o,...t],""));return(0,Ae.Z)(n)};var Bs=i(13339);const qs=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=(0,A.get)(e,[o,"schema","attributes"],[]),l=ks(s);return[...n,...l]},[]);return(0,Ae.Z)(t)},ks=e=>e.reduce((t,n)=>{const{type:o,component:s}=n;return o==="component"&&t.push(s),t},[]),La=qs,js=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=Z()(e,[o],{}),l=s.uid;return Us(s)&&n.push(l),n},[]);return(0,Ae.Z)(t)},Us=e=>Z()(e,["schema","attributes"],[]).some(n=>{const{type:o}=n;return o==="component"});var Ba=Object.getOwnPropertySymbols,_s=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,$s=(e,t)=>{var n={};for(var o in e)_s.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ba)for(var o of Ba(e))t.indexOf(o)<0&&Ws.call(e,o)&&(n[o]=e[o]);return n};const zs=(e,t)=>{const n=Object.keys(e).filter(o=>{const s=(0,A.get)(e,o,{}),l=(0,A.get)(t,o,{}),c=(0,A.get)(s,["isTemporary"],!1),u=!(0,A.isEqual)(s,l);return c||u});return(0,Ae.Z)(n)},Vs=(e,t)=>{const n=ka((0,A.get)(e,"schema.attributes",[]),t),o=(0,A.get)(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},(0,A.omit)(e.schema,"attributes"),{attributes:n})},qa=(e,t=!1)=>{const n=(0,A.get)(e,"uid",null),o=ka((0,A.get)(e,"schema.attributes",[]),n),s=t?{category:(0,A.get)(e,"category","")}:{},l=Object.assign(s,(0,A.omit)(e.schema,"attributes"),{attributes:o});return delete l.uid,delete l.isTemporary,delete l.visible,delete l.restrictRelationsTo,l},ka=(e,t)=>e.reduce((n,o)=>{var s=o,{name:l}=s,c=$s(s,["name"]);const u=c,p=u.target===t,m=u.type==="relation",g=(0,A.get)(u,"targetAttribute",null);if(!p)if(m){const f=Object.assign({},u,{targetAttribute:ja(g)});n[l]=bn(f)}else n[l]=bn(u);if(p){const f=u.target,y=Object.assign({},u,{target:f,targetAttribute:ja(g)});n[l]=bn(y)}return n},{}),ja=e=>e==="-"?null:e,bn=e=>Object.keys(e).reduce((t,n)=>(e[n]!==null&&n!=="plugin"&&(t[n]=e[n]),t),{}),Ks=(e,t,n,o=!1)=>zs(e,t).map(c=>{const u=(0,A.get)(e,c,{});return Vs(u,n,o)}),Gs=e=>(0,A.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/${X.Z}/content-types/${t}`,kind:e[t].schema.kind,restrictRelationsTo:e[t].schema.restrictRelationsTo})).filter(t=>t!==null),t=>(0,A.camelCase)(t.title)),Ua="did-not-kill-server",Hs="server is down";function at(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(Hs);if(!t)throw new Error(Ua);n(e)}).catch(o=>{setTimeout(()=>at(e,o.message!==Ua).then(n),100)})})}const Xs=e=>Object.values(e.attributes).filter(({type:n})=>n==="dynamiczone").every(({components:n})=>Array.isArray(n)&&n.length>0);var ie=i(31947),Ys=i(54370);const Js=()=>e=>e[`${X.Z}_dataManagerProvider`]||Ys.E,Qs=()=>(0,Aa.P1)(Js(),e=>e);var ei=Object.defineProperty,ti=Object.defineProperties,ni=Object.getOwnPropertyDescriptors,_a=Object.getOwnPropertySymbols,ai=Object.prototype.hasOwnProperty,ri=Object.prototype.propertyIsEnumerable,Wa=(e,t,n)=>t in e?ei(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vn=(e,t)=>{for(var n in t||(t={}))ai.call(t,n)&&Wa(e,n,t[n]);if(_a)for(var n of _a(t))ri.call(t,n)&&Wa(e,n,t[n]);return e},Tn=(e,t)=>ti(e,ni(t));const oi=e=>Object.keys(e).reduce((t,n)=>{const o=e[n].schema;return t[n]=Tn(vn({},e[n]),{schema:Tn(vn({},o),{attributes:si(o.attributes)})}),t},{}),si=e=>Object.keys(e).reduce((t,n)=>(t.push(Tn(vn({},e[n]),{name:n})),t),[]),$a=oi;var rt=i(98399),ii=Object.defineProperty,za=Object.getOwnPropertySymbols,li=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable,Va=(e,t,n)=>t in e?ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ka=(e,t)=>{for(var n in t||(t={}))li.call(t,n)&&Va(e,n,t[n]);if(za)for(var n of za(t))ci.call(t,n)&&Va(e,n,t[n]);return e},He=(e,t,n)=>new Promise((o,s)=>{var l=p=>{try{u(n.next(p))}catch(m){s(m)}},c=p=>{try{u(n.throw(p))}catch(m){s(m)}},u=p=>p.done?o(p.value):Promise.resolve(p.value).then(l,c);u((n=n.apply(e,t)).next())});const En=({allIcons:e,children:t,components:n,contentTypes:o,isLoading:s,isLoadingForDataToBeSet:l,initialData:c,modifiedData:u,reservedNames:p})=>{const m=(0,fe.useDispatch)(),g=(0,R.useNotification)(),{lockAppWithAutoreload:f,unlockAppWithAutoreload:y}=(0,R.useAutoReloadOverlayBlocker)(),{setCurrentStep:v}=(0,R.useGuidedTour)(),{getPlugin:E}=(0,R.useStrapiApp)(),{apis:M}=E(X.Z),{autoReload:D}=(0,R.useAppInfos)(),{formatMessage:P}=(0,F.useIntl)(),{trackUsage:C}=(0,R.useTracking)(),{refetchPermissions:I}=(0,R.useRBACProvider)(),{pathname:K}=(0,q.useLocation)(),{onCloseModal:L}=(0,$e.Z)(),ne=(0,q.useRouteMatch)(`/plugins/${X.Z}/content-types/:uid`),N=(0,q.useRouteMatch)(`/plugins/${X.Z}/component-categories/:categoryUid/:componentUid`),ae=(0,r.useRef)();ae.current=P;const $=D,Q=ne!==null,Ze=Q?"contentType":"component",ge=Q?(0,A.get)(ne,"params.uid",null):(0,A.get)(N,"params.componentUid",null),k=(0,r.useRef)(),x=Q?"content-types":"components";k.current=()=>He(void 0,null,function*(){try{const[{data:{data:b}},{data:{data:S}},{data:w}]=yield Promise.all(["components","content-types","reserved-names"].map(be=>we.get(be))),H=wa(b),ee=$a(H),xe=wa(S),he=$a(xe);m({type:ie.Id,components:ee,contentTypes:he,reservedNames:w})}catch(b){rt.error({err:b}),g({type:"warning",message:{id:"notification.error"}})}}),(0,r.useEffect)(()=>(k.current(),()=>{m({type:ie.Zl})}),[]),(0,r.useEffect)(()=>{!s&&ge&&Et()},[s,K,ge]),(0,r.useEffect)(()=>{D||g({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[D,g]);const Xe=(b,S,w,H=!1,ee,xe=!1)=>{const he=H?ie.JO:ie.gz;m({type:he,attributeToSet:b,forTarget:S,targetUid:w,initialAttribute:ee,shouldAddComponentToData:xe})},ot=(b,S)=>{m({type:ie.Uu,dynamicZoneTarget:b,componentsToAdd:S})},Ye=(b,S,w,H,ee=!1)=>{const xe=S==="contentType"?ie.Sh:ie.VR;m({type:xe,data:b,componentCategory:H,schemaType:S,uid:w,shouldAddComponentToData:ee})},On=(b,S)=>{m({type:ie.o_,dynamicZoneTarget:b,newComponents:S})},Tt=(b,S,w="")=>{const H=b==="components"?ie.lw:ie.ai;b==="contentType"&&C("willDeleteFieldOfContentType"),m({type:H,mainDataKey:b,attributeToRemoveName:S,componentUid:w})},Pn=b=>He(void 0,null,function*(){try{const S=`/component-categories/${b}`,w=window.confirm(P({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));L(),w&&(f(),yield we.delete(S),yield at(!0),yield y(),yield ce())}catch(S){rt.error({err:S}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),Rn=()=>He(void 0,null,function*(){try{const b=`/${x}/${ge}`,S=(0,A.get)(u,[Ze,"isTemporary"],!1),w=window.confirm(P({id:(0,d.Z)(`popUpWarning.bodyMessage.${Q?"contentType":"component"}.delete`)}));if(L(),w){if(S){m({type:ie.Ap});return}f(),yield we.delete(b),yield at(!0),yield y(),yield ce()}}catch(b){rt.error({err:b}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),le=(b,S)=>He(void 0,null,function*(){try{const w=`/component-categories/${b}`;L(),f(),yield we({url:w,method:"PUT",data:S}),yield at(!0),yield y(),yield ce()}catch(w){rt.error({err:w}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),xn=()=>{const b=Object.assign({},n,u.components);if(!Q){const w=(0,A.get)(u,"component",{});(0,A.set)(b,(0,A.get)(w,["uid"],""),w)}const S=js(b);return(0,Ae.Z)(S)},Sn=()=>{const b=La(n),S=La(u.components||{});return(0,Ae.Z)([...S,...b])},An=(b,S)=>{m({type:ie.NG,dzName:b,componentToRemoveIndex:S})},Et=()=>{const b=Q?o:n,S=(0,A.get)(b,ge,{schema:{attributes:[]}}),w=(0,Bs.Z)(S.schema.attributes,n),H=ws(S,w,n,Q),ee=(0,A.get)(S,"isTemporary",!1)&&(0,A.size)((0,A.get)(S,"schema.attributes",[]))===0;m({type:ie.xx,schemaToSet:H,hasJustCreatedSchema:ee})},_e=(0,r.useMemo)(()=>{const b=Q?o:n;return ge==="create-content-type"?!1:!Object.keys(b).includes(ge)&&!s},[n,o,ge,Q,s]),st=(0,r.useMemo)(()=>{const b=Object.keys(o).filter(S=>(0,A.get)(o,[S,"schema","visible"],!0)).sort();return(0,A.get)(b,"0","create-content-type")},[o]);if(_e)return r.createElement(q.Redirect,{to:`/plugins/${X.Z}/content-types/${st}`});const Fe=b=>He(void 0,null,function*(){var S,w;try{const H=(0,A.get)(u,[Ze,"isTemporary"],!1),ee={components:Ks(u.components,n,ge,H)};if(Q){const Me=M.forms.mutateContentTypeSchema(Ka(Ka({},qa(u.contentType)),b),c.contentType);if(!Xs(Me)){g({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}ee.contentType=Me,C("willSaveContentType")}else ee.component=qa(u.component,!0),C("willSaveComponent");const xe=H?"POST":"PUT",he=`/${x}`,be=H?he:`${he}/${ge}`;if(f(),yield we({url:be,method:xe,data:ee}),yield at(!0),yield y(),H&&(((S=c.contentType)==null?void 0:S.schema.kind)==="collectionType"||((w=c.contentType)==null?void 0:w.schema.kind)==="singleType")&&v("contentTypeBuilder.success"),Q){C("didSaveContentType");const Me=(0,A.get)(ee,["contentType","schema","name"],""),lt=(0,A.get)(c,["contentType","schema","name"],"");!H&&Me!==lt&&C("didEditNameOfContentType")}else C("didSaveComponent");yield ce()}catch(H){Q||C("didNotSaveComponent"),rt.error({err:H.response}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),ce=()=>He(void 0,null,function*(){yield I()}),it=(b,S,w)=>{m({type:ie.bi,data:b,schemaType:S,uid:w})};return r.createElement(Pt.Z.Provider,{value:{addAttribute:Xe,addCreatedComponentToDynamicZone:ot,allComponentsCategories:Ls(n,["category"]),allIcons:e,changeDynamicZoneComponents:On,components:n,componentsGroupedByCategory:(0,A.groupBy)(n,"category"),componentsThatHaveOtherComponentInTheirAttributes:xn(),contentTypes:o,createSchema:Ye,deleteCategory:Pn,deleteData:Rn,editCategory:le,isInDevelopmentMode:$,initialData:c,isInContentTypeView:Q,modifiedData:u,nestedComponents:Sn(),removeAttribute:Tt,removeComponentFromDynamicZone:An,reservedNames:p,setModifiedData:Et,sortedContentTypesList:Gs(o),submitData:Fe,updateSchema:it}},r.createElement(r.Fragment,null,l?r.createElement(R.LoadingIndicatorPage,null):r.createElement(r.Fragment,null,t,$&&r.createElement(Is,null))))};En.defaultProps={components:{}},En.propTypes={allIcons:a().array.isRequired,children:a().node.isRequired,components:a().object,contentTypes:a().object.isRequired,isLoading:a().bool.isRequired,isLoadingForDataToBeSet:a().bool.isRequired,initialData:a().object.isRequired,modifiedData:a().object.isRequired,reservedNames:a().object.isRequired};const ui=Qs(),di=(0,fe.connect)(ui,null),mi=(0,Ot.compose)(di)((0,r.memo)(En));var pi=i(51216);const Ga={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null};var gi=Object.defineProperty,fi=Object.defineProperties,yi=Object.getOwnPropertyDescriptors,Ha=Object.getOwnPropertySymbols,hi=Object.prototype.hasOwnProperty,bi=Object.prototype.propertyIsEnumerable,Xa=(e,t,n)=>t in e?gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ye=(e,t)=>{for(var n in t||(t={}))hi.call(t,n)&&Xa(e,n,t[n]);if(Ha)for(var n of Ha(t))bi.call(t,n)&&Xa(e,n,t[n]);return e},Ce=(e,t)=>fi(e,yi(t));const Ya=({children:e})=>{const[t,n]=(0,r.useState)(Ga),{trackUsage:o}=(0,R.useTracking)(),s=({attributeType:M,step:D})=>{t.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:M}),n(P=>Ce(ye({},P),{actionType:"create",modalType:"attribute",step:D,attributeType:M}))},l=({dynamicZoneTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{dynamicZoneTarget:M,targetUid:D,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},c=({forTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{actionType:"create",forTarget:M,targetUid:D,modalType:"chooseAttribute",isOpen:!0}))},u=M=>{n(D=>Ce(ye(ye({},D),M),{isOpen:!0}))},p=M=>{n(D=>Ce(ye({},D),{categoryName:M,actionType:"edit",modalType:"editCategory",isOpen:!0}))},m=({forTarget:M,targetUid:D,attributeName:P,attributeType:C,step:I})=>{n(K=>Ce(ye({},K),{modalType:"attribute",actionType:"edit",forTarget:M,targetUid:D,attributeName:P,attributeType:C,step:I,isOpen:!0}))},g=({modalType:M,forTarget:D,targetUid:P,kind:C})=>{n(I=>Ce(ye({},I),{modalType:M,actionType:"edit",forTarget:D,targetUid:P,kind:C,isOpen:!0}))},f=()=>{n(Ga)},y=({forTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{forTarget:M,targetUid:D,modalType:"chooseAttribute"}))},v=()=>{n(M=>Ce(ye({},M),{attributeType:"component",modalType:"attribute",step:"2"}))},E=({dynamicZoneTarget:M})=>{n(D=>Ce(ye({},D),{dynamicZoneTarget:M,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return r.createElement(pi.Z.Provider,{value:Ce(ye({},t),{onClickSelectField:s,onCloseModal:f,onNavigateToChooseAttributeModal:y,onNavigateToAddCompoToDZModal:E,onOpenModalAddComponentsToDZ:l,onNavigateToCreateComponentStep2:v,onOpenModalAddField:c,onOpenModalCreateSchema:u,onOpenModalEditCategory:p,onOpenModalEditField:m,onOpenModalEditSchema:g,setFormModalNavigationState:n})},e)};Ya.propTypes={children:a().node.isRequired};const vi=Ya,Ti=(0,r.lazy)(()=>i.e(5905).then(i.bind(i,2863))),Ei=()=>{const{url:e}=(0,q.useRouteMatch)(),{categoryUid:t}=(0,q.useParams)();return r.createElement(r.Suspense,{fallback:r.createElement(R.LoadingIndicatorPage,null)},r.createElement(q.Switch,null,r.createElement(q.Route,{path:`${e}/:componentUid`},r.createElement(Ti,{categoryId:t}))))},Ci=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 Ue=i(89420),Mi=i(74201),Oi=i(86834),Pi=i.n(Oi),Ri=i(98978),Ja=i.n(Ri),xi=i(89793),Si=i.n(xi),Ai=i(58469),Di=Object.defineProperty,Ni=Object.defineProperties,Zi=Object.getOwnPropertyDescriptors,Qa=Object.getOwnPropertySymbols,Fi=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable,er=(e,t,n)=>t in e?Di(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cn=(e,t)=>{for(var n in t||(t={}))Fi.call(t,n)&&er(e,n,t[n]);if(Qa)for(var n of Qa(t))Ii.call(t,n)&&er(e,n,t[n]);return e},Mn=(e,t)=>Ni(e,Zi(t));const wi=()=>{const{components:e,componentsGroupedByCategory:t,contentTypes:n,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:l,initialData:c}=(0,Ee.Z)(),u=(0,R.useNotification)(),{trackUsage:p}=(0,R.useTracking)(),[m,g]=(0,r.useState)(""),{onOpenModalCreateSchema:f,onOpenModalEditCategory:y}=(0,$e.Z)(),v=Ja()(Object.keys(t).map(N=>({name:N,title:N,isEditable:o,onClickEdit:(ae,$)=>{ae.stopPropagation(),E?y($.name):C()},links:Ja()(t[N].map(ae=>({name:ae.uid,to:`/plugins/${X.Z}/component-categories/${N}/${ae.uid}`,title:ae.schema.displayName})),ae=>ae.title)})),N=>N.title),E=!Object.keys(n).some(N=>n[N].isTemporary===!0)&&!Object.keys(e).some(N=>e[N].isTemporary===!0)&&Si()(l,c),M=()=>{E?(p("willCreateContentType"),f({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):C()},D=()=>{E?(p("willCreateSingleType"),f({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):C()},P=()=>{E?(p("willCreateComponent"),f({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):C()},C=()=>{u({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},I=s.filter(N=>N.visible),K=[{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:M},links:I.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:D},links:I.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:P},links:v}],L=N=>(0,Ai.ZP)(N,qe()(m),{keys:[ae=>qe()(ae.title)]});return{menu:(()=>K.map(N=>N.links.some($=>!Pi()($.links))?Mn(Cn({},N),{links:N.links.map($=>Mn(Cn({},$),{links:L($.links)}))}):Mn(Cn({},N),{links:L(N.links)})))(),searchValue:m,onSearchChange:g}},Li=()=>{const{menu:e,searchValue:t,onSearchChange:n}=wi(),{formatMessage:o}=(0,F.useIntl)();return r.createElement(Ue.SubNav,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},r.createElement(Ue.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"})}),r.createElement(Ue.SubNavSections,null,e.map(s=>{const l=s.title.id;return r.createElement(r.Fragment,{key:s.name},r.createElement(Ue.SubNavSection,{label:o({id:l,defaultMessage:l}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(c=>c.links?r.createElement(Ue.SubNavLinkSection,{key:c.name,label:Te()(c.title)},c.links.map(u=>r.createElement(Ue.SubNavLink,{as:q.NavLink,to:u.to,active:u.active,key:u.name},Te()(o({id:u.name,defaultMessage:u.title}))))):r.createElement(Ue.SubNavLink,{as:q.NavLink,to:c.to,active:c.active,key:c.name},Te()(o({id:c.name,defaultMessage:c.title}))))),s.customLink&&r.createElement(_.Box,{paddingLeft:7},r.createElement(Mi.TextButton,{onClick:s.customLink.onClick,startIcon:r.createElement(tt(),null)},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage}))))})))},tr=(0,r.lazy)(()=>i.e(5905).then(i.bind(i,2863))),Bi=()=>{const{formatMessage:e}=(0,F.useIntl)(),t=e({id:`${X.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:n}=(0,R.useGuidedTour)(),o=(0,r.useRef)(n);return(0,r.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),r.createElement(R.CheckPagePermissions,{permissions:Ct.Z.main},r.createElement(ve.Helmet,{title:t}),r.createElement(vi,null,r.createElement(mi,{allIcons:Ci},r.createElement(Nn.Layout,{sideNav:r.createElement(Li,null)},r.createElement(r.Suspense,{fallback:r.createElement(R.LoadingIndicatorPage,null)},r.createElement(q.Switch,null,r.createElement(q.Route,{path:`/plugins/${X.Z}/content-types/create-content-type`,component:tr}),r.createElement(q.Route,{path:`/plugins/${X.Z}/content-types/:uid`,component:tr}),r.createElement(q.Route,{path:`/plugins/${X.Z}/component-categories/:categoryUid`,component:Ei})))))))}},92318:(We,se,i)=>{i.d(se,{Z:()=>ve});var r=i(25158);const ve=F=>`${r.Z}.${F}`}}]);
|
|
142
|
+
evening`},validations:{required:!0}}]}]}),media:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:()=>({sections:[{sectionTitle:null,items:[Ne,{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:()=>({sections:[{sectionTitle:null,items:[{intlLabel:{id:"FIXME",defaultMessage:"FIXME"},name:"relation",size:12,type:"relation"}]}]}),string:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:()=>({sections:[{sectionTitle:null,items:[Ne]},{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:[hs(ys({},Ne),{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]}]}]}}}},bs={sections:[{sectionTitle:null,items:[Ne]}]};var vs=i(91815),Ts=i.n(vs),Es=i(40791),Cs=i.n(Es);const dn=e=>Cs()(e,{decamelize:!1,lowercase:!1,separator:"_"}),va=new RegExp("^[A-Za-z][_0-9A-Za-z]*$"),Ta=e=>({name:"attributeNameAlreadyUsed",message:R.translatedErrors.unique,test:t=>t?!e.includes(t):!1}),gl=(e,t,n)=>{const o=get(e,["schema","attributes"],{});return Object.keys(o).filter(s=>t?s!==n:!0)},mn=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test:t=>t?!e.includes(t):!1}),h={default:()=>T.Z_().nullable(),max:()=>T.Rx().integer().nullable(),min:()=>T.Rx().integer().when("max",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),maxLength:()=>T.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>T.Rx().integer().min(0).when("maxLength",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),name:(e,t)=>T.Z_().test(Ta(e)).test(mn(t)).matches(va,R.translatedErrors.regex).required(R.translatedErrors.required),required:()=>T.O7(),type:()=>T.Z_().required(R.translatedErrors.required),unique:()=>T.O7().nullable()},pn=(e,t)=>({name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength(),regex:T.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test:o=>new RegExp(o)!==null}).nullable()}),gn={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,A.toNumber)(e))?!0:(0,A.toNumber)(t)>=(0,A.toNumber)(e)}},Ea={date:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},datetime:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},time:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},default:(e,t)=>{const n={name:h.name(e,t),type:h.type()};return T.Ry(n)},biginteger:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Z_().nullable().matches(/^-?\d*$/),unique:h.unique(),required:h.required(),max:T.Z_().nullable().matches(/^-?\d*$/,R.translatedErrors.regex),min:T.Z_().nullable().test(gn).matches(/^-?\d*$/,R.translatedErrors.regex)};return T.Ry(n)},boolean:(e,t)=>{const n={name:h.name(e,t),default:T.O7().nullable(),required:h.required(),unique:h.unique()};return T.Ry(n)},component:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),max:h.max(),min:h.min(),component:T.Z_().required(R.translatedErrors.required)};return T.Ry(n)},decimal:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Rx(),required:h.required(),max:T.Rx(),min:T.Rx().test(gn)};return T.Ry(n)},dynamiczone:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),max:h.max(),min:h.min()};return T.Ry(n)},email:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Z_().email().nullable(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},enumeration:(e,t)=>{const n=new RegExp("^[_A-Za-z][_0-9A-Za-z]*$"),o={name:T.Z_().test(Ta(e)).test(mn(t)).matches(n,R.translatedErrors.regex).required(R.translatedErrors.required),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),enum:T.IX().of(T.Z_()).min(1,R.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!Ts()(s.map(dn).filter((c,u,p)=>p.indexOf(c)!==u)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(dn).some(l=>l==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(dn).every(l=>n.test(l))}),enumName:T.Z_().nullable()};return T.Ry(o)},float:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),default:T.Rx(),max:T.Rx(),min:T.Rx().test(gn)};return T.Ry(n)},integer:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:T.Rx().integer(),unique:h.unique(),required:h.required(),max:h.max(),min:h.min()};return T.Ry(n)},json:(e,t)=>{const n={name:h.name(e,t),type:h.type(),required:h.required(),unique:h.unique()};return T.Ry(n)},media:(e,t)=>{const n={name:h.name(e,t),type:h.type(),multiple:T.O7(),required:h.required(),allowedTypes:T.IX().of(T.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return T.Ry(n)},password:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},relation:(e,t,n,{initialData:o,modifiedData:s})=>{const l={name:h.name(e,t),target:T.Z_().required(R.translatedErrors.required),relation:T.Z_().required(),type:T.Z_().required(),targetAttribute:T.Vo(()=>{const c=(0,Gt.Z)(s.relation,s.targetAttribute);if(c==="oneWay"||c==="manyWay")return T.Z_().nullable();let u=T.Z_().test(mn(t)),m=[...n.map(({name:g})=>g),s.name].filter(g=>g!==o.targetAttribute);return u.matches(va,R.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test:g=>g?!m.includes(g):!1}).required(R.translatedErrors.required)})};return T.Ry(l)},richtext:(e,t)=>{const n={name:h.name(e,t),type:h.type(),default:h.default(),unique:h.unique(),required:h.required(),maxLength:h.maxLength(),minLength:h.minLength()};return T.Ry(n)},string:(e,t)=>{const n=pn(e,t);return T.Ry(n)},text:(e,t)=>{const n=pn(e,t);return T.Ry(n)},uid:(e,t)=>{const n=pn(e,t);return T.Ry(n)}},Ca={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}},fn={advanced:{default:()=>({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:()=>({sections:[{sectionTitle:null,items:[Ca,{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:()=>({sections:[{sectionTitle:null,items:[Ca,{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"}]}]}]})}},Ms=(e,t,n,o)=>{const s={displayName:T.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test:l=>{if(!l)return!1;const c=(0,Ke.E)(l);return!e.includes(c)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test:l=>l?!t.includes((0,A.toLower)((0,A.trim)(l))):!1}).required(R.translatedErrors.required),pluralName:T.Z_().test({name:"pluralNameAlreadyUsed",message:R.translatedErrors.unique,test:l=>l?!o.includes(l):!1}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test:(l,c)=>l?c.parent.singularName!==l:!1}).required(R.translatedErrors.required),singularName:T.Z_().test({name:"singularNameAlreadyUsed",message:R.translatedErrors.unique,test:l=>l?!n.includes(l):!1}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test:(l,c)=>l?c.parent.pluralName!==l:!1}).required(R.translatedErrors.required),draftAndPublish:T.O7(),kind:T.Z_().oneOf(["singleType","collectionType"])};return T.Ry(s)},yn={advanced:{default:()=>({sections:Ge.advanced("componentToCreate.")})},base:{createComponent:()=>({sections:[{sectionTitle:null,items:[ln]},...Ge.base("componentToCreate.")]}),default:()=>({sections:[{sectionTitle:null,items:[ln]},{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}]}]})}};var Ma=i(98399),Os=Object.defineProperty,Ps=Object.defineProperties,Rs=Object.getOwnPropertyDescriptors,ht=Object.getOwnPropertySymbols,Oa=Object.prototype.hasOwnProperty,Pa=Object.prototype.propertyIsEnumerable,Ra=(e,t,n)=>t in e?Os(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xa=(e,t)=>{for(var n in t||(t={}))Oa.call(t,n)&&Ra(e,n,t[n]);if(ht)for(var n of ht(t))Pa.call(t,n)&&Ra(e,n,t[n]);return e},xs=(e,t)=>Ps(e,Rs(t)),Sa=(e,t)=>{var n={};for(var o in e)Oa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ht)for(var o of ht(e))t.indexOf(o)<0&&Pa.call(e,o)&&(n[o]=e[o]);return n};const je={attribute:{schema(e,t,n,o,s,l){const u=Z()(e,["schema","attributes"],[]).filter(({name:p})=>p!==s.initialData.name).map(({name:p})=>p);try{let p=Ea[t](u,n.attributes,o,s);return l.makeValidator(["attribute",t],p,u,n.attributes,o,s)}catch(p){return Ma.error("Error yup build schema",p),Ea.default(u,n.attributes)}},form:{advanced(e){var t=e,{data:n,type:o,step:s,extensions:l}=t,c=Sa(t,["data","type","step","extensions"]);try{const u=ba.advanced[o](n,s).sections,p=l.getAdvancedForm(["attribute",o],xa({data:n,type:o,step:s},c));return{sections:u.reduce((g,f)=>(f.sectionTitle===null?g.push(f):g.push(xs(xa({},f),{items:[...f.items,...p]})),g),[])}}catch(u){return Ma.error(u),{sections:[]}}},base({data:e,type:t,step:n,attributes:o}){try{return ba.base[t](e,n,o)}catch(s){return bs}}}},contentType:{schema(e,t,n,o,s,l){const c=Object.values(l).map(y=>y.schema.singularName),u=Object.values(l).map(y=>y.schema.pluralNames),p=t?e.filter(y=>y!==n):e,m=t?c.filter(y=>Z()(l,[n,"schema","singularName"],"")!==y):c,g=t?u.filter(y=>Z()(l,[n,"schema","pluralName"],"")!==y):u,f=Ms(p,o.models,m,g);return s.makeValidator(["contentType"],f,p,o.models,m,g)},form:{base({actionType:e}){return e==="create"?fn.base.create():fn.base.edit()},advanced(e){var t=e,{extensions:n}=t,o=Sa(t,["extensions"]);const s=fn.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(c=>c!==s):e;return rs(l,n.models,t)},form:{advanced(){return{sections:Ge.advanced()}},base(){return{sections:Ge.base()}}}},addComponentToDynamicZone:{form:{advanced(){return yn.advanced.default()},base({data:e}){return Z()(e,"createComponent",!1)?yn.base.createComponent():yn.base.default()}}},editCategory:{schema(e,t){const n=e.filter(o=>o!==t.name).map(o=>qe()(o));return as(n)},form:{advanced:()=>({sections:[]}),base(){return ns.base}}}};var Aa=i(12463),Ss=i(25061);const As=()=>e=>e[`${X.Z}_formModal`]||Ss.E,Ds=()=>(0,Aa.P1)(As(),e=>e);var Da=i(98399),Ns=Object.defineProperty,Zs=Object.defineProperties,Fs=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Za=Object.prototype.propertyIsEnumerable,Fa=(e,t,n)=>t in e?Ns(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nt=(e,t)=>{for(var n in t||(t={}))Na.call(t,n)&&Fa(e,n,t[n]);if(bt)for(var n of bt(t))Za.call(t,n)&&Fa(e,n,t[n]);return e},hn=(e,t)=>Zs(e,Fs(t)),vt=(e,t)=>{var n={};for(var o in e)Na.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&&Za.call(e,o)&&(n[o]=e[o]);return n},Ia=(e,t,n)=>new Promise((o,s)=>{var l=p=>{try{u(n.next(p))}catch(m){s(m)}},c=p=>{try{u(n.throw(p))}catch(m){s(m)}},u=p=>p.done?o(p.value):Promise.resolve(p.value).then(l,c);u((n=n.apply(e,t)).next())});const Is=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:t,onNavigateToAddCompoToDZModal:n,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:l,attributeType:c,categoryName:u,dynamicZoneTarget:p,forTarget:m,modalType:g,isOpen:f,kind:y,step:v,targetUid:E}=(0,$e.Z)(),M=(0,r.useRef)(),D=(0,r.useMemo)(Ds,[]),P=(0,fe.useDispatch)(),C=(0,R.useNotification)(),I=(0,fe.useSelector)(B=>D(B),fe.shallowEqual),{push:K}=(0,q.useHistory)(),{trackUsage:L}=(0,R.useTracking)(),{formatMessage:ne}=(0,F.useIntl)(),{getPlugin:N}=(0,R.useStrapiApp)(),$=N(X.Z).apis.forms,Q=$.components.inputs,{addAttribute:Ze,addCreatedComponentToDynamicZone:ge,allComponentsCategories:k,changeDynamicZoneComponents:x,contentTypes:Xe,components:ot,createSchema:Ye,deleteCategory:On,deleteData:Tt,editCategory:Pn,submitData:Rn,modifiedData:le,nestedComponents:xn,setModifiedData:Sn,sortedContentTypesList:An,updateSchema:Et,reservedNames:_e}=(0,Ee.Z)(),{componentToCreate:st,formErrors:Fe,initialData:ce,isCreatingComponentWhileAddingAField:it,modifiedData:b}=I,S=m==="contentType"||m==="component"?[m]:[m,E];(0,r.useEffect)(()=>{if(f){const B=An.filter(mt);g==="editCategory"&&Sn(),s==="edit"&&g==="attribute"&&m==="contentType"&&L("willEditFieldOfContentType");const Be=[...S,"schema","attributes"],Ie=nn(Z()(le,Be,[]),p)||null;if(g==="editCategory"&&s==="edit"&&P({type:J._H,modalType:g,actionType:s,data:{name:u}}),g==="contentType"&&s==="create"&&P({type:J._H,modalType:g,actionType:s,data:{draftAndPublish:!0},pluginOptions:{}}),g==="contentType"&&s==="edit"){const{displayName:U,draftAndPublish:re,kind:te,pluginOptions:ue,pluralName:Se,singularName:Pe}=Z()(le,[...S,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});P({type:J._H,actionType:s,modalType:g,data:{displayName:U,draftAndPublish:re,kind:te,pluginOptions:ue,pluralName:Se,singularName:Pe}})}if(g==="component"&&s==="edit"){const U=Z()(le,S,{});P({type:J._H,actionType:s,modalType:g,data:{displayName:U.schema.displayName,category:U.category,icon:U.schema.icon}})}if(g==="addComponentToDynamicZone"&&s==="edit"){const U=hn(nt({},Ie),{components:[],name:p,createComponent:!1,componentToCreate:{type:"component"}});P({type:J.VZ,attributeToEdit:U})}if(c){const U=nn(Z()(le,Be,[]),l),re=hn(nt({},U),{name:l});c==="component"&&s==="edit"&&(re.repeatable||Zt()(re,"repeatable",!1)),P({type:J.S0,attributeType:c,nameToSetForRelation:Z()(B,["0","title"],"error"),targetUid:Z()(B,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:re,step:v,forTarget:m})}}else P({type:J.c2})},[s,l,c,u,p,m,f,g]);const w=g==="contentType",H=g==="component",ee=g==="attribute",xe=c==="component"&&ee,he=s==="create",be=Z()(b,"createComponent",!1)||it,Me=v==="1",lt=g==="editCategory",nr=g==="chooseAttribute",Dn=(0,Ke.E)(b.displayName||""),ar=Z()(le,[...S,"schema","attributes"],null),qi=()=>Ia(void 0,null,function*(){let B;const Be=be&&v==="1"?Z()(b,"componentToCreate",{}):b;if(w)B=je.contentType.schema(Object.keys(Xe),s==="edit",Z()(le,[...S,"uid"],null),_e,$,Xe);else if(H)B=je.component.schema(Object.keys(ot),b.category||"",_e,s==="edit",Z()(le,[...S,"uid"],null),$);else if(xe&&be&&Me)B=je.component.schema(Object.keys(ot),Z()(b,"componentToCreate.category",""),_e,$);else if(ee&&!Me){const Ie=c==="relation"?"relation":b.type;let U=[];if(Ie==="relation"){const re=Z()(b,["target"],null);U=Z()(Xe,[re,"schema","attributes"],[]).filter(({name:ue})=>s!=="edit"?!0:ue!==ce.targetAttribute)}B=je.attribute.schema(Z()(le,S,{}),Ie,_e,U,{modifiedData:b,initialData:ce},$)}else if(lt)B=je.editCategory.schema(k,ce,$);else if(Me&&be)B=je.component.schema(Object.keys(ot),Z()(b,"componentToCreate.category",""),_e,$);else return;yield B.validate(Be,{abortEarly:!1})}),rr=(0,r.useCallback)(B=>{var{target:Be}=B,Ie=Be,{name:U,value:re,type:te}=Ie,ue=vt(Ie,["name","value","type"]);const Se=["enumName","max","min","maxLength","minLength","regex","default"];let Pe;Se.includes(U)&&re===""?Pe=null:Pe=re;const Re=Object.assign({},Fe);U==="max"&&delete Re.min,U==="maxLength"&&delete Re.minLength,delete Re[U],P({type:J.Ey,errors:Re}),P(nt({type:J.P0,keys:U.split("."),value:Pe},ue))},[P,Fe]),Oe=(B,...Be)=>Ia(void 0,[B,...Be],function*(Ie,U=he){Ie.preventDefault();try{yield qi(),ji(U);const re=m==="components"?E:Dn;if(w)if(he)Ye(hn(nt({},b),{kind:y}),g,Dn),K({pathname:`/plugins/${X.Z}/content-types/${Dn}`}),t({forTarget:m,targetUid:re});else{Qo(le,b)?(e(),Rn(b)):C({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(g==="component")if(he){const te=(0,Ke.N)(b.displayName,b.category),ue=b,{category:Se}=ue,Pe=vt(ue,["category"]);Ye(Pe,"component",te,Se),K({pathname:`/plugins/${X.Z}/component-categories/${Se}/${te}`}),t({forTarget:m,targetUid:te})}else{Et(b,g,E),e();return}else if(lt){if(qe()(ce.name)===qe()(b.name)){e();return}Pn(ce.name,b);return}else if(ee&&!be){if(c==="dynamiczone"){Ze(b,m,E,s==="edit",ce),he?(P({type:J.I}),M.current._handlers.setSelectedTabIndex(0),n({dynamicZoneTarget:b.name})):e();return}if(!xe){Ze(b,m,E,s==="edit",ce),U?t({forTarget:m,targetUid:re}):e();return}if(Me){o(),P({type:J.yC,forTarget:m});return}Ze(b,m,E,s==="edit",ce,!0),U?t({forTarget:m,targetUid:E}):e()}else if(ee&&be){if(Me){L("willCreateComponentFromAttributesModal"),P({type:J.oF,forTarget:m}),o();return}const te=st,{category:ue,type:Se}=te,Pe=vt(te,["category","type"]),Re=(0,Ke.N)(st.displayName,ue);Ye(Pe,Se,Re,ue,be),Ze(b,m,E,!1),P({type:J.c2}),U?t({forTarget:"components",targetUid:Re}):e();return}else{if(Me)if(be){const te=b.componentToCreate,{category:ue,type:Se}=te,Pe=vt(te,["category","type"]),Re=(0,Ke.N)(b.componentToCreate.displayName,ue);Ye(Pe,Se,Re,ue,be),ge(p,[Re]),t({forTarget:"components",targetUid:Re})}else x(p,b.components),e();else Da.error("This case is not handled");return}P({type:J.c2})}catch(re){const te=(0,R.getYupInnerErrors)(re);Da.log({err:re,errors:te}),P({type:J.Ey,errors:te})}}),or=()=>{e(),P({type:J.c2})},ki=B=>{if(B==="advanced"){if(w){L("didSelectContentTypeSettings");return}m==="contentType"&&L("didSelectContentTypeFieldSettings")}},ji=B=>{g==="attribute"&&m==="contentType"&&c!=="dynamiczone"&&B&&L("willAddMoreFieldToContentType")},Ui=()=>!!(g==="editCategory"||g==="component"||Qe()(b,"createComponent")),_i=es(m,E,xn);if(!f||!g)return null;const sr=Z()(je,[g,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),Wi=m==="components"||m==="component",ir={customInputs:nt({"allowed-types-select":ut,"boolean-radio-group":wr,"checkbox-with-number-field":_r,"component-icon-picker":ro,"content-type-radio-group":Hr,"radio-group":Wt,relation:Ro,"select-category":Zo,"select-component":Fo,"select-components":Io,"select-default-boolean":Rr,"select-number":Lo,"select-date":wo,"toggle-draft-publish":br,"text-plural":No,"text-singular":Uo,"textarea-enum":Jo},Q),componentToCreate:st,dynamicZoneTarget:p,formErrors:Fe,isAddingAComponentToAnotherComponent:Wi,isCreatingComponentWhileAddingAField:it,mainBoxHeader:Z()(le,[...S,"schema","displayName"],""),modifiedData:b,naturePickerType:m,isCreating:he,targetUid:E,forTarget:m},lr=sr.advanced({data:b,type:c,step:v,actionType:s,attributes:ar,extensions:$,forTarget:m,contentTypeSchema:le.contentType||{}}).sections,cr=sr.base({data:b,type:c,step:v,actionType:s,attributes:ar,extensions:$,forTarget:m,contentTypeSchema:le.contentType||{}}).sections,$i=ma(cr),zi=ma(lr),Vi=Object.keys(Fe).some(B=>$i.includes(B)),Ki=Object.keys(Fe).some(B=>zi.includes(B)),Gi=Z()(Xe,[E,"schema","kind"]);return r.createElement(r.Fragment,null,r.createElement(Le.ModalLayout,{onClose:or,labelledBy:"title"},r.createElement(vr,{actionType:s,attributeName:l,categoryName:u,contentTypeKind:y,dynamicZoneTarget:p,modalType:g,forTarget:m,targetUid:E,attributeType:c}),nr&&r.createElement(ur,{attributes:_i,forTarget:m,kind:Gi||"collectionType"}),!nr&&r.createElement("form",{onSubmit:Oe},r.createElement(Le.ModalBody,null,r.createElement(de.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:M,onTabChange:B=>{B===1&&ki("advanced")}},r.createElement(V.Flex,{justifyContent:"space-between"},r.createElement(z.Typography,{as:"h2",variant:"beta"},ne({id:ts({actionType:s,forTarget:m,kind:y,step:v,modalType:g}),defaultMessage:"Add new field"},{type:Te()(ne({id:(0,d.Z)(`attribute.${c}`)})),name:Te()(l),step:v})),r.createElement(de.Tabs,null,r.createElement(de.Tab,{hasError:Vi},ne({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),r.createElement(de.Tab,{hasError:Ki,disabled:Ui()},ne({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),r.createElement(et.Divider,null),r.createElement(_.Box,{paddingTop:6},r.createElement(de.TabPanels,null,r.createElement(de.TabPanel,null,r.createElement(me.Stack,{spacing:6},r.createElement(la,{form:cr,formErrors:Fe,genericInputProps:ir,modifiedData:b,onChange:rr}))),r.createElement(de.TabPanel,null,r.createElement(me.Stack,{spacing:6},r.createElement(la,{form:lr,formErrors:Fe,genericInputProps:ir,modifiedData:b,onChange:rr}))))))),r.createElement(Le.ModalFooter,{endActions:r.createElement(Er,{deleteCategory:On,deleteContentType:Tt,deleteComponent:Tt,categoryName:ce.name,isAttributeModal:g==="attribute",isComponentToDzModal:g==="addComponentToDynamicZone",isComponentAttribute:c==="component",isComponentModal:g==="component",isContentTypeModal:g==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:b.createComponent||!1,isCreatingComponentInDz:b.createComponent||!1,isCreatingComponentWhileAddingAField:it,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:c==="dynamiczone",isEditingCategory:g==="editCategory",isInFirstComponentStep:v==="1",onSubmitAddComponentAttribute:Oe,onSubmitAddComponentToDz:Oe,onSubmitCreateComponent:Oe,onSubmitCreateContentType:Oe,onSubmitCreateDz:Oe,onSubmitEditAttribute:Oe,onSubmitEditCategory:Oe,onSubmitEditComponent:Oe,onSubmitEditContentType:Oe,onSubmitEditDz:Oe}),startActions:r.createElement(j.Button,{variant:"tertiary",onClick:or},ne({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))}))))},wa=e=>e.reduce((t,n)=>(t[n.uid]=n,t),{}),ws=(e,t,n,o)=>{const s=t.reduce((u,p)=>{const m=Z()(n,p,{});return u[p]=m,u},{});return{[o?"contentType":"component"]:e,components:s}},Ls=(e,t)=>{const n=Object.keys(e).map(o=>(0,A.get)(e,[o,...t],""));return(0,Ae.Z)(n)};var Bs=i(13339);const qs=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=(0,A.get)(e,[o,"schema","attributes"],[]),l=ks(s);return[...n,...l]},[]);return(0,Ae.Z)(t)},ks=e=>e.reduce((t,n)=>{const{type:o,component:s}=n;return o==="component"&&t.push(s),t},[]),La=qs,js=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=Z()(e,[o],{}),l=s.uid;return Us(s)&&n.push(l),n},[]);return(0,Ae.Z)(t)},Us=e=>Z()(e,["schema","attributes"],[]).some(n=>{const{type:o}=n;return o==="component"});var Ba=Object.getOwnPropertySymbols,_s=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,$s=(e,t)=>{var n={};for(var o in e)_s.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ba)for(var o of Ba(e))t.indexOf(o)<0&&Ws.call(e,o)&&(n[o]=e[o]);return n};const zs=(e,t)=>{const n=Object.keys(e).filter(o=>{const s=(0,A.get)(e,o,{}),l=(0,A.get)(t,o,{}),c=(0,A.get)(s,["isTemporary"],!1),u=!(0,A.isEqual)(s,l);return c||u});return(0,Ae.Z)(n)},Vs=(e,t)=>{const n=ka((0,A.get)(e,"schema.attributes",[]),t),o=(0,A.get)(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},(0,A.omit)(e.schema,"attributes"),{attributes:n})},qa=(e,t=!1)=>{const n=(0,A.get)(e,"uid",null),o=ka((0,A.get)(e,"schema.attributes",[]),n),s=t?{category:(0,A.get)(e,"category","")}:{},l=Object.assign(s,(0,A.omit)(e.schema,"attributes"),{attributes:o});return delete l.uid,delete l.isTemporary,delete l.visible,delete l.restrictRelationsTo,l},ka=(e,t)=>e.reduce((n,o)=>{var s=o,{name:l}=s,c=$s(s,["name"]);const u=c,p=u.target===t,m=u.type==="relation",g=(0,A.get)(u,"targetAttribute",null);if(!p)if(m){const f=Object.assign({},u,{targetAttribute:ja(g)});n[l]=bn(f)}else n[l]=bn(u);if(p){const f=u.target,y=Object.assign({},u,{target:f,targetAttribute:ja(g)});n[l]=bn(y)}return n},{}),ja=e=>e==="-"?null:e,bn=e=>Object.keys(e).reduce((t,n)=>(e[n]!==null&&n!=="plugin"&&(t[n]=e[n]),t),{}),Ks=(e,t,n,o=!1)=>zs(e,t).map(c=>{const u=(0,A.get)(e,c,{});return Vs(u,n,o)}),Gs=e=>(0,A.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/${X.Z}/content-types/${t}`,kind:e[t].schema.kind,restrictRelationsTo:e[t].schema.restrictRelationsTo})).filter(t=>t!==null),t=>(0,A.camelCase)(t.title)),Ua="did-not-kill-server",Hs="server is down";function at(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(Hs);if(!t)throw new Error(Ua);n(e)}).catch(o=>{setTimeout(()=>at(e,o.message!==Ua).then(n),100)})})}const Xs=e=>Object.values(e.attributes).filter(({type:n})=>n==="dynamiczone").every(({components:n})=>Array.isArray(n)&&n.length>0);var ie=i(31947),Ys=i(54370);const Js=()=>e=>e[`${X.Z}_dataManagerProvider`]||Ys.E,Qs=()=>(0,Aa.P1)(Js(),e=>e);var ei=Object.defineProperty,ti=Object.defineProperties,ni=Object.getOwnPropertyDescriptors,_a=Object.getOwnPropertySymbols,ai=Object.prototype.hasOwnProperty,ri=Object.prototype.propertyIsEnumerable,Wa=(e,t,n)=>t in e?ei(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vn=(e,t)=>{for(var n in t||(t={}))ai.call(t,n)&&Wa(e,n,t[n]);if(_a)for(var n of _a(t))ri.call(t,n)&&Wa(e,n,t[n]);return e},Tn=(e,t)=>ti(e,ni(t));const oi=e=>Object.keys(e).reduce((t,n)=>{const o=e[n].schema;return t[n]=Tn(vn({},e[n]),{schema:Tn(vn({},o),{attributes:si(o.attributes)})}),t},{}),si=e=>Object.keys(e).reduce((t,n)=>(t.push(Tn(vn({},e[n]),{name:n})),t),[]),$a=oi;var rt=i(98399),ii=Object.defineProperty,za=Object.getOwnPropertySymbols,li=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable,Va=(e,t,n)=>t in e?ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ka=(e,t)=>{for(var n in t||(t={}))li.call(t,n)&&Va(e,n,t[n]);if(za)for(var n of za(t))ci.call(t,n)&&Va(e,n,t[n]);return e},He=(e,t,n)=>new Promise((o,s)=>{var l=p=>{try{u(n.next(p))}catch(m){s(m)}},c=p=>{try{u(n.throw(p))}catch(m){s(m)}},u=p=>p.done?o(p.value):Promise.resolve(p.value).then(l,c);u((n=n.apply(e,t)).next())});const En=({allIcons:e,children:t,components:n,contentTypes:o,isLoading:s,isLoadingForDataToBeSet:l,initialData:c,modifiedData:u,reservedNames:p})=>{const m=(0,fe.useDispatch)(),g=(0,R.useNotification)(),{lockAppWithAutoreload:f,unlockAppWithAutoreload:y}=(0,R.useAutoReloadOverlayBlocker)(),{setCurrentStep:v}=(0,R.useGuidedTour)(),{getPlugin:E}=(0,R.useStrapiApp)(),{apis:M}=E(X.Z),{autoReload:D}=(0,R.useAppInfos)(),{formatMessage:P}=(0,F.useIntl)(),{trackUsage:C}=(0,R.useTracking)(),{refetchPermissions:I}=(0,R.useRBACProvider)(),{pathname:K}=(0,q.useLocation)(),{onCloseModal:L}=(0,$e.Z)(),ne=(0,q.useRouteMatch)(`/plugins/${X.Z}/content-types/:uid`),N=(0,q.useRouteMatch)(`/plugins/${X.Z}/component-categories/:categoryUid/:componentUid`),ae=(0,r.useRef)();ae.current=P;const $=D,Q=ne!==null,Ze=Q?"contentType":"component",ge=Q?(0,A.get)(ne,"params.uid",null):(0,A.get)(N,"params.componentUid",null),k=(0,r.useRef)(),x=Q?"content-types":"components";k.current=()=>He(void 0,null,function*(){try{const[{data:{data:b}},{data:{data:S}},{data:w}]=yield Promise.all(["components","content-types","reserved-names"].map(be=>we.get(be))),H=wa(b),ee=$a(H),xe=wa(S),he=$a(xe);m({type:ie.Id,components:ee,contentTypes:he,reservedNames:w})}catch(b){rt.error({err:b}),g({type:"warning",message:{id:"notification.error"}})}}),(0,r.useEffect)(()=>(k.current(),()=>{m({type:ie.Zl})}),[]),(0,r.useEffect)(()=>{!s&&ge&&Et()},[s,K,ge]),(0,r.useEffect)(()=>{D||g({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[D,g]);const Xe=(b,S,w,H=!1,ee,xe=!1)=>{const he=H?ie.JO:ie.gz;m({type:he,attributeToSet:b,forTarget:S,targetUid:w,initialAttribute:ee,shouldAddComponentToData:xe})},ot=(b,S)=>{m({type:ie.Uu,dynamicZoneTarget:b,componentsToAdd:S})},Ye=(b,S,w,H,ee=!1)=>{const xe=S==="contentType"?ie.Sh:ie.VR;m({type:xe,data:b,componentCategory:H,schemaType:S,uid:w,shouldAddComponentToData:ee})},On=(b,S)=>{m({type:ie.o_,dynamicZoneTarget:b,newComponents:S})},Tt=(b,S,w="")=>{const H=b==="components"?ie.lw:ie.ai;b==="contentType"&&C("willDeleteFieldOfContentType"),m({type:H,mainDataKey:b,attributeToRemoveName:S,componentUid:w})},Pn=b=>He(void 0,null,function*(){try{const S=`/component-categories/${b}`,w=window.confirm(P({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));L(),w&&(f(),yield we.delete(S),yield at(!0),yield y(),yield ce())}catch(S){rt.error({err:S}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),Rn=()=>He(void 0,null,function*(){try{const b=`/${x}/${ge}`,S=(0,A.get)(u,[Ze,"isTemporary"],!1),w=window.confirm(P({id:(0,d.Z)(`popUpWarning.bodyMessage.${Q?"contentType":"component"}.delete`)}));if(L(),w){if(S){m({type:ie.Ap});return}f(),yield we.delete(b),yield at(!0),yield y(),yield ce()}}catch(b){rt.error({err:b}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),le=(b,S)=>He(void 0,null,function*(){try{const w=`/component-categories/${b}`;L(),f(),yield we({url:w,method:"PUT",data:S}),yield at(!0),yield y(),yield ce()}catch(w){rt.error({err:w}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),xn=()=>{const b=Object.assign({},n,u.components);if(!Q){const w=(0,A.get)(u,"component",{});(0,A.set)(b,(0,A.get)(w,["uid"],""),w)}const S=js(b);return(0,Ae.Z)(S)},Sn=()=>{const b=La(n),S=La(u.components||{});return(0,Ae.Z)([...S,...b])},An=(b,S)=>{m({type:ie.NG,dzName:b,componentToRemoveIndex:S})},Et=()=>{const b=Q?o:n,S=(0,A.get)(b,ge,{schema:{attributes:[]}}),w=(0,Bs.Z)(S.schema.attributes,n),H=ws(S,w,n,Q),ee=(0,A.get)(S,"isTemporary",!1)&&(0,A.size)((0,A.get)(S,"schema.attributes",[]))===0;m({type:ie.xx,schemaToSet:H,hasJustCreatedSchema:ee})},_e=(0,r.useMemo)(()=>{const b=Q?o:n;return ge==="create-content-type"?!1:!Object.keys(b).includes(ge)&&!s},[n,o,ge,Q,s]),st=(0,r.useMemo)(()=>{const b=Object.keys(o).filter(S=>(0,A.get)(o,[S,"schema","visible"],!0)).sort();return(0,A.get)(b,"0","create-content-type")},[o]);if(_e)return r.createElement(q.Redirect,{to:`/plugins/${X.Z}/content-types/${st}`});const Fe=b=>He(void 0,null,function*(){var S,w;try{const H=(0,A.get)(u,[Ze,"isTemporary"],!1),ee={components:Ks(u.components,n,ge,H)};if(Q){const Me=M.forms.mutateContentTypeSchema(Ka(Ka({},qa(u.contentType)),b),c.contentType);if(!Xs(Me)){g({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}ee.contentType=Me,C("willSaveContentType")}else ee.component=qa(u.component,!0),C("willSaveComponent");const xe=H?"POST":"PUT",he=`/${x}`,be=H?he:`${he}/${ge}`;if(f(),yield we({url:be,method:xe,data:ee}),yield at(!0),yield y(),H&&(((S=c.contentType)==null?void 0:S.schema.kind)==="collectionType"||((w=c.contentType)==null?void 0:w.schema.kind)==="singleType")&&v("contentTypeBuilder.success"),Q){C("didSaveContentType");const Me=(0,A.get)(ee,["contentType","schema","name"],""),lt=(0,A.get)(c,["contentType","schema","name"],"");!H&&Me!==lt&&C("didEditNameOfContentType")}else C("didSaveComponent");yield ce()}catch(H){Q||C("didNotSaveComponent"),rt.error({err:H.response}),g({type:"warning",message:{id:"notification.error"}})}finally{y()}}),ce=()=>He(void 0,null,function*(){yield I()}),it=(b,S,w)=>{m({type:ie.bi,data:b,schemaType:S,uid:w})};return r.createElement(Pt.Z.Provider,{value:{addAttribute:Xe,addCreatedComponentToDynamicZone:ot,allComponentsCategories:Ls(n,["category"]),allIcons:e,changeDynamicZoneComponents:On,components:n,componentsGroupedByCategory:(0,A.groupBy)(n,"category"),componentsThatHaveOtherComponentInTheirAttributes:xn(),contentTypes:o,createSchema:Ye,deleteCategory:Pn,deleteData:Rn,editCategory:le,isInDevelopmentMode:$,initialData:c,isInContentTypeView:Q,modifiedData:u,nestedComponents:Sn(),removeAttribute:Tt,removeComponentFromDynamicZone:An,reservedNames:p,setModifiedData:Et,sortedContentTypesList:Gs(o),submitData:Fe,updateSchema:it}},r.createElement(r.Fragment,null,l?r.createElement(R.LoadingIndicatorPage,null):r.createElement(r.Fragment,null,t,$&&r.createElement(Is,null))))};En.defaultProps={components:{}},En.propTypes={allIcons:a().array.isRequired,children:a().node.isRequired,components:a().object,contentTypes:a().object.isRequired,isLoading:a().bool.isRequired,isLoadingForDataToBeSet:a().bool.isRequired,initialData:a().object.isRequired,modifiedData:a().object.isRequired,reservedNames:a().object.isRequired};const ui=Qs(),di=(0,fe.connect)(ui,null),mi=(0,Ot.compose)(di)((0,r.memo)(En));var pi=i(51216);const Ga={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null};var gi=Object.defineProperty,fi=Object.defineProperties,yi=Object.getOwnPropertyDescriptors,Ha=Object.getOwnPropertySymbols,hi=Object.prototype.hasOwnProperty,bi=Object.prototype.propertyIsEnumerable,Xa=(e,t,n)=>t in e?gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ye=(e,t)=>{for(var n in t||(t={}))hi.call(t,n)&&Xa(e,n,t[n]);if(Ha)for(var n of Ha(t))bi.call(t,n)&&Xa(e,n,t[n]);return e},Ce=(e,t)=>fi(e,yi(t));const Ya=({children:e})=>{const[t,n]=(0,r.useState)(Ga),{trackUsage:o}=(0,R.useTracking)(),s=({attributeType:M,step:D})=>{t.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:M}),n(P=>Ce(ye({},P),{actionType:"create",modalType:"attribute",step:D,attributeType:M}))},l=({dynamicZoneTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{dynamicZoneTarget:M,targetUid:D,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},c=({forTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{actionType:"create",forTarget:M,targetUid:D,modalType:"chooseAttribute",isOpen:!0}))},u=M=>{n(D=>Ce(ye(ye({},D),M),{isOpen:!0}))},p=M=>{n(D=>Ce(ye({},D),{categoryName:M,actionType:"edit",modalType:"editCategory",isOpen:!0}))},m=({forTarget:M,targetUid:D,attributeName:P,attributeType:C,step:I})=>{n(K=>Ce(ye({},K),{modalType:"attribute",actionType:"edit",forTarget:M,targetUid:D,attributeName:P,attributeType:C,step:I,isOpen:!0}))},g=({modalType:M,forTarget:D,targetUid:P,kind:C})=>{n(I=>Ce(ye({},I),{modalType:M,actionType:"edit",forTarget:D,targetUid:P,kind:C,isOpen:!0}))},f=()=>{n(Ga)},y=({forTarget:M,targetUid:D})=>{n(P=>Ce(ye({},P),{forTarget:M,targetUid:D,modalType:"chooseAttribute"}))},v=()=>{n(M=>Ce(ye({},M),{attributeType:"component",modalType:"attribute",step:"2"}))},E=({dynamicZoneTarget:M})=>{n(D=>Ce(ye({},D),{dynamicZoneTarget:M,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return r.createElement(pi.Z.Provider,{value:Ce(ye({},t),{onClickSelectField:s,onCloseModal:f,onNavigateToChooseAttributeModal:y,onNavigateToAddCompoToDZModal:E,onOpenModalAddComponentsToDZ:l,onNavigateToCreateComponentStep2:v,onOpenModalAddField:c,onOpenModalCreateSchema:u,onOpenModalEditCategory:p,onOpenModalEditField:m,onOpenModalEditSchema:g,setFormModalNavigationState:n})},e)};Ya.propTypes={children:a().node.isRequired};const vi=Ya,Ti=(0,r.lazy)(()=>i.e(5905).then(i.bind(i,2863))),Ei=()=>{const{url:e}=(0,q.useRouteMatch)(),{categoryUid:t}=(0,q.useParams)();return r.createElement(r.Suspense,{fallback:r.createElement(R.LoadingIndicatorPage,null)},r.createElement(q.Switch,null,r.createElement(q.Route,{path:`${e}/:componentUid`},r.createElement(Ti,{categoryId:t}))))},Ci=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 Ue=i(89420),Mi=i(74201),Oi=i(86834),Pi=i.n(Oi),Ri=i(98978),Ja=i.n(Ri),xi=i(89793),Si=i.n(xi),Ai=i(58469),Di=Object.defineProperty,Ni=Object.defineProperties,Zi=Object.getOwnPropertyDescriptors,Qa=Object.getOwnPropertySymbols,Fi=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable,er=(e,t,n)=>t in e?Di(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cn=(e,t)=>{for(var n in t||(t={}))Fi.call(t,n)&&er(e,n,t[n]);if(Qa)for(var n of Qa(t))Ii.call(t,n)&&er(e,n,t[n]);return e},Mn=(e,t)=>Ni(e,Zi(t));const wi=()=>{const{components:e,componentsGroupedByCategory:t,contentTypes:n,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:l,initialData:c}=(0,Ee.Z)(),u=(0,R.useNotification)(),{trackUsage:p}=(0,R.useTracking)(),[m,g]=(0,r.useState)(""),{onOpenModalCreateSchema:f,onOpenModalEditCategory:y}=(0,$e.Z)(),v=Ja()(Object.keys(t).map(N=>({name:N,title:N,isEditable:o,onClickEdit:(ae,$)=>{ae.stopPropagation(),E?y($.name):C()},links:Ja()(t[N].map(ae=>({name:ae.uid,to:`/plugins/${X.Z}/component-categories/${N}/${ae.uid}`,title:ae.schema.displayName})),ae=>ae.title)})),N=>N.title),E=!Object.keys(n).some(N=>n[N].isTemporary===!0)&&!Object.keys(e).some(N=>e[N].isTemporary===!0)&&Si()(l,c),M=()=>{E?(p("willCreateContentType"),f({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):C()},D=()=>{E?(p("willCreateSingleType"),f({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):C()},P=()=>{E?(p("willCreateComponent"),f({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):C()},C=()=>{u({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},I=s.filter(N=>N.visible),K=[{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:M},links:I.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:D},links:I.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:P},links:v}],L=N=>(0,Ai.ZP)(N,qe()(m),{keys:[ae=>qe()(ae.title)]});return{menu:(()=>K.map(N=>N.links.some($=>!Pi()($.links))?Mn(Cn({},N),{links:N.links.map($=>Mn(Cn({},$),{links:L($.links)}))}):Mn(Cn({},N),{links:L(N.links)})))(),searchValue:m,onSearchChange:g}},Li=()=>{const{menu:e,searchValue:t,onSearchChange:n}=wi(),{formatMessage:o}=(0,F.useIntl)();return r.createElement(Ue.SubNav,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},r.createElement(Ue.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"})}),r.createElement(Ue.SubNavSections,null,e.map(s=>r.createElement(r.Fragment,{key:s.name},r.createElement(Ue.SubNavSection,{label:o({id:s.title.id,defaultMessage:s.title.defaultMessage}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(l=>l.links?r.createElement(Ue.SubNavLinkSection,{key:l.name,label:Te()(l.title)},l.links.map(c=>r.createElement(Ue.SubNavLink,{as:q.NavLink,to:c.to,active:c.active,key:c.name,isSubSectionChild:!0},Te()(o({id:c.name,defaultMessage:c.title}))))):r.createElement(Ue.SubNavLink,{as:q.NavLink,to:l.to,active:l.active,key:l.name},Te()(o({id:l.name,defaultMessage:l.title}))))),s.customLink&&r.createElement(_.Box,{paddingLeft:7},r.createElement(Mi.TextButton,{onClick:s.customLink.onClick,startIcon:r.createElement(tt(),null),marginTop:2},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage})))))))},tr=(0,r.lazy)(()=>i.e(5905).then(i.bind(i,2863))),Bi=()=>{const{formatMessage:e}=(0,F.useIntl)(),t=e({id:`${X.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:n}=(0,R.useGuidedTour)(),o=(0,r.useRef)(n);return(0,r.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),r.createElement(R.CheckPagePermissions,{permissions:Ct.Z.main},r.createElement(ve.Helmet,{title:t}),r.createElement(vi,null,r.createElement(mi,{allIcons:Ci},r.createElement(Nn.Layout,{sideNav:r.createElement(Li,null)},r.createElement(r.Suspense,{fallback:r.createElement(R.LoadingIndicatorPage,null)},r.createElement(q.Switch,null,r.createElement(q.Route,{path:`/plugins/${X.Z}/content-types/create-content-type`,component:tr}),r.createElement(q.Route,{path:`/plugins/${X.Z}/content-types/:uid`,component:tr}),r.createElement(q.Route,{path:`/plugins/${X.Z}/component-categories/:categoryUid`,component:Ei})))))))}},92318:(We,se,i)=>{i.d(se,{Z:()=>ve});var r=i(25158);const ve=F=>`${r.Z}.${F}`}}]);
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="mobile-web-app-capable" content="yes"/><title>Strapi Admin</title><script defer="defer" src="/admin/runtime~main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="mobile-web-app-capable" content="yes"/><title>Strapi Admin</title><script defer="defer" src="/admin/runtime~main.3dfda620.js"></script><script defer="defer" src="/admin/main.66ef8611.js"></script></head><body><div style="min-height:100%" id="app"></div></body></html>
|