@strapi/admin 4.4.0-alpha.0 → 4.4.0-beta.1

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.
Files changed (138) hide show
  1. package/admin/src/StrapiApp.js +12 -4
  2. package/admin/src/components/Providers/index.js +10 -14
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
  4. package/admin/src/content-manager/components/FieldTypeIcon/index.js +1 -31
  5. package/admin/src/content-manager/components/Inputs/index.js +10 -30
  6. package/admin/src/content-manager/components/SelectMany/index.js +3 -0
  7. package/admin/src/content-manager/components/SelectOne/SingleValue.js +2 -2
  8. package/admin/src/content-manager/components/SelectOne/index.js +3 -0
  9. package/admin/src/content-manager/components/SelectWrapper/Option.js +2 -2
  10. package/admin/src/content-manager/components/SelectWrapper/index.js +6 -0
  11. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +2 -7
  12. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -2
  13. package/admin/src/content-manager/pages/EditView/index.js +84 -91
  14. package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -1
  15. package/admin/src/contexts/ApiTokenPermissions/index.js +24 -0
  16. package/admin/src/core/apis/index.js +0 -1
  17. package/admin/src/hooks/index.js +1 -0
  18. package/admin/src/hooks/useRegenerate/index.js +34 -0
  19. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +56 -0
  20. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/getMethodColor.js +41 -0
  21. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +72 -0
  22. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +30 -0
  23. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +150 -0
  24. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +37 -0
  25. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +40 -0
  26. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +68 -0
  27. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +452 -180
  28. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/init.js +13 -0
  29. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +55 -0
  30. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/getDateOfExpiration.js +16 -0
  31. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/index.js +5 -0
  32. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +2 -1
  33. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +36 -0
  34. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DefaultButton/index.js +63 -0
  35. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +1 -0
  36. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/ReadButton/index.js +19 -0
  37. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +3 -36
  38. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +13 -11
  39. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +4 -3
  40. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +8 -8
  41. package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedEditView/index.js +1 -1
  42. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +1 -1
  43. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
  44. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +10 -10
  45. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +1 -1
  46. package/admin/src/permissions/defaultPermissions.js +2 -6
  47. package/admin/src/translations/en.json +18 -0
  48. package/admin/src/translations/es.json +1 -1
  49. package/admin/src/translations/fr.json +33 -0
  50. package/build/1669.d1b29c28.chunk.js +1 -0
  51. package/build/{1856.d3da2fcd.chunk.js → 1856.47226450.chunk.js} +6 -6
  52. package/build/{2077.b25a0b57.chunk.js → 2077.61cebc93.chunk.js} +4 -4
  53. package/build/{2912.da8a70aa.chunk.js → 2912.a015078a.chunk.js} +10 -10
  54. package/build/4235.982b5799.chunk.js +30 -0
  55. package/build/{4715.3787be19.chunk.js → 4715.3f6cac0a.chunk.js} +30 -30
  56. package/build/{4800.d3ebc81d.chunk.js → 4800.d09f1225.chunk.js} +1 -1
  57. package/build/{4982.a4e36c9a.chunk.js → 4982.c6f88c5d.chunk.js} +8 -8
  58. package/build/611.a91aff91.chunk.js +158 -0
  59. package/build/7379.d246dd38.chunk.js +1 -0
  60. package/build/{7841.922b96eb.chunk.js → 7841.91f793dc.chunk.js} +9 -9
  61. package/build/{7866.22e3c9f8.chunk.js → 7866.c793a31d.chunk.js} +23 -23
  62. package/build/{8380.ab3939f3.chunk.js → 8380.8789ff76.chunk.js} +8 -8
  63. package/build/{8549.0e30f86d.chunk.js → 8549.133c4473.chunk.js} +5 -5
  64. package/build/{8773.4e36117f.chunk.js → 8773.eccaa5f3.chunk.js} +9 -9
  65. package/build/{9066.2847fdff.chunk.js → 9066.08049eb1.chunk.js} +4 -4
  66. package/build/{9166.280c7521.chunk.js → 9166.037339e0.chunk.js} +2 -2
  67. package/build/{9420.ee1ccff7.chunk.js → 9420.43a86e7c.chunk.js} +30 -30
  68. package/build/{Admin-authenticatedApp.aaa66872.chunk.js → Admin-authenticatedApp.3a31a087.chunk.js} +3 -3
  69. package/build/{Admin_homePage.118926e0.chunk.js → Admin_homePage.6d5e3236.chunk.js} +1 -1
  70. package/build/{Admin_marketplace.2d181ad7.chunk.js → Admin_marketplace.82c0570b.chunk.js} +1 -1
  71. package/build/{Admin_profilePage.8617313a.chunk.js → Admin_profilePage.83991a6c.chunk.js} +1 -1
  72. package/build/{Admin_settingsPage.e58753c8.chunk.js → Admin_settingsPage.fc9c607a.chunk.js} +16 -16
  73. package/build/admin-app.41b6472c.chunk.js +112 -0
  74. package/build/admin-edit-roles-page.4dd6bcb9.chunk.js +1 -0
  75. package/build/{admin-users.1d0aa7a0.chunk.js → admin-users.dccd5f4c.chunk.js} +2 -2
  76. package/build/api-tokens-create-page.29cc87b6.chunk.js +1 -0
  77. package/build/api-tokens-edit-page.c294a88f.chunk.js +1 -0
  78. package/build/api-tokens-list-page.bb36535f.chunk.js +16 -0
  79. package/build/content-manager.fb5ee865.chunk.js +1178 -0
  80. package/build/content-type-builder-list-view.8cc534e0.chunk.js +194 -0
  81. package/build/content-type-builder-translation-en-json.201bfb78.chunk.js +1 -0
  82. package/build/content-type-builder.42cecba9.chunk.js +142 -0
  83. package/build/{email-settings-page.818761d5.chunk.js → email-settings-page.64037147.chunk.js} +5 -5
  84. package/build/en-json.a9918c93.chunk.js +1 -0
  85. package/build/{es-json.bb1fc425.chunk.js → es-json.3a9c7c09.chunk.js} +1 -1
  86. package/build/fr-json.4ed1fc2c.chunk.js +1 -0
  87. package/build/{i18n-settings-page.bf1304b0.chunk.js → i18n-settings-page.0b73785d.chunk.js} +5 -5
  88. package/build/index.html +1 -1
  89. package/build/{main.7db3414f.js → main.cdfda31e.js} +1235 -1235
  90. package/build/{runtime~main.c1c5510b.js → runtime~main.fa8f8898.js} +1 -1
  91. package/build/sso-settings-page.9ceb0140.chunk.js +1 -0
  92. package/build/{upload-settings.5dfe0fe2.chunk.js → upload-settings.80ff0974.chunk.js} +7 -7
  93. package/build/upload-translation-ca-json.db8ed7ba.chunk.js +1 -0
  94. package/build/{users-advanced-settings-page.f11c8af4.chunk.js → users-advanced-settings-page.a02f4806.chunk.js} +5 -5
  95. package/build/{users-roles-settings-page.cafb4fe5.chunk.js → users-roles-settings-page.b33ec5e5.chunk.js} +1 -1
  96. package/build/{webhook-edit-page.9aba79b2.chunk.js → webhook-edit-page.9e46fc3f.chunk.js} +3 -3
  97. package/build/{webhook-list-page.912becb8.chunk.js → webhook-list-page.2775a683.chunk.js} +5 -5
  98. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +1 -1
  99. package/package.json +14 -13
  100. package/scripts/build.js +2 -4
  101. package/server/bootstrap.js +19 -1
  102. package/server/config/admin-actions.js +20 -0
  103. package/server/content-types/api-token-permission.js +36 -0
  104. package/server/content-types/api-token.js +25 -1
  105. package/server/content-types/index.js +1 -0
  106. package/server/controllers/api-token.js +24 -1
  107. package/server/controllers/content-api.js +15 -0
  108. package/server/controllers/index.js +1 -0
  109. package/server/routes/api-tokens.js +11 -0
  110. package/server/routes/content-api.js +20 -0
  111. package/server/routes/index.js +2 -0
  112. package/server/services/api-token.js +310 -29
  113. package/server/services/constants.js +10 -0
  114. package/server/services/permission/engine.js +36 -226
  115. package/server/services/permission/permissions-manager/query-builers.js +3 -2
  116. package/server/services/permission/queries.js +1 -1
  117. package/server/services/permission.js +4 -1
  118. package/server/strategies/admin.js +7 -1
  119. package/server/strategies/api-token.js +71 -11
  120. package/server/validation/api-tokens.js +12 -2
  121. package/server/validation/common-functions/check-fields-are-correctly-nested.js +1 -1
  122. package/admin/src/core/apis/CustomFields.js +0 -80
  123. package/build/1669.4ce92b2f.chunk.js +0 -1
  124. package/build/524.2437fb56.chunk.js +0 -644
  125. package/build/admin-app.1f9e13f8.chunk.js +0 -112
  126. package/build/admin-edit-roles-page.554ba3fa.chunk.js +0 -1
  127. package/build/api-tokens-create-page.b4a9987d.chunk.js +0 -1
  128. package/build/api-tokens-edit-page.6f5b4e26.chunk.js +0 -1
  129. package/build/api-tokens-list-page.06938769.chunk.js +0 -15
  130. package/build/content-manager.86f7594d.chunk.js +0 -1178
  131. package/build/content-type-builder-list-view.9b874fd4.chunk.js +0 -194
  132. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +0 -1
  133. package/build/content-type-builder.47ab07ad.chunk.js +0 -145
  134. package/build/en-json.1bf20384.chunk.js +0 -1
  135. package/build/fr-json.a3cf2e0b.chunk.js +0 -1
  136. package/build/sso-settings-page.445184e0.chunk.js +0 -1
  137. package/build/upload-translation-ca-json.00dc1f33.chunk.js +0 -1
  138. package/server/services/permission/engine-hooks.js +0 -82
