@strapi/admin 4.9.0-alpha.0 → 4.9.0-beta.2

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 (591) hide show
  1. package/admin/src/StrapiApp.js +1 -1
  2. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +6 -10
  3. package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +2 -3
  4. package/admin/src/components/GuidedTour/Homepage/components/Step.js +1 -3
  5. package/admin/src/components/GuidedTour/Homepage/components/Stepper.js +1 -1
  6. package/admin/src/components/GuidedTour/Homepage/index.js +4 -8
  7. package/admin/src/components/GuidedTour/Modal/components/Content.js +35 -25
  8. package/admin/src/components/GuidedTour/Modal/components/Modal.js +7 -11
  9. package/admin/src/components/GuidedTour/Modal/components/StepNumberWithPadding.js +1 -1
  10. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +2 -5
  11. package/admin/src/components/GuidedTour/Stepper/StepLine.js +1 -1
  12. package/admin/src/components/GuidedTour/Stepper/StepNumber.js +2 -4
  13. package/admin/src/components/LeftMenu/index.js +5 -10
  14. package/admin/src/components/Notifications/Notification/index.js +10 -3
  15. package/admin/src/components/Notifications/index.js +6 -4
  16. package/admin/src/components/Theme/index.js +1 -1
  17. package/admin/src/content-manager/components/AttributeFilter/Filters.js +2 -3
  18. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -2
  19. package/admin/src/content-manager/components/ComponentInitializer/index.js +4 -7
  20. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +3 -3
  21. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/FileWrapper.js +1 -2
  22. package/admin/src/content-manager/components/DynamicTable/CellContent/Media/index.js +3 -3
  23. package/admin/src/content-manager/components/DynamicTable/CellContent/MultipleMedias.js +1 -1
  24. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +14 -11
  25. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationSingle/index.js +1 -1
  26. package/admin/src/content-manager/components/DynamicTable/CellContent/RepeatableComponent/index.js +1 -4
  27. package/admin/src/content-manager/components/DynamicTable/CellContent/SingleComponent/index.js +1 -2
  28. package/admin/src/content-manager/components/DynamicTable/CellContent/index.js +1 -2
  29. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +4 -9
  30. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +4 -9
  31. package/admin/src/content-manager/components/DynamicTable/TableRows/index.js +3 -9
  32. package/admin/src/content-manager/components/DynamicTable/index.js +1 -2
  33. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +2 -5
  34. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +4 -6
  35. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +1 -2
  36. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +1 -4
  37. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +3 -6
  38. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -3
  39. package/admin/src/content-manager/components/DynamicZone/index.js +3 -3
  40. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  41. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +3 -31
  42. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +65 -134
  43. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +85 -0
  44. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +1 -2
  45. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +7 -1
  46. package/admin/src/content-manager/components/FieldComponent/Label.js +1 -3
  47. package/admin/src/content-manager/components/FieldComponent/index.js +4 -7
  48. package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
  49. package/admin/src/content-manager/components/FieldTypeIcon/index.js +15 -13
  50. package/admin/src/content-manager/components/Hint/index.js +1 -1
  51. package/admin/src/content-manager/components/InjectionZoneList/index.js +1 -1
  52. package/admin/src/content-manager/components/InputUID/endActionStyle.js +1 -3
  53. package/admin/src/content-manager/components/InputUID/index.js +2 -6
  54. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
  55. package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
  56. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +3 -5
  57. package/admin/src/content-manager/components/RelationInput/RelationInput.js +17 -14
  58. package/admin/src/content-manager/components/RelationInput/components/Option.js +1 -2
  59. package/admin/src/content-manager/components/RelationInput/components/Relation.js +9 -4
  60. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +4 -4
  61. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -1
  62. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +39 -33
  63. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +12 -6
  64. package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -2
  65. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +2 -4
  66. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +24 -18
  67. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +1 -2
  68. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -7
  69. package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +3 -3
  70. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
  71. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
  72. package/admin/src/content-manager/hooks/useRelation/useRelation.js +2 -2
  73. package/admin/src/content-manager/pages/App/LeftMenu/index.js +1 -1
  74. package/admin/src/content-manager/pages/App/index.js +1 -2
  75. package/admin/src/content-manager/pages/App/useModels.js +1 -1
  76. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +9 -8
  77. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +1 -1
  78. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
  79. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +2 -5
  80. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +2 -4
  81. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +6 -11
  82. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +3 -3
  83. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +2 -6
  84. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +5 -5
  85. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +1 -3
  86. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -1
  87. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +1 -2
  88. package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +1 -1
  89. package/admin/src/content-manager/pages/EditSettingsView/index.js +17 -13
  90. package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
  91. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
  92. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +2 -2
  93. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
  94. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +3 -5
  95. package/admin/src/content-manager/pages/EditView/GridRow/index.js +1 -1
  96. package/admin/src/content-manager/pages/EditView/Header/index.js +17 -16
  97. package/admin/src/content-manager/pages/EditView/Information/index.js +9 -9
  98. package/admin/src/content-manager/pages/EditView/index.js +10 -15
  99. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
  100. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
  101. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +4 -8
  102. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +4 -9
  103. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +8 -7
  104. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +14 -10
  105. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +4 -9
  106. package/admin/src/content-manager/pages/ListSettingsView/index.js +10 -7
  107. package/admin/src/content-manager/pages/ListView/FieldPicker/index.js +1 -2
  108. package/admin/src/content-manager/pages/ListView/PaginationFooter/index.js +1 -2
  109. package/admin/src/content-manager/pages/ListView/index.js +12 -10
  110. package/admin/src/content-manager/pages/NoContentType/index.js +2 -5
  111. package/admin/src/content-manager/pages/NoPermissions/index.js +1 -2
  112. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  113. package/admin/src/content-manager/utils/createDefaultForm.js +2 -10
  114. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
  115. package/admin/src/content-manager/utils/getFieldName.js +1 -1
  116. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
  117. package/admin/src/content-manager/utils/paths.js +1 -1
  118. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
  119. package/admin/src/hooks/index.js +2 -0
  120. package/admin/src/hooks/useLicenseLimitNotification/index.js +5 -0
  121. package/admin/src/hooks/useLicenseLimits/index.js +3 -0
  122. package/admin/src/hooks/useMenu/reducer.js +1 -3
  123. package/admin/src/hooks/useRegenerate/index.js +13 -8
  124. package/admin/src/hooks/useSettingsForm/index.js +3 -3
  125. package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
  126. package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
  127. package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +7 -0
  128. package/admin/src/index.js +0 -1
  129. package/admin/src/layouts/AppLayout/index.js +1 -3
  130. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +1 -1
  131. package/admin/src/layouts/UnauthenticatedLayout/index.js +1 -2
  132. package/admin/src/pages/Admin/Onboarding/index.js +26 -7
  133. package/admin/src/pages/App/index.js +1 -1
  134. package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +1 -1
  135. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +3 -9
  136. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -4
  137. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +4 -12
  138. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -4
  139. package/admin/src/pages/AuthPage/components/Register/index.js +14 -13
  140. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +4 -11
  141. package/admin/src/pages/AuthPage/reducer.js +1 -1
  142. package/admin/src/pages/HomePage/CloudBox.js +83 -0
  143. package/admin/src/pages/HomePage/ContentBlocks.js +6 -7
  144. package/admin/src/pages/HomePage/HomeHeader.js +5 -12
  145. package/admin/src/pages/HomePage/SocialLinks.js +37 -34
  146. package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
  147. package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +1 -0
  148. package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +1 -0
  149. package/admin/src/pages/HomePage/index.js +3 -4
  150. package/admin/src/pages/InstalledPluginsPage/Plugins.js +14 -5
  151. package/admin/src/pages/InternalErrorPage/index.js +2 -5
  152. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +1 -2
  153. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +2 -5
  154. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +2 -3
  155. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +2 -4
  156. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +2 -4
  157. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +4 -9
  158. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +5 -11
  159. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +1 -1
  160. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +3 -6
  161. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +2 -5
  162. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +1 -1
  163. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +3 -3
  164. package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +1 -2
  165. package/admin/src/pages/MarketplacePage/index.js +15 -8
  166. package/admin/src/pages/NotFoundPage/index.js +2 -5
  167. package/admin/src/pages/ProfilePage/index.js +27 -24
  168. package/admin/src/pages/SettingsPage/components/Filters/index.js +2 -3
  169. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +1 -1
  170. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components → components/Tokens}/FormHead/index.js +45 -26
  171. package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +97 -0
  172. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +75 -0
  173. package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +52 -0
  174. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/ReadButton/index.js +1 -1
  175. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/UpdateButton/index.js +1 -1
  176. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +145 -0
  177. package/admin/src/pages/SettingsPage/{pages/ApiTokens/EditView/components/ContentBox → components/Tokens/TokenBox}/index.js +20 -18
  178. package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +51 -0
  179. package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +46 -0
  180. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +71 -0
  181. package/admin/src/pages/SettingsPage/components/Tokens/constants.js +2 -0
  182. package/admin/src/pages/SettingsPage/index.js +1 -1
  183. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +5 -7
  184. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +5 -7
  185. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +1 -1
  186. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +17 -10
  187. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +1 -1
  188. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +56 -149
  189. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +2 -4
  190. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +3 -5
  191. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +12 -8
  192. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +48 -19
  193. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
  194. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +1 -1
  195. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
  196. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +18 -20
  197. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +5 -0
  198. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +1 -3
  199. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +8 -5
  200. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +1 -3
  201. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +14 -11
  202. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +1 -4
  203. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +1 -1
  204. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -5
  205. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +1 -2
  206. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +63 -74
  207. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +266 -4
  208. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +1 -1
  209. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +2 -2
  210. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +2 -6
  211. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +5 -4
  212. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
  213. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +4 -8
  214. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
  215. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +3 -5
  216. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
  217. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +1 -1
  218. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +1 -2
  219. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +3 -7
  220. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +1 -1
  221. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +1 -1
  222. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +1 -1
  223. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +1 -1
  224. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +12 -12
  225. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
  226. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +1 -1
  227. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
  228. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
  229. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
  230. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  231. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +12 -16
  232. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
  233. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
  234. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +1 -2
  235. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +4 -12
  236. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
  237. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +1 -1
  238. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +12 -10
  239. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +1 -4
  240. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
  241. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
  242. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +1 -5
  243. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +314 -129
  244. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +142 -0
  245. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +48 -0
  246. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +263 -0
  247. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +16 -0
  248. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +4 -0
  249. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +11 -0
  250. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +216 -0
  251. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +48 -0
  252. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +14 -0
  253. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +14 -0
  254. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +12 -0
  255. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +19 -19
  256. package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +24 -0
  257. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +11 -8
  258. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +17 -12
  259. package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +1 -2
  260. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +32 -34
  261. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -2
  262. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
  263. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +2 -2
  264. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +1 -2
  265. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +3 -5
  266. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +1 -1
  267. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +12 -10
  268. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +10 -16
  269. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +17 -15
  270. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +1 -1
  271. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
  272. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +183 -182
  273. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +51 -10
  274. package/admin/src/pages/UseCasePage/index.js +13 -11
  275. package/admin/src/permissions/defaultPermissions.js +8 -0
  276. package/admin/src/permissions/index.js +1 -1
  277. package/admin/src/translations/ca.json +13 -19
  278. package/admin/src/translations/de.json +6 -12
  279. package/admin/src/translations/dk.json +6 -12
  280. package/admin/src/translations/en.json +221 -190
  281. package/admin/src/translations/es.json +6 -12
  282. package/admin/src/translations/eu.json +178 -184
  283. package/admin/src/translations/fr.json +6 -12
  284. package/admin/src/translations/gu.json +0 -6
  285. package/admin/src/translations/he.json +0 -6
  286. package/admin/src/translations/hi.json +6 -12
  287. package/admin/src/translations/hu.json +19 -25
  288. package/admin/src/translations/id.json +0 -6
  289. package/admin/src/translations/it.json +0 -6
  290. package/admin/src/translations/ja.json +6 -12
  291. package/admin/src/translations/ko.json +6 -12
  292. package/admin/src/translations/ml.json +6 -12
  293. package/admin/src/translations/nl.json +19 -25
  294. package/admin/src/translations/no.json +0 -6
  295. package/admin/src/translations/pl.json +6 -12
  296. package/admin/src/translations/pt-BR.json +6 -12
  297. package/admin/src/translations/ru.json +859 -785
  298. package/admin/src/translations/sa.json +6 -12
  299. package/admin/src/translations/sk.json +2 -8
  300. package/admin/src/translations/sv.json +19 -25
  301. package/admin/src/translations/th.json +0 -6
  302. package/admin/src/translations/tr.json +19 -25
  303. package/admin/src/translations/zh-Hans.json +895 -669
  304. package/admin/src/translations/zh.json +19 -25
  305. package/admin/src/utils/getAttributesToDisplay.js +2 -4
  306. package/admin/src/utils/getExistingActions.js +1 -3
  307. package/admin/src/utils/sortLinks.js +1 -1
  308. package/build/{2223.1bfea951.chunk.js → 2263.4c5916f9.chunk.js} +66 -177
  309. package/build/27d16aefee06412db90a.png +0 -0
  310. package/build/4049.64715f20.chunk.js +1 -0
  311. package/build/5563.aa832e5f.chunk.js +30 -0
  312. package/build/6985.66cca29c.chunk.js +1 -0
  313. package/build/7259.e6ef3b8e.chunk.js +1 -0
  314. package/build/{5015.8e3fe50b.chunk.js → 8469.853c822b.chunk.js} +1 -6
  315. package/build/9505.dbe702ab.chunk.js +14 -0
  316. package/build/9816.01ee964f.chunk.js +2 -0
  317. package/build/Admin-authenticatedApp.5a090404.chunk.js +79 -0
  318. package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +1 -0
  319. package/build/Admin_homePage.1411fb7c.chunk.js +68 -0
  320. package/build/Admin_marketplace.02608d56.chunk.js +22 -0
  321. package/build/Admin_pluginsPage.15e3b0fd.chunk.js +1 -0
  322. package/build/Admin_profilePage.76afeca0.chunk.js +15 -0
  323. package/build/Admin_settingsPage.0aa4fcdc.chunk.js +9 -0
  324. package/build/Upload_ConfigureTheView.34dde278.chunk.js +1 -0
  325. package/build/admin-app.50584489.chunk.js +112 -0
  326. package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
  327. package/build/admin-edit-users.31c20712.chunk.js +10 -0
  328. package/build/admin-roles-list.489c501f.chunk.js +2 -0
  329. package/build/admin-users.3e111a7d.chunk.js +11 -0
  330. package/build/{api-tokens-create-page.a31c7fba.chunk.js → api-tokens-create-page.2a6e22bd.chunk.js} +1 -1
  331. package/build/{api-tokens-edit-page.64fef287.chunk.js → api-tokens-edit-page.fa38cd63.chunk.js} +1 -1
  332. package/build/api-tokens-list-page.93f24348.chunk.js +16 -0
  333. package/build/audit-logs-settings-page.7be97e82.chunk.js +1 -0
  334. package/build/bb3108f7fd1e6179bde1.svg +1 -0
  335. package/build/bb4d0d527bdfb161bc5a.svg +1 -0
  336. package/build/ca-json.43e14418.chunk.js +1 -0
  337. package/build/content-manager.f8b9710b.chunk.js +1139 -0
  338. package/build/content-type-builder-list-view.cf38fe2f.chunk.js +191 -0
  339. package/build/content-type-builder-translation-zh-Hans-json.415577fb.chunk.js +1 -0
  340. package/build/content-type-builder.0f5dbcf1.chunk.js +126 -0
  341. package/build/de-json.fcac7381.chunk.js +1 -0
  342. package/build/dk-json.e34cad0d.chunk.js +1 -0
  343. package/build/email-settings-page.4bdbef9a.chunk.js +3 -0
  344. package/build/en-json.b052667a.chunk.js +1 -0
  345. package/build/es-json.715b6fd8.chunk.js +1 -0
  346. package/build/eu-json.fb17c8f9.chunk.js +1 -0
  347. package/build/fr-json.f66c3211.chunk.js +1 -0
  348. package/build/gu-json.4d667d0c.chunk.js +1 -0
  349. package/build/{he-json.f0de8cdb.chunk.js → he-json.3cf0b48a.chunk.js} +1 -1
  350. package/build/hi-json.323be97d.chunk.js +1 -0
  351. package/build/hu-json.fe71e6c8.chunk.js +1 -0
  352. package/build/i18n-settings-page.2bb5be96.chunk.js +1 -0
  353. package/build/id-json.41e07c46.chunk.js +1 -0
  354. package/build/index.html +1 -1
  355. package/build/it-json.bfe27ed8.chunk.js +1 -0
  356. package/build/ja-json.81b6d1e3.chunk.js +1 -0
  357. package/build/ko-json.4539f4ba.chunk.js +1 -0
  358. package/build/main.7fa3d343.js +3783 -0
  359. package/build/ml-json.8988e374.chunk.js +1 -0
  360. package/build/nl-json.98345913.chunk.js +1 -0
  361. package/build/{no-json.9b3cd181.chunk.js → no-json.19a2dbfa.chunk.js} +1 -1
  362. package/build/pl-json.59a5dab3.chunk.js +1 -0
  363. package/build/pt-BR-json.9410688b.chunk.js +1 -0
  364. package/build/ru-json.6a01cea6.chunk.js +1 -0
  365. package/build/runtime~main.ee2bfeea.js +2 -0
  366. package/build/sa-json.6359a11c.chunk.js +1 -0
  367. package/build/sk-json.2374f129.chunk.js +1 -0
  368. package/build/sso-settings-page.272b87c8.chunk.js +1 -0
  369. package/build/sv-json.ae6e71ea.chunk.js +1 -0
  370. package/build/th-json.5f659396.chunk.js +1 -0
  371. package/build/tr-json.bac5dbd3.chunk.js +1 -0
  372. package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +1 -0
  373. package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +1 -0
  374. package/build/transfer-tokens-list-page.3c9b0280.chunk.js +16 -0
  375. package/build/upload-settings.0875e973.chunk.js +1 -0
  376. package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +1 -0
  377. package/build/upload.c7da1611.chunk.js +13 -0
  378. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
  379. package/build/users-email-settings-page.e8db68c4.chunk.js +1 -0
  380. package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +1 -0
  381. package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
  382. package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
  383. package/build/webhook-edit-page.329141a5.chunk.js +23 -0
  384. package/build/webhook-list-page.029957a4.chunk.js +1 -0
  385. package/build/zh-Hans-json.4cfef87d.chunk.js +1 -0
  386. package/build/zh-json.3529f1e5.chunk.js +1 -0
  387. package/ee/admin/hooks/index.js +2 -0
  388. package/ee/admin/hooks/useLicenseLimitNotification/index.js +88 -0
  389. package/ee/admin/hooks/useLicenseLimits/index.js +31 -0
  390. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  391. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +13 -21
  392. package/ee/admin/pages/AuthPage/components/Login/index.js +3 -7
  393. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -4
  394. package/ee/admin/pages/AuthPage/components/Providers/index.js +3 -10
  395. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +88 -0
  396. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +2 -7
  397. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +1 -2
  398. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +1 -2
  399. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +1 -2
  400. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +2 -5
  401. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +21 -10
  402. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +1 -1
  403. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +25 -11
  404. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +52 -0
  405. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +2 -16
  406. package/ee/admin/permissions/customPermissions.js +0 -3
  407. package/ee/server/bootstrap.js +4 -7
  408. package/ee/server/config/admin-actions.js +0 -10
  409. package/ee/server/controllers/admin.js +49 -0
  410. package/ee/server/controllers/index.js +1 -3
  411. package/ee/server/controllers/role.js +0 -39
  412. package/ee/server/controllers/user.js +62 -4
  413. package/ee/server/index.js +0 -1
  414. package/ee/server/routes/index.js +9 -122
  415. package/ee/server/services/audit-logs.js +15 -5
  416. package/ee/server/services/index.js +2 -3
  417. package/ee/server/services/seat-enforcement.js +114 -0
  418. package/ee/server/services/user.js +234 -0
  419. package/ee/server/utils/persisted-tables.js +49 -0
  420. package/ee/server/validation/role.js +28 -20
  421. package/package.json +18 -17
  422. package/server/bootstrap.js +2 -1
  423. package/server/config/admin-actions.js +48 -0
  424. package/server/content-types/User.js +4 -0
  425. package/server/content-types/api-token.js +1 -0
  426. package/server/content-types/index.js +2 -0
  427. package/server/content-types/transfer-token-permission.js +36 -0
  428. package/server/content-types/transfer-token.js +66 -0
  429. package/server/controllers/api-token.js +8 -7
  430. package/server/controllers/index.js +1 -0
  431. package/server/controllers/permission.js +2 -4
  432. package/server/controllers/role.js +70 -23
  433. package/server/controllers/transfer/index.js +13 -0
  434. package/server/controllers/transfer/runner.js +28 -0
  435. package/server/controllers/transfer/token.js +131 -0
  436. package/server/controllers/user.js +7 -1
  437. package/server/domain/user.js +3 -0
  438. package/server/middlewares/data-transfer.js +29 -0
  439. package/server/middlewares/index.js +1 -0
  440. package/server/register.js +2 -9
  441. package/server/routes/index.js +2 -0
  442. package/server/routes/roles.js +48 -0
  443. package/server/routes/transfer.js +102 -0
  444. package/server/services/api-token.js +2 -3
  445. package/server/services/constants.js +10 -0
  446. package/server/services/index.js +1 -0
  447. package/server/services/permission/permissions-manager/index.js +9 -5
  448. package/server/services/permission/permissions-manager/sanitize.js +103 -4
  449. package/server/services/permission/queries.js +1 -74
  450. package/server/services/transfer/index.js +7 -0
  451. package/server/services/transfer/permission.js +22 -0
  452. package/server/services/transfer/token.js +426 -0
  453. package/server/services/transfer/utils.js +38 -0
  454. package/server/strategies/api-token.js +4 -2
  455. package/server/strategies/data-transfer.js +109 -0
  456. package/server/strategies/index.js +1 -0
  457. package/server/utils/index.d.ts +2 -0
  458. package/server/validation/api-tokens.js +1 -6
  459. package/server/validation/permission.js +1 -82
  460. package/server/validation/role.js +44 -0
  461. package/server/validation/transfer/index.js +5 -0
  462. package/server/validation/transfer/token.js +42 -0
  463. package/webpack.alias.js +0 -1
  464. package/admin/src/assets/images/hot-air-balloon.png +0 -0
  465. package/admin/src/assets/images/upgrade-details.png +0 -0
  466. package/admin/src/components/UpgradePlanModal/index.js +0 -131
  467. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +0 -51
  468. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/recursivelyFindPathsBasedOnCondition.js +0 -79
  469. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormBody/index.js +0 -78
  470. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/DeleteButton/index.js +0 -40
  471. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/index.js +0 -112
  472. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
  473. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
  474. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
  475. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
  476. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
  477. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
  478. package/build/1412.936ed920.chunk.js +0 -159
  479. package/build/1683.d59d0f23.chunk.js +0 -268
  480. package/build/2607.2e48dbf8.chunk.js +0 -66
  481. package/build/2743.646a1015.chunk.js +0 -45
  482. package/build/3075.3ee481f1.chunk.js +0 -108
  483. package/build/3632.2e378cf8.chunk.js +0 -138
  484. package/build/4318.cd55ce02.chunk.js +0 -30
  485. package/build/617f9c948fa79e6d73bd.png +0 -0
  486. package/build/6d21938306785f176538.png +0 -0
  487. package/build/8633.00ccd382.chunk.js +0 -1
  488. package/build/9707.b36ed71e.chunk.js +0 -96
  489. package/build/Admin-authenticatedApp.a73577e1.chunk.js +0 -79
  490. package/build/Admin_InternalErrorPage.178ddb90.chunk.js +0 -1
  491. package/build/Admin_homePage.c2f5f27d.chunk.js +0 -77
  492. package/build/Admin_marketplace.1df49c42.chunk.js +0 -26
  493. package/build/Admin_pluginsPage.8d824408.chunk.js +0 -6
  494. package/build/Admin_profilePage.cb667bc5.chunk.js +0 -15
  495. package/build/Admin_settingsPage.f90615fb.chunk.js +0 -178
  496. package/build/Upload_ConfigureTheView.d306009d.chunk.js +0 -1
  497. package/build/admin-app.06f07029.chunk.js +0 -112
  498. package/build/admin-edit-roles-page.35199b9d.chunk.js +0 -1
  499. package/build/admin-edit-users.9e48b00d.chunk.js +0 -10
  500. package/build/admin-users.cf7b4151.chunk.js +0 -11
  501. package/build/api-tokens-list-page.e600ad3e.chunk.js +0 -16
  502. package/build/audit-logs-settings-page.d4da4579.chunk.js +0 -1
  503. package/build/ca-json.4d999055.chunk.js +0 -1
  504. package/build/content-manager.255c3a59.chunk.js +0 -1139
  505. package/build/content-type-builder-list-view.8d7a3d68.chunk.js +0 -193
  506. package/build/content-type-builder-translation-zh-Hans-json.52a30266.chunk.js +0 -1
  507. package/build/content-type-builder.3c8558a5.chunk.js +0 -126
  508. package/build/de-json.866f8a28.chunk.js +0 -1
  509. package/build/dk-json.10f7b1d1.chunk.js +0 -1
  510. package/build/email-settings-page.b19f2eb2.chunk.js +0 -10
  511. package/build/en-json.1997583c.chunk.js +0 -1
  512. package/build/es-json.ea15c957.chunk.js +0 -1
  513. package/build/eu-json.3bc24d60.chunk.js +0 -1
  514. package/build/fr-json.e88fbdfd.chunk.js +0 -1
  515. package/build/gu-json.94f0d242.chunk.js +0 -1
  516. package/build/hi-json.df3a7be2.chunk.js +0 -1
  517. package/build/hu-json.680e6eef.chunk.js +0 -1
  518. package/build/i18n-settings-page.a6b49eac.chunk.js +0 -60
  519. package/build/id-json.e0d83d41.chunk.js +0 -1
  520. package/build/it-json.8be59205.chunk.js +0 -1
  521. package/build/ja-json.97ee41ba.chunk.js +0 -1
  522. package/build/ko-json.4cbbf4f2.chunk.js +0 -1
  523. package/build/main.7f308c20.js +0 -4322
  524. package/build/ml-json.e3747091.chunk.js +0 -1
  525. package/build/nl-json.371a15ee.chunk.js +0 -1
  526. package/build/pl-json.e535cbce.chunk.js +0 -1
  527. package/build/pt-BR-json.e5fafa46.chunk.js +0 -1
  528. package/build/review-workflows-settings.7b4be1b0.chunk.js +0 -63
  529. package/build/ru-json.866f0ff1.chunk.js +0 -1
  530. package/build/runtime~main.bf374148.js +0 -2
  531. package/build/sa-json.7efeb257.chunk.js +0 -1
  532. package/build/sk-json.7bbeb0af.chunk.js +0 -1
  533. package/build/sso-settings-page.ad2143dd.chunk.js +0 -41
  534. package/build/sv-json.dc40951f.chunk.js +0 -1
  535. package/build/th-json.f664b96d.chunk.js +0 -1
  536. package/build/tr-json.b79eae31.chunk.js +0 -1
  537. package/build/upload-settings.eb1a7908.chunk.js +0 -84
  538. package/build/upload-translation-zh-Hans-json.3da5cf56.chunk.js +0 -1
  539. package/build/upload.700e2c84.chunk.js +0 -33
  540. package/build/users-advanced-settings-page.aae212f2.chunk.js +0 -8
  541. package/build/users-email-settings-page.8a9b0da1.chunk.js +0 -23
  542. package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +0 -1
  543. package/build/users-providers-settings-page.e6be909d.chunk.js +0 -99
  544. package/build/users-roles-settings-page.97d06a80.chunk.js +0 -30
  545. package/build/webhook-edit-page.9eb0f789.chunk.js +0 -75
  546. package/build/webhook-list-page.66082323.chunk.js +0 -42
  547. package/build/zh-Hans-json.30a18940.chunk.js +0 -1
  548. package/build/zh-json.49d84433.chunk.js +0 -1
  549. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +0 -137
  550. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +0 -42
  551. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +0 -87
  552. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +0 -1
  553. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +0 -90
  554. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +0 -1
  555. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +0 -77
  556. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +0 -1
  557. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +0 -6
  558. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +0 -63
  559. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +0 -3
  560. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +0 -102
  561. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +0 -25
  562. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +0 -267
  563. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/constants.js +0 -3
  564. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ConditionsSelect/MenuList/utils/constants.js +0 -3
  565. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/constants.js +0 -3
  566. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/constants.js +0 -3
  567. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/utils/constants.js +0 -3
  568. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/constants.js +0 -3
  569. package/ee/admin/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/constants.js +0 -3
  570. package/ee/admin/pages/SettingsPage/pages/Roles/ListPage/index.js +0 -370
  571. package/ee/admin/pages/SettingsPage/pages/Roles/ProtectedListPage/index.js +0 -12
  572. package/ee/server/constants/default-stages.json +0 -14
  573. package/ee/server/constants/default-workflow.json +0 -1
  574. package/ee/server/constants/workflows.js +0 -7
  575. package/ee/server/content-types/index.js +0 -9
  576. package/ee/server/content-types/workflow/index.js +0 -34
  577. package/ee/server/content-types/workflow-stage/index.js +0 -36
  578. package/ee/server/controllers/permission.js +0 -21
  579. package/ee/server/controllers/workflows/index.js +0 -36
  580. package/ee/server/controllers/workflows/stages/index.js +0 -57
  581. package/ee/server/services/review-workflows/review-workflows.js +0 -54
  582. package/ee/server/services/review-workflows/stages.js +0 -133
  583. package/ee/server/services/review-workflows/workflows.js +0 -25
  584. package/ee/server/utils/index.js +0 -8
  585. package/ee/server/utils/test.js +0 -11
  586. package/ee/server/validation/permission.js +0 -8
  587. package/ee/server/validation/review-workflows.js +0 -17
  588. package/server/domain/role.js +0 -29
  589. package/admin/src/pages/SettingsPage/{pages/ApiTokens/ListView/DynamicTable → components/Tokens/Table}/DefaultButton/index.js +1 -1
  590. /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/CreatePage/utils/schema.js +0 -0
  591. /package/{ee/admin → admin/src}/pages/SettingsPage/pages/Roles/ListPage/reducer.js +0 -0
@@ -0,0 +1,1139 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[994],{58153:function(Bu,Gn,D){"use strict";D.r(Gn),D.d(Gn,{App:function(){return as},default:function(){return xu}});var t=D(32735),is=D(99357),re=D(5141),h=D(13478),i=D(39161),Z=D(5636),ls=D(98978),Zn=D.n(ls),$e=D(72041),C=e=>`content-manager.${e}`,Fe=D(74506),be=D(60216),n=D.n(be),Qn=(0,t.createContext)();function Ct({attributes:e,buttonData:r,children:o,goTo:s,layout:a,metadatas:c,moveItem:l,moveRow:d,onAddData:u,relationsLayout:m,removeField:g,selectedItemName:f,setEditFieldToSelect:p,...y}){return t.createElement(Qn.Provider,{value:{attributes:e,buttonData:r,goTo:s,layout:a,metadatas:c,moveItem:l,moveRow:d,onAddData:u,relationsLayout:m,removeField:g,selectedItemName:f,setEditFieldToSelect:p,...y}},o)}Ct.defaultProps={attributes:{},buttonData:[],goTo(){},layout:[],metadatas:{},moveItem(){},moveRow(){},onAddData(){},relationsLayout:[],removeField(){},selectedItemName:null,setEditFieldToSelect(){}},Ct.propTypes={attributes:n().object,buttonData:n().array,children:n().node.isRequired,goTo:n().func,layout:n().array,metadatas:n().object,moveItem:n().func,moveRow:n().func,onAddData:n().func,relationsLayout:n().array,removeField:n().func,selectedItemName:n().string,setEditFieldToSelect:n().func};var Kn=Ct,fe={COMPONENT:"component",EDIT_FIELD:"editField",FIELD:"field",DYNAMIC_ZONE:"dynamicZone",RELATION:"relation"},q=D(83292),S=D(57269),Yn=e=>e.length>20?`${e.substring(0,20)}...`:e;const Rt=(0,q.default)(i.Flex)`
2
+ height: ${({theme:e})=>e.spaces[7]};
3
+
4
+ &:last-child {
5
+ padding: 0 ${({theme:e})=>e.spaces[3]};
6
+ }
7
+ `,Xn=(0,q.default)(Rt)`
8
+ padding: 0 ${({theme:e})=>e.spaces[3]};
9
+ border-right: 1px solid ${({theme:e})=>e.colors.neutral150};
10
+ cursor: all-scroll;
11
+
12
+ svg {
13
+ width: ${12/16}rem;
14
+ height: ${12/16}rem;
15
+ }
16
+ `,cs=(0,q.default)(i.Flex)`
17
+ display: inline-flex;
18
+ max-height: ${32/16}rem;
19
+ opacity: ${({transparent:e})=>e?0:1};
20
+ background-color: ${({theme:e,isSibling:r})=>r?e.colors.neutral100:e.colors.primary100};
21
+ border: 1px solid
22
+ ${({theme:e,isSibling:r})=>r?e.colors.neutral150:e.colors.primary200};
23
+
24
+ svg {
25
+ width: ${10/16}rem;
26
+ height: ${10/16}rem;
27
+
28
+ path {
29
+ fill: ${({theme:e,isSibling:r})=>r?void 0:e.colors.primary600};
30
+ }
31
+ }
32
+
33
+ ${i.Typography} {
34
+ color: ${({theme:e,isSibling:r})=>r?void 0:e.colors.primary600};
35
+ }
36
+
37
+ ${Xn} {
38
+ border-right: 1px solid
39
+ ${({theme:e,isSibling:r})=>r?e.colors.neutral150:e.colors.primary200};
40
+ }
41
+ `,vt=({labelField:e,transparent:r,isSibling:o})=>{const s=Yn(e);return t.createElement(cs,{hasRadius:!0,justifyContent:"space-between",transparent:r,isSibling:o},t.createElement(i.Flex,{gap:3},t.createElement(Xn,{alignItems:"center"},t.createElement(S.Drag,null)),t.createElement(i.Typography,{fontWeight:"bold"},s)),t.createElement(i.Flex,{paddingLeft:3},t.createElement(Rt,{alignItems:"center"},t.createElement(S.Pencil,null)),t.createElement(Rt,{alignItems:"center"},t.createElement(S.Cross,null))))};vt.defaultProps={isSibling:!1,transparent:!1},vt.propTypes={isSibling:n().bool,labelField:n().string.isRequired,transparent:n().bool};var Tt=vt;const ds=(0,q.default)(i.Box)`
42
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
43
+ `,us=(0,q.default)(i.Box)`
44
+ height: ${32/16}rem;
45
+ width: ${32/16}rem;
46
+ border-radius: 50%;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+
51
+ svg {
52
+ height: ${6/16}rem;
53
+ width: ${11/16}rem;
54
+ > path {
55
+ fill: ${({theme:e})=>e.colors.neutral600};
56
+ }
57
+ }
58
+ `,ms=q.default.button`
59
+ border: none;
60
+ background: transparent;
61
+ display: block;
62
+ width: 100%;
63
+ text-align: unset;
64
+ padding: 0;
65
+ `,Jn=({displayedValue:e})=>t.createElement(ds,{paddingLeft:3,paddingRight:3,paddingTop:3,paddingBottom:3,hasRadius:!0,background:"neutral0",width:(0,h.pxToRem)(300)},t.createElement(i.Flex,{justifyContent:"space-between"},t.createElement(ms,{type:"button"},t.createElement(i.Flex,null,t.createElement(us,{background:"neutral200"},t.createElement(S.CarretDown,null)),t.createElement(i.Flex,{gap:2,paddingLeft:6,maxWidth:(0,h.pxToRem)(150)},t.createElement(i.Typography,{textColor:"neutral700",ellipsis:!0},e)))),t.createElement(i.Box,{paddingLeft:3},t.createElement(i.Flex,null,t.createElement(i.IconButton,{noBorder:!0},t.createElement(S.Trash,null)),t.createElement(i.Box,{paddingLeft:2},t.createElement(i.IconButton,{noBorder:!0},t.createElement(S.Drag,null)))))));Jn.propTypes={displayedValue:n().string.isRequired};var er=Jn,ps=D(99381),Ee=D.n(ps),rt=(e,r,o)=>{if(Array.isArray(e)&&r>=0&&o>=0&&r<=e.length-1&&o<=e.length-1){const s=Ee()(e),a=s.splice(r,1);return s.splice(o,0,a[0]),s}return e},gs=D(59578),tr=D.n(gs),nr=e=>{const r=e.type;return r==="relation"?!tr()(e.relationType).includes("morph"):!["json","dynamiczone","richtext","password"].includes(r)&&!!r};const fs=(e,r)=>{typeof e=="function"?e(r):e!=null&&(e.current=r)},ot=(...e)=>r=>e.forEach(o=>fs(o,r));var hs=D(33795),x=D.n(hs);const rr=(e,r)=>Object.keys(e).reduce((o,s)=>{const a=x()(e,[s],{}),{default:c,component:l,type:d,required:u,min:m,repeatable:g}=a;if(c!==void 0&&(o[s]=c),d==="component"){const f=r?.[l]?.attributes??{},p=rr(f,r);if(u===!0&&(o[s]=g===!0?[]:p),m&&g===!0&&u){o[s]=[];for(let y=0;y<m;y+=1)o[s].push(p)}}return d==="dynamiczone"&&u===!0&&(o[s]=[]),o},{});var st=rr,ys=D(9086),or=D.n(ys),at=({layouts:e,metadatas:r,...o})=>{const s=e.list.map(l=>l.name?l.name:l),a=Object.keys(r).reduce((l,d)=>{const u=x()(r,[d],{});let m=u.edit;return m.mainField&&(m={...m,mainField:u.edit.mainField.name}),{...l,[d]:{edit:m,list:or()(u.list,["mainField"])}}},{}),c=e.edit.map(l=>l.map(({name:d,size:u})=>({name:d,size:u})));return{...o,layouts:{edit:c,list:s},metadatas:a}};const bs=(e,r)=>e.map(o=>({...o,subject:r}));var sr=e=>{const r={create:[{action:"plugin::content-manager.explorer.create",subject:null}],delete:[{action:"plugin::content-manager.explorer.delete",subject:null}],publish:[{action:"plugin::content-manager.explorer.publish",subject:null}],read:[{action:"plugin::content-manager.explorer.read",subject:null}],update:[{action:"plugin::content-manager.explorer.update",subject:null}]};return Object.keys(r).reduce((o,s)=>(o[s]=bs(r[s],e),o),{})},Es=D(95919),ar=D.n(Es),ir=e=>e.split(".").filter(r=>ar()(parseInt(r,10))),Mt=e=>{if(e.length===0)return-1;const r=Math.max.apply(Math,e.map(o=>o.__temp_key__??0));return Number.isNaN(r)?-1:r},le=e=>`/content-manager/${e}`,Cs=D(3040),K=D.n(Cs),lr=(e,r,o)=>{const s=d=>r.find(u=>u.uid===d),a=Object.assign({},e),c=e[o].uid,l=s(c);return K()(a,[o],{...e[o],...l}),Object.keys(e.components).forEach(d=>{const u=s(d);K()(a,["components",d],{...e.components[d],...u})}),a},cr=(e,r,o)=>{const s=(a,c)=>Object.keys(a).reduce((l,d)=>{const u=(0,h.getType)(c,d),m=x()(a,d),g=(0,h.getOtherInfos)(c,[d,"component"]),f=(0,h.getOtherInfos)(c,[d,"repeatable"]);return u==="dynamiczone"?(l[d]=m.map(p=>s(p,o[p.__component])),l):u==="component"?(f?l[d]=m&&m.map(p=>s(p,o[g])):l[d]=m&&s(m,o[g]),l):(u!=="password"&&(l[d]=m),l)},{});return s(e,r)};const Le={DRAFT:"draft",PUBLISHED:"published"},Dt=5,Rs=10;var We=D(51968);const vs=(e,r,{onCancel:o,onDropItem:s,onGrabItem:a,onMoveItem:c})=>{const[l,d]=(0,t.useState)(!1),u=p=>{l&&(p==="UP"?c(r-1,r):p==="DOWN"&&c(r+1,r))},m=()=>{l?(s&&s(r),d(!1)):(a&&a(r),d(!0))},g=()=>{l&&(d(!1),o&&o(r))};return p=>{if(e&&!(p.key==="Tab"&&!l))switch(p.preventDefault(),p.key){case" ":case"Enter":m();break;case"Escape":g();break;case"ArrowDown":case"ArrowRight":u("DOWN");break;case"ArrowUp":case"ArrowLeft":u("UP");break;default:}}},kt=(e,{type:r="STRAPI_DND",index:o,item:s={},onStart:a,onEnd:c,onGrabItem:l,onDropItem:d,onCancel:u,onMoveItem:m,dropSensitivity:g="regular"})=>{const f=(0,t.useRef)(null),[{handlerId:p},y]=(0,Fe.useDrop)({accept:r,collect(R){return{handlerId:R.getHandlerId()}},hover(R,P){if(!f.current)return;const A=R.index,T=o;if(A!==T){if(g==="regular"){const k=f.current.getBoundingClientRect(),L=(k.bottom-k.top)/2,_=P.getClientOffset().y-k.top;if(A<T&&_<L||A>T&&_>L)return}m(T,A),R.index=T}}}),[{isDragging:b},v,I]=(0,Fe.useDrag)({type:r,item(){a&&a();const{width:R}=f.current?.getBoundingClientRect()??{};return{index:o,width:R,...s}},end(){c&&c()},canDrag:e,isDragging:s.id?R=>s.id===R.getItem().id:void 0,collect:R=>({isDragging:R.isDragging()})}),E=vs(e,o,{onGrabItem:l,onDropItem:d,onCancel:u,onMoveItem:m});return[{handlerId:p,isDragging:b,handleKeyDown:E},f,y,v,I]},it=50,qe=4,dr=(0,q.default)(i.Flex)`
66
+ width: 100%;
67
+ /* Used to prevent endAction to be pushed out of container */
68
+ min-width: 0;
69
+
70
+ & > div[role='button'] {
71
+ cursor: all-scroll;
72
+ }
73
+ `,ur=(0,q.default)(i.Flex)`
74
+ width: 100%;
75
+ /* Used to prevent endAction to be pushed out of container */
76
+ min-width: 0;
77
+ `,It=({ariaDescribedBy:e,children:r,displayValue:o,canDrag:s,disabled:a,endAction:c,iconButtonAriaLabel:l,style:d,id:u,index:m,name:g,onCancel:f,onDropItem:p,onGrabItem:y,status:b,updatePositionOfRelation:v,...I})=>{const[{handlerId:E,isDragging:R,handleKeyDown:P},A,T,k,L]=kt(s&&!a,{type:`${fe.RELATION}_${g}`,index:m,item:{displayedValue:o,status:b,id:u},onGrabItem:y,onDropItem:p,onCancel:f,onMoveItem:v,dropSensitivity:"immediate"}),z=ot(A,k);return(0,t.useEffect)(()=>{L((0,We.rX)())},[L]),t.createElement(i.Box,{style:d,as:"li",ref:T,"aria-describedby":e,cursor:s?"all-scroll":"default"},R?t.createElement(Ts,null):t.createElement(i.Flex,{paddingTop:2,paddingBottom:2,paddingLeft:s?2:4,paddingRight:4,hasRadius:!0,borderSize:1,borderColor:"neutral200",background:a?"neutral150":"neutral0",justifyContent:"space-between",ref:s?z:void 0,"data-handler-id":E,...I},t.createElement(dr,{gap:1},s?t.createElement(i.IconButton,{forwardedAs:"div",role:"button",tabIndex:0,"aria-label":l,noBorder:!0,onKeyDown:P,disabled:a},t.createElement(S.Drag,null)):null,t.createElement(ur,{justifyContent:"space-between"},r)),c&&t.createElement(i.Box,{paddingLeft:4},c)))},Ts=()=>t.createElement(i.Box,{paddingTop:2,paddingBottom:2,paddingLeft:4,paddingRight:4,hasRadius:!0,borderStyle:"dashed",borderColor:"primary600",borderWidth:"1px",background:"primary100",height:`calc(100% - ${qe}px)`});It.defaultProps={ariaDescribedBy:"",canDrag:!1,displayValue:"",disabled:!1,endAction:void 0,onCancel:void 0,onDropItem:void 0,onGrabItem:void 0,style:void 0,status:void 0,updatePositionOfRelation:void 0},It.propTypes={ariaDescribedBy:n().string,canDrag:n().bool,children:n().node.isRequired,displayValue:n().string,disabled:n().bool,endAction:n().node,iconButtonAriaLabel:n().string.isRequired,id:n().number.isRequired,index:n().number.isRequired,name:n().string.isRequired,onCancel:n().func,onDropItem:n().func,onGrabItem:n().func,status:n().string,style:n().shape({height:n().number,left:n().number,position:n().string,right:n().number,width:n().string}),updatePositionOfRelation:n().func};var Ms=D(54450);const xt=({children:e,loadMore:r,search:o,totalNumberOfRelations:s,size:a,...c})=>t.createElement(t.Fragment,null,t.createElement(i.Flex,{paddingBottom:s>0?3:0,gap:2,justifyContent:"space-between",alignItems:"end",wrap:"wrap"},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",basis:a<=6?"100%":"70%",gap:1,...c},o),r),e);xt.defaultProps={search:void 0,loadMore:void 0,totalNumberOfRelations:0},xt.propTypes={children:n().node.isRequired,search:n().node,loadMore:n().node,size:n().number.isRequired,totalNumberOfRelations:n().number};const Ds=(0,q.default)(i.Box)`
78
+ position: relative;
79
+ overflow-x: hidden;
80
+ overflow-y: auto;
81
+
82
+ &:before,
83
+ &:after {
84
+ position: absolute;
85
+ width: 100%;
86
+ height: 4px;
87
+ z-index: 1;
88
+ }
89
+
90
+ &:before {
91
+ /* TODO: as for DS Table component we would need this to be handled by the DS theme */
92
+ content: '';
93
+ background: linear-gradient(rgba(3, 3, 5, 0.2) 0%, rgba(0, 0, 0, 0) 100%);
94
+ top: 0;
95
+ opacity: ${({overflowDirection:e})=>e==="top-bottom"||e==="top"?1:0};
96
+ transition: opacity 0.2s ease-in-out;
97
+ }
98
+
99
+ &:after {
100
+ /* TODO: as for DS Table component we would need this to be handled by the DS theme */
101
+ content: '';
102
+ background: linear-gradient(0deg, rgba(3, 3, 5, 0.2) 0%, rgba(0, 0, 0, 0) 100%);
103
+ bottom: 0;
104
+ opacity: ${({overflowDirection:e})=>e==="top-bottom"||e==="bottom"?1:0};
105
+ transition: opacity 0.2s ease-in-out;
106
+ }
107
+ `,wt=({children:e,overflow:r,...o})=>t.createElement(Ds,{overflowDirection:r,...o},e);wt.defaultProps={overflow:""},wt.propTypes={children:n().node.isRequired,overflow:n().oneOf(["top-bottom","bottom","top",""])};var ks=D(65384);const Is=q.default.div`
108
+ flex-shrink: 0;
109
+ width: ${(0,h.pxToRem)(6)};
110
+ height: ${(0,h.pxToRem)(6)};
111
+ margin-right: ${({theme:e})=>e.spaces[2]};
112
+ background-color: ${({theme:e,isDraft:r})=>e.colors[r?"secondary600":"success600"]};
113
+ border-radius: 50%;
114
+ `,mr=e=>{const{formatMessage:r}=(0,Z.useIntl)(),o=ks.components.Option,{publicationState:s,mainField:a,id:c}=e.data;if(s){const l=s==="draft",d={id:C("components.Select.draft-info-title"),defaultMessage:"State: Draft"},u={id:C("components.Select.publish-info-title"),defaultMessage:"State: Published"},m=r(l?d:u);return t.createElement(o,{...e},t.createElement(i.Flex,null,t.createElement(Is,{title:m,isDraft:l}),t.createElement(i.Typography,{ellipsis:!0},a??c)))}return t.createElement(o,{...e},a??c)};mr.propTypes={isFocused:n().bool.isRequired,data:n().shape({id:n().number.isRequired,isDraft:n().bool,mainField:n().string,publicationState:n().oneOfType([n().string,n().bool])}).isRequired};var ie=D(4409),pr=e=>e["content-manager_editViewLayoutManager"].currentLayout,Me=()=>{const e=(0,ie.useSelector)(pr),r=(0,t.useCallback)(o=>e?.components?.[o]??{},[e]);return{...e,getComponentLayout:r}},he=D(84306);const gr=(e,r)=>r.find(o=>o.uid===e),xs=(e,r)=>{const o=ws(e,r),s=fr(o.contentType,r),a=Fs(o.contentType,o.components);return K()(o,["contentType","layouts","edit"],s),K()(o,["contentType","layouts","list"],a),Object.keys(o.components).forEach(c=>{const l=fr(o.components[c],r);K()(o,["components",c,"layouts","edit"],l)}),o},ws=(e,r)=>{const o=lr(Ee()(e),r,"contentType"),{components:s,contentType:a}=o,c=l=>Object.keys(l.metadatas).reduce((d,u)=>{const m=x()(l,["attributes",u],{});let g=l.metadatas[u];if(m.type==="relation"){const f=gr(m.targetModel,r),p=g.edit.mainField,y={name:p,schema:x()(f,["attributes",p])};g={list:{...g.list,mainField:y},edit:{...g.edit,mainField:y}}}return d[u]=g,d},{});return K()(o,["contentType","metadatas"],c(a)),Object.keys(s).forEach(l=>{const d=s[l],u=c(d);K()(o,["components",l,"metadatas"],u)}),o},fr=(e,r)=>e.layouts.edit.reduce((o,s)=>{const a=s.map(c=>{const l=x()(e,["attributes",c.name],{}),d={...c,fieldSchema:l,metadatas:x()(e,["metadatas",c.name,"edit"],{})};if(l.type==="relation"){const m=gr(l.targetModel,r).pluginOptions||{};K()(d,"targetModelPluginOptions",m),K()(d,"queryInfos",{shouldDisplayRelationLink:Ls(e,c.name,r)})}return d});return o.push(a),o},[]),Fs=(e,r)=>e.layouts.list.reduce((s,a)=>{const c=x()(e,["attributes",a],{}),l=x()(e,["metadatas",a,"list"],{}),d=c.type;if(d==="relation")return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:l}),s;if(d==="component"){const u=r[c.component],m=u.settings.mainField,g=u.attributes[m];return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:{...l,mainField:{...g,name:m}}}),s}return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:l}),s},[]),Ls=(e,r,o)=>{const s=x()(e,["attributes",r,"targetModel"],"");return Ss(o).includes(s)},Ss=e=>e.filter(r=>r.isDisplayed).map(({uid:r})=>r);var hr=xs,lt=D(97889);const Ps={error:null,isLoading:!0,layout:{},layouts:{}};var As=(e,r)=>(0,lt.default)(e,o=>{switch(r.type){case"GET_DATA":{o.isLoading=!0,o.error=null,o.layout={};break}case"GET_DATA_SUCCEEDED":{const s=r.data.contentType.uid;o.layout=r.data,o.layouts[s]=r.data,o.isLoading=!1;break}case"GET_DATA_ERROR":{o.isLoading=!1,o.error=r.error;break}case"SET_LAYOUT_FROM_STATE":{o.error=null,o.layout=e.layouts[r.uid];break}case"UPDATE_LAYOUT":{const s=e.layout;o.layout={...s,contentType:{uid:s.contentType.uid,...r.newLayout.contentType}},o.layouts[s.contentType.uid]={...s,contentType:{uid:s.contentType.uid,...r.newLayout.contentType}};break}default:return o}}),Ue=D(98178),Os=D(34947);const He=()=>e=>e["content-manager_app"]||Os.E,em=()=>createSelector(He(),e=>e),tm=()=>createSelector(He(),e=>e.models),$s=()=>(0,Ue.P1)(He(),e=>({collectionTypeLinks:e.collectionTypeLinks,singleTypeLinks:e.singleTypeLinks})),Ft=()=>(0,Ue.P1)(He(),({components:e,models:r})=>({schemas:[...e,...r]}));var nm=null,yr=e=>{const[{error:r,isLoading:o,layout:s,layouts:a},c]=(0,t.useReducer)(As,Ps),l=(0,t.useMemo)(Ft,[]),{schemas:d}=(0,ie.useSelector)(p=>l(p),ie.shallowEqual),u=(0,t.useRef)(!0),{get:m}=(0,h.useFetchClient)(),g=(0,t.useCallback)(async(p,y)=>{if(a[p]){c({type:"SET_LAYOUT_FROM_STATE",uid:p});return}c({type:"GET_DATA"});try{const b=le(`content-types/${p}/configuration`),{data:{data:v}}=await m(b,{cancelToken:y.token});c({type:"GET_DATA_SUCCEEDED",data:hr(v,d)})}catch(b){if(he.Z.isCancel(b))return;u.current&&console.error(b),u.current&&c({type:"GET_DATA_ERROR",error:b})}},[a,d,m]);(0,t.useEffect)(()=>()=>{u.current=!1},[]),(0,t.useEffect)(()=>{const y=he.Z.CancelToken.source();return g(e,y),()=>{y.cancel("Operation canceled by the user.")}},[e,g]);const f=(0,t.useCallback)(p=>{c({type:"UPDATE_LAYOUT",newLayout:hr(p,d)})},[d]);return{error:r,isLoading:o,layout:s,updateLayout:f}},qs=e=>e["content-manager_app"].collectionTypeLinks,Te=D(33348),Bs=D(85973),br=D.n(Bs);const Er=(e,r)=>Object.keys(e).reduce((o,s)=>{const a=e[s],c=x()(r,[s],a);return br()(a)?{...o,[s]:Er(a,c)}:(o[s]=c,o)},{});var Ns=(e,r,o)=>{const s=e.find(({to:g})=>g.includes(r));if(!s)return"/";const{to:a,search:c}=s,l=(0,Te.parse)(c),d=(0,Te.parse)(o.substring(1)),u=Er(l,d);return`${a}?${(0,Te.stringify)(u,{encode:!1})}`},Cr=e=>{const[{rawQuery:r}]=(0,h.useQueryParams)(),o=(0,ie.useSelector)(qs);return Ns(o,e,r)},Se=()=>(0,t.useContext)(Qn),Rr=()=>{const{search:e}=(0,re.useLocation)(),r=e?(0,Te.parse)(e.substring(1)):{};return r.plugins?(0,Te.stringify)({plugins:r.plugins},{encode:!1}):""},vr=D(89334);const js=(e,r,o)=>({type:vr.m,permissions:e,__meta__:{plugins:r,containerName:o}}),Vs=()=>({type:vr.Q}),zs=e=>e["content-manager_rbacManager"].permissions,_s=e=>e.rbacProvider.collectionTypesRelatedPermissions;var Tr=(e,r,o="listView")=>{const s=(0,ie.useSelector)(_s),a=(0,ie.useSelector)(zs),c=(0,ie.useDispatch)(),l=s[r];return(0,t.useEffect)(()=>l?(c(js(l,e?e.plugins:null,o)),()=>{c(Vs())}):()=>{},[l,c,e,o]),a};const dm=(0,t.createContext)();var um=null;const mm=()=>useContext(WysiwygContext);var pm=null;const Mr=e=>{const r=(0,t.useRef)();return(0,t.useEffect)(()=>{r.current=e},[e]),r.current},Dr=(0,q.default)(i.Link)`
115
+ display: block;
116
+
117
+ > span {
118
+ white-space: nowrap;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ display: block;
122
+ }
123
+ `,kr=q.default.button`
124
+ svg path {
125
+ fill: ${({theme:e,disabled:r})=>r?e.colors.neutral600:e.colors.neutral500};
126
+ }
127
+
128
+ &:hover svg path,
129
+ &:focus svg path {
130
+ fill: ${({theme:e,disabled:r})=>!r&&e.colors.neutral600};
131
+ }
132
+ `,Lt=({canReorder:e,description:r,disabled:o,error:s,iconButtonAriaLabel:a,id:c,name:l,numberOfRelationsToDisplay:d,label:u,labelAction:m,labelLoadMore:g,labelDisconnectRelation:f,listAriaDescription:p,liveText:y,loadingMessage:b,onCancel:v,onDropItem:I,onGrabItem:E,noRelationsMessage:R,onRelationConnect:P,onRelationLoadMore:A,onRelationDisconnect:T,onRelationReorder:k,onSearchNextPage:L,onSearch:z,placeholder:_,publicationStateTranslations:B,required:U,relations:$,searchResults:G,size:W})=>{const[Y,N]=(0,t.useState)(null),[J,M]=(0,t.useState)(""),w=(0,t.useRef)(),Q=(0,t.useRef)(),{data:j}=G,O=$.data,V=O.length??0,H=(0,t.useMemo)(()=>V>d?Math.min(V,d)*(it+qe)+it/2:Math.min(V,d)*(it+qe),[V,d]),se=!!g&&$.hasNextPage,F=(0,t.useMemo)(()=>j.flat().filter(Boolean).map(ee=>({...ee,value:ee.id,label:ee.mainField})),[j]);(0,t.useEffect)(()=>{if(V<=d)return M("");const ee=Re=>{const Un=Re.target.parentNode.scrollHeight,we=Re.target.scrollHeight-Re.target.scrollTop;return Re.target.scrollTop===0?M("bottom"):M(we===Un?"top":"top-bottom")},ue=Q?.current;return!$.isLoading&&O.length>0&&ue&&Q.current.addEventListener("scroll",ee),()=>{ue&&ue.removeEventListener("scroll",ee)}},[$,O,d,V]);const[ne,ce]=(0,t.useState)(!1),me=(0,t.useRef)(),_e=(0,t.useRef)([]);(0,t.useEffect)(()=>(F.length>0&&_e.current.length===0&&ce(ee=>(ee&&(me.current=setTimeout(()=>{ce(!0)},10)),!1)),()=>{_e.current=F||[]}),[F]),(0,t.useEffect)(()=>()=>{me.current&&clearTimeout(me.current)},[]);const Je=()=>{ce(!1)},et=()=>{ce(!0),z()},tt=(ee,ue)=>{k&&ee>=0&&ee<O.length&&k(ue,ee)},ye=Mr(O.length),Ce=(0,t.useRef)(),nt=()=>{Ce.current="loadMore",A()};(0,t.useEffect)(()=>{Ce.current==="onChange"&&O.length!==ye?w.current.scrollToItem(O.length,"end"):Ce.current==="loadMore"&&O.length!==ye&&w.current.scrollToItem(0,"start"),Ce.current=void 0},[ye,O]);const xe=`${l}-item-instructions`;return t.createElement(i.Field,{error:s,name:l,hint:r,id:c,required:U},t.createElement(xt,{totalNumberOfRelations:V,size:W,search:t.createElement(t.Fragment,null,t.createElement(i.FieldLabel,{action:m},u),t.createElement(h.ReactSelect,{menuPosition:"absolute",menuPlacement:"auto",components:{Option:mr},options:F,isDisabled:o,isLoading:G.isLoading,error:s,inputId:c,isSearchable:!0,isClear:!0,loadingMessage:()=>b,onChange:ee=>{N(null),P(ee),Ce.current="onChange"},onInputChange:ee=>{N(ee),z(ee)},onMenuClose:Je,onMenuOpen:et,menuIsOpen:ne,noOptionsMessage:()=>R,onMenuScrollToBottom:()=>{G.hasNextPage&&L()},placeholder:_,name:l,value:Y})),loadMore:se&&t.createElement(i.TextButton,{disabled:$.isLoading||$.isFetchingNextPage,onClick:nt,loading:$.isLoading||$.isFetchingNextPage,startIcon:t.createElement(S.Refresh,null)},g)},O.length>0&&t.createElement(wt,{overflow:J},t.createElement(i.VisuallyHidden,{id:xe},p),t.createElement(i.VisuallyHidden,{"aria-live":"assertive"},y),t.createElement(Ms.t7,{height:H,ref:w,outerRef:Q,itemCount:V,itemSize:it+qe,itemData:{name:l,ariaDescribedBy:xe,canDrag:e,disabled:o,handleCancel:v,handleDropItem:I,handleGrabItem:E,iconButtonAriaLabel:a,labelDisconnectRelation:f,onRelationDisconnect:T,publicationStateTranslations:B,relations:O,updatePositionOfRelation:tt},itemKey:ee=>`${O[ee].mainField}_${O[ee].id}`,innerElementType:"ol"},St)),(r||s)&&t.createElement(i.Box,{paddingTop:2},t.createElement(i.FieldHint,null),t.createElement(i.FieldError,null))))},Ws=n().shape({data:n().arrayOf(n().shape({href:n().string,id:n().number.isRequired,publicationState:n().oneOfType([n().string,n().bool]),mainField:n().oneOfType([n().string,n().number])})),hasNextPage:n().bool,isFetchingNextPage:n().bool.isRequired,isLoading:n().bool.isRequired,isSuccess:n().bool.isRequired}),Us=n().shape({data:n().arrayOf(n().shape({id:n().number.isRequired,href:n().string,mainField:n().oneOfType([n().string,n().number]),publicationState:n().oneOfType([n().string,n().bool])})),hasNextPage:n().bool,isLoading:n().bool.isRequired,isSuccess:n().bool.isRequired});Lt.defaultProps={canReorder:!1,description:void 0,disabled:!1,error:void 0,labelAction:null,labelLoadMore:null,liveText:void 0,onCancel:void 0,onDropItem:void 0,onGrabItem:void 0,required:!1,relations:{data:[]},searchResults:{data:[]}},Lt.propTypes={error:n().string,canReorder:n().bool,description:n().string,disabled:n().bool,iconButtonAriaLabel:n().string.isRequired,id:n().string.isRequired,label:n().string.isRequired,labelAction:n().element,labelLoadMore:n().string,labelDisconnectRelation:n().string.isRequired,listAriaDescription:n().string.isRequired,liveText:n().string,loadingMessage:n().string.isRequired,name:n().string.isRequired,noRelationsMessage:n().string.isRequired,numberOfRelationsToDisplay:n().number.isRequired,onCancel:n().func,onDropItem:n().func,onGrabItem:n().func,onRelationConnect:n().func.isRequired,onRelationDisconnect:n().func.isRequired,onRelationLoadMore:n().func.isRequired,onRelationReorder:n().func.isRequired,onSearch:n().func.isRequired,onSearchNextPage:n().func.isRequired,placeholder:n().string.isRequired,publicationStateTranslations:n().shape({draft:n().string.isRequired,published:n().string.isRequired}).isRequired,required:n().bool,searchResults:Us,size:n().number.isRequired,relations:Ws};const St=({data:e,index:r,style:o})=>{const{ariaDescribedBy:s,canDrag:a,disabled:c,handleCancel:l,handleDropItem:d,handleGrabItem:u,iconButtonAriaLabel:m,name:g,labelDisconnectRelation:f,onRelationDisconnect:p,publicationStateTranslations:y,relations:b,updatePositionOfRelation:v}=e,{publicationState:I,href:E,mainField:R,id:P}=b[r],A=I==="draft"?"secondary":"success";return t.createElement(It,{ariaDescribedBy:s,canDrag:a,disabled:c,displayValue:String(R??P),iconButtonAriaLabel:m,id:P,index:r,name:g,endAction:t.createElement(kr,{"data-testid":`remove-relation-${P}`,disabled:c,type:"button",onClick:()=>p(b[r]),"aria-label":f},t.createElement(i.Icon,{width:"12px",as:S.Cross})),onCancel:l,onDropItem:d,onGrabItem:u,status:I||void 0,style:{...o,bottom:o.bottom??0+qe,height:o.height??0-qe},updatePositionOfRelation:v},t.createElement(i.Box,{minWidth:0,paddingTop:1,paddingBottom:1,paddingRight:4},t.createElement(i.Tooltip,{description:R??`${P}`},E?t.createElement(Dr,{to:E},R??P):t.createElement(i.Typography,{textColor:c?"neutral600":"primary600",ellipsis:!0},R??P))),I&&t.createElement(i.Status,{variant:A,showBullet:!1,size:"S"},t.createElement(i.Typography,{fontWeight:"bold",textColor:`${A}700`},y[I])))};St.defaultProps={data:{}},St.propTypes={data:n().shape({ariaDescribedBy:n().string.isRequired,canDrag:n().bool.isRequired,disabled:n().bool.isRequired,handleCancel:n().func,handleDropItem:n().func,handleGrabItem:n().func,iconButtonAriaLabel:n().string.isRequired,labelDisconnectRelation:n().string.isRequired,name:n().string.isRequired,onRelationDisconnect:n().func.isRequired,publicationStateTranslations:n().shape({draft:n().string.isRequired,published:n().string.isRequired}).isRequired,relations:n().arrayOf(n().shape({href:n().string,id:n().number.isRequired,publicationState:n().oneOfType([n().string,n().bool]),mainField:n().oneOfType([n().string,n().number])})),updatePositionOfRelation:n().func.isRequired}),index:n().number.isRequired,style:n().object.isRequired};var Hs=Lt;const Ir=({status:e,displayedValue:r,width:o})=>{const{formatMessage:s}=(0,Z.useIntl)(),a={[Le.DRAFT]:s({id:C("relation.publicationState.draft"),defaultMessage:"Draft"}),[Le.PUBLISHED]:s({id:C("relation.publicationState.published"),defaultMessage:"Published"})},c=e===Le.DRAFT?"secondary":"success";return t.createElement(i.Box,{style:{width:o}},t.createElement(i.Flex,{paddingTop:2,paddingBottom:2,paddingLeft:2,paddingRight:4,hasRadius:!0,borderSize:1,background:"neutral0",borderColor:"neutral200",justifyContent:"space-between"},t.createElement(dr,{gap:1},t.createElement(i.IconButton,{noBorder:!0},t.createElement(S.Drag,null)),t.createElement(ur,{maxWidth:"100%",justifyContent:"space-between"},t.createElement(i.Box,{minWidth:0,paddingTop:1,paddingBottom:1,paddingRight:4},t.createElement(Dr,null,t.createElement(i.Typography,{textColor:"primary600",ellipsis:!0},r))),e&&t.createElement(i.Status,{variant:c,showBullet:!1,size:"S"},t.createElement(i.Typography,{fontWeight:"bold",textColor:`${c}700`},a[e])))),t.createElement(i.Box,{paddingLeft:4},t.createElement(kr,{type:"button"},t.createElement(i.Icon,{width:"12px",as:S.Cross})))))};Ir.propTypes={status:n().string.isRequired,displayedValue:n().string.isRequired,width:n().number.isRequired};const Gs={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"};function Zs(e,r,o){if(!e||!r)return{display:"none"};const{x:s,y:a}=o,c=`translate(${s}px, ${a}px)`;return{transform:c,WebkitTransform:c}}var Qs=()=>{const{itemType:e,isDragging:r,item:o,initialOffset:s,currentOffset:a,mouseOffset:c}=(0,Fe.useDragLayer)(d=>({item:d.getItem(),itemType:d.getItemType(),initialOffset:d.getInitialSourceClientOffset(),currentOffset:d.getSourceClientOffset(),isDragging:d.isDragging(),mouseOffset:d.getClientOffset()}));if(!r)return null;const[l]=e.split("_");return t.createElement(Kn,null,t.createElement("div",{style:Gs},t.createElement("div",{style:Zs(s,a,c),className:"col-md-2"},[fe.EDIT_FIELD,fe.FIELD].includes(e)&&t.createElement(Tt,{labelField:o.labelField}),l===fe.COMPONENT&&t.createElement(er,{displayedValue:o.displayedValue}),l===fe.DYNAMIC_ZONE&&t.createElement(er,{displayedValue:o.displayedValue}),l===fe.RELATION&&t.createElement(Ir,{displayedValue:o.displayedValue,status:o.status,width:o.width}))))},xr=(0,t.createContext)(),Ks=D(47533),wr=(0,t.createContext)(),ct=D(70836),Fr=D(4460);const Ys=()=>({type:Fr.c}),Xs=(e,r)=>({type:Fr.O,layout:e,query:r});var Js=D(8266),De=D.n(Js),ea=D(66694),ta=()=>(0,t.useContext)(ea.ux),Lr=e=>{const{getAdminInjectedComponents:r}=ta(),[o,s,a]=e.split(".");return r(o,s,a)};const Sr=({area:e,...r})=>Lr(e).map(s=>t.createElement(s.Component,{key:s.name,...r}));Sr.propTypes={area:n().string.isRequired};var dt=Sr;function na(e,r){return o=>{const s=r(o.name);return t.createElement(e,{...o,...s})}}var ra=na;function oa(e){const{addComponentToDynamicZone:r,createActionAllowedFields:o,isCreatingEntry:s,formErrors:a,modifiedData:c,moveComponentField:l,removeComponentFromDynamicZone:d,readActionAllowedFields:u,updateActionAllowedFields:m}=(0,h.useCMEditViewDataManager)(),g=(0,t.useMemo)(()=>x()(c,[e],[]).map(y=>({componentUid:y.__component,id:y.id??y.__temp_key__})),[c,e]),f=(0,t.useMemo)(()=>(s?o:m).includes(e),[e,s,o,m]),p=(0,t.useMemo)(()=>(s?[]:u).includes(e),[e,s,u]);return{addComponentToDynamicZone:r,formErrors:a,isCreatingEntry:s,isFieldAllowed:f,isFieldReadable:p,moveComponentField:l,removeComponentFromDynamicZone:d,dynamicDisplayedComponents:g}}var sa=oa,aa=D(61868),ia=D.n(aa);function la(e,r){return o=>{const s=r(o);return t.createElement(e,{...o,...s})}}var ca=la,da=D(88708),Ge=D.n(da);function ua({isFromDynamicZone:e,name:r}){const{addNonRepeatableComponentToField:o,createActionAllowedFields:s,isCreatingEntry:a,modifiedData:c,removeComponentFromField:l,readActionAllowedFields:d,updateActionAllowedFields:u,formErrors:m}=(0,h.useCMEditViewDataManager)(),{contentType:g}=Me(),f=(0,t.useMemo)(()=>{const R=x()(g,["attributes"],{});return Object.keys(R).filter(A=>x()(R,[A,"type"],"")==="dynamiczone")},[g]),p=(0,t.useMemo)(()=>a?s:u,[a,s,u]),y=x()(c,r,null),b=(0,t.useMemo)(()=>ir(r),[r]),v=(0,t.useMemo)(()=>e&&a||p.filter(A=>A===b[0]).length>0?!0:p.map(A=>A.split(".")).filter(A=>A.length<b.length?!1:Ge()(A,b.length).join(".")===b.join(".")).length>0,[e,a,p,b]),I=(0,t.useMemo)(()=>e||f.includes(b[0])?!0:(a?[]:d).map(A=>A.split(".")).filter(A=>A.length<b.length?!1:Ge()(A,b.length).join(".")===b.join(".")).length>0,[e,f,b,a,d]),E=(0,t.useMemo)(()=>a||v?!1:I,[v,I,a]);return{addNonRepeatableComponentToField:o,formErrors:m,hasChildrenAllowedFields:v,hasChildrenReadableFields:I,isCreatingEntry:a,isReadOnly:E,removeComponentFromField:l,componentValue:y}}var ma=ua;const pa=(0,q.default)(i.Box)`
133
+ svg path {
134
+ fill: ${({theme:e})=>e.colors.neutral500};
135
+ }
136
+ `,Pt=({intlLabel:e,id:r,labelAction:o,name:s,numberOfEntries:a,showNumberOfEntries:c,required:l})=>{const{formatMessage:d}=(0,Z.useIntl)(),u=e?.id?d(e):s;return t.createElement(i.Box,{paddingBottom:1},t.createElement(i.Flex,null,t.createElement(i.Typography,{textColor:"neutral800",htmlFor:r||s,variant:"pi",fontWeight:"bold",as:"label"},u,c&&t.createElement(t.Fragment,null,"\xA0(",a,")"),l&&t.createElement(i.Typography,{textColor:"danger600"},"*")),o&&t.createElement(pa,{paddingLeft:1},o)))};Pt.defaultProps={id:void 0,labelAction:void 0,numberOfEntries:0,required:!1,showNumberOfEntries:!1},Pt.propTypes={id:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,labelAction:n().element,name:n().string.isRequired,numberOfEntries:n().number,required:n().bool,showNumberOfEntries:n().bool};var ga=Pt;const fa=q.default.span`
137
+ > svg {
138
+ width: ${(0,h.pxToRem)(24)};
139
+ height: ${(0,h.pxToRem)(24)};
140
+ > circle {
141
+ fill: ${({theme:e})=>e.colors.primary200};
142
+ }
143
+ > path {
144
+ fill: ${({theme:e})=>e.colors.primary600};
145
+ }
146
+ }
147
+ `,At=({error:e,isReadOnly:r,onClick:o})=>{const{formatMessage:s}=(0,Z.useIntl)();return t.createElement(t.Fragment,null,t.createElement(i.Box,{as:"button",background:"neutral100",borderColor:e?"danger600":"neutral200",disabled:r,hasRadius:!0,onClick:o,paddingTop:9,paddingBottom:9,type:"button"},t.createElement(i.Flex,{direction:"column",gap:2},t.createElement(i.Flex,{justifyContent:"center",style:{cursor:r?"not-allowed":"inherit"}},t.createElement(fa,null,t.createElement(S.PlusCircle,null))),t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Typography,{textColor:"primary600",variant:"pi",fontWeight:"bold"},s({id:C("components.empty-repeatable"),defaultMessage:"No entry yet. Click on the button below to add one."}))))),e?.id&&t.createElement(i.Typography,{textColor:"danger600",variant:"pi"},s(e,{...e.values})))};At.defaultProps={error:void 0,isReadOnly:!1},At.propTypes={error:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),isReadOnly:n().bool,onClick:n().func.isRequired};var Pr=At,ha=D(87702),Ot=D.n(ha),Em=D(27217),ya=D(88591),ba=D.n(ya),$t=D(59845),Ea=D(20871),Ca=D.n(Ea),Ra=D(48375),Ar=D.n(Ra),va=D(31089),Ta=D.n(va),Ma=D(16043),Da=D.n(Ma),ka=D(5109),Ia=D.n(ka),xa=D(47955),wa=D.n(xa),Fa=D(95706),La=D.n(Fa),Sa=D(6658),Pa=D.n(Sa),Aa=D(36407),Oa=D.n(Aa);(async()=>{await D.e(7347).then(D.bind(D,98362))})();const Be=new(ba())({html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0,highlight(e,r){if(r&&r!=="auto"&&(0,$t.getLanguage)(r))return'<pre class="hljs language-'+Be.utils.escapeHtml(r.toLowerCase())+'"><code>'+(0,$t.highlight)(r,e,!0).value+"</code></pre>";if(r==="auto"){const o=(0,$t.highlightAuto)(e);return'<pre class="hljs language-'+Be.utils.escapeHtml(o.language)+'"><code>'+o.value+"</code></pre>"}return'<pre class="hljs"><code>'+Be.utils.escapeHtml(e)+"</code></pre>"}}).use(Ca()).use(Ar(),"warning").use(Ar(),"tip").use(Ta()).use(Da()).use(Ia()).use(wa()).use(La()).use(Pa()).use(Oa());Be.renderer.rules.footnote_ref=(e,r,o,s,a)=>'<sup class="footnote-ref"><span>'+a.rules.footnote_caption(e,r,o,s,a)+"</span></sup>",Be.renderer.rules.footnote_anchor=()=>' <span class="footnote-backref">\u21A9\uFE0E</span>';var $a=Be,qa=D(13993),Or=D.n(qa);const Ba={...Or().defaults,allowedTags:!1,allowedAttributes:{"*":["href","align","alt","center","width","height","type","controls","target"],img:["src","alt"],source:["src","type"]}};var Na=e=>Or()(e,Ba),ja=q.default.div`
148
+ position: absolute;
149
+ top: 0;
150
+ width: 100%;
151
+ height: 100%;
152
+ overflow: auto;
153
+ padding: ${({theme:e})=>`${e.spaces[3]} ${e.spaces[4]}`};
154
+ font-size: ${14/16}rem;
155
+ background-color: ${({theme:e})=>e.colors.neutral0};
156
+ color: ${({theme:e})=>e.colors.neutral800};
157
+ line-height: ${({theme:e})=>e.lineHeights[6]};
158
+
159
+ h1,
160
+ h2,
161
+ h3,
162
+ h4,
163
+ h5,
164
+ h6 {
165
+ margin-block-start: ${({theme:e})=>e.spaces[2]};
166
+ margin-block-end: ${({theme:e})=>e.spaces[2]};
167
+ }
168
+
169
+ p {
170
+ margin-bottom: ${({theme:e})=>e.spaces[2]};
171
+ }
172
+
173
+ h1 {
174
+ font-size: ${36/16}rem;
175
+ font-weight: 600;
176
+ }
177
+
178
+ h2 {
179
+ font-size: ${30/16}rem;
180
+ font-weight: 500;
181
+ }
182
+
183
+ h3 {
184
+ font-size: ${24/16}rem;
185
+ font-weight: 500;
186
+ }
187
+
188
+ h4 {
189
+ font-size: ${20/16}rem;
190
+ font-weight: 500;
191
+ }
192
+
193
+ strong {
194
+ font-weight: 800;
195
+ }
196
+
197
+ em {
198
+ font-style: italic;
199
+ }
200
+
201
+ blockquote {
202
+ margin-top: ${({theme:e})=>e.spaces[8]};
203
+ margin-bottom: ${({theme:e})=>e.spaces[7]};
204
+ font-size: ${14/16}rem;
205
+ font-weight: 400;
206
+ border-left: 4px solid ${({theme:e})=>e.colors.neutral150};
207
+ font-style: italic;
208
+ padding: ${({theme:e})=>e.spaces[2]} ${({theme:e})=>e.spaces[5]};
209
+ }
210
+
211
+ img {
212
+ max-width: 100%;
213
+ }
214
+
215
+ table {
216
+ thead {
217
+ background: ${({theme:e})=>e.colors.neutral150};
218
+
219
+ th {
220
+ padding: ${({theme:e})=>e.spaces[4]};
221
+ }
222
+ }
223
+ tr {
224
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
225
+ }
226
+ th,
227
+ td {
228
+ padding: ${({theme:e})=>e.spaces[4]};
229
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
230
+ border-bottom: 0;
231
+ border-top: 0;
232
+ }
233
+ }
234
+
235
+ pre,
236
+ code {
237
+ font-size: ${14/16}rem;
238
+ border-radius: 4px;
239
+ /*
240
+ Hard coded since the color is the same between themes,
241
+ theme.colors.neutral800 changes between themes.
242
+
243
+ Matches the color of the JSON Input component.
244
+ */
245
+ background-color: #32324d;
246
+ max-width: 100%;
247
+ overflow: auto;
248
+ padding: ${({theme:e})=>e.spaces[2]};
249
+ }
250
+
251
+ /* Inline code */
252
+ p,
253
+ pre,
254
+ td {
255
+ > code {
256
+ color: #839496;
257
+ }
258
+ }
259
+
260
+ ol {
261
+ list-style-type: decimal;
262
+ margin-block-start: ${({theme:e})=>e.spaces[4]};
263
+ margin-block-end: ${({theme:e})=>e.spaces[4]};
264
+ margin-inline-start: 0px;
265
+ margin-inline-end: 0px;
266
+ padding-inline-start: ${({theme:e})=>e.spaces[4]};
267
+
268
+ ol,
269
+ ul {
270
+ margin-block-start: 0px;
271
+ margin-block-end: 0px;
272
+ }
273
+ }
274
+
275
+ ul {
276
+ list-style-type: disc;
277
+ margin-block-start: ${({theme:e})=>e.spaces[4]};
278
+ margin-block-end: ${({theme:e})=>e.spaces[4]};
279
+ margin-inline-start: 0px;
280
+ margin-inline-end: 0px;
281
+ padding-inline-start: ${({theme:e})=>e.spaces[4]};
282
+
283
+ ul,
284
+ ol {
285
+ margin-block-start: 0px;
286
+ margin-block-end: 0px;
287
+ }
288
+ }
289
+ `;const qt=({data:e})=>{const r=(0,t.useMemo)(()=>Na($a.render(e.replaceAll("\\n",`
290
+ `)||"")),[e]);return t.createElement(ja,null,t.createElement("div",{dangerouslySetInnerHTML:{__html:r}}))};qt.defaultProps={data:""},qt.propTypes={data:n().string};var $r=(0,t.memo)(qt);const Va=q.default.div`
291
+ cursor: ${({disabled:e})=>e?"not-allowed !important":"auto"};
292
+ height: 100%;
293
+ /* BASICS */
294
+ .CodeMirror-placeholder {
295
+ color: ${({theme:e})=>e.colors.neutral600} !important;
296
+ }
297
+
298
+ .CodeMirror {
299
+ /* Set height, width, borders, and global font properties here */
300
+ font-size: ${14/16}rem;
301
+ height: ${({isExpandMode:e})=>e?"100%":"290px"};
302
+ color: ${({theme:e})=>e.colors.neutral800};
303
+ direction: ltr;
304
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
305
+ 'Open Sans', 'Helvetica Neue', sans-serif;
306
+ }
307
+
308
+ /* PADDING */
309
+
310
+ .CodeMirror-lines {
311
+ padding: ${({theme:e})=>`${e.spaces[3]} ${e.spaces[4]}`};
312
+ /* Vertical padding around content */
313
+ }
314
+
315
+ .CodeMirror-scrollbar-filler,
316
+ .CodeMirror-gutter-filler {
317
+ /* The little square between H and V scrollbars */
318
+ background-color: ${({theme:e})=>`${e.colors.neutral0}`};
319
+ }
320
+
321
+ /* GUTTER */
322
+
323
+ .CodeMirror-gutters {
324
+ border-right: 1px solid #ddd;
325
+ background-color: #f7f7f7;
326
+ white-space: nowrap;
327
+ }
328
+ .CodeMirror-linenumbers {
329
+ }
330
+ .CodeMirror-linenumber {
331
+ padding: 0 3px 0 5px;
332
+ min-width: 20px;
333
+ text-align: right;
334
+ color: #999;
335
+ white-space: nowrap;
336
+ }
337
+
338
+ .CodeMirror-guttermarker {
339
+ color: black;
340
+ }
341
+ .CodeMirror-guttermarker-subtle {
342
+ color: #999;
343
+ }
344
+
345
+ /* CURSOR */
346
+
347
+ .CodeMirror-cursor {
348
+ border-left: 1px solid black;
349
+ border-right: none;
350
+ width: 0;
351
+ }
352
+ /* Shown when moving in bi-directional text */
353
+ .CodeMirror div.CodeMirror-secondarycursor {
354
+ border-left: 1px solid silver;
355
+ }
356
+ .cm-fat-cursor .CodeMirror-cursor {
357
+ width: auto;
358
+ border: 0 !important;
359
+ background: #7e7;
360
+ }
361
+ .cm-fat-cursor div.CodeMirror-cursors {
362
+ /* z-index: 1; */
363
+ }
364
+
365
+ .cm-fat-cursor-mark {
366
+ background-color: rgba(20, 255, 20, 0.5);
367
+ -webkit-animation: blink 1.06s steps(1) infinite;
368
+ -moz-animation: blink 1.06s steps(1) infinite;
369
+ animation: blink 1.06s steps(1) infinite;
370
+ }
371
+ .cm-animate-fat-cursor {
372
+ width: auto;
373
+ border: 0;
374
+ -webkit-animation: blink 1.06s steps(1) infinite;
375
+ -moz-animation: blink 1.06s steps(1) infinite;
376
+ animation: blink 1.06s steps(1) infinite;
377
+ background-color: #7e7;
378
+ }
379
+
380
+ /* Can style cursor different in overwrite (non-insert) mode */
381
+ .CodeMirror-overwrite .CodeMirror-cursor {
382
+ }
383
+
384
+ .cm-tab {
385
+ display: inline-block;
386
+ text-decoration: inherit;
387
+ }
388
+
389
+ .CodeMirror-rulers {
390
+ position: absolute;
391
+ left: 0;
392
+ right: 0;
393
+ top: -50px;
394
+ bottom: 0;
395
+ overflow: hidden;
396
+ }
397
+ .CodeMirror-ruler {
398
+ border-left: 1px solid #ccc;
399
+ top: 0;
400
+ bottom: 0;
401
+ position: absolute;
402
+ }
403
+
404
+ /* DEFAULT THEME */
405
+
406
+ .cm-header,
407
+ .cm-strong {
408
+ font-weight: bold;
409
+ }
410
+ .cm-em {
411
+ font-style: italic;
412
+ }
413
+ .cm-link {
414
+ text-decoration: underline;
415
+ }
416
+ .cm-strikethrough {
417
+ text-decoration: line-through;
418
+ }
419
+
420
+ .CodeMirror-composing {
421
+ border-bottom: 2px solid;
422
+ }
423
+
424
+ /* Default styles for common addons */
425
+
426
+ div.CodeMirror span.CodeMirror-matchingbracket {
427
+ color: #0b0;
428
+ }
429
+ div.CodeMirror span.CodeMirror-nonmatchingbracket {
430
+ color: #a22;
431
+ }
432
+ .CodeMirror-matchingtag {
433
+ background: rgba(255, 150, 0, 0.3);
434
+ }
435
+ .CodeMirror-activeline-background {
436
+ background: #e8f2ff;
437
+ }
438
+
439
+ /* STOP */
440
+
441
+ /* The rest of this file contains styles related to the mechanics of
442
+ the editor. You probably shouldn't touch them. */
443
+
444
+ .CodeMirror {
445
+ position: relative;
446
+ overflow: hidden;
447
+ background: ${({theme:e})=>`${e.colors.neutral0}`};
448
+ }
449
+
450
+ .CodeMirror-scroll {
451
+ overflow: scroll !important; /* Things will break if this is overridden */
452
+ /* 50px is the magic margin used to hide the element's real scrollbars */
453
+ /* See overflow: hidden in .CodeMirror */
454
+ margin-bottom: -50px;
455
+ margin-right: -50px;
456
+ padding-bottom: 50px;
457
+ height: 100%;
458
+ outline: none; /* Prevent dragging from highlighting the element */
459
+ position: relative;
460
+ }
461
+ .CodeMirror-sizer {
462
+ position: relative;
463
+ border-right: 50px solid transparent;
464
+ }
465
+
466
+ /* The fake, visible scrollbars. Used to force redraw during scrolling
467
+ before actual scrolling happens, thus preventing shaking and
468
+ flickering artifacts. */
469
+ .CodeMirror-vscrollbar,
470
+ .CodeMirror-hscrollbar,
471
+ .CodeMirror-scrollbar-filler,
472
+ .CodeMirror-gutter-filler {
473
+ position: absolute;
474
+ z-index: 1;
475
+ display: none;
476
+ outline: none;
477
+ }
478
+
479
+ .CodeMirror-vscrollbar {
480
+ right: 0;
481
+ top: 0;
482
+ overflow-x: hidden;
483
+ overflow-y: scroll;
484
+ }
485
+ .CodeMirror-hscrollbar {
486
+ bottom: 0;
487
+ left: 0;
488
+ overflow-y: hidden;
489
+ overflow-x: scroll;
490
+ }
491
+ .CodeMirror-scrollbar-filler {
492
+ right: 0;
493
+ bottom: 0;
494
+ }
495
+
496
+ .CodeMirror-lines {
497
+ cursor: text;
498
+ min-height: 1px; /* prevents collapsing before first draw */
499
+ }
500
+ /* Reset some styles that the rest of the page might have set */
501
+ .CodeMirror pre.CodeMirror-line,
502
+ .CodeMirror pre.CodeMirror-line-like {
503
+ -moz-border-radius: 0;
504
+ -webkit-border-radius: 0;
505
+ border-radius: 0;
506
+ border-width: 0;
507
+ background: transparent;
508
+ font-family: inherit;
509
+ font-size: inherit;
510
+ margin: 0;
511
+ white-space: pre;
512
+ word-wrap: normal;
513
+ line-height: 1.5;
514
+ color: inherit;
515
+ /* z-index: 2; */
516
+ position: relative;
517
+ overflow: visible;
518
+ -webkit-tap-highlight-color: transparent;
519
+ -webkit-font-variant-ligatures: contextual;
520
+ font-variant-ligatures: contextual;
521
+ }
522
+
523
+ .CodeMirror pre.CodeMirror-line-like {
524
+ z-index: 2;
525
+ }
526
+
527
+ .CodeMirror-wrap pre.CodeMirror-line,
528
+ .CodeMirror-wrap pre.CodeMirror-line-like {
529
+ word-wrap: break-word;
530
+ white-space: pre-wrap;
531
+ word-break: normal;
532
+ }
533
+
534
+ .CodeMirror-linebackground {
535
+ position: absolute;
536
+ left: 0;
537
+ right: 0;
538
+ top: 0;
539
+ bottom: 0;
540
+ z-index: 0;
541
+ }
542
+
543
+ .CodeMirror-linewidget {
544
+ position: relative;
545
+ /* z-index: 2; */
546
+ padding: 0.1px; /* Force widget margins to stay inside of the container */
547
+ }
548
+
549
+ .CodeMirror-widget {
550
+ }
551
+
552
+ .CodeMirror-rtl pre {
553
+ direction: rtl;
554
+ }
555
+
556
+ .CodeMirror-code {
557
+ outline: none;
558
+ }
559
+
560
+ /* Force content-box sizing for the elements where we expect it */
561
+ .CodeMirror-scroll,
562
+ .CodeMirror-sizer,
563
+ .CodeMirror-gutter,
564
+ .CodeMirror-gutters,
565
+ .CodeMirror-linenumber {
566
+ -moz-box-sizing: content-box;
567
+ box-sizing: content-box;
568
+ }
569
+
570
+ .CodeMirror-measure {
571
+ position: absolute;
572
+ width: 100%;
573
+ height: 0;
574
+ overflow: hidden;
575
+ visibility: hidden;
576
+ }
577
+
578
+ .CodeMirror-cursor {
579
+ position: absolute;
580
+ pointer-events: none;
581
+ border-color: ${({theme:e})=>`${e.colors.neutral800}`};
582
+ }
583
+ .CodeMirror-measure pre {
584
+ position: static;
585
+ }
586
+
587
+ div.CodeMirror-cursors {
588
+ visibility: hidden;
589
+ position: relative;
590
+ + div {
591
+ z-index: 0 !important;
592
+ }
593
+ }
594
+
595
+ div.CodeMirror-dragcursors {
596
+ visibility: visible;
597
+ }
598
+
599
+ .CodeMirror-focused div.CodeMirror-cursors {
600
+ visibility: visible;
601
+ }
602
+
603
+ .CodeMirror-selected {
604
+ background: ${({theme:e})=>e.colors.neutral200};
605
+ /* z-index: -10; */
606
+ }
607
+ .CodeMirror-crosshair {
608
+ cursor: crosshair;
609
+ }
610
+
611
+ /* Used to force a border model for a node */
612
+ .cm-force-border {
613
+ padding-right: 0.1px;
614
+ }
615
+
616
+ /* See issue #2901 */
617
+ .cm-tab-wrap-hack:after {
618
+ content: '';
619
+ }
620
+
621
+ /* Help users use markselection to safely style text background */
622
+ span.CodeMirror-selectedtext {
623
+ background: none;
624
+ }
625
+
626
+ span {
627
+ color: ${({theme:e})=>e.colors.neutral800} !important;
628
+ }
629
+ `,ge=(0,q.default)(i.IconButton)`
630
+ padding: ${({theme:e})=>e.spaces[2]};
631
+ /* Trick to prevent the outline from overflowing because of the general outline-offset */
632
+ outline-offset: -2px !important;
633
+
634
+ svg {
635
+ width: ${18/16}rem;
636
+ height: ${18/16}rem;
637
+ }
638
+ `,za=(0,q.default)(ge)`
639
+ svg {
640
+ width: ${8/16}rem;
641
+ height: ${8/16}rem;
642
+ }
643
+ `,qr=(0,q.default)(i.IconButtonGroup)`
644
+ margin-left: ${({theme:e})=>e.spaces[4]};
645
+ `,Br=(0,q.default)(i.IconButton)`
646
+ margin: ${({theme:e})=>`0 ${e.spaces[2]}`};
647
+ padding: ${({theme:e})=>e.spaces[2]};
648
+
649
+ svg {
650
+ width: ${18/16}rem;
651
+ height: ${18/16}rem;
652
+ }
653
+ `,_a=(0,q.default)(i.IconButtonGroup)`
654
+ margin-right: ${({theme:e})=>`${e.spaces[2]}`};
655
+ `,Wa=q.default.div`
656
+ position: relative;
657
+ height: calc(100% - 48px);
658
+ `,Ua=(0,q.default)(i.BaseButton)`
659
+ background-color: transparent;
660
+ border: none;
661
+ align-items: center;
662
+
663
+ svg {
664
+ margin-left: ${({theme:e})=>`${e.spaces[2]}`};
665
+ path {
666
+ fill: ${({theme:e})=>e.colors.neutral700};
667
+ width: ${12/16}rem;
668
+ height: ${12/16}rem;
669
+ }
670
+ }
671
+ `;var ut=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,Ha=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,Ga=/[*+-]\s/;function Za(e){if(e.getOption("disableInput"))return Ot().Pass;for(var r=e.listSelections(),o=[],s=0;s<r.length;s++){var a=r[s].head,c=e.getStateAfter(a.line),l=c.list!==!1,d=c.quote!==0,u=e.getLine(a.line),m=ut.exec(u),g=/^\s*$/.test(u.slice(0,a.ch));if(!r[s].empty()||!l&&!d||!m||g){e.execCommand("newlineAndIndent");return}if(Ha.test(u)){var f=d&&/>\s*$/.test(u),p=!/>\s*$/.test(u);(f||p)&&e.replaceRange("",{line:a.line,ch:0},{line:a.line,ch:a.ch+1}),o[s]=`
672
+ `}else{var y=m[1],b=m[5],v=!(Ga.test(m[2])||m[2].indexOf(">")>=0),I=v?parseInt(m[3],10)+1+m[4]:m[2].replace("x"," ");o[s]=`
673
+ `+y+I+b,v&&Qa(e,a)}}e.replaceSelections(o)}function Qa(e,r){var o=r.line,s=0,a=0,c=ut.exec(e.getLine(o)),l=c[1];do{s+=1;var d=o+s,u=e.getLine(d),m=ut.exec(u);if(m){var g=m[1],f=parseInt(c[3],10)+s-a,p=parseInt(m[3],10),y=p;if(l===g&&!isNaN(p))f===p&&(y=p+1),f>p&&(y=f+1),e.replaceRange(u.replace(ut,g+y+m[4]+m[5]),{line:d,ch:0},{line:d,ch:u.length});else{if(l.length>g.length||l.length<g.length&&s===1)return;a+=1}}}while(m)}var Ka=Za;const Bt=({disabled:e,editorRef:r,error:o,isPreviewMode:s,isExpandMode:a,name:c,onChange:l,placeholder:d,textareaRef:u,value:m})=>{const g=(0,t.useRef)(l);return(0,t.useEffect)(()=>{r.current=Ot().fromTextArea(u.current,{lineWrapping:!0,extraKeys:{Enter:"newlineAndIndentContinueMarkdownList",Tab:!1,"Shift-Tab":!1},readOnly:!1,smartIndent:!1,placeholder:d,spellcheck:!0,inputStyle:"contenteditable"}),Ot().commands.newlineAndIndentContinueMarkdownList=Ka,r.current.on("change",f=>{g.current({target:{name:c,value:f.getValue(),type:"wysiwyg"}})})},[r,u,c,d]),(0,t.useEffect)(()=>{m&&!r.current.hasFocus()&&r.current.setValue(m)},[r,m]),(0,t.useEffect)(()=>{s||e?r.current.setOption("readOnly","nocursor"):r.current.setOption("readOnly",!1)},[e,s,r]),(0,t.useEffect)(()=>{o?r.current.setOption("screenReaderLabel",o):r.current.setOption("screenReaderLabel","Editor")},[r,o]),t.createElement(Wa,null,t.createElement(Va,{isExpandMode:a,disabled:e||s},t.createElement("textarea",{ref:u})),s&&t.createElement($r,{data:m}))};Bt.defaultProps={disabled:!1,error:void 0,isPreviewMode:!1,isExpandMode:!1,placeholder:"",value:""},Bt.propTypes={disabled:n().bool,editorRef:n().shape({current:n().any}).isRequired,error:n().string,isPreviewMode:n().bool,isExpandMode:n().bool,name:n().string.isRequired,onChange:n().func.isRequired,placeholder:n().string,textareaRef:n().shape({current:n().any}).isRequired,value:n().string};var Ya=Bt;const Nt=({disabled:e,editorRef:r,isExpandMode:o,isPreviewMode:s,onActionClick:a,onToggleMediaLib:c,onTogglePreviewMode:l})=>{const[d,u]=(0,t.useState)(!1),{formatMessage:m}=(0,Z.useIntl)(),g=m({id:"components.Wysiwyg.selectOptions.title",defaultMessage:"Add a title"}),f=(0,t.useRef)(),p=()=>{u(y=>!y)};return e||s?t.createElement(i.Box,{padding:2,background:"neutral100"},t.createElement(i.Flex,{justifyContent:"space-between"},t.createElement(i.Flex,null,t.createElement(i.Select,{disabled:!0,id:"selectTitle",placeholder:g,size:"S","aria-label":g},t.createElement(i.Option,{value:"h1"},"h1"),t.createElement(i.Option,{value:"h2"},"h2"),t.createElement(i.Option,{value:"h3"},"h3"),t.createElement(i.Option,{value:"h4"},"h4"),t.createElement(i.Option,{value:"h5"},"h5"),t.createElement(i.Option,{value:"h6"},"h6")),t.createElement(qr,null,t.createElement(ge,{disabled:!0,id:"Bold",label:"Bold",name:"Bold",icon:t.createElement(S.Bold,null)}),t.createElement(ge,{disabled:!0,id:"Italic",label:"Italic",name:"Italic",icon:t.createElement(S.Italic,null)}),t.createElement(ge,{disabled:!0,id:"Underline",label:"Underline",name:"Underline",icon:t.createElement(S.Underline,null)})),t.createElement(Br,{disabled:!0,id:"more",label:"More",icon:t.createElement(S.More,null)})),!o&&t.createElement(i.Button,{onClick:l,variant:"tertiary",id:"preview"},m({id:"components.Wysiwyg.ToggleMode.markdown-mode",defaultMessage:"Markdown mode"})))):t.createElement(i.Box,{padding:2,background:"neutral100"},t.createElement(i.Flex,{justifyContent:"space-between"},t.createElement(i.Flex,null,t.createElement(i.Select,{id:"selectTitle",placeholder:g,size:"S",onChange:y=>a(y,r)},t.createElement(i.Option,{value:"h1"},"h1"),t.createElement(i.Option,{value:"h2"},"h2"),t.createElement(i.Option,{value:"h3"},"h3"),t.createElement(i.Option,{value:"h4"},"h4"),t.createElement(i.Option,{value:"h5"},"h5"),t.createElement(i.Option,{value:"h6"},"h6")),t.createElement(qr,null,t.createElement(ge,{onClick:()=>a("Bold",r),id:"Bold",label:"Bold",name:"Bold",icon:t.createElement(S.Bold,null)}),t.createElement(ge,{onClick:()=>a("Italic",r),id:"Italic",label:"Italic",name:"Italic",icon:t.createElement(S.Italic,null)}),t.createElement(ge,{onClick:()=>a("Underline",r),id:"Underline",label:"Underline",name:"Underline",icon:t.createElement(S.Underline,null)})),t.createElement(Br,{ref:f,onClick:p,id:"more",label:"More",icon:t.createElement(S.More,null)}),d&&t.createElement(i.Popover,{centered:!0,source:f,spacing:4,id:"popover"},t.createElement(i.FocusTrap,{onEscape:p,restoreFocus:!1},t.createElement(i.Flex,null,t.createElement(_a,null,t.createElement(ge,{onClick:()=>a("Strikethrough",r,p),id:"Strikethrough",label:"Strikethrough",name:"Strikethrough",icon:t.createElement(S.StrikeThrough,null)}),t.createElement(ge,{onClick:()=>a("BulletList",r,p),id:"BulletList",label:"BulletList",name:"BulletList",icon:t.createElement(S.BulletList,null)}),t.createElement(ge,{onClick:()=>a("NumberList",r,p),id:"NumberList",label:"NumberList",name:"NumberList",icon:t.createElement(S.NumberList,null)})),t.createElement(i.IconButtonGroup,null,t.createElement(ge,{onClick:()=>a("Code",r,p),id:"Code",label:"Code",name:"Code",icon:t.createElement(S.Code,null)}),t.createElement(ge,{onClick:()=>{p(),c()},id:"Image",label:"Image",name:"Image",icon:t.createElement(S.Picture,null)}),t.createElement(za,{onClick:()=>a("Link",r,p),id:"Link",label:"Link",name:"Link",icon:t.createElement(S.Link,null)}),t.createElement(ge,{onClick:()=>a("Quote",r,p),id:"Quote",label:"Quote",name:"Quote",icon:t.createElement(S.Quote,null)})))))),l&&t.createElement(i.Button,{onClick:l,variant:"tertiary",id:"preview"},m({id:"components.Wysiwyg.ToggleMode.preview-mode",defaultMessage:"Preview mode"}))))};Nt.defaultProps={isPreviewMode:!1,onActionClick(){},onToggleMediaLib(){},onTogglePreviewMode:void 0},Nt.propTypes={disabled:n().bool.isRequired,editorRef:n().shape({current:n().any}).isRequired,isExpandMode:n().bool.isRequired,isPreviewMode:n().bool,onActionClick:n().func,onToggleMediaLib:n().func,onTogglePreviewMode:n().func};var Xa=Nt;const jt=({onToggleExpand:e})=>{const{formatMessage:r}=(0,Z.useIntl)();return t.createElement(i.Box,{padding:2,background:"neutral100",hasRadius:!0},t.createElement(i.Flex,{justifyContent:"flex-end",alignItems:"flex-end"},t.createElement(Ua,{id:"expand",onClick:e},t.createElement(i.Typography,null,r({id:"components.WysiwygBottomControls.fullscreen",defaultMessage:"Expand"})),t.createElement(S.Expand,null))))};jt.defaultProps={onToggleExpand(){}},jt.propTypes={onToggleExpand:n().func};var Ja=jt;const Vt=({id:e,error:r,name:o,hint:s})=>s.length===0||r?null:t.createElement(i.Typography,{as:"p",variant:"pi",id:`${e||o}-hint`,textColor:"neutral600"},s);Vt.defaultProps={id:void 0,error:void 0,hint:""},Vt.propTypes={hint:n().oneOfType([n().string,n().array]),error:n().string,id:n().string,name:n().string.isRequired};var ei=Vt;const Nr=(e,r)=>{let o;switch(e){case"Strikethrough":o=`~~${r}~~`;break;case"Bold":o=`**${r}**`;break;case"Italic":o=`_${r}_`;break;case"Underline":o=`<u>${r}</u>`;break;case"Code":o=`\`\`\`
674
+ ${r}
675
+ \`\`\``;break;case"Link":o=`[${r}](link)`;break;case"Quote":o=`>${r}`;break;default:o=r}return o},jr=e=>{let r,o={start:e.length,end:0};switch(e){case"Strikethrough":r=`~~${e}~~`,o.end=2;break;case"Bold":r=`**${e}**`,o.end=2;break;case"Italic":r=`_${e}_`,o.end=1;break;case"alt":r=`[${e}]()`,o.end=3;break;case"Underline":r=`<u>${e}</u>`,o.end=4;break;case"Code":r=`\`\`\`
676
+ ${e}
677
+ \`\`\``,o.end=3;break;case"Link":r=`[${e}](link)`,o.end=7;break;case"Quote":r=`>${e}`,o.end=0;break;default:r=""}return{editedText:r,selection:o}},Vr=e=>{let r;switch(e){case"BulletList":r="- ";break;case"NumberList":r="1. ";break;case"h1":r="# ";break;case"h2":r="## ";break;case"h3":r="### ";break;case"h4":r="#### ";break;case"h5":r="##### ";break;case"h6":r="###### ";break;default:return""}return r},zr=(e,r)=>{const o=e.current.getSelection();let s;if(o){const a=Nr(r,o);e.current.replaceSelection(a),e.current.focus()}else{s=jr(r),e.current.replaceSelection(s.editedText),e.current.focus();const{line:a,ch:c}=e.current.getCursor(),l=c-s.selection.end,d=c-s.selection.end-s.selection.start;e.current.setSelection({line:a,ch:d},{line:a,ch:l})}},ti=(e,r)=>{const o=e.current.getDoc(),s=r==="BulletList"?"- ":"1. ";if(o.somethingSelected()){const a=o.listSelections();let c=null;e.current.operation(function(){a.forEach(function(l){const d=[l.head.line,l.anchor.line].sort();c==null&&(c=o.getLine(d[0]).startsWith(s));for(let u=d[0];u<=d[1];u++)if(c)o.getLine(u).startsWith(s)&&o.replaceRange("",{line:u,ch:0},{line:u,ch:s.length});else{const m=r==="BulletList"?"- ":`${u+1}. `;o.replaceRange(m,{line:u,ch:0})}})})}else{let{line:a}=o.getCursor();const c=Vr(r),l=e.current.getLine(a),d=c+l;e.current.setSelection({line:a,ch:0},{line:a,ch:l.length}),e.current.replaceSelection(d)}e.current.focus()},ni=(e,r)=>{let{line:o}=e.current.getCursor();const s=Vr(r),a=e.current.getLine(o),c=a.replace(/#{1,6}\s/g,"").trim(),l=s+c;e.current.setSelection({line:o,ch:0},{line:o,ch:a.length}),e.current.replaceSelection(l),setTimeout(()=>{const d=e.current.getLine(o).length;e.current.focus(),e.current.setCursor({line:o,ch:d})},0)},ri=(e,r)=>{let{line:o,ch:s}=e.current.getCursor();r.forEach((a,c)=>{let l=e.current.getLine(o).length;e.current.setCursor({line:o,ch:l}),(c>0||c===0&&s!==0)&&(l=e.current.getLine(o).length,e.current.setCursor({line:o,ch:l}),o++,e.current.replaceSelection(`
678
+ `)),a.mime.includes("image")?e.current.replaceSelection(`![${a.alt}](${a.url})`):e.current.replaceSelection(`[${a.alt}](${a.url})`)}),setTimeout(()=>e.current.focus(),0)},oi=(e,r,o,s,a)=>{const c=Nr(r,a),l=e.current.getRange({line:o+1,ch:0},{line:1/0,ch:1/0});if(e.current.replaceRange("",{line:o+1,ch:0},{line:1/0,ch:1/0}),e.current.replaceSelection(""),e.current.setCursor({line:o,ch:s}),e.current.replaceSelection(`
679
+ `),e.current.replaceSelection(c),r==="Code"){let{line:d}=e.current.getCursor();e.current.setCursor({line:d-1,ch:a.length})}e.current.replaceRange(l,{line:o+4,ch:0},{line:1/0,ch:1/0}),e.current.focus()},si=(e,r,o,s)=>{const a=jr(r),c=e.current.getRange({line:o+1,ch:0},{line:1/0,ch:1/0});if(e.current.replaceRange("",{line:o+1,ch:0},{line:1/0,ch:1/0}),e.current.setCursor({line:o,ch:s}),e.current.replaceSelection(`
680
+ `),e.current.replaceSelection(a.editedText),r==="Code")o+=2,e.current.setSelection({line:o,ch:0},{line:o,ch:4});else{o+=1;let{ch:l}=e.current.getCursor(),d=l-a.selection.end,u=l-a.selection.end-a.selection.start;e.current.setSelection({line:o,ch:u},{line:o,ch:d})}e.current.replaceRange(c,{line:o+2,ch:0},{line:1/0,ch:1/0}),e.current.focus()},ai=(e,r)=>{const o=e.current.getSelection();let{line:s}=e.current.getCursor(),a=e.current.getLine(s).length;o?oi(e,r,s,a,o):si(e,r,s,a)},ii=(e,r)=>`${e}${Math.floor(r*255).toString(16).padStart(2,0)}`,li=(0,q.default)(i.Flex)`
681
+ background: ${({theme:e})=>ii(e.colors.neutral800,.2)};
682
+ `,ci=(0,q.default)(i.Box)`
683
+ border-right: 1px solid ${({theme:e})=>e.colors.neutral200};
684
+ `,di=(0,q.default)(i.BaseButton)`
685
+ background-color: transparent;
686
+ border: none;
687
+ align-items: center;
688
+
689
+ svg {
690
+ margin-left: ${({theme:e})=>`${e.spaces[2]}`};
691
+
692
+ path {
693
+ fill: ${({theme:e})=>e.colors.neutral700};
694
+ width: ${12/16}rem;
695
+ height: ${12/16}rem;
696
+ }
697
+ }
698
+ `,zt=({children:e,isExpandMode:r,error:o,previewContent:s,onCollapse:a})=>{const{formatMessage:c}=(0,Z.useIntl)();return(0,h.useLockScroll)(r),r?t.createElement(i.Portal,{role:"dialog","aria-modal":!1},t.createElement(i.FocusTrap,{onEscape:a},t.createElement(li,{position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:4,justifyContent:"center",onClick:a},t.createElement(i.Box,{background:"neutral0",hasRadius:!0,shadow:"popupShadow",overflow:"hidden",width:"70%",height:"70%",onClick:l=>l.stopPropagation()},t.createElement(i.Flex,{height:"100%",alignItems:"flex-start"},t.createElement(ci,{flex:"1",height:"100%"},e),t.createElement(i.Flex,{alignItems:"start",direction:"column",flex:1,height:"100%",width:"100%"},t.createElement(i.Flex,{height:(0,h.pxToRem)(48),background:"neutral100",justifyContent:"flex-end",shrink:0,width:"100%"},t.createElement(di,{onClick:a},t.createElement(i.Typography,null,c({id:"components.Wysiwyg.collapse",defaultMessage:"Collapse"})),t.createElement(S.Collapse,null))),t.createElement(i.Box,{position:"relative",height:"100%",width:"100%"},t.createElement($r,{data:s})))))))):t.createElement(i.Box,{borderColor:o?"danger600":"neutral200",borderStyle:"solid",borderWidth:"1px",hasRadius:!0},e)};zt.defaultProps={error:void 0,previewContent:""},zt.propTypes={children:n().node.isRequired,error:n().string,isExpandMode:n().bool.isRequired,previewContent:n().string,onCollapse:n().func.isRequired};const ui=(0,q.default)(i.Box)`
699
+ svg path {
700
+ fill: ${({theme:e})=>e.colors.neutral500};
701
+ }
702
+ `,mi=(0,q.default)(i.Typography)`
703
+ line-height: 0;
704
+ `,_t=({hint:e,disabled:r,error:o,intlLabel:s,labelAction:a,name:c,onChange:l,placeholder:d,value:u,required:m})=>{const{formatMessage:g}=(0,Z.useIntl)(),f=(0,t.useRef)(null),p=(0,t.useRef)(null),[y,b]=(0,t.useState)(!1),[v,I]=(0,t.useState)(!1),[E,R]=(0,t.useState)(!1),{components:P}=(0,h.useLibrary)(),A=P["media-library"],T=()=>I($=>!$),k=()=>b($=>!$),L=()=>{b(!1),R($=>!$)},z=($,G,W)=>{switch($){case"Link":case"Strikethrough":{zr(G,$),W();break}case"Code":case"Quote":{ai(G,$),W();break}case"Bold":case"Italic":case"Underline":{zr(G,$);break}case"BulletList":case"NumberList":{ti(G,$),W();break}case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":{ni(G,$);break}default:}},_=$=>{const G=$.map(W=>({alt:W.alternativeText||W.name,url:(0,h.prefixFileUrlWithBackendUrl)(W.url),mime:W.mime}));ri(p,G),I(!1)},B=d?g({id:d.id,defaultMessage:d.defaultMessage},{...d.values}):"",U=s.id?g({id:s.id,defaultMessage:s.defaultMessage},{...s.values}):c;return t.createElement(t.Fragment,null,t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:1},t.createElement(i.Flex,{gap:1},t.createElement(i.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral800"},U,m&&t.createElement(mi,{textColor:"danger600"},"*")),a&&t.createElement(ui,{paddingLeft:1},a)),t.createElement(zt,{isExpandMode:E,error:o,previewContent:u,onCollapse:L},t.createElement(Xa,{isExpandMode:E,editorRef:p,isPreviewMode:y,onActionClick:z,onToggleMediaLib:T,onTogglePreviewMode:E?void 0:k,disabled:r}),t.createElement(Ya,{disabled:r,isExpandMode:E,editorRef:p,error:o,isPreviewMode:y,name:c,onChange:l,placeholder:B,textareaRef:f,value:u}),!E&&t.createElement(Ja,{onToggleExpand:L})),t.createElement(ei,{hint:e,name:c,error:o})),o&&t.createElement(i.Box,{paddingTop:1},t.createElement(i.Typography,{variant:"pi",textColor:"danger600","data-strapi-field-error":!0},o)),v&&t.createElement(A,{onClose:T,onSelectAssets:_}))};_t.defaultProps={disabled:!1,error:"",labelAction:void 0,placeholder:null,required:!1,value:"",hint:""},_t.propTypes={hint:n().oneOfType([n().string,n().array]),disabled:n().bool,error:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,labelAction:n().element,name:n().string.isRequired,onChange:n().func.isRequired,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),required:n().bool,value:n().string};var pi=_t,_r=(e,r)=>{const[o,s]=(0,t.useState)(e);return(0,t.useEffect)(()=>{const a=setTimeout(()=>{s(e)},r);return()=>{clearTimeout(a)}},[e,r]),o},gi=/^[A-Za-z0-9-_.~]*$/;const fi=(0,q.default)(i.Box)`
705
+ position: relative;
706
+ `,hi=(0,q.default)(i.FieldAction)`
707
+ svg {
708
+ height: 1rem;
709
+ width: 1rem;
710
+ path {
711
+ fill: ${({theme:e})=>e.colors.neutral400};
712
+ }
713
+ }
714
+
715
+ svg:hover {
716
+ path {
717
+ fill: ${({theme:e})=>e.colors.primary600};
718
+ }
719
+ }
720
+ `,Wt=(0,q.default)(i.Flex)`
721
+ position: absolute;
722
+ right: ${({theme:e})=>e.spaces[6]};
723
+ width: 100px;
724
+ pointer-events: none;
725
+
726
+ svg {
727
+ margin-right: ${({theme:e})=>e.spaces[1]};
728
+ height: ${12/16}rem;
729
+ width: ${12/16}rem;
730
+ path {
731
+ fill: ${({theme:e,notAvailable:r})=>r?e.colors.danger600:e.colors.success600};
732
+ }
733
+ }
734
+ `,yi=q.keyframes`
735
+ from {
736
+ transform: rotate(0deg);
737
+ }
738
+ to {
739
+ transform: rotate(359deg);
740
+ }
741
+ `,bi=(0,q.default)(i.Flex)`
742
+ animation: ${yi} 2s infinite linear;
743
+ `,Ut=({attribute:e,contentTypeUID:r,hint:o,disabled:s,error:a,intlLabel:c,labelAction:l,name:d,onChange:u,value:m,placeholder:g,required:f})=>{const{modifiedData:p,initialData:y,layout:b}=(0,h.useCMEditViewDataManager)(),[v,I]=(0,t.useState)(!1),[E,R]=(0,t.useState)(null),P=_r(m,300),A=(0,t.useRef)(),T=y[d],{formatMessage:k}=(0,Z.useIntl)(),L=x()(b,["options","timestamps",0]),z=!y[L],_=_r(p[e.targetField],300),[B,U]=(0,t.useState)(!1),[$,G]=(0,t.useState)(null),{post:W}=(0,h.useFetchClient)(),Y=c.id?k({id:c.id,defaultMessage:c.defaultMessage},{...c.values}):d,N=g?k({id:g.id,defaultMessage:g.defaultMessage},{...g.values}):"";A.current=async(j=!1)=>{I(!0);const O=le("uid/generate");try{const{data:{data:V}}=await W(O,{contentTypeUID:r,field:d,data:p});u({target:{name:d,value:V,type:"text"}},j),I(!1)}catch{I(!1)}};const J=async()=>{I(!0);const j=le("uid/check-availability");if(m)try{const{data:O}=await W(j,{contentTypeUID:r,field:d,value:m?m.trim():""});R(O),I(!1)}catch{I(!1)}};(0,t.useEffect)(()=>{!m&&e.required&&A.current(!0)},[]),(0,t.useEffect)(()=>{P&&P.trim().match(gi)&&P!==T&&J(),P||R(null)},[P,T]),(0,t.useEffect)(()=>{let j;return E&&E.isAvailable&&(j=setTimeout(()=>{R(null)},4e3)),()=>{j&&clearTimeout(j)}},[E]),(0,t.useEffect)(()=>{!B&&z&&_&&p[e.targetField]&&!m&&A.current(!0)},[_,B,z]);const M=()=>{G(k({id:"content-manager.components.uid.regenerate",defaultMessage:"Regenerate"}))},w=()=>{G(null)},Q=j=>{j.target.value&&z&&U(!0),u(j)};return t.createElement(i.TextInput,{disabled:s,error:a,endAction:t.createElement(fi,null,E&&E.isAvailable&&!$&&t.createElement(Wt,{alignItems:"center",justifyContent:"flex-end"},t.createElement(S.CheckCircle,null),t.createElement(i.Typography,{textColor:"success600",variant:"pi"},k({id:"content-manager.components.uid.available",defaultMessage:"Available"}))),E&&!E.isAvailable&&!$&&t.createElement(Wt,{notAvailable:!0,alignItems:"center",justifyContent:"flex-end"},t.createElement(S.ExclamationMarkCircle,null),t.createElement(i.Typography,{textColor:"danger600",variant:"pi"},k({id:"content-manager.components.uid.unavailable",defaultMessage:"Unavailable"}))),$&&t.createElement(Wt,{alignItems:"center",justifyContent:"flex-end"},t.createElement(i.Typography,{textColor:"primary600",variant:"pi"},$)),t.createElement(hi,{onClick:()=>A.current(),label:"regenerate",onMouseEnter:M,onMouseLeave:w},v?t.createElement(bi,null,t.createElement(S.Loader,null)):t.createElement(S.Refresh,null))),hint:o,label:Y,labelAction:l,name:d,onChange:Q,placeholder:N,value:m||"",required:f})};Ut.propTypes={attribute:n().shape({targetField:n().string,required:n().bool}).isRequired,contentTypeUID:n().string.isRequired,disabled:n().bool,error:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,labelAction:n().element,name:n().string.isRequired,onChange:n().func.isRequired,value:n().string,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),required:n().bool,hint:n().oneOfType([n().string,n().array])},Ut.defaultProps={disabled:!1,error:void 0,labelAction:void 0,placeholder:void 0,value:"",required:!1,hint:""};var Ei=Ut,Ci=D(88423),Ht=D.n(Ci),Pe=D(84968);function Ri(e,r){return o=>{const s=r(o);return t.createElement(e,{...o,...s})}}var vi=Ri;function Ti({componentUid:e,isUserAllowedToEditField:r,isUserAllowedToReadField:o,name:s,queryInfos:a}){const{isCreatingEntry:c,createActionAllowedFields:l,readActionAllowedFields:d,updateActionAllowedFields:u,slug:m,modifiedData:g}=(0,h.useCMEditViewDataManager)(),f=(0,t.useMemo)(()=>r===!0?!0:(c?l:u).includes(s),[c,l,s,r,u]),p=(0,t.useMemo)(()=>o?!0:(c?[]:d).includes(s),[c,o,s,d]),y=s.split(".");let b;e&&(b=x()(g,y.slice(0,-1))?.id);const v=(0,t.useMemo)(()=>c?null:e?b?le(`relations/${e}/${b}/${y.at(-1)}`):null:le(`relations/${m}/${g.id}/${s.split(".").at(-1)}`),[c,e,m,g.id,s,b,y]),I=(0,t.useMemo)(()=>le(e?`relations/${e}/${s.split(".").at(-1)}`:`relations/${m}/${s.split(".").at(-1)}`),[e,m,s]);return{componentId:b,isComponentRelation:Boolean(e),queryInfos:{...a,endpoints:{search:I,relation:v}},isCreatingEntry:c,isFieldAllowed:f,isFieldReadable:p}}var Mi=Ti;function Di(e,r){return`${le(`collectionType/${e}/${r??""}`)}`}const Gt=(e,{shouldAddLink:r,mainFieldName:o,targetModel:s})=>{const a={...e};return r&&(a.href=Di(s,a.id)),a.publicationState=!1,a?.publishedAt!==void 0&&(a.publicationState=a.publishedAt?Le.PUBLISHED:Le.DRAFT),a.mainField=a[o],a},ki=(e,{shouldAddLink:r=!1,mainFieldName:o,targetModel:s}={})=>[...e].map(a=>Gt(a,{shouldAddLink:r,mainFieldName:o,targetModel:s})),Ii=(e,{mainFieldName:r})=>{const{data:o}=e,{pages:s=[]}=o??{};return{...e,data:s.map(a=>a?.results.map(c=>Gt(c,{mainFieldName:r}))).filter(Boolean).flat()}},xi=(e=[],r=[])=>{const o=e.reduce((a,c)=>r.find(l=>l.id===c.id)?a:[...a,c.id],[]),s=r.reduce((a,c)=>e.find(l=>l.id===c.id)?a:[...a,c.id],[]);return[o,s]},wi=e=>{const r=t.useRef(e);return t.useEffect(()=>{r.current=e}),t.useMemo(()=>(...o)=>r.current?.(...o),[])},Fi=(e,{relation:r,search:o})=>{const[s,a]=(0,t.useState)({}),[c,l]=(0,t.useState)(0),{get:d}=(0,h.useFetchClient)(),u=async({pageParam:T=1})=>{try{const{data:k}=await d(r?.endpoint,{params:{...r.pageParams??{},page:T}});return l(T),k}catch{return null}},m=async({pageParam:T=1})=>{try{const{data:k}=await d(o.endpoint,{params:{...o.pageParams??{},...s,page:T}});return k}catch{return null}},{onLoad:g,normalizeArguments:f={}}=r,p=(0,Pe.useInfiniteQuery)(["relation",...e],u,{cacheTime:0,enabled:r.enabled,getNextPageParam(T){const k=!T?.pagination;if(!(!T||k||T?.pagination.page>=T?.pagination.pageCount))return T.pagination.page+1},select:T=>({...T,pages:T.pages.map(k=>{if(!k)return k;const{data:L,results:z,pagination:_}=k,B=!!L;let U=[];return B?U=[L]:z&&(U=[...z].reverse()),{pagination:_,results:U}})})}),{pageGoal:y}=r,{status:b,data:v,fetchNextPage:I,hasNextPage:E}=p;(0,t.useEffect)(()=>{y>c&&E&&b==="success"&&I({pageParam:c+1})},[y,c,I,E,b]);const R=wi(g);(0,t.useEffect)(()=>{if(b==="success"&&v&&v.pages?.at(-1)?.results&&R){const T=ki(v.pages.at(-1).results,f);R(T)}},[b,R,v]);const P=(0,Pe.useInfiniteQuery)(["relation",...e,"search",JSON.stringify(s)],m,{enabled:Object.keys(s).length>0,getNextPageParam(T){if(!(!T?.pagination||T.pagination.page>=T.pagination.pageCount))return T.pagination.page+1}});return{relations:p,search:P,searchFor:(T,k={})=>{a({...k,_q:T})}}},Wr=(e,r)=>o=>{const s=o.split(".");return s.reduce((a,c,l)=>{const d=x()(e,a),u=x()(r,[...s.slice(0,l),c,"__temp_key__"]);if(Array.isArray(d)&&typeof u=="number"){const m=d.findIndex(g=>g.__temp_key__===u);return a.push(m.toString()),a}return a.push(c),a},[])},Zt=({error:e,componentId:r,isComponentRelation:o,editable:s,description:a,intlLabel:c,isCreatingEntry:l,isFieldAllowed:d,isFieldReadable:u,labelAction:m,mainField:g,name:f,queryInfos:{endpoints:p,defaultParams:y,shouldDisplayRelationLink:b},placeholder:v,required:I,relationType:E,size:R,targetModel:P})=>{const[A,T]=(0,t.useState)(""),{formatMessage:k}=(0,Z.useIntl)(),{slug:L,initialData:z,modifiedData:_,relationConnect:B,relationDisconnect:U,relationLoad:$,relationReorder:G}=(0,h.useCMEditViewDataManager)(),W=f.split("."),Y=Wr(z,_)(f),N=x()(_,f,[]),J=Math.ceil(x()(z,f,[]).length/Dt),{relations:M,search:w,searchFor:Q}=Fi([L,Y.join("."),_.id,y],{relation:{enabled:!!p.relation,endpoint:p.relation,pageGoal:J,pageParams:{...y,pageSize:Dt},onLoad(ee){$({target:{initialDataPath:["initialData",...Y],modifiedDataPath:["modifiedData",...W],value:ee}})},normalizeArguments:{mainFieldName:g.name,shouldAddLink:b,targetModel:P}},search:{endpoint:p.search,pageParams:{...y,entityId:l?void 0:o?r:z.id,pageSize:Rs}}}),j=(0,t.useMemo)(()=>E.toLowerCase().includes("morph"),[E]),O=["oneWay","oneToOne","manyToOne","oneToManyMorph","oneToOneMorph"].includes(E),V=(0,t.useMemo)(()=>j?!0:l?!s:!d&&u||!s,[j,l,s,d,u]),H=ee=>{const ue=Gt(ee,{mainFieldName:g.name,shouldAddLink:b,targetModel:P});B({name:f,value:ue,toOneRelation:O})},se=ee=>{U({name:f,id:ee.id})},F=()=>{M.fetchNextPage()},ne=(ee="")=>{const[ue,Re]=xi(N,x()(z,f));Q(ee,{idsToInclude:Re,idsToOmit:ue})},ce=()=>{w.fetchNextPage()},me=ee=>`${ee+1} of ${N.length}`,_e=(ee,ue)=>{const Re=N[ee];T(k({id:C("dnd.reorder"),defaultMessage:"{item}, moved. New position in list: {position}."},{item:Re.mainField??Re.id,position:me(ue)})),G({name:f,newIndex:ue,oldIndex:ee})},Je=ee=>{const ue=N[ee];T(k({id:C("dnd.grab-item"),defaultMessage:"{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel."},{item:ue.mainField??ue.id,position:me(ee)}))},et=ee=>{const ue=N[ee];T(k({id:C("dnd.drop-item"),defaultMessage:"{item}, dropped. Final position in list: {position}."},{item:ue.mainField??ue.id,position:me(ee)}))},tt=ee=>{const ue=N[ee];T(k({id:C("dnd.cancel-item"),defaultMessage:"{item}, dropped. Re-order cancelled."},{item:ue.mainField??ue.id}))};if(!d&&l||!l&&!d&&!u)return t.createElement(h.NotAllowedInput,{name:f,intlLabel:c,labelAction:m});const ye=N.length,Ce=(x()(z,Y)??[]).length,nt=M.data?.pages[0]?.pagination?.total??0,xe=!M.data&&ye===Ce?ye:ye-Ce+nt;return t.createElement(Hs,{error:e,canReorder:!O,description:a,disabled:V,iconButtonAriaLabel:k({id:C("components.RelationInput.icon-button-aria-label"),defaultMessage:"Drag"}),id:f,label:`${k({id:c.id,defaultMessage:c.defaultMessage})} ${xe>0?`(${xe})`:""}`,labelAction:m,labelLoadMore:l?null:k({id:C("relation.loadMore"),defaultMessage:"Load More"}),labelDisconnectRelation:k({id:C("relation.disconnect"),defaultMessage:"Remove"}),listAriaDescription:k({id:C("dnd.instructions"),defaultMessage:"Press spacebar to grab and re-order"}),listHeight:320,liveText:A,loadingMessage:k({id:C("relation.isLoading"),defaultMessage:"Relations are loading"}),name:f,noRelationsMessage:k({id:C("relation.notAvailable"),defaultMessage:"No relations available"}),numberOfRelationsToDisplay:Dt,onDropItem:et,onGrabItem:Je,onCancel:tt,onRelationConnect:H,onRelationDisconnect:se,onRelationLoadMore:F,onRelationReorder:_e,onSearch:ee=>ne(ee),onSearchNextPage:()=>ce(),placeholder:k(v||{id:C("relation.add"),defaultMessage:"Add relation"}),publicationStateTranslations:{[Le.DRAFT]:k({id:C("relation.publicationState.draft"),defaultMessage:"Draft"}),[Le.PUBLISHED]:k({id:C("relation.publicationState.published"),defaultMessage:"Published"})},relations:Ht()({...M,data:N},"data","hasNextPage","isFetchingNextPage","isLoading","isSuccess"),required:I,searchResults:Ii(w,{mainFieldName:g.name}),size:R})};Zt.defaultProps={componentId:void 0,editable:!0,error:void 0,description:"",labelAction:null,isComponentRelation:!1,isFieldAllowed:!0,placeholder:null,required:!1},Zt.propTypes={componentId:n().number,editable:n().bool,error:n().string,description:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,labelAction:n().element,isCreatingEntry:n().bool.isRequired,isComponentRelation:n().bool,isFieldAllowed:n().bool,isFieldReadable:n().bool.isRequired,mainField:n().shape({name:n().string.isRequired,schema:n().shape({type:n().string.isRequired}).isRequired}).isRequired,name:n().string.isRequired,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),required:n().bool,relationType:n().string.isRequired,size:n().number.isRequired,targetModel:n().string.isRequired,queryInfos:n().shape({defaultParams:n().shape({locale:n().string}),endpoints:n().shape({relation:n().string,search:n().string.isRequired}).isRequired,shouldDisplayRelationLink:n().bool.isRequired}).isRequired};const Li=(0,t.memo)(Zt);var Si=vi(Li,Mi);function Pi(e,r){return o=>{const s=r(o.keys);return t.createElement(e,{...o,...s})}}var Ai=Pi,Oi=(e,r=!1)=>[{metadatas:{intlLabel:{id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"},disabled:r,hidden:r},key:"__enum_option_null",value:""},...e.map(o=>({metadatas:{intlLabel:{id:o,defaultMessage:o},hidden:!1,disabled:!1},key:o,value:o}))],$i=(e="")=>{switch(tr()(e)){case"boolean":return"bool";case"biginteger":return"text";case"decimal":case"float":case"integer":return"number";case"date":case"datetime":case"time":return e;case"email":return"email";case"enumeration":return"select";case"password":return"password";case"string":return"text";case"text":return"textarea";case"media":case"file":case"files":return"media";case"json":return"json";case"wysiwyg":case"WYSIWYG":case"richtext":return"wysiwyg";case"uid":return"uid";default:return e||"text"}},qi=e=>{let r;return e==="float"||e==="decimal"?r=.01:r=1,r};function Bi(e){const{createActionAllowedFields:r,formErrors:o,isCreatingEntry:s,modifiedData:a,onChange:c,readActionAllowedFields:l,shouldNotRunValidations:d,updateActionAllowedFields:u}=(0,h.useCMEditViewDataManager)(),m=(0,t.useMemo)(()=>s?r:u,[s,r,u]),g=(0,t.useMemo)(()=>s?[]:l,[s,l]),f=x()(a,e,null);return{allowedFields:m,formErrors:o,isCreatingEntry:s,onChange:c,readableFields:g,shouldNotRunValidations:d,value:f}}var Ni=Bi,Ur=["type","model","via","collection","default","plugin","enum","regex","pluginOptions"];function Qt({allowedFields:e,componentUid:r,fieldSchema:o,formErrors:s,isCreatingEntry:a,keys:c,labelAction:l,metadatas:d,onChange:u,readableFields:m,shouldNotRunValidations:g,queryInfos:f,value:p,size:y,customFieldInputs:b}){const{fields:v}=(0,h.useLibrary)(),{formatMessage:I}=(0,Z.useIntl)(),{contentType:E}=Me(),R=(0,t.useMemo)(()=>!x()(d,"editable",!0),[d]),{type:P,customField:A}=o,T=x()(s,[c],null),k=(0,t.useMemo)(()=>ir(c),[c]),L=(0,t.useMemo)(()=>{const H=or()(o,g?[...Ur,"required","minLength"]:Ur),se=o.regex||null;if(se){const F=new RegExp(se);F&&(H.regex=F)}return H},[o,g]),z=(0,t.useMemo)(()=>x()(L,["required"],!1),[L]),_=(0,t.useMemo)(()=>{const H=x()(E,["attributes"],{});return x()(H,[k[0],"type"],null)==="dynamiczone"},[E,k]),B=(0,t.useMemo)(()=>$i(P),[P]),U=(0,t.useMemo)(()=>P==="media"&&!p?[]:p,[P,p]),$=(0,t.useMemo)(()=>qi(P),[P]),G=(0,t.useMemo)(()=>{const H=k.join(".");if(e.includes(H))return!0;if(_)return e.includes(k[0]);if(k.length>1){const F=Ge()(k,k.length-1).join(".");return e.includes(F)}return!1},[e,k,_]),W=(0,t.useMemo)(()=>{const H=k.join(".");if(m.includes(H))return!0;if(_)return m.includes(k[0]);if(k.length>1){const F=Ge()(k,k.length-1).join(".");return m.includes(F)}return!1},[m,k,_]),Y=(0,t.useMemo)(()=>W||G,[G,W]),N=(0,t.useMemo)(()=>a?R:W&&!G?!0:R,[R,a,G,W]),J=(0,t.useMemo)(()=>Oi(o.enum||[],z),[o,z]),{label:M,description:w,placeholder:Q,visible:j}=d,O=(0,t.useMemo)(()=>{if(!d.step||B!=="datetime"&&B!=="time")return $;if(!U)return d.step;let H;return B==="datetime"?H=parseInt(U.substr(14,2),10):B==="time"&&(H=parseInt(U.slice(-2),10)),H%d.step===0?d.step:$},[B,U,d.step,$]);if(j===!1)return null;if(!Y)return t.createElement(h.NotAllowedInput,{description:w?{id:w,defaultMessage:w}:null,intlLabel:{id:M,defaultMessage:M},labelAction:l,error:T&&I(T),name:c,required:z});if(P==="relation")return t.createElement(Si,{...d,...o,componentUid:r,description:d.description?I({id:d.description,defaultMessage:d.description}):void 0,intlLabel:{id:d.label,defaultMessage:d.label},labelAction:l,isUserAllowedToEditField:G,isUserAllowedToReadField:W,name:c,placeholder:d.placeholder?{id:d.placeholder,defaultMessage:d.placeholder}:null,queryInfos:f,size:y,value:p,error:T&&I(T)});const V={uid:Ei,media:v.media,wysiwyg:pi,...v,...b};return t.createElement(h.GenericInput,{attribute:o,autoComplete:"new-password",intlLabel:{id:M,defaultMessage:M},isNullable:B==="bool"&&[null,void 0].includes(o.default),description:w?{id:w,defaultMessage:w}:null,disabled:N,error:T,labelAction:l,contentTypeUID:E.uid,customInputs:V,multiple:o.multiple||!1,name:c,onChange:u,options:J,placeholder:Q?{id:Q,defaultMessage:Q}:null,required:o.required||!1,step:O,type:A||B,value:U,withDefaultValue:!1})}Qt.defaultProps={componentUid:void 0,formErrors:{},labelAction:void 0,size:void 0,value:null,queryInfos:{},customFieldInputs:{}},Qt.propTypes={allowedFields:n().array.isRequired,componentUid:n().string,fieldSchema:n().object.isRequired,formErrors:n().object,keys:n().string.isRequired,isCreatingEntry:n().bool.isRequired,labelAction:n().element,metadatas:n().object.isRequired,onChange:n().func.isRequired,readableFields:n().array.isRequired,size:n().number,shouldNotRunValidations:n().bool.isRequired,value:n().any,queryInfos:n().shape({containsKey:n().string,defaultParams:n().object,endPoint:n().string}),customFieldInputs:n().object};const ji=(0,t.memo)(Qt,De());var Kt=Ai(ji,Ni);const Ze=new Map;var Yt=(e=[])=>{const[r,o]=(0,t.useState)(Object.fromEntries(Ze)),s=e.filter(u=>!Ze.get(u)),[a,c]=(0,t.useState)(()=>!!s.length),l=(0,h.useCustomFields)();(0,t.useEffect)(()=>{const u=g=>{o(g),c(!1)},m=async(g,f)=>{const p=await Promise.all(f);g.forEach((y,b)=>{Ze.set(y,p[b].default)}),u(Object.fromEntries(Ze))};if(s.length>0){c(!0);const g=s.map(f=>l.get(f).components.Input());g.length>0&&m(s,g)}},[s,l]);const d=(0,t.useCallback)(()=>{Ze.clear(),o({})},[]);return{isLazyLoading:a,lazyComponentStore:r,cleanup:d}};const Xt=({componentUid:e,isFromDynamicZone:r,isNested:o,name:s})=>{const{getComponentLayout:a}=Me(),l=(0,t.useMemo)(()=>a(e),[e,a]).layouts.edit,{lazyComponentStore:d}=Yt();return t.createElement(i.Box,{background:r?"":"neutral100",paddingLeft:6,paddingRight:6,paddingTop:6,paddingBottom:6,hasRadius:o,borderColor:o?"neutral200":""},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:6},l.map((u,m)=>t.createElement(i.Grid,{gap:4,key:m},u.map(({name:g,size:f,metadatas:p,fieldSchema:y,queryInfos:b})=>{const v=y.type==="component",I=`${s}.${g}`;if(v){const E=y.component;return t.createElement(i.GridItem,{col:f,s:12,xs:12,key:g},t.createElement(mt,{componentUid:E,intlLabel:{id:p.label,defaultMessage:p.label},isNested:!0,isRepeatable:y.repeatable,max:y.max,min:y.min,name:I,required:y.required||!1}))}return t.createElement(i.GridItem,{col:f,key:g,s:12,xs:12},t.createElement(Kt,{componentUid:e,keys:I,fieldSchema:y,metadatas:p,queryInfos:b,size:f,customFieldInputs:d}))})))))};Xt.defaultProps={isFromDynamicZone:!1,isNested:!1},Xt.propTypes={componentUid:n().string.isRequired,isFromDynamicZone:n().bool,isNested:n().bool,name:n().string.isRequired};var Vi=Xt,zi=D(41119),Hr=D.n(zi);const _i=q.default.span`
744
+ display: block;
745
+ background-color: ${({theme:e})=>e.colors.primary100};
746
+ outline: 1px dashed ${({theme:e})=>e.colors.primary500};
747
+ outline-offset: -1px;
748
+ padding: ${({theme:e})=>e.spaces[6]};
749
+ `;var Wi=()=>t.createElement(_i,{padding:6,background:"primary100"});const Ui=(0,q.default)(i.IconButton)`
750
+ background-color: transparent;
751
+
752
+ svg {
753
+ path {
754
+ fill: ${({theme:e,expanded:r})=>r?e.colors.primary600:e.colors.neutral600};
755
+ }
756
+ }
757
+
758
+ &:hover {
759
+ svg {
760
+ path {
761
+ fill: ${({theme:e})=>e.colors.primary600};
762
+ }
763
+ }
764
+ }
765
+ `,Hi=(0,q.default)(i.Flex)`
766
+ & .drag-handle {
767
+ background: unset;
768
+
769
+ svg {
770
+ path {
771
+ fill: ${({theme:e,expanded:r})=>r?e.colors.primary600:void 0};
772
+ }
773
+ }
774
+
775
+ &:hover {
776
+ svg {
777
+ path {
778
+ /* keeps the hover style of the accordion */
779
+ fill: ${({theme:e})=>e.colors.primary600};
780
+ }
781
+ }
782
+ }
783
+ }
784
+ `,Jt=({componentFieldName:e,componentUid:r,fields:o,index:s,isOpen:a,isReadOnly:c,mainField:l,moveComponentField:d,onClickToggle:u,toggleCollapses:m,onGrabItem:g,onDropItem:f,onCancel:p})=>{const{modifiedData:y,removeRepeatableField:b,triggerFormValidation:v}=(0,h.useCMEditViewDataManager)(),I=Hr()(x()(y,[...e.split("."),l],"")),E=(0,t.useRef)(null),{formatMessage:R}=(0,Z.useIntl)(),[P]=e.split("."),[{handlerId:A,isDragging:T,handleKeyDown:k},L,z,_,B]=kt(!c,{type:`${fe.COMPONENT}_${P}`,index:s,item:{displayedValue:I},onMoveItem:d,onStart(){m()},onEnd(){v()},onGrabItem:g,onDropItem:f,onCancel:p});(0,t.useEffect)(()=>{B((0,We.rX)(),{captureDraggingState:!1})},[B,s]);const U=ot(E,_),$=ot(L,z),{lazyComponentStore:G}=Yt();return t.createElement(i.Box,{ref:$},T?t.createElement(Wi,null):t.createElement(i.Accordion,{expanded:a,onToggle:u,id:e,size:"S"},t.createElement(i.AccordionToggle,{action:c?null:t.createElement(Hi,{gap:0,expanded:a},t.createElement(Ui,{expanded:a,noBorder:!0,onClick:()=>{b(e),m()},label:R({id:C("containers.Edit.delete"),defaultMessage:"Delete"}),icon:t.createElement(S.Trash,null)}),t.createElement(i.IconButton,{className:"drag-handle",ref:U,forwardedAs:"div",role:"button",noBorder:!0,tabIndex:0,onClick:W=>W.stopPropagation(),"data-handler-id":A,label:R({id:C("components.DragHandle-label"),defaultMessage:"Drag"}),onKeyDown:k},t.createElement(S.Drag,null))),title:I,togglePosition:"left"}),t.createElement(i.AccordionContent,null,t.createElement(i.Flex,{direction:"column",alignItems:"stretch",background:"neutral100",padding:6,gap:6},o.map((W,Y)=>t.createElement(i.Grid,{gap:4,key:Y},W.map(({name:N,fieldSchema:J,metadatas:M,queryInfos:w,size:Q})=>{const j=J.type==="component",O=`${e}.${N}`;if(j){const V=J.component;return t.createElement(i.GridItem,{col:Q,s:12,xs:12,key:N},t.createElement(mt,{componentUid:V,intlLabel:{id:M.label,defaultMessage:M.label},isRepeatable:J.repeatable,isNested:!0,name:O,max:J.max,min:J.min,required:J.required}))}return t.createElement(i.GridItem,{key:O,col:Q,s:12,xs:12},t.createElement(Kt,{componentUid:r,fieldSchema:J,keys:O,metadatas:M,queryInfos:w,size:Q,customFieldInputs:G}))})))))))};Jt.defaultProps={componentUid:void 0,fields:[],isReadOnly:!1,isOpen:!1,onGrabItem:void 0,onDropItem:void 0,onCancel:void 0,toggleCollapses(){}},Jt.propTypes={componentFieldName:n().string.isRequired,componentUid:n().string,fields:n().array,index:n().number.isRequired,isOpen:n().bool,isReadOnly:n().bool,mainField:n().string.isRequired,moveComponentField:n().func.isRequired,onGrabItem:n().func,onDropItem:n().func,onCancel:n().func,onClickToggle:n().func.isRequired,toggleCollapses:n().func};var Gi=(0,t.memo)(Jt);const Zi=(0,q.default)(i.Box)`
785
+ overflow: hidden;
786
+ border-bottom: 1px solid ${({theme:e})=>e.colors.neutral200};
787
+ border-right: 1px solid ${({theme:e})=>e.colors.neutral200};
788
+ border-left: 1px solid ${({theme:e})=>e.colors.neutral200};
789
+ border-radius: 0 0 ${({theme:e})=>e.borderRadius} ${({theme:e})=>e.borderRadius};
790
+ `,Qi=(0,q.default)(i.Box)`
791
+ border-bottom: none;
792
+
793
+ /* add the borders and make sure the top is transparent to avoid jumping with the hover effect */
794
+ & > div > div {
795
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
796
+ border-top-color: transparent;
797
+ }
798
+
799
+ /* the top accordion _does_ need a border though */
800
+ & > div:first-child > div {
801
+ border-top: 1px solid ${({theme:e})=>e.colors.neutral200};
802
+ }
803
+
804
+ /* Reset all the border-radius' */
805
+ & > div > div,
806
+ & > div > div > div {
807
+ border-radius: unset;
808
+ }
809
+
810
+ /* Give the border radius back to the first accordion */
811
+ & > div:first-child > div,
812
+ & > div:first-child > div > div {
813
+ border-radius: ${({theme:e})=>e.borderRadius} ${({theme:e})=>e.borderRadius} 0 0;
814
+ }
815
+
816
+ & > div > div[data-strapi-expanded='true'] {
817
+ border: 1px solid ${({theme:e})=>e.colors.primary600};
818
+ }
819
+ `,en=({children:e,error:r})=>{const{formatMessage:o}=(0,Z.useIntl)();return t.createElement(i.KeyboardNavigable,{attributeName:"data-strapi-accordion-toggle"},e,r&&t.createElement(i.Box,{paddingTop:1},t.createElement(i.Typography,{variant:"pi",textColor:"danger600"},o({id:r.id,defaultMessage:r.defaultMessage},{...r.values}))))};en.defaultProps={error:void 0},en.propTypes={children:n().node.isRequired,error:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object})};function Ki(e,r={}){return Object.keys(r).filter(o=>o.startsWith(e)).map(o=>o.split(".").slice(0,e.split(".").length+1).join("."))}const Yi=(0,q.default)(i.TextButton)`
820
+ height: 100%;
821
+ width: 100%;
822
+ border-radius: 0 0 4px 4px;
823
+ display: flex;
824
+ justify-content: center;
825
+ span {
826
+ font-weight: 600;
827
+ font-size: 14px;
828
+ }
829
+ `,tn=({componentUid:e,componentValue:r,componentValueLength:o,isReadOnly:s,max:a,min:c,name:l})=>{const{addRepeatableComponentToField:d,formErrors:u,moveComponentField:m}=(0,h.useCMEditViewDataManager)(),g=(0,h.useNotification)(),{formatMessage:f}=(0,Z.useIntl)(),[p,y]=(0,t.useState)(""),[b,v]=(0,t.useState)(""),{getComponentLayout:I,components:E}=Me(),R=(0,t.useMemo)(()=>I(e),[e,I]),P=(0,t.useMemo)(()=>Mt(r||[])+1,[r]),A=Ki(l,u),T=c-o,k=x()(u,l,{id:""}).id.includes("min"),L=()=>{y("")},z=()=>{s||(o<a?(d(l,R,E,k),y(P)):o>=a&&g({type:"info",message:{id:C("components.notification.info.maximum-requirement")}}))},_=(M,w)=>{v(f({id:C("dnd.reorder"),defaultMessage:"{item}, moved. New position in list: {position}."},{item:`${l}.${w}`,position:$(M)})),m({name:l,newIndex:M,currentIndex:w})},B=x()(R,["settings","mainField"],"id"),U=M=>()=>{y(p===M?"":M)},$=M=>`${M+1} of ${o}`,G=M=>{v(f({id:C("dnd.cancel-item"),defaultMessage:"{item}, dropped. Re-order cancelled."},{item:`${l}.${M}`}))},W=M=>{v(f({id:C("dnd.grab-item"),defaultMessage:"{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel."},{item:`${l}.${M}`,position:$(M)}))},Y=M=>{v(f({id:C("dnd.drop-item"),defaultMessage:"{item}, dropped. Final position in list: {position}."},{item:`${l}.${M}`,position:$(M)}))};let N=u[l];if(k?N={id:C("components.DynamicZone.missing-components"),defaultMessage:"There {number, plural, =0 {are # missing components} one {is # missing component} other {are # missing components}}",values:{number:T}}:A.some(M=>M.split(".").length>1)&&!k&&(N={id:C("components.RepeatableComponent.error-message"),defaultMessage:"The component(s) contain error(s)"}),o===0)return t.createElement(Pr,{error:N,isReadOnly:s,onClick:z});const J=`${l}-item-instructions`;return t.createElement(i.Box,{hasRadius:!0},t.createElement(i.VisuallyHidden,{id:J},f({id:C("dnd.instructions"),defaultMessage:"Press spacebar to grab and re-order"})),t.createElement(i.VisuallyHidden,{"aria-live":"assertive"},b),t.createElement(en,{error:N,ariaDescribedBy:J},t.createElement(Qi,{"aria-describedby":J},r.map(({__temp_key__:M},w)=>t.createElement(Gi,{componentFieldName:`${l}.${w}`,componentUid:e,fields:R.layouts.edit,key:M,index:w,isOpen:p===M,isReadOnly:s,mainField:B,moveComponentField:_,onClickToggle:U(M),toggleCollapses:L,onCancel:G,onDropItem:Y,onGrabItem:W}))),t.createElement(Zi,null,t.createElement(i.Flex,{justifyContent:"center",height:"48px",background:"neutral0"},t.createElement(Yi,{disabled:s,onClick:z,startIcon:t.createElement(S.Plus,null)},f({id:C("containers.EditView.add.new-entry"),defaultMessage:"Add an entry"}))))))};tn.defaultProps={componentValue:null,componentValueLength:0,isReadOnly:!1,max:1/0,min:0},tn.propTypes={componentUid:n().string.isRequired,componentValue:n().oneOfType([n().array,n().object]),componentValueLength:n().number,isReadOnly:n().bool,max:n().number,min:n().number,name:n().string.isRequired};var Xi=(0,t.memo)(tn);const nn=({addNonRepeatableComponentToField:e,componentUid:r,intlLabel:o,isCreatingEntry:s,isFromDynamicZone:a,isRepeatable:c,isNested:l,labelAction:d,max:u,min:m,name:g,hasChildrenAllowedFields:f,hasChildrenReadableFields:p,isReadOnly:y,componentValue:b,removeComponentFromField:v,required:I})=>{const{formatMessage:E}=(0,Z.useIntl)(),R=ia()(b),P=b!==null||a,A=!c&&P&&!a&&f,{getComponentLayout:T,components:k}=Me(),L=(0,t.useMemo)(()=>T(r),[r,T]);if(!f&&s)return t.createElement(h.NotAllowedInput,{labelAction:d,intlLabel:o,name:g});if(!f&&!s&&!p)return t.createElement(h.NotAllowedInput,{labelAction:d,intlLabel:o,name:g});const z=()=>{e(g,L,k)};return t.createElement(i.Box,null,t.createElement(i.Flex,{justifyContent:"space-between"},o&&t.createElement(ga,{intlLabel:o,labelAction:d,name:g,numberOfEntries:R,showNumberOfEntries:c,required:I}),A&&t.createElement(i.IconButton,{label:E({id:C("components.reset-entry"),defaultMessage:"Reset Entry"}),icon:t.createElement(S.Trash,null),noBorder:!0,onClick:()=>{v(g,r)}})),t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:1},!c&&!P&&t.createElement(Pr,{isReadOnly:y,onClick:z}),!c&&P&&t.createElement(Vi,{componentUid:r,isFromDynamicZone:a,isNested:l,name:g}),c&&t.createElement(Xi,{componentValue:b,componentValueLength:R,componentUid:r,isReadOnly:y,max:u,min:m,name:g})))};nn.defaultProps={componentValue:null,hasChildrenAllowedFields:!1,hasChildrenReadableFields:!1,intlLabel:void 0,isFromDynamicZone:!1,isReadOnly:!1,isRepeatable:!1,isNested:!1,labelAction:void 0,max:1/0,min:-1/0,required:!1},nn.propTypes={addNonRepeatableComponentToField:n().func.isRequired,componentUid:n().string.isRequired,componentValue:n().oneOfType([n().object,n().array]),hasChildrenAllowedFields:n().bool,hasChildrenReadableFields:n().bool,isCreatingEntry:n().bool.isRequired,isFromDynamicZone:n().bool,isReadOnly:n().bool,isRepeatable:n().bool,isNested:n().bool,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),labelAction:n().element,max:n().number,min:n().number,name:n().string.isRequired,removeComponentFromField:n().func.isRequired,required:n().bool};const Ji=(0,t.memo)(nn,De());var mt=ca(Ji,ma);const el=(0,q.default)(i.Flex)`
830
+ /*
831
+ we need to remove the background from the button but we can't
832
+ wrap the element in styled because it breaks the forwardedAs which
833
+ we need for drag handler to work on firefox
834
+ */
835
+ div[role='button'] {
836
+ background: transparent;
837
+ }
838
+ `,tl=(0,q.default)(i.IconButton)`
839
+ background-color: transparent;
840
+
841
+ svg path {
842
+ fill: ${({theme:e,expanded:r})=>r?e.colors.primary600:e.colors.neutral600};
843
+ }
844
+ `,nl=(0,q.default)(i.Box)`
845
+ > div:first-child {
846
+ box-shadow: ${({theme:e})=>e.shadows.tableShadow};
847
+ }
848
+ `,rl=(0,q.default)(i.Box)`
849
+ border-radius: 0 0 ${({theme:e})=>e.spaces[1]} ${({theme:e})=>e.spaces[1]};
850
+ `,ol=(0,q.default)(i.Box)`
851
+ width: ${({theme:e})=>e.spaces[2]};
852
+ height: ${({theme:e})=>e.spaces[4]};
853
+ `,sl=q.default.span`
854
+ display: block;
855
+ background-color: ${({theme:e})=>e.colors.primary100};
856
+ outline: 1px dashed ${({theme:e})=>e.colors.primary500};
857
+ outline-offset: -1px;
858
+ padding: ${({theme:e})=>e.spaces[6]};
859
+ `,al=(0,q.default)(i.Box)`
860
+ list-style: none;
861
+ padding: 0;
862
+ margin: 0;
863
+ `,rn=({componentUid:e,formErrors:r,index:o,isFieldAllowed:s,name:a,onRemoveComponentClick:c,onMoveComponent:l,onGrabItem:d,onDropItem:u,onCancel:m})=>{const[g,f]=(0,t.useState)(!0),{formatMessage:p}=(0,Z.useIntl)(),{getComponentLayout:y}=Me(),{modifiedData:b}=(0,h.useCMEditViewDataManager)(),{icon:v,friendlyName:I,mainValue:E}=(0,t.useMemo)(()=>{const W=y(e),{info:{icon:Y,displayName:N}}=W,J=x()(W,["settings","mainField"],"id"),M=x()(b,[a,o,J])??"",w=J==="id"?"":String(M).trim(),Q=w.length>0?` - ${w}`:w;return{friendlyName:N,icon:Y,mainValue:Q}},[e,y,b,a,o]),R=Object.keys(r).filter(W=>{const Y=W.split(".");return`${Y[0]}.${Y[1]}`==`${a}.${o}`});let P;R.length>0&&(P=p({id:C("components.DynamicZone.error-message"),defaultMessage:"The component contains error(s)"}));const A=()=>{f(W=>!W)},[{handlerId:T,isDragging:k,handleKeyDown:L},z,_,B,U]=kt(s,{type:`${fe.DYNAMIC_ZONE}_${a}`,index:o,item:{displayedValue:`${I}${E}`,icon:v},onMoveItem:l,onGrabItem:d,onDropItem:u,onCancel:m});(0,t.useEffect)(()=>{U((0,We.rX)(),{captureDraggingState:!1})},[U,o]);const $=ot(z,_),G=s?t.createElement(el,{gap:0,expanded:g},t.createElement(tl,{noBorder:!0,label:p({id:C("components.DynamicZone.delete-label"),defaultMessage:"Delete {name}"},{name:I}),onClick:c},t.createElement(S.Trash,null)),t.createElement(i.IconButton,{forwardedAs:"div",role:"button",noBorder:!0,tabIndex:0,onClick:W=>W.stopPropagation(),"data-handler-id":T,ref:B,label:p({id:C("components.DragHandle-label"),defaultMessage:"Drag"}),onKeyDown:L},t.createElement(S.Drag,null))):null;return t.createElement(al,{as:"li"},t.createElement(i.Flex,{justifyContent:"center"},t.createElement(ol,{background:"neutral200"})),t.createElement(nl,{ref:$,hasRadius:!0},k?t.createElement(sl,{padding:6,background:"primary100"}):t.createElement(i.Accordion,{expanded:g,onToggle:A,size:"S",error:P},t.createElement(i.AccordionToggle,{action:G,title:`${I}${E}`,togglePosition:"left"}),t.createElement(i.AccordionContent,null,t.createElement(rl,{background:"neutral0"},t.createElement(mt,{componentUid:e,icon:v,name:`${a}.${o}`,isFromDynamicZone:!0}))))))};rn.defaultProps={formErrors:{},index:0,isFieldAllowed:!0,onGrabItem:void 0,onDropItem:void 0,onCancel:void 0},rn.propTypes={componentUid:n().string.isRequired,formErrors:n().object,index:n().number,isFieldAllowed:n().bool,name:n().string.isRequired,onGrabItem:n().func,onDropItem:n().func,onCancel:n().func,onMoveComponent:n().func.isRequired,onRemoveComponentClick:n().func.isRequired};var il=rn;const on=(0,q.default)(S.PlusCircle)`
864
+ transform: ${({$isOpen:e})=>e?"rotate(45deg)":"rotate(0deg)"};
865
+ > circle {
866
+ fill: ${({theme:e,$hasError:r})=>r?e.colors.danger200:e.colors.neutral150};
867
+ }
868
+ > path {
869
+ fill: ${({theme:e,$hasError:r})=>r?e.colors.danger600:e.colors.neutral600};
870
+ }
871
+ `,ll=(0,q.default)(i.BaseButton)`
872
+ border-radius: 26px;
873
+ border-color: ${({theme:e})=>e.colors.neutral150};
874
+ background: ${({theme:e})=>e.colors.neutral0};
875
+ padding-top: ${({theme:e})=>e.spaces[3]};
876
+ padding-right: ${({theme:e})=>e.spaces[4]};
877
+ padding-bottom: ${({theme:e})=>e.spaces[3]};
878
+ padding-left: ${({theme:e})=>e.spaces[4]};
879
+
880
+ box-shadow: ${({theme:e})=>e.shadows.filterShadow};
881
+
882
+ svg {
883
+ height: ${({theme:e})=>e.spaces[6]};
884
+ width: ${({theme:e})=>e.spaces[6]};
885
+ > path {
886
+ fill: ${({theme:e})=>e.colors.neutral600};
887
+ }
888
+ }
889
+ &:hover {
890
+ color: ${({theme:e})=>e.colors.primary600} !important;
891
+ ${i.Typography} {
892
+ color: ${({theme:e})=>e.colors.primary600} !important;
893
+ }
894
+
895
+ ${on} {
896
+ > circle {
897
+ fill: ${({theme:e})=>e.colors.primary600};
898
+ }
899
+ > path {
900
+ fill: ${({theme:e})=>e.colors.neutral100};
901
+ }
902
+ }
903
+ }
904
+ &:active {
905
+ ${i.Typography} {
906
+ color: ${({theme:e})=>e.colors.primary600};
907
+ }
908
+ ${on} {
909
+ > circle {
910
+ fill: ${({theme:e})=>e.colors.primary600};
911
+ }
912
+ > path {
913
+ fill: ${({theme:e})=>e.colors.neutral100};
914
+ }
915
+ }
916
+ }
917
+ `,cl=(0,q.default)(i.Box)`
918
+ height: 100%;
919
+ `,sn=({hasError:e,hasMaxError:r,hasMinError:o,isDisabled:s,isOpen:a,label:c,missingComponentNumber:l,name:d,onClick:u})=>{const{formatMessage:m}=(0,Z.useIntl)(),g=m({id:C("components.DynamicZone.add-component"),defaultMessage:"Add a component to {componentName}"},{componentName:c||d}),f=m({id:"app.utils.close-label",defaultMessage:"Close"});let p=a?f:g;return r&&!a&&(p=m({id:"components.Input.error.validation.max",defaultMessage:"The value is too high."})),o&&!a&&(p=m({id:C("components.DynamicZone.missing-components"),defaultMessage:"There {number, plural, =0 {are # missing components} one {is # missing component} other {are # missing components}}"},{number:l})),t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Box,{style:{cursor:s?"not-allowed":"pointer"}},t.createElement(ll,{type:"button",onClick:u,disabled:s,hasError:e},t.createElement(i.Flex,null,t.createElement(cl,{"aria-hidden":!0,paddingRight:2},t.createElement(on,{$isOpen:a,$hasError:e&&!a})),t.createElement(i.Typography,{variant:"pi",fontWeight:"bold",textColor:e&&!a?"danger600":"neutral500"},p)))))};sn.defaultProps={hasError:!1,hasMaxError:!1,hasMinError:!1,isDisabled:!1,isOpen:!1,label:"",missingComponentNumber:0},sn.propTypes={label:n().string,hasError:n().bool,hasMaxError:n().bool,hasMinError:n().bool,isDisabled:n().bool,isOpen:n().bool,missingComponentNumber:n().number,name:n().string.isRequired,onClick:n().func.isRequired};var dl=sn;const ul=(0,q.default)(i.Box)`
920
+ border-radius: ${(0,h.pxToRem)(26)};
921
+ `,an=({label:e,labelAction:r,name:o,numberOfComponents:s,required:a,intlDescription:c})=>{const{formatMessage:l}=(0,Z.useIntl)(),d=l({id:e||o,defaultMessage:e||o});return t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Box,null,t.createElement(ul,{paddingTop:3,paddingBottom:3,paddingRight:4,paddingLeft:4,background:"neutral0",shadow:"filterShadow",color:"neutral500"},t.createElement(i.Flex,{direction:"column",justifyContent:"center"},t.createElement(i.Flex,{maxWidth:(0,h.pxToRem)(356)},t.createElement(i.Typography,{variant:"pi",textColor:"neutral600",fontWeight:"bold",ellipsis:!0},d,"\xA0"),t.createElement(i.Typography,{variant:"pi",textColor:"neutral600",fontWeight:"bold"},"(",s,")"),a&&t.createElement(i.Typography,{textColor:"danger600"},"*"),r&&t.createElement(i.Box,{paddingLeft:1},r)),c&&t.createElement(i.Box,{paddingTop:1,maxWidth:(0,h.pxToRem)(356)},t.createElement(i.Typography,{variant:"pi",textColor:"neutral600",ellipsis:!0},l(c)))))))};an.defaultProps={intlDescription:void 0,label:"",labelAction:void 0,numberOfComponents:0,required:!1},an.propTypes={intlDescription:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired}),label:n().string,labelAction:n().element,name:n().string.isRequired,numberOfComponents:n().number,required:n().bool};var ml=an,pl=D(81346),Gr=D.n(pl);const pt=5,gt=8,gl=(0,q.default)(i.Flex)`
922
+ border-radius: ${({showBackground:e})=>e?"50%":0};
923
+ color: ${({theme:e})=>e.colors.neutral600};
924
+ height: ${({theme:e,size:r})=>e.spaces[r==="S"?pt:gt]};
925
+ width: ${({theme:e,size:r})=>e.spaces[r==="S"?pt:gt]};
926
+
927
+ svg {
928
+ height: ${({theme:e,size:r})=>e.spaces[r==="S"?pt-2:gt-3]};
929
+ width: ${({theme:e,size:r})=>e.spaces[r==="S"?pt-2:gt-3]};
930
+ }
931
+ `;function ft({showBackground:e=!0,size:r="M"}){return t.createElement(gl,{alignItems:"center",background:e?"neutral200":null,justifyContent:"center",size:r,showBackground:e},t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},t.createElement("path",{d:"M216.3 2c4.8-2.6 10.5-2.6 15.3 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L216.3 2zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L8.3 414C3.2 411.2 0 405.9 0 400V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V400c0 5.9-3.2 11.2-8.3 14l-176 96c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z",fill:"currentColor"})))}ft.defaultProps={showBackground:!0,size:"M"},ft.propTypes={showBackground:n().bool,size:n().string};const fl=(0,q.default)(i.Box)`
932
+ flex-shrink: 0;
933
+ height: ${(0,h.pxToRem)(84)};
934
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
935
+ background: ${({theme:e})=>e.colors.neutral100};
936
+ border-radius: ${({theme:e})=>e.borderRadius};
937
+ display: flex;
938
+ justify-content: center;
939
+ align-items: center;
940
+
941
+ &:focus,
942
+ &:hover {
943
+ border: 1px solid ${({theme:e})=>e.colors.primary200};
944
+ background: ${({theme:e})=>e.colors.primary100};
945
+
946
+ ${i.Typography} {
947
+ color: ${({theme:e})=>e.colors.primary600};
948
+ }
949
+
950
+ /* > Flex > ComponentIcon */
951
+ > div > div:first-child {
952
+ background: ${({theme:e})=>e.colors.primary200};
953
+ color: ${({theme:e})=>e.colors.primary600};
954
+ }
955
+ }
956
+ `;function ln({children:e,onClick:r}){return t.createElement(fl,{as:"button",type:"button",onClick:r,hasRadius:!0},t.createElement(i.Flex,{direction:"column",gap:1,alignItems:"center",justifyContent:"center"},t.createElement(ft,null),t.createElement(i.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral600"},e)))}ln.defaultProps={onClick(){}},ln.propTypes={children:n().node.isRequired,onClick:n().func};const hl=q.default.div`
957
+ display: grid;
958
+ grid-template-columns: repeat(auto-fit, ${140/16}rem);
959
+ grid-gap: ${({theme:e})=>e.spaces[1]};
960
+ `,cn=({category:e,components:r,variant:o,isOpen:s,onAddComponent:a,onToggle:c})=>{const{formatMessage:l}=(0,Z.useIntl)(),d=()=>{c(e)};return t.createElement(i.Accordion,{expanded:s,onToggle:d,size:"S"},t.createElement(i.AccordionToggle,{variant:o,title:l({id:e,defaultMessage:e}),togglePosition:"left"}),t.createElement(i.AccordionContent,null,t.createElement(i.Box,{paddingTop:4,paddingBottom:4,paddingLeft:3,paddingRight:3},t.createElement(hl,null,r.map(({componentUid:u,info:{displayName:m}})=>t.createElement(ln,{key:u,onClick:a(u)},l({id:m,defaultMessage:m})))))))};cn.defaultProps={components:[],isOpen:!1,variant:"primary"},cn.propTypes={category:n().string.isRequired,components:n().array,isOpen:n().bool,onAddComponent:n().func.isRequired,onToggle:n().func.isRequired,variant:n().oneOf(["primary","secondary"])};var yl=cn;const dn=({components:e,isOpen:r,onClickAddComponent:o})=>{const{formatMessage:s}=(0,Z.useIntl)(),{getComponentLayout:a}=Me(),[c,l]=(0,t.useState)(""),d=(0,t.useMemo)(()=>{const g=e.map(p=>{const{category:y,info:b}=a(p);return{componentUid:p,category:y,info:b}}),f=Gr()(g,"category");return Object.keys(f).reduce((p,y)=>(p.push({category:y,components:f[y]}),p),[])},[e,a]);(0,t.useEffect)(()=>{r&&d.length>0&&l(d[0].category)},[r,d]);const u=g=>()=>{o(g),l("")},m=g=>{l(f=>f===g?"":g)};return r?t.createElement(i.Box,{paddingBottom:6},t.createElement(i.Box,{paddingTop:6,paddingBottom:6,paddingLeft:5,paddingRight:5,background:"neutral0",shadow:"tableShadow",borderColor:"neutral150",hasRadius:!0},t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Typography,{fontWeight:"bold",textColor:"neutral600"},s({id:C("components.DynamicZone.ComponentPicker-label"),defaultMessage:"Pick one component"}))),t.createElement(i.Box,{paddingTop:2},t.createElement(i.KeyboardNavigable,{attributeName:"data-strapi-accordion-toggle"},d.map(({category:g,components:f},p)=>t.createElement(yl,{key:g,category:g,components:f,onAddComponent:u,isOpen:g===c,onToggle:m,variant:p%2===1?"primary":"secondary"})))))):null};dn.defaultProps={components:[],isOpen:!1},dn.propTypes={components:n().array,isOpen:n().bool,onClickAddComponent:n().func.isRequired};var bl=dn;const un=({name:e,addComponentToDynamicZone:r,formErrors:o,isCreatingEntry:s,isFieldAllowed:a,isFieldReadable:c,labelAction:l,moveComponentField:d,removeComponentFromDynamicZone:u,dynamicDisplayedComponents:m,fieldSchema:g,metadatas:f})=>{const[p,y]=(0,t.useState)(!1),[b,v]=(0,t.useState)(""),{formatMessage:I}=(0,Z.useIntl)(),E=(0,h.useNotification)(),{getComponentLayout:R,components:P}=Me(),A=m.length,T=f.description?{id:f.description,defaultMessage:f.description}:null,{max:k=1/0,min:L=-1/0}=g,z=(0,t.useMemo)(()=>Object.keys(o).filter(O=>O===e).map(O=>o[O]),[o,e]),_=L-A,B=z.length>0,U=z.length>0&&x()(z,[0,"id"],"").includes("min"),$=B&&x()(z,[0,"id"],"")==="components.Input.error.validation.max",G=O=>{y(!1);const V=R(O);r(e,V,P,B)},W=()=>{A<k?y(O=>!O):E({type:"info",message:{id:C("components.notification.info.maximum-requirement")}})},Y=(O,V)=>{v(I({id:C("dnd.reorder"),defaultMessage:"{item}, moved. New position in list: {position}."},{item:`${e}.${V}`,position:N(O)})),d({name:e,newIndex:O,currentIndex:V})},N=O=>`${O+1} of ${m.length}`,J=O=>{v(I({id:C("dnd.cancel-item"),defaultMessage:"{item}, dropped. Re-order cancelled."},{item:`${e}.${O}`}))},M=O=>{v(I({id:C("dnd.grab-item"),defaultMessage:"{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel."},{item:`${e}.${O}`,position:N(O)}))},w=O=>{v(I({id:C("dnd.drop-item"),defaultMessage:"{item}, dropped. Final position in list: {position}."},{item:`${e}.${O}`,position:N(O)}))},Q=(O,V)=>()=>{u(O,V)};if(!a&&(s||!c&&!s))return t.createElement(h.NotAllowedInput,{description:T,intlLabel:{id:f.label,defaultMessage:f.label},labelAction:l,name:e});const j=`${e}-item-instructions`;return t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:6},A>0&&t.createElement(i.Box,null,t.createElement(ml,{intlDescription:T,label:f.label,labelAction:l,name:e,numberOfComponents:A,required:g.required||!1}),t.createElement(i.VisuallyHidden,{id:j},I({id:C("dnd.instructions"),defaultMessage:"Press spacebar to grab and re-order"})),t.createElement(i.VisuallyHidden,{"aria-live":"assertive"},b),t.createElement("ol",{"aria-describedby":j},m.map(({componentUid:O,id:V},H)=>t.createElement(il,{componentUid:O,formErrors:o,key:`${O}-${V}`,index:H,isFieldAllowed:a,name:e,onMoveComponent:Y,onRemoveComponentClick:Q(e,H),onCancel:J,onDropItem:w,onGrabItem:M})))),t.createElement(dl,{hasError:B,hasMaxError:$,hasMinError:U,isDisabled:!a,label:f.label,missingComponentNumber:_,isOpen:p,name:e,onClick:W}),t.createElement(bl,{isOpen:p,components:g.components??[],onClickAddComponent:G}))};un.defaultProps={dynamicDisplayedComponents:[],fieldSchema:{max:1/0,min:-1/0},labelAction:null},un.propTypes={addComponentToDynamicZone:n().func.isRequired,dynamicDisplayedComponents:n().arrayOf(n().shape({componentUid:n().string.isRequired,id:n().number.isRequired})),fieldSchema:n().shape({components:n().array.isRequired,max:n().number,min:n().number,required:n().bool}),formErrors:n().object.isRequired,isCreatingEntry:n().bool.isRequired,isFieldAllowed:n().bool.isRequired,isFieldReadable:n().bool.isRequired,labelAction:n().element,metadatas:n().shape({description:n().string,label:n().string}).isRequired,moveComponentField:n().func.isRequired,name:n().string.isRequired,removeComponentFromDynamicZone:n().func.isRequired};const El=(0,t.memo)(un,De());var Cl=ra(El,sa),ke=D(41578);const ht=()=>({type:ke.ZA}),mn=e=>({type:ke.Id,data:e}),pn=(e,r=!1)=>({type:ke.TP,rawQuery:e,isSingleType:r}),Zr=()=>({type:ke.c2}),Qr=(e,r)=>({type:ke.w7,componentsDataStructure:e,contentTypeDataStructure:r}),ae=e=>({type:ke.d0,status:e}),Ie=e=>({type:ke.t9,data:e}),Rl=()=>({type:ke.tE});var gn=e=>e["content-manager_editViewCrudReducer"];const fn=({allLayoutData:e,children:r,slug:o,id:s,origin:a})=>{const c=(0,Pe.useQueryClient)(),l=(0,h.useNotification)(),{setCurrentStep:d}=(0,h.useGuidedTour)(),{trackUsage:u}=(0,h.useTracking)(),{push:m,replace:g}=(0,re.useHistory)(),[{rawQuery:f}]=(0,h.useQueryParams)(),p=(0,ie.useDispatch)(),{componentsDataStructure:y,contentTypeDataStructure:b,data:v,isLoading:I,status:E}=(0,ie.useSelector)(gn),R=Cr(o),{formatAPIError:P}=(0,h.useAPIErrorHandler)(C),A=(0,t.useRef)(!0),T=(0,t.useRef)(u),k=(0,t.useRef)(e),L=(0,h.useFetchClient)(),{put:z,post:_,del:B}=L,U=s===null,$=(0,t.useMemo)(()=>U&&!a?null:le(`collection-types/${o}/${a||s}`),[o,s,U,a]),G=(0,t.useCallback)(V=>a?(0,h.contentManagementUtilRemoveFieldsFromData)(V,k.current.contentType,k.current.components):V,[a]),W=(0,t.useCallback)(V=>{const H=cr(V,k.current.contentType,k.current.components);return(0,h.formatContentTypeData)(H,k.current.contentType,k.current.components)},[]);(0,t.useEffect)(()=>{const V=Object.keys(e.components).reduce((F,ne)=>{const ce=st(x()(e,["components",ne,"attributes"],{}),e.components);return F[ne]=(0,h.formatContentTypeData)(ce,e.components[ne],e.components),F},{}),H=st(e.contentType.attributes,e.components),se=(0,h.formatContentTypeData)(H,e.contentType,e.components);p(Qr(V,se))},[e,p]),(0,t.useEffect)(()=>()=>{p(Zr())},[p]),(0,t.useEffect)(()=>{const H=he.Z.CancelToken.source(),se=async ne=>{p(ht());try{const{data:ce}=await L.get($,{cancelToken:ne.token});p(mn(W(G(ce))))}catch(ce){if(he.Z.isCancel(ce))return;const me=x()(ce,"response.status",null);if(me===404){m(R);return}me===403&&(l({type:"info",message:{id:C("permissions.not-allowed.update")}}),m(R))}},F=async()=>{await p(ht()),await p(pn(f))};return A.current?($?se(H):F(),()=>{H.cancel("Operation canceled by the user.")}):()=>{}},[L,G,W,m,$,p,f,R,l]);const Y=(0,t.useCallback)(V=>{l({type:"warning",message:P(V)})},[l,P]),N=(0,t.useCallback)(async V=>{try{T.current("willDeleteEntry",V);const{data:H}=await B(le(`collection-types/${o}/${s}`));return l({type:"success",message:{id:C("success.record.delete")}}),T.current("didDeleteEntry",V),Promise.resolve(H)}catch(H){return T.current("didNotDeleteEntry",{error:H,...V}),Promise.reject(H)}},[s,o,l,B]),J=(0,t.useCallback)(()=>{g(R)},[R,g]),M=(0,t.useCallback)(async(V,H)=>{const se=`${le(`collection-types/${o}`)}${f}`;try{p(ae("submit-pending"));const{data:F}=await _(se,V);return T.current("didCreateEntry",H),l({type:"success",message:{id:C("success.record.save")}}),d("contentManager.success"),c.invalidateQueries(["relation"]),p(Ie(W(F))),p(ae("resolved")),g(`/content-manager/collectionType/${o}/${F.id}${f}`),Promise.resolve(F)}catch(F){return Y(F),T.current("didNotCreateEntry",{error:F,trackerProperty:H}),p(ae("resolved")),Promise.reject(F)}},[W,Y,g,o,p,f,l,d,c,_]),w=(0,t.useCallback)(async()=>{try{T.current("willCheckDraftRelations");const V=le(`collection-types/${o}/${s}/actions/numberOfDraftRelations`);p(ae("draft-relation-check-pending"));const H=await L.get(V);return T.current("didCheckDraftRelations"),p(ae("resolved")),H.data.data}catch(V){return Y(V),p(ae("resolved")),Promise.reject(V)}},[Y,s,o,p,L]),Q=(0,t.useCallback)(async()=>{try{T.current("willPublishEntry");const V=le(`collection-types/${o}/${s}/actions/publish`);p(ae("publish-pending"));const{data:H}=await _(V);return T.current("didPublishEntry"),p(Ie(W(H))),p(ae("resolved")),l({type:"success",message:{id:C("success.record.publish")}}),Promise.resolve(H)}catch(V){return Y(V),p(ae("resolved")),Promise.reject(V)}},[W,Y,s,o,p,l,_]),j=(0,t.useCallback)(async(V,H)=>{const se=le(`collection-types/${o}/${s}`);try{T.current("willEditEntry",H),p(ae("submit-pending"));const{data:F}=await z(se,V);return T.current("didEditEntry",{trackerProperty:H}),l({type:"success",message:{id:C("success.record.save")}}),c.invalidateQueries(["relation"]),p(Ie(W(F))),p(ae("resolved")),Promise.resolve(F)}catch(F){return T.current("didNotEditEntry",{error:F,trackerProperty:H}),Y(F),p(ae("resolved")),Promise.reject(F)}},[W,Y,o,s,p,l,c,z]),O=(0,t.useCallback)(async()=>{const V=le(`collection-types/${o}/${s}/actions/unpublish`);p(ae("unpublish-pending"));try{T.current("willUnpublishEntry");const{data:H}=await _(V);return T.current("didUnpublishEntry"),l({type:"success",message:{id:C("success.record.unpublish")}}),p(Ie(W(H))),p(ae("resolved")),Promise.resolve(H)}catch(H){return p(ae("resolved")),Y(H),Promise.reject(H)}},[W,Y,s,o,p,l,_]);return r({componentsDataStructure:y,contentTypeDataStructure:b,data:v,isCreatingEntry:U,isLoadingForData:I,onDelete:N,onDeleteSucceeded:J,onPost:M,onPublish:Q,onDraftRelationCheck:w,onPut:j,onUnpublish:O,status:E,redirectionLink:R})};fn.defaultProps={id:null,origin:null},fn.propTypes={allLayoutData:n().exact({components:n().object.isRequired,contentType:n().shape({apiID:n().string.isRequired,attributes:n().object.isRequired,info:n().object.isRequired,isDisplayed:n().bool.isRequired,kind:n().string.isRequired,layouts:n().object.isRequired,metadatas:n().object.isRequired,options:n().object.isRequired,pluginOptions:n().object,settings:n().object.isRequired,uid:n().string.isRequired}).isRequired}).isRequired,children:n().func.isRequired,id:n().string,origin:n().string,slug:n().string.isRequired};var vl=(0,t.memo)(fn,De()),Tl=D(86834),pe=D.n(Tl),Ml=D(89793),Qe=D.n(Ml),Dl=D(56236),kl=D.n(Dl),Il=D(10268),Kr=D.n(Il),hn=D(99526),Yr=(e,r,o,s)=>{const a=e.slice();return a.splice(r,1),a.splice(o,0,s),a},xl=D(77236),wl=D.n(xl);const Fl=({browserState:e,serverState:r},o,s)=>{const a=r,c=e,l=(m,g)=>x()(m,["attributes",g,"type"],""),d=(m,g)=>x()(m,["attributes",...g],""),u=(m,g,f,p)=>Object.keys(m).reduce((y,b)=>{const v=p?`${p}.${b}`:b,I=l(f,b),E=x()(m,b),R=x()(g,b),P=d(f,[b,"component"]),A=d(f,[b,"repeatable"]);let T;switch(I){case"json":T=JSON.parse(E);break;case"time":{T=E,E&&E.split(":").length<3&&(T=`${E}:00`);break}case"media":d(f,[b,"multiple"])===!0?T=E?E.filter(k=>!(k instanceof File)):null:T=x()(E,0)instanceof File?null:x()(E,"id",null);break;case"component":A?T=E&&E.map((k,L)=>u(k,(R??[])[L],s[P],`${v}.${L}`)):T=E&&u(E,R,s[P],v);break;case"relation":{const k=Wr(a,c)(v).join(".");let L=x()(a,k,[]);const z=E.reduce((B,U,$,G)=>{const W=L.find(N=>N.id===U.id),Y=G[$+1];if(!W||W.__temp_key__!==U.__temp_key__){const N=Y?{before:Y.id}:{end:!0};return[...B,{id:U.id,position:N}]}return B},[]);T={disconnect:L.reduce((B,U)=>E.find($=>$.id===U.id)?B:[...B,{id:U.id}],[]),connect:z.reverse()};break}case"dynamiczone":T=E.map((k,L)=>u(k,(R??[])[L],s[k.__component],`${v}.${L}`));break;default:T=Ll(E,"id")}return y[b]=T,y},{});return u(e,r,o,"")},Ll=(e,r)=>wl()(e)?e.map(o=>o[r]?o[r]:o):br()(e)?e[r]:e;var Sl=Fl,Pl=D(51355),Al=D.n(Pl),Ol=D(78746),Ne=D.n(Ol),de=D(5173);function Ke(e){return["integer","biginteger","decimal","float","number"].includes(e)}de.kM(de.nK,"defined",function(){return this.test("defined",h.translatedErrors.required,e=>e!==void 0)}),de.kM(de.IX,"notEmptyMin",function(e){return this.test("notEmptyMin",h.translatedErrors.min,r=>pe()(r)?!0:r.length>=e)}),de.kM(de.Z_,"isInferior",function(e,r){return this.test("isInferior",e,function(o){return!o||Number.isNaN(Ne()(o))?!0:Ne()(r)>=Ne()(o)})}),de.kM(de.Z_,"isSuperior",function(e,r){return this.test("isSuperior",e,function(o){return!o||Number.isNaN(Ne()(o))?!0:Ne()(o)>=Ne()(r)})});const $l=e=>x()(e,["attributes"],{}),yn=(e,{components:r},o={isCreatingEntry:!0,isDraft:!0,isFromComponent:!1})=>{const s=$l(e);return de.Ry().shape(Object.keys(s).reduce((a,c)=>{const l=s[c];if(l.type!=="relation"&&l.type!=="component"&&l.type!=="dynamiczone"){const d=ql(l.type,l,o);a[c]=d}if(l.type==="relation"&&(a[c]=["oneWay","oneToOne","manyToOne","oneToManyMorph","oneToOneMorph"].includes(l.relationType)?de.Ry().nullable():de.IX().nullable()),l.type==="component"){const d=yn(r[l.component],{components:r},{...o,isFromComponent:!0});if(l.repeatable===!0){const{min:m,max:g,required:f}=l;let p=de.Vo(y=>{let b=de.IX().of(d);return m?f?b=b.min(m,h.translatedErrors.min):f!==!0&&pe()(y)?b=b.nullable():b=b.min(m,h.translatedErrors.min):f&&!o.isDraft&&(b=b.min(1,h.translatedErrors.required)),g&&(b=b.max(g,h.translatedErrors.max)),b});return a[c]=p,a}const u=de.Vo(m=>m!==void 0?l.required===!0&&!o.isDraft?d.defined():d.nullable():l.required===!0?de.Ry().defined():de.Ry().nullable());return a[c]=u,a}if(l.type==="dynamiczone"){let d=de.IX().of(de.Vo(({__component:g})=>yn(r[g],{components:r},{...o,isFromComponent:!0})));const{max:u,min:m}=l;m?l.required?d=d.test("min",h.translatedErrors.min,g=>o.isCreatingEntry?g&&g.length>=m:g===void 0?!0:g!==null&&g.length>=m).test("required",h.translatedErrors.required,g=>o.isCreatingEntry?g!==null||g!==void 0:g===void 0?!0:g!==null):d=d.notEmptyMin(m):l.required&&!o.isDraft&&(d=d.test("required",h.translatedErrors.required,g=>o.isCreatingEntry?g!==null||g!==void 0:g===void 0?!0:g!==null)),u&&(d=d.max(u,h.translatedErrors.max)),a[c]=d}return a},{}))},ql=(e,r,o)=>{let s=de.nK();return["string","uid","text","richtext","email","password","enumeration"].includes(e)&&(s=de.Z_()),e==="json"&&(s=de.nK(h.translatedErrors.json).test("isJSON",h.translatedErrors.json,a=>{if(!a||!a.length)return!0;try{return JSON.parse(a),!0}catch{return!1}}).nullable().test("required",h.translatedErrors.required,a=>!(r.required&&(!a||!a.length)))),e==="email"&&(s=s.email(h.translatedErrors.email)),["number","integer","float","decimal"].includes(e)&&(s=de.Rx().transform(a=>ar()(a)?void 0:a).typeError()),e==="biginteger"&&(s=de.Z_().matches(/^-?\d*$/)),["date","datetime"].includes(e)&&(s=de.hT()),Object.keys(r).forEach(a=>{const c=r[a];if(c||!Al()(c)&&Number.isInteger(Math.floor(c))||c===0)switch(a){case"required":{o.isDraft||(e==="password"&&o.isCreatingEntry&&(s=s.required(h.translatedErrors.required)),e!=="password"&&(o.isCreatingEntry?s=s.required(h.translatedErrors.required):s=s.test("required",h.translatedErrors.required,l=>l===void 0&&!o.isFromComponent?!0:Ke(e)?l===0?!0:!!l:e==="boolean"?l!=null:e==="date"||e==="datetime"?typeof l=="string"?!pe()(l):!pe()(l?.toString()):!pe()(l))));break}case"max":{e==="biginteger"?s=s.isInferior(h.translatedErrors.max,c):s=s.max(c,h.translatedErrors.max);break}case"maxLength":s=s.max(c,h.translatedErrors.maxLength);break;case"min":{e==="biginteger"?s=s.isSuperior(h.translatedErrors.min,c):s=s.min(c,h.translatedErrors.min);break}case"minLength":{o.isDraft||(s=s.min(c,h.translatedErrors.minLength));break}case"regex":s=s.matches(new RegExp(c),{message:h.translatedErrors.regex,excludeEmptyString:!r.required});break;case"lowercase":["text","textarea","email","string"].includes(e)&&(s=s.strict().lowercase());break;case"uppercase":["text","textarea","email","string"].includes(e)&&(s=s.strict().uppercase());break;case"positive":Ke(e)&&(s=s.positive());break;case"negative":Ke(e)&&(s=s.negative());break;default:s=s.nullable()}}),s};var Xr=yn;const yt=(e,r=()=>!1,o=void 0)=>{const s=(a,c,{ignoreFalseyValues:l=!1,path:d=[]}={})=>Object.entries(c).reduce((u,[m,g])=>{if(l&&(u==null||u[m]===void 0||u[m]===null))return u;if(r(g,{path:[...d,m],parent:u})&&(u[m]=typeof o=="function"?o(u[m],{path:[...d,m],parent:u}):o),g.type==="component"){const f=e[g.component].attributes;g.repeatable?g.repeatable&&Array.isArray(u[m])&&(u[m]=u[m].map((p,y)=>s(p,f,{ignoreFalseyValues:l,path:[...d,m,y]}))):u[m]=s(u[m],f,{ignoreFalseyValues:l,path:[...d,m]})}else g.type==="dynamiczone"&&Array.isArray(u[m])&&(u[m]=u[m].map((f,p)=>{const y=e[f.__component].attributes;return s(f,y,{ignoreFalseyValues:l,path:[...d,m,p]})}));return u},{...a});return s},Bl={componentsDataStructure:{},contentTypeDataStructure:{},formErrors:{},initialData:{},modifiedData:null,shouldCheckErrors:!1,modifiedDZName:null,publishConfirmation:{show:!1,draftCount:0}};var Nl=(e,r)=>(0,lt.default)(e,o=>{switch(r.type){case"ADD_NON_REPEATABLE_COMPONENT_TO_FIELD":{const{componentLayoutData:s,allComponents:a}=r,c={...e.componentsDataStructure[s.uid]},d=yt(a,u=>u.type==="relation",[])(c,s.attributes);K()(o,["modifiedData",...r.keys],d);break}case"ADD_COMPONENT_TO_DYNAMIC_ZONE":case"ADD_REPEATABLE_COMPONENT_TO_FIELD":{const{keys:s,allComponents:a,componentLayoutData:c,shouldCheckErrors:l}=r;l&&(o.shouldCheckErrors=!e.shouldCheckErrors),r.type==="ADD_COMPONENT_TO_DYNAMIC_ZONE"&&(o.modifiedDZName=s[0]);const d=x()(e,["modifiedData",...s],[]),u=r.type==="ADD_COMPONENT_TO_DYNAMIC_ZONE"?{...e.componentsDataStructure[c.uid],__component:c.uid,__temp_key__:Mt(d)+1}:{...e.componentsDataStructure[c.uid],__temp_key__:Mt(d)+1},g=yt(a,p=>p.type==="relation",[])(u,c.attributes),f=Array.isArray(d)?[...d,g]:[g];K()(o,["modifiedData",...s],f);break}case"LOAD_RELATION":{const{initialDataPath:s,modifiedDataPath:a,value:c}=r,l=x()(e,s),d=x()(e,a),u=l?c.filter(f=>!l.some(p=>p.id===f.id)):c,m=(0,hn.zJ)(null,d[0]?.__temp_key__,u.length),g=u.map((f,p)=>({...f,__temp_key__:m[p]}));K()(o,s,Kr()([...g,...l],"id")),K()(o,a,Kr()([...g,...d],"id"));break}case"CONNECT_RELATION":{const s=["modifiedData",...r.keys],{value:a,toOneRelation:c}=r;if(c)K()(o,s,[a]);else{const l=x()(e,s),[d]=(0,hn.zJ)(l.at(-1)?.__temp_key__,null,1),u=[...l,{...a,__temp_key__:d}];K()(o,s,u)}break}case"DISCONNECT_RELATION":{const s=["modifiedData",...r.keys],{id:a}=r,l=x()(e,[...s]).filter(d=>d.id!==a);K()(o,s,l);break}case"MOVE_COMPONENT_FIELD":case"REORDER_RELATION":{const{oldIndex:s,newIndex:a,keys:c}=r,l=["modifiedData",...c],d=x()(e,[...l]),u=d[s],m=[...d];if(r.type==="REORDER_RELATION"){const[g]=(0,hn.zJ)(d[a-1]?.__temp_key__,d[a]?.__temp_key__,1);m.splice(s,1),m.splice(a,0,{...u,__temp_key__:g})}else m.splice(s,1),m.splice(a,0,u);K()(o,l,m);break}case"INIT_FORM":{const{initialValues:s,components:a={},attributes:c={},setModifiedDataOnly:l}=r,d=Ee()(s),m=yt(a,p=>p.type==="relation",(p,{path:y})=>e.modifiedData?.id===d.id&&x()(e.modifiedData,y)?x()(e.modifiedData,y):[])(d,c),f=yt(a,p=>p.type==="dynamiczone"||p.type==="component"&&!p.repeatable,p=>Array.isArray(p)?p.map((y,b)=>({...y,__temp_key__:b})):{...p,__temp_key__:0})(m,c,{ignoreFalseyValues:!0});l||(o.initialData=f),o.modifiedData=f,o.formErrors={},o.modifiedDZName=null,o.shouldCheckErrors=!1;break}case"MOVE_COMPONENT_UP":case"MOVE_COMPONENT_DOWN":{const{currentIndex:s,dynamicZoneName:a,shouldCheckErrors:c}=r;c&&(o.shouldCheckErrors=!e.shouldCheckErrors);const l=e.modifiedData[a],d=r.type==="MOVE_COMPONENT_UP"?s-1:s+1,u=e.modifiedData[a][s],m=Yr(l,s,d,u);K()(o,["modifiedData",r.dynamicZoneName],m);break}case"MOVE_FIELD":{const s=x()(e,["modifiedData",...r.keys],[]).slice(),a=x()(e,["modifiedData",...r.keys,r.dragIndex]),c=Yr(s,r.dragIndex,r.overIndex,a);K()(o,["modifiedData",...r.keys],c);break}case"ON_CHANGE":{const[s]=r.keys;if(r.shouldSetInitialValue&&K()(o,["initialData",...r.keys],r.value),r.keys.length===2&&x()(e,["modifiedData",s])===null){K()(o,["modifiedData",s],{[r.keys[1]]:r.value});break}K()(o,["modifiedData",...r.keys],r.value);break}case"REMOVE_COMPONENT_FROM_DYNAMIC_ZONE":{r.shouldCheckErrors&&(o.shouldCheckErrors=!e.shouldCheckErrors),o.modifiedData[r.dynamicZoneName].splice(r.index,1);break}case"REMOVE_COMPONENT_FROM_FIELD":{const s=["modifiedData",...r.keys];K()(o,s,null);break}case"REMOVE_PASSWORD_FIELD":{kl()(o,["modifiedData",...r.keys]);break}case"REMOVE_REPEATABLE_FIELD":{const s=r.keys.length-1,a=["modifiedData",...Ge()(r.keys,s)];Object.keys(e.formErrors).length>0&&(o.shouldCheckErrors=!e.shouldCheckErrors);const l=x()(e,a).slice();l.splice(parseInt(r.keys[s],10),1),K()(o,a,l);break}case"SET_DEFAULT_DATA_STRUCTURES":{o.componentsDataStructure=r.componentsDataStructure,o.contentTypeDataStructure=r.contentTypeDataStructure;break}case"SET_FORM_ERRORS":{o.modifiedDZName=null,o.formErrors=r.errors;break}case"TRIGGER_FORM_VALIDATION":{Object.keys(e.formErrors).length>0&&(o.shouldCheckErrors=!e.shouldCheckErrors);break}case"SET_PUBLISH_CONFIRMATION":{o.publishConfirmation={...r.publishConfirmation};break}case"RESET_PUBLISH_CONFIRMATION":{o.publishConfirmation={...e.publishConfirmation,show:!1};break}default:return o}});const bn=({allLayoutData:e,allowedActions:{canRead:r,canUpdate:o},children:s,componentsDataStructure:a,contentTypeDataStructure:c,createActionAllowedFields:l,from:d,initialValues:u,isCreatingEntry:m,isLoadingForData:g,isSingleType:f,onPost:p,onPublish:y,onDraftRelationCheck:b,onPut:v,onUnpublish:I,readActionAllowedFields:E,redirectToPreviousPage:R,slug:P,status:A,updateActionAllowedFields:T})=>{const[k,L]=(0,t.useReducer)(Nl,Bl),{formErrors:z,initialData:_,modifiedData:B,modifiedDZName:U,shouldCheckErrors:$,publishConfirmation:G}=k,{setModifiedDataOnly:W}=(0,ie.useSelector)(gn),Y=(0,ie.useDispatch)(),N=(0,h.useNotification)(),{lockApp:J,unlockApp:M}=(0,h.useOverlayBlocker)(),w=x()(e,["contentType"],{}),Q=(0,t.useMemo)(()=>x()(w,["options","draftAndPublish"],!1),[w]),j=(0,t.useMemo)(()=>Q&&!_.publishedAt,[Q,_.publishedAt]),{trackUsage:O}=(0,h.useTracking)(),{formatMessage:V}=(0,Z.useIntl)(),H=(0,t.useRef)(O),se=(0,t.useMemo)(()=>g||m?!1:r===!1&&o===!1,[g,m,r,o]);(0,t.useEffect)(()=>{A==="resolved"?M():J()},[J,M,A]),(0,t.useEffect)(()=>{g||Ce()},[$]),(0,t.useEffect)(()=>{const te=Object.keys(z);if(te.length>0){const X=te[0],oe=document.getElementById(X);oe&&oe.focus()}},[z]),(0,t.useEffect)(()=>{se&&N({type:"info",message:{id:C("permissions.not-allowed.update")}})},[se,N]),(0,t.useEffect)(()=>{L({type:"SET_DEFAULT_DATA_STRUCTURES",componentsDataStructure:a,contentTypeDataStructure:c})},[a,c]);const{components:F}=e,ne=Mr(u);(0,t.useEffect)(()=>{u&&w?.attributes&&!Qe()(ne,u)&&(L({type:"INIT_FORM",initialValues:u,components:F,attributes:w.attributes,setModifiedDataOnly:W}),W&&Y(Rl()))},[u,w,F,W,Y,ne]);const ce=(0,t.useCallback)(te=>(X,oe,ve,Oe=!1)=>{H.current("didAddComponentToDynamicZone"),L({type:te,keys:X.split("."),componentLayoutData:oe,allComponents:ve,shouldCheckErrors:Oe})},[]),me=ce("ADD_COMPONENT_TO_DYNAMIC_ZONE"),_e=(0,t.useCallback)((te,X,oe)=>{L({type:"ADD_NON_REPEATABLE_COMPONENT_TO_FIELD",keys:te.split("."),componentLayoutData:X,allComponents:oe})},[]),Je=(0,t.useCallback)(({name:te,value:X,toOneRelation:oe})=>{L({type:"CONNECT_RELATION",keys:te.split("."),value:X,toOneRelation:oe})},[]),et=(0,t.useCallback)(({target:{initialDataPath:te,modifiedDataPath:X,value:oe}})=>{L({type:"LOAD_RELATION",modifiedDataPath:X,initialDataPath:te,value:oe})},[]),tt=ce("ADD_REPEATABLE_COMPONENT_TO_FIELD"),ye=(0,t.useMemo)(()=>{const te={isCreatingEntry:m,isDraft:j,isFromComponent:!1};return Xr(w,{components:e.components||{}},te)},[e.components,w,m,j]),Ce=(0,t.useCallback)(async(te={})=>{let X={};const oe=Ee()(B);pe()(oe)||K()(oe,te.path,te.value);try{await ye.validate(oe,{abortEarly:!1})}catch(ve){X=(0,h.getYupInnerErrors)(ve),U&&(X=Object.keys(X).reduce((Oe,Hn)=>(Hn.split(".")[0]!==U&&(Oe[Hn]=X[Hn]),Oe),{}))}L({type:"SET_FORM_ERRORS",errors:X})},[U,B,ye]),nt=(0,t.useCallback)(({target:{name:te,value:X,type:oe}},ve=!1)=>{let Oe=X;if(["text","textarea","string","email","uid","select","select-one","number"].includes(oe)&&!X&&X!==0&&(Oe=null),oe==="password"&&!X){L({type:"REMOVE_PASSWORD_FIELD",keys:te.split(".")});return}L({type:"ON_CHANGE",keys:te.split("."),value:Oe,shouldSetInitialValue:ve})},[]),xe=(0,t.useCallback)((te,X)=>Sl({browserState:te,serverState:X},w,e.components),[e.components,w]),ee=(0,t.useMemo)(()=>Q?j?{status:"draft"}:{}:{},[Q,j]),ue=(0,t.useCallback)(async te=>(te.preventDefault(),L({type:"RESET_PUBLISH_CONFIRMATION"})),[]),Re=(0,t.useCallback)(async te=>{te.preventDefault();let X={};try{await ye.validate(B,{abortEarly:!1})}catch(oe){X=(0,h.getYupInnerErrors)(oe)}try{if(pe()(X)){const oe=xe(B,_);m?await p(oe,ee):await v(oe,ee)}}catch(oe){X={...X,...(0,h.getAPIInnerErrors)(oe,{getTrad:C})}}L({type:"SET_FORM_ERRORS",errors:X})},[xe,m,B,_,p,v,ee,ye]),Un=(0,t.useCallback)(async()=>{const te=Xr(w,{components:x()(e,"components",{})},{isCreatingEntry:m,isDraft:!1,isFromComponent:!1}),X=await b();if(!G.show&&X>0){L({type:"SET_PUBLISH_CONFIRMATION",publishConfirmation:{show:!0,draftCount:X}});return}L({type:"RESET_PUBLISH_CONFIRMATION"});let oe={};try{await te.validate(B,{abortEarly:!1})}catch(ve){oe=(0,h.getYupInnerErrors)(ve)}try{pe()(oe)&&await y()}catch(ve){oe={...oe,...(0,h.getAPIInnerErrors)(ve,{getTrad:C})}}L({type:"SET_FORM_ERRORS",errors:oe})},[e,w,m,B,G.show,y,b]),we=(0,t.useCallback)(te=>{const X=Object.keys(z).some(ve=>ve.split(".")[0]===te);return!pe()(z)&&X},[z]),wu=(0,t.useCallback)((te,X)=>{H.current("changeComponentsOrder"),L({type:"MOVE_COMPONENT_DOWN",dynamicZoneName:te,currentIndex:X,shouldCheckErrors:we(te)})},[we]),Fu=(0,t.useCallback)((te,X)=>{H.current("changeComponentsOrder"),L({type:"MOVE_COMPONENT_UP",dynamicZoneName:te,currentIndex:X,shouldCheckErrors:we(te)})},[we]),Lu=(0,t.useCallback)(({name:te,newIndex:X,currentIndex:oe})=>{L({type:"MOVE_COMPONENT_FIELD",keys:te.split("."),newIndex:X,oldIndex:oe})},[]),Su=(0,t.useCallback)(({name:te,id:X})=>{L({type:"DISCONNECT_RELATION",keys:te.split("."),id:X})},[]),Pu=(0,t.useCallback)(({name:te,oldIndex:X,newIndex:oe})=>{L({type:"REORDER_RELATION",keys:te.split("."),oldIndex:X,newIndex:oe})},[]),Au=(0,t.useCallback)((te,X)=>{H.current("removeComponentFromDynamicZone"),L({type:"REMOVE_COMPONENT_FROM_DYNAMIC_ZONE",dynamicZoneName:te,index:X,shouldCheckErrors:we(te)})},[we]),Ou=(0,t.useCallback)((te,X)=>{L({type:"REMOVE_COMPONENT_FROM_FIELD",keys:te.split("."),componentUid:X})},[]),$u=(0,t.useCallback)((te,X)=>{L({type:"REMOVE_REPEATABLE_FIELD",keys:te.split("."),componentUid:X})},[]),qu=(0,t.useCallback)(()=>{L({type:"TRIGGER_FORM_VALIDATION"})},[]);return se?t.createElement(re.Redirect,{to:d}):B?t.createElement(h.ContentManagerEditViewDataManagerContext.Provider,{value:{addComponentToDynamicZone:me,addNonRepeatableComponentToField:_e,addRepeatableComponentToField:tt,allLayoutData:e,checkFormErrors:Ce,createActionAllowedFields:l,formErrors:z,hasDraftAndPublish:Q,initialData:_,isCreatingEntry:m,isSingleType:f,shouldNotRunValidations:j,status:A,layout:w,modifiedData:B,moveComponentField:Lu,moveComponentDown:wu,moveComponentUp:Fu,onChange:nt,onPublish:Un,onUnpublish:I,readActionAllowedFields:E,redirectToPreviousPage:R,removeComponentFromDynamicZone:Au,removeComponentFromField:Ou,removeRepeatableField:$u,relationConnect:Je,relationDisconnect:Su,relationLoad:et,relationReorder:Pu,slug:P,triggerFormValidation:qu,updateActionAllowedFields:T,onPublishPromptDismissal:ue,publishConfirmation:G}},g||!m&&!_.id?t.createElement(i.Main,{"aria-busy":"true"},t.createElement(h.LoadingIndicatorPage,null)):t.createElement(t.Fragment,null,t.createElement(re.Prompt,{when:!Qe()(B,_),message:V({id:"global.prompt.unsaved"})}),t.createElement("form",{noValidate:!0,onSubmit:Re},s))):null};bn.defaultProps={from:"/",initialValues:null,redirectToPreviousPage(){}},bn.propTypes={allLayoutData:n().object.isRequired,allowedActions:n().object.isRequired,children:n().node.isRequired,componentsDataStructure:n().object.isRequired,contentTypeDataStructure:n().object.isRequired,createActionAllowedFields:n().array.isRequired,from:n().string,initialValues:n().object,isCreatingEntry:n().bool.isRequired,isLoadingForData:n().bool.isRequired,isSingleType:n().bool.isRequired,onPost:n().func.isRequired,onPublish:n().func.isRequired,onDraftRelationCheck:n().func.isRequired,onPut:n().func.isRequired,onUnpublish:n().func.isRequired,readActionAllowedFields:n().array.isRequired,redirectToPreviousPage:n().func,slug:n().string.isRequired,status:n().string.isRequired,updateActionAllowedFields:n().array.isRequired};var jl=bn,Ae=e=>le(`single-types/${e}`),Vl=e=>Object.values(e||{}).reduce((r,o)=>Object.assign(r,o),{}),Jr=(e={})=>{const{plugins:r,_q:o,...s}={...e,...Vl(e.plugins)};return o&&K()(s,"_q",encodeURIComponent(o)),`${(0,Te.stringify)(s,{encode:!1,addQueryPrefix:!0})}`};const eo=({allLayoutData:e,children:r,slug:o})=>{const s=(0,Pe.useQueryClient)(),{trackUsage:a}=(0,h.useTracking)(),{push:c}=(0,re.useHistory)(),{setCurrentStep:l}=(0,h.useGuidedTour)(),d=(0,t.useRef)(a),[u,m]=(0,t.useState)(!0),[{query:g,rawQuery:f}]=(0,h.useQueryParams)(),p=Jr(g),y=(0,h.useNotification)(),b=(0,ie.useDispatch)(),{formatAPIError:v}=(0,h.useAPIErrorHandler)(C),I=(0,h.useFetchClient)(),{post:E,put:R,del:P}=I,{componentsDataStructure:A,contentTypeDataStructure:T,data:k,isLoading:L,status:z}=(0,ie.useSelector)(gn),_=(0,t.useCallback)(M=>{const w=cr(M,e.contentType,e.components);return(0,h.formatContentTypeData)(w,e.contentType,e.components)},[e]);(0,t.useEffect)(()=>()=>{b(Zr())},[b]),(0,t.useEffect)(()=>{const M=Object.keys(e.components).reduce((j,O)=>{const V=st(x()(e,["components",O,"attributes"],{}),e.components);return j[O]=(0,h.formatContentTypeData)(V,e.components[O],e.components),j},{}),w=st(e.contentType.attributes,e.components),Q=(0,h.formatContentTypeData)(w,e.contentType,e.components);b(Qr(M,Q))},[e,b]),(0,t.useEffect)(()=>{const w=he.Z.CancelToken.source();return(async j=>{b(ht()),m(!0);try{const{data:O}=await I.get(Ae(`${o}${p}`),{cancelToken:j.token});b(mn(_(O))),m(!1)}catch(O){if(he.Z.isCancel(O))return;const V=x()(O,"response.status",null);V===404&&b(pn(f,!0)),V===403&&(y({type:"info",message:{id:C("permissions.not-allowed.update")}}),c("/"))}})(w),()=>w.cancel("Operation canceled by the user.")},[I,_,c,o,b,p,f,y]);const B=(0,t.useCallback)(M=>{y({type:"warning",message:v(M)})},[y,v]),U=(0,t.useCallback)(async M=>{try{d.current("willDeleteEntry",M);const{data:w}=await P(Ae(`${o}${p}`));return y({type:"success",message:{id:C("success.record.delete")}}),d.current("didDeleteEntry",M),Promise.resolve(w)}catch(w){return d.current("didNotDeleteEntry",{error:w,...M}),B(w),Promise.reject(w)}},[P,o,B,y,p]),$=(0,t.useCallback)(()=>{m(!0),b(pn(f,!0))},[b,f]),G=(0,t.useCallback)(async(M,w)=>{const Q=Ae(`${o}${f}`);try{b(ae("submit-pending"));const{data:j}=await R(Q,M);return d.current("didCreateEntry",w),y({type:"success",message:{id:C("success.record.save")}}),l("contentManager.success"),s.invalidateQueries(["relation"]),b(Ie(_(j))),m(!1),b(ae("resolved")),Promise.resolve(j)}catch(j){return d.current("didNotCreateEntry",{error:j,trackerProperty:w}),B(j),b(ae("resolved")),Promise.reject(j)}},[R,_,B,o,b,f,y,l,s]),W=(0,t.useCallback)(async()=>{try{d.current("willCheckDraftRelations");const M=Ae(`${o}/actions/numberOfDraftRelations`);b(ae("draft-relation-check-pending"));const w=await I.get(M);return d.current("didCheckDraftRelations"),b(ae("resolved")),w.data.data}catch(M){return B(M),b(ae("resolved")),Promise.reject(M)}},[I,B,o,b]),Y=(0,t.useCallback)(async()=>{try{d.current("willPublishEntry");const M=Ae(`${o}/actions/publish${p}`);b(ae("publish-pending"));const{data:w}=await E(M);return d.current("didPublishEntry"),y({type:"success",message:{id:C("success.record.publish")}}),b(Ie(_(w))),b(ae("resolved")),Promise.resolve(w)}catch(M){return B(M),b(ae("resolved")),Promise.reject(M)}},[E,_,B,o,p,b,y]),N=(0,t.useCallback)(async(M,w)=>{const Q=Ae(`${o}${f}`);try{d.current("willEditEntry",w),b(ae("submit-pending"));const{data:j}=await R(Q,M);return y({type:"success",message:{id:C("success.record.save")}}),d.current("didEditEntry",{trackerProperty:w}),s.invalidateQueries(["relation"]),b(Ie(_(j))),b(ae("resolved")),Promise.resolve(j)}catch(j){return B(j),d.current("didNotEditEntry",{error:j,trackerProperty:w}),b(ae("resolved")),Promise.reject(j)}},[R,_,B,o,b,f,y,s]),J=(0,t.useCallback)(async()=>{const M=Ae(`${o}/actions/unpublish${p}`);b(ae("unpublish-pending"));try{d.current("willUnpublishEntry");const{data:w}=await E(M);d.current("didUnpublishEntry"),y({type:"success",message:{id:C("success.record.unpublish")}}),b(Ie(_(w))),b(ae("resolved"))}catch(w){b(ae("resolved")),B(w)}},[E,_,y,B,o,b,p]);return r({componentsDataStructure:A,contentTypeDataStructure:T,data:k,isCreatingEntry:u,isLoadingForData:L,onDelete:U,onDeleteSucceeded:$,onPost:G,onDraftRelationCheck:W,onPublish:Y,onPut:N,onUnpublish:J,redirectionLink:"/",status:z})};eo.propTypes={allLayoutData:n().shape({components:n().object.isRequired,contentType:n().object.isRequired}).isRequired,children:n().func.isRequired,slug:n().string.isRequired};var zl=(0,t.memo)(eo);function _l(e,r){return o=>{const s=r();return t.createElement(e,{...o,...s})}}var Wl=_l;function Ul(){const{initialData:e,hasDraftAndPublish:r}=(0,h.useCMEditViewDataManager)(),o=e.publishedAt!==void 0&&e.publishedAt!==null;return{hasDraftAndPublish:r,isPublished:o}}var Hl=Ul;const Gl=(0,q.default)(S.Dot)`
961
+ width: ${(0,h.pxToRem)(6)};
962
+ height: ${(0,h.pxToRem)(6)};
963
+ * {
964
+ fill: ${({theme:e,$bulletColor:r})=>e.colors[r]};
965
+ }
966
+ `,to=({hasDraftAndPublish:e,isPublished:r})=>{const{formatMessage:o}=(0,Z.useIntl)();if(!e)return null;const s={draft:{textColor:"secondary700",bulletColor:"secondary600",box:{background:"secondary100",borderColor:"secondary200"}},published:{textColor:"success700",bulletColor:"success600",box:{background:"success100",borderColor:"success200"}}},a=r?s.published:s.draft;return t.createElement(i.Box,{hasRadius:!0,as:"aside",paddingTop:4,paddingBottom:4,paddingLeft:5,paddingRight:5,...a.box},t.createElement(i.Box,{as:i.Flex},t.createElement(Gl,{$bulletColor:a.bulletColor}),t.createElement(i.Box,{paddingLeft:3},t.createElement(i.Typography,{textColor:a.textColor},o({id:C("containers.Edit.information.editing"),defaultMessage:"Editing"}),"\xA0"),t.createElement(i.Typography,{fontWeight:"bold",textColor:a.textColor},r&&o({id:C("containers.Edit.information.publishedVersion"),defaultMessage:"published version"}),!r&&o({id:C("containers.Edit.information.draftVersion"),defaultMessage:"draft version"})))))};to.propTypes={hasDraftAndPublish:n().bool.isRequired,isPublished:n().bool.isRequired};var Zl=Wl(to,Hl);const En=60*1e3,Cn=En*60,bt=Cn*24,no=bt*30,ro=bt*365;var Ql=e=>e<En?{unit:"second",value:-Math.round(e/1e3)}:e<Cn?{unit:"minute",value:-Math.round(e/En)}:e<bt?{unit:"hour",value:-Math.round(e/Cn)}:e<no?{unit:"day",value:-Math.round(e/bt)}:e<ro?{unit:"month",value:-Math.round(e/no)}:{unit:"year",value:-Math.round(e/ro)},oo=D(8997);const Ye=({label:e,value:r})=>t.createElement(i.Flex,{justifyContent:"space-between"},t.createElement(i.Typography,{as:"dt",fontWeight:"bold",textColor:"neutral600"},e),t.createElement(i.Typography,{as:"dd"},r));Ye.propTypes={label:n().string.isRequired,value:n().string.isRequired};var Kl=()=>{const{formatMessage:e,formatRelativeTime:r}=(0,Z.useIntl)(),{initialData:o,isCreatingEntry:s}=(0,h.useCMEditViewDataManager)(),a=(0,t.useRef)(Date.now()),c=(u,m)=>{const{firstname:g,lastname:f,username:p}=o[m]??{},y=g??"",b=f??"",v=p??(0,oo.Pp)(y,b),E=(o[u]?new Date(o[u]).getTime():Date.now())-a.current,{unit:R,value:P}=Ql(-E);return{at:r(P,R,{numeric:"auto"}),by:s?"-":v}},l=c("updatedAt","updatedBy"),d=c("createdAt","createdBy");return t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(i.Typography,{variant:"sigma",textColor:"neutral600",id:"additional-information"},e({id:C("containers.Edit.information"),defaultMessage:"Information"})),t.createElement(i.Box,{paddingBottom:4},t.createElement(i.Divider,null)),t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2,as:"dl"},t.createElement(Ye,{label:e({id:C("containers.Edit.information.created"),defaultMessage:"Created"}),value:d.at}),t.createElement(Ye,{label:e({id:C("containers.Edit.information.by"),defaultMessage:"By"}),value:d.by})),t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2,as:"dl"},t.createElement(Ye,{label:e({id:C("containers.Edit.information.lastUpdate"),defaultMessage:"Last update"}),value:l.at}),t.createElement(Ye,{label:e({id:C("containers.Edit.information.by"),defaultMessage:"By"}),value:l.by}))))};function Yl(e,r){return o=>{const s=r();return t.createElement(e,{...o,...s})}}var Xl=Yl;function Jl(){const{initialData:e,isCreatingEntry:r,isSingleType:o,status:s,layout:a,hasDraftAndPublish:c,modifiedData:l,onPublish:d,onUnpublish:u,publishConfirmation:m,onPublishPromptDismissal:g}=(0,h.useCMEditViewDataManager)();return{initialData:e,isCreatingEntry:r,isSingleType:o,status:s,layout:a,hasDraftAndPublish:c,modifiedData:l,onPublish:d,onUnpublish:u,publishConfirmation:m,onPublishPromptDismissal:g}}var ec=Jl;const so=(0,q.default)(i.Flex)`
967
+ text-align: center;
968
+ `,ao=({allowedActions:{canUpdate:e,canCreate:r,canPublish:o},initialData:s,isCreatingEntry:a,isSingleType:c,hasDraftAndPublish:l,layout:d,modifiedData:u,onPublish:m,onUnpublish:g,status:f,publishConfirmation:{show:p,draftCount:y},onPublishPromptDismissal:b})=>{const{goBack:v}=(0,re.useHistory)(),[I,E]=(0,t.useState)(!1),{formatMessage:R}=(0,Z.useIntl)(),P=x()(d,["settings","mainField"],"id"),A=x()(d,["info","displayName"],"NOT FOUND"),T=!Qe()(s,u)||a&&!pe()(u);let L=R({id:C("containers.Edit.pluginHeader.title.new"),defaultMessage:"Create an entry"});!a&&!c&&(L=s[P]||A),c&&(L=A);let z=null;if(a&&r&&(z=t.createElement(i.Flex,{gap:2},l&&t.createElement(i.Button,{disabled:!0,startIcon:t.createElement(S.Check,null),variant:"secondary"},R({id:"app.utils.publish",defaultMessage:"Publish"})),t.createElement(i.Button,{disabled:!T,loading:f==="submit-pending",type:"submit"},R({id:C("containers.Edit.submit"),defaultMessage:"Save"})))),!a&&e){const $=l&&o,G=!pe()(s.publishedAt),W=G?f==="unpublish-pending":f==="publish-pending",Y=G?{id:"app.utils.unpublish",defaultMessage:"Unpublish"}:{id:"app.utils.publish",defaultMessage:"Publish"},N=G?()=>E(!0):()=>m();z=t.createElement(i.Flex,null,$&&t.createElement(i.Button,{disabled:T,loading:W,onClick:N,startIcon:t.createElement(S.Check,null),variant:"secondary"},R(Y)),t.createElement(i.Box,{paddingLeft:$?2:0},t.createElement(i.Button,{disabled:!T,loading:f==="submit-pending",type:"submit"},R({id:C("containers.Edit.submit"),defaultMessage:"Save"}))))}const _=()=>E($=>!$),B=()=>{_(),g()},U=`${R({id:C("api.id"),defaultMessage:"API ID "})} : ${d.apiID}`;return t.createElement(t.Fragment,null,t.createElement(i.HeaderLayout,{title:L.toString(),primaryAction:z,subtitle:U,navigationAction:t.createElement(h.Link,{startIcon:t.createElement(S.ArrowLeft,null),onClick:$=>{$.preventDefault(),v()},to:"/"},R({id:"global.back",defaultMessage:"Back"}))}),t.createElement(i.Dialog,{onClose:_,title:"Confirmation",labelledBy:"confirmation",describedBy:"confirm-description",isOpen:I},t.createElement(i.DialogBody,{icon:t.createElement(S.ExclamationMarkCircle,null)},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(i.Flex,{justifyContent:"center",style:{textAlign:"center"}},t.createElement(i.Typography,{id:"confirm-description"},R({id:C("popUpWarning.warning.unpublish"),defaultMessage:"Unpublish this content will automatically change it to a draft."},{br:()=>t.createElement("br",null)}))),t.createElement(i.Flex,{justifyContent:"center",style:{textAlign:"center"}},t.createElement(i.Typography,{id:"confirm-description"},R({id:C("popUpWarning.warning.unpublish-question"),defaultMessage:"Are you sure you want to unpublish it?"}))))),t.createElement(i.DialogFooter,{startAction:t.createElement(i.Button,{onClick:_,variant:"tertiary"},R({id:"components.popUpWarning.button.cancel",defaultMessage:"Cancel"})),endAction:t.createElement(i.Button,{variant:"danger-light",onClick:B},R({id:"components.popUpWarning.button.confirm",defaultMessage:"Confirm"}))})),t.createElement(i.Dialog,{onClose:b,title:R({id:C("popUpWarning.warning.has-draft-relations.title"),defaultMessage:"Confirmation"}),labelledBy:"confirmation",describedBy:"confirm-description",isOpen:p},t.createElement(i.DialogBody,{icon:t.createElement(S.ExclamationMarkCircle,null)},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(so,{justifyContent:"center"},t.createElement(i.Typography,{id:"confirm-description"},y,R({id:C("popUpwarning.warning.has-draft-relations.message"),defaultMessage:"<b>{count, plural, one { relation is} other { relations are}}</b> not published yet and might lead to unexpected behavior."},{b:$=>t.createElement(i.Typography,{fontWeight:"bold"},$),count:y}))),t.createElement(so,{justifyContent:"center"},t.createElement(i.Typography,{id:"confirm-description"},R({id:C("popUpWarning.warning.publish-question"),defaultMessage:"Do you still want to publish?"}))))),t.createElement(i.DialogFooter,{startAction:t.createElement(i.Button,{onClick:b,variant:"tertiary"},R({id:"components.popUpWarning.button.cancel",defaultMessage:"Cancel"})),endAction:t.createElement(i.Button,{variant:"success",onClick:m},R({id:C("popUpwarning.warning.has-draft-relations.button-confirm"),defaultMessage:"Publish"}))})))};ao.propTypes={allowedActions:n().shape({canUpdate:n().bool.isRequired,canCreate:n().bool.isRequired,canPublish:n().bool.isRequired}).isRequired,initialData:n().object.isRequired,isCreatingEntry:n().bool.isRequired,isSingleType:n().bool.isRequired,status:n().string.isRequired,layout:n().object.isRequired,hasDraftAndPublish:n().bool.isRequired,modifiedData:n().object.isRequired,onPublish:n().func.isRequired,onUnpublish:n().func.isRequired,publishConfirmation:n().shape({show:n().bool.isRequired,draftCount:n().number.isRequired}).isRequired,onPublishPromptDismissal:n().func.isRequired};const tc=(0,t.memo)(ao,De());var nc=Xl(tc,ec),rc=e=>{if(!e.layouts)return[];const r=e.layouts.edit,o=e.attributes,s=l=>x()(o,[l,"type"],"");let a=0;const c=[];return r.forEach(l=>{const d=l.some(({name:u})=>s(u)==="dynamiczone");c[a]||(c[a]=[]),d?(a=a===0&&pe()(c[0])?0:a+1,c[a]||(c[a]=[]),c[a].push(l),a+=1):c[a].push(l)}),c.filter(l=>l.length>0)},oc=D(91815),sc=D.n(oc),ac=D(3704),io=D.n(ac),ic=(e,r)=>{const o=s=>{const a=(0,h.findMatchingPermissions)(e,[{action:`plugin::content-manager.explorer.${s}`,subject:r}]);return sc()(io()(a,"properties.fields"))};return{createActionAllowedFields:o("create"),readActionAllowedFields:o("read"),updateActionAllowedFields:o("update")}},lc=e=>{if(!e)return[];const o=[...e.contentType.layouts.edit,...Object.values(e.components).flatMap(a=>a.layouts.edit)].flat().filter(a=>a.fieldSchema.customField).map(a=>a.fieldSchema.customField);return[...new Set(o)]};function cc(e,r){return o=>{const s=r();return t.createElement(e,{...o,...s})}}var dc=cc;function uc(){const{hasDraftAndPublish:e,modifiedData:r}=(0,h.useCMEditViewDataManager)();let o={};return e&&(o=pe()(r.publishedAt)?{status:"draft"}:{status:"published"}),{hasDraftAndPublish:e,trackerProperty:o}}var mc=uc;const lo=({isCreatingEntry:e,onDelete:r,onDeleteSucceeded:o,trackerProperty:s})=>{const[a,c]=(0,t.useState)(!1),[l,d]=(0,t.useState)(!1),{formatMessage:u}=(0,Z.useIntl)(),{formatAPIError:m}=(0,h.useAPIErrorHandler)(C),g=(0,h.useNotification)(),f=()=>c(y=>!y),p=async()=>{try{d(!0),await r(s),d(!1),f(),o()}catch(y){d(!1),f(),g({type:"warning",message:m(y)})}};return e?null:t.createElement(t.Fragment,null,t.createElement(i.Button,{onClick:f,size:"S",startIcon:t.createElement(S.Trash,null),variant:"danger-light"},u({id:C("containers.Edit.delete-entry"),defaultMessage:"Delete this entry"})),t.createElement(h.ConfirmDialog,{isConfirmButtonLoading:l,isOpen:a,onConfirm:p,onToggleDialog:f}))};lo.propTypes={isCreatingEntry:n().bool.isRequired,onDelete:n().func.isRequired,onDeleteSucceeded:n().func.isRequired,trackerProperty:n().object.isRequired};const pc=(0,t.memo)(lo,De());var gc=dc(pc,mc);const Rn=({columns:e,customFieldInputs:r})=>t.createElement(i.Grid,{gap:4},e.map(({fieldSchema:o,labelAction:s,metadatas:a,name:c,size:l,queryInfos:d})=>{if(o.type==="component"){const{component:m,max:g,min:f,repeatable:p=!1,required:y=!1}=o;return t.createElement(i.GridItem,{col:l,s:12,xs:12,key:m},t.createElement(mt,{componentUid:m,labelAction:s,isRepeatable:p,intlLabel:{id:a.label,defaultMessage:a.label},max:g,min:f,name:c,required:y}))}return t.createElement(i.GridItem,{col:l,key:c,s:12,xs:12},t.createElement(Kt,{size:l,fieldSchema:o,keys:c,labelAction:s,metadatas:a,queryInfos:d,customFieldInputs:r}))}));Rn.defaultProps={customFieldInputs:{}},Rn.propTypes={columns:n().array.isRequired,customFieldInputs:n().object};var fc=Rn;const vn=e=>e["content-manager_editViewLayoutManager"].currentLayout,hc=(0,Ue.P1)(vn,e=>rc(e?.contentType??{})),yc=(0,Ue.P1)(vn,e=>lc(e)),co=$e.Z.contentManager,bc=[{action:"plugin::content-type-builder.read",subject:null}],Tn=({allowedActions:e,isSingleType:r,goBack:o,slug:s,id:a,origin:c,userPermissions:l})=>{const{trackUsage:d}=(0,h.useTracking)(),{formatMessage:u}=(0,Z.useIntl)(),{layout:m,formattedContentTypeLayout:g,customFieldUids:f}=(0,ie.useSelector)(T=>({layout:vn(T),formattedContentTypeLayout:hc(T),customFieldUids:yc(T)})),{isLazyLoading:p,lazyComponentStore:y}=Yt(f),{createActionAllowedFields:b,readActionAllowedFields:v,updateActionAllowedFields:I}=ic(l,s),E=r?co.singleTypesConfigurations:co.collectionTypesConfigurations,R=`/content-manager/${r?"singleType":"collectionType"}/${s}/configurations/edit`,P=r?zl:vl,A=T=>T.every(k=>k.every(L=>L.fieldSchema.type==="dynamiczone"));return p?t.createElement(h.LoadingIndicatorPage,null):t.createElement(P,{allLayoutData:m,slug:s,id:a,origin:c},({componentsDataStructure:T,contentTypeDataStructure:k,data:L,isCreatingEntry:z,isLoadingForData:_,onDelete:B,onDeleteSucceeded:U,onPost:$,onPublish:G,onDraftRelationCheck:W,onPut:Y,onUnpublish:N,redirectionLink:J,status:M})=>t.createElement(jl,{allowedActions:e,allLayoutData:m,createActionAllowedFields:b,componentsDataStructure:T,contentTypeDataStructure:k,from:J,initialValues:L,isCreatingEntry:z,isLoadingForData:_,isSingleType:r,onPost:$,onPublish:G,onDraftRelationCheck:W,onPut:Y,onUnpublish:N,readActionAllowedFields:v,redirectToPreviousPage:o,slug:s,status:M,updateActionAllowedFields:I},t.createElement(i.Main,{"aria-busy":M!=="resolved"},t.createElement(nc,{allowedActions:e}),t.createElement(i.ContentLayout,null,t.createElement(i.Grid,{gap:4},t.createElement(i.GridItem,{col:9,s:12},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:6},g.map((w,Q)=>{if(A(w)){const{0:{0:{name:j,fieldSchema:O,metadatas:V,labelAction:H}}}=w;return t.createElement(i.Box,{key:Q},t.createElement(i.Grid,{gap:4},t.createElement(i.GridItem,{col:12,s:12,xs:12},t.createElement(Cl,{name:j,fieldSchema:O,labelAction:H,metadatas:V}))))}return t.createElement(i.Box,{key:Q,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingLeft:6,paddingRight:6,paddingTop:6,paddingBottom:6,borderColor:"neutral150"},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:6},w.map((j,O)=>t.createElement(fc,{columns:j,customFieldInputs:y,key:O}))))}))),t.createElement(i.GridItem,{col:3,s:12},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(Zl,null),t.createElement(i.Box,{as:"aside","aria-labelledby":"additional-information",background:"neutral0",borderColor:"neutral150",hasRadius:!0,paddingBottom:4,paddingLeft:4,paddingRight:4,paddingTop:6,shadow:"tableShadow"},t.createElement(Kl,null),t.createElement(dt,{area:"contentManager.editView.informations"})),t.createElement(i.Box,{as:"aside","aria-labelledby":"links"},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(dt,{area:"contentManager.editView.right-links",slug:s}),s!=="strapi::administrator"&&t.createElement(h.CheckPermissions,{permissions:bc},t.createElement(h.LinkButton,{onClick:()=>{d("willEditEditLayout")},size:"S",startIcon:t.createElement(S.Pencil,null),style:{width:"100%"},to:`/plugins/content-type-builder/content-types/${s}`,variant:"secondary"},u({id:C("link-to-ctb"),defaultMessage:"Edit the model"}))),t.createElement(h.CheckPermissions,{permissions:E},t.createElement(h.LinkButton,{size:"S",startIcon:t.createElement(S.Layer,null),style:{width:"100%"},to:R,variant:"secondary"},u({id:"app.links.configure-view",defaultMessage:"Configure the view"}))),e.canDelete&&t.createElement(gc,{isCreatingEntry:z,onDelete:B,onDeleteSucceeded:U}))))))))))};Tn.defaultProps={id:null,isSingleType:!1,origin:null,userPermissions:[]},Tn.propTypes={allowedActions:n().shape({canRead:n().bool.isRequired,canUpdate:n().bool.isRequired,canCreate:n().bool.isRequired,canDelete:n().bool.isRequired}).isRequired,id:n().string,isSingleType:n().bool,goBack:n().func.isRequired,origin:n().string,slug:n().string.isRequired,userPermissions:n().array};var Ec=(0,t.memo)(Tn);const Mn=e=>{const r=(0,t.useMemo)(()=>sr(e.slug),[e.slug]),{isLoading:o,allowedActions:s}=(0,h.useRBAC)(r,e.userPermissions);return o?t.createElement(h.LoadingIndicatorPage,null):t.createElement(Ec,{...e,allowedActions:s})};Mn.defaultProps={permissions:[]},Mn.propTypes={permissions:n().array,slug:n().string.isRequired,userPermissions:n().array.isRequired};var Cc=(0,t.memo)(Mn,De());const uo=({layout:e,...r})=>{const o=(0,ie.useSelector)(pr),s=(0,ie.useDispatch)(),[{query:a}]=(0,h.useQueryParams)(),{runHookWaterfall:c}=(0,h.useStrapiApp)(),l=Tr(a,r.slug,"editView");return(0,t.useEffect)(()=>{const d=c(ct.Eo,{layout:e,query:a});return s(Xs(d.layout,a)),()=>{s(Ys())}},[e,s,a,c]),!o||!l?t.createElement(h.LoadingIndicatorPage,null):t.createElement(Cc,{...r,userPermissions:l})};uo.propTypes={layout:n().shape({components:n().object.isRequired,contentType:n().shape({uid:n().string.isRequired,settings:n().object.isRequired,metadatas:n().object.isRequired,options:n().object.isRequired,attributes:n().object.isRequired}).isRequired}).isRequired};var Et=uo,Rc=D(23940),Xe=D.n(Rc);const Dn=e=>e.reduce((r,o)=>r+o.size,0),vc=e=>e.reduce((r,o,s)=>{const a={rowId:s,rowContent:o};return r.concat(a)},[]),je=e=>e.reduce((r,o)=>{let s=[];const a=o.rowContent.reduce((d,u)=>{const m=Dn(d);return u.name==="_TEMP_"||(m+u.size<=12?d.push(u):s.push(u)),d},[]),c=r.length===0?0:Math.max.apply(Math,r.map(d=>d.rowId))+1,l=Dn(a);if(l<12&&a.push({name:"_TEMP_",size:12-l}),r.push({rowId:c,rowContent:a}),s.length>0){const d=Dn(s);d<12&&s.push({name:"_TEMP_",size:12-d}),r.push({rowId:c+1,rowContent:s}),s=[]}return r},[]).filter(r=>r.rowContent.length>0).filter(r=>r.rowContent.length===1?r.rowContent[0].name!=="_TEMP_":!0),Tc=e=>e.reduce((r,o)=>{const s=o.rowContent.filter(a=>a.name!=="_TEMP_");return r.concat([s])},[]),mo=e=>{switch(e){case"boolean":case"date":case"integer":case"float":case"biginteger":case"decimal":case"time":return 4;case"json":case"component":case"richtext":case"dynamiczone":return 12;default:return 6}},Mc=(e,r=[])=>r.reduce((o,{rowContent:s})=>{const a=s.find(c=>c.name===e)?.size??null;return a&&(o=a),o},null),Dc=(e,r,o=[])=>o.map(s=>(s.rowContent=s.rowContent.map(a=>a.name===e?{...a,size:r}:a),s)),kn={fieldForm:{},componentLayouts:{},metaToEdit:"",initialData:{},metaForm:{},modifiedData:{}};var kc=(e=kn,r)=>(0,lt.default)(e,o=>{const s=["modifiedData","layouts","edit"];switch(r.type){case"MOVE_ROW":{const a=x()(e,s,[]),{fromIndex:c,toIndex:l}=r;K()(o,s,rt(a,c,l));break}case"ON_ADD_FIELD":{const a=Ee()(e),c=mo(x()(a,["modifiedData","attributes",r.name,"type"],"")),l=x()(a,s,[]).length,d=[...s,l-1,"rowContent"],u=x()(a,d,[]);let m=x()(a,s,[]);Array.isArray(u)?K()(m,[l>0?l-1:0,"rowContent"],[...u,{name:r.name,size:c}]):K()(m,[l>0?l-1:0,"rowContent"],[{name:r.name,size:c}]);const g=je(m);K()(o,s,g);break}case"ON_CHANGE":{K()(o,["modifiedData",...r.keys],r.value);break}case"ON_CHANGE_META":{K()(o,["metaForm","metadata",...r.keys],r.value);break}case"ON_CHANGE_SIZE":{K()(o,["metaForm","size"],r.value);break}case"ON_RESET":{o.modifiedData=e.initialData;break}case"REMOVE_FIELD":{const a=x()(e,[...s,r.rowIndex,"rowContent"],[]);let c=Ee()(e);if(a.length===1||a.length===2&&x()(a,[1,"name"],"")==="_TEMP_"){const d=x()(e,s,[]);K()(c,s,d.filter((u,m)=>r.rowIndex!==m))}else K()(c,[...s,r.rowIndex,"rowContent"],a.filter((d,u)=>u!==r.fieldIndex));const l=je(x()(c,s,[]));K()(o,s,l);break}case"REORDER_DIFF_ROW":{const a=x()(e,[...s,r.dragRowIndex,"rowContent"],[]),c=x()(e,[...s,r.hoverRowIndex,"rowContent"],[]),l=x()(e,[...s,r.dragRowIndex,"rowContent",r.dragIndex],{}),d=[...c,l];let u=Ee()(e);K()(u,[...s,r.dragRowIndex,"rowContent"],a.filter((g,f)=>r.dragIndex!==f)),K()(u,[...s,r.hoverRowIndex,"rowContent"],rt(d,d.length-1,r.hoverIndex));const m=je(x()(u,s,[]));K()(o,s,m);break}case"REORDER_ROW":{const a=Ee()(e),c=x()(a,[...s,r.dragRowIndex,"rowContent"],[]);K()(a,[...s,r.dragRowIndex,"rowContent"],rt(c,r.dragIndex,r.hoverIndex));const l=je(x()(a,s,[]));K()(o,s,l);break}case"SET_FIELD_TO_EDIT":{o.metaToEdit=r.name,o.metaForm={metadata:x()(e,["modifiedData","metadatas",r.name,"edit"],{}),size:Mc(r.name,e.modifiedData?.layouts?.edit)??mo()};break}case"SUBMIT_META_FORM":{K()(o,["modifiedData","metadatas",e.metaToEdit,"edit"],e.metaForm.metadata);const a=Ee()(x()(e,s,[])),c=Dc(e.metaToEdit,e.metaForm.size,a);c.length>0&&K()(o,s,je(c));break}case"SUBMIT_SUCCEEDED":{o.initialData=e.modifiedData;break}case"UNSET_FIELD_TO_EDIT":{o.metaToEdit="",o.metaForm={};break}default:return o}}),Ic=(e,r,o)=>{let s=Ee()(r);return K()(s,["layouts","edit"],je(vc(r.layouts.edit))),{...e,initialData:s,modifiedData:s,componentLayouts:o}};const po=({componentUid:e})=>{const{componentLayouts:r}=Se(),{formatMessage:o}=(0,Z.useIntl)(),s=x()(r,[e],{}),a=x()(s,["layouts","edit"],[]);return t.createElement(i.Box,{padding:3},a.map((c,l)=>t.createElement(i.Grid,{gap:4,key:l},c.map(d=>t.createElement(i.GridItem,{key:d.name,col:d.size},t.createElement(i.Box,{paddingTop:2},t.createElement(i.Flex,{alignItems:"center",background:"neutral0",paddingLeft:3,paddingRight:3,height:`${32/16}rem`,hasRadius:!0,borderColor:"neutral200"},t.createElement(i.Typography,{textColor:"neutral800"},d.name))))))),t.createElement(i.Box,{paddingTop:2},t.createElement(h.Link,{startIcon:t.createElement(S.Cog,null),to:`/content-manager/components/${e}/configurations/edit`},o({id:C("components.FieldItem.linkToComponentLayout"),defaultMessage:"Set the component's layout"}))))};po.propTypes={componentUid:n().string.isRequired};var xc=po;const wc=(0,q.default)(i.Flex)`
969
+ text-decoration: none;
970
+
971
+ &:focus,
972
+ &:hover {
973
+ ${({theme:e})=>`
974
+ background-color: ${e.colors.primary100};
975
+ border-color: ${e.colors.primary200};
976
+
977
+ ${i.Typography} {
978
+ color: ${e.colors.primary600};
979
+ }
980
+ `}
981
+
982
+ /* > ComponentIcon */
983
+ > div:first-child {
984
+ background: ${({theme:e})=>e.colors.primary200};
985
+ color: ${({theme:e})=>e.colors.primary600};
986
+ }
987
+ }
988
+ `,go=({components:e})=>{const{componentLayouts:r}=Se();return t.createElement(i.Flex,{gap:2,overflow:"scroll hidden",padding:3},e.map(o=>t.createElement(wc,{hasRadius:!0,background:"neutral0",justifyContent:"center",alignItems:"center",height:`${84/16}rem`,minWidth:`${140/16}rem`,key:o,padding:2,direction:"column",borderColor:"neutral200",as:re.Link,to:`/content-manager/components/${o}/configurations/edit`},t.createElement(ft,null),t.createElement(i.Box,{paddingTop:1},t.createElement(i.Typography,{fontSize:1,textColor:"neutral600",fontWeight:"bold"},r?.[o]?.info?.displayName??"")))))};go.propTypes={components:n().arrayOf(n().string).isRequired};var Fc=go;const fo=(0,q.default)(i.IconButton)`
989
+ background-color: transparent;
990
+ path {
991
+ fill: ${({theme:e})=>e.colors.neutral600};
992
+ }
993
+ `,In=({attribute:e,onEditField:r,onDeleteField:o,children:s})=>{const{formatMessage:a}=(0,Z.useIntl)();return t.createElement(i.Box,{overflow:"hidden",width:"100%"},t.createElement(i.Flex,{paddingLeft:3,alignItems:"center",justifyContent:"space-between"},t.createElement(i.Typography,{fontWeight:"semiBold",textColor:"neutral800",ellipsis:!0},s),t.createElement(i.Flex,null,t.createElement(fo,{label:a({id:C("containers.ListSettingsView.modal-form.edit-label"),defaultMessage:"Edit {fieldName}"},{fieldName:s}),onClick:r,icon:t.createElement(S.Pencil,null),noBorder:!0}),t.createElement(fo,{label:a({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:s}),"data-testid":"delete-field",onClick:o,icon:t.createElement(S.Trash,null),noBorder:!0}))),e?.type==="component"&&t.createElement(xc,{componentUid:e.component}),e?.type==="dynamiczone"&&t.createElement(Fc,{components:e.components}))};In.defaultProps={attribute:void 0},In.propTypes={attribute:n().shape({components:n().array,component:n().string,type:n().string}),onEditField:n().func.isRequired,onDeleteField:n().func.isRequired,children:n().string.isRequired};var Lc=In;const Sc=(0,q.default)(i.Flex)`
994
+ position: relative;
995
+ ${({isFirst:e,isLast:r,hasHorizontalPadding:o})=>e?`
996
+ padding-right: 4px;
997
+ `:r?`
998
+ padding-left: 4px;
999
+ `:o?`
1000
+ padding: 0 4px;
1001
+ `:""}
1002
+ ${({showRightCarret:e,showLeftCarret:r,theme:o})=>e?`
1003
+ &:after {
1004
+ content: '';
1005
+ position: absolute;
1006
+ right: -1px;
1007
+ background-color: ${o.colors.primary600};
1008
+ width: 2px;
1009
+ height: 100%;
1010
+ align-self: stretch;
1011
+ z-index: 1;
1012
+ }
1013
+ `:r?`
1014
+ &:before {
1015
+ content: '';
1016
+ position: absolute;
1017
+ left: -1px;
1018
+ background-color: ${o.colors.primary600};
1019
+ width: 2px;
1020
+ height: 100%;
1021
+ align-self: stretch;
1022
+ z-index: 1;
1023
+ }
1024
+ `:""};
1025
+ `,Pc=(0,q.default)(S.Drag)`
1026
+ height: ${12/16}rem;
1027
+ width: ${12/16}rem;
1028
+ path {
1029
+ fill: ${({theme:e})=>e.colors.neutral600};
1030
+ }
1031
+ `,Ac=(0,q.default)(i.Flex)`
1032
+ display: ${({dragStart:e})=>e?"none":"flex"};
1033
+ opacity: ${({isDragging:e,isFullSize:r,isHidden:o})=>e&&!r?.2:e&&r||o?0:1};
1034
+ `,Oc=(0,q.default)(i.Flex)`
1035
+ cursor: all-scroll;
1036
+ border-right: 1px solid ${({theme:e})=>e.colors.neutral200};
1037
+ `,xn=({attribute:e,children:r,index:o,lastIndex:s,moveItem:a,moveRow:c,name:l,onDeleteField:d,onEditField:u,rowIndex:m,size:g})=>{const[f,p]=(0,t.useState)(!1),y=l==="_TEMP_",{setIsDraggingSibling:b}=Se(),v=g===12,I=(0,t.useRef)(null),E=(0,t.useRef)(null),[{clientOffset:R,isOver:P},A]=(0,Fe.useDrop)({accept:fe.EDIT_FIELD,hover(N,J){if(!E.current||N.size!==12)return;const M=J.getItem().index,w=o,Q=J.getItem().rowIndex,j=m;if(M===w&&Q===j)return;const O=E.current.getBoundingClientRect(),V=(O.bottom-O.top)/2,se=J.getClientOffset().y-O.top;Q<j&&se<V||Q>j&&se>V||(c(Q,j),N.rowIndex=j,N.itemIndex=w)},drop(N,J){if(!E.current)return;const M=J.getItem().index,w=o,Q=J.getItem().rowIndex,j=m;if(N.size===12||M===w&&Q===j)return;const O=E.current.getBoundingClientRect();if(Math.abs(J.getClientOffset().x-O.left)>O.width/1.8){a(M,w+1,Q,j),N.itemIndex=w+1,N.rowIndex=j;return}a(M,w,Q,j),N.itemIndex=w,N.rowIndex=j},collect:N=>({canDrop:N.canDrop(),clientOffset:N.getClientOffset(),isOver:N.isOver(),isOverCurrent:N.isOver({shallow:!0}),itemType:N.getItemType()})}),[{isDragging:T,getItem:k},L,z]=(0,Fe.useDrag)({type:fe.EDIT_FIELD,item(){return b(!0),{index:o,labelField:r,rowIndex:m,name:l,size:g}},canDrag(){return l!=="_TEMP_"},collect:N=>({isDragging:N.isDragging(),getItem:N.getItem()}),end(){b(!1)}});(0,t.useEffect)(()=>{z((0,We.rX)(),{captureDraggingState:!0})},[z]);const _={dragRef:L(I),dropRef:A(E)};let B=!1,U=!1;if(E.current&&R){const N=E.current.getBoundingClientRect();B=P&&k.size!==12&&Math.abs(R.x-N.left)<N.width/2,U=P&&k.size!==12&&Math.abs(R.x-N.left)>N.width/2,l==="_TEMP_"&&(B=P&&k.size!==12,U=!1)}const $=()=>e&&v?`${74/16}rem`:`${32/16}rem`,G=o===0&&!v,W=o===s&&!v,Y=o!==0&&!v;return t.createElement(i.GridItem,{col:g},t.createElement(Sc,{ref:_.dropRef,showLeftCarret:B,showRightCarret:U,isFirst:G,isLast:W,hasHorizontalPadding:Y,onDrag:()=>{v&&!f&&p(!0)},onDragEnd:()=>{v&&p(!1)}},f&&v&&t.createElement(i.Box,{width:"100%",height:"2px",background:"primary600"}),t.createElement(Ac,{width:v&&f?0:"100%",borderColor:"neutral150",hasRadius:!0,background:"neutral100",minHeight:$(),alignItems:"stretch",isDragging:T,dragStart:f,isFullSize:v,isHidden:y},t.createElement(Oc,{as:"span",type:"button",ref:_.dragRef,onClick:N=>N.stopPropagation(),alignItems:"center",paddingLeft:3,paddingRight:3,tabIndex:-1},t.createElement(Pc,null)),!y&&t.createElement(Lc,{attribute:e,onEditField:u,onDeleteField:d},r))))};xn.defaultProps={attribute:void 0},xn.propTypes={attribute:n().shape({components:n().array,component:n().string,type:n().string}),children:n().string.isRequired,index:n().number.isRequired,moveItem:n().func.isRequired,moveRow:n().func.isRequired,name:n().string.isRequired,onDeleteField:n().func.isRequired,onEditField:n().func.isRequired,rowIndex:n().number.isRequired,lastIndex:n().number.isRequired,size:n().number.isRequired};var $c=xn;const ho=({rowItem:e,onRemoveField:r,rowId:o,rowIndex:s,index:a,lastIndex:c})=>{const{setEditFieldToSelect:l,attributes:d,modifiedData:u,moveRow:m,moveItem:g}=Se(),f=x()(d,[e.name],{}),p=x()(u,["metadatas",e.name,"edit","label"],"");return t.createElement($c,{onEditField:()=>l(e.name),onDeleteField:()=>r(o,a),attribute:f,index:a,lastIndex:c,rowIndex:s,name:e.name,size:e.size,moveRow:m,moveItem:g},p||e.name)};ho.propTypes={index:n().number.isRequired,lastIndex:n().number.isRequired,onRemoveField:n().func.isRequired,rowId:n().number.isRequired,rowIndex:n().number.isRequired,rowItem:n().object.isRequired};var qc=ho;const yo=({row:e,onRemoveField:r,rowIndex:o})=>t.createElement(i.Grid,null,e.rowContent.map((s,a)=>t.createElement(qc,{key:s.name,rowItem:s,index:a,rowId:e.rowId,onRemoveField:r,rowIndex:o,lastIndex:e.rowContent.length-1})));yo.propTypes={onRemoveField:n().func.isRequired,row:n().object.isRequired,rowIndex:n().number.isRequired};var Bc=yo;const Nc=[{action:"plugin::content-type-builder.read",subject:null}];var jc=()=>{const{trackUsage:e}=(0,h.useTracking)(),{formatMessage:r}=(0,Z.useIntl)(),{slug:o,modifiedData:s,isContentTypeView:a}=Se(),c=a?"content-types":"components",l=`/plugins/content-type-builder/${c==="content-types"?c:"component-categories"}`,d=x()(s,"category",""),u=c==="content-types"?o:`${d}/${o}`,m=()=>{e("willEditEditLayout")};return o==="strapi::administrator"?null:t.createElement(h.CheckPermissions,{permissions:Nc},t.createElement(h.LinkButton,{to:`${l}/${u}`,onClick:m,size:"S",startIcon:t.createElement(S.Pencil,null),variant:"secondary"},r({id:C(`edit-settings-view.link-to-ctb.${c}`),defaultMessage:"Edit the content type"})))};const bo=({editLayout:e,fields:r,onRemoveField:o,onAddField:s})=>{const{formatMessage:a}=(0,Z.useIntl)();return t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(i.Flex,{justifyContent:"space-between"},t.createElement("div",null,t.createElement(i.Box,null,t.createElement(i.Typography,{fontWeight:"bold"},a({id:C("containers.ListPage.displayedFields"),defaultMessage:"Displayed fields"}))),t.createElement(i.Box,null,t.createElement(i.Typography,{variant:"pi",textColor:"neutral600"},a({id:"containers.SettingPage.editSettings.description",defaultMessage:"Drag & drop the fields to build the layout"})))),t.createElement(jc,null)),t.createElement(i.Box,{padding:4,hasRadius:!0,borderStyle:"dashed",borderWidth:"1px",borderColor:"neutral300"},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},e.map((c,l)=>t.createElement(Bc,{key:c.rowId,row:c,rowIndex:l,onRemoveField:o})),t.createElement(i.SimpleMenu,{id:"label",label:a({id:C("containers.SettingPage.add.field"),defaultMessage:"Insert another field"}),as:i.Button,"data-testid":"add-field",fullWidth:!0,startIcon:t.createElement(S.Plus,null),endIcon:null,variant:"secondary",disabled:r.length===0},r.map(c=>t.createElement(i.MenuItem,{key:c,onClick:()=>s(c)},c))))))};bo.propTypes={editLayout:n().array.isRequired,fields:n().array.isRequired,onAddField:n().func.isRequired,onRemoveField:n().func.isRequired};var Vc=bo;const Eo={biginteger:t.createElement(S.Number,null),boolean:t.createElement(S.Boolean,null),date:t.createElement(S.Date,null),datetime:t.createElement(S.Date,null),decimal:t.createElement(S.Number,null),email:t.createElement(S.Email,null),enum:t.createElement(S.Enumeration,null),enumeration:t.createElement(S.Enumeration,null),file:t.createElement(S.Media,null),files:t.createElement(S.Media,null),float:t.createElement(S.Number,null),integer:t.createElement(S.Number,null),media:t.createElement(S.Media,null),number:t.createElement(S.Number,null),relation:t.createElement(S.Relation,null),string:t.createElement(S.Text,null),text:t.createElement(S.Text,null),richtext:t.createElement(S.Text,null),time:t.createElement(S.Date,null),timestamp:t.createElement(S.Date,null),json:t.createElement(S.Json,null),uid:t.createElement(S.Uid,null),component:t.createElement(S.Component,null),dynamiczone:t.createElement(S.DynamicZone,null)},wn=({type:e,customFieldUid:r})=>{const o=(0,h.useCustomFields)();let s=Eo[e];if(r){const c=o.get(r).icon;c&&(s=t.createElement(i.Box,{marginRight:3,width:7,height:6},t.createElement(c,null)))}return Eo[e]?s:null};wn.defaultProps={customFieldUid:null},wn.propTypes={type:n().string.isRequired,customFieldUid:n().string};var Co=wn,zc=e=>e.reduce((r,o)=>{const s=o?.attributes??{},a=Object.keys(s).filter(c=>!["boolean","component","dynamiczone","json","media","password","relation","text","richtext"].includes(s?.[c]?.type??""));return r[o.uid]=a,r},{}),Ro=e=>{let r;switch(e){case"description":case"label":case"placeholder":r="text";break;case"mainField":r="select";break;case"editable":r="bool";break;default:r=""}const o=C(e==="mainField"?"containers.SettingPage.editSettings.entry.title":`form.Input.${e}`);return{type:r,label:{id:o}}};const Fn=({type:e,options:r,onChange:o,value:s,name:a,...c})=>{const{formatMessage:l}=(0,Z.useIntl)();switch(e){case"text":return t.createElement(i.TextInput,{onChange:o,value:s,name:a,...c});case"bool":return t.createElement(i.ToggleInput,{onChange:d=>{o({target:{name:a,value:d.target.checked}})},checked:s,name:a,onLabel:l({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),offLabel:l({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),...c});case"select":return t.createElement(i.Select,{value:s,name:a,onChange:d=>o({target:{name:a,value:d}}),...c},r.map(d=>t.createElement(i.Option,{key:d,value:d},d)));default:return null}};Fn.defaultProps={options:void 0},Fn.propTypes={type:n().string.isRequired,options:n().arrayOf(n().string),onChange:n().func.isRequired,value:n().oneOfType([n().string,n().bool]).isRequired,name:n().string.isRequired};var _c=Fn;const Wc=[[4,"33%"],[6,"50%"],[8,"66%"],[12,"100%"]],Uc=["dynamiczone","component","json","richtext"],Hc=[1,5,10,15,30,60],Gc=["datetime","time"],vo=({onMetaChange:e,onSizeChange:r})=>{const{formatMessage:o}=(0,Z.useIntl)(),{modifiedData:s,selectedField:a,attributes:c,fieldForm:l}=Se(),d=(0,t.useMemo)(Ft,[]),{schemas:u}=(0,ie.useSelector)(E=>d(E),ie.shallowEqual),m=(0,t.useMemo)(()=>{if(!a)return[];const E=x()(s,["metadatas",a,"edit"],{});return Object.keys(E).filter(R=>R!=="visible")},[a,s]),g=(0,t.useMemo)(()=>zc(u),[u]),f=(0,t.useCallback)(E=>{if(E!=="relation"&&E!=="component")return[];const R=E==="component"?"component":"targetModel",P=x()(s,["attributes",a,R],"");return x()(g,[P],[])},[a,g,s]),p=m.map(E=>{const R=x()(c,[a,"type"]);return["component","dynamiczone"].includes(R)&&!["label","description"].includes(E)||R==="component"&&E!=="label"||["media","json","boolean"].includes(R)&&E==="placeholder"||E==="step"?null:t.createElement(i.GridItem,{col:6,key:E},t.createElement(_c,{type:Ro(E).type,hint:E==="mainField"?o({id:C("containers.SettingPage.editSettings.relation-field.description")}):"",label:o({id:x()(Ro(E),"label.id","app.utils.defaultMessage")}),name:E,onChange:e,value:x()(l,["metadata",E],""),options:f(R)}))}),y=!Uc.includes(c[a].type),b=t.createElement(i.GridItem,{col:6,key:"size"},t.createElement(i.Select,{value:l?.size,name:"size",onChange:E=>{r({name:a,value:E})},label:o({id:C("containers.SettingPage.editSettings.size.label"),defaultMessage:"Size"})},Wc.map(([E,R])=>t.createElement(i.Option,{key:E,value:E},R)))),v=Gc.includes(c[a].type),I=t.createElement(i.GridItem,{col:6,key:"step"},t.createElement(i.Select,{value:x()(l,["metadata","step"],1),name:"step",onChange:E=>e({target:{name:"step",value:E}}),label:o({id:C("containers.SettingPage.editSettings.step.label"),defaultMessage:"Time interval (minutes)"})},Hc.map(E=>t.createElement(i.Option,{key:E,value:E},E))));return t.createElement(t.Fragment,null,p,y&&b,v&&I)};vo.propTypes={onMetaChange:n().func.isRequired,onSizeChange:n().func.isRequired};var Zc=vo;const Qc=(0,q.default)(i.Flex)`
1038
+ svg {
1039
+ width: ${32/16}rem;
1040
+ height: ${24/16}rem;
1041
+ margin-right: ${({theme:e})=>e.spaces[3]};
1042
+ }
1043
+ `,Ln=({onToggle:e,onMetaChange:r,onSizeChange:o,onSubmit:s,type:a,customFieldUid:c})=>{const{selectedField:l}=Se(),{formatMessage:d}=(0,Z.useIntl)(),u=()=>a==="timestamp"?"date":["decimal","float","integer","biginter"].includes(a)?"number":a;return t.createElement(i.ModalLayout,{onClose:e,labelledBy:"title"},t.createElement("form",{onSubmit:s},t.createElement(i.ModalHeader,null,t.createElement(Qc,null,t.createElement(Co,{type:u(),customFieldUid:c}),t.createElement(i.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},d({id:C("containers.ListSettingsView.modal-form.edit-label"),defaultMessage:"Edit {fieldName}"},{fieldName:Xe()(l)})))),t.createElement(i.ModalBody,null,t.createElement(i.Grid,{gap:4},t.createElement(Zc,{onMetaChange:r,onSizeChange:o}))),t.createElement(i.ModalFooter,{startActions:t.createElement(i.Button,{onClick:e,variant:"tertiary"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:t.createElement(i.Button,{type:"submit"},d({id:"global.finish",defaultMessage:"Finish"}))})))};Ln.defaultProps={customFieldUid:null},Ln.propTypes={customFieldUid:n().string,onSubmit:n().func.isRequired,onToggle:n().func.isRequired,onMetaChange:n().func.isRequired,onSizeChange:n().func.isRequired,type:n().string.isRequired};var Kc=Ln,Yc=(e,r,o)=>{const{put:s}=(0,h.getFetchClient)();return s(le(o?`content-types/${r}/configuration`:`components/${r}/configuration`),e)};const Sn=({mainLayout:e,components:r,isContentTypeView:o,slug:s,updateLayout:a})=>{const[c,l]=(0,t.useReducer)(kc,kn,()=>Ic(kn,e,r)),[d,u]=(0,t.useState)(!1),{trackUsage:m}=(0,h.useTracking)(),g=(0,h.useNotification)(),{goBack:f}=(0,re.useHistory)(),[p,y]=(0,t.useState)(!1),[b,v]=(0,t.useState)(!1),{componentLayouts:I,initialData:E,modifiedData:R,metaToEdit:P,metaForm:A}=c,{formatMessage:T}=(0,Z.useIntl)(),k=x()(e,["info","displayName"],""),L=x()(R,["attributes"],{}),z=Object.keys(L).filter(F=>{const ne=x()(L,[F,"type"],"");return!["dynamiczone","json","text","relation","component","boolean","media","password","richtext","timestamp"].includes(ne)&&!!ne}),_=x()(R,["layouts","edit"],[]),B=io()(_,"rowContent"),U=Object.keys(R.attributes).filter(F=>x()(R,["metadatas",F,"edit","visible"],!1)===!0).filter(F=>B.findIndex(ne=>ne.name===F)===-1).sort(),$=({target:{name:F,value:ne}})=>{l({type:"ON_CHANGE",keys:F.split("."),value:ne})},G=()=>{y(F=>!F)},W=()=>{v(F=>!F)},Y=({target:{name:F,value:ne}})=>{l({type:"ON_CHANGE_META",keys:F.split("."),value:ne})},N=({name:F,value:ne})=>{l({type:"ON_CHANGE_SIZE",name:F,value:ne})},J=F=>{F.preventDefault(),l({type:"SUBMIT_META_FORM"}),G()},M=F=>{F.preventDefault(),W()},w=(0,Pe.useMutation)(F=>Yc(F,s,o),{onSuccess({data:F}){a&&a(F.data),l({type:"SUBMIT_SUCCEEDED"}),W(),m("didEditEditSettings")},onError(){g({type:"warning",message:{id:"notification.error"}})}}),{isLoading:Q}=w,j=()=>{const F=Ht()(Ee()(R),["layouts","metadatas","settings"]);K()(F,"layouts.edit",Tc(F.layouts.edit)),w.mutate(F)},O=(F,ne)=>{l({type:"MOVE_RELATION",fromIndex:F,toIndex:ne})},V=(F,ne)=>{l({type:"MOVE_FIELD",fromIndex:F,toIndex:ne})},H=(F,ne,ce,me)=>{l(ce===me?{type:"REORDER_ROW",dragRowIndex:ce,dragIndex:F,hoverIndex:ne}:{type:"REORDER_DIFF_ROW",dragIndex:F,hoverIndex:ne,dragRowIndex:ce,hoverRowIndex:me})},se=(F,ne)=>{l({type:"MOVE_ROW",fromIndex:F,toIndex:ne})};return t.createElement(Kn,{isContentTypeView:o,attributes:L,modifiedData:R,slug:s,componentLayouts:I,selectedField:P,fieldForm:A,onMoveRelation:O,onMoveField:V,moveRow:se,moveItem:H,setEditFieldToSelect:F=>{l({type:"SET_FIELD_TO_EDIT",name:F}),G()},isDraggingSibling:d,setIsDraggingSibling:u},t.createElement(i.Main,null,t.createElement("form",{onSubmit:M},t.createElement(i.HeaderLayout,{title:T({id:C("components.SettingsViewWrapper.pluginHeader.title"),defaultMessage:`Configure the view - ${Xe()(k)}`},{name:Xe()(k)}),subtitle:T({id:C("components.SettingsViewWrapper.pluginHeader.description.edit-settings"),defaultMessage:"Customize how the edit view will look like."}),navigationAction:t.createElement(h.Link,{startIcon:t.createElement(S.ArrowLeft,null),onClick:F=>{F.preventDefault(),f()},to:"/"},T({id:"global.back",defaultMessage:"Back"})),primaryAction:t.createElement(i.Button,{disabled:Qe()(E,R),startIcon:t.createElement(S.Check,null),type:"submit"},T({id:"global.save",defaultMessage:"Save"}))}),t.createElement(i.ContentLayout,null,t.createElement(i.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(i.Typography,{variant:"delta",as:"h2"},T({id:C("containers.SettingPage.settings"),defaultMessage:"Settings"})),t.createElement(i.Grid,null,t.createElement(i.GridItem,{col:6,s:12},t.createElement(i.Select,{label:T({id:C("containers.SettingPage.editSettings.entry.title"),defaultMessage:"Entry title"}),hint:T({id:C("containers.SettingPage.editSettings.entry.title.description"),defaultMessage:"Set the display field of your entry"}),onChange:F=>{$({target:{name:"settings.mainField",value:F===""?null:F}})},value:R.settings.mainField},z.map(F=>t.createElement(i.Option,{key:F,value:F},F))))),t.createElement(i.Box,{paddingTop:2,paddingBottom:2},t.createElement(i.Divider,null)),t.createElement(i.Typography,{variant:"delta",as:"h3"},T({id:C("containers.SettingPage.view"),defaultMessage:"View"})),t.createElement(Vc,{attributes:L,editLayout:_,fields:U,onAddField:F=>{l({type:"ON_ADD_FIELD",name:F})},onRemoveField:(F,ne)=>{l({type:"REMOVE_FIELD",rowIndex:F,fieldIndex:ne})}})))),t.createElement(h.ConfirmDialog,{bodyText:{id:C("popUpWarning.warning.updateAllSettings"),defaultMessage:"This will modify all your settings"},iconRightButton:t.createElement(S.Check,null),isConfirmButtonLoading:Q,isOpen:b,onToggleDialog:W,onConfirm:j,variantRightButton:"success-light"})),p&&t.createElement(Kc,{onSubmit:J,onToggle:G,onMetaChange:Y,onSizeChange:N,type:x()(L,[P,"type"],""),customFieldUid:x()(L,[P,"customField"],"")})))};Sn.defaultProps={isContentTypeView:!1,updateLayout:null},Sn.propTypes={components:n().object.isRequired,isContentTypeView:n().bool,mainLayout:n().shape({attributes:n().object.isRequired,info:n().object.isRequired,layouts:n().shape({list:n().array.isRequired,edit:n().array.isRequired}).isRequired,metadatas:n().object.isRequired,options:n().object.isRequired}).isRequired,slug:n().string.isRequired,updateLayout:n().func};var Pn=Sn,Ve=D(37617);const Xc=()=>({type:Ve.ZA}),Jc=(e,r)=>({type:Ve.Id,pagination:e,data:r}),ed=()=>({type:Ve.MP});function td(){return{type:Ve.c2}}const nd=({components:e,contentType:r})=>{const{layouts:o}=r;return{contentType:r,components:e,displayedHeaders:o.list,type:Ve.Zz}},An=e=>({type:Ve.Rp,target:e});var To=D(13055),rd=D(70664);const od=()=>e=>e["content-manager_listView"]||rd.E,sd=()=>(0,Ue.P1)(od(),e=>e),Mo=e=>{const{displayedHeaders:r}=e["content-manager_listView"];return r};var ad=sd;const id=(0,q.default)(i.Flex)`
1044
+ position: relative;
1045
+ border-radius: 50%;
1046
+ width: 26px;
1047
+ height: 26px;
1048
+ border: 1px solid ${({theme:e})=>e.colors.neutral200};
1049
+ background: ${({theme:e})=>e.colors.neutral150};
1050
+ padding-left: 1px;
1051
+
1052
+ span {
1053
+ line-height: 0.6rem;
1054
+ font-size: 0.6rem;
1055
+ }
1056
+ `,Do=({children:e,...r})=>t.createElement(id,{justifyContent:"center",alignItems:"center",as:"span",...r},t.createElement(i.Typography,{variant:"sigma",textColor:"neutral600"},e));Do.propTypes={children:n().string.isRequired};var ko=Do;const On=({url:e,mime:r,alternativeText:o,name:s,ext:a,formats:c})=>{const l=(0,h.prefixFileUrlWithBackendUrl)(e);if(r.includes("image")){const m=c?.thumbnail?.url||null,g=(0,h.prefixFileUrlWithBackendUrl)(m)||l;return t.createElement(i.Avatar,{src:g,alt:o||s,preview:!0})}const d=(0,h.getFileExtension)(a),u=s.length>100?`${s.substring(0,100)}...`:s;return t.createElement(i.Tooltip,{description:u},t.createElement(ko,null,d))};On.defaultProps={alternativeText:null,formats:null},On.propTypes={alternativeText:n().string,ext:n().string.isRequired,formats:n().object,mime:n().string.isRequired,name:n().string.isRequired,url:n().string.isRequired};var Io=On;const xo=({value:e})=>t.createElement(i.AvatarGroup,null,e.map((r,o)=>{const s=`${r.id}${o}`;if(o===3){const a=`+${e.length-3}`;return t.createElement(ko,{key:s,preview:!1},a)}return o>3?null:t.createElement(Io,{key:s,...r})}));xo.propTypes={value:n().arrayOf(n().shape({alternativeText:n().string,ext:n().string.isRequired,formats:n().object,mime:n().string.isRequired,name:n().string.isRequired,url:n().string.isRequired})).isRequired};var ld=xo,cd=D(51064),dd=D.n(cd);const wo=({type:e,value:r})=>{const{formatDate:o,formatTime:s,formatNumber:a}=(0,Z.useIntl)();let c=r;if(e==="date"&&(c=o(dd()(r),{dateStyle:"full"})),e==="datetime"&&(c=o(r,{dateStyle:"full",timeStyle:"short"})),e==="time"){const[l,d,u]=r.split(":"),m=new Date;m.setHours(l),m.setMinutes(d),m.setSeconds(u),c=s(m,{numeric:"auto",style:"short"})}return["float","decimal"].includes(e)&&(c=a(r,{maximumFractionDigits:20})),["integer","biginteger"].includes(e)&&(c=a(r,{maximumFractionDigits:0})),Hr()(c)};wo.propTypes={type:n().string.isRequired,value:n().any.isRequired};var ze=wo;const ud=(0,q.default)(i.Typography)`
1057
+ max-width: 500px;
1058
+ `,md=async(e,r,o)=>{const{data:{results:s,pagination:a}}=await o(e);return r(),{results:s,pagination:a}},Fo=({fieldSchema:e,metadatas:r,name:o,entityId:s,value:a,contentType:c})=>{const{formatMessage:l}=(0,Z.useIntl)(),{notifyStatus:d}=(0,i.useNotifyAT)(),u=(0,t.useMemo)(()=>le(`relations/${c.uid}/${s}/${o.split(".")[0]}`),[s,o,c]),[m,g]=(0,t.useState)(!1),{get:f}=(0,h.useFetchClient)(),p=t.createElement(i.Flex,{gap:1,wrap:"nowrap"},t.createElement(i.Badge,null,a.count),l({id:"content-manager.containers.ListPage.items",defaultMessage:"{number, plural, =0 {items} one {item} other {items}}"},{number:a.count})),y=()=>{const I=l({id:C("DynamicTable.relation-loaded"),defaultMessage:"Relations have been loaded"});d(I)},{data:b,status:v}=(0,Pe.useQuery)([e.targetModel,s],()=>md(u,y,f),{enabled:m,staleTime:0,select:I=>({...I,results:[...I.results].reverse()})});return t.createElement(i.Box,{...h.stopPropagation},t.createElement(i.SimpleMenu,{label:p,size:"S",onOpen:()=>g(!0),onClose:()=>g(!1)},v!=="success"&&t.createElement(i.MenuItem,{"aria-disabled":!0},t.createElement(i.Loader,{small:!0},l({id:C("DynamicTable.relation-loading"),defaultMessage:"Relations are loading"}))),v==="success"&&t.createElement(t.Fragment,null,b?.results.map(I=>t.createElement(i.MenuItem,{key:I.id,"aria-disabled":!0},t.createElement(ud,{ellipsis:!0},t.createElement(ze,{type:r.mainField.schema.type,value:I[r.mainField.name]||I.id})))),b?.pagination.total>10&&t.createElement(i.MenuItem,{"aria-disabled":!0,"aria-label":l({id:C("DynamicTable.relation-more"),defaultMessage:"This relation contains more entities than displayed"})},t.createElement(i.Typography,null,"\u2026")))))};Fo.propTypes={contentType:n().shape({uid:n().string.isRequired}).isRequired,fieldSchema:n().shape({relation:n().string,targetModel:n().string,type:n().string.isRequired}).isRequired,metadatas:n().shape({mainField:n().shape({name:n().string.isRequired,schema:n().shape({type:n().string.isRequired}).isRequired})}).isRequired,name:n().string.isRequired,entityId:n().oneOfType([n().string,n().number]).isRequired,value:n().object.isRequired};var pd=Fo;const gd=(0,q.default)(i.Typography)`
1059
+ max-width: 500px;
1060
+ `,Lo=({metadatas:e,value:r})=>t.createElement(gd,{textColor:"neutral800",ellipsis:!0},t.createElement(ze,{type:e.mainField.schema.type,value:r[e.mainField.name]??r.id}));Lo.propTypes={metadatas:n().shape({mainField:n().shape({name:n().string.isRequired,schema:n().shape({type:n().string.isRequired}).isRequired})}).isRequired,value:n().object.isRequired};var fd=Lo;const hd=(0,q.default)(i.Typography)`
1061
+ max-width: 500px;
1062
+ `,So=({value:e,metadatas:r})=>{const{formatMessage:o}=(0,Z.useIntl)(),{mainField:{type:s,name:a}}=r,c=t.createElement(t.Fragment,null,t.createElement(i.Badge,null,e.length)," ",o({id:"content-manager.containers.ListPage.items",defaultMessage:"{number, plural, =0 {items} one {item} other {items}}"},{number:e.length}));return t.createElement(i.Box,{...h.stopPropagation},t.createElement(i.SimpleMenu,{label:c,size:"S"},e.map(l=>t.createElement(i.MenuItem,{key:l.id,"aria-disabled":!0},t.createElement(hd,{ellipsis:!0},t.createElement(ze,{type:s,value:l[a]||l.id}))))))};So.propTypes={metadatas:n().shape({mainField:n().shape({name:n().string,type:n().string,value:n().string})}).isRequired,value:n().array.isRequired};var yd=So;const bd=(0,q.default)(i.Typography)`
1063
+ max-width: 250px;
1064
+ `,Po=({value:e,metadatas:r})=>{const{mainField:o}=r,s=e[o.name];return t.createElement(i.Tooltip,{label:s},t.createElement(bd,{textColor:"neutral800",ellipsis:!0},t.createElement(ze,{type:o.type,value:s})))};Po.propTypes={metadatas:n().shape({mainField:n().shape({name:n().string,type:n().string,value:n().string})}).isRequired,value:n().object.isRequired};var Ed=Po,Cd=D(80022),Ao=D.n(Cd);function Oo(e){return["oneToOne","manyToOne","oneToOneMorph"].includes(e)}function Rd(e,r,o,s){if(e==="component"){const{mainField:{name:a,type:c}}=o;if(s?.repeatable)return r.length>0;const l=r?.[a];return a==="id"&&![void 0,null].includes(l)?!0:Ke(c)&&c!=="biginteger"&&a!=="id"?Ao()(l):!pe()(l)}return e==="relation"?Oo(s.relation)?!pe()(r):r?.count>0:Ke(e)&&e!=="biginteger"?Ao()(r):e==="boolean"?r!==null:!pe()(r)}const $o=(0,q.default)(i.Typography)`
1065
+ max-width: 300px;
1066
+ `,$n=({content:e,fieldSchema:r,metadatas:o,name:s,rowId:a,contentType:c})=>{const{type:l}=r;if(!Rd(l,e,o,r))return t.createElement(i.Typography,{textColor:"neutral800"},"-");switch(l){case"media":return r.multiple?t.createElement(ld,{value:e}):t.createElement(Io,{...e});case"relation":return Oo(r.relation)?t.createElement(fd,{metadatas:o,value:e}):t.createElement(pd,{fieldSchema:r,metadatas:o,value:e,name:s,entityId:a,contentType:c});case"component":return r.repeatable===!0?t.createElement(yd,{value:e,metadatas:o}):t.createElement(Ed,{value:e,metadatas:o});case"string":return t.createElement(i.Tooltip,{description:e},t.createElement($o,{ellipsis:!0,textColor:"neutral800"},t.createElement(ze,{type:l,value:e})));default:return t.createElement($o,{ellipsis:!0,textColor:"neutral800"},t.createElement(ze,{type:l,value:e}))}};$n.defaultProps={content:void 0},$n.propTypes={content:n().any,contentType:n().shape({uid:n().string.isRequired}).isRequired,fieldSchema:n().shape({component:n().string,multiple:n().bool,type:n().string.isRequired,repeatable:n().bool,relation:n().string}).isRequired,metadatas:n().object.isRequired,name:n().string.isRequired,rowId:n().oneOfType([n().string,n().number]).isRequired};var vd=$n;const qn=({canCreate:e,canDelete:r,contentType:o,headers:s,entriesToDelete:a,onClickDelete:c,onSelectRow:l,withMainAction:d,withBulkActions:u,rows:m})=>{const{push:g,location:{pathname:f}}=(0,re.useHistory)(),{formatMessage:p}=(0,Z.useIntl)(),{trackUsage:y}=(0,h.useTracking)(),b=Rr();return t.createElement(i.Tbody,null,m.map((v,I)=>{const E=a.findIndex(P=>P===v.id)!==-1,R=p({id:"content-manager.components.DynamicTable.row-line",defaultMessage:"item line {number}"},{number:I});return t.createElement(i.Tr,{key:v.id,...(0,h.onRowClick)({fn(){y("willEditEntryFromList"),g({pathname:`${f}/${v.id}`,state:{from:f},search:b})},condition:u})},d&&t.createElement(i.Td,{...h.stopPropagation},t.createElement(i.BaseCheckbox,{"aria-label":p({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,oo.Pp)(v.firstname,v.lastname)}),checked:E,onChange:()=>{l({name:v.id,value:!E})}})),s.map(({key:P,cellFormatter:A,name:T,...k})=>t.createElement(i.Td,{key:P},typeof A=="function"?A(v,{key:P,name:T,...k}):t.createElement(vd,{content:v[T.split(".")[0]],name:T,contentType:o,...k,rowId:v.id}))),u&&t.createElement(i.Td,null,t.createElement(i.Flex,{justifyContent:"end",...h.stopPropagation},t.createElement(i.IconButton,{forwardedAs:re.Link,onClick:()=>{y("willEditEntryFromButton")},to:{pathname:`${f}/${v.id}`,state:{from:f},search:b},label:p({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:R}),noBorder:!0,icon:t.createElement(S.Pencil,null)}),e&&t.createElement(i.Box,{paddingLeft:1},t.createElement(i.IconButton,{forwardedAs:re.Link,to:{pathname:`${f}/create/clone/${v.id}`,state:{from:f},search:b},label:p({id:"app.component.table.duplicate",defaultMessage:"Duplicate {target}"},{target:R}),noBorder:!0,icon:t.createElement(S.Duplicate,null)})),r&&t.createElement(i.Box,{paddingLeft:1},t.createElement(i.IconButton,{onClick:()=>{y("willDeleteEntryFromList"),c(v.id)},label:p({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:R}),noBorder:!0,icon:t.createElement(S.Trash,null)})))))}))};qn.defaultProps={canCreate:!1,canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},qn.propTypes={canCreate:n().bool,canDelete:n().bool,contentType:n().shape({uid:n().string.isRequired}).isRequired,entriesToDelete:n().array,headers:n().array.isRequired,onClickDelete:n().func,onSelectRow:n().func,rows:n().array,withBulkActions:n().bool,withMainAction:n().bool};var Td=qn;const qo=({area:e,...r})=>{const o=Lr(e);return o?t.createElement("ul",null,o.map(s=>s.Component(r)?t.createElement(i.Box,{key:s.name,padding:3,style:{textAlign:"center"}},t.createElement(s.Component,{...r})):null)):null};qo.propTypes={area:n().string.isRequired};var Bo=qo;const No=({isConfirmButtonLoading:e,isOpen:r,onToggleDialog:o,onConfirm:s})=>{const{formatMessage:a}=(0,Z.useIntl)();return t.createElement(i.Dialog,{onClose:o,title:a({id:"app.components.ConfirmDialog.title",defaultMessage:"Confirmation"}),labelledBy:"confirmation",describedBy:"confirm-description",isOpen:r},t.createElement(i.DialogBody,{icon:t.createElement(S.ExclamationMarkCircle,null)},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Typography,{id:"confirm-description"},a({id:C("popUpWarning.bodyMessage.contentType.delete.all"),defaultMessage:"Are you sure you want to delete these entries?"}))),t.createElement(i.Flex,null,t.createElement(Bo,{area:"contentManager.listView.deleteModalAdditionalInfos"})))),t.createElement(i.DialogFooter,{startAction:t.createElement(i.Button,{onClick:o,variant:"tertiary"},a({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endAction:t.createElement(i.Button,{onClick:s,variant:"danger-light",startIcon:t.createElement(S.Trash,null),id:"confirm-delete",loading:e},a({id:"app.components.Button.confirm",defaultMessage:"Confirm"}))}))};No.propTypes={isConfirmButtonLoading:n().bool.isRequired,isOpen:n().bool.isRequired,onConfirm:n().func.isRequired,onToggleDialog:n().func.isRequired};var Md=No;const jo=({isConfirmButtonLoading:e,isOpen:r,onToggleDialog:o,onConfirm:s})=>{const{formatMessage:a}=(0,Z.useIntl)();return t.createElement(i.Dialog,{onClose:o,title:a({id:"app.components.ConfirmDialog.title",defaultMessage:"Confirmation"}),labelledBy:"confirmation",describedBy:"confirm-description",isOpen:r},t.createElement(i.DialogBody,{icon:t.createElement(S.ExclamationMarkCircle,null)},t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:2},t.createElement(i.Flex,{justifyContent:"center"},t.createElement(i.Typography,{id:"confirm-description"},a({id:"components.popUpWarning.message",defaultMessage:"Are you sure you want to delete this?"}))),t.createElement(i.Flex,null,t.createElement(Bo,{area:"contentManager.listView.deleteModalAdditionalInfos"})))),t.createElement(i.DialogFooter,{startAction:t.createElement(i.Button,{onClick:o,variant:"tertiary"},a({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endAction:t.createElement(i.Button,{onClick:s,variant:"danger-light",startIcon:t.createElement(S.Trash,null),id:"confirm-delete",loading:e},a({id:"app.components.Button.confirm",defaultMessage:"Confirm"}))}))};jo.propTypes={isConfirmButtonLoading:n().bool.isRequired,isOpen:n().bool.isRequired,onConfirm:n().func.isRequired,onToggleDialog:n().func.isRequired};var Dd=jo;const kd=(0,q.default)(i.Status)`
1067
+ width: min-content;
1068
+ `,Bn=({canCreate:e,canDelete:r,contentTypeName:o,action:s,isBulkable:a,isLoading:c,onConfirmDelete:l,onConfirmDeleteAll:d,layout:u,rows:m})=>{const{runHookWaterfall:g}=(0,h.useStrapiApp)(),f=u.contentType.options.draftAndPublish||!1,{formatMessage:p}=(0,Z.useIntl)(),y=(0,ie.useSelector)(Mo),b=(0,t.useMemo)(()=>{const I=g(ct.No,{displayedHeaders:y,layout:u}).displayedHeaders.map(E=>{const{metadatas:R}=E;if(E.fieldSchema.type==="relation"){const P=`${E.name}.${E.metadatas.mainField.name}`;return{...E,metadatas:{...R,label:p({id:C(`containers.ListPage.table-headers.${E.name}`),defaultMessage:R.label})},name:P}}return{...E,metadatas:{...R,label:p({id:C(`containers.ListPage.table-headers.${E.name}`),defaultMessage:R.label})}}});return f?[...I,{key:"__published_at_temp_key__",name:"publishedAt",fieldSchema:{type:"custom"},metadatas:{label:p({id:C("containers.ListPage.table-headers.publishedAt"),defaultMessage:"publishedAt"}),searchable:!1,sortable:!0},cellFormatter(E){const R=E.publishedAt,P=R?"success":"secondary";return t.createElement(kd,{showBullet:!1,variant:P,size:"S"},t.createElement(i.Typography,{fontWeight:"bold",textColor:`${P}700`},p({id:C(`containers.List.${R?"published":"draft"}`),defaultMessage:R?"Published":"Draft"})))}}]:I},[g,y,u,f,p]);return t.createElement(h.DynamicTable,{components:{ConfirmDialogDelete:Dd,ConfirmDialogDeleteAll:Md},contentType:o,action:s,isLoading:c,headers:b,onConfirmDelete:l,onConfirmDeleteAll:d,onOpenDeleteAllModalTrackedEvent:"willBulkDeleteEntries",rows:m,withBulkActions:!0,withMainAction:r&&a},t.createElement(Td,{canCreate:e,canDelete:r,contentType:u.contentType,headers:b,rows:m,withBulkActions:!0,withMainAction:r&&a}))};Bn.defaultProps={action:void 0},Bn.propTypes={canCreate:n().bool.isRequired,canDelete:n().bool.isRequired,contentTypeName:n().string.isRequired,action:n().node,isBulkable:n().bool.isRequired,isLoading:n().bool.isRequired,layout:n().exact({components:n().object.isRequired,contentType:n().shape({attributes:n().object.isRequired,metadatas:n().object.isRequired,layouts:n().shape({list:n().array.isRequired}).isRequired,options:n().object.isRequired,settings:n().object.isRequired}).isRequired}).isRequired,onConfirmDelete:n().func.isRequired,onConfirmDeleteAll:n().func.isRequired,rows:n().array.isRequired};var Id=Bn;const xd=["json","component","media","richtext","dynamiczone","password"],wd=["createdAt","updatedAt"];var Fd=(e,r)=>{const{allPermissions:o}=(0,h.useRBACProvider)(),s=(0,h.findMatchingPermissions)(o,[{action:"plugin::content-manager.explorer.read",subject:r}]),a=x()(s,["0","properties","fields"],[]);return Object.keys(x()(e,["attributes"]),{}).filter(d=>{const u=x()(e,["attributes",d],{});return!(!u.type||xd.includes(u.type)||!a.includes(d)&&d!=="id"&&!wd.includes(d))}).sort()};const Vo=({displayedFilters:e})=>{const[r,o]=(0,t.useState)(!1),{formatMessage:s}=(0,Z.useIntl)(),a=(0,t.useRef)(),{trackUsage:c}=(0,h.useTracking)(),l=()=>{r||c("willFilterEntries"),o(d=>!d)};return t.createElement(t.Fragment,null,t.createElement(i.Box,{paddingTop:1,paddingBottom:1},t.createElement(i.Button,{variant:"tertiary",ref:a,startIcon:t.createElement(S.Filter,null),onClick:l,size:"S"},s({id:"app.utils.filters",defaultMessage:"Filters"})),r&&t.createElement(h.FilterPopoverURLQuery,{displayedFilters:e,isVisible:r,onToggle:l,source:a})),t.createElement(h.FilterListURLQuery,{filtersSchema:e}))};Vo.propTypes={displayedFilters:n().arrayOf(n().shape({name:n().string.isRequired,metadatas:n().shape({label:n().string}),fieldSchema:n().shape({type:n().string})})).isRequired};var Ld=Vo;const zo=({contentType:e,slug:r,metadatas:o})=>{const{formatMessage:s}=(0,Z.useIntl)(),c=Fd(e,r).map(l=>{const d=e.attributes[l],{type:u,enum:m}=d,g={name:"didFilterEntries",properties:{useRelation:u==="relation"}},{mainField:f,label:p}=o[l].list;return{name:l,metadatas:{label:s({id:p,defaultMessage:p})},fieldSchema:{type:u,options:m,mainField:f},trackedEvent:g}});return t.createElement(Ld,{displayedFilters:c})};zo.propTypes={contentType:n().object.isRequired,metadatas:n().object.isRequired,slug:n().string.isRequired};var Sd=zo,Pd=e=>Object.keys(e).reduce((o,s)=>{const a=e[s];return nr(a)&&o.push(s),o},[]).sort();const _o=({layout:e})=>{const r=(0,ie.useDispatch)(),o=(0,ie.useSelector)(Mo),{trackUsage:s}=(0,h.useTracking)(),{formatMessage:a}=(0,Z.useIntl)(),c=Pd(e.contentType.attributes).map(u=>{const m=e.contentType.metadatas[u].list;return{name:u,intlLabel:{id:m.label,defaultMessage:m.label}}}),l=o.map(({name:u})=>u),d=u=>{if(s("didChangeDisplayedFields"),u.length<l.length){const m=l.filter(g=>u.indexOf(g)===-1);r(An({name:m[0],value:!0}))}else{const m=u.filter(g=>l.indexOf(g)===-1);r(An({name:m[0],value:!1}))}};return t.createElement(i.Box,{paddingTop:1,paddingBottom:1},t.createElement(i.Select,{"aria-label":"change displayed fields",value:l,onChange:d,customizeContent:u=>a({id:C("select.currently.selected"),defaultMessage:"{count} currently selected"},{count:u.length}),multi:!0,size:"S"},c.map(u=>t.createElement(i.Option,{key:u.name,value:u.name},a({id:u.intlLabel.id||u.name,defaultMessage:u.intlLabel.defaultMessage||u.name})))))};_o.propTypes={layout:n().shape({contentType:n().shape({attributes:n().object.isRequired,metadatas:n().object.isRequired,layouts:n().shape({list:n().array.isRequired}).isRequired,options:n().object.isRequired,settings:n().object.isRequired}).isRequired}).isRequired};var Ad=(0,t.memo)(_o);const Nn=({pagination:e})=>t.createElement(i.Box,{paddingTop:4},t.createElement(i.Flex,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(h.PageSizeURLQuery,{trackedEvent:"willChangeNumberOfEntriesPerPage"}),t.createElement(h.PaginationURLQuery,{pagination:e})));Nn.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},Nn.propTypes={pagination:n().shape({page:n().number,pageCount:n().number,pageSize:n().number,total:n().number})};var Od=Nn;const $d=$e.Z.contentManager,qd=(0,q.default)(i.Box)`
1069
+ svg {
1070
+ path {
1071
+ fill: ${({theme:e})=>e.colors.neutral900};
1072
+ }
1073
+ }
1074
+ `;function Wo({canCreate:e,canDelete:r,canRead:o,data:s,getData:a,getDataSucceeded:c,isLoading:l,layout:d,pagination:u,slug:m}){const{total:g}=u,{contentType:{metadatas:f,settings:{bulkable:p,filterable:y,searchable:b}}}=d,v=(0,h.useNotification)(),{trackUsage:I}=(0,h.useTracking)(),{refetchPermissions:E}=(0,h.useRBACProvider)(),R=(0,t.useRef)(I),P=(0,t.useRef)(E),{notifyStatus:A}=(0,i.useNotifyAT)(),{formatAPIError:T}=(0,h.useAPIErrorHandler)(C);(0,h.useFocusWhenNavigate)();const[{query:k}]=(0,h.useQueryParams)(),L=Jr(k),z=(0,Te.stringify)({plugins:k.plugins},{encode:!1}),{pathname:_}=(0,re.useLocation)(),{push:B}=(0,re.useHistory)(),{formatMessage:U}=(0,Z.useIntl)(),$=d.contentType,G=x()($,"options.draftAndPublish",!1),W=(0,h.useFetchClient)(),{post:Y,del:N}=W,J=(0,t.useRef)(""),M=(0,t.useCallback)(async(se,F)=>{a();try{const ne=F?{cancelToken:F.token}:null,{data:{results:ce,pagination:me}}=await W.get(se,ne);A(U({id:C("utils.data-loaded"),defaultMessage:"{number, plural, =1 {# entry has} other {# entries have}} successfully been loaded"},{number:me.count})),c(me,ce)}catch(ne){if(he.Z.isCancel(ne))return;if(x()(ne,"response.status",null)===403){await P.current(),v({type:"info",message:{id:C("permissions.not-allowed.update")}}),B("/");return}v({type:"warning",message:{id:C("error.model.fetch")}})}},[U,a,c,A,B,v,W]),w=(0,t.useCallback)(async se=>{try{await Y(le(`collection-types/${m}/actions/bulkDelete`),{ids:se});const F=le(`collection-types/${m}${L}`);M(F),R.current("didBulkDeleteEntries")}catch(F){v({type:"warning",message:T(F)})}},[M,L,m,v,T,Y]),Q=(0,t.useCallback)(async se=>{try{await N(le(`collection-types/${m}/${se}`));const F=le(`collection-types/${m}${L}`);M(F),v({type:"success",message:{id:C("success.record.delete")}})}catch(F){v({type:"warning",message:T(F)})}},[m,L,M,v,T,N]);(0,t.useEffect)(()=>{const F=he.Z.CancelToken.source(),ne=o,ce=le(`collection-types/${m}${L}`);return ne&&ce.includes(J.current)&&M(ce,F),()=>{J.current=m,F.cancel("Operation canceled by the user.")}},[o,a,m,L,c,M]);const j=U({id:C("header.name"),defaultMessage:"Content"}),O=U({id:$.info.displayName,defaultMessage:$.info.displayName||j}),V=o?U({id:C("pages.ListView.header-subtitle"),defaultMessage:"{number, plural, =0 {# entries} one {# entry} other {# entries}} found"},{number:g}):null,H=se=>e?t.createElement(i.Button,{...se,forwardedAs:re.Link,onClick:()=>{const F=G?{status:"draft"}:{};R.current("willCreateEntry",F)},to:{pathname:`${_}/create`,search:k.plugins?z:""},startIcon:t.createElement(S.Plus,null),style:{textDecoration:"none"}},U({id:C("HeaderLayout.button.label-add-entry"),defaultMessage:"Create new entry"})):null;return t.createElement(i.Main,{"aria-busy":l},t.createElement(i.HeaderLayout,{primaryAction:H(),subtitle:V,title:O,navigationAction:t.createElement(h.Link,{startIcon:t.createElement(S.ArrowLeft,null),to:"/content-manager/"},U({id:"global.back",defaultMessage:"Back"}))}),!o&&t.createElement(i.ActionLayout,{endActions:t.createElement(dt,{area:"contentManager.listView.actions"})}),o&&t.createElement(i.ActionLayout,{endActions:t.createElement(t.Fragment,null,t.createElement(dt,{area:"contentManager.listView.actions"}),t.createElement(Ad,{layout:d}),t.createElement(h.CheckPermissions,{permissions:$d.collectionTypesConfigurations},t.createElement(qd,{paddingTop:1,paddingBottom:1},t.createElement(i.IconButton,{onClick:()=>{I("willEditListLayout")},forwardedAs:re.Link,to:{pathname:`${m}/configurations/list`,search:z},icon:t.createElement(S.Cog,null),label:U({id:"app.links.configure-view",defaultMessage:"Configure the view"})})))),startActions:t.createElement(t.Fragment,null,b&&t.createElement(h.SearchURLQuery,{label:U({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:O}),placeholder:U({id:"global.search",defaultMessage:"Search"}),trackedEvent:"didSearch"}),y&&t.createElement(Sd,{contentType:$,slug:m,metadatas:f}))}),t.createElement(i.ContentLayout,null,o?t.createElement(t.Fragment,null,t.createElement(Id,{canCreate:e,canDelete:r,contentTypeName:O,onConfirmDeleteAll:w,onConfirmDelete:Q,isBulkable:p,isLoading:l,layout:d,rows:s,action:H({variant:"secondary"})}),t.createElement(Od,{pagination:{pageCount:u?.pageCount||1}})):t.createElement(h.NoPermissions,null)))}Wo.propTypes={canCreate:n().bool.isRequired,canDelete:n().bool.isRequired,canRead:n().bool.isRequired,data:n().array.isRequired,layout:n().exact({components:n().object.isRequired,contentType:n().shape({attributes:n().object.isRequired,metadatas:n().object.isRequired,info:n().shape({displayName:n().string.isRequired}).isRequired,layouts:n().shape({list:n().array.isRequired}).isRequired,options:n().object.isRequired,settings:n().object.isRequired}).isRequired}).isRequired,isLoading:n().bool.isRequired,getData:n().func.isRequired,getDataSucceeded:n().func.isRequired,pagination:n().shape({total:n().number.isRequired,pageCount:n().number}).isRequired,slug:n().string.isRequired};const Bd=ad();function Nd(e){return(0,To.bindActionCreators)({getData:Xc,getDataSucceeded:Jc,onChangeListHeaders:An,onResetListHeaders:ed},e)}const jd=(0,ie.connect)(Bd,Nd);var Vd=(0,To.compose)(jd)((0,t.memo)(Wo,De()));const jn=e=>{const r=(0,t.useMemo)(()=>sr(e.slug),[e.slug]),{isLoading:o,allowedActions:s}=(0,h.useRBAC)(r,e.permissions);return o?t.createElement(h.LoadingIndicatorPage,null):t.createElement(Vd,{...e,...s})};jn.defaultProps={permissions:[]},jn.propTypes={permissions:n().array,slug:n().string.isRequired};var zd=(0,t.memo)(jn,(e,r)=>{const o=(0,h.difference)(e,r);return Object.keys(o).filter(a=>a!=="state").length>0});const Uo=({layout:e,...r})=>{const o=(0,ie.useDispatch)(),{replace:s}=(0,re.useHistory)(),[{query:a,rawQuery:c}]=(0,h.useQueryParams)(),l=Tr(a,r.slug,"listView"),d=Cr(r.slug);return(0,t.useEffect)(()=>{c||s(d)},[c,s,d]),(0,t.useEffect)(()=>{o(nd(e))},[o,e]),(0,t.useEffect)(()=>()=>{o(td())},[o]),l?t.createElement(zd,{...r,layout:e,permissions:l}):null};Uo.propTypes={layout:n().exact({components:n().object.isRequired,contentType:n().shape({attributes:n().object.isRequired,metadatas:n().object.isRequired,layouts:n().shape({list:n().array.isRequired}).isRequired,options:n().object.isRequired,settings:n().object.isRequired,pluginOptions:n().object}).isRequired}).isRequired,slug:n().string.isRequired};var _d=Uo,Wd=(e,r)=>{const{put:o}=(0,h.getFetchClient)();return o(le(`content-types/${r}/configuration`),e)};const Vn=({modifiedData:e,onChange:r,sortOptions:o})=>{const{formatMessage:s}=(0,Z.useIntl)(),{settings:a,metadatas:c}=e;return t.createElement(i.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(i.Typography,{variant:"delta",as:"h2"},s({id:C("containers.SettingPage.settings"),defaultMessage:"Settings"})),t.createElement(i.Flex,{justifyContent:"space-between",gap:4},t.createElement(i.Box,{width:"100%"},t.createElement(i.ToggleInput,{label:s({id:C("form.Input.search"),defaultMessage:"Enable search"}),onChange:l=>{r({target:{name:"settings.searchable",value:l.target.checked}})},onLabel:s({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"on"}),offLabel:s({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"off"}),name:"settings.searchable",checked:a.searchable})),t.createElement(i.Box,{width:"100%"},t.createElement(i.ToggleInput,{label:s({id:C("form.Input.filters"),defaultMessage:"Enable filters"}),onChange:l=>{r({target:{name:"settings.filterable",value:l.target.checked}})},onLabel:s({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"on"}),offLabel:s({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"off"}),name:"settings.filterable",checked:a.filterable})),t.createElement(i.Box,{width:"100%"},t.createElement(i.ToggleInput,{label:s({id:C("form.Input.bulkActions"),defaultMessage:"Enable bulk actions"}),onChange:l=>{r({target:{name:"settings.bulkable",value:l.target.checked}})},onLabel:s({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"on"}),offLabel:s({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"off"}),name:"settings.bulkable",checked:a.bulkable}))),t.createElement(i.Grid,{gap:4},t.createElement(i.GridItem,{s:12,col:6},t.createElement(i.Select,{label:s({id:C("form.Input.pageEntries"),defaultMessage:"Entries per page"}),hint:s({id:C("form.Input.pageEntries.inputDescription"),defaultMessage:"Note: You can override this value in the Collection Type settings page."}),onChange:l=>r({target:{name:"settings.pageSize",value:l}}),name:"settings.pageSize",value:e.settings.pageSize||""},[10,20,50,100].map(l=>t.createElement(i.Option,{key:l,value:l},l)))),t.createElement(i.GridItem,{s:12,col:3},t.createElement(i.Select,{label:s({id:C("form.Input.defaultSort"),defaultMessage:"Default sort attribute"}),onChange:l=>r({target:{name:"settings.defaultSortBy",value:l}}),name:"settings.defaultSortBy",value:e.settings.defaultSortBy||""},o.map(l=>t.createElement(i.Option,{key:l,value:l},c[l].list.label||l)))),t.createElement(i.GridItem,{s:12,col:3},t.createElement(i.Select,{label:s({id:C("form.Input.sort.order"),defaultMessage:"Default sort order"}),onChange:l=>r({target:{name:"settings.defaultSortOrder",value:l}}),name:"settings.defaultSortOrder",value:e.settings.defaultSortOrder||""},["ASC","DESC"].map(l=>t.createElement(i.Option,{key:l,value:l},l))))))};Vn.defaultProps={modifiedData:{},sortOptions:[]},Vn.propTypes={modifiedData:n().object,onChange:n().func.isRequired,sortOptions:n().array};var Ud=Vn;const zn=q.default.button`
1075
+ display: flex;
1076
+ align-items: center;
1077
+ height: ${({theme:e})=>e.spaces[7]};
1078
+
1079
+ &:last-child {
1080
+ padding: 0 ${({theme:e})=>e.spaces[3]};
1081
+ }
1082
+ `,Ho=(0,q.default)(zn)`
1083
+ padding: 0 ${({theme:e})=>e.spaces[3]};
1084
+ border-right: 1px solid ${({theme:e})=>e.colors.neutral150};
1085
+ cursor: all-scroll;
1086
+
1087
+ svg {
1088
+ width: ${12/16}rem;
1089
+ height: ${12/16}rem;
1090
+ }
1091
+ `,Hd=(0,q.default)(i.Flex)`
1092
+ max-height: ${32/16}rem;
1093
+ cursor: pointer;
1094
+
1095
+ svg {
1096
+ width: ${10/16}rem;
1097
+ height: ${10/16}rem;
1098
+
1099
+ path {
1100
+ fill: ${({theme:e})=>e.colors.neutral600};
1101
+ }
1102
+ }
1103
+
1104
+ &:hover {
1105
+ background-color: ${({theme:e})=>e.colors.primary100};
1106
+ border-color: ${({theme:e})=>e.colors.primary200};
1107
+
1108
+ svg {
1109
+ path {
1110
+ fill: ${({theme:e})=>e.colors.primary600};
1111
+ }
1112
+ }
1113
+
1114
+ ${i.Typography} {
1115
+ color: ${({theme:e})=>e.colors.primary600};
1116
+ }
1117
+
1118
+ ${Ho} {
1119
+ border-right: 1px solid ${({theme:e})=>e.colors.primary200};
1120
+ }
1121
+ }
1122
+ `,Gd=(0,q.default)(i.Box)`
1123
+ &:last-child {
1124
+ padding-right: ${({theme:e})=>e.spaces[3]};
1125
+ }
1126
+ `,Go=({index:e,isDraggingSibling:r,labelField:o,onClickEditField:s,onMoveField:a,onRemoveField:c,name:l,setIsDraggingSibling:d})=>{const{formatMessage:u}=(0,Z.useIntl)(),m=(0,t.useRef)(null),g=(0,t.useRef)(null),[,f]=(0,t.useState)(!1),p=(0,t.useRef)(),y=Yn(o),b=()=>{p.current&&p.current.click()},[,v]=(0,Fe.useDrop)({accept:fe.FIELD,hover(A,T){if(!g.current)return;const k=A.index,L=e;if(k===L)return;const z=g.current.getBoundingClientRect(),_=(z.right-z.left)/2,U=T.getClientOffset().x-z.left;k>L&&U>_||k<L&&U<_||(a(k,L),A.index=L)}}),[{isDragging:I},E,R]=(0,Fe.useDrag)({type:fe.FIELD,item(){return{index:e,labelField:o,name:l}},collect:A=>({isDragging:A.isDragging()}),end(){d(!1)}});(0,t.useEffect)(()=>{R((0,We.rX)(),{captureDraggingState:!1})},[R]),(0,t.useEffect)(()=>{I&&d(!0)},[I,d]),(0,t.useEffect)(()=>{r||f(A=>!A)},[r]);const P={dragRef:E(m),dropRef:v(g)};return t.createElement(Gd,{ref:P?P.dropRef:null},I&&t.createElement(Tt,{transparent:!0,labelField:y}),!I&&r&&t.createElement(Tt,{isSibling:!0,labelField:y}),!I&&!r&&t.createElement(Hd,{borderColor:"neutral150",background:"neutral100",hasRadius:!0,justifyContent:"space-between",onClick:b,isDragging:I},t.createElement(i.Flex,{gap:3},t.createElement(Ho,{as:"span","aria-label":u({id:C("components.DraggableCard.move.field"),defaultMessage:"Move {item}"},{item:o}),onClick:A=>A.stopPropagation(),ref:P.dragRef,type:"button"},t.createElement(S.Drag,null)),t.createElement(i.Typography,{fontWeight:"bold"},y)),t.createElement(i.Flex,{paddingLeft:3},t.createElement(zn,{ref:p,onClick:A=>{A.stopPropagation(),s(l)},"aria-label":u({id:C("components.DraggableCard.edit.field"),defaultMessage:"Edit {item}"},{item:o}),type:"button"},t.createElement(S.Pencil,null)),t.createElement(zn,{onClick:c,"data-testid":`delete-${l}`,"aria-label":u({id:C("components.DraggableCard.delete.field"),defaultMessage:"Delete {item}"},{item:o}),type:"button"},t.createElement(S.Cross,null)))))};Go.propTypes={index:n().number.isRequired,isDraggingSibling:n().bool.isRequired,labelField:n().string.isRequired,name:n().string.isRequired,onClickEditField:n().func.isRequired,onMoveField:n().func.isRequired,onRemoveField:n().func.isRequired,setIsDraggingSibling:n().func.isRequired};var Zd=Go;const Zo=(0,q.default)(i.Box)`
1127
+ flex: ${({size:e})=>e};
1128
+ `,Qd=(0,q.default)(Zo)`
1129
+ overflow-x: scroll;
1130
+ overflow-y: hidden;
1131
+ `,Kd=(0,q.default)(Zo)`
1132
+ max-width: ${32/16}rem;
1133
+ `,Qo=({displayedFields:e,listRemainingFields:r,metadatas:o,onAddField:s,onClickEditField:a,onMoveField:c,onRemoveField:l})=>{const{formatMessage:d}=(0,Z.useIntl)(),[u,m]=(0,t.useState)(!1),[g,f]=(0,t.useState)(null),p=(0,t.useRef)();function y(...v){f("add"),s(...v)}function b(...v){f("remove"),l(...v)}return(0,t.useEffect)(()=>{g==="add"&&p?.current&&(p.current.scrollLeft=p.current.scrollWidth)},[e,g]),t.createElement(t.Fragment,null,t.createElement(i.Box,{paddingBottom:4},t.createElement(i.Typography,{variant:"delta",as:"h2"},d({id:C("containers.SettingPage.view"),defaultMessage:"View"}))),t.createElement(i.Flex,{paddingTop:4,paddingLeft:4,paddingRight:4,borderColor:"neutral300",borderStyle:"dashed",borderWidth:"1px",hasRadius:!0},t.createElement(Qd,{size:"1",paddingBottom:4,ref:p},t.createElement(i.Flex,{gap:3},e.map((v,I)=>t.createElement(Zd,{key:v,index:I,isDraggingSibling:u,onMoveField:c,onClickEditField:a,onRemoveField:E=>b(E,I),name:v,labelField:o[v].list.label||v,setIsDraggingSibling:m})))),t.createElement(Kd,{size:"auto",paddingBottom:4},t.createElement(i.SimpleMenu,{label:d({id:C("components.FieldSelect.label"),defaultMessage:"Add a field"}),as:i.IconButton,icon:t.createElement(S.Plus,null),disabled:r.length<=0,"data-testid":"add-field"},r.map(v=>t.createElement(i.MenuItem,{key:v,onClick:()=>y(v)},o[v].list.label||v))))))};Qo.propTypes={displayedFields:be.PropTypes.array.isRequired,listRemainingFields:be.PropTypes.array.isRequired,metadatas:be.PropTypes.objectOf(be.PropTypes.shape({list:be.PropTypes.shape({label:be.PropTypes.string})})).isRequired,onAddField:be.PropTypes.func.isRequired,onClickEditField:be.PropTypes.func.isRequired,onMoveField:be.PropTypes.func.isRequired,onRemoveField:be.PropTypes.func.isRequired};var Yd=Qo;const Xd=(0,q.default)(i.Flex)`
1134
+ svg {
1135
+ width: ${32/16}rem;
1136
+ height: ${24/16}rem;
1137
+ margin-right: ${({theme:e})=>e.spaces[3]};
1138
+ }
1139
+ `,Ko=({attributes:e,fieldForm:r,fieldToEdit:o,onCloseModal:s,onChangeEditLabel:a,onSubmit:c,type:l})=>{const{formatMessage:d}=(0,Z.useIntl)(),u=e[o].relationType;let m=!["media","relation"].includes(l);return["oneWay","oneToOne","manyToOne"].includes(u)&&(m=!0),t.createElement(i.ModalLayout,{onClose:s,labelledBy:"title"},t.createElement("form",{onSubmit:c},t.createElement(i.ModalHeader,null,t.createElement(Xd,null,t.createElement(Co,{type:l}),t.createElement(i.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},d({id:C("containers.ListSettingsView.modal-form.edit-label"),defaultMessage:"Edit {fieldName}"},{fieldName:Xe()(o)})))),t.createElement(i.ModalBody,null,t.createElement(i.Grid,{gap:4},t.createElement(i.GridItem,{s:12,col:6},t.createElement(i.TextInput,{id:"label-input",label:d({id:C("form.Input.label"),defaultMessage:"Label"}),name:"label",onChange:g=>a(g),value:r.label,hint:d({id:C("form.Input.label.inputDescription"),defaultMessage:"This value overrides the label displayed in the table's head"})})),m&&t.createElement(i.GridItem,{s:12,col:6},t.createElement(i.ToggleInput,{"data-testid":"Enable sort on this field",checked:r.sortable,label:d({id:C("form.Input.sort.field"),defaultMessage:"Enable sort on this field"}),name:"sortable",onChange:g=>a({target:{name:"sortable",value:g.target.checked}}),onLabel:d({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"on"}),offLabel:d({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"off"})})))),t.createElement(i.ModalFooter,{startActions:t.createElement(i.Button,{onClick:s,variant:"tertiary"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:t.createElement(i.Button,{type:"submit"},d({id:"global.finish",defaultMessage:"Finish"}))})))};Ko.propTypes={attributes:n().objectOf(n().shape({relationType:n().string})).isRequired,fieldForm:n().shape({label:n().string,sortable:n().bool}).isRequired,fieldToEdit:n().string.isRequired,onChangeEditLabel:n().func.isRequired,onCloseModal:n().func.isRequired,onSubmit:n().func.isRequired,type:n().string.isRequired};var Jd=Ko,eu=(e,r)=>({...e,initialData:r,modifiedData:r});const _n={fieldForm:{},fieldToEdit:"",initialData:{},modifiedData:{}};var tu=(e=_n,r)=>(0,lt.default)(e,o=>{const s=["modifiedData","layouts","list"];switch(r.type){case"ADD_FIELD":{const a=x()(e,s,[]);K()(o,s,[...a,r.item]);break}case"MOVE_FIELD":{const a=x()(e,s,[]),{originalIndex:c,atIndex:l}=r;K()(o,s,rt(a,c,l));break}case"ON_CHANGE":{K()(o,["modifiedData",...r.keys.split(".")],r.value);break}case"ON_CHANGE_FIELD_METAS":{K()(o,["fieldForm",r.name],r.value);break}case"REMOVE_FIELD":{const a=x()(e,s,[]);K()(o,s,a.filter((c,l)=>r.index!==l));break}case"SET_FIELD_TO_EDIT":{const{fieldToEdit:a}=r;o.fieldToEdit=a,o.fieldForm.label=x()(o,["modifiedData","metadatas",a,"list","label"],""),o.fieldForm.sortable=x()(o,["modifiedData","metadatas",a,"list","sortable"],"");break}case"UNSET_FIELD_TO_EDIT":{o.fieldForm={},o.fieldToEdit="";break}case"SUBMIT_FIELD_FORM":{const a=["modifiedData","metadatas",e.fieldToEdit,"list"];K()(o,[...a,"label"],e.fieldForm.label),K()(o,[...a,"sortable"],e.fieldForm.sortable);break}default:return o}});const nu=["media","richtext","dynamiczone","relation","component","json"],Yo=({layout:e,slug:r})=>{const{formatMessage:o}=(0,Z.useIntl)(),{trackUsage:s}=(0,h.useTracking)(),a=Rr(),c=(0,h.useNotification)(),{refetchData:l}=(0,t.useContext)(xr),[d,u]=(0,t.useState)(!1),m=()=>u(M=>!M),[g,f]=(0,t.useReducer)(tu,_n,()=>eu(_n,e)),{fieldToEdit:p,fieldForm:y,initialData:b,modifiedData:v}=g,I=!pe()(y),{attributes:E}=e,R=v.layouts.list,P=()=>{const{settings:{pageSize:M,defaultSortBy:w,defaultSortOrder:Q},kind:j,uid:O}=b,V=`${w}:${Q}`,H=`${(0,Te.stringify)({page:1,pageSize:M,sort:V},{encode:!1})}${a?`&${a}`:""}`;return`/content-manager/${j}/${O}?${H}`},A=({target:{name:M,value:w}})=>{f({type:"ON_CHANGE",keys:M,value:M==="settings.pageSize"?parseInt(w,10):w})},T=async()=>{const M=Ht()(v,["layouts","settings","metadatas"]);$.mutate(M)},k=M=>{f({type:"ADD_FIELD",item:M})},L=(M,w)=>{M.stopPropagation(),R.length===1?c({type:"info",message:{id:C("notification.info.minimumFields")}}):f({type:"REMOVE_FIELD",index:w})},z=M=>{M.preventDefault(),m(),s("willSaveContentTypeLayout")},_=M=>{f({type:"SET_FIELD_TO_EDIT",fieldToEdit:M})},B=()=>{f({type:"UNSET_FIELD_TO_EDIT"})},U=M=>{M.preventDefault(),f({type:"SUBMIT_FIELD_FORM"})},$=(0,Pe.useMutation)(M=>Wd(M,r),{onSuccess(){s("didEditListSettings"),l()},onError(){c({type:"warning",message:{id:"notification.error"}})}}),{isLoading:G}=$,W=({target:{name:M,value:w}})=>{f({type:"ON_CHANGE_FIELD_METAS",name:M,value:w})},Y=Object.entries(E).reduce((M,w)=>{const[Q,j]=w,O=nr(j),V=R.includes(Q);return O&&!V&&M.push(Q),M},[]).sort(),N=Object.entries(E).reduce((M,w)=>{const[Q,{type:j}]=w;return nu.includes(j)||M.push(Q),M},[]),J=(M,w)=>{f({type:"MOVE_FIELD",originalIndex:M,atIndex:w})};return t.createElement(i.Layout,null,t.createElement(i.Main,{"aria-busy":G},t.createElement("form",{onSubmit:z},t.createElement(i.HeaderLayout,{navigationAction:t.createElement(h.Link,{startIcon:t.createElement(S.ArrowLeft,null),to:P,id:"go-back"},o({id:"global.back",defaultMessage:"Back"})),primaryAction:t.createElement(i.Button,{size:"S",startIcon:t.createElement(S.Check,null),disabled:Qe()(v,b),type:"submit"},o({id:"global.save",defaultMessage:"Save"})),subtitle:o({id:C("components.SettingsViewWrapper.pluginHeader.description.list-settings"),defaultMessage:"Define the settings of the list view."}),title:o({id:C("components.SettingsViewWrapper.pluginHeader.title"),defaultMessage:"Configure the view - {name}"},{name:Xe()(v.info.displayName)})}),t.createElement(i.ContentLayout,null,t.createElement(i.Box,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(Ud,{modifiedData:v,onChange:A,sortOptions:N}),t.createElement(i.Box,{paddingTop:6,paddingBottom:6},t.createElement(i.Divider,null)),t.createElement(Yd,{listRemainingFields:Y,displayedFields:R,onAddField:k,onClickEditField:_,onMoveField:J,onRemoveField:L,metadatas:v.metadatas}))),t.createElement(h.ConfirmDialog,{bodyText:{id:C("popUpWarning.warning.updateAllSettings"),defaultMessage:"This will modify all your settings"},iconRightButton:t.createElement(S.Check,null),isConfirmButtonLoading:G,isOpen:d,onToggleDialog:m,onConfirm:T,variantRightButton:"success-light"})),I&&t.createElement(Jd,{attributes:E,fieldForm:y,fieldToEdit:p,onChangeEditLabel:W,onCloseModal:B,onSubmit:U,type:x()(E,[p,"type"],"text")})))};Yo.propTypes={layout:n().shape({uid:n().string.isRequired,settings:n().shape({bulkable:n().bool,defaultSortBy:n().string,defaultSortOrder:n().string,filterable:n().bool,pageSize:n().number,searchable:n().bool}).isRequired,metadatas:n().object.isRequired,options:n().object.isRequired,attributes:n().objectOf(n().shape({type:n().string})).isRequired}).isRequired,slug:n().string.isRequired};var ru=(0,t.memo)(Yo),ou=()=>t.createElement(i.Box,{padding:8},t.createElement(h.AnErrorOccurred,null));const Xo=$e.Z.contentManager,Jo=({match:{params:{slug:e},url:r}})=>{const{isLoading:o,layout:s,updateLayout:a}=yr(e),{rawContentTypeLayout:c,rawComponentsLayouts:l}=(0,t.useMemo)(()=>{let g={},f={};return s.contentType&&(g=at(s.contentType)),s.components&&(f=Object.keys(s.components).reduce((p,y)=>(p[y]=at(s.components[y]),p),{})),{rawContentTypeLayout:g,rawComponentsLayouts:f}},[s]);if((s?.contentType?.uid??null)!==e||o)return t.createElement(h.LoadingIndicatorPage,null);const u=({location:{state:g},history:{goBack:f},match:{params:{id:p,origin:y}}},b)=>t.createElement(b,{slug:e,layout:s,state:g,goBack:f,id:p,origin:y}),m=[{path:"create/clone/:origin",comp:Et},{path:"create",comp:Et},{path:":id",comp:Et},{path:"",comp:_d}].map(({path:g,comp:f})=>t.createElement(re.Route,{key:g,path:`${r}/${g}`,render:p=>u(p,f)}));return t.createElement(Ks.ErrorBoundary,{FallbackComponent:ou},t.createElement(wr.Provider,{value:s},t.createElement(re.Switch,null,t.createElement(re.Route,{path:`${r}/configurations/list`},t.createElement(h.CheckPagePermissions,{permissions:Xo.collectionTypesConfigurations},t.createElement(ru,{layout:c,slug:e,updateLayout:a}))),t.createElement(re.Route,{path:`${r}/configurations/edit`},t.createElement(h.CheckPagePermissions,{permissions:Xo.collectionTypesConfigurations},t.createElement(Pn,{components:l,isContentTypeView:!0,mainLayout:c,slug:e,updateLayout:a}))),m)))};Jo.propTypes={match:n().shape({url:n().string.isRequired,params:n().shape({slug:n().string.isRequired}).isRequired}).isRequired};var su=(0,t.memo)(Jo),es=D(57678);const au=$e.Z.contentManager,iu=()=>{const[{isLoading:e,data:r},o]=(0,t.useReducer)(es.Z,es.q),s=(0,t.useMemo)(Ft,[]),{schemas:a}=(0,ie.useSelector)(d=>s(d),ie.shallowEqual),{uid:c}=(0,re.useParams)(),{get:l}=(0,h.useFetchClient)();return(0,t.useEffect)(()=>{const u=he.Z.CancelToken.source();return(async g=>{try{o(ht());const{data:{data:f}}=await l(le(`components/${c}/configuration`),{cancelToken:g.token});o(mn(lr(f,a,"component")))}catch(f){if(he.Z.isCancel(f))return;console.error(f)}})(u),()=>{u.cancel("Operation canceled by the user.")}},[c,a,l]),e?t.createElement(h.LoadingIndicatorPage,null):t.createElement(h.CheckPagePermissions,{permissions:au.componentsConfigurations},t.createElement(Pn,{components:r.components,mainLayout:r.component,slug:c}))};var lu=(0,t.memo)(iu),cu=()=>{const{formatMessage:e}=(0,Z.useIntl)();return(0,h.useFocusWhenNavigate)(),t.createElement(i.Main,null,t.createElement(i.HeaderLayout,{title:e({id:C("header.name"),defaultMessage:"Content"})}),t.createElement(i.ContentLayout,null,t.createElement(i.EmptyStateLayout,{action:t.createElement(h.LinkButton,{variant:"secondary",startIcon:t.createElement(S.Plus,null),to:"/plugins/content-type-builder/content-types/create-content-type"},e({id:"app.components.HomePage.create",defaultMessage:"Create your first Content-type"})),content:e({id:"content-manager.pages.NoContentType.text",defaultMessage:"You don't have any content yet, we recommend you to create your first Content-Type."}),hasRadius:!0,icon:t.createElement(S.EmptyDocuments,{width:"10rem"}),shadow:"tableShadow"})))},du=()=>{const{formatMessage:e}=(0,Z.useIntl)();return(0,h.useFocusWhenNavigate)(),t.createElement(i.Main,null,t.createElement(i.HeaderLayout,{title:e({id:C("header.name"),defaultMessage:"Content"})}),t.createElement(i.ContentLayout,null,t.createElement(h.NoPermissions,null)))};const uu=$e.Z.contentManager,ts=({match:{params:{slug:e},url:r}})=>{const{isLoading:o,layout:s,updateLayout:a}=yr(e),{rawContentTypeLayout:c,rawComponentsLayouts:l}=(0,t.useMemo)(()=>{let d={},u={};return s.contentType&&(u=at(s.contentType)),s.components&&(d=Object.keys(s.components).reduce((m,g)=>(m[g]=at(s.components[g]),m),{})),{rawContentTypeLayout:u,rawComponentsLayouts:d}},[s]);return o?t.createElement(h.LoadingIndicatorPage,null):t.createElement(wr.Provider,{value:s},t.createElement(re.Switch,null,t.createElement(re.Route,{path:`${r}/configurations/edit`},t.createElement(h.CheckPagePermissions,{permissions:uu.singleTypesConfigurations},t.createElement(Pn,{components:l,isContentTypeView:!0,mainLayout:c,slug:e,updateLayout:a}))),t.createElement(re.Route,{path:r,render:({location:{state:d},history:{goBack:u}})=>t.createElement(Et,{layout:s,slug:e,isSingleType:!0,state:d,goBack:u})})))};ts.propTypes={match:n().shape({url:n().string.isRequired,params:n().shape({slug:n().string.isRequired}).isRequired}).isRequired};var mu=(0,t.memo)(ts),pu=D(61590),gu=D(43110),fu=D(77013),hu=D(79318),yu=D(66618),bu=D(58469),Eu=D(39935),ns=D.n(Eu),rs=(e,r)=>r?(0,bu.ZP)(e,r.toLowerCase(),{keys:[o=>o.title.toLowerCase()]}):e.sort((o,s)=>{const a=ns()(o.title),c=ns()(s.title);return a<c?-1:a>c?1:0}),Cu=()=>{const[e,r]=(0,t.useState)(""),{formatMessage:o}=(0,Z.useIntl)(),s=(0,t.useMemo)($s,[]),{collectionTypeLinks:a,singleTypeLinks:c}=(0,ie.useSelector)(y=>s(y),ie.shallowEqual),l=y=>y.map(b=>({...b,title:o({id:b.title,defaultMessage:b.title})})),d=l(a),u=l(c),m=[{id:"collectionTypes",title:{id:C("components.LeftMenu.collection-types"),defaultMessage:"Collection Types"},searchable:!0,links:rs(d,e)},{id:"singleTypes",title:{id:C("components.LeftMenu.single-types"),defaultMessage:"Single Types"},searchable:!0,links:rs(u,e)}],g=()=>{r("")},f=({target:{value:y}})=>{r(y)},p=o({id:C("header.name"),defaultMessage:"Content"});return t.createElement(pu.m,{ariaLabel:p},t.createElement(gu.p,{label:p,searchable:!0,value:e,onChange:f,onClear:g,searchLabel:o({id:"content-manager.components.LeftMenu.Search.label",defaultMessage:"Search for a content type"})}),t.createElement(fu.Z,null,m.map(y=>{const b=o({id:y.title.id,defaultMessage:y.title.defaultMessage},y.title.values);return t.createElement(hu.D,{key:y.id,label:b,badgeLabel:y.links.length.toString()},y.links.map(v=>{const I=v.search?`?${v.search}`:"";return t.createElement(yu.E,{as:re.NavLink,key:v.uid,to:`${v.to}${I}`},v.title)}))})))},Wn=D(92886);const Ru=()=>({type:Wn.ZA}),vu=()=>({type:Wn.c2}),Tu=(e,r,o,s)=>({type:Wn.ix,data:{authorizedCtLinks:e,authorizedStLinks:r,components:s,contentTypeSchemas:o}}),os=(e,r,o=[])=>e.filter(s=>s.isDisplayed).map(s=>{const a=[{action:"plugin::content-manager.explorer.create",subject:s.uid},{action:"plugin::content-manager.explorer.read",subject:s.uid}],c=[{action:"plugin::content-manager.explorer.read",subject:s.uid}],l=r==="collectionTypes"?a:c,d=o.find(({uid:m})=>m===s.uid);let u=null;if(d){const m={page:1,pageSize:d.settings.pageSize,sort:`${d.settings.defaultSortBy}:${d.settings.defaultSortOrder}`};u=(0,Te.stringify)(m,{encode:!1})}return{permissions:l,search:u,kind:s.kind,title:s.info.displayName,to:`/content-manager/${s.kind}/${s.uid}`,uid:s.uid,name:s.uid,isDisplayed:s.isDisplayed}});var Mu=(e,r)=>{const o=Object.entries(Gr()(e,"kind")).map(([c,l])=>({name:c,links:l})),[s,a]=Zn()(o,"name");return{collectionTypesSectionLinks:os(s?.links||[],"collectionTypes",r),singleTypesSectionLinks:os(a?.links??[],"singleTypes")}},ss=(e,r)=>r.map(({permissions:o})=>(0,h.hasPermissions)(e,o)),Du=async(e,r,o)=>{const{get:s}=(0,h.getFetchClient)();try{const{data:{data:a}}=await s(le("content-types-settings")),{collectionTypesSectionLinks:c,singleTypesSectionLinks:l}=Mu(e,a),d=ss(r,c),u=await Promise.all(d),m=c.filter((y,b)=>u[b]),g=ss(r,l),f=await Promise.all(g),p=l.filter((y,b)=>f[b]);return{authorizedCtLinks:m,authorizedStLinks:p}}catch(a){return console.error(a),o({type:"warning",message:{id:"notification.error"}}),{authorizedCtLinks:[],authorizedStLinks:[],contentTypes:[]}}},ku=()=>{const e=(0,ie.useDispatch)(),r=(0,h.useNotification)(),o=(0,ie.useSelector)(He()),s=(0,t.useRef)(),{allPermissions:a}=(0,h.useRBACProvider)(),{runHookWaterfall:c}=(0,h.useStrapiApp)(),d=he.Z.CancelToken.source(),{notifyStatus:u}=(0,i.useNotifyAT)(),{formatMessage:m}=(0,Z.useIntl)(),{get:g}=(0,h.useFetchClient)(),f=async()=>{e(Ru());try{const[{data:{data:p}},{data:{data:y}}]=await Promise.all(["components","content-types"].map(P=>g(le(P),{cancelToken:d.token})));u(m({id:C("App.schemas.data-loaded"),defaultMessage:"The schemas have been successfully loaded."}));const{authorizedCtLinks:b,authorizedStLinks:v}=await Du(y,a,r),{ctLinks:I}=c(ct.LK,{ctLinks:b,models:y}),{stLinks:E}=c(ct.dV,{stLinks:v,models:y}),R=Tu(I,E,y,p);e(R)}catch(p){if(he.Z.isCancel(p))return;console.error(p),r({type:"warning",message:{id:"notification.error"}})}};return s.current=f,(0,t.useEffect)(()=>(s.current(),()=>{d.cancel("Operation canceled by the user."),e(vu())}),[e,r]),{...o,refetchData:s.current}};const Iu=$e.Z.contentManager,as=()=>{const e=(0,re.useRouteMatch)("/content-manager/:kind/:uid"),{status:r,collectionTypeLinks:o,singleTypeLinks:s,models:a,refetchData:c}=ku(),l=Zn()([...o,...s],p=>p.title.toLowerCase()),{pathname:d}=(0,re.useLocation)(),{formatMessage:u}=(0,Z.useIntl)(),{startSection:m}=(0,h.useGuidedTour)(),g=(0,t.useRef)(m);if((0,t.useEffect)(()=>{g.current&&g.current("contentManager")},[]),r==="loading")return t.createElement(i.Main,{"aria-busy":"true"},t.createElement(i.HeaderLayout,{title:u({id:C("header.name"),defaultMessage:"Content"})}),t.createElement(h.LoadingIndicatorPage,null));const f=a.filter(({isDisplayed:p})=>p);return l.length===0&&f.length>0&&d!=="/content-manager/403"?t.createElement(re.Redirect,{to:"/content-manager/403"}):f.length===0&&d!=="/content-manager/no-content-types"?t.createElement(re.Redirect,{to:"/content-manager/no-content-types"}):!e&&l.length>0?t.createElement(re.Redirect,{to:`${l[0].to}${l[0].search?`?${l[0].search}`:""}`}):t.createElement(i.Layout,{sideNav:t.createElement(Cu,null)},t.createElement(Qs,null),t.createElement(xr.Provider,{value:{refetchData:c}},t.createElement(re.Switch,null,t.createElement(re.Route,{path:"/content-manager/components/:uid/configurations/edit"},t.createElement(h.CheckPagePermissions,{permissions:Iu.componentsConfigurations},t.createElement(lu,null))),t.createElement(re.Route,{path:"/content-manager/collectionType/:slug",component:su}),t.createElement(re.Route,{path:"/content-manager/singleType/:slug",component:mu}),t.createElement(re.Route,{path:"/content-manager/403"},t.createElement(du,null)),t.createElement(re.Route,{path:"/content-manager/no-content-types"},t.createElement(cu,null)),t.createElement(re.Route,{path:"",component:h.NotFound}))))};function xu(){const{formatMessage:e}=(0,Z.useIntl)();return t.createElement(t.Fragment,null,t.createElement(is.Helmet,{title:e({id:C("plugin.name"),defaultMessage:"Content Manager"})}),t.createElement(as,null))}},57544:function(){},59599:function(){},42310:function(){},33842:function(){},85695:function(){}}]);