@strapi/admin 4.9.0-exp.90df253ba90fd6879eb56a720a1f80d04ff745b8 → 4.10.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/PublicationState.js +26 -0
  2. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/index.js +1 -0
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStage.js +15 -0
  4. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +1 -0
  5. package/admin/src/content-manager/components/DynamicTable/index.js +43 -49
  6. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  7. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  8. package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
  9. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
  10. package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
  11. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
  12. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
  13. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
  14. package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
  15. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
  16. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
  17. package/admin/src/content-manager/pages/EditView/Information/index.js +77 -53
  18. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +13 -0
  19. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +3 -0
  20. package/admin/src/content-manager/pages/EditView/index.js +3 -4
  21. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
  22. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
  23. package/admin/src/content-manager/pages/ListView/index.js +6 -9
  24. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  25. package/admin/src/content-manager/utils/createDefaultForm.js +2 -2
  26. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
  27. package/admin/src/content-manager/utils/getFieldName.js +1 -1
  28. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
  29. package/admin/src/content-manager/utils/paths.js +1 -1
  30. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
  31. package/admin/src/hooks/useRegenerate/index.js +1 -1
  32. package/admin/src/hooks/useSettingsForm/index.js +3 -3
  33. package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
  34. package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
  35. package/admin/src/index.js +1 -0
  36. package/admin/src/pages/AuthPage/reducer.js +1 -1
  37. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +5 -7
  38. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +1 -1
  39. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
  40. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
  41. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
  42. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
  43. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
  44. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
  46. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
  47. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
  48. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  49. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
  50. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
  51. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
  52. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
  53. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +1 -1
  54. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +0 -41
  55. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +4 -6
  56. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +0 -1
  57. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
  58. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
  59. package/admin/src/permissions/index.js +1 -1
  60. package/admin/src/translations/en.json +6 -0
  61. package/admin/src/utils/getAttributesToDisplay.js +2 -4
  62. package/admin/src/utils/getExistingActions.js +1 -3
  63. package/admin/src/utils/sortLinks.js +1 -1
  64. package/build/{8580.b0dcf37c.chunk.js → 2263.4c5916f9.chunk.js} +61 -61
  65. package/build/4649.213b8a3b.chunk.js +30 -0
  66. package/build/6985.66cca29c.chunk.js +1 -0
  67. package/build/7259.aefb51e8.chunk.js +1 -0
  68. package/build/{7112.2bf13da3.chunk.js → 9505.dbe702ab.chunk.js} +6 -6
  69. package/build/{Admin-authenticatedApp.5aa08bf5.chunk.js → Admin-authenticatedApp.f50ad423.chunk.js} +3 -3
  70. package/build/{Admin_marketplace.0f6c8ee2.chunk.js → Admin_marketplace.02608d56.chunk.js} +1 -1
  71. package/build/{Admin_profilePage.d2a8f9ab.chunk.js → Admin_profilePage.76afeca0.chunk.js} +1 -1
  72. package/build/Admin_settingsPage.147755cd.chunk.js +9 -0
  73. package/build/admin-app.55dd7921.chunk.js +112 -0
  74. package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
  75. package/build/admin-edit-users.31c20712.chunk.js +10 -0
  76. package/build/admin-roles-list.489c501f.chunk.js +2 -0
  77. package/build/{admin-users.af8c3123.chunk.js → admin-users.3e111a7d.chunk.js} +1 -1
  78. package/build/{api-tokens-create-page.2a6e22bd.chunk.js → api-tokens-create-page.4328b852.chunk.js} +1 -1
  79. package/build/{api-tokens-edit-page.fa38cd63.chunk.js → api-tokens-edit-page.bce5050f.chunk.js} +1 -1
  80. package/build/content-manager.4480ae88.chunk.js +1137 -0
  81. package/build/content-type-builder-translation-en-json.7961593e.chunk.js +1 -0
  82. package/build/content-type-builder.af9abf1e.chunk.js +126 -0
  83. package/build/en-json.697b4bcf.chunk.js +1 -0
  84. package/build/index.html +1 -1
  85. package/build/main.af8c0f31.js +3790 -0
  86. package/build/review-workflows-settings.7a7dc773.chunk.js +57 -0
  87. package/build/runtime~main.5a95bee6.js +2 -0
  88. package/build/sso-settings-page.272b87c8.chunk.js +1 -0
  89. package/build/{upload-settings.0200561d.chunk.js → upload-settings.0875e973.chunk.js} +1 -1
  90. package/build/upload-translation-fr-json.baab9911.chunk.js +1 -0
  91. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
  92. package/build/{users-email-settings-page.a3c80419.chunk.js → users-email-settings-page.e8db68c4.chunk.js} +1 -1
  93. package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
  94. package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
  95. package/build/{webhook-edit-page.a2a2b7bb.chunk.js → webhook-edit-page.329141a5.chunk.js} +3 -3
  96. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +92 -0
  97. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +3 -0
  98. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  99. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  100. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +195 -0
  101. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  102. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  103. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  104. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  105. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  106. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +92 -0
  107. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  108. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  109. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +35 -0
  110. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  111. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +121 -0
  112. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  113. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  114. package/ee/admin/permissions/customPermissions.js +3 -0
  115. package/ee/server/bootstrap.js +16 -0
  116. package/ee/server/config/admin-actions.js +10 -0
  117. package/ee/server/constants/default-stages.json +14 -0
  118. package/ee/server/constants/default-workflow.json +1 -0
  119. package/ee/server/constants/workflows.js +8 -0
  120. package/ee/server/content-types/index.js +9 -0
  121. package/ee/server/content-types/workflow/index.js +34 -0
  122. package/ee/server/content-types/workflow-stage/index.js +41 -0
  123. package/ee/server/controllers/index.js +2 -0
  124. package/ee/server/controllers/workflows/index.js +36 -0
  125. package/ee/server/controllers/workflows/stages/index.js +95 -0
  126. package/ee/server/index.js +1 -0
  127. package/ee/server/middlewares/review-workflows.js +40 -0
  128. package/ee/server/migrations/review-workflows.js +39 -0
  129. package/ee/server/register.js +7 -0
  130. package/ee/server/routes/index.js +104 -0
  131. package/ee/server/services/index.js +4 -0
  132. package/ee/server/services/review-workflows/entity-service-decorator.js +42 -0
  133. package/ee/server/services/review-workflows/review-workflows.js +175 -0
  134. package/ee/server/services/review-workflows/stages.js +148 -0
  135. package/ee/server/services/review-workflows/workflows.js +25 -0
  136. package/ee/server/utils/index.js +8 -0
  137. package/ee/server/utils/persisted-tables.js +49 -0
  138. package/ee/server/utils/review-workflows.js +25 -0
  139. package/ee/server/utils/test.js +11 -0
  140. package/ee/server/validation/review-workflows.js +24 -0
  141. package/package.json +13 -13
  142. package/server/controllers/transfer/runner.js +2 -4
  143. package/server/routes/transfer.js +4 -13
  144. package/server/services/constants.js +0 -4
  145. package/server/services/permission/permissions-manager/sanitize.js +2 -0
  146. package/server/services/transfer/permission.js +1 -1
  147. package/server/services/transfer/token.js +31 -33
  148. package/server/validation/transfer/token.js +2 -10
  149. package/build/2637.679b590b.chunk.js +0 -1
  150. package/build/5563.451e91ee.chunk.js +0 -30
  151. package/build/7259.7744297b.chunk.js +0 -1
  152. package/build/Admin_settingsPage.489ec4eb.chunk.js +0 -9
  153. package/build/admin-app.4b313104.chunk.js +0 -112
  154. package/build/admin-edit-roles-page.3b196317.chunk.js +0 -216
  155. package/build/admin-edit-users.af3b0f15.chunk.js +0 -10
  156. package/build/admin-roles-list.0ad504a7.chunk.js +0 -2
  157. package/build/content-manager.f530e141.chunk.js +0 -1139
  158. package/build/content-type-builder-translation-en-json.e577d595.chunk.js +0 -1
  159. package/build/content-type-builder.6ecd201d.chunk.js +0 -126
  160. package/build/en-json.01a88a30.chunk.js +0 -1
  161. package/build/main.43b93ff3.js +0 -3843
  162. package/build/runtime~main.a40b1b57.js +0 -2
  163. package/build/sso-settings-page.5a8588ef.chunk.js +0 -1
  164. package/build/upload-translation-fr-json.84429734.chunk.js +0 -1
  165. package/build/users-advanced-settings-page.c0cae03a.chunk.js +0 -1
  166. package/build/users-providers-settings-page.5f86e45c.chunk.js +0 -1
  167. package/build/users-roles-settings-page.b02986df.chunk.js +0 -30
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[931],{20392:function(e){e.exports=JSON.parse(`{"attribute.boolean":"Boolean","attribute.boolean.description":"Yes or no, 1 or 0, true or false","attribute.component":"Component","attribute.component.description":"Group of fields that you can repeat or reuse","attribute.customField":"Custom field","attribute.date":"Date","attribute.date.description":"A date picker with hours, minutes and seconds","attribute.datetime":"Datetime","attribute.dynamiczone":"Dynamic zone","attribute.dynamiczone.description":"Dynamically pick component when editing content","attribute.email":"Email","attribute.email.description":"Email field with validations format","attribute.enumeration":"Enumeration","attribute.enumeration.description":"List of values, then pick one","attribute.json":"JSON","attribute.json.description":"Data in JSON format","attribute.media":"Media","attribute.media.description":"Files like images, videos, etc","attribute.null":" ","attribute.number":"Number","attribute.number.description":"Numbers (integer, float, decimal)","attribute.password":"Password","attribute.password.description":"Password field with encryption","attribute.relation":"Relation","attribute.relation.description":"Refers to a Collection Type","attribute.richtext":"Rich text","attribute.richtext.description":"A rich text editor with formatting options","attribute.text":"Text","attribute.text.description":"Small or long text like title or description","attribute.time":"Time","attribute.timestamp":"Timestamp","attribute.uid":"UID","attribute.uid.description":"Unique identifier","button.attributes.add.another":"Add another field","button.component.add":"Add a component","button.component.create":"Create new component","button.model.create":"Create new collection type","button.single-types.create":"Create new single type","component.repeatable":"(repeatable)","components.SelectComponents.displayed-value":"{number, plural, =0 {# components} one {# component} other {# components}} selected","components.componentSelect.no-component-available":"You have already added all your components","components.componentSelect.no-component-available.with-search":"There is no component matching your search","components.componentSelect.value-component":"{number} component selected (type to search for a component)","components.componentSelect.value-components":"{number} components selected","configurations":"Configurations","contentType.apiId-plural.description":"Pluralized API ID","contentType.apiId-plural.label":"API ID (Plural)","contentType.apiId-singular.description":"The UID is used to generate the API routes and databases tables/collections","contentType.apiId-singular.label":"API ID (Singular)","contentType.collectionName.description":"Useful when the name of your Content Type and your table name differ","contentType.collectionName.label":"Collection name","contentType.displayName.label":"Display name","contentType.draftAndPublish.description":"Allows writing a draft version of an entry, before it is published","contentType.draftAndPublish.label":"Draft & publish","contentType.kind.change.warning":"You just changed the kind of a content type: API will be reset (routes, controllers, and services will be overwritten).","contentType.reviewWorkflows.label":"Review Workflows","contentType.reviewWorkflows.description":"Allows having content in different review stages","error.attributeName.reserved-name":"This name cannot be used in your content type as it might break other functionalities","error.contentType.pluralName-used":"This value cannot be the same as the singular one","error.contentType.singularName-used":"This value cannot be the same as the plural one","error.contentTypeName.reserved-name":"This name cannot be used in your project as it might break other functionalities","error.validation.enum-duplicate":"Duplicate values are not allowed (only alphanumeric characters are taken into account).","error.validation.enum-empty-string":"Empty strings are not allowed","error.validation.enum-regex":"At least one value is invalid. Values should have at least one alphabetical character preceeding the first occurence of a number.","error.validation.minSupMax":"Can't be superior","error.validation.positive":"Must be a positive number","error.validation.regex":"Regex pattern is invalid","error.validation.relation.targetAttribute-taken":"This name exists in the target","form.attribute.component.option.add":"Add a component","form.attribute.component.option.create":"Create a new component","form.attribute.component.option.create.description":"A component is shared across types and components, it will be available and accessible everywhere.","form.attribute.component.option.repeatable":"Repeatable component","form.attribute.component.option.repeatable.description":"Best for multiple instances (array) of ingredients, meta tags, etc..","form.attribute.component.option.reuse-existing":"Use an existing component","form.attribute.component.option.reuse-existing.description":"Reuse a component already created to keep your data consistent across content-types.","form.attribute.component.option.single":"Single component","form.attribute.component.option.single.description":"Best for grouping fields like full address, main information, etc...","form.attribute.item.customColumnName":"Custom column names","form.attribute.item.customColumnName.description":"This is useful to rename database column names in a more comprehensive format for the API's responses","form.attribute.item.date.type.date":"date (ex: 01/01/{currentYear})","form.attribute.item.date.type.datetime":"datetime (ex: 01/01/{currentYear} 00:00 AM)","form.attribute.item.date.type.time":"time (ex: 00:00 AM)","form.attribute.item.defineRelation.fieldName":"Field name","form.attribute.item.enumeration.graphql":"Name override for GraphQL","form.attribute.item.enumeration.graphql.description":"Allows you to override the default generated name for GraphQL","form.attribute.item.enumeration.placeholder":"Ex:\\nmorning\\nnoon\\nevening","form.attribute.item.enumeration.rules":"Values (one line per value)","form.attribute.item.maximum":"Maximum value","form.attribute.item.maximumLength":"Maximum length","form.attribute.item.minimum":"Minimum value","form.attribute.item.minimumLength":"Minimum length","form.attribute.item.number.type":"Number format","form.attribute.item.number.type.biginteger":"big integer (ex: 123456789)","form.attribute.item.number.type.decimal":"decimal (ex: 2.22)","form.attribute.item.number.type.float":"float (ex: 3.33333333)","form.attribute.item.number.type.integer":"integer (ex: 10)","form.attribute.item.privateField":"Private field","form.attribute.item.privateField.description":"This field will not show up in the API response","form.attribute.item.requiredField":"Required field","form.attribute.item.requiredField.description":"You won't be able to create an entry if this field is empty","form.attribute.item.text.regex":"RegExp pattern","form.attribute.item.text.regex.description":"The text of the regular expression","form.attribute.item.uniqueField":"Unique field","form.attribute.item.uniqueField.description":"You won't be able to create an entry if there is an existing entry with identical content","form.attribute.media.allowed-types":"Select allowed types of media","form.attribute.media.allowed-types.option-files":"Files","form.attribute.media.allowed-types.option-images":"Images","form.attribute.media.allowed-types.option-videos":"Videos","form.attribute.media.option.multiple":"Multiple media","form.attribute.media.option.multiple.description":"Best for sliders, carousels or multiple files download","form.attribute.media.option.single":"Single media","form.attribute.media.option.single.description":"Best for avatar, profile picture or cover","form.attribute.settings.default":"Default value","form.attribute.text.option.long-text":"Long text","form.attribute.text.option.long-text.description":"Best for descriptions, biography. Exact search is disabled.","form.attribute.text.option.short-text":"Short text","form.attribute.text.option.short-text.description":"Best for titles, names, links (URL). It also enables exact search on the field.","form.button.add-components-to-dynamiczone":"Add components to the zone","form.button.add-field":"Add another field","form.button.add-first-field-to-created-component":"Add first field to the component","form.button.add.field.to.collectionType":"Add another field to this collection type","form.button.add.field.to.component":"Add another field to this component","form.button.add.field.to.contentType":"Add another field to this content type","form.button.add.field.to.singleType":"Add another field to this single type","form.button.cancel":"Cancel","form.button.collection-type.description":"Best for multiple instances like articles, products, comments, etc.","form.button.collection-type.name":"Collection Type","form.button.configure-component":"Configure the component","form.button.configure-view":"Configure the view","form.button.select-component":"Select a component","form.button.single-type.description":"Best for single instance like about us, homepage, etc.","form.button.single-type.name":"Single Type","from":"from","listView.headerLayout.description":"Build the data architecture of your content","menu.section.components.name":"Components","menu.section.models.name":"Collection Types","menu.section.single-types.name":"Single Types","modalForm.attribute.form.base.name.description":"No space is allowed for the name of the attribute","modalForm.attribute.form.base.name.placeholder":"e.g. Slug, SEO URL, Canonical URL","modalForm.attribute.target-field":"Attached field","modalForm.attributes.select-component":"Select a component","modalForm.attributes.select-components":"Select the components","modalForm.collectionType.header-create":"Create a collection type","modalForm.component.header-create":"Create a component","modalForm.components.create-component.category.label":"Select a category or enter a name to create a new one","modalForm.components.icon.label":"Icon","modalForm.empty.button":"Add custom fields","modalForm.empty.heading":"Nothing in here yet.","modalForm.empty.sub-heading":"Find what you are looking for through a wide range of extensions.","modalForm.editCategory.base.name.description":"No space is allowed for the name of the category","modalForm.header-edit":"Edit {name}","modalForm.header.categories":"Categories","modalForm.singleType.header-create":"Create a single type","modalForm.sub-header.addComponentToDynamicZone":"Add new component to the dynamic zone","modalForm.sub-header.attribute.create":"Add new {type} field","modalForm.sub-header.attribute.create.step":"Add new component ({step}/2)","modalForm.sub-header.attribute.edit":"Edit {name}","modalForm.sub-header.chooseAttribute.collectionType":"Select a field for your collection type","modalForm.sub-header.chooseAttribute.component":"Select a field for your component","modalForm.sub-header.chooseAttribute.singleType":"Select a field for your single type","modalForm.custom-fields.advanced.settings.extended":"Extended settings","modalForm.tabs.custom":"Custom","modalForm.tabs.custom.howToLink":"How to add custom fields","modalForm.tabs.default":"Default","modalForm.tabs.label":"Default and Custom types tabs","modelPage.attribute.relation-polymorphic":"Relation (polymorphic)","modelPage.attribute.relationWith":"Relation with","notification.error.dynamiczone-min.validation":"At least one component is required in a dynamic zone to be able to save a content type","notification.info.autoreaload-disable":"The autoReload feature is required to use this plugin. Start your server with \`strapi develop\`","notification.info.creating.notSaved":"Please save your work before creating a new collection type or component","plugin.description.long":"Modelize the data structure of your API. Create new fields and relations in just a minute. The files are automatically created and updated in your project.","plugin.description.short":"Modelize the data structure of your API.","plugin.name":"Content-Type Builder","popUpForm.navContainer.advanced":"Advanced settings","popUpForm.navContainer.base":"Basic settings","popUpWarning.bodyMessage.cancel-modifications":"Are you sure you want to cancel your modifications?","popUpWarning.bodyMessage.cancel-modifications.with-components":"Are you sure you want to cancel your modifications? Some components have been created or modified...","popUpWarning.bodyMessage.category.delete":"Are you sure you want to delete this category? All the components will also be deleted.","popUpWarning.bodyMessage.component.delete":"Are you sure you want to delete this component?","popUpWarning.bodyMessage.contentType.delete":"Are you sure you want to delete this collection type?","popUpWarning.draft-publish.button.confirm":"Yes, disable","popUpWarning.draft-publish.message":"If you disable the Draft & publish, your drafts will be deleted.","popUpWarning.draft-publish.second-message":"Are you sure you want to disable it?","popUpWarning.review-workflows.message":"If you disable the review workflows feature, all stage-related information will be removed for this content-type. Are you sure you want to disable it?","prompt.unsaved":"Are you sure you want to leave? All your modifications will be lost.","relation.attributeName.placeholder":"Ex: author, category, tag","relation.manyToMany":"has and belongs to many","relation.manyToOne":"has many","relation.manyWay":"has many","relation.oneToMany":"belongs to many","relation.oneToOne":"has and belongs to one","relation.oneWay":"has one","table.button.no-fields":"Add new field","table.content.create-first-content-type":"Create your first Collection-Type","table.content.no-fields.collection-type":"Add your first field to this Collection-Type","table.content.no-fields.component":"Add your first field to this component"}`)}}]);
@@ -0,0 +1,126 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8880],{25747:function(W,z,u){"use strict";var n=u(32735),O=u(83292),B=u(60216),E=u.n(B),b=u(39161),l=u.n(b),x=u(57269),P=u.n(x),K=u(13478),t=u.n(K);const te={biginteger:x.Number,boolean:x.Boolean,collectionType:x.CollectionType,component:x.Component,contentType:x.CollectionType,date:x.Date,datetime:x.Date,decimal:x.Number,dynamiczone:x.DynamicZone,email:x.Email,enum:x.Enumeration,enumeration:x.Enumeration,file:x.Media,files:x.Media,float:x.Number,integer:x.Number,json:x.Json,JSON:x.Json,media:x.Media,number:x.Number,password:x.Password,relation:x.Relation,richtext:x.RichText,singleType:x.SingleType,string:x.Text,text:x.Text,time:x.Date,timestamp:x.Date,uid:x.Uid},h=(0,O.default)(b.Box)`
2
+ svg {
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+ `,Ze=({type:ae,customField:me,...J})=>{const oe=(0,K.useCustomFields)();let ee=te[ae];if(me){const{icon:ie}=oe.get(me);ie&&(ee=ie)}return te[ae]?n.createElement(h,{height:(0,K.pxToRem)(24),width:(0,K.pxToRem)(32),shrink:0,...J,"aria-hidden":!0},n.createElement(b.Box,{as:ee})):null};Ze.defaultProps={customField:null},Ze.propTypes={type:E().string.isRequired,customField:E().string},z.Z=Ze},74753:function(W,z,u){"use strict";var n=u(32735);const O=(0,n.createContext)();z.Z=O},51216:function(W,z,u){"use strict";var n=u(32735);const O=(0,n.createContext)();z.Z=O},198:function(W,z,u){"use strict";var n=u(32735),O=u(74753);const B=()=>(0,n.useContext)(O.Z);z.Z=B},32237:function(W,z,u){"use strict";var n=u(32735),O=u(51216);const B=()=>(0,n.useContext)(O.Z);z.Z=B},33184:function(W,z,u){"use strict";u.r(z),u.d(z,{default:function(){return Sr}});var n=u(32735),O=u(5141),B=u(99357),E=u(5636),b=u(13478),l=u(39161),x=u(3633),P=u(25158),K=u(60216),t=u.n(K),te=u(33795),h=u.n(te),Ze=u(81346),ae=u.n(Ze),me=u(3040),J=u.n(me),oe=u(61868),ee=u.n(oe),ie=u(4409),qe=u(13055),Re=u(74753),le=u(32237),d=u(92318),Le=u(37087),Ye=u(23973),Xe=u.n(Ye),kn=u(59578),ze=u.n(kn),Bn=u(89793),et=u.n(Bn),Oe=u(198),wn=u(23940),Fe=u.n(wn);const $n=[{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"}]}],tt=({intlLabel:e,name:a,onChange:r,value:o})=>{const{formatMessage:s}=(0,E.useIntl)(),i=o===null||o.length===0?s({id:"global.none",defaultMessage:"None"}):[...o].sort().map(m=>Fe()(m)).join(", "),c=e.id?s({id:e.id,defaultMessage:e.defaultMessage}):a;return n.createElement(l.MultiSelectNested,{id:"select1",label:c,customizeContent:()=>i,onChange:m=>{m.length>0?r({target:{name:a,value:m,type:"allowed-types-select"}}):r({target:{name:a,value:null,type:"allowed-types-select"}})},options:$n,value:o||[]})};tt.defaultProps={value:null},tt.propTypes={intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().oneOfType([t().object,t().array])};var Un=tt,Vt=e=>e.kind==="collectionType"&&(e.restrictRelationsTo===null||Array.isArray(e.restrictRelationsTo)&&e.restrictRelationsTo.length>0),Je=u(25747),Pe=u(83292),Ht=(0,Pe.default)(l.Box)`
7
+ width: 100%;
8
+ height: 100%;
9
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
10
+ text-align: left;
11
+ &:hover {
12
+ background: ${({theme:e})=>e.colors.primary100};
13
+ border: 1px solid ${({theme:e})=>e.colors.primary200};
14
+ }
15
+ `;const nt=({type:e})=>{const{formatMessage:a}=(0,E.useIntl)(),{onClickSelectField:r}=(0,le.Z)(),o=()=>{r({attributeType:e,step:e==="component"?"1":null})};return n.createElement(Ht,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:o},n.createElement(l.Flex,null,n.createElement(Je.Z,{type:e}),n.createElement(l.Box,{paddingLeft:4},n.createElement(l.Flex,null,n.createElement(l.Typography,{fontWeight:"bold"},a({id:(0,d.Z)(`attribute.${e}`),defaultMessage:e}))),n.createElement(l.Flex,null,n.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},a({id:(0,d.Z)(`attribute.${e}.description`),defaultMessage:"A type for modeling data"}))))))};nt.defaultProps={type:"text"},nt.propTypes={type:t().string};var jn=nt,Kt=e=>{const a=e%2===1;return{paddingLeft:a?2:0,paddingRight:a?0:2}};const Yt=({attributes:e})=>n.createElement(l.KeyboardNavigable,{tagName:"button"},n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:8},e.map((a,r)=>n.createElement(l.Grid,{key:r,gap:0},a.map((o,s)=>{const{paddingLeft:i,paddingRight:c}=Kt(s);return n.createElement(l.GridItem,{key:o,col:6,style:{height:"100%"}},n.createElement(l.Box,{paddingLeft:i,paddingRight:c,paddingBottom:1,style:{height:"100%"}},n.createElement(jn,{type:o})))})))));Yt.propTypes={attributes:t().array.isRequired};var Wn=Yt,zn=u(33348),Gn=u.n(zn),pe=u(57269);const Vn=(0,Pe.default)(l.Box)`
16
+ background: ${({theme:e})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${e.colors.neutral150} 100%)`};
17
+ opacity: 0.33;
18
+ `,Hn=()=>n.createElement(l.Flex,{wrap:"wrap",gap:4},[...Array(4)].map((e,a)=>n.createElement(Vn,{key:`empty-card-${a}`,height:"138px",width:"375px",hasRadius:!0})));var Kn=()=>{const{formatMessage:e}=(0,E.useIntl)();return n.createElement(l.Box,{position:"relative"},n.createElement(Hn,null),n.createElement(l.Box,{position:"absolute",top:6,width:"100%"},n.createElement(l.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},n.createElement(l.Icon,{as:pe.EmptyStateDocument,color:"",width:"160px",height:"88px"}),n.createElement(l.Box,{paddingTop:6,paddingBottom:4},n.createElement(l.Box,{textAlign:"center"},n.createElement(l.Typography,{variant:"delta",as:"p",textColor:"neutral600"},e({id:(0,d.Z)("modalForm.empty.heading"),defaultMessage:"Nothing in here yet."})),n.createElement(l.Box,{paddingTop:4},n.createElement(l.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."}))))),n.createElement(l.LinkButton,{to:`/marketplace?${Gn().stringify({categories:["Custom fields"]})}`,variant:"secondary",startIcon:n.createElement(pe.Plus,null)},e({id:(0,d.Z)("modalForm.empty.button"),defaultMessage:"Add custom fields"})))))};const Xt=({customFieldUid:e,customField:a})=>{const{type:r,intlLabel:o,intlDescription:s}=a,{formatMessage:i}=(0,E.useIntl)(),{onClickSelectCustomField:c}=(0,le.Z)(),m=()=>{c({attributeType:r,customFieldUid:e})};return n.createElement(Ht,{padding:4,as:"button",hasRadius:!0,type:"button",onClick:m},n.createElement(l.Flex,null,n.createElement(Je.Z,{type:r,customField:e}),n.createElement(l.Box,{paddingLeft:4},n.createElement(l.Flex,null,n.createElement(l.Typography,{fontWeight:"bold"},i(o))),n.createElement(l.Flex,null,n.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},i(s))))))};Xt.propTypes={customFieldUid:t().string.isRequired,customField:t().shape({type:t().string.isRequired,icon:t().func,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}).isRequired,intlDescription:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}).isRequired}).isRequired};var Yn=Xt,Xn=()=>{const{formatMessage:e}=(0,E.useIntl)(),a=(0,b.useCustomFields)(),r=Object.entries(a.getAll());if(!r.length)return n.createElement(Kn,null);const o=r.sort((s,i)=>s[1].name>i[1].name?1:-1);return n.createElement(l.KeyboardNavigable,{tagName:"button"},n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:3},n.createElement(l.Grid,{gap:0},o.map(([s,i],c)=>{const{paddingLeft:m,paddingRight:p}=Kt(c);return n.createElement(l.GridItem,{key:s,col:6,style:{height:"100%"}},n.createElement(l.Box,{paddingLeft:m,paddingRight:p,paddingBottom:1,style:{height:"100%"}},n.createElement(Yn,{key:s,customFieldUid:s,customField:i})))})),n.createElement(l.Link,{href:"https://docs.strapi.io/developer-docs/latest/development/custom-fields.html",isExternal:!0},e({id:(0,d.Z)("modalForm.tabs.custom.howToLink"),defaultMessage:"How to add custom fields"}))))};const Jt=({attributes:e,forTarget:a,kind:r})=>{const{formatMessage:o}=(0,E.useIntl)(),s=(0,d.Z)("modalForm.tabs.default"),i=(0,d.Z)("modalForm.tabs.custom"),c=a.includes("component")?"component":r,m=(0,d.Z)(`modalForm.sub-header.chooseAttribute.${c}`);return n.createElement(l.ModalBody,{padding:6},n.createElement(l.TabGroup,{label:o({id:(0,d.Z)("modalForm.tabs.label"),defaultMessage:"Default and Custom types tabs"}),id:"attribute-type-tabs",variant:"simple"},n.createElement(l.Flex,{justifyContent:"space-between"},n.createElement(l.Typography,{variant:"beta",as:"h2"},o({id:m,defaultMessage:"Select a field"})),n.createElement(l.Tabs,null,n.createElement(l.Tab,null,o({id:s,defaultMessage:"Default"})),n.createElement(l.Tab,null,o({id:i,defaultMessage:"Custom"})))),n.createElement(l.Box,{paddingBottom:6},n.createElement(l.Divider,null)),n.createElement(l.TabPanels,null,n.createElement(l.TabPanel,null,n.createElement(Wn,{attributes:e})),n.createElement(l.TabPanel,null,n.createElement(Xn,null)))))};Jt.propTypes={attributes:t().array.isRequired,forTarget:t().string.isRequired,kind:t().string.isRequired};var Jn=Jt;const at=({description:e,disabled:a,intlLabel:r,isCreating:o,name:s,onChange:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),[p,f]=(0,n.useState)(!1),y=r.id?m({id:r.id,defaultMessage:r.defaultMessage},{...r.values}):s,g=e?m({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):"",C=()=>f(L=>!L),M=()=>{i({target:{name:s,value:!1}}),C()},N=({target:{checked:L}})=>{if(!L&&!o){C();return}i({target:{name:s,value:L}})};return n.createElement(n.Fragment,null,n.createElement(l.Checkbox,{checked:c,disabled:a,hint:g,name:s,onChange:N},y),n.createElement(b.ConfirmDialog,{isOpen:p,onToggleDialog:C,onConfirm:M,bodyText:{id:(0,d.Z)("popUpWarning.draft-publish.message"),defaultMessage:"If you disable the draft & publish, your drafts will be deleted."},leftButtonText:{id:"components.popUpWarning.button.cancel",defaultMessage:"No, cancel"},rightButtonText:{id:(0,d.Z)("popUpWarning.draft-publish.button.confirm"),defaultMessage:"Yes, disable"}}))};at.defaultProps={description:null,disabled:!1,value:!1},at.propTypes={description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),disabled:t().bool,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,isCreating:t().bool.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().bool};var Qn=at;const rt=({description:e,disabled:a,intlLabel:r,isCreating:o,name:s,onChange:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),[p,f]=(0,n.useState)(!1),y=r.id?m({id:r.id,defaultMessage:r.defaultMessage},{...r.values}):s,g=e?m({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):"",C=()=>f(L=>!L),M=()=>{i({target:{name:s,value:!1}}),C()},N=({target:{checked:L}})=>{if(!L&&!o){C();return}i({target:{name:s,value:L}})};return n.createElement(n.Fragment,null,n.createElement(l.Checkbox,{checked:c,disabled:a,hint:g,name:s,onChange:N},y),n.createElement(b.ConfirmDialog,{isOpen:p,onToggleDialog:C,onConfirm:M,bodyText:{id:(0,d.Z)("popUpWarning.review-workflows.message"),defaultMessage:"If you disable the review workflows feature, all stage-related information will be removed for this content-type. Are you sure you want to disable it?"},leftButtonText:{id:"components.popUpWarning.button.cancel",defaultMessage:"No, cancel"},rightButtonText:{id:(0,d.Z)("popUpWarning.review-workflows.button.confirm"),defaultMessage:"Yes, disable"}}))};rt.defaultProps={description:null,disabled:!1,value:!1},rt.propTypes={description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),disabled:t().bool,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,isCreating:t().bool.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().bool};var _n=rt;const st=({actionType:e,attributeName:a,attributeType:r,categoryName:o,contentTypeKind:s,dynamicZoneTarget:i,forTarget:c,modalType:m,targetUid:p,customFieldUid:f})=>{const{formatMessage:y}=(0,E.useIntl)(),{modifiedData:g}=(0,Oe.Z)();let C,M=[];const N=g?.[c]?.[p]||g?.[c]||null;let L=N?.schema.displayName;if(m==="contentType"&&(C=s),["component","editCategory"].includes(m)&&(C="component"),["component","contentType"].includes(m)){let R=(0,d.Z)(`modalForm.component.header-${e}`);return m==="contentType"&&(R=(0,d.Z)(`modalForm.${s}.header-create`)),e==="edit"&&(R=(0,d.Z)("modalForm.header-edit")),n.createElement(l.ModalHeader,null,n.createElement(l.Flex,null,n.createElement(l.Box,null,n.createElement(Je.Z,{type:C})),n.createElement(l.Box,{paddingLeft:3},n.createElement(l.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},y({id:R},{name:L})))))}M=[{label:L,info:{category:N?.category||null,name:N?.schema.displayName}}],m==="chooseAttribute"&&(C=["component","components"].includes(c)?"component":N.schema.kind),m==="addComponentToDynamicZone"&&(C="dynamiczone",M.push({label:i})),(m==="attribute"||m==="customField")&&(C=r,M.push({label:a})),m==="editCategory"&&(M=[{label:y({id:(0,d.Z)("modalForm.header.categories"),defaultMessage:"Categories"})},{label:o}]);const A=M.map(({label:R})=>R).join(",");return n.createElement(l.ModalHeader,null,n.createElement(l.Flex,{gap:3},n.createElement(Je.Z,{type:C,customField:f}),n.createElement(l.Breadcrumbs,{label:A},M.map((R,S)=>{const V=Fe()(R.label);if(!V)return null;const H=`${R.label}.${S}`;if(R.info?.category){const ue=`${V} (${Fe()(R.info.category)} - ${Fe()(R.info.name)})`;return n.createElement(l.Crumb,{key:H},ue)}return n.createElement(l.Crumb,{key:H},V)}))))};st.defaultProps={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,contentTypeKind:null,targetUid:null,customFieldUid:null},st.propTypes={actionType:t().string,attributeName:t().string,attributeType:t().string,categoryName:t().string,contentTypeKind:t().string,dynamicZoneTarget:t().string,forTarget:t().oneOf(["contentType","component","components"]),modalType:t().string.isRequired,targetUid:t().string,customFieldUid:t().string};var ea=st;const ot=({categoryName:e,deleteCategory:a,deleteComponent:r,deleteContentType:o,isAttributeModal:s,isCustomFieldModal:i,isComponentAttribute:c,isComponentToDzModal:m,isContentTypeModal:p,isCreatingComponent:f,isCreatingComponentAttribute:y,isCreatingComponentInDz:g,isCreatingComponentWhileAddingAField:C,isCreatingContentType:M,isCreatingDz:N,isComponentModal:L,isDzAttribute:U,isEditingAttribute:A,isEditingCategory:R,isInFirstComponentStep:S,onSubmitAddComponentAttribute:V,onSubmitAddComponentToDz:H,onSubmitCreateContentType:ue,onSubmitCreateComponent:D,onSubmitCreateDz:_,onSubmitEditAttribute:ye,onSubmitEditCategory:Ve,onSubmitEditComponent:ge,onSubmitEditContentType:we,onSubmitEditCustomFieldAttribute:Y,onSubmitEditDz:$e,onClickFinish:se})=>{const{formatMessage:G}=(0,E.useIntl)();return m?g?n.createElement(l.Button,{variant:"secondary",type:"submit",onClick:Z=>{Z.preventDefault(),H(Z,!0)},startIcon:n.createElement(pe.Plus,null)},G({id:(0,d.Z)("form.button.add-first-field-to-created-component"),defaultMessage:"Add first field to the component"})):n.createElement(l.Button,{variant:"default",type:"submit",onClick:Z=>{Z.preventDefault(),H(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"})):s&&U&&!N?n.createElement(l.Button,{variant:"default",type:"submit",onClick:Z=>{Z.preventDefault(),se(),$e(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"})):s&&U&&N?n.createElement(n.Fragment,null,n.createElement(l.Button,{variant:"secondary",type:"submit",onClick:Z=>{Z.preventDefault(),_(Z,!0)},startIcon:n.createElement(pe.Plus,null)},G({id:(0,d.Z)("form.button.add-components-to-dynamiczone"),defaultMessage:"Add components to the zone"}))):s&&c?S?n.createElement(l.Button,{variant:"secondary",type:"submit",onClick:Z=>{Z.preventDefault(),V(Z,!0)}},G(y?{id:(0,d.Z)("form.button.configure-component"),defaultMessage:"Configure the component"}:{id:(0,d.Z)("form.button.select-component"),defaultMessage:"Configure the component"})):n.createElement(n.Fragment,null,n.createElement(l.Button,{variant:"secondary",type:"submit",onClick:Z=>{Z.preventDefault(),V(Z,!0)},startIcon:n.createElement(pe.Plus,null)},G(C?{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"})),n.createElement(l.Button,{variant:"default",type:"button",onClick:Z=>{Z.preventDefault(),se(),V(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"}))):s&&!c&&!U?n.createElement(n.Fragment,null,n.createElement(l.Button,{type:A?"button":"submit",variant:"secondary",onClick:Z=>{Z.preventDefault(),ye(Z,!0)},startIcon:n.createElement(pe.Plus,null)},G({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),n.createElement(l.Button,{type:A?"submit":"button",variant:"default",onClick:Z=>{Z.preventDefault(),se(),ye(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"}))):p?n.createElement(n.Fragment,null,!M&&n.createElement(n.Fragment,null,n.createElement(l.Button,{type:"button",variant:"danger",onClick:Z=>{Z.preventDefault(),o()}},G({id:"global.delete",defaultMessage:"Delete"})),n.createElement(l.Button,{type:"submit",variant:"default",onClick:Z=>{Z.preventDefault(),we(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"}))),M&&n.createElement(l.Button,{type:"submit",variant:"secondary",onClick:Z=>{Z.preventDefault(),ue(Z,!0)}},G({id:"global.continue",defaultMessage:"Continue"}))):L?n.createElement(n.Fragment,null,!f&&n.createElement(n.Fragment,null,n.createElement(l.Button,{type:"button",variant:"danger",onClick:Z=>{Z.preventDefault(),r()}},G({id:"global.delete",defaultMessage:"Delete"})),n.createElement(l.Button,{type:"submit",variant:"default",onClick:Z=>{Z.preventDefault(),ge(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"}))),f&&n.createElement(l.Button,{type:"submit",variant:"secondary",onClick:Z=>{Z.preventDefault(),D(Z,!0)}},G({id:"global.continue",defaultMessage:"Continue"}))):R?n.createElement(n.Fragment,null,n.createElement(l.Button,{type:"button",variant:"danger",onClick:Z=>{Z.preventDefault(),a(e)}},G({id:"global.delete",defaultMessage:"Delete"})),n.createElement(l.Button,{type:"submit",variant:"default",onClick:Z=>{Z.preventDefault(),Ve(Z)}},G({id:"global.finish",defaultMessage:"finish"}))):i?n.createElement(n.Fragment,null,n.createElement(l.Button,{type:A?"button":"submit",variant:"secondary",onClick:Z=>{Z.preventDefault(),Y(Z,!0)},startIcon:n.createElement(pe.Plus,null)},G({id:(0,d.Z)("form.button.add-field"),defaultMessage:"Add another field"})),n.createElement(l.Button,{type:A?"submit":"button",variant:"default",onClick:Z=>{Z.preventDefault(),se(),Y(Z,!1)}},G({id:"global.finish",defaultMessage:"Finish"}))):null};ot.defaultProps={categoryName:null,onClickFinish(){}},ot.propTypes={categoryName:t().string,deleteCategory:t().func.isRequired,deleteComponent:t().func.isRequired,deleteContentType:t().func.isRequired,isAttributeModal:t().bool.isRequired,isCustomFieldModal:t().bool.isRequired,isComponentAttribute:t().bool.isRequired,isComponentModal:t().bool.isRequired,isComponentToDzModal:t().bool.isRequired,isContentTypeModal:t().bool.isRequired,isCreatingComponent:t().bool.isRequired,isCreatingComponentAttribute:t().bool.isRequired,isCreatingComponentInDz:t().bool.isRequired,isCreatingComponentWhileAddingAField:t().bool.isRequired,isCreatingContentType:t().bool.isRequired,isCreatingDz:t().bool.isRequired,isDzAttribute:t().bool.isRequired,isEditingAttribute:t().bool.isRequired,isEditingCategory:t().bool.isRequired,isInFirstComponentStep:t().bool.isRequired,onSubmitAddComponentAttribute:t().func.isRequired,onSubmitAddComponentToDz:t().func.isRequired,onSubmitCreateContentType:t().func.isRequired,onSubmitCreateComponent:t().func.isRequired,onSubmitCreateDz:t().func.isRequired,onSubmitEditAttribute:t().func.isRequired,onSubmitEditCategory:t().func.isRequired,onSubmitEditComponent:t().func.isRequired,onSubmitEditContentType:t().func.isRequired,onSubmitEditCustomFieldAttribute:t().func.isRequired,onSubmitEditDz:t().func.isRequired,onClickFinish:t().func};var ta=ot,na=({modalType:e,forTarget:a,kind:r,actionType:o,step:s})=>{switch(e){case"chooseAttribute":return(0,d.Z)(`modalForm.sub-header.chooseAttribute.${a.includes("component")?"component":r||"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")}};const it=({actionType:e,modalType:a,forTarget:r,kind:o,step:s,attributeType:i,attributeName:c,customField:m})=>{const{formatMessage:p}=(0,E.useIntl)(),f=a==="customField"?m.intlLabel:{id:(0,d.Z)(`attribute.${i}`)};return n.createElement(l.Flex,{direction:"column",alignItems:"flex-start",paddingBottom:2,gap:1},n.createElement(l.Typography,{as:"h2",variant:"beta"},p({id:na({actionType:e,forTarget:r,kind:o,step:s,modalType:a}),defaultMessage:"Add new field"},{type:Fe()(p(f)),name:Fe()(c),step:s})),n.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},p({id:(0,d.Z)(`attribute.${i}.description`),defaultMessage:"A type for modeling data"})))};it.defaultProps={actionType:null,modalType:null,forTarget:null,kind:null,step:null,attributeType:null,attributeName:null,customField:null},it.propTypes={actionType:t().string,modalType:t().string,forTarget:t().string,kind:t().string,step:t().string,attributeType:t().string,attributeName:t().string,customField:t().object};var aa=it;const lt=({intlLabel:e,name:a,options:r,onChange:o,value:s})=>{const{formatMessage:i}=(0,E.useIntl)(),c=e.id?i({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):a,m=p=>{let f="";p==="true"&&(f=!0),p==="false"&&(f=!1),o({target:{name:a,value:f,type:"select-default-boolean"}})};return n.createElement(l.Select,{label:c,id:a,name:a,onChange:m,value:(s===null?"":s).toString()},r.map(({metadatas:{intlLabel:p,disabled:f,hidden:y},key:g,value:C})=>n.createElement(l.Option,{key:g,value:C,disabled:f,hidden:y},p.defaultMessage)))};lt.defaultProps={value:null},lt.propTypes={intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,name:t().string.isRequired,onChange:t().func.isRequired,options:t().arrayOf(t().shape({metadatas:t().shape({intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}).isRequired,disabled:t().bool,hidden:t().bool}).isRequired,key:t().oneOfType([t().string,t().number]).isRequired,value:t().oneOfType([t().string,t().number]).isRequired}).isRequired).isRequired,value:t().any};var ra=lt;const sa=(0,Pe.default)(l.Flex)`
19
+ position: relative;
20
+ align-items: stretch;
21
+
22
+ label {
23
+ border-radius: 4px;
24
+ max-width: 50%;
25
+ cursor: pointer;
26
+ user-select: none;
27
+ flex: 1;
28
+ ${(0,l.inputFocusStyle)()}
29
+ }
30
+
31
+ input {
32
+ position: absolute;
33
+ opacity: 0;
34
+ }
35
+
36
+ .option {
37
+ height: 100%;
38
+ border-radius: 4px;
39
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
40
+ will-change: transform, opacity;
41
+ background: ${({theme:e})=>e.colors.neutral0};
42
+
43
+ .checkmark {
44
+ position: relative;
45
+ display: block;
46
+ will-change: transform;
47
+ background: ${({theme:e})=>e.colors.neutral0};
48
+ width: ${({theme:e})=>e.spaces[5]};
49
+ height: ${({theme:e})=>e.spaces[5]};
50
+ border: solid 1px ${({theme:e})=>e.colors.neutral300};
51
+ border-radius: 50%;
52
+
53
+ &:before,
54
+ &:after {
55
+ content: '';
56
+ display: block;
57
+ border-radius: 50%;
58
+ width: ${({theme:e})=>e.spaces[3]};
59
+ height: ${({theme:e})=>e.spaces[3]};
60
+ position: absolute;
61
+ top: 3px;
62
+ left: 3px;
63
+ }
64
+
65
+ &:after {
66
+ transform: scale(0);
67
+ transition: inherit;
68
+ will-change: transform;
69
+ }
70
+ }
71
+ }
72
+
73
+ .container input:checked ~ div {
74
+ background: ${({theme:e})=>e.colors.primary100};
75
+ ${l.Typography} {
76
+ color: ${({theme:e})=>e.colors.primary600};
77
+ }
78
+ border: 1px solid ${({theme:e})=>e.colors.primary200};
79
+ .checkmark {
80
+ border: solid 1px ${({theme:e})=>e.colors.primary600};
81
+ &::after {
82
+ background: ${({theme:e})=>e.colors.primary600};
83
+ transform: scale(1);
84
+ }
85
+ }
86
+ }
87
+ `,ut=({intlLabel:e,name:a,onChange:r,radios:o,value:s})=>{const{formatMessage:i}=(0,E.useIntl)();return n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:2},n.createElement(l.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800",htmlFor:a,as:"label"},i(e)),n.createElement(sa,{gap:4,alignItems:"stretch"},o.map(c=>n.createElement("label",{htmlFor:c.value.toString(),key:c.value,className:"container"},n.createElement("input",{id:c.value.toString(),name:a,className:"option-input",checked:c.value===s,value:c.value,key:c.value,onChange:r,type:"radio"}),n.createElement(l.Box,{className:"option",padding:4},n.createElement(l.Flex,null,n.createElement(l.Box,{paddingRight:4},n.createElement("span",{className:"checkmark"})),n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:2},n.createElement(l.Typography,{fontWeight:"bold"},i(c.title)),n.createElement(l.Typography,{variant:"pi",textColor:"neutral600"},i(c.description)))))))))};ut.defaultProps={radios:[]},ut.propTypes={intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,name:t().string.isRequired,onChange:t().func.isRequired,radios:t().arrayOf(t().shape({title:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}),description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}),value:t().any.isRequired})),value:t().oneOfType([t().string,t().bool]).isRequired};var dt=ut;const Qt=({onChange:e,name:a,...r})=>{const o=s=>{const i=s.target.value!=="false";e({target:{name:a,value:i,type:"boolean-radio-group"}})};return n.createElement(dt,{...r,name:a,onChange:o})};Qt.propTypes={name:t().string.isRequired,onChange:t().func.isRequired};var oa=Qt;const ct=({error:e,intlLabel:a,modifiedData:r,name:o,onChange:s,value:i})=>{const{formatMessage:c}=(0,E.useIntl)(),[m,p]=(0,n.useState)(!!i||i===0),f=a.id?c({id:a.id,defaultMessage:a.defaultMessage},{...a.values}):o,y=r.type==="biginteger"?"text":"number",g=!r.type,C=e?c({id:e,defaultMessage:e}):"";return n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:2},n.createElement(l.Checkbox,{id:o,name:o,onValueChange:M=>{s({target:{name:o,value:M?y==="text"?"0":0:null}}),p(U=>!U)},value:m},f),m&&n.createElement(l.Box,{paddingLeft:6,style:{maxWidth:"200px"}},y==="text"?n.createElement(l.TextInput,{"aria-label":f,disabled:g,error:C,id:o,name:o,onChange:s,value:i===null?"":i}):n.createElement(l.NumberInput,{"aria-label":f,disabled:g,error:C,id:o,name:o,onValueChange:M=>{s({target:{name:o,value:M,type:y}})},value:i||0})))};ct.defaultProps={error:null,value:null},ct.propTypes={error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,modifiedData:t().object.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().oneOfType([t().string,t().object,t().bool,t().number])};var ia=ct;const _t=({onChange:e,...a})=>{const r=(0,b.useNotification)(),o=s=>{r({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)."}}),e(s)};return n.createElement(dt,{...a,onChange:o})};_t.propTypes={onChange:t().func.isRequired};var la=_t,mt=u(49561),Q=u(91559);const pt=({oneThatIsCreatingARelationWithAnother:e,target:a})=>{const{contentTypes:r,sortedContentTypesList:o}=(0,Oe.Z)(),s=(0,ie.useDispatch)(),i=o.filter(Vt),c=h()(r,[a,"plugin"],null),m=h()(r,[a,"schema","displayName"],"error");return n.createElement(l.SimpleMenu,{id:"label",label:`${m}
88
+ ${c?`(from: ${c})`:""}`},i.map(({uid:p,title:f,restrictRelationsTo:y,plugin:g})=>{const C=()=>{const M=g?`${g}_${f}`:f;s({type:Q.aG,target:{value:p,oneThatIsCreatingARelationWithAnother:e,selectedContentTypeFriendlyName:M,targetContentTypeAllowedRelations:y}})};return n.createElement(l.MenuItem,{key:p,onClick:C},f,"\xA0",g&&n.createElement(n.Fragment,null,"(from: ",g,")"))}))};pt.defaultProps={target:null},pt.propTypes={oneThatIsCreatingARelationWithAnother:t().string.isRequired,target:t().string};var ua=pt;const gt=({disabled:e,error:a,header:r,isMain:o,name:s,onChange:i,oneThatIsCreatingARelationWithAnother:c,target:m,value:p})=>n.createElement(l.Box,{background:"neutral100",hasRadius:!0,borderColor:"neutral200"},n.createElement(l.Flex,{paddingTop:o?4:1,paddingBottom:o?3:1,justifyContent:"center"},o?n.createElement(l.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800"},r):n.createElement(ua,{target:m,oneThatIsCreatingARelationWithAnother:c})),n.createElement(l.Divider,{background:"neutral200"}),n.createElement(l.Box,{padding:4},n.createElement(b.GenericInput,{disabled:e,error:a?.id||null,intlLabel:{id:(0,d.Z)("form.attribute.item.defineRelation.fieldName"),defaultMessage:"Field name"},name:s,onChange:i,type:"text",value:p})));gt.defaultProps={disabled:!1,error:null,header:null,isMain:!1,onChange(){},oneThatIsCreatingARelationWithAnother:null,target:null,value:""},gt.propTypes={disabled:t().bool,error:t().object,header:t().string,isMain:t().bool,name:t().string.isRequired,onChange:t().func,oneThatIsCreatingARelationWithAnother:t().string,target:t().string,value:t().string};var en=gt,da=u(51382),tn=u.n(da),ca=u(24443),ft=u.n(ca);const ma=(0,Pe.default)(l.Box)`
89
+ position: relative;
90
+ width: 100%;
91
+ &::before {
92
+ content: '';
93
+ position: absolute;
94
+ top: calc(50% - 0px);
95
+ height: 2px;
96
+ width: 100%;
97
+ background-color: ${({theme:e})=>e.colors.primary600};
98
+ z-index: 0;
99
+ }
100
+ `,pa=(0,Pe.default)(l.Box)`
101
+ background: ${({theme:e,isSelected:a})=>e.colors[a?"primary100":"neutral0"]};
102
+ border: 1px solid
103
+ ${({theme:e,isSelected:a})=>e.colors[a?"primary700":"neutral200"]};
104
+ border-radius: ${({theme:e})=>e.borderRadius};
105
+ z-index: 1;
106
+ svg {
107
+ width: 1.5rem;
108
+ height: 100%;
109
+ path {
110
+ fill: ${({theme:e,isSelected:a})=>e.colors[a?"primary700":"neutral500"]};
111
+ }
112
+ }
113
+ &:disabled {
114
+ cursor: not-allowed;
115
+ }
116
+ `,ga=(0,Pe.default)(l.Flex)`
117
+ position: absolute;
118
+ bottom: 0;
119
+ left: 0;
120
+ right: 0;
121
+ `,fa={oneWay:pe.OneWay,oneToOne:pe.OneToOne,oneToMany:pe.OneToMany,manyToOne:pe.ManyToOne,manyToMany:pe.ManyToMany,manyWay:pe.ManyWays},yt=({naturePickerType:e,oneThatIsCreatingARelationWithAnother:a,relationType:r,target:o})=>{const s=(0,ie.useDispatch)(),{formatMessage:i}=(0,E.useIntl)(),{contentTypes:c,modifiedData:m}=(0,Oe.Z)(),p=["oneWay","oneToOne","oneToMany","manyToOne","manyToMany","manyWay"],f=["oneWay","manyWay"],g=(e==="contentType"?h()(m,[e,"schema","kind"],""):e)==="collectionType"?p:f,C=r==="manyToOne",M=h()(c,[o,"schema","displayName"],"unknown"),N=C?M:a,L=C?a:M,U=ft()(N,r==="manyToMany"?2:1),A=h()(c,[o,"schema","restrictRelationsTo"],null),R=ft()(L,["manyToMany","oneToMany","manyToOne","manyWay"].includes(r)?2:1);return r?n.createElement(l.Flex,{style:{flex:1}},n.createElement(ma,null,n.createElement(l.Flex,{paddingLeft:9,paddingRight:9,paddingTop:1,justifyContent:"center"},n.createElement(l.KeyboardNavigable,{tagName:"button"},n.createElement(l.Flex,{gap:3},g.map(S=>{const V=fa[S],H=A===null||A.includes(S);return n.createElement(pa,{as:"button",isSelected:r===S,disabled:!H,key:S,onClick:()=>{H&&s({type:Q.QQ,target:{oneThatIsCreatingARelationWithAnother:a,targetContentType:o,value:S}})},padding:2,type:"button"},n.createElement(V,{key:S}))}))))),n.createElement(ga,{justifyContent:"center"},n.createElement(l.Typography,null,tn()(U,{length:24}),"\xA0"),n.createElement(l.Typography,{textColor:"primary600"},i({id:(0,d.Z)(`relation.${r}`)}),"\xA0"),n.createElement(l.Typography,null,tn()(R,{length:24})))):null};yt.defaultProps={relationType:null,target:null},yt.propTypes={naturePickerType:t().string.isRequired,oneThatIsCreatingARelationWithAnother:t().string.isRequired,relationType:t().string,target:t().string};var ya=yt;const nn=({formErrors:e,mainBoxHeader:a,modifiedData:r,naturePickerType:o,onChange:s})=>{const i=(0,mt.Z)(r.relation,r.targetAttribute);return n.createElement(l.Flex,{style:{position:"relative"}},n.createElement(en,{isMain:!0,header:a,error:e?.name||null,name:"name",onChange:s,value:r?.name||""}),n.createElement(ya,{naturePickerType:o,oneThatIsCreatingARelationWithAnother:a,relationType:i,target:r.target}),n.createElement(en,{disabled:["oneWay","manyWay"].includes(i),error:e?.targetAttribute||null,name:"targetAttribute",onChange:s,oneThatIsCreatingARelationWithAnother:a,target:r.target,value:r?.targetAttribute||""}))};nn.propTypes={formErrors:t().object.isRequired,mainBoxHeader:t().string.isRequired,modifiedData:t().object.isRequired,naturePickerType:t().string.isRequired,onChange:t().func.isRequired};var ba=nn,an=u(45251);const bt=({description:e,error:a,intlLabel:r,modifiedData:o,name:s,onChange:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),p=(0,n.useRef)(i),f=o?.displayName||"";(0,n.useEffect)(()=>{if(f){const M=(0,an.Z)(f);try{const N=ft()(M,2);p.current({target:{name:s,value:N}})}catch{p.current({target:{name:s,value:M}})}}else p.current({target:{name:s,value:""}})},[f,s]);const y=a?m({id:a,defaultMessage:a}):"",g=e?m({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):"",C=m(r);return n.createElement(l.TextInput,{error:y,label:C,id:s,hint:g,name:s,onChange:i,value:c||""})};bt.defaultProps={description:null,error:null,value:null},bt.propTypes={description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,modifiedData:t().object.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().string};var ha=bt;const ht=({error:e,intlLabel:a,name:r,onChange:o,value:s})=>{const{formatMessage:i}=(0,E.useIntl)(),{allComponentsCategories:c}=(0,Oe.Z)(),[m,p]=(0,n.useState)(c),f=e?i({id:e,defaultMessage:e}):"",y=i(a),g=M=>{o({target:{name:r,value:M,type:"select-category"}})},C=M=>{p(N=>[...N,M]),g(M)};return n.createElement(l.CreatableCombobox,{error:f,id:r,label:y,name:r,onChange:g,onCreateOption:C,value:s},m.map(M=>n.createElement(l.ComboboxOption,{key:M,value:M},M)))};ht.defaultProps={error:null,value:null},ht.propTypes={error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().string};var va=ht;const vt=({error:e,intlLabel:a,isAddingAComponentToAnotherComponent:r,isCreating:o,isCreatingComponentWhileAddingAField:s,componentToCreate:i,name:c,onChange:m,targetUid:p,forTarget:f,value:y})=>{const{formatMessage:g}=(0,E.useIntl)(),C=e?g({id:e,defaultMessage:e}):"",M=g(a),{componentsGroupedByCategory:N,componentsThatHaveOtherComponentInTheirAttributes:L}=(0,Oe.Z)(),U=["component","components"].includes(f);let A=Object.entries(N).reduce((R,S)=>{const[V,H]=S,ue=H.map(D=>({uid:D.uid,label:D.schema.displayName,categoryName:V}));return[...R,...ue]},[]);return r&&(A=A.filter(R=>!L.includes(R.uid))),U&&(A=A.filter(R=>R.uid!==p)),s&&(A=[{uid:y,label:i.displayName,categoryName:i.category}]),n.createElement(l.Select,{disabled:s||!o,error:C,label:M,id:c,name:c,onChange:R=>{m({target:{name:c,value:R,type:"select-category"}})},value:y||""},A.map(R=>n.createElement(l.Option,{key:R.uid,value:R.uid},`${R.categoryName} - ${R.label}`)))};vt.defaultProps={componentToCreate:null,error:null},vt.propTypes={componentToCreate:t().object,forTarget:t().string.isRequired,error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,isAddingAComponentToAnotherComponent:t().bool.isRequired,isCreating:t().bool.isRequired,isCreatingComponentWhileAddingAField:t().bool.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,targetUid:t().string.isRequired,value:t().string.isRequired};var Ta=vt,Tt=(e,a)=>e.find(({name:r})=>r===a);const rn=({dynamicZoneTarget:e,intlLabel:a,name:r,onChange:o,value:s})=>{const{formatMessage:i}=(0,E.useIntl)(),{componentsGroupedByCategory:c,modifiedData:m}=(0,Oe.Z)(),f=(Tt(m.contentType.schema.attributes,e)||{}).components||[],y=Object.keys(c).reduce((M,N)=>{const L=c[N].filter(({uid:U})=>!f.includes(U));return L.length>0&&(M[N]=L),M},{}),g=Object.entries(y).reduce((M,N)=>{const[L,U]=N,A={label:L,children:U.map(({uid:R,schema:{displayName:S}})=>({label:S,value:R}))};return M.push(A),M},[]),C=i({id:(0,d.Z)("components.SelectComponents.displayed-value"),defaultMessage:"{number, plural, =0 {# components} one {# component} other {# components}} selected"},{number:s.length});return n.createElement(l.MultiSelectNested,{id:"select1",label:i(a),customizeContent:()=>C,name:r,onChange:M=>{o({target:{name:r,value:M,type:"select-components"}})},options:g,value:s||[]})};rn.propTypes={intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,dynamicZoneTarget:t().string.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().array.isRequired};var Ca=rn;const Ct=({intlLabel:e,error:a,modifiedData:r,name:o,onChange:s,options:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),p=m(e),f=a?m({id:a,defaultMessage:a}):"",y=g=>{s({target:{name:o,value:g,type:"select"}}),c&&r.default!==void 0&&r.default!==null&&s({target:{name:"default",value:null}})};return n.createElement(l.Select,{error:f,label:p,id:o,name:o,onChange:y,value:c||""},i.map(({metadatas:{intlLabel:g,disabled:C,hidden:M},key:N,value:L})=>n.createElement(l.Option,{key:N,value:L,disabled:C,hidden:M},m({id:g.id,defaultMessage:g.defaultMessage},g.values))))};Ct.defaultProps={error:void 0,value:""},Ct.propTypes={error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,modifiedData:t().object.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,options:t().arrayOf(t().shape({metadatas:t().shape({intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}).isRequired,disabled:t().bool,hidden:t().bool}).isRequired,key:t().oneOfType([t().string,t().number]).isRequired,value:t().oneOfType([t().string,t().number]).isRequired}).isRequired).isRequired,value:t().string};var Ma=Ct;const Mt=({intlLabel:e,error:a,modifiedData:r,name:o,onChange:s,options:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),p=m(e),f=a?m({id:a,defaultMessage:a}):"",y=g=>{s({target:{name:o,value:g,type:"select"}}),c&&(g==="biginteger"&&c!=="biginteger"&&(r.default!==void 0&&r.default!==null&&s({target:{name:"default",value:null}}),r.max!==void 0&&r.max!==null&&s({target:{name:"max",value:null}}),r.min!==void 0&&r.min!==null&&s({target:{name:"min",value:null}})),["decimal","float","integer"].includes(g)&&c==="biginteger"&&(r.default!==void 0&&r.default!==null&&s({target:{name:"default",value:null}}),r.max!==void 0&&r.max!==null&&s({target:{name:"max",value:null}}),r.min!==void 0&&r.min!==null&&s({target:{name:"min",value:null}})))};return n.createElement(l.Select,{error:f,label:p,id:o,name:o,onChange:y,value:c||""},i.map(({metadatas:{intlLabel:g,disabled:C,hidden:M},key:N,value:L})=>n.createElement(l.Option,{key:N,value:L,disabled:C,hidden:M},m(g))))};Mt.defaultProps={error:void 0,value:""},Mt.propTypes={error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,modifiedData:t().object.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,options:t().arrayOf(t().shape({metadatas:t().shape({intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired}).isRequired,disabled:t().bool,hidden:t().bool}).isRequired,key:t().oneOfType([t().string,t().number]).isRequired,value:t().oneOfType([t().string,t().number]).isRequired}).isRequired).isRequired,value:t().string};var Ea=Mt;const Et=({description:e,error:a,intlLabel:r,modifiedData:o,name:s,onChange:i,value:c})=>{const{formatMessage:m}=(0,E.useIntl)(),p=(0,n.useRef)(i),f=o?.displayName||"";(0,n.useEffect)(()=>{f?p.current({target:{name:s,value:(0,an.Z)(f)}}):p.current({target:{name:s,value:""}})},[f,s]);const y=a?m({id:a,defaultMessage:a}):"",g=e?m({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):"",C=m(r);return n.createElement(l.TextInput,{error:y,label:C,id:s,hint:g,name:s,onChange:i,value:c||""})};Et.defaultProps={description:null,error:null,value:null},Et.propTypes={description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,modifiedData:t().object.isRequired,name:t().string.isRequired,onChange:t().func.isRequired,value:t().string};var Ra=Et;const sn=({form:e,formErrors:a,genericInputProps:r,modifiedData:o,onChange:s})=>{const{formatMessage:i}=(0,E.useIntl)();return e.map((c,m)=>c.items.length===0?null:n.createElement(l.Box,{key:m},c.sectionTitle&&n.createElement(l.Box,{paddingBottom:4},n.createElement(l.Typography,{variant:"delta",as:"h3"},i(c.sectionTitle))),n.createElement(l.Grid,{gap:4},c.items.map((p,f)=>{const y=`${m}.${f}`,g=h()(o,p.name,""),C=Object.keys(a).find(N=>N===p.name),M=C?a[C].id:h()(a,[...p.name.split(".").filter(N=>N!=="componentToCreate"),"id"],null);return p.type==="pushRight"?n.createElement(l.GridItem,{col:p.size||6,key:p.name||y},n.createElement("div",null)):n.createElement(l.GridItem,{col:p.size||6,key:p.name||y},n.createElement(b.GenericInput,{...p,...r,error:M,onChange:s,value:g}))}))))};sn.propTypes={form:t().arrayOf(t().object).isRequired,formErrors:t().object.isRequired,genericInputProps:t().object.isRequired,modifiedData:t().object.isRequired,onChange:t().func.isRequired};var on=sn;const Rt=({description:e,disabled:a,error:r,intlLabel:o,labelAction:s,name:i,onChange:c,placeholder:m,value:p})=>{const{formatMessage:f}=(0,E.useIntl)(),y=r?f({id:r,defaultMessage:r}):"",g=e?f({id:e.id,defaultMessage:e.defaultMessage},{...e.values}):"",C=f(o),M=m?f({id:m.id,defaultMessage:m.defaultMessage},{...m.values}):"",N=Array.isArray(p)?p.join(`
122
+ `):"",L=U=>{const A=U.target.value.split(`
123
+ `);c({target:{name:i,value:A}})};return n.createElement(l.Textarea,{disabled:a,error:y,label:C,labelAction:s,id:i,hint:g,name:i,onChange:L,placeholder:M,value:N},N)};Rt.defaultProps={description:null,disabled:!1,error:"",labelAction:void 0,placeholder:null,value:""},Rt.propTypes={description:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),disabled:t().bool,error:t().string,intlLabel:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}).isRequired,labelAction:t().element,name:t().string.isRequired,onChange:t().func.isRequired,placeholder:t().shape({id:t().string.isRequired,defaultMessage:t().string.isRequired,values:t().object}),value:t().oneOfType([t().array,t().string])};var xa=Rt,Aa=(e,a)=>{const r=h()(e,["contentType","schema","kind"],"");return r==="singleType"||r===a.kind?!0:h()(e,["contentType","schema","attributes"],[]).filter(({relation:i,type:c,targetAttribute:m})=>{const p=(0,mt.Z)(i,m);return c==="relation"&&!["oneWay","manyWay"].includes(p)}).length===0},Za=(e="",a,r)=>{const o=["text","email","richtext","password","number","enumeration","date","media","boolean","json","relation"],s=e==="contentType",i=r.includes(a),c=!s&&!i;return s?[[...o,"uid"],["component","dynamiczone"]]:c?[o,["component"]]:[o]},ln=e=>e.reduce((a,r)=>{const o=r.items.reduce((s,i)=>(i.name&&s.push(i.name),s),[]);return[...a,...o]},[]),T=u(5173),ke=u(2158),Fa={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"}}]}]}},un=/^[A-Za-z][-_0-9A-Za-z]*$/,Sa=e=>{const a={name:T.Z_().matches(un,b.translatedErrors.regex).test({name:"nameNotAllowed",message:b.translatedErrors.unique,test(r){return r?!e.includes(r?.toLowerCase()):!1}}).required(b.translatedErrors.required)};return T.Ry(a)},Na=(e,a,r)=>{const o={displayName:T.Z_().test({name:"nameAlreadyUsed",message:b.translatedErrors.unique,test(s){if(!s)return!1;const i=(0,ke.N)(s,r);return!e.includes(i)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(s){return s?!a.includes(s?.trim()?.toLowerCase()):!1}}).required(b.translatedErrors.required),category:T.Z_().matches(un,b.translatedErrors.regex).required(b.translatedErrors.required),icon:T.Z_()};return T.Ry(o)},xt={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}]},Be={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"}}]}]},advanced(){return[]}},F={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"}}},qa={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:[F.required,F.private]}]}},component({repeatable:e},a){return a==="1"?{sections:Be.advanced("componentToCreate")}:e?{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.private,F.max,F.min]}]}:{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.private]}]}},date({type:e}){return{sections:[{sectionTitle:null,items:[{...F.default,type:e||"date",value:null,withDefaultValue:!1,disabled:!e,autoFocus:!1}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.unique,F.private]}]}},dynamiczone(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.max,F.min]}]}},email(){return{sections:[{sectionTitle:null,items:[{...F.default,type:"email"}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.unique,F.maxLength,F.minLength,F.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((a,r)=>e.enum.indexOf(a)===r&&a).map(a=>({key:a,value:a,metadatas:{intlLabel:{id:`${a}.no-override`,defaultMessage:a}}}))]},{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:[F.required,F.private]}]}},json(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.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:[F.required,F.private]}]}},number(e){const a=e.type==="decimal"||e.type==="float"?"any":1;return{sections:[{sectionTitle:null,items:[{autoFocus:!0,name:"default",type:e.type==="biginteger"?"text":"number",step:a,intlLabel:{id:(0,d.Z)("form.attribute.settings.default"),defaultMessage:"Default value"},validations:{}}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.unique,F.max,F.min,F.private]}]}},password(){return{sections:[{sectionTitle:null,items:[F.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.maxLength,F.minLength,F.private]}]}},relation(){return{sections:[{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.private]}]}},richtext(){return{sections:[{sectionTitle:null,items:[F.default]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.maxLength,F.minLength,F.private]}]}},text(){return{sections:[{sectionTitle:null,items:[F.default,F.regex]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.unique,F.maxLength,F.minLength,F.private]}]}},uid(e){return{sections:[{sectionTitle:null,items:[{...F.default,disabled:Boolean(e.targetField),type:"text"}]},{sectionTitle:{id:"global.settings",defaultMessage:"Settings"},items:[F.required,F.maxLength,F.minLength,F.private]}]}}};const xe={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 La={component(e,a){if(a==="1"){const r=e.createComponent===!0?Be.base("componentToCreate."):[];return{sections:[{sectionTitle:null,items:[xt]},...r]}}return{sections:[{sectionTitle:null,items:[xe,{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:[xe,{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:[xe]},{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:
124
+ morning
125
+ noon
126
+ evening`},validations:{required:!0}}]}]}},media(){return{sections:[{sectionTitle:null,items:[xe]},{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:[xe,{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:[xe]},{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:[xe]},{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,a,r){const o=r.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:[{...xe,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]}]}]}}},dn={advanced:qa,base:La},Oa={sections:[{sectionTitle:null,items:[xe]}]},Ia=u(91815),Da=u.n(Ia),Pa=u(40791),ka=u.n(Pa),At=e=>ka()(e,{decamelize:!1,lowercase:!1,separator:"_"}),Ba=u(78746),Zt=u.n(Ba);const cn=/^[A-Za-z][_0-9A-Za-z]*$/,mn=e=>({name:"attributeNameAlreadyUsed",message:b.translatedErrors.unique,test(a){return a?!e.includes(a):!1}}),fs=(e,a,r)=>{const o=e?.schema?.attributes??{};return Object.keys(o).filter(s=>a?s!==r:!0)},Ft=e=>({name:"forbiddenAttributeName",message:(0,d.Z)("error.attributeName.reserved-name"),test(a){return a?!e.includes(a):!1}}),v={default:()=>T.Z_().nullable(),max:()=>T.Rx().integer().nullable(),min:()=>T.Rx().integer().when("max",(e,a)=>e?a.max(e,(0,d.Z)("error.validation.minSupMax")):a).nullable(),maxLength:()=>T.Rx().integer().positive((0,d.Z)("error.validation.positive")).nullable(),minLength:()=>T.Rx().integer().min(0).when("maxLength",(e,a)=>e?a.max(e,(0,d.Z)("error.validation.minSupMax")):a).nullable(),name(e,a){return T.Z_().test(mn(e)).test(Ft(a)).matches(cn,b.translatedErrors.regex).required(b.translatedErrors.required)},required:()=>T.O7(),type:()=>T.Z_().required(b.translatedErrors.required),unique:()=>T.O7().nullable()},St=(e,a)=>({name:v.name(e,a),type:v.type(),default:v.default(),unique:v.unique(),required:v.required(),maxLength:v.maxLength(),minLength:v.minLength(),regex:T.Z_().test({name:"isValidRegExpPattern",message:(0,d.Z)("error.validation.regex"),test(o){return new RegExp(o)!==null}}).nullable()}),Nt={name:"isMinSuperiorThanMax",message:(0,d.Z)("error.validation.minSupMax"),test(e){if(!e)return!0;const{max:a}=this.parent;return!a||Number.isNaN(Zt()(e))?!0:Zt()(a)>=Zt()(e)}};var qt={date(e,a){const r={name:v.name(e,a),type:v.type()};return T.Ry(r)},datetime(e,a){const r={name:v.name(e,a),type:v.type()};return T.Ry(r)},time(e,a){const r={name:v.name(e,a),type:v.type()};return T.Ry(r)},default(e,a){const r={name:v.name(e,a),type:v.type()};return T.Ry(r)},biginteger(e,a){const r={name:v.name(e,a),type:v.type(),default:T.Z_().nullable().matches(/^-?\d*$/),unique:v.unique(),required:v.required(),max:T.Z_().nullable().matches(/^-?\d*$/,b.translatedErrors.regex),min:T.Z_().nullable().test(Nt).matches(/^-?\d*$/,b.translatedErrors.regex)};return T.Ry(r)},boolean(e,a){const r={name:v.name(e,a),default:T.O7().nullable(),required:v.required(),unique:v.unique()};return T.Ry(r)},component(e,a){const r={name:v.name(e,a),type:v.type(),required:v.required(),max:v.max(),min:v.min(),component:T.Z_().required(b.translatedErrors.required)};return T.Ry(r)},decimal(e,a){const r={name:v.name(e,a),type:v.type(),default:T.Rx(),required:v.required(),max:T.Rx(),min:T.Rx().test(Nt)};return T.Ry(r)},dynamiczone(e,a){const r={name:v.name(e,a),type:v.type(),required:v.required(),max:v.max(),min:v.min()};return T.Ry(r)},email(e,a){const r={name:v.name(e,a),type:v.type(),default:T.Z_().email().nullable(),unique:v.unique(),required:v.required(),maxLength:v.maxLength(),minLength:v.minLength()};return T.Ry(r)},enumeration(e,a){const r=/^[_A-Za-z][_0-9A-Za-z]*$/,o={name:T.Z_().test(mn(e)).test(Ft(a)).matches(r,b.translatedErrors.regex).required(b.translatedErrors.required),type:v.type(),default:v.default(),unique:v.unique(),required:v.required(),enum:T.IX().of(T.Z_()).min(1,b.translatedErrors.min).test({name:"areEnumValuesUnique",message:(0,d.Z)("error.validation.enum-duplicate"),test(s){return!Da()(s.map(At).filter((c,m,p)=>p.indexOf(c)!==m)).length}}).test({name:"doesNotHaveEmptyValues",message:(0,d.Z)("error.validation.enum-empty-string"),test:s=>!s.map(At).some(i=>i==="")}).test({name:"doesMatchRegex",message:(0,d.Z)("error.validation.enum-regex"),test:s=>s.map(At).every(i=>r.test(i))}),enumName:T.Z_().nullable()};return T.Ry(o)},float(e,a){const r={name:v.name(e,a),type:v.type(),required:v.required(),default:T.Rx(),max:T.Rx(),min:T.Rx().test(Nt)};return T.Ry(r)},integer(e,a){const r={name:v.name(e,a),type:v.type(),default:T.Rx().integer(),unique:v.unique(),required:v.required(),max:v.max(),min:v.min()};return T.Ry(r)},json(e,a){const r={name:v.name(e,a),type:v.type(),required:v.required(),unique:v.unique()};return T.Ry(r)},media(e,a){const r={name:v.name(e,a),type:v.type(),multiple:T.O7(),required:v.required(),allowedTypes:T.IX().of(T.Z_().oneOf(["images","videos","files","audios"])).min(1).nullable()};return T.Ry(r)},password(e,a){const r={name:v.name(e,a),type:v.type(),default:v.default(),unique:v.unique(),required:v.required(),maxLength:v.maxLength(),minLength:v.minLength()};return T.Ry(r)},relation(e,a,r,{initialData:o,modifiedData:s}){const i={name:v.name(e,a),target:T.Z_().required(b.translatedErrors.required),relation:T.Z_().required(),type:T.Z_().required(),targetAttribute:T.Vo(()=>{const c=(0,mt.Z)(s.relation,s.targetAttribute);if(c==="oneWay"||c==="manyWay")return T.Z_().nullable();let m=T.Z_().test(Ft(a)),f=[...r.map(({name:y})=>y),s.name].filter(y=>y!==o.targetAttribute);return m.matches(cn,b.translatedErrors.regex).test({name:"forbiddenTargetAttributeName",message:(0,d.Z)("error.validation.relation.targetAttribute-taken"),test(y){return y?!f.includes(y):!1}}).required(b.translatedErrors.required)})};return T.Ry(i)},richtext(e,a){const r={name:v.name(e,a),type:v.type(),default:v.default(),unique:v.unique(),required:v.required(),maxLength:v.maxLength(),minLength:v.minLength()};return T.Ry(r)},string(e,a){const r=St(e,a);return T.Ry(r)},text(e,a){const r=St(e,a);return T.Ry(r)},uid(e,a){const r=St(e,a);return T.Ry(r)}};const pn={name:"displayName",type:"text",intlLabel:{id:(0,d.Z)("contentType.displayName.label"),defaultMessage:"Display name"}};var Lt={advanced:{default(){const e=[{intlLabel:{id:(0,d.Z)("contentType.draftAndPublish.label"),defaultMessage:"Draft & publish"},description:{id:(0,d.Z)("contentType.draftAndPublish.description"),defaultMessage:"Allows writing a draft version of an entry, before it is published"},name:"draftAndPublish",type:"toggle-draft-publish",validations:{}}];return window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)&&e.push({intlLabel:{id:(0,d.Z)("contentType.reviewWorkflows.label"),defaultMessage:"Review Workflows"},description:{id:(0,d.Z)("contentType.reviewWorkflows.description"),defaultMessage:"Allows having content in different review stages"},name:"reviewWorkflows",type:"toggle-review-workflows",validations:{}}),{sections:[{items:e}]}}},base:{create(){return{sections:[{sectionTitle:null,items:[pn,{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:[pn,{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"}]}]}]}}}},wa=({usedContentTypeNames:e=[],reservedModels:a=[],singularNames:r=[],pluralNames:o=[]})=>{const s={displayName:T.Z_().test({name:"nameAlreadyUsed",message:b.translatedErrors.unique,test(i){if(!i)return!1;const c=(0,ke.E)(i);return!e.includes(c)}}).test({name:"nameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!a.includes(i?.trim()?.toLowerCase()):!1}}).required(b.translatedErrors.required),pluralName:T.Z_().test({name:"pluralNameAlreadyUsed",message:b.translatedErrors.unique,test(i){return i?!o.includes(i):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.pluralName-used"),test(i,c){return i?c.parent.singularName!==i:!1}}).test({name:"pluralNameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!a.includes(i?.trim()?.toLowerCase()):!1}}).required(b.translatedErrors.required),singularName:T.Z_().test({name:"singularNameAlreadyUsed",message:b.translatedErrors.unique,test(i){return i?!r.includes(i):!1}}).test({name:"pluralAndSingularAreUnique",message:(0,d.Z)("error.contentType.singularName-used"),test(i,c){return i?c.parent.pluralName!==i:!1}}).test({name:"singularNameNotAllowed",message:(0,d.Z)("error.contentTypeName.reserved-name"),test(i){return i?!a.includes(i?.trim()?.toLowerCase()):!1}}).required(b.translatedErrors.required),draftAndPublish:T.O7(),kind:T.Z_().oneOf(["singleType","collectionType"]),reviewWorkflows:T.O7()};return T.Ry(s)},Ot={advanced:{default(){return{sections:Be.advanced("componentToCreate.")}}},base:{createComponent(){return{sections:[{sectionTitle:null,items:[xt]},...Be.base("componentToCreate.")]}},default(){return{sections:[{sectionTitle:null,items:[xt]},{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}]}]}}}},gn=(e,a)=>{e.forEach(r=>{if(!("sectionTitle"in r)){a[0].items.push(r);return}a.push(r)})},fn=(e,a)=>e.filter(({name:r})=>r!==a.initialData.name).map(({name:r})=>r),Ie={customField:{schema({schemaAttributes:e,attributeType:a,customFieldValidator:r,reservedNames:o,schemaData:s,ctbFormsAPI:i}){const c=fn(e,s),m=qt[a](c,o.attributes);return i.makeCustomFieldValidator(m,r,c,o.attributes,s)},form:{base({customField:e}){const a=[{sectionTitle:null,items:[xe]}];return e.options?.base&&gn(e.options.base,a),{sections:a}},advanced({customField:e,data:a,step:r,extensions:o,...s}){const i=[{sectionTitle:null,items:[]}],c=o.getAdvancedForm(["attribute",e.type],{data:a,type:e.type,step:r,...s});if(e.options?.advanced&&gn(e.options.advanced,i),c){const m={sectionTitle:{id:(0,d.Z)("modalForm.custom-fields.advanced.settings.extended"),defaultMessage:"Extended settings"},items:c};i.push(m)}return{sections:i}}}},attribute:{schema(e,a,r,o,s,i){const c=h()(e,["schema","attributes"],[]),m=fn(c,s);try{let p=qt[a](m,r.attributes,o,s);return i.makeValidator(["attribute",a],p,m,r.attributes,o,s)}catch(p){return console.error("Error yup build schema",p),qt.default(m,r.attributes)}},form:{advanced({data:e,type:a,step:r,extensions:o,...s}){try{const i=dn.advanced[a](e,r).sections,c=o.getAdvancedForm(["attribute",a],{data:e,type:a,step:r,...s});return{sections:i.reduce((p,f)=>(f.sectionTitle===null?p.push(f):p.push({...f,items:[...f.items,...c]}),p),[])}}catch(i){return console.error(i),{sections:[]}}},base({data:e,type:a,step:r,attributes:o}){try{return dn.base[a](e,r,o)}catch{return Oa}}}},contentType:{schema(e,a,r,o,s,i){const c=Object.values(i).map(C=>C.schema.singularName),m=Object.values(i).map(C=>h()(C,["schema","pluralName"],"")),p=a?e.filter(C=>C!==r):e,f=a?c.filter(C=>h()(i,[r,"schema","singularName"],"")!==C):c,y=a?m.filter(C=>h()(i,[r,"schema","pluralName"],"")!==C):m,g=wa({usedContentTypeNames:p,reservedModels:o.models,singularNames:f,pluralNames:y});return s.makeValidator(["contentType"],g,p,o.models,f,y)},form:{base({actionType:e}){return e==="create"?Lt.base.create():Lt.base.edit()},advanced({extensions:e}){const a=Lt.advanced.default().sections.map(o=>o.items).flat(),r=e.getAdvancedForm(["contentType"]);return{sections:[{items:[...a,...r]}]}}}},component:{schema(e,a,r,o=!1,s=null){const i=o?e.filter(c=>c!==s):e;return Na(i,r.models,a)},form:{advanced(){return{sections:Be.advanced()}},base(){return{sections:Be.base()}}}},addComponentToDynamicZone:{form:{advanced(){return Ot.advanced.default()},base({data:e}){return h()(e,"createComponent",!1)?Ot.base.createComponent():Ot.base.default()}}},editCategory:{schema(e,a){const r=e.filter(o=>o!==a.name).map(o=>ze()(o));return Sa(r)},form:{advanced:()=>({sections:[]}),base(){return Fa.base}}}},yn=u(98178),$a=u(25061);const Ua=()=>e=>e[`${P.Z}_formModal`]||$a.E;var ja=()=>(0,yn.P1)(Ua(),e=>e),Wa=()=>{const{onCloseModal:e,onNavigateToChooseAttributeModal:a,onNavigateToAddCompoToDZModal:r,onNavigateToCreateComponentStep2:o,actionType:s,attributeName:i,attributeType:c,customFieldUid:m,categoryName:p,dynamicZoneTarget:f,forTarget:y,modalType:g,isOpen:C,kind:M,step:N,targetUid:L}=(0,le.Z)(),U=(0,b.useCustomFields)().get(m),A=(0,n.useRef)(),R=(0,n.useMemo)(ja,[]),S=(0,ie.useDispatch)(),V=(0,b.useNotification)(),H=(0,ie.useSelector)($=>R($),ie.shallowEqual),{push:ue}=(0,O.useHistory)(),{trackUsage:D}=(0,b.useTracking)(),{formatMessage:_}=(0,E.useIntl)(),{getPlugin:ye}=(0,b.useStrapiApp)(),ge=ye(P.Z).apis.forms,we=ge.components.inputs,{addAttribute:Y,addCustomFieldAttribute:$e,addCreatedComponentToDynamicZone:se,allComponentsCategories:G,changeDynamicZoneComponents:Z,contentTypes:Ue,components:He,createSchema:je,deleteCategory:Pt,deleteData:_e,editCategory:kt,editCustomFieldAttribute:Bt,submitData:wt,modifiedData:de,nestedComponents:$t,setModifiedData:Ut,sortedContentTypesList:jt,updateSchema:Wt,reservedNames:Se}=(0,Oe.Z)(),{componentToCreate:Ke,formErrors:Ne,initialData:fe,isCreatingComponentWhileAddingAField:De,modifiedData:k}=H,q=y==="contentType"||y==="component"?[y]:[y,L];(0,n.useEffect)(()=>{if(C){const $=jt.filter(Vt);g==="editCategory"&&Ut(),s==="edit"&&g==="attribute"&&y==="contentType"&&D("willEditFieldOfContentType");const ve=[...q,"schema","attributes"],Me=Tt(h()(de,ve,[]),f)||null;if(g==="editCategory"&&s==="edit"&&S({type:Q._H,modalType:g,actionType:s,data:{name:p}}),g==="contentType"&&s==="create"&&S({type:Q._H,modalType:g,actionType:s,data:{draftAndPublish:!0,reviewWorkflows:!1},pluginOptions:{}}),g==="contentType"&&s==="edit"){const{displayName:j,draftAndPublish:ne,kind:Ee,pluginOptions:ce,pluralName:zr,reviewWorkflows:Gr,singularName:Vr}=h()(de,[...q,"schema"],{displayName:null,pluginOptions:{},singularName:null,pluralName:null});S({type:Q._H,actionType:s,modalType:g,data:{displayName:j,draftAndPublish:ne,kind:Ee,pluginOptions:ce,pluralName:zr,reviewWorkflows:Gr??!1,singularName:Vr}})}if(g==="component"&&s==="edit"){const j=h()(de,q,{});S({type:Q._H,actionType:s,modalType:g,data:{displayName:j.schema.displayName,category:j.category}})}if(g==="addComponentToDynamicZone"&&s==="edit"){const j={...Me,components:[],name:f,createComponent:!1,componentToCreate:{type:"component"}};S({type:Q.VZ,attributeToEdit:j})}if(c){const ne={...Tt(h()(de,ve,[]),i),name:i};c==="component"&&s==="edit"&&(ne.repeatable||J()(ne,"repeatable",!1)),S(g==="customField"?{type:Q.OY,customField:U,isEditing:s==="edit",modifiedDataToSetForEditing:ne,forTarget:y}:{type:Q.S0,attributeType:c,nameToSetForRelation:h()($,["0","title"],"error"),targetUid:h()($,["0","uid"],"error"),isEditing:s==="edit",modifiedDataToSetForEditing:ne,step:N,forTarget:y})}}else S({type:Q.c2})},[s,i,c,p,f,y,C,g]);const I=g==="contentType",w=g==="component",X=g==="attribute",be=g==="customField",he=c==="component"&&X,Te=s==="create",Ae=h()(k,"createComponent",!1)||De,We=N==="1",Sn=g==="editCategory",Nn=g==="chooseAttribute",zt=(0,ke.E)(k.displayName||""),Gt=h()(de,[...q,"schema","attributes"],null),Nr=async()=>{let $;const ve=Ae&&N==="1"?h()(k,"componentToCreate",{}):k;if(I)$=Ie.contentType.schema(Object.keys(Ue),s==="edit",h()(de,[...q,"uid"],null),Se,ge,Ue);else if(w)$=Ie.component.schema(Object.keys(He),k.category||"",Se,s==="edit",h()(de,[...q,"uid"],null),ge);else if(be)$=Ie.customField.schema({schemaAttributes:h()(de,[...q,"schema","attributes"],[]),attributeType:U.type,reservedNames:Se,schemaData:{modifiedData:k,initialData:fe},ctbFormsAPI:ge,customFieldValidator:U.options?.validator});else if(he&&Ae&&We)$=Ie.component.schema(Object.keys(He),h()(k,"componentToCreate.category",""),Se,ge);else if(X&&!We){const Me=c==="relation"?"relation":k.type;let j=[];if(Me==="relation"){const ne=h()(k,["target"],null);j=h()(Ue,[ne,"schema","attributes"],[]).filter(({name:ce})=>s!=="edit"?!0:ce!==fe.targetAttribute)}$=Ie.attribute.schema(h()(de,q,{}),Me,Se,j,{modifiedData:k,initialData:fe},ge)}else if(Sn)$=Ie.editCategory.schema(G,fe,ge);else if(We&&Ae)$=Ie.component.schema(Object.keys(He),h()(k,"componentToCreate.category",""),Se,ge);else return;await $.validate(ve,{abortEarly:!1})},qn=(0,n.useCallback)(({target:{name:$,value:ve,type:Me,...j}})=>{const ne=["enumName","max","min","maxLength","minLength","regex","default"];let Ee;ne.includes($)&&ve===""?Ee=null:Ee=ve;const ce=Object.assign({},Ne);$==="max"&&delete ce.min,$==="maxLength"&&delete ce.minLength,delete ce[$],S({type:Q.Ey,errors:ce}),S({type:Q.P0,keys:$.split("."),value:Ee,...j})},[S,Ne]),Ce=async($,ve=Te)=>{$.preventDefault();try{await Nr(),Or(ve);const Me=y==="components"?L:zt;if(I)if(Te)je({...k,kind:M},g,zt),ue({pathname:`/plugins/${P.Z}/content-types/${zt}`}),a({forTarget:y,targetUid:Me});else{Aa(de,k)?(e(),wt(k)):V({type:"warning",message:{id:"notification.contentType.relations.conflict"}});return}else if(g==="component")if(Te){const j=(0,ke.N)(k.displayName,k.category),{category:ne,...Ee}=k;je(Ee,"component",j,ne),ue({pathname:`/plugins/${P.Z}/component-categories/${ne}/${j}`}),a({forTarget:y,targetUid:j})}else{Wt(k,g,L),e();return}else if(Sn){if(ze()(fe.name)===ze()(k.name)){e();return}kt(fe.name,k);return}else if(be){const j={attributeToSet:{...k,customField:m},forTarget:y,targetUid:L,initialAttribute:fe};s==="edit"?Bt(j):$e(j),ve?a({forTarget:y,targetUid:Me}):e();return}else if(X&&!Ae){if(c==="dynamiczone"){Y(k,y,L,s==="edit",fe),Te?(S({type:Q.I}),A.current._handlers.setSelectedTabIndex(0),r({dynamicZoneTarget:k.name})):e();return}if(!he){Y(k,y,L,s==="edit",fe),ve?a({forTarget:y,targetUid:Me}):e();return}if(We){o(),S({type:Q.yC,forTarget:y});return}Y(k,y,L,s==="edit",fe,!0),ve?a({forTarget:y,targetUid:L}):e()}else if(X&&Ae){if(We){D("willCreateComponentFromAttributesModal"),S({type:Q.oF,forTarget:y}),o();return}const{category:j,type:ne,...Ee}=Ke,ce=(0,ke.N)(Ke.displayName,j);je(Ee,ne,ce,j,Ae),Y(k,y,L,!1),S({type:Q.c2}),ve?a({forTarget:"components",targetUid:ce}):e();return}else{if(We)if(Ae){const{category:j,type:ne,...Ee}=k.componentToCreate,ce=(0,ke.N)(k.componentToCreate.displayName,j);je(Ee,ne,ce,j,Ae),se(f,[ce]),a({forTarget:"components",targetUid:ce})}else Z(f,k.components),e();else console.error("This case is not handled");return}S({type:Q.c2})}catch(Me){const j=(0,b.getYupInnerErrors)(Me);console.log({err:Me,errors:j}),S({type:Q.Ey,errors:j})}},qr=()=>{window.confirm(_({id:"window.confirm.close-modal.file",defaultMessage:"Are you sure? Your changes will be lost."}))&&(e(),S({type:Q.c2}))},Ln=()=>{et()(k,fe)?(e(),S({type:Q.c2})):qr()},Lr=$=>{if($==="advanced"){if(I){D("didSelectContentTypeSettings");return}y==="contentType"&&D("didSelectContentTypeFieldSettings")}},Or=$=>{g==="attribute"&&y==="contentType"&&c!=="dynamiczone"&&$&&D("willAddMoreFieldToContentType")},Ir=()=>!!(g==="editCategory"||g==="component"||Xe()(k,"createComponent")),Dr=Za(y,L,$t);if(!C||!g)return null;const On=h()(Ie,[g,"form"],{advanced:()=>({sections:[]}),base:()=>({sections:[]})}),Pr=y==="components"||y==="component",In={customInputs:{"allowed-types-select":Un,"boolean-radio-group":oa,"checkbox-with-number-field":ia,"content-type-radio-group":la,"radio-group":dt,relation:ba,"select-category":va,"select-component":Ta,"select-components":Ca,"select-default-boolean":ra,"select-number":Ea,"select-date":Ma,"toggle-draft-publish":Qn,"toggle-review-workflows":_n,"text-plural":ha,"text-singular":Ra,"textarea-enum":xa,...we},componentToCreate:Ke,dynamicZoneTarget:f,formErrors:Ne,isAddingAComponentToAnotherComponent:Pr,isCreatingComponentWhileAddingAField:De,mainBoxHeader:h()(de,[...q,"schema","displayName"],""),modifiedData:k,naturePickerType:y,isCreating:Te,targetUid:L,forTarget:y},Dn=On.advanced({data:k,type:c,step:N,actionType:s,attributes:Gt,extensions:ge,forTarget:y,contentTypeSchema:de.contentType||{},customField:U}).sections,Pn=On.base({data:k,type:c,step:N,actionType:s,attributes:Gt,extensions:ge,forTarget:y,contentTypeSchema:de.contentType||{},customField:U}).sections,kr=ln(Pn),Br=ln(Dn),wr=Object.keys(Ne).some($=>kr.includes($)),$r=Object.keys(Ne).some($=>Br.includes($)),Ur=h()(Ue,[L,"schema","kind"]),jr=()=>s==="edit"&&Gt.every(({name:$})=>$!==k?.name),Wr=()=>{jr()&&D("didEditFieldNameOnContentType")};return n.createElement(l.ModalLayout,{onClose:Ln,labelledBy:"title"},n.createElement(ea,{actionType:s,attributeName:i,categoryName:p,contentTypeKind:M,dynamicZoneTarget:f,modalType:g,forTarget:y,targetUid:L,attributeType:c,customFieldUid:m}),Nn&&n.createElement(Jn,{attributes:Dr,forTarget:y,kind:Ur||"collectionType"}),!Nn&&n.createElement("form",{onSubmit:Ce},n.createElement(l.ModalBody,null,n.createElement(l.TabGroup,{label:"todo",id:"tabs",variant:"simple",ref:A,onTabChange:$=>{$===1&&Lr("advanced")}},n.createElement(l.Flex,{justifyContent:"space-between"},n.createElement(aa,{actionType:s,forTarget:y,kind:M,step:N,modalType:g,attributeType:c,attributeName:i,customField:U}),n.createElement(l.Tabs,null,n.createElement(l.Tab,{hasError:wr},_({id:(0,d.Z)("popUpForm.navContainer.base"),defaultMessage:"Basic settings"})),n.createElement(l.Tab,{hasError:$r,disabled:Ir()},_({id:(0,d.Z)("popUpForm.navContainer.advanced"),defaultMessage:"Advanced settings"})))),n.createElement(l.Divider,null),n.createElement(l.Box,{paddingTop:6},n.createElement(l.TabPanels,null,n.createElement(l.TabPanel,null,n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:6},n.createElement(on,{form:Pn,formErrors:Ne,genericInputProps:In,modifiedData:k,onChange:qn}))),n.createElement(l.TabPanel,null,n.createElement(l.Flex,{direction:"column",alignItems:"stretch",gap:6},n.createElement(on,{form:Dn,formErrors:Ne,genericInputProps:In,modifiedData:k,onChange:qn}))))))),n.createElement(l.ModalFooter,{endActions:n.createElement(ta,{deleteCategory:Pt,deleteContentType:_e,deleteComponent:_e,categoryName:fe.name,isAttributeModal:g==="attribute",isCustomFieldModal:g==="customField",isComponentToDzModal:g==="addComponentToDynamicZone",isComponentAttribute:c==="component",isComponentModal:g==="component",isContentTypeModal:g==="contentType",isCreatingComponent:s==="create",isCreatingDz:s==="create",isCreatingComponentAttribute:k.createComponent||!1,isCreatingComponentInDz:k.createComponent||!1,isCreatingComponentWhileAddingAField:De,isCreatingContentType:s==="create",isEditingAttribute:s==="edit",isDzAttribute:c==="dynamiczone",isEditingCategory:g==="editCategory",isInFirstComponentStep:N==="1",onSubmitAddComponentAttribute:Ce,onSubmitAddComponentToDz:Ce,onSubmitCreateComponent:Ce,onSubmitCreateContentType:Ce,onSubmitCreateDz:Ce,onSubmitEditAttribute:Ce,onSubmitEditCategory:Ce,onSubmitEditComponent:Ce,onSubmitEditContentType:Ce,onSubmitEditCustomFieldAttribute:Ce,onSubmitEditDz:Ce,onClickFinish:Wr}),startActions:n.createElement(l.Button,{variant:"tertiary",onClick:Ln},_({id:"app.components.Button.cancel",defaultMessage:"Cancel"}))})))},bn=e=>e.reduce((a,r)=>(a[r.uid]=r,a),{}),za=(e,a,r,o)=>{const s=a.reduce((m,p)=>{const f=h()(r,p,{});return m[p]=f,m},{});return{[o?"contentType":"component"]:e,components:s}},Ga=(e,a)=>{const r=Object.keys(e).map(o=>h()(e,[o,...a],""));return(0,Le.Z)(r)},Va=u(13339);const Ha=e=>{const a=Object.keys(e).reduce((r,o)=>{const s=e?.[o]?.schema?.attributes??[],i=Ka(s);return[...r,...i]},[]);return(0,Le.Z)(a)},Ka=e=>e.reduce((a,r)=>{const{type:o,component:s}=r;return o==="component"&&a.push(s),a},[]);var hn=Ha;const Ya=e=>{const a=Object.keys(e).reduce((r,o)=>{const s=h()(e,[o],{}),i=s.uid;return Xa(s)&&r.push(i),r},[]);return(0,Le.Z)(a)},Xa=e=>h()(e,["schema","attributes"],[]).some(r=>{const{type:o}=r;return o==="component"});var Ja=u(9086),vn=u.n(Ja),Qa=u(98978),It=u.n(Qa),_a=u(39935),er=u.n(_a);const tr=(e,a)=>{const r=Object.keys(e).filter(o=>{const s=h()(e,o,{}),i=h()(a,o,{}),c=h()(s,["isTemporary"],!1),m=!et()(s,i);return c||m});return(0,Le.Z)(r)},nr=(e,a)=>{const r=Cn(h()(e,"schema.attributes",[]),a),o=h()(e,"isTemporary",!1)?{tmpUID:e.uid}:{uid:e.uid};return Object.assign({},o,{category:e.category},vn()(e.schema,"attributes"),{attributes:r})},Tn=(e,a=!1)=>{const r=h()(e,"uid",null),o=Cn(h()(e,"schema.attributes",[]),r),s=a?{category:h()(e,"category","")}:{},i=Object.assign(s,vn()(e.schema,"attributes"),{attributes:o});return delete i.uid,delete i.isTemporary,delete i.visible,delete i.restrictRelationsTo,i},Cn=(e,a)=>e.reduce((r,{name:o,...s})=>{const i=s,c=i.target===a,m=i.type==="relation",p=h()(i,"targetAttribute",null);if(!c)if(m){const f=Object.assign({},i,{targetAttribute:Mn(p)});r[o]=Qe(f)}else r[o]=Qe(i);if(c){const f=i.target,y=Object.assign({},i,{target:f,targetAttribute:Mn(p)});r[o]=Qe(y)}if(i.customField){const f={...i,type:"customField"};r[o]=Qe(f)}return r},{}),Mn=e=>e==="-"?null:e,Qe=e=>Object.keys(e).reduce((a,r)=>(e[r]!==null&&r!=="plugin"&&(a[r]=e[r]),a),{}),ar=(e,a,r,o=!1)=>tr(e,a).map(c=>{const m=h()(e,c,{});return nr(m,r,o)}),rr=e=>It()(Object.keys(e).map(a=>({visible:e[a].schema.visible,name:a,title:e[a].schema.displayName,plugin:e[a].plugin||null,uid:a,to:`/plugins/${P.Z}/content-types/${a}`,kind:e[a].schema.kind,restrictRelationsTo:e[a].schema.restrictRelationsTo})).filter(a=>a!==null),a=>er()(a.title)),En="did-not-kill-server",sr="server is down";function Ge(e,a){return new Promise(r=>{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(sr);if(!a)throw new Error(En);r(e)}).catch(o=>{setTimeout(()=>Ge(e,o.message!==En).then(r),100)})})}var or=e=>Object.values(e.attributes).filter(({type:r})=>r==="dynamiczone").every(({components:r})=>Array.isArray(r)&&r.length>0),re=u(31947),ir=u(54370);const lr=()=>e=>e[`${P.Z}_dataManagerProvider`]||ir.E;var ur=()=>(0,yn.P1)(lr(),e=>e);const dr=e=>Object.keys(e).reduce((a,r)=>{const o=e[r].schema;return a[r]={...e[r],schema:{...o,attributes:cr(o.attributes)}},a},{}),cr=e=>Object.keys(e).reduce((a,r)=>(a.push({...e[r],name:r}),a),[]);var Rn=dr;const Dt=({children:e,components:a,contentTypes:r,isLoading:o,isLoadingForDataToBeSet:s,initialData:i,modifiedData:c,reservedNames:m})=>{const p=(0,ie.useDispatch)(),f=(0,b.useNotification)(),{lockAppWithAutoreload:y,unlockAppWithAutoreload:g}=(0,b.useAutoReloadOverlayBlocker)(),{setCurrentStep:C}=(0,b.useGuidedTour)(),{getPlugin:M}=(0,b.useStrapiApp)(),{apis:N}=M(P.Z),{autoReload:L}=(0,b.useAppInfos)(),{formatMessage:U}=(0,E.useIntl)(),{trackUsage:A}=(0,b.useTracking)(),{refetchPermissions:R}=(0,b.useRBACProvider)(),{pathname:S}=(0,O.useLocation)(),{onCloseModal:V}=(0,le.Z)(),H=(0,O.useRouteMatch)(`/plugins/${P.Z}/content-types/:uid`),ue=(0,O.useRouteMatch)(`/plugins/${P.Z}/component-categories/:categoryUid/:componentUid`),D=(0,b.useFetchClient)(),{put:_,post:ye,del:Ve}=D,ge=(0,n.useRef)();ge.current=U;const we=L,Y=H!==null,$e=Y?"contentType":"component",se=Y?h()(H,"params.uid",null):h()(ue,"params.componentUid",null),G=(0,n.useRef)(),Z=Y?"content-types":"components";G.current=async()=>{try{const[{data:{data:q}},{data:{data:I}},{data:w}]=await Promise.all(["components","content-types","reserved-names"].map(Ae=>D.get(`/${P.Z}/${Ae}`))),X=bn(q),be=Rn(X),he=bn(I),Te=Rn(he);p({type:re.Id,components:be,contentTypes:Te,reservedNames:w})}catch(q){console.error({err:q}),f({type:"warning",message:{id:"notification.error"}})}},(0,n.useEffect)(()=>(G.current(),()=>{p({type:re.Zl})}),[]),(0,n.useEffect)(()=>{!o&&se&&Se()},[o,S,se]),(0,n.useEffect)(()=>{L||f({type:"info",message:{id:(0,d.Z)("notification.info.autoreaload-disable")}})},[L,f]);const Ue=(q,I,w,X=!1,be,he=!1)=>{const Te=X?re.JO:re.gz;p({type:Te,attributeToSet:q,forTarget:I,targetUid:w,initialAttribute:be,shouldAddComponentToData:he})},He=({attributeToSet:q,forTarget:I,targetUid:w,initialAttribute:X})=>{p({type:re.Ir,attributeToSet:q,forTarget:I,targetUid:w,initialAttribute:X})},je=({attributeToSet:q,forTarget:I,targetUid:w,initialAttribute:X})=>{p({type:re.Ly,attributeToSet:q,forTarget:I,targetUid:w,initialAttribute:X})},Pt=(q,I)=>{p({type:re.Uu,dynamicZoneTarget:q,componentsToAdd:I})},_e=(q,I,w,X,be=!1)=>{const he=I==="contentType"?re.Sh:re.VR;p({type:he,data:q,componentCategory:X,schemaType:I,uid:w,shouldAddComponentToData:be})},kt=(q,I)=>{p({type:re.o_,dynamicZoneTarget:q,newComponents:I})},Bt=(q,I,w="")=>{const X=q==="components"?re.lw:re.ai;q==="contentType"&&A("willDeleteFieldOfContentType"),p({type:X,mainDataKey:q,attributeToRemoveName:I,componentUid:w})},wt=async q=>{try{const I=`/${P.Z}/component-categories/${q}`,w=window.confirm(U({id:(0,d.Z)("popUpWarning.bodyMessage.category.delete")}));V(),w&&(y(),await Ve(I),await Ge(!0),await g(),await De())}catch(I){console.error({err:I}),f({type:"warning",message:{id:"notification.error"}})}finally{g()}},de=async()=>{try{const q=`/${P.Z}/${Z}/${se}`,I=h()(c,[$e,"isTemporary"],!1),w=window.confirm(U({id:(0,d.Z)(`popUpWarning.bodyMessage.${Y?"contentType":"component"}.delete`)}));if(V(),w){if(I){p({type:re.Ap});return}y(),await Ve(q),await Ge(!0),await g(),await De()}}catch(q){console.error({err:q}),f({type:"warning",message:{id:"notification.error"}})}finally{g()}},$t=async(q,I)=>{try{const w=`/${P.Z}/component-categories/${q}`;V(),y(),await _(w,I),await Ge(!0),await g(),await De()}catch(w){console.error({err:w}),f({type:"warning",message:{id:"notification.error"}})}finally{g()}},Ut=()=>{const q=Object.assign({},a,c.components);if(!Y){const w=h()(c,"component",{});J()(q,h()(w,["uid"],""),w)}const I=Ya(q);return(0,Le.Z)(I)},jt=()=>{const q=hn(a),I=hn(c.components||{});return(0,Le.Z)([...I,...q])},Wt=(q,I)=>{p({type:re.NG,dzName:q,componentToRemoveIndex:I})},Se=()=>{const q=Y?r:a,I=h()(q,se,{schema:{attributes:[]}}),w=(0,Va.Z)(I.schema.attributes,a),X=za(I,w,a,Y),be=h()(I,"isTemporary",!1)&&ee()(h()(I,"schema.attributes",[]))===0;p({type:re.xx,schemaToSet:X,hasJustCreatedSchema:be})},Ke=(0,n.useMemo)(()=>{const q=Y?r:a;return se==="create-content-type"?!1:!Object.keys(q).includes(se)&&!o},[a,r,se,Y,o]),Ne=(0,n.useMemo)(()=>{const q=Object.keys(r).filter(I=>h()(r,[I,"schema","visible"],!0)).sort();return h()(q,"0","create-content-type")},[r]);if(Ke)return n.createElement(O.Redirect,{to:`/plugins/${P.Z}/content-types/${Ne}`});const fe=async q=>{try{const I=h()(c,[$e,"isTemporary"],!1),w={components:ar(c.components,a,se,I)};if(Y){const he=N.forms.mutateContentTypeSchema({...Tn(c.contentType),...q},i.contentType);if(!or(he)){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}w.contentType=he,A("willSaveContentType")}else w.component=Tn(c.component,!0),A("willSaveComponent");y();const X=`/${P.Z}/${Z}`,be=I?X:`${X}/${se}`;if(I?await ye(be,w):await _(be,w),await Ge(!0),await g(),I&&(i.contentType?.schema.kind==="collectionType"||i.contentType?.schema.kind==="singleType")&&C("contentTypeBuilder.success"),Y){A("didSaveContentType");const he=h()(w,["contentType","schema","name"],""),Te=h()(i,["contentType","schema","name"],"");!I&&he!==Te&&A("didEditNameOfContentType")}else A("didSaveComponent");await De()}catch(I){Y||A("didNotSaveComponent"),console.error({err:I.response}),f({type:"warning",message:{id:"notification.error"}})}finally{g()}},De=async()=>{await R()},k=(q,I,w)=>{p({type:re.bi,data:q,schemaType:I,uid:w})};return n.createElement(Re.Z.Provider,{value:{addAttribute:Ue,addCustomFieldAttribute:He,addCreatedComponentToDynamicZone:Pt,allComponentsCategories:Ga(a,["category"]),changeDynamicZoneComponents:kt,components:a,componentsGroupedByCategory:ae()(a,"category"),componentsThatHaveOtherComponentInTheirAttributes:Ut(),contentTypes:r,createSchema:_e,deleteCategory:wt,deleteData:de,editCategory:$t,editCustomFieldAttribute:je,isInDevelopmentMode:we,initialData:i,isInContentTypeView:Y,modifiedData:c,nestedComponents:jt(),removeAttribute:Bt,removeComponentFromDynamicZone:Wt,reservedNames:m,setModifiedData:Se,sortedContentTypesList:rr(r),submitData:fe,updateSchema:k}},s?n.createElement(b.LoadingIndicatorPage,null):n.createElement(n.Fragment,null,e,we&&n.createElement(Wa,null)))};Dt.defaultProps={components:{}},Dt.propTypes={children:t().node.isRequired,components:t().object,contentTypes:t().object.isRequired,isLoading:t().bool.isRequired,isLoadingForDataToBeSet:t().bool.isRequired,initialData:t().object.isRequired,modifiedData:t().object.isRequired,reservedNames:t().object.isRequired};const mr=ur(),pr=(0,ie.connect)(mr,null);var gr=(0,qe.compose)(pr)((0,n.memo)(Dt)),fr=u(51216);const xn={actionType:null,attributeName:null,attributeType:null,categoryName:null,dynamicZoneTarget:null,forTarget:null,modalType:null,isOpen:!1,kind:null,step:null,targetUid:null,customFieldUid:null},An=({children:e})=>{const[a,r]=(0,n.useState)(xn),{trackUsage:o}=(0,b.useTracking)(),s=({attributeType:A,customFieldUid:R})=>{r(S=>({...S,actionType:"create",modalType:"customField",attributeType:A,customFieldUid:R}))},i=({attributeType:A,step:R})=>{a.forTarget==="contentType"&&o("didSelectContentTypeFieldType",{type:A}),r(S=>({...S,actionType:"create",modalType:"attribute",step:R,attributeType:A}))},c=({dynamicZoneTarget:A,targetUid:R})=>{r(S=>({...S,dynamicZoneTarget:A,targetUid:R,modalType:"addComponentToDynamicZone",forTarget:"contentType",step:"1",actionType:"edit",isOpen:!0}))},m=({forTarget:A,targetUid:R})=>{r(S=>({...S,actionType:"create",forTarget:A,targetUid:R,modalType:"chooseAttribute",isOpen:!0}))},p=A=>{r(R=>({...R,...A,isOpen:!0}))},f=A=>{r(R=>({...R,categoryName:A,actionType:"edit",modalType:"editCategory",isOpen:!0}))},y=({forTarget:A,targetUid:R,attributeName:S,attributeType:V,customFieldUid:H})=>{r(ue=>({...ue,modalType:"customField",customFieldUid:H,actionType:"edit",forTarget:A,targetUid:R,attributeName:S,attributeType:V,isOpen:!0}))},g=({forTarget:A,targetUid:R,attributeName:S,attributeType:V,step:H})=>{r(ue=>({...ue,modalType:"attribute",actionType:"edit",forTarget:A,targetUid:R,attributeName:S,attributeType:V,step:H,isOpen:!0}))},C=({modalType:A,forTarget:R,targetUid:S,kind:V})=>{r(H=>({...H,modalType:A,actionType:"edit",forTarget:R,targetUid:S,kind:V,isOpen:!0}))},M=()=>{r(xn)},N=({forTarget:A,targetUid:R})=>{r(S=>({...S,forTarget:A,targetUid:R,modalType:"chooseAttribute"}))},L=()=>{r(A=>({...A,attributeType:"component",modalType:"attribute",step:"2"}))},U=({dynamicZoneTarget:A})=>{r(R=>({...R,dynamicZoneTarget:A,modalType:"addComponentToDynamicZone",actionType:"create",step:"1",attributeType:null,attributeName:null}))};return n.createElement(fr.Z.Provider,{value:{...a,onClickSelectField:i,onClickSelectCustomField:s,onCloseModal:M,onNavigateToChooseAttributeModal:N,onNavigateToAddCompoToDZModal:U,onOpenModalAddComponentsToDZ:c,onNavigateToCreateComponentStep2:L,onOpenModalAddField:m,onOpenModalCreateSchema:p,onOpenModalEditCategory:f,onOpenModalEditField:g,onOpenModalEditCustomField:y,onOpenModalEditSchema:C,setFormModalNavigationState:r}},e)};An.propTypes={children:t().node.isRequired};var yr=An;const br=(0,n.lazy)(()=>u.e(5905).then(u.bind(u,84015)));var hr=()=>{const{url:e}=(0,O.useRouteMatch)(),{categoryUid:a}=(0,O.useParams)();return n.createElement(n.Suspense,{fallback:n.createElement(b.LoadingIndicatorPage,null)},n.createElement(O.Switch,null,n.createElement(O.Route,{path:`${e}/:componentUid`},n.createElement(br,{categoryId:a}))))},vr=u(61590),Tr=u(43110),Cr=u(77013),Mr=u(79318),Er=u(28832),Zn=u(66618),Rr=u(86834),xr=u.n(Rr),Ar=u(58469),Zr=()=>{const{components:e,componentsGroupedByCategory:a,contentTypes:r,isInDevelopmentMode:o,sortedContentTypesList:s,modifiedData:i,initialData:c}=(0,Oe.Z)(),m=(0,b.useNotification)(),{trackUsage:p}=(0,b.useTracking)(),[f,y]=(0,n.useState)(""),{onOpenModalCreateSchema:g,onOpenModalEditCategory:C}=(0,le.Z)(),M=It()(Object.keys(a).map(D=>({name:D,title:D,isEditable:o,onClickEdit(_,ye){_.stopPropagation(),N?C(ye.name):R()},links:It()(a[D].map(_=>({name:_.uid,to:`/plugins/${P.Z}/component-categories/${D}/${_.uid}`,title:_.schema.displayName})),_=>_.title)})),D=>D.title),N=!Object.keys(r).some(D=>r[D].isTemporary===!0)&&!Object.keys(e).some(D=>e[D].isTemporary===!0)&&et()(i,c),L=()=>{N?(p("willCreateContentType"),g({modalType:"contentType",kind:"collectionType",actionType:"create",forTarget:"contentType"})):R()},U=()=>{N?(p("willCreateSingleType"),g({modalType:"contentType",kind:"singleType",actionType:"create",forTarget:"contentType"})):R()},A=()=>{N?(p("willCreateComponent"),g({modalType:"component",kind:null,actionType:"create",forTarget:"component"})):R()},R=()=>{m({type:"info",message:{id:`${(0,d.Z)("notification.info.creating.notSaved")}`,defaultMessage:"Please save your work before creating a new collection type or component"}})},S=s.filter(D=>D.visible),V=[{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:L},links:S.filter(D=>D.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:U},links:S.filter(D=>D.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:A},links:M}],H=D=>f?(0,Ar.ZP)(D,ze()(f),{keys:[_=>ze()(_.title)]}):D;return{menu:(()=>V.map(D=>D.links.some(ye=>!xr()(ye.links))?{...D,links:D.links.map(ye=>({...ye,links:H(ye.links)}))}:{...D,links:H(D.links)}))(),searchValue:f,onSearchChange:y}},Fr=()=>{const{menu:e,searchValue:a,onSearchChange:r}=Zr(),{formatMessage:o}=(0,E.useIntl)();return n.createElement(vr.m,{ariaLabel:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"})},n.createElement(Tr.p,{searchable:!0,value:a,onClear:()=>r(""),onChange:s=>r(s.target.value),label:o({id:`${(0,d.Z)("plugin.name")}`,defaultMessage:"Content-Types Builder"}),searchLabel:o({id:"global.search",defaultMessage:"Search"})}),n.createElement(Cr.Z,null,e.map(s=>n.createElement(n.Fragment,{key:s.name},n.createElement(Mr.D,{label:o({id:s.title.id,defaultMessage:s.title.defaultMessage}),collapsable:!0,badgeLabel:s.links.length.toString()},s.links.map(i=>i.links?n.createElement(Er.z,{key:i.name,label:Fe()(i.title)},i.links.map(c=>n.createElement(Zn.E,{as:O.NavLink,to:c.to,active:c.active,key:c.name,isSubSectionChild:!0},Fe()(o({id:c.name,defaultMessage:c.title}))))):n.createElement(Zn.E,{as:O.NavLink,to:i.to,active:i.active,key:i.name},Fe()(o({id:i.name,defaultMessage:i.title}))))),s.customLink&&n.createElement(l.Box,{paddingLeft:7},n.createElement(l.TextButton,{onClick:s.customLink.onClick,startIcon:n.createElement(l.Icon,{as:pe.Plus,width:(0,b.pxToRem)(8),height:(0,b.pxToRem)(8)}),marginTop:2},o({id:s.customLink.id,defaultMessage:s.customLink.defaultMessage})))))))};const Fn=(0,n.lazy)(()=>u.e(5905).then(u.bind(u,84015)));var Sr=()=>{const{formatMessage:e}=(0,E.useIntl)(),a=e({id:`${P.Z}.plugin.name`,defaultMessage:"Content Types Builder"}),{startSection:r}=(0,b.useGuidedTour)(),o=(0,n.useRef)(r);return(0,n.useEffect)(()=>{o.current&&o.current("contentTypeBuilder")},[]),n.createElement(b.CheckPagePermissions,{permissions:x.Z.main},n.createElement(B.Helmet,{title:a}),n.createElement(yr,null,n.createElement(gr,null,n.createElement(l.Layout,{sideNav:n.createElement(Fr,null)},n.createElement(n.Suspense,{fallback:n.createElement(b.LoadingIndicatorPage,null)},n.createElement(O.Switch,null,n.createElement(O.Route,{path:`/plugins/${P.Z}/content-types/create-content-type`,component:Fn}),n.createElement(O.Route,{path:`/plugins/${P.Z}/content-types/:uid`,component:Fn}),n.createElement(O.Route,{path:`/plugins/${P.Z}/component-categories/:categoryUid`,component:hr})))))))}},92318:function(W,z,u){"use strict";var n=u(25158);const O=B=>`${n.Z}.${B}`;z.Z=O},56671:function(W,z,u){var n=u(35897),O=u(74741),B=O(n);W.exports=B},91131:function(W,z,u){var n=u(94318),O=u(3387),B="[object RegExp]";function E(b){return O(b)&&n(b)==B}W.exports=E},52920:function(W,z,u){var n=u(56671),O=u(81580);function B(E,b){var l=-1,x=O(E)?Array(E.length):[];return n(E,function(P,K,t){x[++l]=b(P,K,t)}),x}W.exports=B},50690:function(W,z,u){var n=u(26460),O=u(80166),B=u(88904),E=u(52920),b=u(36024),l=u(76535),x=u(1397),P=u(15362),K=u(77236);function t(te,h,Ze){h.length?h=n(h,function(J){return K(J)?function(oe){return O(oe,J.length===1?J[0]:J)}:J}):h=[P];var ae=-1;h=n(h,l(B));var me=E(te,function(J,oe,ee){var ie=n(h,function(qe){return qe(J)});return{criteria:ie,index:++ae,value:J}});return b(me,function(J,oe){return x(J,oe,Ze)})}W.exports=t},36024:function(W){function z(u,n){var O=u.length;for(u.sort(n);O--;)u[O]=u[O].value;return u}W.exports=z},40709:function(W,z,u){var n=u(22945);function O(B,E){if(B!==E){var b=B!==void 0,l=B===null,x=B===B,P=n(B),K=E!==void 0,t=E===null,te=E===E,h=n(E);if(!t&&!h&&!P&&B>E||P&&K&&te&&!t&&!h||l&&K&&te||!b&&te||!x)return 1;if(!l&&!P&&!h&&B<E||h&&b&&x&&!l&&!P||t&&b&&x||!K&&x||!te)return-1}return 0}W.exports=O},1397:function(W,z,u){var n=u(40709);function O(B,E,b){for(var l=-1,x=B.criteria,P=E.criteria,K=x.length,t=b.length;++l<K;){var te=n(x[l],P[l]);if(te){if(l>=t)return te;var h=b[l];return te*(h=="desc"?-1:1)}}return B.index-E.index}W.exports=O},74741:function(W,z,u){var n=u(81580);function O(B,E){return function(b,l){if(b==null)return b;if(!n(b))return B(b,l);for(var x=b.length,P=E?x:-1,K=Object(b);(E?P--:++P<x)&&l(K[P],P,K)!==!1;);return b}}W.exports=O},52654:function(W,z,u){var n=u(91131),O=u(76535),B=u(91782),E=B&&B.isRegExp,b=E?O(E):n;W.exports=b},98978:function(W,z,u){var n=u(40314),O=u(50690),B=u(94569),E=u(63108),b=B(function(l,x){if(l==null)return[];var P=x.length;return P>1&&E(l,x[0],x[1])?x=[]:P>2&&E(x[0],x[1],x[2])&&(x=[x[0]]),O(l,n(x,1),[])});W.exports=b},51382:function(W,z,u){var n=u(90454),O=u(24793),B=u(34327),E=u(85973),b=u(52654),l=u(38788),x=u(51119),P=u(25225),K=u(41119),t=30,te="...",h=/\w*$/;function Ze(ae,me){var J=t,oe=te;if(E(me)){var ee="separator"in me?me.separator:ee;J="length"in me?P(me.length):J,oe="omission"in me?n(me.omission):oe}ae=K(ae);var ie=ae.length;if(B(ae)){var qe=x(ae);ie=qe.length}if(J>=ie)return ae;var Re=J-l(oe);if(Re<1)return oe;var le=qe?O(qe,0,Re).join(""):ae.slice(0,Re);if(ee===void 0)return le+oe;if(qe&&(Re+=le.length-Re),b(ee)){if(ae.slice(Re).search(ee)){var d,Le=le;for(ee.global||(ee=RegExp(ee.source,K(h.exec(ee))+"g")),ee.lastIndex=0;d=ee.exec(Le);)var Ye=d.index;le=le.slice(0,Ye===void 0?Re:Ye)}}else if(ae.indexOf(n(ee),Re)!=Re){var Xe=le.lastIndexOf(ee);Xe>-1&&(le=le.slice(0,Xe))}return le+oe}W.exports=Ze}}]);