@@ -1,145 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:(Ke,me,i)=>{i.d(me,{Z:()=>Se});var a=i(32735),U=i(19615),Ce=i(60216),I=i.n(Ce),R=i(9808),qn=i.n(R),xt=i(10822),Y=i.n(xt),St=i(57746),r=i.n(St),D=i(61714),ve=i.n(D),At=i(9895),Ft=i.n(At),$e=i(80466),Dt=i.n($e),Nt=i(34103),Zt=i.n(Nt),it=i(57290),we=i.n(it),d=i(57955),De=i.n(d),It=i(90040),Z=i.n(It),wt=i(55788),He=i.n(wt),Lt=i(94661),Bt=i.n(Lt),kt=i(81208),_e=i.n(kt),k=i(28565),W=i.n(k),lt=i(65232),Ne=i.n(lt),ne=i(80268),_=i.n(ne),se=i(42122),ie=i.n(se),le=i(88425),jn=i.n(le),Me=Object.defineProperty,Xe=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,q=(J,H,V)=>H in J?Me(J,H,{enumerable:!0,configurable:!0,writable:!0,value:V}):J[H]=V,Un=(J,H)=>{for(var V in H||(H={}))Ye.call(H,V)&&q(J,V,H[V]);if(Xe)for(var V of Xe(H))gt.call(H,V)&&q(J,V,H[V]);return J},ft=(J,H)=>{var V={};for(var pe in J)Ye.call(J,pe)&&H.indexOf(pe)<0&&(V[pe]=J[pe]);if(J!=null&&Xe)for(var pe of Xe(J))H.indexOf(pe)<0&&gt.call(J,pe)&&(V[pe]=J[pe]);return V};const xe={biginteger:ie(),boolean:Ft(),collectionType:r(),component:Y(),contentType:r(),date:ve(),datetime:ve(),decimal:ie(),dynamiczone:Dt(),email:Zt(),enum:we(),enumeration:we(),file:He(),files:He(),float:ie(),integer:ie(),json:De(),JSON:De(),media:He(),number:ie(),password:Bt(),relation:_e(),richtext:Z(),singleType:W(),string:Ne(),text:Ne(),time:ve(),timestamp:ve(),uid:_()},ut=(0,U.default)(R.Box)`
2
- width: ${(0,le.pxToRem)(32)};
3
- height: ${(0,le.pxToRem)(24)};
4
- box-sizing: content-box;
5
- `,Le=J=>{var H=J,{type:V,customField:pe}=H,Wn=ft(H,["type","customField"]);const yt=(0,le.useCustomFields)();let ct=xe[V];if(pe){const{icon:ht}=yt.get(pe);ht&&(ct=ht)}return xe[V]?a.createElement(ut,Un({as:ct},Wn)):null};Le.defaultProps={customField:null},Le.propTypes={type:I().string.isRequired,customField:I().string};const Se=Le},74753:(Ke,me,i)=>{i.d(me,{Z:()=>Ce});var a=i(32735);const Ce=(0,a.createContext)()},51216:(Ke,me,i)=>{i.d(me,{Z:()=>Ce});var a=i(32735);const Ce=(0,a.createContext)()},198:(Ke,me,i)=>{i.d(me,{Z:()=>I});var a=i(32735),U=i(74753);const I=()=>(0,a.useContext)(U.Z)},32237:(Ke,me,i)=>{i.d(me,{Z:()=>I});var a=i(32735),U=i(51216);const I=()=>(0,a.useContext)(U.Z)},32864:(Ke,me,i)=>{i.r(me),i.d(me,{default:()=>il});var a=i(32735),U=i(5141),Ce=i(99357),I=i(5636),R=i(88425),qn=i(11856),xt=i(3633),Y=i(25158),St=i(60216),r=i.n(St),D=i(92891),ve=i(4409),At=i(13055),Ft=i(74753),$e=i(32237),Dt=i(43653),Nt=i.n(Dt),Zt=(e,t,n)=>new Promise((o,s)=>{var l=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(l,u);c((n=n.apply(e,t)).next())});const it=Nt().create({baseURL:`http://localhost:1337/${Y.Z}`});it.interceptors.request.use(e=>Zt(void 0,null,function*(){return e.headers={Authorization:`Bearer ${R.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},e}),e=>{Promise.reject(e)}),it.interceptors.response.use(e=>e,e=>{var t;throw((t=e.response)==null?void 0:t.status)===401&&(R.auth.clearAppStorage(),window.location.reload()),e});const we=it;var d=i(92318),De=i(37087),It=i(33795),Z=i.n(It),wt=i(23973),He=i.n(wt),Lt=i(3040),Bt=i.n(Lt),kt=i(59578),_e=i.n(kt),k=i(9808),W=i(44526),lt=i(27635),Ne=i(4122),ne=i(81700),_=i(19192),se=i(90662),ie=i(198),le=i(25716),jn=i(23940),Me=i.n(jn);const Xe=[{label:"All",children:[{label:"images (JPEG, PNG, GIF, SVG, TIFF, ICO, DVU)",value:"images"},{label:"videos (MPEG, MP4, Quicktime, WMV, AVI, FLV)",value:"videos"},{label:"audios (MP3, WAV, OGG)",value:"audios"},{label:"files (CSV, ZIP, PDF, Excel, JSON, ...)",value:"files"}]}],Ye=({intlLabel:e,name:t,onChange:n,value:o})=>{const{formatMessage:s}=(0,I.useIntl)(),l=o===null||o.length===0?s({id:"global.none",defaultMessage:"None"}):[...o].sort().map(c=>Me()(c)).join(", "),u=e.id?s({id:e.id,defaultMessage:e.defaultMessage}):t;return a.createElement(le.MultiSelectNested,{id:"select1",label:u,customizeContent:()=>l,onChange:c=>{c.length>0?n({target:{name:t,value:c,type:"allowed-types-select"}}):n({target:{name:t,value:null,type:"allowed-types-select"}})},options:Xe,value:o||[]})};Ye.defaultProps={value:null},Ye.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().oneOfType([r().object,r().array])};const gt=Ye;var q=i(95602);const ft=e=>e.kind==="collectionType"&&(e.restrictRelationsTo===null||Array.isArray(e.restrictRelationsTo)&&e.restrictRelationsTo.length>0);var xe=i(78330),ut=i(87910),Le=i(25747),Se=i(19615);const H=(0,Se.default)(k.Box)`
6
- width: 100%;
7
- height: 100%;
8
- border: 1px solid ${({theme:e})=>e.colors.neutral200};
9
- text-align: left;
10
- &:hover {
11
- background: ${({theme:e})=>e.colors.primary100};
12
- border: 1px solid ${({theme:e})=>e.colors.primary200};
13
- }
14
- `,V=({type:e})=>{const{formatMessage:t}=(0,I.useIntl)(),{onClickSelectField:n}=(0,$e.Z)(),o=()=>{n({attributeType:e,step:e==="component"?"1":null})};return a.createElement(H,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:o},a.createElement(_.Flex,null,a.createElement(Le.Z,{type:e}),a.createElement(k.Box,{paddingLeft:4},a.createElement(_.Flex,null,a.createElement(q.Typography,{fontWeight:"bold"},t({id:(0,d.Z)(`attribute.${e}`),defaultMessage:e}))),a.createElement(_.Flex,null,a.createElement(q.Typography,{variant:"pi",textColor:"neutral600"},t({id:(0,d.Z)(`attribute.${e}.description`),defaultMessage:"A type for modeling data"}))))))};V.defaultProps={type:"text"},V.propTypes={type:r().string};const pe=V,yt=e=>{const t=e%2===1;return{paddingLeft:t?2:0,paddingRight:t?0:2}},ct=({attributes:e})=>a.createElement(ut.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:8},e.map((t,n)=>a.createElement(xe.Grid,{key:n,gap:0},t.map((o,s)=>{const{paddingLeft:l,paddingRight:u}=yt(s);return a.createElement(xe.GridItem,{key:o,col:6,style:{height:"100%"}},a.createElement(k.Box,{paddingLeft:l,paddingRight:u,paddingBottom:1,style:{height:"100%"}},a.createElement(pe,{type:o})))})))));ct.propTypes={attributes:r().array.isRequired};const ht=ct;var Mr=i(58434),Or=i(74064),Pr=i(78752),Rr=i(59290),ze=i.n(Rr),xr=i(97042),Sr=i.n(xr);const Ar=(0,Se.default)(k.Box)`
15
- background: ${({theme:e})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${e.colors.neutral150} 100%)`};
16
- opacity: 0.33;
17
- `,Fr=()=>a.createElement(_.Flex,{wrap:"wrap",gap:4},[...Array(4)].map((e,t)=>a.createElement(Ar,{key:`empty-card-${t}`,height:"138px",width:"375px",hasRadius:!0}))),Dr=()=>{const{formatMessage:e}=(0,I.useIntl)();return a.createElement(k.Box,{position:"relative"},a.createElement(Fr,null),a.createElement(k.Box,{position:"absolute",top:6,width:"100%"},a.createElement(_.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},a.createElement(Pr.Icon,{as:Sr(),color:"",width:"160px",height:"88px"}),a.createElement(k.Box,{paddingTop:6,paddingBottom:4},a.createElement(k.Box,{textAlign:"center"},a.createElement(q.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.heading"),defaultMessage:"Nothing in here yet."})),a.createElement(k.Box,{paddingTop:4},a.createElement(q.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.sub-heading"),defaultMessage:"Find what you are looking for through a wide range of extensions."}))))),a.createElement(Or.LinkButton,{to:"/marketplace",variant:"secondary",startIcon:a.createElement(ze(),null)},e({id:(0,d.Z)("modalForm.empty.button"),defaultMessage:"Add custom fields"})))))},$n=({customFieldUid:e,customField:t})=>{const{type:n,intlLabel:o,intlDescription:s}=t,{formatMessage:l}=(0,I.useIntl)(),{onClickSelectCustomField:u}=(0,$e.Z)(),c=()=>{u({attributeType:n,customFieldUid:e})};return a.createElement(H,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:c},a.createElement(_.Flex,null,a.createElement(Le.Z,{type:n,customField:e}),a.createElement(k.Box,{paddingLeft:4},a.createElement(_.Flex,null,a.createElement(q.Typography,{fontWeight:"bold"},l(o))),a.createElement(_.Flex,null,a.createElement(q.Typography,{variant:"pi",textColor:"neutral600"},l(s))))))};$n.propTypes={customFieldUid:r().string.isRequired,customField:r().shape({type:r().string.isRequired,icon:r().func,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,intlDescription:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired}).isRequired};const Nr=$n,Zr=()=>{const{formatMessage:e}=(0,I.useIntl)(),t=(0,R.useCustomFields)(),n=Object.entries(t.getAll());if(!n.length)return a.createElement(Dr,null);const o=n.sort((s,l)=>s[1].name>l[1].name?1:-1);return a.createElement(ut.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:3},a.createElement(xe.Grid,{gap:0},o.map(([s,l],u)=>{const{paddingLeft:c,paddingRight:m}=yt(u);return a.createElement(xe.GridItem,{key:s,col:6,style:{height:"100%"}},a.createElement(k.Box,{paddingLeft:c,paddingRight:m,paddingBottom:1,style:{height:"100%"}},a.createElement(Nr,{key:s,customFieldUid:s,customField:l})))})),a.createElement(Mr.Link,{href:"https://docs.strapi.io/developer-docs/latest/getting-started/introduction.html",isExternal:!0},e({id:(0,d.Z)("modalForm.tabs.custom.howToLink"),defaultMessage:"How to add custom fields"}))))},_n=({attributes:e,forTarget:t,kind:n})=>{const{formatMessage:o}=(0,I.useIntl)(),s=(0,d.Z)("modalForm.tabs.default"),l=(0,d.Z)("modalForm.tabs.custom"),u=t.includes("component")?"component":n,c=(0,d.Z)(`modalForm.sub-header.chooseAttribute.${u}`);return a.createElement(Ne.ModalBody,{padding:6},a.createElement(ne.TabGroup,{label:o({id:(0,d.Z)("modalForm.tabs.label"),defaultMessage:"Default and Custom types tabs"}),id:"attribute-type-tabs",variant:"simple"},a.createElement(_.Flex,{justifyContent:"space-between"},a.createElement(q.Typography,{variant:"beta",as:"h2"},o({id:c,defaultMessage:"Select a field"})),a.createElement(ne.Tabs,null,a.createElement(ne.Tab,null,o({id:s,defaultMessage:"Default"})),a.createElement(ne.Tab,null,o({id:l,defaultMessage:"Custom"})))),a.createElement(k.Box,{paddingBottom:6},a.createElement(lt.Divider,null)),a.createElement(ne.TabPanels,null,a.createElement(ne.TabPanel,null,a.createElement(ht,{attributes:e})),a.createElement(ne.TabPanel,null,a.createElement(Zr,null)))))};_n.propTypes={attributes:r().array.isRequired,forTarget:r().string.isRequired,kind:r().string.isRequired};const Ir=_n;var qt=i(49137),wr=i(63865),Lr=i(50678),Br=i.n(Lr),kr=Object.defineProperty,zn=Object.getOwnPropertySymbols,qr=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Vn=(e,t,n)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Gn=(e,t)=>{for(var n in t||(t={}))qr.call(t,n)&&Vn(e,n,t[n]);if(zn)for(var n of zn(t))jr.call(t,n)&&Vn(e,n,t[n]);return e};const Ur=(0,Se.default)(q.Typography)`
18
- text-align: center;
19
- `,jt=({description:e,disabled:t,intlLabel:n,isCreating:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),[m,g]=(0,a.useState)(!1),f=n.id?c({id:n.id,defaultMessage:n.defaultMessage},Gn({},n.values)):s,p=e?c({id:e.id,defaultMessage:e.defaultMessage},Gn({},e.values)):"",h=()=>g(A=>!A),E=()=>{l({target:{name:s,value:!1}}),h()},M=({target:{checked:A}})=>{if(!A&&!o){h();return}l({target:{name:s,value:A}})};return a.createElement(a.Fragment,null,a.createElement(wr.ToggleInput,{checked:u||!1,disabled:t,hint:p,label:f,name:s,offLabel:c({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:c({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:M}),m&&a.createElement(qt.Dialog,{onClose:h,title:"Confirmation",isOpen:m},a.createElement(qt.DialogBody,{icon:a.createElement(Br(),null)},a.createElement(se.Stack,{spacing:2},a.createElement(_.Flex,{justifyContent:"center"},a.createElement(Ur,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.message"),defaultMessage:"If you disable the Draft/Publish system, your drafts will be deleted."}))),a.createElement(_.Flex,{justifyContent:"center"},a.createElement(q.Typography,{id:"confirm-description"},c({id:(0,d.Z)("popUpWarning.draft-publish.second-message"),defaultMessage:"Are you sure you want to disable it?"}))))),a.createElement(qt.DialogFooter,{startAction:a.createElement(W.Button,{onClick:h,variant:"tertiary"},c({id:"components.popUpWarning.button.cancel",defaultMessage:"No, cancel"})),endAction:a.createElement(W.Button,{variant:"danger-light",onClick:E},c({id:(0,d.Z)("popUpWarning.draft-publish.button.confirm"),defaultMessage:"Yes, disable"}))})))};jt.defaultProps={description:null,disabled:!1,value:!1},jt.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isCreating:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().bool};const Wr=jt;var Ut=i(71657);const Wt=({actionType:e,attributeName:t,attributeType:n,categoryName:o,contentTypeKind:s,dynamicZoneTarget:l,forTarget:u,modalType:c,targetUid:m,customFieldUid:g})=>{var f;const{formatMessage:p}=(0,I.useIntl)(),{modifiedData:h}=(0,ie.Z)();let E,M=[];const A=((f=h==null?void 0:h[u])==null?void 0:f[m])||(h==null?void 0:h[u])||null;let w=A==null?void 0:A.schema.displayName;if(c==="contentType"&&(E=s),["component","editCategory"].includes(c)&&(E="component"),["component","contentType"].includes(c)){let v=(0,d.Z)(`modalForm.component.header-${e}`);return c==="contentType"&&(v=(0,d.Z)(`modalForm.${s}.header-create`)),e==="edit"&&(v=(0,d.Z)("modalForm.header-edit")),a.createElement(Ne.ModalHeader,null,a.createElement(_.Flex,null,a.createElement(k.Box,null,a.createElement(Le.Z,{type:E})),a.createElement(k.Box,{paddingLeft:3},a.createElement(q.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},p({id:v},{name:w})))))}M=[{label:w,info:{category:(A==null?void 0:A.category)||null,name:A==null?void 0:A.schema.displayName}}],c==="chooseAttribute"&&(E=["component","components"].includes(u)?"component":A.schema.kind),c==="addComponentToDynamicZone"&&(E="dynamiczone",M.push({label:l})),(c==="attribute"||c==="customField")&&(E=n,M.push({label:t})),c==="editCategory"&&(M=[{label:p({id:(0,d.Z)("modalForm.header.categories"),defaultMessage:"Categories"})},{label:o}]);const C=M.map(({label:v})=>v).join(",");return a.createElement(Ne.ModalHeader,null,a.createElement(se.Stack,{horizontal:!0,spacing:3},a.createElement(Le.Z,{type:E,customField:g}),a.createElement(Ut.Breadcrumbs,{label:C},M.map((v,z)=>{var B;const ee=Me()(v.label);if(!ee)return null;const N=`${v.label}.${z}`;if((B=v.info)!=null&&B.category){const X=`${ee} (${Me()(v.info.category)} - ${Me()(v.info.name)})`;return a.createElement(Ut.Crumb,{key:N},X)}return a.createElement(Ut.Crumb,{key:N},ee)}))))};Wt.defaultProps={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,contentTypeKind:null,targetUid:null,customFieldUid:null},Wt.propTypes={actionType:r().string,attributeName:r().string,attributeType:r().string,categoryName:r().string,contentTypeKind:r().string,dynamicZoneTarget:r().string,forTarget:r().oneOf(["contentType","component","components"]),modalType:r().string.isRequired,targetUid:r().string,customFieldUid:r().string};const $r=Wt,$t=({categoryName:e,deleteCategory:t,deleteComponent:n,deleteContentType:o,isAttributeModal:s,isCustomFieldModal:l,isComponentAttribute:u,isComponentToDzModal:c,isContentTypeModal:m,isCreatingComponent:g,isCreatingComponentAttribute:f,isCreatingComponentInDz:p,isCreatingComponentWhileAddingAField:h,isCreatingContentType:E,isCreatingDz:M,isComponentModal:A,isDzAttribute:w,isEditingAttribute:S,isEditingCategory:C,isInFirstComponentStep:v,onSubmitAddComponentAttribute:z,onSubmitAddComponentToDz:B,onSubmitCreateContentType:ee,onSubmitCreateComponent:N,onSubmitCreateDz:X,onSubmitEditAttribute:fe,onSubmitEditCategory:re,onSubmitEditComponent:ue,onSubmitEditContentType:he,onSubmitEditCustomFieldAttribute:Fe,onSubmitEditDz:nt})=>{const{formatMessage:j}=(0,I.useIntl)();return c?p?a.createElement(W.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),B(O,!0)},startIcon:a.createElement(ze(),null)},j({id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"})):a.createElement(W.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),B(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&!M?a.createElement(W.Button,{variant:"default",type:"submit",onClick:O=>{O.preventDefault(),nt(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"})):s&&w&&M?a.createElement(a.Fragment,null,a.createElement(W.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),X(O,!0)},startIcon:a.createElement(ze(),null)},j({id:(0,d.Z)("form.button.add-components-to-dynamiczone"),defaultMessage:"Add components to the zone"}))):s&&u?v?a.createElement(W.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)}},j(f?{id:(0,d.Z)("form.button.configure-component"),defaultMessage:"Configure the component"}:{id:(0,d.Z)("form.button.select-component"),defaultMessage:"Configure the component"})):a.createElement(a.Fragment,null,a.createElement(W.Button,{variant:"secondary",type:"submit",onClick:O=>{O.preventDefault(),z(O,!0)},startIcon:a.createElement(ze(),null)},j(h?{id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"}:{id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(W.Button,{variant:"default",type:"button",onClick:O=>{O.preventDefault(),z(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):s&&!u&&!w?a.createElement(a.Fragment,null,a.createElement(W.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),fe(O,!0)},startIcon:a.createElement(ze(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(W.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),fe(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):m?a.createElement(a.Fragment,null,!E&&a.createElement(a.Fragment,null,a.createElement(W.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),o()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(W.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),he(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),E&&a.createElement(W.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),ee(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):A?a.createElement(a.Fragment,null,!g&&a.createElement(a.Fragment,null,a.createElement(W.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),n()}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(W.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),ue(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))),g&&a.createElement(W.Button,{type:"submit",variant:"secondary",onClick:O=>{O.preventDefault(),N(O,!0)}},j({id:"global.continue",defaultMessage:"Continue"}))):C?a.createElement(a.Fragment,null,a.createElement(W.Button,{type:"button",variant:"danger",onClick:O=>{O.preventDefault(),t(e)}},j({id:"global.delete",defaultMessage:"Delete"})),a.createElement(W.Button,{type:"submit",variant:"default",onClick:O=>{O.preventDefault(),re(O)}},j({id:"global.finish",defaultMessage:"finish"}))):l?a.createElement(a.Fragment,null,a.createElement(W.Button,{type:S?"button":"submit",variant:"secondary",onClick:O=>{O.preventDefault(),Fe(O,!0)},startIcon:a.createElement(ze(),null)},j({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),a.createElement(W.Button,{type:S?"submit":"button",variant:"default",onClick:O=>{O.preventDefault(),Fe(O,!1)}},j({id:"global.finish",defaultMessage:"Finish"}))):null};$t.defaultProps={categoryName:null},$t.propTypes={categoryName:r().string,deleteCategory:r().func.isRequired,deleteComponent:r().func.isRequired,deleteContentType:r().func.isRequired,isAttributeModal:r().bool.isRequired,isCustomFieldModal:r().bool.isRequired,isComponentAttribute:r().bool.isRequired,isComponentModal:r().bool.isRequired,isComponentToDzModal:r().bool.isRequired,isContentTypeModal:r().bool.isRequired,isCreatingComponent:r().bool.isRequired,isCreatingComponentAttribute:r().bool.isRequired,isCreatingComponentInDz:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,isCreatingContentType:r().bool.isRequired,isCreatingDz:r().bool.isRequired,isDzAttribute:r().bool.isRequired,isEditingAttribute:r().bool.isRequired,isEditingCategory:r().bool.isRequired,isInFirstComponentStep:r().bool.isRequired,onSubmitAddComponentAttribute:r().func.isRequired,onSubmitAddComponentToDz:r().func.isRequired,onSubmitCreateContentType:r().func.isRequired,onSubmitCreateComponent:r().func.isRequired,onSubmitCreateDz:r().func.isRequired,onSubmitEditAttribute:r().func.isRequired,onSubmitEditCategory:r().func.isRequired,onSubmitEditComponent:r().func.isRequired,onSubmitEditContentType:r().func.isRequired,onSubmitEditCustomFieldAttribute:r().func.isRequired,onSubmitEditDz:r().func.isRequired};const _r=$t,zr=({modalType:e,forTarget:t,kind:n,actionType:o,step:s})=>{switch(e){case"chooseAttribute":return(0,d.Z)(`modalForm.sub-header.chooseAttribute.${t.includes("component")?"component":n||"collectionType"}`);case"attribute":return(0,d.Z)(`modalForm.sub-header.attribute.${o}${s!=="null"&&s!==null&&o!=="edit"?".step":""}`);case"customField":return(0,d.Z)(`modalForm.sub-header.attribute.${o}`);case"addComponentToDynamicZone":return(0,d.Z)("modalForm.sub-header.addComponentToDynamicZone");default:return(0,d.Z)("configurations")}},_t=({actionType:e,modalType:t,forTarget:n,kind:o,step:s,attributeType:l,attributeName:u,customField:c})=>{const{formatMessage:m}=(0,I.useIntl)(),g=t==="customField"?c.intlLabel:{id:(0,d.Z)(`attribute.${l}`)};return a.createElement(q.Typography,{as:"h2",variant:"beta"},m({id:zr({actionType:e,forTarget:n,kind:o,step:s,modalType:t}),defaultMessage:"Add new field"},{type:Me()(m(g)),name:Me()(u),step:s}))};_t.defaultProps={actionType:null,modalType:null,forTarget:null,kind:null,step:null,attributeType:null,attributeName:null,customField:null},_t.propTypes={actionType:r().string,modalType:r().string,forTarget:r().string,kind:r().string,step:r().string,attributeType:r().string,attributeName:r().string,customField:r().object};const Vr=_t;var Gr=Object.defineProperty,Kn=Object.getOwnPropertySymbols,Kr=Object.prototype.hasOwnProperty,Hr=Object.prototype.propertyIsEnumerable,Hn=(e,t,n)=>t in e?Gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xr=(e,t)=>{for(var n in t||(t={}))Kr.call(t,n)&&Hn(e,n,t[n]);if(Kn)for(var n of Kn(t))Hr.call(t,n)&&Hn(e,n,t[n]);return e};const zt=({intlLabel:e,name:t,options:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),u=e.id?l({id:e.id,defaultMessage:e.defaultMessage},Xr({},e.values)):t,c=m=>{let g="";m==="true"&&(g=!0),m==="false"&&(g=!1),o({target:{name:t,value:g,type:"select-default-boolean"}})};return a.createElement(le.Select,{label:u,id:t,name:t,onChange:c,value:(s===null?"":s).toString()},n.map(({metadatas:{intlLabel:m,disabled:g,hidden:f},key:p,value:h})=>a.createElement(le.Option,{key:p,value:h,disabled:g,hidden:f},m.defaultMessage)))};zt.defaultProps={value:null},zt.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().any};const Yr=zt;var Jr=i(10345);const Qr=(0,Se.default)(se.Stack)`
20
- position: relative;
21
- align-items: stretch;
22
-
23
- label {
24
- border-radius: 4px;
25
- max-width: 50%;
26
- cursor: pointer;
27
- user-select: none;
28
- flex: 1;
29
- ${(0,Jr.inputFocusStyle)()}
30
- }
31
-
32
- input {
33
- position: absolute;
34
- opacity: 0;
35
- }
36
-
37
- .option {
38
- height: 100%;
39
- border-radius: 4px;
40
- border: 1px solid ${({theme:e})=>e.colors.neutral200};
41
- will-change: transform, opacity;
42
- background: ${({theme:e})=>e.colors.neutral0};
43
-
44
- .checkmark {
45
- position: relative;
46
- display: block;
47
- will-change: transform;
48
- background: ${({theme:e})=>e.colors.neutral0};
49
- width: ${({theme:e})=>e.spaces[5]};
50
- height: ${({theme:e})=>e.spaces[5]};
51
- border: solid 1px ${({theme:e})=>e.colors.neutral300};
52
- border-radius: 50%;
53
-
54
- &:before,
55
- &:after {
56
- content: '';
57
- display: block;
58
- border-radius: 50%;
59
- width: ${({theme:e})=>e.spaces[3]};
60
- height: ${({theme:e})=>e.spaces[3]};
61
- position: absolute;
62
- top: 3px;
63
- left: 3px;
64
- }
65
-
66
- &:after {
67
- transform: scale(0);
68
- transition: inherit;
69
- will-change: transform;
70
- }
71
- }
72
- }
73
-
74
- .container input:checked ~ div {
75
- background: ${({theme:e})=>e.colors.primary100};
76
- ${q.Typography} {
77
- color: ${({theme:e})=>e.colors.primary600};
78
- }
79
- border: 1px solid ${({theme:e})=>e.colors.primary200};
80
- .checkmark {
81
- border: solid 1px ${({theme:e})=>e.colors.primary600};
82
- &::after {
83
- background: ${({theme:e})=>e.colors.primary600};
84
- transform: scale(1);
85
- }
86
- }
87
- }
88
- `,Vt=({intlLabel:e,name:t,onChange:n,radios:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)();return a.createElement(se.Stack,{spacing:2},a.createElement(q.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800",htmlFor:t,as:"label"},l(e)),a.createElement(Qr,{horizontal:!0,spacing:4,style:{alignItems:"stretch"}},o.map(u=>a.createElement("label",{htmlFor:u.value.toString(),key:u.value,className:"container"},a.createElement("input",{id:u.value.toString(),name:t,className:"option-input",checked:u.value===s,value:u.value,key:u.value,onChange:n,type:"radio"}),a.createElement(k.Box,{className:"option",padding:4},a.createElement(_.Flex,null,a.createElement(k.Box,{paddingRight:4},a.createElement("span",{className:"checkmark"})),a.createElement(se.Stack,{spacing:2},a.createElement(q.Typography,{fontWeight:"bold"},l(u.title)),a.createElement(q.Typography,{variant:"pi",textColor:"neutral600"},l(u.description)))))))))};Vt.defaultProps={radios:[]},Vt.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,radios:r().arrayOf(r().shape({title:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}),description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}),value:r().any.isRequired})),value:r().oneOfType([r().string,r().bool]).isRequired};const Gt=Vt;var eo=Object.defineProperty,to=Object.defineProperties,no=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,Xn=Object.prototype.hasOwnProperty,Yn=Object.prototype.propertyIsEnumerable,Jn=(e,t,n)=>t in e?eo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ao=(e,t)=>{for(var n in t||(t={}))Xn.call(t,n)&&Jn(e,n,t[n]);if(bt)for(var n of bt(t))Yn.call(t,n)&&Jn(e,n,t[n]);return e},ro=(e,t)=>to(e,no(t)),oo=(e,t)=>{var n={};for(var o in e)Xn.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&&Yn.call(e,o)&&(n[o]=e[o]);return n};const Qn=e=>{var t=e,{onChange:n,name:o}=t,s=oo(t,["onChange","name"]);const l=u=>{const c=u.target.value!=="false";n({target:{name:o,value:c,type:"boolean-radio-group"}})};return a.createElement(Gt,ro(ao({},s),{name:o,onChange:l}))};Qn.propTypes={name:r().string.isRequired,onChange:r().func.isRequired};const so=Qn;var io=i(52111),lo=i(93026),Kt=i(37178),uo=Object.defineProperty,ea=Object.getOwnPropertySymbols,co=Object.prototype.hasOwnProperty,mo=Object.prototype.propertyIsEnumerable,ta=(e,t,n)=>t in e?uo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,po=(e,t)=>{for(var n in t||(t={}))co.call(t,n)&&ta(e,n,t[n]);if(ea)for(var n of ea(t))mo.call(t,n)&&ta(e,n,t[n]);return e};const Ht=({error:e,intlLabel:t,modifiedData:n,name:o,onChange:s,value:l})=>{const{formatMessage:u}=(0,I.useIntl)(),[c,m]=(0,a.useState)(!!l||l===0),g=t.id?u({id:t.id,defaultMessage:t.defaultMessage},po({},t.values)):o,f=n.type==="biginteger"?"text":"number",p=!n.type,h=e?u({id:e,defaultMessage:e}):"";return a.createElement(se.Stack,{spacing:2},a.createElement(io.Checkbox,{id:o,name:o,onValueChange:E=>{s({target:{name:o,value:E?f==="text"?"0":0:null}}),m(w=>!w)},value:c},g),c&&a.createElement(k.Box,{paddingLeft:6,style:{maxWidth:"200px"}},f==="text"?a.createElement(Kt.TextInput,{"aria-label":g,disabled:p,error:h,id:o,name:o,onChange:s,value:l===null?"":l}):a.createElement(lo.NumberInput,{"aria-label":g,disabled:p,error:h,id:o,name:o,onValueChange:E=>{s({target:{name:o,value:E,type:f}})},value:l||0})))};Ht.defaultProps={error:null,value:null},Ht.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().oneOfType([r().string,r().object,r().bool,r().number])};const go=Ht;var fo=Object.defineProperty,yo=Object.defineProperties,ho=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,na=Object.prototype.hasOwnProperty,aa=Object.prototype.propertyIsEnumerable,ra=(e,t,n)=>t in e?fo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bo=(e,t)=>{for(var n in t||(t={}))na.call(t,n)&&ra(e,n,t[n]);if(vt)for(var n of vt(t))aa.call(t,n)&&ra(e,n,t[n]);return e},vo=(e,t)=>yo(e,ho(t)),To=(e,t)=>{var n={};for(var o in e)na.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&vt)for(var o of vt(e))t.indexOf(o)<0&&aa.call(e,o)&&(n[o]=e[o]);return n};const oa=e=>{var t=e,{onChange:n}=t,o=To(t,["onChange"]);const s=(0,R.useNotification)(),l=u=>{s({type:"info",message:{id:(0,d.Z)("contentType.kind.change.warning"),defaultMessage:"You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten)."}}),n(u)};return a.createElement(Gt,vo(bo({},o),{onChange:l}))};oa.propTypes={onChange:r().func.isRequired};const Eo=oa;var Co=i(54450),Mo=i(89978),Oo=i(20763),Po=i(38938),Ro=i.n(Po),xo=i(16925);const So=(e,t,n)=>e+t*n,Ao=(0,Se.default)(_.Flex)`
89
- svg {
90
- z-index: 2;
91
- color: ${({isSelected:e,theme:t})=>e?t.colors.primary600:t.colors.neutral300};
92
- }
93
- ${({isSelected:e,theme:t})=>e?`
94
- &::after {
95
- content: '';
96
- position: absolute;
97
- top: 8px;
98
- left: 8px;
99
- border-radius: 50%;
100
- width: 28px;
101
- height: 28px;
102
- background-color: ${t.colors.primary200};
103
- z-index: 1;
104
- }
105
- `:""}
106
- `,Xt=42,Tt=18,Yt=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{allIcons:l}=(0,ie.Z)(),{formatMessage:u}=(0,I.useIntl)(),c=(0,a.useRef)(),[m,g]=(0,a.useState)(!1),[f,p]=(0,a.useState)(""),[h,E]=(0,a.useState)(l),M=()=>g(C=>!C);(0,a.useEffect)(()=>{m&&c.current.querySelector("input").focus()},[m]);const A=({target:{value:C}})=>{p(C),E(()=>l.filter(v=>v.includes(C)))},w=({columnIndex:C,rowIndex:v,style:z})=>{const B=h[So(C,v,Tt)];return a.createElement("div",{style:z,key:`col-${C}`},B&&a.createElement(Ao,{style:{width:"100%",height:"100%"},alignItems:"center",justifyContent:"center",onClick:()=>{o({target:{name:n,value:B}})},isSelected:B===s,as:"button",type:"button"},a.createElement(xo.G,{icon:B})))},S=e?u({id:e,defaultMessage:e}):"";return a.createElement(k.Box,null,a.createElement(se.Stack,{spacing:1},a.createElement(_.Flex,{justifyContent:"space-between"},a.createElement(q.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800",htmlFor:n,as:"label"},u(t)),m?a.createElement("div",{ref:c,style:{width:206}},a.createElement(Mo.Searchbar,{name:"searchbar",onBlur:()=>{f||M()},onClear:()=>{p(""),E(l),M()},value:f,onChange:A,clearLabel:"Clearing the icon search",placeholder:u({id:(0,d.Z)("ComponentIconPicker.search.placeholder"),defaultMessage:"Search for an icon"}),size:"S"},u({id:(0,d.Z)("ComponentIconPicker.search.placeholder"),defaultMessage:"Search for an icon"}))):a.createElement(Oo.IconButton,{onClick:M,"aria-label":"Edit",icon:a.createElement(Ro(),null),noBorder:!0})),a.createElement(se.Stack,{spacing:1},a.createElement(k.Box,{padding:1,background:"neutral100",borderColor:e?"danger600":"",hasRadius:!0},a.createElement(Co.Ym,{columnCount:Tt,columnWidth:Xt,height:132,rowHeight:Xt,rowCount:Math.ceil(h.length/Tt),width:Xt*Tt},w)),e&&a.createElement(q.Typography,{variant:"pi",id:`${n}-error`,textColor:"danger600","data-strapi-field-error":!0},S))))};Yt.defaultProps={error:null},Yt.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string.isRequired};const Fo=Yt;var Jt=i(49561),sa=i(12611),Q=i(91559);const Qt=({oneThatIsCreatingARelationWithAnother:e,target:t})=>{const{contentTypes:n,sortedContentTypesList:o}=(0,ie.Z)(),s=(0,ve.useDispatch)(),l=o.filter(ft),u=Z()(n,[t,"plugin"],null),c=Z()(n,[t,"schema","displayName"],"error");return a.createElement(sa.SimpleMenu,{id:"label",label:`${c}
107
- ${u?`(from: ${u})`:""}`},l.map(({uid:m,title:g,restrictRelationsTo:f,plugin:p})=>{const h=()=>{const E=p?`${p}_${g}`:g;s({type:Q.aG,target:{value:m,oneThatIsCreatingARelationWithAnother:e,selectedContentTypeFriendlyName:E,targetContentTypeAllowedRelations:f}})};return a.createElement(sa.MenuItem,{key:m,onClick:h},g,"\xA0",p&&a.createElement(a.Fragment,null,"(from: ",p,")"))}))};Qt.defaultProps={target:null},Qt.propTypes={oneThatIsCreatingARelationWithAnother:r().string.isRequired,target:r().string};const Do=Qt,en=({disabled:e,error:t,header:n,isMain:o,name:s,onChange:l,oneThatIsCreatingARelationWithAnother:u,target:c,value:m})=>a.createElement(k.Box,{background:"neutral100",hasRadius:!0,borderColor:"neutral200"},a.createElement(_.Flex,{paddingTop:o?4:1,paddingBottom:o?3:1,justifyContent:"center"},o?a.createElement(q.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800"},n):a.createElement(Do,{target:c,oneThatIsCreatingARelationWithAnother:u})),a.createElement(lt.Divider,{background:"neutral200"}),a.createElement(k.Box,{padding:4},a.createElement(R.GenericInput,{disabled:e,error:(t==null?void 0:t.id)||null,intlLabel:{id:(0,d.Z)("form.attribute.item.defineRelation.fieldName"),defaultMessage:"Field name"},name:s,onChange:l,type:"text",value:m})));en.defaultProps={disabled:!1,error:null,header:null,isMain:!1,onChange(){},oneThatIsCreatingARelationWithAnother:null,target:null,value:""},en.propTypes={disabled:r().bool,error:r().object,header:r().string,isMain:r().bool,name:r().string.isRequired,onChange:r().func,oneThatIsCreatingARelationWithAnother:r().string,target:r().string,value:r().string};const ia=en;var No=i(51382),la=i.n(No),Zo=i(24443),tn=i.n(Zo),Io=i(29158),wo=i.n(Io),Lo=i(10883),Bo=i.n(Lo),ko=i(36925),qo=i.n(ko),jo=i(23277),Uo=i.n(jo),Wo=i(55452),$o=i.n(Wo),_o=i(82937),zo=i.n(_o);const Vo=(0,Se.default)(k.Box)`
108
- position: relative;
109
- width: 100%;
110
- &::before {
111
- content: '';
112
- position: absolute;
113
- top: calc(50% - 0px);
114
- height: 2px;
115
- width: 100%;
116
- background-color: ${({theme:e})=>e.colors.primary600};
117
- z-index: 0;
118
- }
119
- `,Go=(0,Se.default)(k.Box)`
120
- background: ${({theme:e,isSelected:t})=>e.colors[t?"primary100":"neutral0"]};
121
- border: 1px solid
122
- ${({theme:e,isSelected:t})=>e.colors[t?"primary700":"neutral200"]};
123
- border-radius: ${({theme:e})=>e.borderRadius};
124
- z-index: 1;
125
- svg {
126
- width: 1.5rem;
127
- height: 100%;
128
- path {
129
- fill: ${({theme:e,isSelected:t})=>e.colors[t?"primary700":"neutral500"]};
130
- }
131
- }
132
- &:disabled {
133
- cursor: not-allowed;
134
- }
135
- `,Ko=(0,Se.default)(_.Flex)`
136
- position: absolute;
137
- bottom: 0;
138
- left: 0;
139
- right: 0;
140
- `,Ho={oneWay:Bo(),oneToOne:wo(),oneToMany:Uo(),manyToOne:$o(),manyToMany:zo(),manyWay:qo()},nn=({naturePickerType:e,oneThatIsCreatingARelationWithAnother:t,relationType:n,target:o})=>{const s=(0,ve.useDispatch)(),{formatMessage:l}=(0,I.useIntl)(),{contentTypes:u,modifiedData:c}=(0,ie.Z)(),m=["oneWay","oneToOne","oneToMany","manyToOne","manyToMany","manyWay"],g=["oneWay","manyWay"],p=(e==="contentType"?Z()(c,[e,"schema","kind"],""):e)==="collectionType"?m:g,h=n==="manyToOne",E=Z()(u,[o,"schema","displayName"],"unknown"),M=h?E:t,A=h?t:E,w=tn()(M,n==="manyToMany"?2:1),S=Z()(u,[o,"schema","restrictRelationsTo"],null),C=tn()(A,["manyToMany","oneToMany","manyToOne","manyWay"].includes(n)?2:1);return n?a.createElement(_.Flex,{style:{flex:1}},a.createElement(Vo,null,a.createElement(_.Flex,{paddingLeft:9,paddingRight:9,paddingTop:1,justifyContent:"center"},a.createElement(ut.KeyboardNavigable,{tagName:"button"},a.createElement(se.Stack,{spacing:3,horizontal:!0},p.map(v=>{const z=Ho[v],B=S===null||S.includes(v);return a.createElement(Go,{as:"button",isSelected:n===v,disabled:!B,key:v,onClick:()=>{B&&s({type:Q.QQ,target:{oneThatIsCreatingARelationWithAnother:t,targetContentType:o,value:v}})},padding:2,type:"button"},a.createElement(z,{key:v}))}))))),a.createElement(Ko,{justifyContent:"center"},a.createElement(q.Typography,null,la()(w,{length:24}),"\xA0"),a.createElement(q.Typography,{textColor:"primary600"},l({id:(0,d.Z)(`relation.${n}`)}),"\xA0"),a.createElement(q.Typography,null,la()(C,{length:24})))):null};nn.defaultProps={relationType:null,target:null},nn.propTypes={naturePickerType:r().string.isRequired,oneThatIsCreatingARelationWithAnother:r().string.isRequired,relationType:r().string,target:r().string};const Xo=nn,ua=({formErrors:e,mainBoxHeader:t,modifiedData:n,naturePickerType:o,onChange:s})=>{const l=(0,Jt.Z)(n.relation,n.targetAttribute);return a.createElement(_.Flex,{style:{position:"relative"}},a.createElement(ia,{isMain:!0,header:t,error:(e==null?void 0:e.name)||null,name:"name",onChange:s,value:(n==null?void 0:n.name)||""}),a.createElement(Xo,{naturePickerType:o,oneThatIsCreatingARelationWithAnother:t,relationType:l,target:n.target}),a.createElement(ia,{disabled:["oneWay","manyWay"].includes(l),error:(e==null?void 0:e.targetAttribute)||null,name:"targetAttribute",onChange:s,oneThatIsCreatingARelationWithAnother:t,target:n.target,value:(n==null?void 0:n.targetAttribute)||""}))};ua.propTypes={formErrors:r().object.isRequired,mainBoxHeader:r().string.isRequired,modifiedData:r().object.isRequired,naturePickerType:r().string.isRequired,onChange:r().func.isRequired};const Yo=ua;var ca=i(45251),Jo=Object.defineProperty,da=Object.getOwnPropertySymbols,Qo=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,ma=(e,t,n)=>t in e?Jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ts=(e,t)=>{for(var n in t||(t={}))Qo.call(t,n)&&ma(e,n,t[n]);if(da)for(var n of da(t))es.call(t,n)&&ma(e,n,t[n]);return e};const an=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(l),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{if(g){const E=(0,ca.Z)(g);try{const M=tn()(E,2);m.current({target:{name:s,value:M}})}catch(M){m.current({target:{name:s,value:E}})}}else m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},ts({},e.values)):"",h=c(n);return a.createElement(Kt.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:l,value:u||""})};an.defaultProps={description:null,error:null,value:null},an.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const ns=an;var pa=i(14715);const rn=({error:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),{allComponentsCategories:u}=(0,ie.Z)(),[c,m]=(0,a.useState)(u),g=e?l({id:e,defaultMessage:e}):"",f=l(t),p=E=>{o({target:{name:n,value:E,type:"select-category"}})},h=E=>{m(M=>[...M,E]),p(E)};return a.createElement(pa.CreatableCombobox,{error:g,id:n,label:f,name:n,onChange:p,onCreateOption:h,value:s},c.map(E=>a.createElement(pa.ComboboxOption,{key:E,value:E},E)))};rn.defaultProps={error:null,value:null},rn.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const as=rn,on=({error:e,intlLabel:t,isAddingAComponentToAnotherComponent:n,isCreating:o,isCreatingComponentWhileAddingAField:s,componentToCreate:l,name:u,onChange:c,targetUid:m,forTarget:g,value:f})=>{const{formatMessage:p}=(0,I.useIntl)(),h=e?p({id:e,defaultMessage:e}):"",E=p(t),{componentsGroupedByCategory:M,componentsThatHaveOtherComponentInTheirAttributes:A}=(0,ie.Z)(),w=["component","components"].includes(g);let S=Object.entries(M).reduce((C,v)=>{const[z,B]=v,ee=B.map(N=>({uid:N.uid,label:N.schema.displayName,categoryName:z}));return[...C,...ee]},[]);return n&&(S=S.filter(C=>!A.includes(C.uid))),w&&(S=S.filter(C=>C.uid!==m)),s&&(S=[{uid:f,label:l.displayName,categoryName:l.category}]),a.createElement(le.Select,{disabled:s||!o,error:h,label:E,id:u,name:u,onChange:C=>{c({target:{name:u,value:C,type:"select-category"}})},value:f||""},S.map(C=>a.createElement(le.Option,{key:C.uid,value:C.uid},`${C.categoryName} - ${C.label}`)))};on.defaultProps={componentToCreate:null,error:null},on.propTypes={componentToCreate:r().object,forTarget:r().string.isRequired,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,isAddingAComponentToAnotherComponent:r().bool.isRequired,isCreating:r().bool.isRequired,isCreatingComponentWhileAddingAField:r().bool.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,targetUid:r().string.isRequired,value:r().string.isRequired};const rs=on,sn=(e,t)=>e.find(({name:n})=>n===t),ga=({dynamicZoneTarget:e,intlLabel:t,name:n,onChange:o,value:s})=>{const{formatMessage:l}=(0,I.useIntl)(),{componentsGroupedByCategory:u,modifiedData:c}=(0,ie.Z)(),g=(sn(c.contentType.schema.attributes,e)||{}).components||[],f=Object.keys(u).reduce((E,M)=>{const A=u[M].filter(({uid:w})=>!g.includes(w));return A.length>0&&(E[M]=A),E},{}),p=Object.entries(f).reduce((E,M)=>{const[A,w]=M,S={label:A,children:w.map(({uid:C,schema:{displayName:v}})=>({label:v,value:C}))};return E.push(S),E},[]),h=l({id:(0,d.Z)("components.SelectComponents.displayed-value"),defaultMessage:"{number, plural, =0 {# components} one {# component} other {# components}} selected"},{number:s.length});return a.createElement(le.MultiSelectNested,{id:"select1",label:l(t),customizeContent:()=>h,name:n,onChange:E=>{o({target:{name:n,value:E,type:"select-components"}})},options:p,value:s||[]})};ga.propTypes={intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,dynamicZoneTarget:r().string.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().array.isRequired};const os=ga,ln=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),!!u&&n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}})};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},l.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c({id:p.id,defaultMessage:p.defaultMessage},p.values))))};ln.defaultProps={error:void 0,value:""},ln.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const ss=ln,un=({intlLabel:e,error:t,modifiedData:n,name:o,onChange:s,options:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=c(e),g=t?c({id:t,defaultMessage:t}):"",f=p=>{s({target:{name:o,value:p,type:"select"}}),u&&(p==="biginteger"&&u!=="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})),["decimal","float","integer"].includes(p)&&u==="biginteger"&&(n.default!==void 0&&n.default!==null&&s({target:{name:"default",value:null}}),n.max!==void 0&&n.max!==null&&s({target:{name:"max",value:null}}),n.min!==void 0&&n.min!==null&&s({target:{name:"min",value:null}})))};return a.createElement(le.Select,{error:g,label:m,id:o,name:o,onChange:f,value:u||""},l.map(({metadatas:{intlLabel:p,disabled:h,hidden:E},key:M,value:A})=>a.createElement(le.Option,{key:M,value:A,disabled:h,hidden:E},c(p))))};un.defaultProps={error:void 0,value:""},un.propTypes={error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,options:r().arrayOf(r().shape({metadatas:r().shape({intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired}).isRequired,disabled:r().bool,hidden:r().bool}).isRequired,key:r().oneOfType([r().string,r().number]).isRequired,value:r().oneOfType([r().string,r().number]).isRequired}).isRequired).isRequired,value:r().string};const is=un;var ls=Object.defineProperty,fa=Object.getOwnPropertySymbols,us=Object.prototype.hasOwnProperty,cs=Object.prototype.propertyIsEnumerable,ya=(e,t,n)=>t in e?ls(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ds=(e,t)=>{for(var n in t||(t={}))us.call(t,n)&&ya(e,n,t[n]);if(fa)for(var n of fa(t))cs.call(t,n)&&ya(e,n,t[n]);return e};const cn=({description:e,error:t,intlLabel:n,modifiedData:o,name:s,onChange:l,value:u})=>{const{formatMessage:c}=(0,I.useIntl)(),m=(0,a.useRef)(l),g=(o==null?void 0:o.displayName)||"";(0,a.useEffect)(()=>{g?m.current({target:{name:s,value:(0,ca.Z)(g)}}):m.current({target:{name:s,value:""}})},[g,s]);const f=t?c({id:t,defaultMessage:t}):"",p=e?c({id:e.id,defaultMessage:e.defaultMessage},ds({},e.values)):"",h=c(n);return a.createElement(Kt.TextInput,{error:f,label:h,id:s,hint:p,name:s,onChange:l,value:u||""})};cn.defaultProps={description:null,error:null,value:null},cn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,modifiedData:r().object.isRequired,name:r().string.isRequired,onChange:r().func.isRequired,value:r().string};const ms=cn;var ps=Object.defineProperty,gs=Object.defineProperties,fs=Object.getOwnPropertyDescriptors,ha=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,ba=(e,t,n)=>t in e?ps(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,va=(e,t)=>{for(var n in t||(t={}))ys.call(t,n)&&ba(e,n,t[n]);if(ha)for(var n of ha(t))hs.call(t,n)&&ba(e,n,t[n]);return e},bs=(e,t)=>gs(e,fs(t));const Ta=({form:e,formErrors:t,genericInputProps:n,modifiedData:o,onChange:s})=>{const{formatMessage:l}=(0,I.useIntl)();return e.map((u,c)=>u.items.length===0?null:a.createElement(k.Box,{key:c},u.sectionTitle&&a.createElement(k.Box,{paddingBottom:4},a.createElement(q.Typography,{variant:"delta",as:"h3"},l(u.sectionTitle))),a.createElement(xe.Grid,{gap:4},u.items.map((m,g)=>{const f=`${c}.${g}`,p=Z()(o,m.name,""),h=Object.keys(t).find(M=>M===m.name),E=h?t[h].id:Z()(t,[...m.name.split(".").filter(M=>M!=="componentToCreate"),"id"],null);return m.type==="pushRight"?a.createElement(xe.GridItem,{col:m.size||6,key:m.name||f},a.createElement("div",null)):a.createElement(xe.GridItem,{col:m.size||6,key:m.name||f},a.createElement(R.GenericInput,bs(va(va({},m),n),{error:E,onChange:s,value:p})))}))))};Ta.propTypes={form:r().arrayOf(r().object).isRequired,formErrors:r().object.isRequired,genericInputProps:r().object.isRequired,modifiedData:r().object.isRequired,onChange:r().func.isRequired};const Ea=Ta;var vs=i(90353),Ts=Object.defineProperty,Ca=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,Cs=Object.prototype.propertyIsEnumerable,Ma=(e,t,n)=>t in e?Ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Oa=(e,t)=>{for(var n in t||(t={}))Es.call(t,n)&&Ma(e,n,t[n]);if(Ca)for(var n of Ca(t))Cs.call(t,n)&&Ma(e,n,t[n]);return e};const dn=({description:e,disabled:t,error:n,intlLabel:o,labelAction:s,name:l,onChange:u,placeholder:c,value:m})=>{const{formatMessage:g}=(0,I.useIntl)(),f=n?g({id:n,defaultMessage:n}):"",p=e?g({id:e.id,defaultMessage:e.defaultMessage},Oa({},e.values)):"",h=g(o),E=c?g({id:c.id,defaultMessage:c.defaultMessage},Oa({},c.values)):"",M=Array.isArray(m)?m.join(`
141
- `):"",A=w=>{const S=w.target.value.split(`
142
- `);u({target:{name:l,value:S}})};return a.createElement(vs.Textarea,{disabled:t,error:f,label:h,labelAction:s,id:l,hint:p,name:l,onChange:A,placeholder:E,value:M},M)};dn.defaultProps={description:null,disabled:!1,error:"",labelAction:void 0,placeholder:null,value:""},dn.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,labelAction:r().element,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),value:r().oneOfType([r().array,r().string])};const Ms=dn,Os=(e,t)=>{const n=Z()(e,["contentType","schema","kind"],"");return n==="singleType"||n===t.kind?!0:Z()(e,["contentType","schema","attributes"],[]).filter(({relation:l,type:u,targetAttribute:c})=>{const m=(0,Jt.Z)(l,c);return u==="relation"&&!["oneWay","manyWay"].includes(m)}).length===0},Ps=(e="",t,n)=>{const o=["text","email","richtext","password","number","enumeration","date","media","boolean","json","relation"],s=e==="contentType",l=n.includes(t),u=!s&&!l;return s?[[...o,"uid"],["component","dynamiczone"]]:u?[o,["component"]]:[o]},Pa=e=>e.reduce((t,n)=>{const o=n.items.reduce((s,l)=>(l.name&&s.push(l.name),s),[]);return[...t,...o]},[]);var b=i(5173),Je=i(2158);const Rs={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"}}]}]}},Ra=/^[A-Za-z][-_0-9A-Za-z]*$/,xs=e=>{const t={name:b.Z_().matches(Ra,R.translatedErrors.regex).test({name:"nameNotAllowed",message:R.translatedErrors.unique,test(n){return n?!e.includes((0,D.toLower)(n)):!1}}).required(R.translatedErrors.required)};return b.Ry(t)},Ss=(e,t,n)=>{const o={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(s){if(!s)return!1;const l=(0,Je.N)(s,n);return!e.includes(l)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(s){return s?!t.includes((0,D.toLower)((0,D.trim)(s))):!1}}).required(R.translatedErrors.required),category:b.Z_().matches(Ra,R.translatedErrors.regex).required(R.translatedErrors.required),icon:b.Z_()};return b.Ry(o)},mn={intlLabel:{id:"global.type",defaultMessage:"Type"},name:"createComponent",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.create"),defaultMessage:"Create a new component"},description:{id:(0,d.Z)("form.attribute.component.option.create.description"),defaultMessage:"A component is shared across types and components, it will be available and accessible everywhere."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.reuse-existing"),defaultMessage:"Use an existing component"},description:{id:(0,d.Z)("form.attribute.component.option.reuse-existing.description"),defaultMessage:"Reuse a component already created to keep your data consistent across content-types."},value:!1}]},Qe={base(e=""){return[{sectionTitle:null,items:[{name:`${e}displayName`,type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display Name"}},{name:`${e}category`,type:"select-category",intlLabel:{id:(0,d.Z)("modalForm.components.create-component.category.label"),defaultMessage:"Select a category or enter a name to create a new one"}}]},{sectionTitle:null,items:[{name:`${e}icon`,type:"component-icon-picker",size:12,intlLabel:{id:(0,d.Z)("modalForm.components.icon.label"),defaultMessage:"Icon"}}]}]},advanced(){return[]}},x={default:{name:"default",type:"text",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"}},max:{name:"max",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximum"),defaultMessage:"Maximum value"}},maxLength:{name:"maxLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.maximumLength"),defaultMessage:"Maximum length"}},min:{name:"min",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimum"),defaultMessage:"Minimum value"}},minLength:{name:"minLength",type:"checkbox-with-number-field",intlLabel:{id:(0,d.Z)("form.attribute.item.minimumLength"),defaultMessage:"Minimum length"}},private:{name:"private",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.privateField"),defaultMessage:"Private field"},description:{id:(0,d.Z)("form.attribute.item.privateField.description"),defaultMessage:"This field will not show up in the API response"}},regex:{intlLabel:{id:(0,d.Z)("form.attribute.item.text.regex"),defaultMessage:"RegExp pattern"},name:"regex",type:"text",description:{id:(0,d.Z)("form.attribute.item.text.regex.description"),defaultMessage:"The text of the regular expression"}},required:{name:"required",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.requiredField"),defaultMessage:"Required field"},description:{id:(0,d.Z)("form.attribute.item.requiredField.description"),defaultMessage:"You won't be able to create an entry if this field is empty"}},unique:{name:"unique",type:"checkbox",intlLabel:{id:(0,d.Z)("form.attribute.item.uniqueField"),defaultMessage:"Unique field"},description:{id:(0,d.Z)("form.attribute.item.uniqueField.description"),defaultMessage:"You won't be able to create an entry if there is an existing entry with identical content"}}};var As=Object.defineProperty,Fs=Object.defineProperties,Ds=Object.getOwnPropertyDescriptors,xa=Object.getOwnPropertySymbols,Ns=Object.prototype.hasOwnProperty,Zs=Object.prototype.propertyIsEnumerable,Sa=(e,t,n)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pn=(e,t)=>{for(var n in t||(t={}))Ns.call(t,n)&&Sa(e,n,t[n]);if(xa)for(var n of xa(t))Zs.call(t,n)&&Sa(e,n,t[n]);return e},gn=(e,t)=>Fs(e,Ds(t));const Is={boolean(){return{sections:[{sectionTitle:null,items:[{autoFocus:!0,type:"select-default-boolean",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},name:"default",options:[{value:"true",key:"true",metadatas:{intlLabel:{id:"true",defaultMessage:"true"}}},{value:"",key:"null",metadatas:{intlLabel:{id:"null",defaultMessage:"null"}}},{value:"false",key:"false",metadatas:{intlLabel:{id:"false",defaultMessage:"false"}}}]}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},component({repeatable:e},t){return t==="1"?{sections:Qe.advanced("componentToCreate")}:e?{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private,x.max,x.min]}]}:{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},date({type:e}){return{sections:[{sectionTitle:null,items:[gn(pn({},x.default),{type:e||"date",value:null,withDefaultValue:!1,disabled:!e,autoFocus:!1})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.private]}]}},dynamiczone(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.max,x.min]}]}},email(){return{sections:[{sectionTitle:null,items:[gn(pn({},x.default),{type:"email"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},enumeration(e){return{sections:[{sectionTitle:null,items:[{name:"default",type:"select",intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{},options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}}},...(e.enum||[]).filter((t,n)=>e.enum.indexOf(t)===n&&t).map(t=>({key:t,value:t,metadatas:{intlLabel:{id:`${t}.no-override`,defaultMessage:t}}}))]},{intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.graphql"),defaultMessage:"Name override for GraphQL"},name:"enumName",type:"text",validations:{},description:{id:(0,d.Z)("form.attribute.item.enumeration.graphql.description"),defaultMessage:"Allows you to override the default generated name for GraphQL"}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},json(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},media(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:(0,d.Z)("form.attribute.media.allowed-types"),defaultMessage:"Select allowed types of media"},name:"allowedTypes",type:"allowed-types-select",size:7,value:"",validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.private]}]}},number(e){const t=e.type==="decimal"||e.type==="float"?"any":1;return{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"default",type:e.type==="biginteger"?"text":"number",step:t,intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.max,x.min,x.private]}]}},password(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},relation(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.private]}]}},richtext(){return{sections:[{sectionTitle:null,items:[x.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}},text(){return{sections:[{sectionTitle:null,items:[x.default,x.regex]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.unique,x.maxLength,x.minLength,x.private]}]}},uid(e){return{sections:[{sectionTitle:null,items:[gn(pn({},x.default),{disabled:Boolean(e.targetField),type:"text"})]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[x.required,x.maxLength,x.minLength,x.private]}]}}},Ae={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 ws=Object.defineProperty,Ls=Object.defineProperties,Bs=Object.getOwnPropertyDescriptors,Aa=Object.getOwnPropertySymbols,ks=Object.prototype.hasOwnProperty,qs=Object.prototype.propertyIsEnumerable,Fa=(e,t,n)=>t in e?ws(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,js=(e,t)=>{for(var n in t||(t={}))ks.call(t,n)&&Fa(e,n,t[n]);if(Aa)for(var n of Aa(t))qs.call(t,n)&&Fa(e,n,t[n]);return e},Us=(e,t)=>Ls(e,Bs(t));const Da={advanced:Is,base:{component(e,t){if(t==="1"){const n=e.createComponent===!0?Qe.base("componentToCreate."):[];return{sections:[{sectionTitle:null,items:[mn]},...n]}}return{sections:[{sectionTitle:null,items:[Ae,{name:"component",type:"select-component",intlLabel:{id:(0,d.Z)("modalForm.attributes.select-component"),defaultMessage:"Select a component"},isMultiple:!1}]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"repeatable",type:"boolean-radio-group",size:12,radios:[{title:{id:(0,d.Z)("form.attribute.component.option.repeatable"),defaultMessage:"Repeatable component"},description:{id:(0,d.Z)("form.attribute.component.option.repeatable.description"),defaultMessage:"Best for multiple instances (array) of ingredients, meta tags, etc.."},value:!0},{title:{id:(0,d.Z)("form.attribute.component.option.single"),defaultMessage:"Single component"},description:{id:(0,d.Z)("form.attribute.component.option.single.description"),defaultMessage:"Best for grouping fields like full address, main information, etc..."},value:!1}]}]}]}},date(){return{sections:[{sectionTitle:null,items:[Ae,{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",type:"select-date",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"date",value:"date",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.date"),defaultMessage:"date (ex: 01/01/{currentYear})",values:{currentYear:new Date().getFullYear()}}}},{key:"datetime",value:"datetime",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.datetime"),defaultMessage:"datetime (ex: 01/01/{currentYear} 00:00 AM)",values:{currentYear:new Date().getFullYear()}}}},{key:"time",value:"time",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.date.type.time"),defaultMessage:"time (ex: 00:00 AM)"}}}]}]}]}},enumeration(){return{sections:[{sectionTitle:null,items:[Ae]},{sectionTitle:null,items:[{name:"enum",type:"textarea-enum",size:6,intlLabel:{id:(0,d.Z)("form.attribute.item.enumeration.rules"),defaultMessage:"Values (one line per value)"},placeholder:{id:(0,d.Z)("form.attribute.item.enumeration.placeholder"),defaultMessage:`Ex:
143
- morning
144
- noon
145
- evening`},validations:{required:!0}}]}]}},media(){return{sections:[{sectionTitle:null,items:[Ae]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"multiple",size:12,type:"boolean-radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.media.option.multiple"),defaultMessage:"Multiple media"},description:{id:(0,d.Z)("form.attribute.media.option.multiple.description"),defaultMessage:"Best for sliders, carousels or multiple files download"},value:!0},{title:{id:(0,d.Z)("form.attribute.media.option.single"),defaultMessage:"Single media"},description:{id:(0,d.Z)("form.attribute.media.option.single.description"),defaultMessage:"Best for avatar, profile picture or cover"},value:!1}]}]}]}},number(){return{sections:[{sectionTitle:null,items:[Ae,{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type"),defaultMessage:"Number format"},name:"type",type:"select-number",options:[{key:"__null_reset_value__",value:"",metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},hidden:!0}},{key:"integer",value:"integer",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.integer"),defaultMessage:"integer (ex: 10)"}}},{key:"biginteger",value:"biginteger",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.biginteger"),defaultMessage:"biginteger (ex: 123456789)"}}},{key:"decimal",value:"decimal",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.decimal"),defaultMessage:"decimal (ex: 2.22)"}}},{key:"float",value:"float",metadatas:{intlLabel:{id:(0,d.Z)("form.attribute.item.number.type.float"),defaultMessage:"decimal (ex: 3.3333333)"}}}]}]}]}},relation(){return{sections:[{sectionTitle:null,items:[{intlLabel:{id:"FIXME",defaultMessage:"FIXME"},name:"relation",size:12,type:"relation"}]}]}},string(){return{sections:[{sectionTitle:null,items:[Ae]},{sectionTitle:null,items:[{intlLabel:{id:"global.type",defaultMessage:"Type"},name:"type",size:12,type:"radio-group",radios:[{title:{id:(0,d.Z)("form.attribute.text.option.short-text"),defaultMessage:"Sort text"},description:{id:(0,d.Z)("form.attribute.text.option.short-text.description"),defaultMessage:"Best for titles, names, links (URL). It also enables exact search on the field."},value:"string"},{title:{id:(0,d.Z)("form.attribute.text.option.long-text"),defaultMessage:"Long text"},description:{id:(0,d.Z)("form.attribute.text.option.long-text.description"),defaultMessage:"Best for descriptions, biography. Exact search is disabled."},value:"text"}]}]}]}},text(){return{sections:[{sectionTitle:null,items:[Ae]},{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:[Us(js({},Ae),{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]}]}]}}}},Ws={sections:[{sectionTitle:null,items:[Ae]}]};var $s=i(91815),_s=i.n($s),zs=i(40791),Vs=i.n(zs);const fn=e=>Vs()(e,{decamelize:!1,lowercase:!1,separator:"_"}),Na=/^[A-Za-z][_0-9A-Za-z]*$/,Za=e=>({name:"attributeNameAlreadyUsed",message:R.translatedErrors.unique,test(t){return t?!e.includes(t):!1}}),jl=(e,t,n)=>{const o=get(e,["schema","attributes"],{});return Object.keys(o).filter(s=>t?s!==n:!0)},yn=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test(t){return t?!e.includes(t):!1}}),y={default:()=>b.Z_().nullable(),max:()=>b.Rx().integer().nullable(),min:()=>b.Rx().integer().when("max",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),maxLength:()=>b.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>b.Rx().integer().min(0).when("maxLength",(e,t)=>e?t.max(e,(0,d.Z)("error.validation.minSupMax")):t).nullable(),name(e,t){return b.Z_().test(Za(e)).test(yn(t)).matches(Na,R.translatedErrors.regex).required(R.translatedErrors.required)},required:()=>b.O7(),type:()=>b.Z_().required(R.translatedErrors.required),unique:()=>b.O7().nullable()},hn=(e,t)=>({name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength(),regex:b.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test(o){return new RegExp(o)!==null}}).nullable()}),bn={name:"isMinSuperiorThanMax",message:(0,d.Z)("error.validation.minSupMax"),test(e){if(!e)return!0;const{max:t}=this.parent;return!t||Number.isNaN((0,D.toNumber)(e))?!0:(0,D.toNumber)(t)>=(0,D.toNumber)(e)}},vn={date(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},datetime(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},time(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},default(e,t){const n={name:y.name(e,t),type:y.type()};return b.Ry(n)},biginteger(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().nullable().matches(/^-?\d*$/),unique:y.unique(),required:y.required(),max:b.Z_().nullable().matches(/^-?\d*$/,R.translatedErrors.regex),min:b.Z_().nullable().test(bn).matches(/^-?\d*$/,R.translatedErrors.regex)};return b.Ry(n)},boolean(e,t){const n={name:y.name(e,t),default:b.O7().nullable(),required:y.required(),unique:y.unique()};return b.Ry(n)},component(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min(),component:b.Z_().required(R.translatedErrors.required)};return b.Ry(n)},decimal(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx(),required:y.required(),max:b.Rx(),min:b.Rx().test(bn)};return b.Ry(n)},dynamiczone(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},email(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Z_().email().nullable(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},enumeration(e,t){const n=/^[_A-Za-z][_0-9A-Za-z]*$/,o={name:b.Z_().test(Za(e)).test(yn(t)).matches(n,R.translatedErrors.regex).required(R.translatedErrors.required),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),enum:b.IX().of(b.Z_()).min(1,R.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!_s()(s.map(fn).filter((u,c,m)=>m.indexOf(u)!==c)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(fn).some(l=>l==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(fn).every(l=>n.test(l))}),enumName:b.Z_().nullable()};return b.Ry(o)},float(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),default:b.Rx(),max:b.Rx(),min:b.Rx().test(bn)};return b.Ry(n)},integer(e,t){const n={name:y.name(e,t),type:y.type(),default:b.Rx().integer(),unique:y.unique(),required:y.required(),max:y.max(),min:y.min()};return b.Ry(n)},json(e,t){const n={name:y.name(e,t),type:y.type(),required:y.required(),unique:y.unique()};return b.Ry(n)},media(e,t){const n={name:y.name(e,t),type:y.type(),multiple:b.O7(),required:y.required(),allowedTypes:b.IX().of(b.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return b.Ry(n)},password(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},relation(e,t,n,{initialData:o,modifiedData:s}){const l={name:y.name(e,t),target:b.Z_().required(R.translatedErrors.required),relation:b.Z_().required(),type:b.Z_().required(),targetAttribute:b.Vo(()=>{const u=(0,Jt.Z)(s.relation,s.targetAttribute);if(u==="oneWay"||u==="manyWay")return b.Z_().nullable();let c=b.Z_().test(yn(t)),g=[...n.map(({name:f})=>f),s.name].filter(f=>f!==o.targetAttribute);return c.matches(Na,R.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test(f){return f?!g.includes(f):!1}}).required(R.translatedErrors.required)})};return b.Ry(l)},richtext(e,t){const n={name:y.name(e,t),type:y.type(),default:y.default(),unique:y.unique(),required:y.required(),maxLength:y.maxLength(),minLength:y.minLength()};return b.Ry(n)},string(e,t){const n=hn(e,t);return b.Ry(n)},text(e,t){const n=hn(e,t);return b.Ry(n)},uid(e,t){const n=hn(e,t);return b.Ry(n)}},Ia={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}},Tn={advanced:{default(){return{sections:[{sectionTitle:{id:(0,d.Z)("form.contentType.divider.draft-publish"),defaultMessage:"Draft/Publish"},items:[{intlLabel:{id:(0,d.Z)("contentType.draftAndPublish.label"),defaultMessage:"Draft/publish system"},description:{id:(0,d.Z)("contentType.draftAndPublish.description"),defaultMessage:"Write a draft version of each entry before publishing it"},name:"draftAndPublish",type:"toggle-draft-publish",validations:{}}]}]}}},base:{create(){return{sections:[{sectionTitle:null,items:[Ia,{description:{id:(0,d.Z)("contentType.apiId-singular.description"),defaultMessage:"Used to generate the API routes and databases tables/collections"},intlLabel:{id:(0,d.Z)("contentType.apiId-singular.label"),defaultMessage:"API ID (Singular)"},name:"singularName",type:"text-singular"},{type:"pushRight",size:6,intlLabel:{id:"",defaultMessage:""},name:"pushRight"},{description:{id:(0,d.Z)("contentType.apiId-plural.description"),defaultMessage:"Pluralized API ID"},intlLabel:{id:(0,d.Z)("contentType.apiId-plural.label"),defaultMessage:"API ID (Plural)"},name:"pluralName",type:"text-plural"}]}]}},edit(){return{sections:[{sectionTitle:null,items:[Ia,{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"}]}]}]}}}},Gs=(e,t,n,o)=>{const s={displayName:b.Z_().test({name:"nameAlreadyUsed",message:R.translatedErrors.unique,test(l){if(!l)return!1;const u=(0,Je.E)(l);return!e.includes(u)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(l){return l?!t.includes((0,D.toLower)((0,D.trim)(l))):!1}}).required(R.translatedErrors.required),pluralName:b.Z_().test({name:"pluralNameAlreadyUsed",message:R.translatedErrors.unique,test(l){return l?!o.includes(l):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test(l,u){return l?u.parent.singularName!==l:!1}}).required(R.translatedErrors.required),singularName:b.Z_().test({name:"singularNameAlreadyUsed",message:R.translatedErrors.unique,test(l){return l?!n.includes(l):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test(l,u){return l?u.parent.pluralName!==l:!1}}).required(R.translatedErrors.required),draftAndPublish:b.O7(),kind:b.Z_().oneOf(["singleType","collectionType"])};return b.Ry(s)},En={advanced:{default(){return{sections:Qe.advanced("componentToCreate.")}}},base:{createComponent(){return{sections:[{sectionTitle:null,items:[mn]},...Qe.base("componentToCreate.")]}},default(){return{sections:[{sectionTitle:null,items:[mn]},{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}]}]}}}},wa=(e,t)=>{e.forEach(n=>{if(!He()(n,"sectionTitle")){t[0].items.push(n);return}t.push(n)})},La=(e,t)=>e.filter(({name:n})=>n!==t.initialData.name).map(({name:n})=>n);var Ba=i(98399),Ks=Object.defineProperty,Hs=Object.defineProperties,Xs=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,ka=Object.prototype.hasOwnProperty,qa=Object.prototype.propertyIsEnumerable,ja=(e,t,n)=>t in e?Ks(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cn=(e,t)=>{for(var n in t||(t={}))ka.call(t,n)&&ja(e,n,t[n]);if(Et)for(var n of Et(t))qa.call(t,n)&&ja(e,n,t[n]);return e},Ys=(e,t)=>Hs(e,Xs(t)),Mn=(e,t)=>{var n={};for(var o in e)ka.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Et)for(var o of Et(e))t.indexOf(o)<0&&qa.call(e,o)&&(n[o]=e[o]);return n};const Be={customField:{schema({schemaAttributes:e,attributeType:t,customFieldValidator:n,reservedNames:o,schemaData:s,ctbFormsAPI:l}){const u=La(e,s),c=vn[t](u,o.attributes);return l.makeCustomFieldValidator(c,n,u,o.attributes,s)},form:{base({customField:e}){var t;const n=[{sectionTitle:null,items:[Ae]}];return(t=e.options)!=null&&t.base&&wa(e.options.base,n),{sections:n}},advanced(e){var t=e,{customField:n,data:o,step:s,extensions:l}=t,u=Mn(t,["customField","data","step","extensions"]),c;const m=[{sectionTitle:null,items:[]}],g=l.getAdvancedForm(["attribute",n.type],Cn({data:o,type:n.type,step:s},u));if((c=n.options)!=null&&c.advanced&&wa(n.options.advanced,m),g){const f={sectionTitle:{id:(0,d.Z)("modalForm.custom-fields.advanced.settings.extended"),defaultMessage:"Extended settings"},items:g};m.push(f)}return{sections:m}}}},attribute:{schema(e,t,n,o,s,l){const u=Z()(e,["schema","attributes"],[]),c=La(u,s);try{let m=vn[t](c,n.attributes,o,s);return l.makeValidator(["attribute",t],m,c,n.attributes,o,s)}catch(m){return Ba.error("Error yup build schema",m),vn.default(c,n.attributes)}},form:{advanced(e){var t=e,{data:n,type:o,step:s,extensions:l}=t,u=Mn(t,["data","type","step","extensions"]);try{const c=Da.advanced[o](n,s).sections,m=l.getAdvancedForm(["attribute",o],Cn({data:n,type:o,step:s},u));return{sections:c.reduce((f,p)=>(p.sectionTitle===null?f.push(p):f.push(Ys(Cn({},p),{items:[...p.items,...m]})),f),[])}}catch(c){return Ba.error(c),{sections:[]}}},base({data:e,type:t,step:n,attributes:o}){try{return Da.base[t](e,n,o)}catch(s){return Ws}}}},contentType:{schema(e,t,n,o,s,l){const u=Object.values(l).map(h=>h.schema.singularName),c=Object.values(l).map(h=>h.schema.pluralNames),m=t?e.filter(h=>h!==n):e,g=t?u.filter(h=>Z()(l,[n,"schema","singularName"],"")!==h):u,f=t?c.filter(h=>Z()(l,[n,"schema","pluralName"],"")!==h):c,p=Gs(m,o.models,g,f);return s.makeValidator(["contentType"],p,m,o.models,g,f)},form:{base({actionType:e}){return e==="create"?Tn.base.create():Tn.base.edit()},advanced(e){var t=e,{extensions:n}=t,o=Mn(t,["extensions"]);const s=Tn.advanced.default(o).sections,l=n.getAdvancedForm(["contentType"]);return{sections:[...s,{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:l}]}}}},component:{schema(e,t,n,o=!1,s=null){const l=o?e.filter(u=>u!==s):e;return Ss(l,n.models,t)},form:{advanced(){return{sections:Qe.advanced()}},base(){return{sections:Qe.base()}}}},addComponentToDynamicZone:{form:{advanced(){return En.advanced.default()},base({data:e}){return Z()(e,"createComponent",!1)?En.base.createComponent():En.base.default()}}},editCategory:{schema(e,t){const n=e.filter(o=>o!==t.name).map(o=>_e()(o));return xs(n)},form:{advanced:()=>({sections:[]}),base(){return Rs.base}}}};var Ua=i(12463),Js=i(25061);const Qs=()=>e=>e[`${Y.Z}_formModal`]||Js.E,ei=()=>(0,Ua.P1)(Qs(),e=>e);var Wa=i(98399),ti=Object.defineProperty,ni=Object.defineProperties,ai=Object.getOwnPropertyDescriptors,Ct=Object.getOwnPropertySymbols,$a=Object.prototype.hasOwnProperty,_a=Object.prototype.propertyIsEnumerable,za=(e,t,n)=>t in e?ti(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,et=(e,t)=>{for(var n in t||(t={}))$a.call(t,n)&&za(e,n,t[n]);if(Ct)for(var n of Ct(t))_a.call(t,n)&&za(e,n,t[n]);return e},Mt=(e,t)=>ni(e,ai(t)),Ot=(e,t)=>{var n={};for(var o in e)$a.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ct)for(var o of Ct(e))t.indexOf(o)<0&&_a.call(e,o)&&(n[o]=e[o]);return n},Va=(e,t,n)=>new Promise((o,s)=>{var l=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(l,u);c((n=n.apply(e,t)).next())});const ri=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:t,onNavigateToAddCompoToDZModal:n,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:l,attributeType:u,customFieldUid:c,categoryName:m,dynamicZoneTarget:g,forTarget:f,modalType:p,isOpen:h,kind:E,step:M,targetUid:A}=(0,$e.Z)(),w=(0,R.useCustomFields)().get(c),S=(0,a.useRef)(),C=(0,a.useMemo)(ei,[]),v=(0,ve.useDispatch)(),z=(0,R.useNotification)(),B=(0,ve.useSelector)(G=>C(G),ve.shallowEqual),{push:ee}=(0,U.useHistory)(),{trackUsage:N}=(0,R.useTracking)(),{formatMessage:X}=(0,I.useIntl)(),{getPlugin:fe}=(0,R.useStrapiApp)(),ue=fe(Y.Z).apis.forms,he=ue.components.inputs,{addAttribute:Fe,addCustomFieldAttribute:nt,addCreatedComponentToDynamicZone:j,allComponentsCategories:O,changeDynamicZoneComponents:Fn,contentTypes:at,components:pt,createSchema:rt,deleteCategory:Dn,deleteData:Pt,editCategory:Nn,editCustomFieldAttribute:Zn,submitData:In,modifiedData:ce,nestedComponents:wn,setModifiedData:Rt,sortedContentTypesList:Ln,updateSchema:Bn,reservedNames:ke}=(0,ie.Z)(),{componentToCreate:qe,formErrors:Ze,initialData:P,isCreatingComponentWhileAddingAField:F,modifiedData:T}=B,L=f==="contentType"||f==="component"?[f]:[f,A];(0,a.useEffect)(()=>{if(h){const G=Ln.filter(ft);p==="editCategory"&&Rt(),s==="edit"&&p==="attribute"&&f==="contentType"&&N("willEditFieldOfContentType");const de=[...L,"schema","attributes"],We=sn(Z()(ce,de,[]),g)||null;if(p==="editCategory"&&s==="edit"&&v({type:Q._H,modalType:p,actionType:s,data:{name:m}}),p==="contentType"&&s==="create"&&v({type:Q._H,modalType:p,actionType:s,data:{draftAndPublish:!0},pluginOptions:{}}),p==="contentType"&&s==="edit"){const{displayName:$,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Pe}=Z()(ce,[...L,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});v({type:Q._H,actionType:s,modalType:p,data:{displayName:$,draftAndPublish:te,kind:K,pluginOptions:be,pluralName:Ee,singularName:Pe}})}if(p==="component"&&s==="edit"){const $=Z()(ce,L,{});v({type:Q._H,actionType:s,modalType:p,data:{displayName:$.schema.displayName,category:$.category,icon:$.schema.icon}})}if(p==="addComponentToDynamicZone"&&s==="edit"){const $=Mt(et({},We),{components:[],name:g,createComponent:!1,componentToCreate:{type:"component"}});v({type:Q.VZ,attributeToEdit:$})}if(u){const $=sn(Z()(ce,de,[]),l),te=Mt(et({},$),{name:l});u==="component"&&s==="edit"&&(te.repeatable||Bt()(te,"repeatable",!1)),v({type:Q.S0,attributeType:u,nameToSetForRelation:Z()(G,["0","title"],"error"),targetUid:Z()(G,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:te,step:M,forTarget:f})}}else v({type:Q.c2})},[s,l,u,m,g,f,h,p]);const oe=p==="contentType",Ie=p==="component",Oe=p==="attribute",ot=p==="customField",Ge=u==="component"&&Oe,je=s==="create",Ue=Z()(T,"createComponent",!1)||F,st=M==="1",gr=p==="editCategory",fr=p==="chooseAttribute",kn=(0,Je.E)(T.displayName||""),yr=Z()(ce,[...L,"schema","attributes"],null),ll=()=>Va(void 0,null,function*(){var G;let de;const We=Ue&&M==="1"?Z()(T,"componentToCreate",{}):T;if(oe)de=Be.contentType.schema(Object.keys(at),s==="edit",Z()(ce,[...L,"uid"],null),ke,ue,at);else if(Ie)de=Be.component.schema(Object.keys(pt),T.category||"",ke,s==="edit",Z()(ce,[...L,"uid"],null),ue);else if(ot)de=Be.customField.schema({schemaAttributes:Z()(ce,[...L,"schema","attributes"],[]),attributeType:w.type,reservedNames:ke,schemaData:{modifiedData:T,initialData:P},ctbFormsAPI:ue,customFieldValidator:(G=w.options)==null?void 0:G.validator});else if(Ge&&Ue&&st)de=Be.component.schema(Object.keys(pt),Z()(T,"componentToCreate.category",""),ke,ue);else if(Oe&&!st){const $=u==="relation"?"relation":T.type;let te=[];if($==="relation"){const K=Z()(T,["target"],null);te=Z()(at,[K,"schema","attributes"],[]).filter(({name:Ee})=>s!=="edit"?!0:Ee!==P.targetAttribute)}de=Be.attribute.schema(Z()(ce,L,{}),$,ke,te,{modifiedData:T,initialData:P},ue)}else if(gr)de=Be.editCategory.schema(O,P,ue);else if(st&&Ue)de=Be.component.schema(Object.keys(pt),Z()(T,"componentToCreate.category",""),ke,ue);else return;yield de.validate(We,{abortEarly:!1})}),hr=(0,a.useCallback)(G=>{var{target:de}=G,We=de,{name:$,value:te,type:K}=We,be=Ot(We,["name","value","type"]);const Ee=["enumName","max","min","maxLength","minLength","regex","default"];let Pe;Ee.includes($)&&te===""?Pe=null:Pe=te;const Re=Object.assign({},Ze);$==="max"&&delete Re.min,$==="maxLength"&&delete Re.minLength,delete Re[$],v({type:Q.Ey,errors:Re}),v(et({type:Q.P0,keys:$.split("."),value:Pe},be))},[v,Ze]),Te=(G,...de)=>Va(void 0,[G,...de],function*(We,$=je){We.preventDefault();try{yield ll(),cl($);const te=f==="components"?A:kn;if(oe)if(je)rt(Mt(et({},T),{kind:E}),p,kn),ee({pathname:`/plugins/${Y.Z}/content-types/${kn}`}),t({forTarget:f,targetUid:te});else{Os(ce,T)?(e(),In(T)):z({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(p==="component")if(je){const K=(0,Je.N)(T.displayName,T.category),be=T,{category:Ee}=be,Pe=Ot(be,["category"]);rt(Pe,"component",K,Ee),ee({pathname:`/plugins/${Y.Z}/component-categories/${Ee}/${K}`}),t({forTarget:f,targetUid:K})}else{Bn(T,p,A),e();return}else if(gr){if(_e()(P.name)===_e()(T.name)){e();return}Nn(P.name,T);return}else if(ot){const K={attributeToSet:Mt(et({},T),{customField:c,type:w.type}),forTarget:f,targetUid:A,initialAttribute:P};s==="edit"?Zn(K):nt(K),$?t({forTarget:f,targetUid:te}):e();return}else if(Oe&&!Ue){if(u==="dynamiczone"){Fe(T,f,A,s==="edit",P),je?(v({type:Q.I}),S.current._handlers.setSelectedTabIndex(0),n({dynamicZoneTarget:T.name})):e();return}if(!Ge){Fe(T,f,A,s==="edit",P),$?t({forTarget:f,targetUid:te}):e();return}if(st){o(),v({type:Q.yC,forTarget:f});return}Fe(T,f,A,s==="edit",P,!0),$?t({forTarget:f,targetUid:A}):e()}else if(Oe&&Ue){if(st){N("willCreateComponentFromAttributesModal"),v({type:Q.oF,forTarget:f}),o();return}const K=qe,{category:be,type:Ee}=K,Pe=Ot(K,["category","type"]),Re=(0,Je.N)(qe.displayName,be);rt(Pe,Ee,Re,be,Ue),Fe(T,f,A,!1),v({type:Q.c2}),$?t({forTarget:"components",targetUid:Re}):e();return}else{if(st)if(Ue){const K=T.componentToCreate,{category:be,type:Ee}=K,Pe=Ot(K,["category","type"]),Re=(0,Je.N)(T.componentToCreate.displayName,be);rt(Pe,Ee,Re,be,Ue),j(g,[Re]),t({forTarget:"components",targetUid:Re})}else Fn(g,T.components),e();else Wa.error("This case is not handled");return}v({type:Q.c2})}catch(te){const K=(0,R.getYupInnerErrors)(te);Wa.log({err:te,errors:K}),v({type:Q.Ey,errors:K})}}),br=()=>{e(),v({type:Q.c2})},ul=G=>{if(G==="advanced"){if(oe){N("didSelectContentTypeSettings");return}f==="contentType"&&N("didSelectContentTypeFieldSettings")}},cl=G=>{p==="attribute"&&f==="contentType"&&u!=="dynamiczone"&&G&&N("willAddMoreFieldToContentType")},dl=()=>!!(p==="editCategory"||p==="component"||He()(T,"createComponent")),ml=Ps(f,A,wn);if(!h||!p)return null;const vr=Z()(Be,[p,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),pl=f==="components"||f==="component",Tr={customInputs:et({"allowed-types-select":gt,"boolean-radio-group":so,"checkbox-with-number-field":go,"component-icon-picker":Fo,"content-type-radio-group":Eo,"radio-group":Gt,relation:Yo,"select-category":as,"select-component":rs,"select-components":os,"select-default-boolean":Yr,"select-number":is,"select-date":ss,"toggle-draft-publish":Wr,"text-plural":ns,"text-singular":ms,"textarea-enum":Ms},he),componentToCreate:qe,dynamicZoneTarget:g,formErrors:Ze,isAddingAComponentToAnotherComponent:pl,isCreatingComponentWhileAddingAField:F,mainBoxHeader:Z()(ce,[...L,"schema","displayName"],""),modifiedData:T,naturePickerType:f,isCreating:je,targetUid:A,forTarget:f},Er=vr.advanced({data:T,type:u,step:M,actionType:s,attributes:yr,extensions:ue,forTarget:f,contentTypeSchema:ce.contentType||{},customField:w}).sections,Cr=vr.base({data:T,type:u,step:M,actionType:s,attributes:yr,extensions:ue,forTarget:f,contentTypeSchema:ce.contentType||{},customField:w}).sections,gl=Pa(Cr),fl=Pa(Er),yl=Object.keys(Ze).some(G=>gl.includes(G)),hl=Object.keys(Ze).some(G=>fl.includes(G)),bl=Z()(at,[A,"schema","kind"]);return a.createElement(Ne.ModalLayout,{onClose:br,labelledBy:"title"},a.createElement($r,{actionType:s,attributeName:l,categoryName:m,contentTypeKind:E,dynamicZoneTarget:g,modalType:p,forTarget:f,targetUid:A,attributeType:u,customFieldUid:c}),fr&&a.createElement(Ir,{attributes:ml,forTarget:f,kind:bl||"collectionType"}),!fr&&a.createElement("form",{onSubmit:Te},a.createElement(Ne.ModalBody,null,a.createElement(ne.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:S,onTabChange:G=>{G===1&&ul("advanced")}},a.createElement(_.Flex,{justifyContent:"space-between"},a.createElement(Vr,{actionType:s,forTarget:f,kind:E,step:M,modalType:p,attributeType:u,attributeName:l,customField:w}),a.createElement(ne.Tabs,null,a.createElement(ne.Tab,{hasError:yl},X({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),a.createElement(ne.Tab,{hasError:hl,disabled:dl()},X({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),a.createElement(lt.Divider,null),a.createElement(k.Box,{paddingTop:6},a.createElement(ne.TabPanels,null,a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Ea,{form:Cr,formErrors:Ze,genericInputProps:Tr,modifiedData:T,onChange:hr}))),a.createElement(ne.TabPanel,null,a.createElement(se.Stack,{spacing:6},a.createElement(Ea,{form:Er,formErrors:Ze,genericInputProps:Tr,modifiedData:T,onChange:hr}))))))),a.createElement(Ne.ModalFooter,{endActions:a.createElement(_r,{deleteCategory:Dn,deleteContentType:Pt,deleteComponent:Pt,categoryName:P.name,isAttributeModal:p==="attribute",isCustomFieldModal:p==="customField",isComponentToDzModal:p==="addComponentToDynamicZone",isComponentAttribute:u==="component",isComponentModal:p==="component",isContentTypeModal:p==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:T.createComponent||!1,isCreatingComponentInDz:T.createComponent||!1,isCreatingComponentWhileAddingAField:F,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:u==="dynamiczone",isEditingCategory:p==="editCategory",isInFirstComponentStep:M==="1",onSubmitAddComponentAttribute:Te,onSubmitAddComponentToDz:Te,onSubmitCreateComponent:Te,onSubmitCreateContentType:Te,onSubmitCreateDz:Te,onSubmitEditAttribute:Te,onSubmitEditCategory:Te,onSubmitEditComponent:Te,onSubmitEditContentType:Te,onSubmitEditCustomFieldAttribute:Te,onSubmitEditDz:Te}),startActions:a.createElement(W.Button,{variant:"tertiary",onClick:br},X({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))})))},Ga=e=>e.reduce((t,n)=>(t[n.uid]=n,t),{}),oi=(e,t,n,o)=>{const s=t.reduce((c,m)=>{const g=Z()(n,m,{});return c[m]=g,c},{});return{[o?"contentType":"component"]:e,components:s}},si=(e,t)=>{const n=Object.keys(e).map(o=>(0,D.get)(e,[o,...t],""));return(0,De.Z)(n)};var ii=i(13339);const li=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=(0,D.get)(e,[o,"schema","attributes"],[]),l=ui(s);return[...n,...l]},[]);return(0,De.Z)(t)},ui=e=>e.reduce((t,n)=>{const{type:o,component:s}=n;return o==="component"&&t.push(s),t},[]),Ka=li,ci=e=>{const t=Object.keys(e).reduce((n,o)=>{const s=Z()(e,[o],{}),l=s.uid;return di(s)&&n.push(l),n},[]);return(0,De.Z)(t)},di=e=>Z()(e,["schema","attributes"],[]).some(n=>{const{type:o}=n;return o==="component"});var Ha=Object.getOwnPropertySymbols,mi=Object.prototype.hasOwnProperty,pi=Object.prototype.propertyIsEnumerable,gi=(e,t)=>{var n={};for(var o in e)mi.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Ha)for(var o of Ha(e))t.indexOf(o)<0&&pi.call(e,o)&&(n[o]=e[o]);return n};const fi=(e,t)=>{const n=Object.keys(e).filter(o=>{const s=(0,D.get)(e,o,{}),l=(0,D.get)(t,o,{}),u=(0,D.get)(s,["isTemporary"],!1),c=!(0,D.isEqual)(s,l);return u||c});return(0,De.Z)(n)},yi=(e,t)=>{const n=Ya((0,D.get)(e,"schema.attributes",[]),t),o=(0,D.get)(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},(0,D.omit)(e.schema,"attributes"),{attributes:n})},Xa=(e,t=!1)=>{const n=(0,D.get)(e,"uid",null),o=Ya((0,D.get)(e,"schema.attributes",[]),n),s=t?{category:(0,D.get)(e,"category","")}:{},l=Object.assign(s,(0,D.omit)(e.schema,"attributes"),{attributes:o});return delete l.uid,delete l.isTemporary,delete l.visible,delete l.restrictRelationsTo,l},Ya=(e,t)=>e.reduce((n,o)=>{var s=o,{name:l}=s,u=gi(s,["name"]);const c=u,m=c.target===t,g=c.type==="relation",f=(0,D.get)(c,"targetAttribute",null);if(!m)if(g){const p=Object.assign({},c,{targetAttribute:Ja(f)});n[l]=On(p)}else n[l]=On(c);if(m){const p=c.target,h=Object.assign({},c,{target:p,targetAttribute:Ja(f)});n[l]=On(h)}return n},{}),Ja=e=>e==="-"?null:e,On=e=>Object.keys(e).reduce((t,n)=>(e[n]!==null&&n!=="plugin"&&(t[n]=e[n]),t),{}),hi=(e,t,n,o=!1)=>fi(e,t).map(u=>{const c=(0,D.get)(e,u,{});return yi(c,n,o)}),bi=e=>(0,D.sortBy)(Object.keys(e).map(t=>({visible:e[t].schema.visible,name:t,title:e[t].schema.displayName,plugin:e[t].plugin||null,uid:t,to:`/plugins/${Y.Z}/content-types/${t}`,kind:e[t].schema.kind,restrictRelationsTo:e[t].schema.restrictRelationsTo})).filter(t=>t!==null),t=>(0,D.camelCase)(t.title)),Qa="did-not-kill-server",vi="server is down";function dt(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(vi);if(!t)throw new Error(Qa);n(e)}).catch(o=>{setTimeout(()=>dt(e,o.message!==Qa).then(n),100)})})}const Ti=e=>Object.values(e.attributes).filter(({type:n})=>n==="dynamiczone").every(({components:n})=>Array.isArray(n)&&n.length>0);var ae=i(31947),Ei=i(54370);const Ci=()=>e=>e[`${Y.Z}_dataManagerProvider`]||Ei.E,Mi=()=>(0,Ua.P1)(Ci(),e=>e);var Oi=Object.defineProperty,Pi=Object.defineProperties,Ri=Object.getOwnPropertyDescriptors,er=Object.getOwnPropertySymbols,xi=Object.prototype.hasOwnProperty,Si=Object.prototype.propertyIsEnumerable,tr=(e,t,n)=>t in e?Oi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pn=(e,t)=>{for(var n in t||(t={}))xi.call(t,n)&&tr(e,n,t[n]);if(er)for(var n of er(t))Si.call(t,n)&&tr(e,n,t[n]);return e},Rn=(e,t)=>Pi(e,Ri(t));const Ai=e=>Object.keys(e).reduce((t,n)=>{const o=e[n].schema;return t[n]=Rn(Pn({},e[n]),{schema:Rn(Pn({},o),{attributes:Fi(o.attributes)})}),t},{}),Fi=e=>Object.keys(e).reduce((t,n)=>(t.push(Rn(Pn({},e[n]),{name:n})),t),[]),nr=Ai;var mt=i(98399),Di=Object.defineProperty,ar=Object.getOwnPropertySymbols,Ni=Object.prototype.hasOwnProperty,Zi=Object.prototype.propertyIsEnumerable,rr=(e,t,n)=>t in e?Di(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,or=(e,t)=>{for(var n in t||(t={}))Ni.call(t,n)&&rr(e,n,t[n]);if(ar)for(var n of ar(t))Zi.call(t,n)&&rr(e,n,t[n]);return e},tt=(e,t,n)=>new Promise((o,s)=>{var l=m=>{try{c(n.next(m))}catch(g){s(g)}},u=m=>{try{c(n.throw(m))}catch(g){s(g)}},c=m=>m.done?o(m.value):Promise.resolve(m.value).then(l,u);c((n=n.apply(e,t)).next())});const xn=({allIcons:e,children:t,components:n,contentTypes:o,isLoading:s,isLoadingForDataToBeSet:l,initialData:u,modifiedData:c,reservedNames:m})=>{const g=(0,ve.useDispatch)(),f=(0,R.useNotification)(),{lockAppWithAutoreload:p,unlockAppWithAutoreload:h}=(0,R.useAutoReloadOverlayBlocker)(),{setCurrentStep:E}=(0,R.useGuidedTour)(),{getPlugin:M}=(0,R.useStrapiApp)(),{apis:A}=M(Y.Z),{autoReload:w}=(0,R.useAppInfos)(),{formatMessage:S}=(0,I.useIntl)(),{trackUsage:C}=(0,R.useTracking)(),{refetchPermissions:v}=(0,R.useRBACProvider)(),{pathname:z}=(0,U.useLocation)(),{onCloseModal:B}=(0,$e.Z)(),ee=(0,U.useRouteMatch)(`/plugins/${Y.Z}/content-types/:uid`),N=(0,U.useRouteMatch)(`/plugins/${Y.Z}/component-categories/:categoryUid/:componentUid`),X=(0,a.useRef)();X.current=S;const fe=w,re=ee!==null,ue=re?"contentType":"component",he=re?(0,D.get)(ee,"params.uid",null):(0,D.get)(N,"params.componentUid",null),Fe=(0,a.useRef)(),nt=re?"content-types":"components";Fe.current=()=>tt(void 0,null,function*(){try{const[{data:{data:P}},{data:{data:F}},{data:T}]=yield Promise.all(["components","content-types","reserved-names"].map(ot=>we.get(ot))),L=Ga(P),oe=nr(L),Ie=Ga(F),Oe=nr(Ie);g({type:ae.Id,components:oe,contentTypes:Oe,reservedNames:T})}catch(P){mt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}}),(0,a.useEffect)(()=>(Fe.current(),()=>{g({type:ae.Zl})}),[]),(0,a.useEffect)(()=>{!s&&he&&Rt()},[s,z,he]),(0,a.useEffect)(()=>{w||f({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[w,f]);const j=(P,F,T,L=!1,oe,Ie=!1)=>{const Oe=L?ae.JO:ae.gz;g({type:Oe,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:oe,shouldAddComponentToData:Ie})},O=({attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})=>{g({type:ae.Ir,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})},Fn=({attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})=>{g({type:ae.Ly,attributeToSet:P,forTarget:F,targetUid:T,initialAttribute:L})},at=(P,F)=>{g({type:ae.Uu,dynamicZoneTarget:P,componentsToAdd:F})},pt=(P,F,T,L,oe=!1)=>{const Ie=F==="contentType"?ae.Sh:ae.VR;g({type:Ie,data:P,componentCategory:L,schemaType:F,uid:T,shouldAddComponentToData:oe})},rt=(P,F)=>{g({type:ae.o_,dynamicZoneTarget:P,newComponents:F})},Dn=(P,F,T="")=>{const L=P==="components"?ae.lw:ae.ai;P==="contentType"&&C("willDeleteFieldOfContentType"),g({type:L,mainDataKey:P,attributeToRemoveName:F,componentUid:T})},Pt=P=>tt(void 0,null,function*(){try{const F=`/component-categories/${P}`,T=window.confirm(S({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));B(),T&&(p(),yield we.delete(F),yield dt(!0),yield h(),yield qe())}catch(F){mt.error({err:F}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),Nn=()=>tt(void 0,null,function*(){try{const P=`/${nt}/${he}`,F=(0,D.get)(c,[ue,"isTemporary"],!1),T=window.confirm(S({id:(0,d.Z)(`popUpWarning.bodyMessage.${re?"contentType":"component"}.delete`)}));if(B(),T){if(F){g({type:ae.Ap});return}p(),yield we.delete(P),yield dt(!0),yield h(),yield qe()}}catch(P){mt.error({err:P}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),Zn=(P,F)=>tt(void 0,null,function*(){try{const T=`/component-categories/${P}`;B(),p(),yield we({url:T,method:"PUT",data:F}),yield dt(!0),yield h(),yield qe()}catch(T){mt.error({err:T}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),In=()=>{const P=Object.assign({},n,c.components);if(!re){const T=(0,D.get)(c,"component",{});(0,D.set)(P,(0,D.get)(T,["uid"],""),T)}const F=ci(P);return(0,De.Z)(F)},ce=()=>{const P=Ka(n),F=Ka(c.components||{});return(0,De.Z)([...F,...P])},wn=(P,F)=>{g({type:ae.NG,dzName:P,componentToRemoveIndex:F})},Rt=()=>{const P=re?o:n,F=(0,D.get)(P,he,{schema:{attributes:[]}}),T=(0,ii.Z)(F.schema.attributes,n),L=oi(F,T,n,re),oe=(0,D.get)(F,"isTemporary",!1)&&(0,D.size)((0,D.get)(F,"schema.attributes",[]))===0;g({type:ae.xx,schemaToSet:L,hasJustCreatedSchema:oe})},Ln=(0,a.useMemo)(()=>{const P=re?o:n;return he==="create-content-type"?!1:!Object.keys(P).includes(he)&&!s},[n,o,he,re,s]),Bn=(0,a.useMemo)(()=>{const P=Object.keys(o).filter(F=>(0,D.get)(o,[F,"schema","visible"],!0)).sort();return(0,D.get)(P,"0","create-content-type")},[o]);if(Ln)return a.createElement(U.Redirect,{to:`/plugins/${Y.Z}/content-types/${Bn}`});const ke=P=>tt(void 0,null,function*(){var F,T;try{const L=(0,D.get)(c,[ue,"isTemporary"],!1),oe={components:hi(c.components,n,he,L)};if(re){const Ge=A.forms.mutateContentTypeSchema(or(or({},Xa(c.contentType)),P),u.contentType);if(!Ti(Ge)){f({type:"warning",message:{id:(0,d.Z)("notification.error.dynamiczone-min.validation"),defaultMessage:"At least one component is required in a dynamic zone to be able to save a content type"}});return}oe.contentType=Ge,C("willSaveContentType")}else oe.component=Xa(c.component,!0),C("willSaveComponent");const Ie=L?"POST":"PUT",Oe=`/${nt}`,ot=L?Oe:`${Oe}/${he}`;if(p(),yield we({url:ot,method:Ie,data:oe}),yield dt(!0),yield h(),L&&(((F=u.contentType)==null?void 0:F.schema.kind)==="collectionType"||((T=u.contentType)==null?void 0:T.schema.kind)==="singleType")&&E("contentTypeBuilder.success"),re){C("didSaveContentType");const Ge=(0,D.get)(oe,["contentType","schema","name"],""),je=(0,D.get)(u,["contentType","schema","name"],"");!L&&Ge!==je&&C("didEditNameOfContentType")}else C("didSaveComponent");yield qe()}catch(L){re||C("didNotSaveComponent"),mt.error({err:L.response}),f({type:"warning",message:{id:"notification.error"}})}finally{h()}}),qe=()=>tt(void 0,null,function*(){yield v()}),Ze=(P,F,T)=>{g({type:ae.bi,data:P,schemaType:F,uid:T})};return a.createElement(Ft.Z.Provider,{value:{addAttribute:j,addCustomFieldAttribute:O,addCreatedComponentToDynamicZone:at,allComponentsCategories:si(n,["category"]),allIcons:e,changeDynamicZoneComponents:rt,components:n,componentsGroupedByCategory:(0,D.groupBy)(n,"category"),componentsThatHaveOtherComponentInTheirAttributes:In(),contentTypes:o,createSchema:pt,deleteCategory:Pt,deleteData:Nn,editCategory:Zn,editCustomFieldAttribute:Fn,isInDevelopmentMode:fe,initialData:u,isInContentTypeView:re,modifiedData:c,nestedComponents:ce(),removeAttribute:Dn,removeComponentFromDynamicZone:wn,reservedNames:m,setModifiedData:Rt,sortedContentTypesList:bi(o),submitData:ke,updateSchema:Ze}},l?a.createElement(R.LoadingIndicatorPage,null):a.createElement(a.Fragment,null,t,fe&&a.createElement(ri,null)))};xn.defaultProps={components:{}},xn.propTypes={allIcons:r().array.isRequired,children:r().node.isRequired,components:r().object,contentTypes:r().object.isRequired,isLoading:r().bool.isRequired,isLoadingForDataToBeSet:r().bool.isRequired,initialData:r().object.isRequired,modifiedData:r().object.isRequired,reservedNames:r().object.isRequired};const Ii=Mi(),wi=(0,ve.connect)(Ii,null),Li=(0,At.compose)(wi)((0,a.memo)(xn));var Bi=i(51216);const sr={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null,customFieldUid:null};var ki=Object.defineProperty,qi=Object.defineProperties,ji=Object.getOwnPropertyDescriptors,ir=Object.getOwnPropertySymbols,Ui=Object.prototype.hasOwnProperty,Wi=Object.prototype.propertyIsEnumerable,lr=(e,t,n)=>t in e?ki(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ge=(e,t)=>{for(var n in t||(t={}))Ui.call(t,n)&&lr(e,n,t[n]);if(ir)for(var n of ir(t))Wi.call(t,n)&&lr(e,n,t[n]);return e},ye=(e,t)=>qi(e,ji(t));const ur=({children:e})=>{const[t,n]=(0,a.useState)(sr),{trackUsage:o}=(0,R.useTracking)(),s=({attributeType:S,customFieldUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",modalType:"customField",attributeType:S,customFieldUid:C}))},l=({attributeType:S,step:C})=>{t.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:S}),n(v=>ye(ge({},v),{actionType:"create",modalType:"attribute",step:C,attributeType:S}))},u=({dynamicZoneTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{dynamicZoneTarget:S,targetUid:C,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},c=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{actionType:"create",forTarget:S,targetUid:C,modalType:"chooseAttribute",isOpen:!0}))},m=S=>{n(C=>ye(ge(ge({},C),S),{isOpen:!0}))},g=S=>{n(C=>ye(ge({},C),{categoryName:S,actionType:"edit",modalType:"editCategory",isOpen:!0}))},f=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,customFieldUid:B})=>{n(ee=>ye(ge({},ee),{modalType:"customField",customFieldUid:B,actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,isOpen:!0}))},p=({forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B})=>{n(ee=>ye(ge({},ee),{modalType:"attribute",actionType:"edit",forTarget:S,targetUid:C,attributeName:v,attributeType:z,step:B,isOpen:!0}))},h=({modalType:S,forTarget:C,targetUid:v,kind:z})=>{n(B=>ye(ge({},B),{modalType:S,actionType:"edit",forTarget:C,targetUid:v,kind:z,isOpen:!0}))},E=()=>{n(sr)},M=({forTarget:S,targetUid:C})=>{n(v=>ye(ge({},v),{forTarget:S,targetUid:C,modalType:"chooseAttribute"}))},A=()=>{n(S=>ye(ge({},S),{attributeType:"component",modalType:"attribute",step:"2"}))},w=({dynamicZoneTarget:S})=>{n(C=>ye(ge({},C),{dynamicZoneTarget:S,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return a.createElement(Bi.Z.Provider,{value:ye(ge({},t),{onClickSelectField:l,onClickSelectCustomField:s,onCloseModal:E,onNavigateToChooseAttributeModal:M,onNavigateToAddCompoToDZModal:w,onOpenModalAddComponentsToDZ:u,onNavigateToCreateComponentStep2:A,onOpenModalAddField:c,onOpenModalCreateSchema:m,onOpenModalEditCategory:g,onOpenModalEditField:p,onOpenModalEditCustomField:f,onOpenModalEditSchema:h,setFormModalNavigationState:n})},e)};ur.propTypes={children:r().node.isRequired};const $i=ur,_i=(0,a.lazy)(()=>i.e(5905).then(i.bind(i,14515))),zi=()=>{const{url:e}=(0,U.useRouteMatch)(),{categoryUid:t}=(0,U.useParams)();return a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`${e}/:componentUid`},a.createElement(_i,{categoryId:t}))))},Vi=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 Ve=i(89420),Gi=i(74201),Ki=i(86834),Hi=i.n(Ki),Xi=i(98978),cr=i.n(Xi),Yi=i(89793),Ji=i.n(Yi),Qi=i(58469),el=Object.defineProperty,tl=Object.defineProperties,nl=Object.getOwnPropertyDescriptors,dr=Object.getOwnPropertySymbols,al=Object.prototype.hasOwnProperty,rl=Object.prototype.propertyIsEnumerable,mr=(e,t,n)=>t in e?el(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sn=(e,t)=>{for(var n in t||(t={}))al.call(t,n)&&mr(e,n,t[n]);if(dr)for(var n of dr(t))rl.call(t,n)&&mr(e,n,t[n]);return e},An=(e,t)=>tl(e,nl(t));const ol=()=>{const{components:e,componentsGroupedByCategory:t,contentTypes:n,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:l,initialData:u}=(0,ie.Z)(),c=(0,R.useNotification)(),{trackUsage:m}=(0,R.useTracking)(),[g,f]=(0,a.useState)(""),{onOpenModalCreateSchema:p,onOpenModalEditCategory:h}=(0,$e.Z)(),E=cr()(Object.keys(t).map(N=>({name:N,title:N,isEditable:o,onClickEdit(X,fe){X.stopPropagation(),M?h(fe.name):C()},links:cr()(t[N].map(X=>({name:X.uid,to:`/plugins/${Y.Z}/component-categories/${N}/${X.uid}`,title:X.schema.displayName})),X=>X.title)})),N=>N.title),M=!Object.keys(n).some(N=>n[N].isTemporary===!0)&&!Object.keys(e).some(N=>e[N].isTemporary===!0)&&Ji()(l,u),A=()=>{M?(m("willCreateContentType"),p({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):C()},w=()=>{M?(m("willCreateSingleType"),p({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):C()},S=()=>{M?(m("willCreateComponent"),p({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):C()},C=()=>{c({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},v=s.filter(N=>N.visible),z=[{name:"models",title:{id:`${(0,d.Z)("menu.section.models.name")}`,defaultMessage:"Collection Types"},customLink:o&&{id:`${(0,d.Z)("button.model.create")}`,defaultMessage:"Create new collection type",onClick:A},links:v.filter(N=>N.kind==="collectionType")},{name:"singleTypes",title:{id:`${(0,d.Z)("menu.section.single-types.name")}`,defaultMessage:"Single Types"},customLink:o&&{id:`${(0,d.Z)("button.single-types.create")}`,defaultMessage:"Create new single type",onClick:w},links:v.filter(N=>N.kind==="singleType")},{name:"components",title:{id:`${(0,d.Z)("menu.section.components.name")}`,defaultMessage:"Components"},customLink:o&&{id:`${(0,d.Z)("button.component.create")}`,defaultMessage:"Create a new component",onClick:S},links:E}],B=N=>(0,Qi.ZP)(N,_e()(g),{keys:[X=>_e()(X.title)]});return{menu:(()=>z.map(N=>N.links.some(fe=>!Hi()(fe.links))?An(Sn({},N),{links:N.links.map(fe=>An(Sn({},fe),{links:B(fe.links)}))}):An(Sn({},N),{links:B(N.links)})))(),searchValue:g,onSearchChange:f}},sl=()=>{const{menu:e,searchValue:t,onSearchChange:n}=ol(),{formatMessage:o}=(0,I.useIntl)();return a.createElement(Ve.SubNav,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},a.createElement(Ve.SubNavHeader,{searchable:!0,value:t,onClear:()=>n(""),onChange:s=>n(s.target.value),label:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"}),searchLabel:o({id:"global.search",defaultMessage:"Search"})}),a.createElement(Ve.SubNavSections,null,e.map(s=>a.createElement(a.Fragment,{key:s.name},a.createElement(Ve.SubNavSection,{label:o({id:s.title.id,defaultMessage:s.title.defaultMessage}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(l=>l.links?a.createElement(Ve.SubNavLinkSection,{key:l.name,label:Me()(l.title)},l.links.map(u=>a.createElement(Ve.SubNavLink,{as:U.NavLink,to:u.to,active:u.active,key:u.name,isSubSectionChild:!0},Me()(o({id:u.name,defaultMessage:u.title}))))):a.createElement(Ve.SubNavLink,{as:U.NavLink,to:l.to,active:l.active,key:l.name},Me()(o({id:l.name,defaultMessage:l.title}))))),s.customLink&&a.createElement(k.Box,{paddingLeft:7},a.createElement(Gi.TextButton,{onClick:s.customLink.onClick,startIcon:a.createElement(ze(),null),marginTop:2},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage})))))))},pr=(0,a.lazy)(()=>i.e(5905).then(i.bind(i,14515))),il=()=>{const{formatMessage:e}=(0,I.useIntl)(),t=e({id:`${Y.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:n}=(0,R.useGuidedTour)(),o=(0,a.useRef)(n);return(0,a.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),a.createElement(R.CheckPagePermissions,{permissions:xt.Z.main},a.createElement(Ce.Helmet,{title:t}),a.createElement($i,null,a.createElement(Li,{allIcons:Vi},a.createElement(qn.Layout,{sideNav:a.createElement(sl,null)},a.createElement(a.Suspense,{fallback:a.createElement(R.LoadingIndicatorPage,null)},a.createElement(U.Switch,null,a.createElement(U.Route,{path:`/plugins/${Y.Z}/content-types/create-content-type`,component:pr}),a.createElement(U.Route,{path:`/plugins/${Y.Z}/content-types/:uid`,component:pr}),a.createElement(U.Route,{path:`/plugins/${Y.Z}/component-categories/:categoryUid`,component:zi})))))))}},92318:(Ke,me,i)=>{i.d(me,{Z:()=>Ce});var a=i(25158);const Ce=I=>`${a.Z}.${I}`}}]);