@strapi/content-manager 0.0.0-experimental.e60ec1829240dae21c1e1d29076681c322288813 → 0.0.0-experimental.e81b49f196c3dd00856818d61a256a3ff8ec2011

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 (1482) hide show
  1. package/LICENSE +18 -3
  2. package/dist/admin/components/ComponentIcon.js +176 -0
  3. package/dist/admin/components/ComponentIcon.js.map +1 -0
  4. package/dist/admin/components/ComponentIcon.mjs +153 -0
  5. package/dist/admin/components/ComponentIcon.mjs.map +1 -0
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.js +259 -0
  7. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -0
  8. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +238 -0
  9. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -0
  10. package/dist/admin/components/ConfigurationForm/Fields.js +630 -0
  11. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -0
  12. package/dist/admin/components/ConfigurationForm/Fields.mjs +607 -0
  13. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -0
  14. package/dist/admin/components/ConfigurationForm/Form.js +253 -0
  15. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -0
  16. package/dist/admin/components/ConfigurationForm/Form.mjs +232 -0
  17. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -0
  18. package/dist/admin/components/DragLayer.js +50 -0
  19. package/dist/admin/components/DragLayer.js.map +1 -0
  20. package/dist/admin/components/DragLayer.mjs +48 -0
  21. package/dist/admin/components/DragLayer.mjs.map +1 -0
  22. package/dist/admin/components/DragPreviews/CardDragPreview.js +82 -0
  23. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -0
  24. package/dist/admin/components/DragPreviews/CardDragPreview.mjs +80 -0
  25. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -0
  26. package/dist/admin/components/DragPreviews/ComponentDragPreview.js +83 -0
  27. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -0
  28. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +81 -0
  29. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -0
  30. package/dist/admin/components/DragPreviews/RelationDragPreview.js +73 -0
  31. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -0
  32. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +71 -0
  33. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -0
  34. package/dist/admin/components/FieldTypeIcon.js +58 -0
  35. package/dist/admin/components/FieldTypeIcon.js.map +1 -0
  36. package/dist/admin/components/FieldTypeIcon.mjs +56 -0
  37. package/dist/admin/components/FieldTypeIcon.mjs.map +1 -0
  38. package/dist/admin/components/InjectionZone.js +44 -0
  39. package/dist/admin/components/InjectionZone.js.map +1 -0
  40. package/dist/admin/components/InjectionZone.mjs +40 -0
  41. package/dist/admin/components/InjectionZone.mjs.map +1 -0
  42. package/dist/admin/components/LeftMenu.js +174 -0
  43. package/dist/admin/components/LeftMenu.js.map +1 -0
  44. package/dist/admin/components/LeftMenu.mjs +153 -0
  45. package/dist/admin/components/LeftMenu.mjs.map +1 -0
  46. package/dist/admin/components/RelativeTime.js +76 -0
  47. package/dist/admin/components/RelativeTime.js.map +1 -0
  48. package/dist/admin/components/RelativeTime.mjs +55 -0
  49. package/dist/admin/components/RelativeTime.mjs.map +1 -0
  50. package/dist/admin/components/Widgets.js +421 -0
  51. package/dist/admin/components/Widgets.js.map +1 -0
  52. package/dist/admin/components/Widgets.mjs +398 -0
  53. package/dist/admin/components/Widgets.mjs.map +1 -0
  54. package/dist/admin/constants/attributes.js +48 -0
  55. package/dist/admin/constants/attributes.js.map +1 -0
  56. package/dist/admin/constants/attributes.mjs +38 -0
  57. package/dist/admin/constants/attributes.mjs.map +1 -0
  58. package/dist/admin/constants/collections.js +8 -0
  59. package/dist/admin/constants/collections.js.map +1 -0
  60. package/dist/admin/constants/collections.mjs +5 -0
  61. package/dist/admin/constants/collections.mjs.map +1 -0
  62. package/dist/admin/constants/dragAndDrop.js +13 -0
  63. package/dist/admin/constants/dragAndDrop.js.map +1 -0
  64. package/dist/admin/constants/dragAndDrop.mjs +11 -0
  65. package/dist/admin/constants/dragAndDrop.mjs.map +1 -0
  66. package/dist/admin/constants/hooks.js +27 -0
  67. package/dist/admin/constants/hooks.js.map +1 -0
  68. package/dist/admin/constants/hooks.mjs +25 -0
  69. package/dist/admin/constants/hooks.mjs.map +1 -0
  70. package/dist/admin/constants/plugin.js +14 -0
  71. package/dist/admin/constants/plugin.js.map +1 -0
  72. package/dist/admin/constants/plugin.mjs +11 -0
  73. package/dist/admin/constants/plugin.mjs.map +1 -0
  74. package/dist/admin/content-manager.js +133 -0
  75. package/dist/admin/content-manager.js.map +1 -0
  76. package/dist/admin/content-manager.mjs +131 -0
  77. package/dist/admin/content-manager.mjs.map +1 -0
  78. package/dist/admin/features/DocumentRBAC.js +126 -0
  79. package/dist/admin/features/DocumentRBAC.js.map +1 -0
  80. package/dist/admin/features/DocumentRBAC.mjs +104 -0
  81. package/dist/admin/features/DocumentRBAC.mjs.map +1 -0
  82. package/dist/admin/history/components/HistoryAction.js +61 -0
  83. package/dist/admin/history/components/HistoryAction.js.map +1 -0
  84. package/dist/admin/history/components/HistoryAction.mjs +59 -0
  85. package/dist/admin/history/components/HistoryAction.mjs.map +1 -0
  86. package/dist/admin/history/components/VersionContent.js +285 -0
  87. package/dist/admin/history/components/VersionContent.js.map +1 -0
  88. package/dist/admin/history/components/VersionContent.mjs +263 -0
  89. package/dist/admin/history/components/VersionContent.mjs.map +1 -0
  90. package/dist/admin/history/components/VersionHeader.js +216 -0
  91. package/dist/admin/history/components/VersionHeader.js.map +1 -0
  92. package/dist/admin/history/components/VersionHeader.mjs +195 -0
  93. package/dist/admin/history/components/VersionHeader.mjs.map +1 -0
  94. package/dist/admin/history/components/VersionInputRenderer.js +490 -0
  95. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -0
  96. package/dist/admin/history/components/VersionInputRenderer.mjs +469 -0
  97. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -0
  98. package/dist/admin/history/components/VersionsList.js +210 -0
  99. package/dist/admin/history/components/VersionsList.js.map +1 -0
  100. package/dist/admin/history/components/VersionsList.mjs +208 -0
  101. package/dist/admin/history/components/VersionsList.mjs.map +1 -0
  102. package/dist/admin/history/index.js +21 -0
  103. package/dist/admin/history/index.js.map +1 -0
  104. package/dist/admin/history/index.mjs +19 -0
  105. package/dist/admin/history/index.mjs.map +1 -0
  106. package/dist/admin/history/pages/History.js +220 -0
  107. package/dist/admin/history/pages/History.js.map +1 -0
  108. package/dist/admin/history/pages/History.mjs +197 -0
  109. package/dist/admin/history/pages/History.mjs.map +1 -0
  110. package/dist/admin/history/routes.js +41 -0
  111. package/dist/admin/history/routes.js.map +1 -0
  112. package/dist/admin/history/routes.mjs +20 -0
  113. package/dist/admin/history/routes.mjs.map +1 -0
  114. package/dist/admin/history/services/historyVersion.js +46 -0
  115. package/dist/admin/history/services/historyVersion.js.map +1 -0
  116. package/dist/admin/history/services/historyVersion.mjs +43 -0
  117. package/dist/admin/history/services/historyVersion.mjs.map +1 -0
  118. package/dist/admin/hooks/useContentManagerInitData.js +166 -0
  119. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -0
  120. package/dist/admin/hooks/useContentManagerInitData.mjs +164 -0
  121. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -0
  122. package/dist/admin/hooks/useContentTypeSchema.js +115 -0
  123. package/dist/admin/hooks/useContentTypeSchema.js.map +1 -0
  124. package/dist/admin/hooks/useContentTypeSchema.mjs +93 -0
  125. package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -0
  126. package/dist/admin/hooks/useDebounce.js +22 -0
  127. package/dist/admin/hooks/useDebounce.js.map +1 -0
  128. package/dist/admin/hooks/useDebounce.mjs +20 -0
  129. package/dist/admin/hooks/useDebounce.mjs.map +1 -0
  130. package/dist/admin/hooks/useDocument.js +244 -0
  131. package/dist/admin/hooks/useDocument.js.map +1 -0
  132. package/dist/admin/hooks/useDocument.mjs +221 -0
  133. package/dist/admin/hooks/useDocument.mjs.map +1 -0
  134. package/dist/admin/hooks/useDocumentActions.js +608 -0
  135. package/dist/admin/hooks/useDocumentActions.js.map +1 -0
  136. package/dist/admin/hooks/useDocumentActions.mjs +587 -0
  137. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -0
  138. package/dist/admin/hooks/useDocumentContext.js +57 -0
  139. package/dist/admin/hooks/useDocumentContext.js.map +1 -0
  140. package/dist/admin/hooks/useDocumentContext.mjs +36 -0
  141. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
  142. package/dist/admin/hooks/useDocumentLayout.js +311 -0
  143. package/dist/admin/hooks/useDocumentLayout.js.map +1 -0
  144. package/dist/admin/hooks/useDocumentLayout.mjs +286 -0
  145. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -0
  146. package/dist/admin/hooks/useDragAndDrop.js +193 -0
  147. package/dist/admin/hooks/useDragAndDrop.js.map +1 -0
  148. package/dist/admin/hooks/useDragAndDrop.mjs +170 -0
  149. package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -0
  150. package/dist/admin/hooks/useKeyboardDragAndDrop.js +94 -0
  151. package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -0
  152. package/dist/admin/hooks/useKeyboardDragAndDrop.mjs +73 -0
  153. package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  154. package/dist/admin/hooks/useLazyComponents.js +61 -0
  155. package/dist/admin/hooks/useLazyComponents.js.map +1 -0
  156. package/dist/admin/hooks/useLazyComponents.mjs +59 -0
  157. package/dist/admin/hooks/useLazyComponents.mjs.map +1 -0
  158. package/dist/admin/hooks/useOnce.js +28 -0
  159. package/dist/admin/hooks/useOnce.js.map +1 -0
  160. package/dist/admin/hooks/useOnce.mjs +7 -0
  161. package/dist/admin/hooks/useOnce.mjs.map +1 -0
  162. package/dist/admin/hooks/usePrev.js +16 -0
  163. package/dist/admin/hooks/usePrev.js.map +1 -0
  164. package/dist/admin/hooks/usePrev.mjs +14 -0
  165. package/dist/admin/hooks/usePrev.mjs.map +1 -0
  166. package/dist/admin/index.js +202 -10
  167. package/dist/admin/index.js.map +1 -1
  168. package/dist/admin/index.mjs +188 -9
  169. package/dist/admin/index.mjs.map +1 -1
  170. package/dist/admin/layout.js +116 -0
  171. package/dist/admin/layout.js.map +1 -0
  172. package/dist/admin/layout.mjs +114 -0
  173. package/dist/admin/layout.mjs.map +1 -0
  174. package/dist/admin/modules/app.js +33 -0
  175. package/dist/admin/modules/app.js.map +1 -0
  176. package/dist/admin/modules/app.mjs +30 -0
  177. package/dist/admin/modules/app.mjs.map +1 -0
  178. package/dist/admin/modules/hooks.js +10 -0
  179. package/dist/admin/modules/hooks.js.map +1 -0
  180. package/dist/admin/modules/hooks.mjs +7 -0
  181. package/dist/admin/modules/hooks.mjs.map +1 -0
  182. package/dist/admin/modules/reducers.js +11 -0
  183. package/dist/admin/modules/reducers.js.map +1 -0
  184. package/dist/admin/modules/reducers.mjs +9 -0
  185. package/dist/admin/modules/reducers.mjs.map +1 -0
  186. package/dist/admin/pages/ComponentConfigurationPage.js +248 -0
  187. package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -0
  188. package/dist/admin/pages/ComponentConfigurationPage.mjs +226 -0
  189. package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -0
  190. package/dist/admin/pages/EditConfigurationPage.js +164 -0
  191. package/dist/admin/pages/EditConfigurationPage.js.map +1 -0
  192. package/dist/admin/pages/EditConfigurationPage.mjs +142 -0
  193. package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -0
  194. package/dist/admin/pages/EditView/EditViewPage.js +252 -0
  195. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -0
  196. package/dist/admin/pages/EditView/EditViewPage.mjs +248 -0
  197. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -0
  198. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  199. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  200. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  201. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  202. package/dist/admin/pages/EditView/components/DocumentActions.js +1170 -0
  203. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -0
  204. package/dist/admin/pages/EditView/components/DocumentActions.mjs +1146 -0
  205. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -0
  206. package/dist/admin/pages/EditView/components/DocumentStatus.js +34 -0
  207. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -0
  208. package/dist/admin/pages/EditView/components/DocumentStatus.mjs +32 -0
  209. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -0
  210. package/dist/admin/pages/EditView/components/EditorToolbarObserver.js +120 -0
  211. package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -0
  212. package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs +99 -0
  213. package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -0
  214. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js +224 -0
  215. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -0
  216. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +201 -0
  217. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -0
  218. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js +165 -0
  219. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -0
  220. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +163 -0
  221. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -0
  222. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js +230 -0
  223. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -0
  224. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +209 -0
  225. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -0
  226. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +232 -0
  227. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -0
  228. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +211 -0
  229. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -0
  230. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +360 -0
  231. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -0
  232. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +358 -0
  233. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -0
  234. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js +95 -0
  235. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -0
  236. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs +93 -0
  237. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -0
  238. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js +49 -0
  239. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -0
  240. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs +47 -0
  241. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -0
  242. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +529 -0
  243. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -0
  244. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +508 -0
  245. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -0
  246. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +257 -0
  247. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -0
  248. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +233 -0
  249. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -0
  250. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +64 -0
  251. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -0
  252. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs +43 -0
  253. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -0
  254. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +621 -0
  255. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -0
  256. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +598 -0
  257. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -0
  258. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +89 -0
  259. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -0
  260. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +87 -0
  261. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -0
  262. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js +134 -0
  263. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -0
  264. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +132 -0
  265. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -0
  266. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.js +17 -0
  267. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.js.map +1 -0
  268. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.mjs +15 -0
  269. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.mjs.map +1 -0
  270. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.js +75 -0
  271. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.js.map +1 -0
  272. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.mjs +73 -0
  273. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.mjs.map +1 -0
  274. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js +32 -0
  275. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -0
  276. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs +30 -0
  277. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -0
  278. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js +223 -0
  279. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -0
  280. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs +221 -0
  281. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -0
  282. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js +48 -0
  283. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -0
  284. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs +45 -0
  285. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -0
  286. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js +64 -0
  287. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -0
  288. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs +62 -0
  289. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -0
  290. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +84 -0
  291. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -0
  292. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +80 -0
  293. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -0
  294. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js +18 -0
  295. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -0
  296. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs +13 -0
  297. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -0
  298. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js +59 -0
  299. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -0
  300. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs +57 -0
  301. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -0
  302. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +106 -0
  303. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -0
  304. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +85 -0
  305. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -0
  306. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +81 -0
  307. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -0
  308. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +79 -0
  309. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -0
  310. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +427 -0
  311. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -0
  312. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +406 -0
  313. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -0
  314. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js +21 -0
  315. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -0
  316. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs +18 -0
  317. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -0
  318. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js +58 -0
  319. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -0
  320. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs +56 -0
  321. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -0
  322. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +103 -0
  323. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -0
  324. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +101 -0
  325. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -0
  326. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +56 -0
  327. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -0
  328. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +54 -0
  329. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -0
  330. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +339 -0
  331. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -0
  332. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +318 -0
  333. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -0
  334. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js +73 -0
  335. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -0
  336. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs +71 -0
  337. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -0
  338. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +252 -0
  339. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -0
  340. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +230 -0
  341. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -0
  342. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js +38 -0
  343. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -0
  344. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs +36 -0
  345. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -0
  346. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +622 -0
  347. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -0
  348. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +598 -0
  349. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -0
  350. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +977 -0
  351. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -0
  352. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +953 -0
  353. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -0
  354. package/dist/admin/pages/EditView/components/FormInputs/UID.js +296 -0
  355. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -0
  356. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +275 -0
  357. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -0
  358. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +463 -0
  359. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -0
  360. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +442 -0
  361. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -0
  362. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +114 -0
  363. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -0
  364. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +111 -0
  365. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -0
  366. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js +119 -0
  367. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -0
  368. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +98 -0
  369. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -0
  370. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js +209 -0
  371. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -0
  372. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs +188 -0
  373. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -0
  374. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js +39 -0
  375. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -0
  376. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs +37 -0
  377. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -0
  378. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +496 -0
  379. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -0
  380. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +494 -0
  381. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -0
  382. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js +42 -0
  383. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -0
  384. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs +40 -0
  385. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -0
  386. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js +84 -0
  387. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -0
  388. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs +82 -0
  389. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -0
  390. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js +45 -0
  391. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -0
  392. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs +43 -0
  393. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -0
  394. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +364 -0
  395. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -0
  396. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +355 -0
  397. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -0
  398. package/dist/admin/pages/EditView/components/FormLayout.js +126 -0
  399. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -0
  400. package/dist/admin/pages/EditView/components/FormLayout.mjs +121 -0
  401. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -0
  402. package/dist/admin/pages/EditView/components/Header.js +472 -0
  403. package/dist/admin/pages/EditView/components/Header.js.map +1 -0
  404. package/dist/admin/pages/EditView/components/Header.mjs +450 -0
  405. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -0
  406. package/dist/admin/pages/EditView/components/InputRenderer.js +262 -0
  407. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -0
  408. package/dist/admin/pages/EditView/components/InputRenderer.mjs +240 -0
  409. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -0
  410. package/dist/admin/pages/EditView/components/Panels.js +141 -0
  411. package/dist/admin/pages/EditView/components/Panels.js.map +1 -0
  412. package/dist/admin/pages/EditView/components/Panels.mjs +119 -0
  413. package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -0
  414. package/dist/admin/pages/EditView/utils/data.js +263 -0
  415. package/dist/admin/pages/EditView/utils/data.js.map +1 -0
  416. package/dist/admin/pages/EditView/utils/data.mjs +256 -0
  417. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -0
  418. package/dist/admin/pages/EditView/utils/forms.js +32 -0
  419. package/dist/admin/pages/EditView/utils/forms.js.map +1 -0
  420. package/dist/admin/pages/EditView/utils/forms.mjs +30 -0
  421. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -0
  422. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +178 -0
  423. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -0
  424. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +156 -0
  425. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -0
  426. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +200 -0
  427. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -0
  428. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +179 -0
  429. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -0
  430. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +158 -0
  431. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -0
  432. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +137 -0
  433. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -0
  434. package/dist/admin/pages/ListConfiguration/components/Header.js +45 -0
  435. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -0
  436. package/dist/admin/pages/ListConfiguration/components/Header.mjs +43 -0
  437. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -0
  438. package/dist/admin/pages/ListConfiguration/components/Settings.js +201 -0
  439. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -0
  440. package/dist/admin/pages/ListConfiguration/components/Settings.mjs +180 -0
  441. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -0
  442. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js +171 -0
  443. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -0
  444. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs +150 -0
  445. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -0
  446. package/dist/admin/pages/ListView/ListViewPage.js +528 -0
  447. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -0
  448. package/dist/admin/pages/ListView/ListViewPage.mjs +506 -0
  449. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -0
  450. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js +88 -0
  451. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -0
  452. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs +86 -0
  453. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -0
  454. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +233 -0
  455. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -0
  456. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +210 -0
  457. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -0
  458. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +172 -0
  459. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -0
  460. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +150 -0
  461. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -0
  462. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +578 -0
  463. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -0
  464. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +556 -0
  465. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -0
  466. package/dist/admin/pages/ListView/components/Filters.js +246 -0
  467. package/dist/admin/pages/ListView/components/Filters.js.map +1 -0
  468. package/dist/admin/pages/ListView/components/Filters.mjs +225 -0
  469. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -0
  470. package/dist/admin/pages/ListView/components/TableActions.js +227 -0
  471. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -0
  472. package/dist/admin/pages/ListView/components/TableActions.mjs +205 -0
  473. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -0
  474. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +130 -0
  475. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -0
  476. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +128 -0
  477. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -0
  478. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +53 -0
  479. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -0
  480. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +51 -0
  481. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -0
  482. package/dist/admin/pages/ListView/components/TableCells/Components.js +65 -0
  483. package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -0
  484. package/dist/admin/pages/ListView/components/TableCells/Components.mjs +62 -0
  485. package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -0
  486. package/dist/admin/pages/ListView/components/TableCells/Media.js +76 -0
  487. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -0
  488. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +73 -0
  489. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -0
  490. package/dist/admin/pages/ListView/components/TableCells/Relations.js +128 -0
  491. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -0
  492. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +106 -0
  493. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -0
  494. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +154 -0
  495. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -0
  496. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +152 -0
  497. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -0
  498. package/dist/admin/pages/NoContentTypePage.js +50 -0
  499. package/dist/admin/pages/NoContentTypePage.js.map +1 -0
  500. package/dist/admin/pages/NoContentTypePage.mjs +48 -0
  501. package/dist/admin/pages/NoContentTypePage.mjs.map +1 -0
  502. package/dist/admin/pages/NoPermissionsPage.js +26 -0
  503. package/dist/admin/pages/NoPermissionsPage.js.map +1 -0
  504. package/dist/admin/pages/NoPermissionsPage.mjs +24 -0
  505. package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -0
  506. package/dist/admin/preview/components/InputPopover.js +189 -0
  507. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  508. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  509. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  510. package/dist/admin/preview/components/PreviewHeader.js +260 -0
  511. package/dist/admin/preview/components/PreviewHeader.js.map +1 -0
  512. package/dist/admin/preview/components/PreviewHeader.mjs +258 -0
  513. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -0
  514. package/dist/admin/preview/components/PreviewSidePanel.js +118 -0
  515. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -0
  516. package/dist/admin/preview/components/PreviewSidePanel.mjs +116 -0
  517. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -0
  518. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  519. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  520. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  521. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  522. package/dist/admin/preview/index.js +15 -0
  523. package/dist/admin/preview/index.js.map +1 -0
  524. package/dist/admin/preview/index.mjs +13 -0
  525. package/dist/admin/preview/index.mjs.map +1 -0
  526. package/dist/admin/preview/pages/Preview.js +390 -0
  527. package/dist/admin/preview/pages/Preview.js.map +1 -0
  528. package/dist/admin/preview/pages/Preview.mjs +368 -0
  529. package/dist/admin/preview/pages/Preview.mjs.map +1 -0
  530. package/dist/admin/preview/routes.js +39 -0
  531. package/dist/admin/preview/routes.js.map +1 -0
  532. package/dist/admin/preview/routes.mjs +18 -0
  533. package/dist/admin/preview/routes.mjs.map +1 -0
  534. package/dist/admin/preview/services/preview.js +23 -0
  535. package/dist/admin/preview/services/preview.js.map +1 -0
  536. package/dist/admin/preview/services/preview.mjs +21 -0
  537. package/dist/admin/preview/services/preview.mjs.map +1 -0
  538. package/dist/admin/preview/utils/constants.js +56 -0
  539. package/dist/admin/preview/utils/constants.js.map +1 -0
  540. package/dist/admin/preview/utils/constants.mjs +52 -0
  541. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  542. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  543. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  544. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  545. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  546. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  547. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  548. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  549. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  550. package/dist/admin/preview/utils/previewScript.js +534 -0
  551. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  552. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  553. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  554. package/dist/admin/router.js +86 -0
  555. package/dist/admin/router.js.map +1 -0
  556. package/dist/admin/router.mjs +82 -0
  557. package/dist/admin/router.mjs.map +1 -0
  558. package/dist/admin/services/api.js +23 -0
  559. package/dist/admin/services/api.js.map +1 -0
  560. package/dist/admin/services/api.mjs +21 -0
  561. package/dist/admin/services/api.mjs.map +1 -0
  562. package/dist/admin/services/components.js +42 -0
  563. package/dist/admin/services/components.js.map +1 -0
  564. package/dist/admin/services/components.mjs +39 -0
  565. package/dist/admin/services/components.mjs.map +1 -0
  566. package/dist/admin/services/contentTypes.js +63 -0
  567. package/dist/admin/services/contentTypes.js.map +1 -0
  568. package/dist/admin/services/contentTypes.mjs +59 -0
  569. package/dist/admin/services/contentTypes.mjs.map +1 -0
  570. package/dist/admin/services/documents.js +416 -0
  571. package/dist/admin/services/documents.js.map +1 -0
  572. package/dist/admin/services/documents.mjs +399 -0
  573. package/dist/admin/services/documents.mjs.map +1 -0
  574. package/dist/admin/services/homepage.js +30 -0
  575. package/dist/admin/services/homepage.js.map +1 -0
  576. package/dist/admin/services/homepage.mjs +28 -0
  577. package/dist/admin/services/homepage.mjs.map +1 -0
  578. package/dist/admin/services/init.js +19 -0
  579. package/dist/admin/services/init.js.map +1 -0
  580. package/dist/admin/services/init.mjs +17 -0
  581. package/dist/admin/services/init.mjs.map +1 -0
  582. package/dist/admin/services/relations.js +144 -0
  583. package/dist/admin/services/relations.js.map +1 -0
  584. package/dist/admin/services/relations.mjs +141 -0
  585. package/dist/admin/services/relations.mjs.map +1 -0
  586. package/dist/admin/services/uid.js +54 -0
  587. package/dist/admin/services/uid.js.map +1 -0
  588. package/dist/admin/services/uid.mjs +50 -0
  589. package/dist/admin/services/uid.mjs.map +1 -0
  590. package/dist/admin/src/components/ComponentIcon.d.ts +6 -3
  591. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  592. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  593. package/dist/admin/src/components/Widgets.d.ts +4 -0
  594. package/dist/admin/src/content-manager.d.ts +9 -5
  595. package/dist/admin/src/exports.d.ts +4 -1
  596. package/dist/admin/src/features/DocumentRBAC.d.ts +4 -3
  597. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  598. package/dist/admin/src/history/index.d.ts +3 -0
  599. package/dist/admin/src/history/pages/History.d.ts +1 -1
  600. package/dist/admin/src/history/services/historyVersion.d.ts +2 -2
  601. package/dist/admin/src/hooks/useDocument.d.ts +56 -9
  602. package/dist/admin/src/hooks/useDocumentActions.d.ts +27 -4
  603. package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
  604. package/dist/admin/src/hooks/useDocumentLayout.d.ts +2 -2
  605. package/dist/admin/src/hooks/useDragAndDrop.d.ts +4 -4
  606. package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +1 -1
  607. package/dist/admin/src/index.d.ts +2 -0
  608. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  609. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  610. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +14 -6
  611. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
  612. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  613. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +55 -0
  614. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +3 -3
  615. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  616. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +5 -0
  617. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +2 -2
  618. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -1
  619. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +3 -5
  620. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  621. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +5 -2
  622. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +74 -0
  623. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +45 -0
  624. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +3 -2
  625. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +3 -49
  626. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +2 -2
  627. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
  628. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  629. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +16 -53
  630. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +33 -1
  631. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  632. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +8 -13
  633. package/dist/admin/src/pages/EditView/utils/data.d.ts +20 -1
  634. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  635. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  636. package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +9 -26
  637. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  638. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  639. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  640. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  641. package/dist/admin/src/preview/index.d.ts +3 -0
  642. package/dist/admin/src/preview/pages/Preview.d.ts +26 -0
  643. package/dist/admin/src/preview/routes.d.ts +3 -0
  644. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  645. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  646. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  647. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  648. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  649. package/dist/admin/src/router.d.ts +1 -1
  650. package/dist/admin/src/services/api.d.ts +2 -3
  651. package/dist/admin/src/services/components.d.ts +2 -2
  652. package/dist/admin/src/services/contentTypes.d.ts +5 -5
  653. package/dist/admin/src/services/documents.d.ts +38 -21
  654. package/dist/admin/src/services/homepage.d.ts +5 -0
  655. package/dist/admin/src/services/init.d.ts +2 -2
  656. package/dist/admin/src/services/relations.d.ts +3 -3
  657. package/dist/admin/src/services/uid.d.ts +3 -3
  658. package/dist/admin/src/utils/api.d.ts +5 -19
  659. package/dist/admin/src/utils/validation.d.ts +6 -7
  660. package/dist/admin/translations/ar.json.js +229 -0
  661. package/dist/admin/translations/ar.json.js.map +1 -0
  662. package/dist/admin/translations/ar.json.mjs +222 -0
  663. package/dist/admin/translations/ar.json.mjs.map +1 -0
  664. package/dist/admin/translations/ca.json.js +204 -0
  665. package/dist/admin/translations/ca.json.js.map +1 -0
  666. package/dist/admin/translations/ca.json.mjs +197 -0
  667. package/dist/admin/translations/ca.json.mjs.map +1 -0
  668. package/dist/admin/translations/cs.json.js +128 -0
  669. package/dist/admin/translations/cs.json.js.map +1 -0
  670. package/dist/admin/translations/cs.json.mjs +122 -0
  671. package/dist/admin/translations/cs.json.mjs.map +1 -0
  672. package/dist/admin/translations/de.json.js +202 -0
  673. package/dist/admin/translations/de.json.js.map +1 -0
  674. package/dist/admin/translations/de.json.mjs +195 -0
  675. package/dist/admin/translations/de.json.mjs.map +1 -0
  676. package/dist/admin/translations/en.json.js +334 -0
  677. package/dist/admin/translations/en.json.js.map +1 -0
  678. package/dist/admin/translations/en.json.mjs +327 -0
  679. package/dist/admin/translations/en.json.mjs.map +1 -0
  680. package/dist/admin/translations/es.json.js +203 -0
  681. package/dist/admin/translations/es.json.js.map +1 -0
  682. package/dist/admin/translations/es.json.mjs +196 -0
  683. package/dist/admin/translations/es.json.mjs.map +1 -0
  684. package/dist/admin/translations/eu.json.js +205 -0
  685. package/dist/admin/translations/eu.json.js.map +1 -0
  686. package/dist/admin/translations/eu.json.mjs +198 -0
  687. package/dist/admin/translations/eu.json.mjs.map +1 -0
  688. package/dist/admin/translations/fr.json.js +231 -0
  689. package/dist/admin/translations/fr.json.js.map +1 -0
  690. package/dist/admin/translations/fr.json.mjs +224 -0
  691. package/dist/admin/translations/fr.json.mjs.map +1 -0
  692. package/dist/admin/translations/gu.json.js +203 -0
  693. package/dist/admin/translations/gu.json.js.map +1 -0
  694. package/dist/admin/translations/gu.json.mjs +196 -0
  695. package/dist/admin/translations/gu.json.mjs.map +1 -0
  696. package/dist/admin/translations/hi.json.js +203 -0
  697. package/dist/admin/translations/hi.json.js.map +1 -0
  698. package/dist/admin/translations/hi.json.mjs +196 -0
  699. package/dist/admin/translations/hi.json.mjs.map +1 -0
  700. package/dist/admin/translations/hu.json.js +205 -0
  701. package/dist/admin/translations/hu.json.js.map +1 -0
  702. package/dist/admin/translations/hu.json.mjs +198 -0
  703. package/dist/admin/translations/hu.json.mjs.map +1 -0
  704. package/dist/admin/translations/id.json.js +163 -0
  705. package/dist/admin/translations/id.json.js.map +1 -0
  706. package/dist/admin/translations/id.json.mjs +156 -0
  707. package/dist/admin/translations/id.json.mjs.map +1 -0
  708. package/dist/admin/translations/it.json.js +165 -0
  709. package/dist/admin/translations/it.json.js.map +1 -0
  710. package/dist/admin/translations/it.json.mjs +158 -0
  711. package/dist/admin/translations/it.json.mjs.map +1 -0
  712. package/dist/admin/translations/ja.json.js +199 -0
  713. package/dist/admin/translations/ja.json.js.map +1 -0
  714. package/dist/admin/translations/ja.json.mjs +192 -0
  715. package/dist/admin/translations/ja.json.mjs.map +1 -0
  716. package/dist/admin/translations/ko.json.js +198 -0
  717. package/dist/admin/translations/ko.json.js.map +1 -0
  718. package/dist/admin/translations/ko.json.mjs +191 -0
  719. package/dist/admin/translations/ko.json.mjs.map +1 -0
  720. package/dist/admin/translations/ml.json.js +203 -0
  721. package/dist/admin/translations/ml.json.js.map +1 -0
  722. package/dist/admin/translations/ml.json.mjs +196 -0
  723. package/dist/admin/translations/ml.json.mjs.map +1 -0
  724. package/dist/admin/translations/ms.json.js +147 -0
  725. package/dist/admin/translations/ms.json.js.map +1 -0
  726. package/dist/admin/translations/ms.json.mjs +140 -0
  727. package/dist/admin/translations/ms.json.mjs.map +1 -0
  728. package/dist/admin/translations/nl.json.js +205 -0
  729. package/dist/admin/translations/nl.json.js.map +1 -0
  730. package/dist/admin/translations/nl.json.mjs +198 -0
  731. package/dist/admin/translations/nl.json.mjs.map +1 -0
  732. package/dist/admin/translations/pl.json.js +202 -0
  733. package/dist/admin/translations/pl.json.js.map +1 -0
  734. package/dist/admin/translations/pl.json.mjs +195 -0
  735. package/dist/admin/translations/pl.json.mjs.map +1 -0
  736. package/dist/admin/translations/pt-BR.json.js +204 -0
  737. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  738. package/dist/admin/translations/pt-BR.json.mjs +197 -0
  739. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  740. package/dist/admin/translations/pt.json.js +98 -0
  741. package/dist/admin/translations/pt.json.js.map +1 -0
  742. package/dist/admin/translations/pt.json.mjs +93 -0
  743. package/dist/admin/translations/pt.json.mjs.map +1 -0
  744. package/dist/admin/translations/ru.json.js +241 -0
  745. package/dist/admin/translations/ru.json.js.map +1 -0
  746. package/dist/admin/translations/ru.json.mjs +234 -0
  747. package/dist/admin/translations/ru.json.mjs.map +1 -0
  748. package/dist/admin/translations/sa.json.js +203 -0
  749. package/dist/admin/translations/sa.json.js.map +1 -0
  750. package/dist/admin/translations/sa.json.mjs +196 -0
  751. package/dist/admin/translations/sa.json.mjs.map +1 -0
  752. package/dist/admin/translations/sk.json.js +205 -0
  753. package/dist/admin/translations/sk.json.js.map +1 -0
  754. package/dist/admin/translations/sk.json.mjs +198 -0
  755. package/dist/admin/translations/sk.json.mjs.map +1 -0
  756. package/dist/admin/translations/sv.json.js +205 -0
  757. package/dist/admin/translations/sv.json.js.map +1 -0
  758. package/dist/admin/translations/sv.json.mjs +198 -0
  759. package/dist/admin/translations/sv.json.mjs.map +1 -0
  760. package/dist/admin/translations/th.json.js +151 -0
  761. package/dist/admin/translations/th.json.js.map +1 -0
  762. package/dist/admin/translations/th.json.mjs +144 -0
  763. package/dist/admin/translations/th.json.mjs.map +1 -0
  764. package/dist/admin/translations/tr.json.js +202 -0
  765. package/dist/admin/translations/tr.json.js.map +1 -0
  766. package/dist/admin/translations/tr.json.mjs +195 -0
  767. package/dist/admin/translations/tr.json.mjs.map +1 -0
  768. package/dist/admin/translations/uk.json.js +320 -0
  769. package/dist/admin/translations/uk.json.js.map +1 -0
  770. package/dist/admin/translations/uk.json.mjs +313 -0
  771. package/dist/admin/translations/uk.json.mjs.map +1 -0
  772. package/dist/admin/translations/vi.json.js +114 -0
  773. package/dist/admin/translations/vi.json.js.map +1 -0
  774. package/dist/admin/translations/vi.json.mjs +108 -0
  775. package/dist/admin/translations/vi.json.mjs.map +1 -0
  776. package/dist/admin/translations/zh-Hans.json.js +956 -0
  777. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  778. package/dist/admin/translations/zh-Hans.json.mjs +935 -0
  779. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  780. package/dist/admin/translations/zh.json.js +212 -0
  781. package/dist/admin/translations/zh.json.js.map +1 -0
  782. package/dist/admin/translations/zh.json.mjs +205 -0
  783. package/dist/admin/translations/zh.json.mjs.map +1 -0
  784. package/dist/admin/utils/api.js +22 -0
  785. package/dist/admin/utils/api.js.map +1 -0
  786. package/dist/admin/utils/api.mjs +19 -0
  787. package/dist/admin/utils/api.mjs.map +1 -0
  788. package/dist/admin/utils/attributes.js +34 -0
  789. package/dist/admin/utils/attributes.js.map +1 -0
  790. package/dist/admin/utils/attributes.mjs +31 -0
  791. package/dist/admin/utils/attributes.mjs.map +1 -0
  792. package/dist/admin/utils/objects.js +78 -0
  793. package/dist/admin/utils/objects.js.map +1 -0
  794. package/dist/admin/utils/objects.mjs +73 -0
  795. package/dist/admin/utils/objects.mjs.map +1 -0
  796. package/dist/admin/utils/relations.js +19 -0
  797. package/dist/admin/utils/relations.js.map +1 -0
  798. package/dist/admin/utils/relations.mjs +17 -0
  799. package/dist/admin/utils/relations.mjs.map +1 -0
  800. package/dist/admin/utils/strings.js +6 -0
  801. package/dist/admin/utils/strings.js.map +1 -0
  802. package/dist/admin/utils/strings.mjs +4 -0
  803. package/dist/admin/utils/strings.mjs.map +1 -0
  804. package/dist/admin/utils/translations.js +13 -0
  805. package/dist/admin/utils/translations.js.map +1 -0
  806. package/dist/admin/utils/translations.mjs +10 -0
  807. package/dist/admin/utils/translations.mjs.map +1 -0
  808. package/dist/admin/utils/urls.js +8 -0
  809. package/dist/admin/utils/urls.js.map +1 -0
  810. package/dist/admin/utils/urls.mjs +6 -0
  811. package/dist/admin/utils/urls.mjs.map +1 -0
  812. package/dist/admin/utils/users.js +17 -0
  813. package/dist/admin/utils/users.js.map +1 -0
  814. package/dist/admin/utils/users.mjs +15 -0
  815. package/dist/admin/utils/users.mjs.map +1 -0
  816. package/dist/admin/utils/validation.js +302 -0
  817. package/dist/admin/utils/validation.js.map +1 -0
  818. package/dist/admin/utils/validation.mjs +281 -0
  819. package/dist/admin/utils/validation.mjs.map +1 -0
  820. package/dist/server/bootstrap.js +25 -0
  821. package/dist/server/bootstrap.js.map +1 -0
  822. package/dist/server/bootstrap.mjs +23 -0
  823. package/dist/server/bootstrap.mjs.map +1 -0
  824. package/dist/server/constants/index.js +9 -0
  825. package/dist/server/constants/index.js.map +1 -0
  826. package/dist/server/constants/index.mjs +7 -0
  827. package/dist/server/constants/index.mjs.map +1 -0
  828. package/dist/server/controllers/collection-types.js +647 -0
  829. package/dist/server/controllers/collection-types.js.map +1 -0
  830. package/dist/server/controllers/collection-types.mjs +645 -0
  831. package/dist/server/controllers/collection-types.mjs.map +1 -0
  832. package/dist/server/controllers/components.js +60 -0
  833. package/dist/server/controllers/components.js.map +1 -0
  834. package/dist/server/controllers/components.mjs +58 -0
  835. package/dist/server/controllers/components.mjs.map +1 -0
  836. package/dist/server/controllers/content-types.js +118 -0
  837. package/dist/server/controllers/content-types.js.map +1 -0
  838. package/dist/server/controllers/content-types.mjs +116 -0
  839. package/dist/server/controllers/content-types.mjs.map +1 -0
  840. package/dist/server/controllers/index.js +28 -0
  841. package/dist/server/controllers/index.js.map +1 -0
  842. package/dist/server/controllers/index.mjs +26 -0
  843. package/dist/server/controllers/index.mjs.map +1 -0
  844. package/dist/server/controllers/init.js +22 -0
  845. package/dist/server/controllers/init.js.map +1 -0
  846. package/dist/server/controllers/init.mjs +20 -0
  847. package/dist/server/controllers/init.mjs.map +1 -0
  848. package/dist/server/controllers/relations.js +432 -0
  849. package/dist/server/controllers/relations.js.map +1 -0
  850. package/dist/server/controllers/relations.mjs +430 -0
  851. package/dist/server/controllers/relations.mjs.map +1 -0
  852. package/dist/server/controllers/single-types.js +302 -0
  853. package/dist/server/controllers/single-types.js.map +1 -0
  854. package/dist/server/controllers/single-types.mjs +300 -0
  855. package/dist/server/controllers/single-types.mjs.map +1 -0
  856. package/dist/server/controllers/uid.js +48 -0
  857. package/dist/server/controllers/uid.js.map +1 -0
  858. package/dist/server/controllers/uid.mjs +46 -0
  859. package/dist/server/controllers/uid.mjs.map +1 -0
  860. package/dist/server/controllers/utils/clone.js +138 -0
  861. package/dist/server/controllers/utils/clone.js.map +1 -0
  862. package/dist/server/controllers/utils/clone.mjs +135 -0
  863. package/dist/server/controllers/utils/clone.mjs.map +1 -0
  864. package/dist/server/controllers/utils/metadata.js +26 -0
  865. package/dist/server/controllers/utils/metadata.js.map +1 -0
  866. package/dist/server/controllers/utils/metadata.mjs +24 -0
  867. package/dist/server/controllers/utils/metadata.mjs.map +1 -0
  868. package/dist/server/controllers/validation/dimensions.js +41 -0
  869. package/dist/server/controllers/validation/dimensions.js.map +1 -0
  870. package/dist/server/controllers/validation/dimensions.mjs +39 -0
  871. package/dist/server/controllers/validation/dimensions.mjs.map +1 -0
  872. package/dist/server/controllers/validation/index.js +68 -0
  873. package/dist/server/controllers/validation/index.js.map +1 -0
  874. package/dist/server/controllers/validation/index.mjs +62 -0
  875. package/dist/server/controllers/validation/index.mjs.map +1 -0
  876. package/dist/server/controllers/validation/model-configuration.js +81 -0
  877. package/dist/server/controllers/validation/model-configuration.js.map +1 -0
  878. package/dist/server/controllers/validation/model-configuration.mjs +79 -0
  879. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -0
  880. package/dist/server/controllers/validation/relations.js +37 -0
  881. package/dist/server/controllers/validation/relations.js.map +1 -0
  882. package/dist/server/controllers/validation/relations.mjs +34 -0
  883. package/dist/server/controllers/validation/relations.mjs.map +1 -0
  884. package/dist/server/destroy.js +12 -0
  885. package/dist/server/destroy.js.map +1 -0
  886. package/dist/server/destroy.mjs +10 -0
  887. package/dist/server/destroy.mjs.map +1 -0
  888. package/dist/server/history/constants.js +16 -0
  889. package/dist/server/history/constants.js.map +1 -0
  890. package/dist/server/history/constants.mjs +13 -0
  891. package/dist/server/history/constants.mjs.map +1 -0
  892. package/dist/server/history/controllers/history-version.js +107 -0
  893. package/dist/server/history/controllers/history-version.js.map +1 -0
  894. package/dist/server/history/controllers/history-version.mjs +105 -0
  895. package/dist/server/history/controllers/history-version.mjs.map +1 -0
  896. package/dist/server/history/controllers/index.js +10 -0
  897. package/dist/server/history/controllers/index.js.map +1 -0
  898. package/dist/server/history/controllers/index.mjs +8 -0
  899. package/dist/server/history/controllers/index.mjs.map +1 -0
  900. package/dist/server/history/controllers/validation/history-version.js +31 -0
  901. package/dist/server/history/controllers/validation/history-version.js.map +1 -0
  902. package/dist/server/history/controllers/validation/history-version.mjs +10 -0
  903. package/dist/server/history/controllers/validation/history-version.mjs.map +1 -0
  904. package/dist/server/history/index.js +42 -0
  905. package/dist/server/history/index.js.map +1 -0
  906. package/dist/server/history/index.mjs +40 -0
  907. package/dist/server/history/index.mjs.map +1 -0
  908. package/dist/server/history/models/history-version.js +59 -0
  909. package/dist/server/history/models/history-version.js.map +1 -0
  910. package/dist/server/history/models/history-version.mjs +57 -0
  911. package/dist/server/history/models/history-version.mjs.map +1 -0
  912. package/dist/server/history/routes/history-version.js +36 -0
  913. package/dist/server/history/routes/history-version.js.map +1 -0
  914. package/dist/server/history/routes/history-version.mjs +34 -0
  915. package/dist/server/history/routes/history-version.mjs.map +1 -0
  916. package/dist/server/history/routes/index.js +13 -0
  917. package/dist/server/history/routes/index.js.map +1 -0
  918. package/dist/server/history/routes/index.mjs +11 -0
  919. package/dist/server/history/routes/index.mjs.map +1 -0
  920. package/dist/server/history/services/history.js +203 -0
  921. package/dist/server/history/services/history.js.map +1 -0
  922. package/dist/server/history/services/history.mjs +201 -0
  923. package/dist/server/history/services/history.mjs.map +1 -0
  924. package/dist/server/history/services/index.js +12 -0
  925. package/dist/server/history/services/index.js.map +1 -0
  926. package/dist/server/history/services/index.mjs +10 -0
  927. package/dist/server/history/services/index.mjs.map +1 -0
  928. package/dist/server/history/services/lifecycles.js +157 -0
  929. package/dist/server/history/services/lifecycles.js.map +1 -0
  930. package/dist/server/history/services/lifecycles.mjs +155 -0
  931. package/dist/server/history/services/lifecycles.mjs.map +1 -0
  932. package/dist/server/history/services/utils.js +281 -0
  933. package/dist/server/history/services/utils.js.map +1 -0
  934. package/dist/server/history/services/utils.mjs +279 -0
  935. package/dist/server/history/services/utils.mjs.map +1 -0
  936. package/dist/server/history/utils.js +9 -0
  937. package/dist/server/history/utils.js.map +1 -0
  938. package/dist/server/history/utils.mjs +7 -0
  939. package/dist/server/history/utils.mjs.map +1 -0
  940. package/dist/server/homepage/controllers/homepage.js +62 -0
  941. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  942. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  943. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  944. package/dist/server/homepage/controllers/index.js +10 -0
  945. package/dist/server/homepage/controllers/index.js.map +1 -0
  946. package/dist/server/homepage/controllers/index.mjs +8 -0
  947. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  948. package/dist/server/homepage/index.js +14 -0
  949. package/dist/server/homepage/index.js.map +1 -0
  950. package/dist/server/homepage/index.mjs +12 -0
  951. package/dist/server/homepage/index.mjs.map +1 -0
  952. package/dist/server/homepage/routes/homepage.js +36 -0
  953. package/dist/server/homepage/routes/homepage.js.map +1 -0
  954. package/dist/server/homepage/routes/homepage.mjs +34 -0
  955. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  956. package/dist/server/homepage/routes/index.js +13 -0
  957. package/dist/server/homepage/routes/index.js.map +1 -0
  958. package/dist/server/homepage/routes/index.mjs +11 -0
  959. package/dist/server/homepage/routes/index.mjs.map +1 -0
  960. package/dist/server/homepage/services/homepage.js +197 -0
  961. package/dist/server/homepage/services/homepage.js.map +1 -0
  962. package/dist/server/homepage/services/homepage.mjs +195 -0
  963. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  964. package/dist/server/homepage/services/index.js +10 -0
  965. package/dist/server/homepage/services/index.js.map +1 -0
  966. package/dist/server/homepage/services/index.mjs +8 -0
  967. package/dist/server/homepage/services/index.mjs.map +1 -0
  968. package/dist/server/index.js +22 -4281
  969. package/dist/server/index.js.map +1 -1
  970. package/dist/server/index.mjs +21 -4258
  971. package/dist/server/index.mjs.map +1 -1
  972. package/dist/server/middlewares/routing.js +40 -0
  973. package/dist/server/middlewares/routing.js.map +1 -0
  974. package/dist/server/middlewares/routing.mjs +38 -0
  975. package/dist/server/middlewares/routing.mjs.map +1 -0
  976. package/dist/server/policies/hasPermissions.js +24 -0
  977. package/dist/server/policies/hasPermissions.js.map +1 -0
  978. package/dist/server/policies/hasPermissions.mjs +22 -0
  979. package/dist/server/policies/hasPermissions.mjs.map +1 -0
  980. package/dist/server/policies/index.js +10 -0
  981. package/dist/server/policies/index.js.map +1 -0
  982. package/dist/server/policies/index.mjs +8 -0
  983. package/dist/server/policies/index.mjs.map +1 -0
  984. package/dist/server/preview/controllers/index.js +10 -0
  985. package/dist/server/preview/controllers/index.js.map +1 -0
  986. package/dist/server/preview/controllers/index.mjs +8 -0
  987. package/dist/server/preview/controllers/index.mjs.map +1 -0
  988. package/dist/server/preview/controllers/preview.js +34 -0
  989. package/dist/server/preview/controllers/preview.js.map +1 -0
  990. package/dist/server/preview/controllers/preview.mjs +32 -0
  991. package/dist/server/preview/controllers/preview.mjs.map +1 -0
  992. package/dist/server/preview/controllers/validation/preview.js +70 -0
  993. package/dist/server/preview/controllers/validation/preview.js.map +1 -0
  994. package/dist/server/preview/controllers/validation/preview.mjs +49 -0
  995. package/dist/server/preview/controllers/validation/preview.mjs.map +1 -0
  996. package/dist/server/preview/index.js +27 -0
  997. package/dist/server/preview/index.js.map +1 -0
  998. package/dist/server/preview/index.mjs +25 -0
  999. package/dist/server/preview/index.mjs.map +1 -0
  1000. package/dist/server/preview/routes/index.js +13 -0
  1001. package/dist/server/preview/routes/index.js.map +1 -0
  1002. package/dist/server/preview/routes/index.mjs +11 -0
  1003. package/dist/server/preview/routes/index.mjs.map +1 -0
  1004. package/dist/server/preview/routes/preview.js +25 -0
  1005. package/dist/server/preview/routes/preview.js.map +1 -0
  1006. package/dist/server/preview/routes/preview.mjs +23 -0
  1007. package/dist/server/preview/routes/preview.mjs.map +1 -0
  1008. package/dist/server/preview/services/index.js +12 -0
  1009. package/dist/server/preview/services/index.js.map +1 -0
  1010. package/dist/server/preview/services/index.mjs +10 -0
  1011. package/dist/server/preview/services/index.mjs.map +1 -0
  1012. package/dist/server/preview/services/preview-config.js +95 -0
  1013. package/dist/server/preview/services/preview-config.js.map +1 -0
  1014. package/dist/server/preview/services/preview-config.mjs +93 -0
  1015. package/dist/server/preview/services/preview-config.mjs.map +1 -0
  1016. package/dist/server/preview/services/preview.js +30 -0
  1017. package/dist/server/preview/services/preview.js.map +1 -0
  1018. package/dist/server/preview/services/preview.mjs +28 -0
  1019. package/dist/server/preview/services/preview.mjs.map +1 -0
  1020. package/dist/server/preview/utils.js +9 -0
  1021. package/dist/server/preview/utils.js.map +1 -0
  1022. package/dist/server/preview/utils.mjs +7 -0
  1023. package/dist/server/preview/utils.mjs.map +1 -0
  1024. package/dist/server/register.js +16 -0
  1025. package/dist/server/register.js.map +1 -0
  1026. package/dist/server/register.mjs +14 -0
  1027. package/dist/server/register.mjs.map +1 -0
  1028. package/dist/server/routes/admin.js +599 -0
  1029. package/dist/server/routes/admin.js.map +1 -0
  1030. package/dist/server/routes/admin.mjs +597 -0
  1031. package/dist/server/routes/admin.mjs.map +1 -0
  1032. package/dist/server/routes/index.js +16 -0
  1033. package/dist/server/routes/index.js.map +1 -0
  1034. package/dist/server/routes/index.mjs +14 -0
  1035. package/dist/server/routes/index.mjs.map +1 -0
  1036. package/dist/server/services/components.js +73 -0
  1037. package/dist/server/services/components.js.map +1 -0
  1038. package/dist/server/services/components.mjs +71 -0
  1039. package/dist/server/services/components.mjs.map +1 -0
  1040. package/dist/server/services/configuration.js +58 -0
  1041. package/dist/server/services/configuration.js.map +1 -0
  1042. package/dist/server/services/configuration.mjs +56 -0
  1043. package/dist/server/services/configuration.mjs.map +1 -0
  1044. package/dist/server/services/content-types.js +60 -0
  1045. package/dist/server/services/content-types.js.map +1 -0
  1046. package/dist/server/services/content-types.mjs +58 -0
  1047. package/dist/server/services/content-types.mjs.map +1 -0
  1048. package/dist/server/services/data-mapper.js +69 -0
  1049. package/dist/server/services/data-mapper.js.map +1 -0
  1050. package/dist/server/services/data-mapper.mjs +67 -0
  1051. package/dist/server/services/data-mapper.mjs.map +1 -0
  1052. package/dist/server/services/document-manager.js +245 -0
  1053. package/dist/server/services/document-manager.js.map +1 -0
  1054. package/dist/server/services/document-manager.mjs +243 -0
  1055. package/dist/server/services/document-manager.mjs.map +1 -0
  1056. package/dist/server/services/document-metadata.js +239 -0
  1057. package/dist/server/services/document-metadata.js.map +1 -0
  1058. package/dist/server/services/document-metadata.mjs +237 -0
  1059. package/dist/server/services/document-metadata.mjs.map +1 -0
  1060. package/dist/server/services/field-sizes.js +90 -0
  1061. package/dist/server/services/field-sizes.js.map +1 -0
  1062. package/dist/server/services/field-sizes.mjs +88 -0
  1063. package/dist/server/services/field-sizes.mjs.map +1 -0
  1064. package/dist/server/services/index.js +36 -0
  1065. package/dist/server/services/index.js.map +1 -0
  1066. package/dist/server/services/index.mjs +34 -0
  1067. package/dist/server/services/index.mjs.map +1 -0
  1068. package/dist/server/services/metrics.js +35 -0
  1069. package/dist/server/services/metrics.js.map +1 -0
  1070. package/dist/server/services/metrics.mjs +33 -0
  1071. package/dist/server/services/metrics.mjs.map +1 -0
  1072. package/dist/server/services/permission-checker.js +112 -0
  1073. package/dist/server/services/permission-checker.js.map +1 -0
  1074. package/dist/server/services/permission-checker.mjs +110 -0
  1075. package/dist/server/services/permission-checker.mjs.map +1 -0
  1076. package/dist/server/services/permission.js +93 -0
  1077. package/dist/server/services/permission.js.map +1 -0
  1078. package/dist/server/services/permission.mjs +91 -0
  1079. package/dist/server/services/permission.mjs.map +1 -0
  1080. package/dist/server/services/populate-builder.js +75 -0
  1081. package/dist/server/services/populate-builder.js.map +1 -0
  1082. package/dist/server/services/populate-builder.mjs +73 -0
  1083. package/dist/server/services/populate-builder.mjs.map +1 -0
  1084. package/dist/server/services/uid.js +85 -0
  1085. package/dist/server/services/uid.js.map +1 -0
  1086. package/dist/server/services/uid.mjs +83 -0
  1087. package/dist/server/services/uid.mjs.map +1 -0
  1088. package/dist/server/services/utils/configuration/attributes.js +185 -0
  1089. package/dist/server/services/utils/configuration/attributes.js.map +1 -0
  1090. package/dist/server/services/utils/configuration/attributes.mjs +175 -0
  1091. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -0
  1092. package/dist/server/services/utils/configuration/index.js +37 -0
  1093. package/dist/server/services/utils/configuration/index.js.map +1 -0
  1094. package/dist/server/services/utils/configuration/index.mjs +34 -0
  1095. package/dist/server/services/utils/configuration/index.mjs.map +1 -0
  1096. package/dist/server/services/utils/configuration/layouts.js +120 -0
  1097. package/dist/server/services/utils/configuration/layouts.js.map +1 -0
  1098. package/dist/server/services/utils/configuration/layouts.mjs +117 -0
  1099. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -0
  1100. package/dist/server/services/utils/configuration/metadatas.js +155 -0
  1101. package/dist/server/services/utils/configuration/metadatas.js.map +1 -0
  1102. package/dist/server/services/utils/configuration/metadatas.mjs +152 -0
  1103. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -0
  1104. package/dist/server/services/utils/configuration/settings.js +66 -0
  1105. package/dist/server/services/utils/configuration/settings.js.map +1 -0
  1106. package/dist/server/services/utils/configuration/settings.mjs +62 -0
  1107. package/dist/server/services/utils/configuration/settings.mjs.map +1 -0
  1108. package/dist/server/services/utils/draft.js +51 -0
  1109. package/dist/server/services/utils/draft.js.map +1 -0
  1110. package/dist/server/services/utils/draft.mjs +49 -0
  1111. package/dist/server/services/utils/draft.mjs.map +1 -0
  1112. package/dist/server/services/utils/populate.js +300 -0
  1113. package/dist/server/services/utils/populate.js.map +1 -0
  1114. package/dist/server/services/utils/populate.mjs +294 -0
  1115. package/dist/server/services/utils/populate.mjs.map +1 -0
  1116. package/dist/server/services/utils/store.js +71 -0
  1117. package/dist/server/services/utils/store.js.map +1 -0
  1118. package/dist/server/services/utils/store.mjs +69 -0
  1119. package/dist/server/services/utils/store.mjs.map +1 -0
  1120. package/dist/server/src/bootstrap.d.ts.map +1 -1
  1121. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  1122. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  1123. package/dist/server/src/controllers/index.d.ts.map +1 -1
  1124. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  1125. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  1126. package/dist/server/src/controllers/uid.d.ts.map +1 -1
  1127. package/dist/server/src/controllers/utils/metadata.d.ts +23 -0
  1128. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -0
  1129. package/dist/server/src/controllers/validation/dimensions.d.ts +11 -0
  1130. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -0
  1131. package/dist/server/src/controllers/validation/index.d.ts +7 -2
  1132. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  1133. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  1134. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  1135. package/dist/server/src/history/services/history.d.ts +3 -3
  1136. package/dist/server/src/history/services/history.d.ts.map +1 -1
  1137. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  1138. package/dist/server/src/history/services/utils.d.ts +8 -12
  1139. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  1140. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  1141. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  1142. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  1143. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  1144. package/dist/server/src/homepage/index.d.ts +23 -0
  1145. package/dist/server/src/homepage/index.d.ts.map +1 -0
  1146. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  1147. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  1148. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  1149. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  1150. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  1151. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  1152. package/dist/server/src/homepage/services/index.d.ts +16 -0
  1153. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  1154. package/dist/server/src/index.d.ts +37 -42
  1155. package/dist/server/src/index.d.ts.map +1 -1
  1156. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  1157. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  1158. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  1159. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  1160. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  1161. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  1162. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  1163. package/dist/server/src/preview/index.d.ts +4 -0
  1164. package/dist/server/src/preview/index.d.ts.map +1 -0
  1165. package/dist/server/src/preview/routes/index.d.ts +8 -0
  1166. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  1167. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  1168. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  1169. package/dist/server/src/preview/services/index.d.ts +17 -0
  1170. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  1171. package/dist/server/src/preview/services/preview-config.d.ts +33 -0
  1172. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  1173. package/dist/server/src/preview/services/preview.d.ts +12 -0
  1174. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  1175. package/dist/server/src/preview/utils.d.ts +20 -0
  1176. package/dist/server/src/preview/utils.d.ts.map +1 -0
  1177. package/dist/server/src/register.d.ts.map +1 -1
  1178. package/dist/server/src/routes/index.d.ts +1 -0
  1179. package/dist/server/src/routes/index.d.ts.map +1 -1
  1180. package/dist/server/src/services/data-mapper.d.ts +1 -0
  1181. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  1182. package/dist/server/src/services/document-manager.d.ts +13 -12
  1183. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  1184. package/dist/server/src/services/document-metadata.d.ts +16 -35
  1185. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  1186. package/dist/server/src/services/index.d.ts +36 -42
  1187. package/dist/server/src/services/index.d.ts.map +1 -1
  1188. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  1189. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  1190. package/dist/server/src/services/utils/count.d.ts +1 -1
  1191. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  1192. package/dist/server/src/services/utils/populate.d.ts +9 -2
  1193. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  1194. package/dist/server/src/utils/index.d.ts +2 -0
  1195. package/dist/server/src/utils/index.d.ts.map +1 -1
  1196. package/dist/server/utils/index.js +10 -0
  1197. package/dist/server/utils/index.js.map +1 -0
  1198. package/dist/server/utils/index.mjs +8 -0
  1199. package/dist/server/utils/index.mjs.map +1 -0
  1200. package/dist/server/validation/policies/hasPermissions.js +12 -0
  1201. package/dist/server/validation/policies/hasPermissions.js.map +1 -0
  1202. package/dist/server/validation/policies/hasPermissions.mjs +10 -0
  1203. package/dist/server/validation/policies/hasPermissions.mjs.map +1 -0
  1204. package/dist/shared/contracts/collection-types.d.ts +17 -9
  1205. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  1206. package/dist/shared/contracts/collection-types.js +3 -0
  1207. package/dist/shared/contracts/collection-types.js.map +1 -0
  1208. package/dist/shared/contracts/collection-types.mjs +2 -0
  1209. package/dist/shared/contracts/collection-types.mjs.map +1 -0
  1210. package/dist/shared/contracts/components.d.ts +0 -1
  1211. package/dist/shared/contracts/components.js +3 -0
  1212. package/dist/shared/contracts/components.js.map +1 -0
  1213. package/dist/shared/contracts/components.mjs +2 -0
  1214. package/dist/shared/contracts/components.mjs.map +1 -0
  1215. package/dist/shared/contracts/content-types.d.ts +0 -1
  1216. package/dist/shared/contracts/content-types.js +3 -0
  1217. package/dist/shared/contracts/content-types.js.map +1 -0
  1218. package/dist/shared/contracts/content-types.mjs +2 -0
  1219. package/dist/shared/contracts/content-types.mjs.map +1 -0
  1220. package/dist/shared/contracts/history-versions.d.ts +0 -1
  1221. package/dist/shared/contracts/history-versions.js +3 -0
  1222. package/dist/shared/contracts/history-versions.js.map +1 -0
  1223. package/dist/shared/contracts/history-versions.mjs +2 -0
  1224. package/dist/shared/contracts/history-versions.mjs.map +1 -0
  1225. package/dist/shared/contracts/homepage.d.ts +38 -0
  1226. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  1227. package/dist/shared/contracts/index.d.ts +1 -1
  1228. package/dist/shared/contracts/index.d.ts.map +1 -1
  1229. package/dist/shared/contracts/index.js +26 -0
  1230. package/dist/shared/contracts/index.js.map +1 -0
  1231. package/dist/shared/contracts/index.mjs +21 -0
  1232. package/dist/shared/contracts/index.mjs.map +1 -0
  1233. package/dist/shared/contracts/init.d.ts +0 -1
  1234. package/dist/shared/contracts/init.js +3 -0
  1235. package/dist/shared/contracts/init.js.map +1 -0
  1236. package/dist/shared/contracts/init.mjs +2 -0
  1237. package/dist/shared/contracts/init.mjs.map +1 -0
  1238. package/dist/shared/contracts/preview.d.ts +26 -0
  1239. package/dist/shared/contracts/preview.d.ts.map +1 -0
  1240. package/dist/shared/contracts/preview.js +3 -0
  1241. package/dist/shared/contracts/preview.js.map +1 -0
  1242. package/dist/shared/contracts/preview.mjs +2 -0
  1243. package/dist/shared/contracts/preview.mjs.map +1 -0
  1244. package/dist/shared/contracts/relations.d.ts +3 -4
  1245. package/dist/shared/contracts/relations.d.ts.map +1 -1
  1246. package/dist/shared/contracts/relations.js +3 -0
  1247. package/dist/shared/contracts/relations.js.map +1 -0
  1248. package/dist/shared/contracts/relations.mjs +2 -0
  1249. package/dist/shared/contracts/relations.mjs.map +1 -0
  1250. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  1251. package/dist/shared/contracts/review-workflows.js +3 -0
  1252. package/dist/shared/contracts/review-workflows.js.map +1 -0
  1253. package/dist/shared/contracts/review-workflows.mjs +2 -0
  1254. package/dist/shared/contracts/review-workflows.mjs.map +1 -0
  1255. package/dist/shared/contracts/single-types.d.ts +0 -1
  1256. package/dist/shared/contracts/single-types.js +3 -0
  1257. package/dist/shared/contracts/single-types.js.map +1 -0
  1258. package/dist/shared/contracts/single-types.mjs +2 -0
  1259. package/dist/shared/contracts/single-types.mjs.map +1 -0
  1260. package/dist/shared/contracts/uid.d.ts +0 -1
  1261. package/dist/shared/contracts/uid.js +3 -0
  1262. package/dist/shared/contracts/uid.js.map +1 -0
  1263. package/dist/shared/contracts/uid.mjs +2 -0
  1264. package/dist/shared/contracts/uid.mjs.map +1 -0
  1265. package/dist/shared/index.d.ts +0 -1
  1266. package/dist/shared/index.js +6 -41
  1267. package/dist/shared/index.js.map +1 -1
  1268. package/dist/shared/index.mjs +2 -42
  1269. package/dist/shared/index.mjs.map +1 -1
  1270. package/package.json +33 -28
  1271. package/dist/_chunks/CardDragPreview-DSVYodBX.js +0 -73
  1272. package/dist/_chunks/CardDragPreview-DSVYodBX.js.map +0 -1
  1273. package/dist/_chunks/CardDragPreview-ikSG4M46.mjs +0 -72
  1274. package/dist/_chunks/CardDragPreview-ikSG4M46.mjs.map +0 -1
  1275. package/dist/_chunks/ComponentConfigurationPage-BPvzFjM7.mjs +0 -236
  1276. package/dist/_chunks/ComponentConfigurationPage-BPvzFjM7.mjs.map +0 -1
  1277. package/dist/_chunks/ComponentConfigurationPage-DjWJdz6Y.js +0 -255
  1278. package/dist/_chunks/ComponentConfigurationPage-DjWJdz6Y.js.map +0 -1
  1279. package/dist/_chunks/ComponentIcon-BBQsYCVn.js +0 -170
  1280. package/dist/_chunks/ComponentIcon-BBQsYCVn.js.map +0 -1
  1281. package/dist/_chunks/ComponentIcon-BOFnK76n.mjs +0 -151
  1282. package/dist/_chunks/ComponentIcon-BOFnK76n.mjs.map +0 -1
  1283. package/dist/_chunks/EditConfigurationPage-DacbqQ_f.mjs +0 -132
  1284. package/dist/_chunks/EditConfigurationPage-DacbqQ_f.mjs.map +0 -1
  1285. package/dist/_chunks/EditConfigurationPage-Dmv83RlS.js +0 -151
  1286. package/dist/_chunks/EditConfigurationPage-Dmv83RlS.js.map +0 -1
  1287. package/dist/_chunks/EditViewPage-DDS6H9HO.mjs +0 -203
  1288. package/dist/_chunks/EditViewPage-DDS6H9HO.mjs.map +0 -1
  1289. package/dist/_chunks/EditViewPage-DvNpQkam.js +0 -224
  1290. package/dist/_chunks/EditViewPage-DvNpQkam.js.map +0 -1
  1291. package/dist/_chunks/Field-6gvGdPBV.mjs +0 -5319
  1292. package/dist/_chunks/Field-6gvGdPBV.mjs.map +0 -1
  1293. package/dist/_chunks/Field-DmVKIAOo.js +0 -5352
  1294. package/dist/_chunks/Field-DmVKIAOo.js.map +0 -1
  1295. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  1296. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  1297. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  1298. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  1299. package/dist/_chunks/Form-CPZC9vWa.js +0 -759
  1300. package/dist/_chunks/Form-CPZC9vWa.js.map +0 -1
  1301. package/dist/_chunks/Form-DW6K1IH-.mjs +0 -737
  1302. package/dist/_chunks/Form-DW6K1IH-.mjs.map +0 -1
  1303. package/dist/_chunks/History-DeAPlvtv.js +0 -960
  1304. package/dist/_chunks/History-DeAPlvtv.js.map +0 -1
  1305. package/dist/_chunks/History-Dmr9fmUA.mjs +0 -938
  1306. package/dist/_chunks/History-Dmr9fmUA.mjs.map +0 -1
  1307. package/dist/_chunks/ListConfigurationPage-DPCwW5Vr.js +0 -643
  1308. package/dist/_chunks/ListConfigurationPage-DPCwW5Vr.js.map +0 -1
  1309. package/dist/_chunks/ListConfigurationPage-DhwvYcNv.mjs +0 -622
  1310. package/dist/_chunks/ListConfigurationPage-DhwvYcNv.mjs.map +0 -1
  1311. package/dist/_chunks/ListViewPage-5ySZ-VUs.js +0 -859
  1312. package/dist/_chunks/ListViewPage-5ySZ-VUs.js.map +0 -1
  1313. package/dist/_chunks/ListViewPage-BtAwuYLE.mjs +0 -835
  1314. package/dist/_chunks/ListViewPage-BtAwuYLE.mjs.map +0 -1
  1315. package/dist/_chunks/NoContentTypePage-DOC_yWOf.js +0 -51
  1316. package/dist/_chunks/NoContentTypePage-DOC_yWOf.js.map +0 -1
  1317. package/dist/_chunks/NoContentTypePage-DSPxnxxp.mjs +0 -51
  1318. package/dist/_chunks/NoContentTypePage-DSPxnxxp.mjs.map +0 -1
  1319. package/dist/_chunks/NoPermissionsPage-Dwu8rRJu.js +0 -23
  1320. package/dist/_chunks/NoPermissionsPage-Dwu8rRJu.js.map +0 -1
  1321. package/dist/_chunks/NoPermissionsPage-UWDC-1Tw.mjs +0 -23
  1322. package/dist/_chunks/NoPermissionsPage-UWDC-1Tw.mjs.map +0 -1
  1323. package/dist/_chunks/Relations-CgWtgnPe.js +0 -705
  1324. package/dist/_chunks/Relations-CgWtgnPe.js.map +0 -1
  1325. package/dist/_chunks/Relations-J8cscLlR.mjs +0 -684
  1326. package/dist/_chunks/Relations-J8cscLlR.mjs.map +0 -1
  1327. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  1328. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  1329. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  1330. package/dist/_chunks/ar-CCEVvqGG.mjs.map +0 -1
  1331. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  1332. package/dist/_chunks/ca-5U32ON2v.mjs.map +0 -1
  1333. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  1334. package/dist/_chunks/ca-Cmk45QO6.js.map +0 -1
  1335. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  1336. package/dist/_chunks/cs-CM2aBUar.mjs.map +0 -1
  1337. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  1338. package/dist/_chunks/cs-CkJy6B2v.js.map +0 -1
  1339. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  1340. package/dist/_chunks/de-C72KDNOl.mjs.map +0 -1
  1341. package/dist/_chunks/de-CCEmbAah.js +0 -199
  1342. package/dist/_chunks/de-CCEmbAah.js.map +0 -1
  1343. package/dist/_chunks/en-C-V1_90f.js +0 -285
  1344. package/dist/_chunks/en-C-V1_90f.js.map +0 -1
  1345. package/dist/_chunks/en-MBPul9Su.mjs +0 -285
  1346. package/dist/_chunks/en-MBPul9Su.mjs.map +0 -1
  1347. package/dist/_chunks/es-CeXiYflN.mjs +0 -196
  1348. package/dist/_chunks/es-CeXiYflN.mjs.map +0 -1
  1349. package/dist/_chunks/es-EUonQTon.js +0 -196
  1350. package/dist/_chunks/es-EUonQTon.js.map +0 -1
  1351. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  1352. package/dist/_chunks/eu-CdALomew.mjs.map +0 -1
  1353. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  1354. package/dist/_chunks/eu-VDH-3ovk.js.map +0 -1
  1355. package/dist/_chunks/fr-B7kGGg3E.js +0 -206
  1356. package/dist/_chunks/fr-B7kGGg3E.js.map +0 -1
  1357. package/dist/_chunks/fr-CD9VFbPM.mjs +0 -206
  1358. package/dist/_chunks/fr-CD9VFbPM.mjs.map +0 -1
  1359. package/dist/_chunks/gu-BRmF601H.js +0 -200
  1360. package/dist/_chunks/gu-BRmF601H.js.map +0 -1
  1361. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  1362. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  1363. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  1364. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  1365. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  1366. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  1367. package/dist/_chunks/hooks-BAaaKPS_.js +0 -7
  1368. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  1369. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  1370. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  1371. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  1372. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  1373. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  1374. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  1375. package/dist/_chunks/id-B5Ser98A.js +0 -160
  1376. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  1377. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  1378. package/dist/_chunks/id-BtwA9WJT.mjs.map +0 -1
  1379. package/dist/_chunks/index-C6AH2hEl.js +0 -3195
  1380. package/dist/_chunks/index-C6AH2hEl.js.map +0 -1
  1381. package/dist/_chunks/index-CwRRo1V9.mjs +0 -3175
  1382. package/dist/_chunks/index-CwRRo1V9.mjs.map +0 -1
  1383. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  1384. package/dist/_chunks/it-BrVPqaf1.mjs.map +0 -1
  1385. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  1386. package/dist/_chunks/it-DkBIs7vD.js.map +0 -1
  1387. package/dist/_chunks/ja-CcFe8diO.js +0 -196
  1388. package/dist/_chunks/ja-CcFe8diO.js.map +0 -1
  1389. package/dist/_chunks/ja-CtsUxOvk.mjs +0 -196
  1390. package/dist/_chunks/ja-CtsUxOvk.mjs.map +0 -1
  1391. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  1392. package/dist/_chunks/ko-HVQRlfUI.mjs.map +0 -1
  1393. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  1394. package/dist/_chunks/ko-woFZPmLk.js.map +0 -1
  1395. package/dist/_chunks/layout-B_SXLhqf.js +0 -473
  1396. package/dist/_chunks/layout-B_SXLhqf.js.map +0 -1
  1397. package/dist/_chunks/layout-jIDzX0Fp.mjs +0 -453
  1398. package/dist/_chunks/layout-jIDzX0Fp.mjs.map +0 -1
  1399. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  1400. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  1401. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  1402. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  1403. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  1404. package/dist/_chunks/ms-BuFotyP_.js.map +0 -1
  1405. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  1406. package/dist/_chunks/ms-m_WjyWx7.mjs.map +0 -1
  1407. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  1408. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  1409. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  1410. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  1411. package/dist/_chunks/objects-gigeqt7s.js +0 -49
  1412. package/dist/_chunks/objects-gigeqt7s.js.map +0 -1
  1413. package/dist/_chunks/objects-mKMAmfec.mjs +0 -47
  1414. package/dist/_chunks/objects-mKMAmfec.mjs.map +0 -1
  1415. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  1416. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  1417. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  1418. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  1419. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  1420. package/dist/_chunks/pt-BR-BiOz37D9.js.map +0 -1
  1421. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  1422. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +0 -1
  1423. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  1424. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  1425. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  1426. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  1427. package/dist/_chunks/relations-CuvIgCqI.mjs +0 -135
  1428. package/dist/_chunks/relations-CuvIgCqI.mjs.map +0 -1
  1429. package/dist/_chunks/relations-iBMa_OFG.js +0 -134
  1430. package/dist/_chunks/relations-iBMa_OFG.js.map +0 -1
  1431. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  1432. package/dist/_chunks/ru-BE6A4Exp.mjs.map +0 -1
  1433. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  1434. package/dist/_chunks/ru-BT3ybNny.js.map +0 -1
  1435. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  1436. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  1437. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  1438. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  1439. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  1440. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  1441. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  1442. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  1443. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  1444. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  1445. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  1446. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  1447. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  1448. package/dist/_chunks/th-BqbI8lIT.mjs.map +0 -1
  1449. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  1450. package/dist/_chunks/th-D9_GfAjc.js.map +0 -1
  1451. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  1452. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  1453. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  1454. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  1455. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  1456. package/dist/_chunks/uk-C8EiqJY7.js.map +0 -1
  1457. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  1458. package/dist/_chunks/uk-CR-zDhAY.mjs.map +0 -1
  1459. package/dist/_chunks/urls-CbOsUOoW.mjs +0 -7
  1460. package/dist/_chunks/urls-CbOsUOoW.mjs.map +0 -1
  1461. package/dist/_chunks/urls-DzZya_gm.js +0 -6
  1462. package/dist/_chunks/urls-DzZya_gm.js.map +0 -1
  1463. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
  1464. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
  1465. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
  1466. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
  1467. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  1468. package/dist/_chunks/vi-CJlYDheJ.js.map +0 -1
  1469. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  1470. package/dist/_chunks/vi-DUXIk_fw.mjs.map +0 -1
  1471. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  1472. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  1473. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  1474. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  1475. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  1476. package/dist/_chunks/zh-Hans-9kOncHGw.js.map +0 -1
  1477. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  1478. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs.map +0 -1
  1479. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +0 -26
  1480. package/dist/server/src/controllers/utils/dimensions.d.ts +0 -5
  1481. package/dist/server/src/controllers/utils/dimensions.d.ts.map +0 -1
  1482. package/strapi-server.js +0 -3
@@ -1,3195 +0,0 @@
1
- "use strict";
2
- const Icons = require("@strapi/icons");
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const strapiAdmin = require("@strapi/admin/strapi-admin");
5
- const qs = require("qs");
6
- const reactIntl = require("react-intl");
7
- const reactRouterDom = require("react-router-dom");
8
- const React = require("react");
9
- const designSystem = require("@strapi/design-system");
10
- const styled = require("styled-components");
11
- const yup = require("yup");
12
- const react = require("@reduxjs/toolkit/query/react");
13
- const axios = require("axios");
14
- const pipe = require("lodash/fp/pipe");
15
- const dateFns = require("date-fns");
16
- const toolkit = require("@reduxjs/toolkit");
17
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
18
- function _interopNamespace(e) {
19
- if (e && e.__esModule)
20
- return e;
21
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
22
- if (e) {
23
- for (const k in e) {
24
- if (k !== "default") {
25
- const d = Object.getOwnPropertyDescriptor(e, k);
26
- Object.defineProperty(n, k, d.get ? d : {
27
- enumerable: true,
28
- get: () => e[k]
29
- });
30
- }
31
- }
32
- }
33
- n.default = e;
34
- return Object.freeze(n);
35
- }
36
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
37
- const styled__default = /* @__PURE__ */ _interopDefault(styled);
38
- const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
39
- const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
40
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
41
- const v = glob[path];
42
- if (v) {
43
- return typeof v === "function" ? v() : Promise.resolve(v);
44
- }
45
- return new Promise((_, reject) => {
46
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
47
- });
48
- };
49
- const PLUGIN_ID = "content-manager";
50
- const PERMISSIONS = [
51
- "plugin::content-manager.explorer.create",
52
- "plugin::content-manager.explorer.read",
53
- "plugin::content-manager.explorer.update",
54
- "plugin::content-manager.explorer.delete",
55
- "plugin::content-manager.explorer.publish"
56
- ];
57
- const INJECTION_ZONES = {
58
- editView: { informations: [], "right-links": [] },
59
- listView: {
60
- actions: [],
61
- deleteModalAdditionalInfos: [],
62
- publishModalAdditionalInfos: [],
63
- unpublishModalAdditionalInfos: []
64
- }
65
- };
66
- const InjectionZone = ({ area, ...props }) => {
67
- const components = useInjectionZone(area);
68
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: components.map((component) => /* @__PURE__ */ jsxRuntime.jsx(component.Component, { ...props }, component.name)) });
69
- };
70
- const useInjectionZone = (area) => {
71
- const getPlugin = strapiAdmin.useStrapiApp("useInjectionZone", (state) => state.getPlugin);
72
- const contentManagerPlugin = getPlugin(PLUGIN_ID);
73
- const [page, position] = area.split(".");
74
- return contentManagerPlugin.getInjectedComponents(page, position);
75
- };
76
- const HistoryAction = ({ model, document }) => {
77
- const { formatMessage } = reactIntl.useIntl();
78
- const [{ query }] = strapiAdmin.useQueryParams();
79
- const navigate = reactRouterDom.useNavigate();
80
- const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
81
- if (!window.strapi.features.isEnabled("cms-content-history")) {
82
- return null;
83
- }
84
- return {
85
- icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ClockCounterClockwise, {}),
86
- label: formatMessage({
87
- id: "content-manager.history.document-action",
88
- defaultMessage: "Content History"
89
- }),
90
- onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
91
- disabled: (
92
- /**
93
- * The user is creating a new document.
94
- * It hasn't been saved yet, so there's no history to go to
95
- */
96
- !document || /**
97
- * The document has been created but the current dimension has never been saved.
98
- * For example, the user is creating a new locale in an existing document,
99
- * so there's no history for the document in that locale
100
- */
101
- !document.id || /**
102
- * History is only available for content types created by the user.
103
- * These have the `api::` prefix, as opposed to the ones created by Strapi or plugins,
104
- * which start with `admin::` or `plugin::`
105
- */
106
- !model.startsWith("api::")
107
- ),
108
- position: "header"
109
- };
110
- };
111
- HistoryAction.type = "history";
112
- const ID = "id";
113
- const CREATED_BY_ATTRIBUTE_NAME = "createdBy";
114
- const UPDATED_BY_ATTRIBUTE_NAME = "updatedBy";
115
- const CREATOR_FIELDS = [CREATED_BY_ATTRIBUTE_NAME, UPDATED_BY_ATTRIBUTE_NAME];
116
- const PUBLISHED_BY_ATTRIBUTE_NAME = "publishedBy";
117
- const CREATED_AT_ATTRIBUTE_NAME = "createdAt";
118
- const UPDATED_AT_ATTRIBUTE_NAME = "updatedAt";
119
- const PUBLISHED_AT_ATTRIBUTE_NAME = "publishedAt";
120
- const DOCUMENT_META_FIELDS = [
121
- ID,
122
- ...CREATOR_FIELDS,
123
- PUBLISHED_BY_ATTRIBUTE_NAME,
124
- CREATED_AT_ATTRIBUTE_NAME,
125
- UPDATED_AT_ATTRIBUTE_NAME,
126
- PUBLISHED_AT_ATTRIBUTE_NAME
127
- ];
128
- const ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD = [
129
- "dynamiczone",
130
- "json",
131
- "text",
132
- "relation",
133
- "component",
134
- "boolean",
135
- "media",
136
- "password",
137
- "richtext",
138
- "timestamp",
139
- "blocks"
140
- ];
141
- const SINGLE_TYPES = "single-types";
142
- const COLLECTION_TYPES = "collection-types";
143
- const [DocumentRBACProvider, useDocumentRBAC] = strapiAdmin.createContext(
144
- "DocumentRBAC",
145
- {
146
- canCreate: false,
147
- canCreateFields: [],
148
- canDelete: false,
149
- canPublish: false,
150
- canRead: false,
151
- canReadFields: [],
152
- canUpdate: false,
153
- canUpdateFields: [],
154
- canUserAction: () => false,
155
- isLoading: false
156
- }
157
- );
158
- const DocumentRBAC = ({ children, permissions }) => {
159
- const { slug } = reactRouterDom.useParams();
160
- if (!slug) {
161
- throw new Error("Cannot find the slug param in the URL");
162
- }
163
- const userPermissions = strapiAdmin.useAuth("DocumentRBAC", (state) => state.permissions);
164
- const contentTypePermissions = React__namespace.useMemo(() => {
165
- const contentTypePermissions2 = userPermissions.filter(
166
- (permission) => permission.subject === slug
167
- );
168
- return contentTypePermissions2.reduce((acc, permission) => {
169
- const [action] = permission.action.split(".").slice(-1);
170
- return { ...acc, [action]: [permission] };
171
- }, {});
172
- }, [slug, userPermissions]);
173
- const { isLoading, allowedActions } = strapiAdmin.useRBAC(contentTypePermissions, permissions ?? void 0);
174
- const canCreateFields = !isLoading && allowedActions.canCreate ? extractAndDedupeFields(contentTypePermissions.create) : [];
175
- const canReadFields = !isLoading && allowedActions.canRead ? extractAndDedupeFields(contentTypePermissions.read) : [];
176
- const canUpdateFields = !isLoading && allowedActions.canUpdate ? extractAndDedupeFields(contentTypePermissions.update) : [];
177
- const canUserAction = React__namespace.useCallback(
178
- (fieldName, fieldsUserCanAction, fieldType) => {
179
- const name = removeNumericalStrings(fieldName.split("."));
180
- const componentFieldNames = fieldsUserCanAction.filter((field) => field.split(".").length > 1);
181
- if (fieldType === "component") {
182
- const componentOrDynamicZoneFields = componentFieldNames.map((field) => field.split("."));
183
- return componentOrDynamicZoneFields.some((field) => {
184
- return field.includes(fieldName);
185
- });
186
- }
187
- if (name.length > 1) {
188
- return componentFieldNames.includes(name.join("."));
189
- }
190
- return fieldsUserCanAction.includes(fieldName);
191
- },
192
- []
193
- );
194
- if (isLoading) {
195
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
196
- }
197
- return /* @__PURE__ */ jsxRuntime.jsx(
198
- DocumentRBACProvider,
199
- {
200
- isLoading,
201
- canCreateFields,
202
- canReadFields,
203
- canUpdateFields,
204
- canUserAction,
205
- ...allowedActions,
206
- children
207
- }
208
- );
209
- };
210
- const extractAndDedupeFields = (permissions = []) => permissions.flatMap((permission) => permission.properties?.fields).filter(
211
- (field, index2, arr) => arr.indexOf(field) === index2 && typeof field === "string"
212
- );
213
- const removeNumericalStrings = (arr) => arr.filter((item) => isNaN(Number(item)));
214
- const buildValidParams = (query) => {
215
- if (!query)
216
- return query;
217
- const { plugins: _, ...validQueryParams } = {
218
- ...query,
219
- ...Object.values(query?.plugins ?? {}).reduce(
220
- (acc, current) => Object.assign(acc, current),
221
- {}
222
- )
223
- };
224
- if ("_q" in validQueryParams) {
225
- validQueryParams._q = encodeURIComponent(validQueryParams._q);
226
- }
227
- return validQueryParams;
228
- };
229
- const axiosBaseQuery = () => async (query, { signal }) => {
230
- try {
231
- const { get, post, del, put } = strapiAdmin.getFetchClient();
232
- if (typeof query === "string") {
233
- const result = await get(query, { signal });
234
- return { data: result.data };
235
- } else {
236
- const { url, method = "GET", data, config } = query;
237
- if (method === "POST") {
238
- const result2 = await post(url, data, { ...config, signal });
239
- return { data: result2.data };
240
- }
241
- if (method === "DELETE") {
242
- const result2 = await del(url, { ...config, signal });
243
- return { data: result2.data };
244
- }
245
- if (method === "PUT") {
246
- const result2 = await put(url, data, { ...config, signal });
247
- return { data: result2.data };
248
- }
249
- const result = await get(url, { ...config, signal });
250
- return { data: result.data };
251
- }
252
- } catch (err) {
253
- if (axios.isAxiosError(err)) {
254
- if (typeof err.response?.data === "object" && err.response?.data !== null && "error" in err.response?.data) {
255
- return { data: void 0, error: err.response?.data.error };
256
- } else {
257
- return {
258
- data: void 0,
259
- error: {
260
- name: "UnknownError",
261
- message: "There was an unknown error response from the API",
262
- details: err.response?.data,
263
- status: err.response?.status
264
- }
265
- };
266
- }
267
- }
268
- const error = err;
269
- return {
270
- data: void 0,
271
- error: {
272
- name: error.name,
273
- message: error.message,
274
- stack: error.stack
275
- }
276
- };
277
- }
278
- };
279
- const isBaseQueryError = (error) => {
280
- return error.name !== void 0;
281
- };
282
- const contentManagerApi = react.createApi({
283
- reducerPath: "contentManagerApi",
284
- baseQuery: axiosBaseQuery(),
285
- tagTypes: [
286
- "ComponentConfiguration",
287
- "ContentTypesConfiguration",
288
- "ContentTypeSettings",
289
- "Document",
290
- "InitialData",
291
- "HistoryVersion",
292
- "Relations"
293
- ],
294
- endpoints: () => ({})
295
- });
296
- const documentApi = contentManagerApi.injectEndpoints({
297
- endpoints: (builder) => ({
298
- autoCloneDocument: builder.mutation({
299
- query: ({ model, sourceId, query }) => ({
300
- url: `/content-manager/collection-types/${model}/auto-clone/${sourceId}`,
301
- method: "POST",
302
- config: {
303
- params: query
304
- }
305
- }),
306
- invalidatesTags: (_result, _error, { model }) => [{ type: "Document", id: `${model}_LIST` }]
307
- }),
308
- cloneDocument: builder.mutation({
309
- query: ({ model, sourceId, data, params }) => ({
310
- url: `/content-manager/collection-types/${model}/clone/${sourceId}`,
311
- method: "POST",
312
- data,
313
- config: {
314
- params
315
- }
316
- }),
317
- invalidatesTags: (_result, _error, { model }) => [{ type: "Document", id: `${model}_LIST` }]
318
- }),
319
- /**
320
- * Creates a new collection-type document. This should ONLY be used for collection-types.
321
- * single-types should always be using `updateDocument` since they always exist.
322
- */
323
- createDocument: builder.mutation({
324
- query: ({ model, data, params }) => ({
325
- url: `/content-manager/collection-types/${model}`,
326
- method: "POST",
327
- data,
328
- config: {
329
- params
330
- }
331
- }),
332
- invalidatesTags: (result, _error, { model }) => [
333
- { type: "Document", id: `${model}_LIST` },
334
- "Relations"
335
- ]
336
- }),
337
- deleteDocument: builder.mutation({
338
- query: ({ collectionType, model, documentId, params }) => ({
339
- url: `/content-manager/${collectionType}/${model}${collectionType !== SINGLE_TYPES && documentId ? `/${documentId}` : ""}`,
340
- method: "DELETE",
341
- config: {
342
- params
343
- }
344
- }),
345
- invalidatesTags: (_result, _error, { collectionType, model }) => [
346
- { type: "Document", id: collectionType !== SINGLE_TYPES ? `${model}_LIST` : model }
347
- ]
348
- }),
349
- deleteManyDocuments: builder.mutation({
350
- query: ({ model, ...body }) => ({
351
- url: `/content-manager/collection-types/${model}/actions/bulkDelete`,
352
- method: "POST",
353
- data: body
354
- }),
355
- invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
356
- }),
357
- discardDocument: builder.mutation({
358
- query: ({ collectionType, model, documentId, params }) => ({
359
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard` : `/content-manager/${collectionType}/${model}/actions/discard`,
360
- method: "POST",
361
- config: {
362
- params
363
- }
364
- }),
365
- invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {
366
- return [
367
- {
368
- type: "Document",
369
- id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
370
- },
371
- { type: "Document", id: `${model}_LIST` },
372
- "Relations"
373
- ];
374
- }
375
- }),
376
- /**
377
- * Gets all documents of a collection type or single type.
378
- * By passing different params you can get different results e.g. only published documents or 'es' documents.
379
- */
380
- getAllDocuments: builder.query({
381
- query: ({ model, params }) => ({
382
- url: `/content-manager/collection-types/${model}`,
383
- method: "GET",
384
- config: {
385
- params
386
- }
387
- }),
388
- providesTags: (result, _error, arg) => {
389
- return [
390
- { type: "Document", id: `${arg.model}_LIST` },
391
- ...result?.results.map(({ documentId }) => ({
392
- type: "Document",
393
- id: `${arg.model}_${documentId}`
394
- })) ?? []
395
- ];
396
- }
397
- }),
398
- getDraftRelationCount: builder.query({
399
- query: ({ collectionType, model, documentId, params }) => ({
400
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations` : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,
401
- method: "GET",
402
- config: {
403
- params
404
- }
405
- })
406
- }),
407
- getDocument: builder.query({
408
- // @ts-expect-error – TODO: fix ts error where data unknown doesn't work with response via an assertion?
409
- queryFn: async ({ collectionType, model, documentId, params }, _api, _extraOpts, baseQuery) => {
410
- const res = await baseQuery({
411
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ""}`,
412
- method: "GET",
413
- config: {
414
- params
415
- }
416
- });
417
- if (res.error && res.error.name === "NotFoundError" && collectionType === SINGLE_TYPES) {
418
- return { data: { document: void 0 }, error: void 0 };
419
- }
420
- return res;
421
- },
422
- providesTags: (result, _error, { collectionType, model, documentId }) => {
423
- return [
424
- // we prefer the result's id because we don't fetch single-types with an ID.
425
- {
426
- type: "Document",
427
- id: collectionType !== SINGLE_TYPES ? `${model}_${result && "documentId" in result ? result.documentId : documentId}` : model
428
- }
429
- ];
430
- }
431
- }),
432
- getManyDraftRelationCount: builder.query({
433
- query: ({ model, ...params }) => ({
434
- url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,
435
- method: "GET",
436
- config: {
437
- params
438
- }
439
- }),
440
- transformResponse: (response) => response.data
441
- }),
442
- /**
443
- * This endpoint will either create or update documents at the same time as publishing.
444
- */
445
- publishDocument: builder.mutation({
446
- query: ({ collectionType, model, documentId, params, data }) => ({
447
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish` : `/content-manager/${collectionType}/${model}/actions/publish`,
448
- method: "POST",
449
- data,
450
- config: {
451
- params
452
- }
453
- }),
454
- invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {
455
- return [
456
- {
457
- type: "Document",
458
- id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
459
- },
460
- { type: "Document", id: `${model}_LIST` },
461
- "Relations"
462
- ];
463
- }
464
- }),
465
- publishManyDocuments: builder.mutation({
466
- query: ({ model, ...body }) => ({
467
- url: `/content-manager/collection-types/${model}/actions/bulkPublish`,
468
- method: "POST",
469
- data: body
470
- }),
471
- invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
472
- }),
473
- updateDocument: builder.mutation({
474
- query: ({ collectionType, model, documentId, data, params }) => ({
475
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ""}`,
476
- method: "PUT",
477
- data,
478
- config: {
479
- params
480
- }
481
- }),
482
- invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {
483
- return [
484
- {
485
- type: "Document",
486
- id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
487
- },
488
- "Relations"
489
- ];
490
- }
491
- }),
492
- unpublishDocument: builder.mutation({
493
- query: ({ collectionType, model, documentId, params, data }) => ({
494
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish` : `/content-manager/${collectionType}/${model}/actions/unpublish`,
495
- method: "POST",
496
- data,
497
- config: {
498
- params
499
- }
500
- }),
501
- invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {
502
- return [
503
- {
504
- type: "Document",
505
- id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model
506
- }
507
- ];
508
- }
509
- }),
510
- unpublishManyDocuments: builder.mutation({
511
- query: ({ model, ...body }) => ({
512
- url: `/content-manager/collection-types/${model}/actions/bulkUnpublish`,
513
- method: "POST",
514
- data: body
515
- }),
516
- invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
517
- })
518
- })
519
- });
520
- const {
521
- useAutoCloneDocumentMutation,
522
- useCloneDocumentMutation,
523
- useCreateDocumentMutation,
524
- useDeleteDocumentMutation,
525
- useDeleteManyDocumentsMutation,
526
- useDiscardDocumentMutation,
527
- useGetAllDocumentsQuery,
528
- useLazyGetDocumentQuery,
529
- useGetDocumentQuery,
530
- useLazyGetDraftRelationCountQuery,
531
- useGetManyDraftRelationCountQuery,
532
- usePublishDocumentMutation,
533
- usePublishManyDocumentsMutation,
534
- useUpdateDocumentMutation,
535
- useUnpublishDocumentMutation,
536
- useUnpublishManyDocumentsMutation
537
- } = documentApi;
538
- const createYupSchema = (attributes = {}, components = {}) => {
539
- const createModelSchema = (attributes2) => yup__namespace.object().shape(
540
- Object.entries(attributes2).reduce((acc, [name, attribute]) => {
541
- if (DOCUMENT_META_FIELDS.includes(name)) {
542
- return acc;
543
- }
544
- const validations = [
545
- addRequiredValidation,
546
- addMinLengthValidation,
547
- addMaxLengthValidation,
548
- addMinValidation,
549
- addMaxValidation,
550
- addRegexValidation
551
- ].map((fn) => fn(attribute));
552
- const transformSchema = pipe__default.default(...validations);
553
- switch (attribute.type) {
554
- case "component": {
555
- const { attributes: attributes3 } = components[attribute.component];
556
- if (attribute.repeatable) {
557
- return {
558
- ...acc,
559
- [name]: transformSchema(
560
- yup__namespace.array().of(createModelSchema(attributes3).nullable(false))
561
- )
562
- };
563
- } else {
564
- return {
565
- ...acc,
566
- [name]: transformSchema(createModelSchema(attributes3))
567
- };
568
- }
569
- }
570
- case "dynamiczone":
571
- return {
572
- ...acc,
573
- [name]: transformSchema(
574
- yup__namespace.array().of(
575
- yup__namespace.lazy(
576
- (data) => {
577
- const { attributes: attributes3 } = components[data.__component];
578
- return yup__namespace.object().shape({
579
- __component: yup__namespace.string().required().oneOf(Object.keys(components))
580
- }).nullable(false).concat(createModelSchema(attributes3));
581
- }
582
- )
583
- )
584
- )
585
- };
586
- case "relation":
587
- return {
588
- ...acc,
589
- [name]: transformSchema(
590
- yup__namespace.array().of(
591
- yup__namespace.object().shape({
592
- id: yup__namespace.string().required()
593
- })
594
- )
595
- )
596
- };
597
- default:
598
- return {
599
- ...acc,
600
- [name]: transformSchema(createAttributeSchema(attribute))
601
- };
602
- }
603
- }, {})
604
- ).default(null);
605
- return createModelSchema(attributes);
606
- };
607
- const createAttributeSchema = (attribute) => {
608
- switch (attribute.type) {
609
- case "biginteger":
610
- return yup__namespace.string().matches(/^-?\d*$/);
611
- case "boolean":
612
- return yup__namespace.boolean();
613
- case "blocks":
614
- return yup__namespace.mixed().test("isBlocks", strapiAdmin.translatedErrors.json, (value) => {
615
- if (!value || Array.isArray(value)) {
616
- return true;
617
- } else {
618
- return false;
619
- }
620
- });
621
- case "decimal":
622
- case "float":
623
- case "integer":
624
- return yup__namespace.number();
625
- case "email":
626
- return yup__namespace.string().email(strapiAdmin.translatedErrors.email);
627
- case "enumeration":
628
- return yup__namespace.string().oneOf([...attribute.enum, null]);
629
- case "json":
630
- return yup__namespace.mixed().test("isJSON", strapiAdmin.translatedErrors.json, (value) => {
631
- if (!value || typeof value === "string" && value.length === 0) {
632
- return true;
633
- }
634
- try {
635
- JSON.parse(value);
636
- return true;
637
- } catch (err) {
638
- return false;
639
- }
640
- });
641
- case "password":
642
- case "richtext":
643
- case "string":
644
- case "text":
645
- return yup__namespace.string();
646
- case "uid":
647
- return yup__namespace.string().matches(/^[A-Za-z0-9-_.~]*$/);
648
- default:
649
- return yup__namespace.mixed();
650
- }
651
- };
652
- const addRequiredValidation = (attribute) => (schema) => {
653
- if (attribute.required) {
654
- return schema.required({
655
- id: strapiAdmin.translatedErrors.required.id,
656
- defaultMessage: "This field is required."
657
- });
658
- }
659
- return schema.nullable();
660
- };
661
- const addMinLengthValidation = (attribute) => (schema) => {
662
- if ("minLength" in attribute && attribute.minLength && Number.isInteger(attribute.minLength) && "min" in schema) {
663
- return schema.min(attribute.minLength, {
664
- ...strapiAdmin.translatedErrors.minLength,
665
- values: {
666
- min: attribute.minLength
667
- }
668
- });
669
- }
670
- return schema;
671
- };
672
- const addMaxLengthValidation = (attribute) => (schema) => {
673
- if ("maxLength" in attribute && attribute.maxLength && Number.isInteger(attribute.maxLength) && "max" in schema) {
674
- return schema.max(attribute.maxLength, {
675
- ...strapiAdmin.translatedErrors.maxLength,
676
- values: {
677
- max: attribute.maxLength
678
- }
679
- });
680
- }
681
- return schema;
682
- };
683
- const addMinValidation = (attribute) => (schema) => {
684
- if ("min" in attribute) {
685
- const min = toInteger(attribute.min);
686
- if ("min" in schema && min) {
687
- return schema.min(min, {
688
- ...strapiAdmin.translatedErrors.min,
689
- values: {
690
- min
691
- }
692
- });
693
- }
694
- }
695
- return schema;
696
- };
697
- const addMaxValidation = (attribute) => (schema) => {
698
- if ("max" in attribute) {
699
- const max = toInteger(attribute.max);
700
- if ("max" in schema && max) {
701
- return schema.max(max, {
702
- ...strapiAdmin.translatedErrors.max,
703
- values: {
704
- max
705
- }
706
- });
707
- }
708
- }
709
- return schema;
710
- };
711
- const toInteger = (val) => {
712
- if (typeof val === "number" || val === void 0) {
713
- return val;
714
- } else {
715
- const num = Number(val);
716
- return isNaN(num) ? void 0 : num;
717
- }
718
- };
719
- const addRegexValidation = (attribute) => (schema) => {
720
- if ("regex" in attribute && attribute.regex && "matches" in schema) {
721
- return schema.matches(new RegExp(attribute.regex), {
722
- message: {
723
- id: strapiAdmin.translatedErrors.regex.id,
724
- defaultMessage: "The value does not match the defined pattern."
725
- },
726
- excludeEmptyString: !attribute.required
727
- });
728
- }
729
- return schema;
730
- };
731
- const extractValuesFromYupError = (errorType, errorParams) => {
732
- if (!errorType || !errorParams) {
733
- return {};
734
- }
735
- return {
736
- [errorType]: errorParams[errorType]
737
- };
738
- };
739
- const getInnerErrors = (error) => (error?.inner || []).reduce((acc, currentError) => {
740
- if (currentError.path) {
741
- acc[currentError.path.split("[").join(".").split("]").join("")] = {
742
- id: currentError.message,
743
- defaultMessage: currentError.message,
744
- values: extractValuesFromYupError(currentError?.type, currentError?.params)
745
- };
746
- }
747
- return acc;
748
- }, {});
749
- const initApi = contentManagerApi.injectEndpoints({
750
- endpoints: (builder) => ({
751
- getInitialData: builder.query({
752
- query: () => "/content-manager/init",
753
- transformResponse: (response) => response.data,
754
- providesTags: ["InitialData"]
755
- })
756
- })
757
- });
758
- const { useGetInitialDataQuery } = initApi;
759
- const useContentTypeSchema = (model) => {
760
- const { toggleNotification } = strapiAdmin.useNotification();
761
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
762
- const { components, contentType, contentTypes, error, isLoading, isFetching } = useGetInitialDataQuery(void 0, {
763
- selectFromResult: (res) => {
764
- const contentType2 = res.data?.contentTypes.find((ct) => ct.uid === model);
765
- const componentsByKey = res.data?.components.reduce(
766
- (acc, component) => {
767
- acc[component.uid] = component;
768
- return acc;
769
- },
770
- {}
771
- );
772
- const components2 = extractContentTypeComponents(contentType2?.attributes, componentsByKey);
773
- return {
774
- isLoading: res.isLoading,
775
- isFetching: res.isFetching,
776
- error: res.error,
777
- components: Object.keys(components2).length === 0 ? void 0 : components2,
778
- contentType: contentType2,
779
- contentTypes: res.data?.contentTypes ?? []
780
- };
781
- }
782
- });
783
- React__namespace.useEffect(() => {
784
- if (error) {
785
- toggleNotification({
786
- type: "danger",
787
- message: formatAPIError(error)
788
- });
789
- }
790
- }, [toggleNotification, error, formatAPIError]);
791
- return {
792
- // This must be memoized to avoid inifiinite re-renders where the empty object is different everytime.
793
- components: React__namespace.useMemo(() => components ?? {}, [components]),
794
- schema: contentType,
795
- schemas: contentTypes,
796
- isLoading: isLoading || isFetching
797
- };
798
- };
799
- const extractContentTypeComponents = (attributes = {}, allComponents = {}) => {
800
- const getComponents = (attributes2) => {
801
- return attributes2.reduce((acc, attribute) => {
802
- if (attribute.type === "component") {
803
- const componentAttributes = Object.values(
804
- allComponents[attribute.component]?.attributes ?? {}
805
- );
806
- acc.push(attribute.component, ...getComponents(componentAttributes));
807
- } else if (attribute.type === "dynamiczone") {
808
- acc.push(
809
- ...attribute.components,
810
- ...attribute.components.flatMap((componentUid) => {
811
- const componentAttributes = Object.values(
812
- allComponents[componentUid]?.attributes ?? {}
813
- );
814
- return getComponents(componentAttributes);
815
- })
816
- );
817
- }
818
- return acc;
819
- }, []);
820
- };
821
- const componentUids = getComponents(Object.values(attributes));
822
- const uniqueComponentUids = [...new Set(componentUids)];
823
- const componentsByKey = uniqueComponentUids.reduce((acc, uid) => {
824
- acc[uid] = allComponents[uid];
825
- return acc;
826
- }, {});
827
- return componentsByKey;
828
- };
829
- const useDocument = (args, opts) => {
830
- const { toggleNotification } = strapiAdmin.useNotification();
831
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
832
- const {
833
- currentData: data,
834
- isLoading: isLoadingDocument,
835
- isFetching: isFetchingDocument,
836
- error
837
- } = useGetDocumentQuery(args, opts);
838
- const { components, schema, isLoading: isLoadingSchema } = useContentTypeSchema(args.model);
839
- React__namespace.useEffect(() => {
840
- if (error) {
841
- toggleNotification({
842
- type: "danger",
843
- message: formatAPIError(error)
844
- });
845
- }
846
- }, [toggleNotification, error, formatAPIError, args.collectionType]);
847
- const validationSchema = React__namespace.useMemo(() => {
848
- if (!schema) {
849
- return null;
850
- }
851
- return createYupSchema(schema.attributes, components);
852
- }, [schema, components]);
853
- const validate = React__namespace.useCallback(
854
- (document) => {
855
- if (!validationSchema) {
856
- throw new Error(
857
- "There is no validation schema generated, this is likely due to the schema not being loaded yet."
858
- );
859
- }
860
- try {
861
- validationSchema.validateSync(document, { abortEarly: false, strict: true });
862
- return null;
863
- } catch (error2) {
864
- if (error2 instanceof yup.ValidationError) {
865
- return getInnerErrors(error2);
866
- }
867
- throw error2;
868
- }
869
- },
870
- [validationSchema]
871
- );
872
- const isLoading = isLoadingDocument || isFetchingDocument || isLoadingSchema;
873
- return {
874
- components,
875
- document: data?.data,
876
- meta: data?.meta,
877
- isLoading,
878
- schema,
879
- validate
880
- };
881
- };
882
- const useDoc = () => {
883
- const { id, slug, collectionType, origin } = reactRouterDom.useParams();
884
- const [{ query }] = strapiAdmin.useQueryParams();
885
- const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
886
- if (!collectionType) {
887
- throw new Error("Could not find collectionType in url params");
888
- }
889
- if (!slug) {
890
- throw new Error("Could not find model in url params");
891
- }
892
- return {
893
- collectionType,
894
- model: slug,
895
- id: origin || id === "create" ? void 0 : id,
896
- ...useDocument(
897
- { documentId: origin || id, model: slug, collectionType, params },
898
- {
899
- skip: id === "create" || !origin && !id && collectionType !== SINGLE_TYPES
900
- }
901
- )
902
- };
903
- };
904
- const prefixPluginTranslations = (trad, pluginId) => {
905
- if (!pluginId) {
906
- throw new TypeError("pluginId can't be empty");
907
- }
908
- return Object.keys(trad).reduce((acc, current) => {
909
- acc[`${pluginId}.${current}`] = trad[current];
910
- return acc;
911
- }, {});
912
- };
913
- const getTranslation = (id) => `content-manager.${id}`;
914
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
915
- id: "notification.error",
916
- defaultMessage: "An error occurred, please try again"
917
- };
918
- const useDocumentActions = () => {
919
- const { toggleNotification } = strapiAdmin.useNotification();
920
- const { formatMessage } = reactIntl.useIntl();
921
- const { trackUsage } = strapiAdmin.useTracking();
922
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
923
- const [deleteDocument] = useDeleteDocumentMutation();
924
- const _delete = React__namespace.useCallback(
925
- async ({ collectionType, model, documentId, params }, trackerProperty) => {
926
- try {
927
- trackUsage("willDeleteEntry", trackerProperty);
928
- const res = await deleteDocument({
929
- collectionType,
930
- model,
931
- documentId,
932
- params
933
- });
934
- if ("error" in res) {
935
- toggleNotification({
936
- type: "danger",
937
- message: formatAPIError(res.error)
938
- });
939
- return { error: res.error };
940
- }
941
- toggleNotification({
942
- type: "success",
943
- message: formatMessage({
944
- id: getTranslation("success.record.delete"),
945
- defaultMessage: "Deleted document"
946
- })
947
- });
948
- trackUsage("didDeleteEntry", trackerProperty);
949
- return res.data;
950
- } catch (err) {
951
- toggleNotification({
952
- type: "danger",
953
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
954
- });
955
- trackUsage("didNotDeleteEntry", { error: err, ...trackerProperty });
956
- throw err;
957
- }
958
- },
959
- [trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]
960
- );
961
- const [discardDocument] = useDiscardDocumentMutation();
962
- const discard = React__namespace.useCallback(
963
- async ({ collectionType, model, documentId }) => {
964
- try {
965
- const res = await discardDocument({
966
- collectionType,
967
- model,
968
- documentId
969
- });
970
- if ("error" in res) {
971
- toggleNotification({
972
- type: "danger",
973
- message: formatAPIError(res.error)
974
- });
975
- return { error: res.error };
976
- }
977
- toggleNotification({
978
- type: "success",
979
- message: formatMessage({
980
- id: "content-manager.success.record.discard",
981
- defaultMessage: "Changes discarded"
982
- })
983
- });
984
- return res.data;
985
- } catch (err) {
986
- toggleNotification({
987
- type: "danger",
988
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
989
- });
990
- throw err;
991
- }
992
- },
993
- [discardDocument, formatAPIError, formatMessage, toggleNotification]
994
- );
995
- const [publishDocument] = usePublishDocumentMutation();
996
- const publish = React__namespace.useCallback(
997
- async ({ collectionType, model, documentId, params }, data) => {
998
- try {
999
- trackUsage("willPublishEntry");
1000
- const res = await publishDocument({
1001
- collectionType,
1002
- model,
1003
- documentId,
1004
- data,
1005
- params
1006
- });
1007
- if ("error" in res) {
1008
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1009
- return { error: res.error };
1010
- }
1011
- trackUsage("didPublishEntry");
1012
- toggleNotification({
1013
- type: "success",
1014
- message: formatMessage({
1015
- id: getTranslation("success.record.publish"),
1016
- defaultMessage: "Published document"
1017
- })
1018
- });
1019
- return res.data;
1020
- } catch (err) {
1021
- toggleNotification({
1022
- type: "danger",
1023
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1024
- });
1025
- throw err;
1026
- }
1027
- },
1028
- [trackUsage, publishDocument, toggleNotification, formatMessage, formatAPIError]
1029
- );
1030
- const [updateDocument] = useUpdateDocumentMutation();
1031
- const update = React__namespace.useCallback(
1032
- async ({ collectionType, model, documentId, params }, data, trackerProperty) => {
1033
- try {
1034
- trackUsage("willEditEntry", trackerProperty);
1035
- const res = await updateDocument({
1036
- collectionType,
1037
- model,
1038
- documentId,
1039
- data,
1040
- params
1041
- });
1042
- if ("error" in res) {
1043
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1044
- trackUsage("didNotEditEntry", { error: res.error, ...trackerProperty });
1045
- return { error: res.error };
1046
- }
1047
- trackUsage("didEditEntry", trackerProperty);
1048
- toggleNotification({
1049
- type: "success",
1050
- message: formatMessage({
1051
- id: getTranslation("success.record.save"),
1052
- defaultMessage: "Saved document"
1053
- })
1054
- });
1055
- return res.data;
1056
- } catch (err) {
1057
- trackUsage("didNotEditEntry", { error: err, ...trackerProperty });
1058
- toggleNotification({
1059
- type: "danger",
1060
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1061
- });
1062
- throw err;
1063
- }
1064
- },
1065
- [trackUsage, updateDocument, toggleNotification, formatMessage, formatAPIError]
1066
- );
1067
- const [unpublishDocument] = useUnpublishDocumentMutation();
1068
- const unpublish = React__namespace.useCallback(
1069
- async ({ collectionType, model, documentId, params }, discardDraft = false) => {
1070
- try {
1071
- trackUsage("willUnpublishEntry");
1072
- const res = await unpublishDocument({
1073
- collectionType,
1074
- model,
1075
- documentId,
1076
- params,
1077
- data: {
1078
- discardDraft
1079
- }
1080
- });
1081
- if ("error" in res) {
1082
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1083
- return { error: res.error };
1084
- }
1085
- trackUsage("didUnpublishEntry");
1086
- toggleNotification({
1087
- type: "success",
1088
- message: formatMessage({
1089
- id: getTranslation("success.record.unpublish"),
1090
- defaultMessage: "Unpublished document"
1091
- })
1092
- });
1093
- return res.data;
1094
- } catch (err) {
1095
- toggleNotification({
1096
- type: "danger",
1097
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1098
- });
1099
- throw err;
1100
- }
1101
- },
1102
- [trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]
1103
- );
1104
- const [createDocument] = useCreateDocumentMutation();
1105
- const create = React__namespace.useCallback(
1106
- async ({ model, params }, data, trackerProperty) => {
1107
- try {
1108
- const res = await createDocument({
1109
- model,
1110
- data,
1111
- params
1112
- });
1113
- if ("error" in res) {
1114
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1115
- trackUsage("didNotCreateEntry", { error: res.error, ...trackerProperty });
1116
- return { error: res.error };
1117
- }
1118
- trackUsage("didCreateEntry", trackerProperty);
1119
- toggleNotification({
1120
- type: "success",
1121
- message: formatMessage({
1122
- id: getTranslation("success.record.save"),
1123
- defaultMessage: "Saved document"
1124
- })
1125
- });
1126
- return res.data;
1127
- } catch (err) {
1128
- toggleNotification({
1129
- type: "danger",
1130
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1131
- });
1132
- trackUsage("didNotCreateEntry", { error: err, ...trackerProperty });
1133
- throw err;
1134
- }
1135
- },
1136
- [createDocument, formatAPIError, formatMessage, toggleNotification, trackUsage]
1137
- );
1138
- const [autoCloneDocument] = useAutoCloneDocumentMutation();
1139
- const autoClone = React__namespace.useCallback(
1140
- async ({ model, sourceId }) => {
1141
- try {
1142
- const res = await autoCloneDocument({
1143
- model,
1144
- sourceId
1145
- });
1146
- if ("error" in res) {
1147
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1148
- return { error: res.error };
1149
- }
1150
- toggleNotification({
1151
- type: "success",
1152
- message: formatMessage({
1153
- id: getTranslation("success.record.clone"),
1154
- defaultMessage: "Cloned document"
1155
- })
1156
- });
1157
- return res.data;
1158
- } catch (err) {
1159
- toggleNotification({
1160
- type: "danger",
1161
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1162
- });
1163
- throw err;
1164
- }
1165
- },
1166
- [autoCloneDocument, formatAPIError, formatMessage, toggleNotification]
1167
- );
1168
- const [cloneDocument] = useCloneDocumentMutation();
1169
- const clone = React__namespace.useCallback(
1170
- async ({ model, documentId, params }, body, trackerProperty) => {
1171
- try {
1172
- const { id: _id, ...restBody } = body;
1173
- const res = await cloneDocument({
1174
- model,
1175
- sourceId: documentId,
1176
- data: restBody,
1177
- params
1178
- });
1179
- if ("error" in res) {
1180
- toggleNotification({ type: "danger", message: formatAPIError(res.error) });
1181
- trackUsage("didNotCreateEntry", { error: res.error, ...trackerProperty });
1182
- return { error: res.error };
1183
- }
1184
- trackUsage("didCreateEntry", trackerProperty);
1185
- toggleNotification({
1186
- type: "success",
1187
- message: formatMessage({
1188
- id: getTranslation("success.record.clone"),
1189
- defaultMessage: "Cloned document"
1190
- })
1191
- });
1192
- return res.data;
1193
- } catch (err) {
1194
- toggleNotification({
1195
- type: "danger",
1196
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
1197
- });
1198
- trackUsage("didNotCreateEntry", { error: err, ...trackerProperty });
1199
- throw err;
1200
- }
1201
- },
1202
- [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError]
1203
- );
1204
- const [getDoc] = useLazyGetDocumentQuery();
1205
- const getDocument = React__namespace.useCallback(
1206
- async (args) => {
1207
- const { data } = await getDoc(args);
1208
- return data;
1209
- },
1210
- [getDoc]
1211
- );
1212
- return {
1213
- autoClone,
1214
- clone,
1215
- create,
1216
- delete: _delete,
1217
- discard,
1218
- getDocument,
1219
- publish,
1220
- unpublish,
1221
- update
1222
- };
1223
- };
1224
- const ProtectedHistoryPage = React.lazy(
1225
- () => Promise.resolve().then(() => require("./History-DeAPlvtv.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
1226
- );
1227
- const routes$1 = [
1228
- {
1229
- path: ":collectionType/:slug/:id/history",
1230
- Component: ProtectedHistoryPage
1231
- },
1232
- {
1233
- path: ":collectionType/:slug/history",
1234
- Component: ProtectedHistoryPage
1235
- }
1236
- ];
1237
- const ProtectedEditViewPage = React.lazy(
1238
- () => Promise.resolve().then(() => require("./EditViewPage-DvNpQkam.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
1239
- );
1240
- const ProtectedListViewPage = React.lazy(
1241
- () => Promise.resolve().then(() => require("./ListViewPage-5ySZ-VUs.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
1242
- );
1243
- const ProtectedListConfiguration = React.lazy(
1244
- () => Promise.resolve().then(() => require("./ListConfigurationPage-DPCwW5Vr.js")).then((mod) => ({
1245
- default: mod.ProtectedListConfiguration
1246
- }))
1247
- );
1248
- const ProtectedEditConfigurationPage = React.lazy(
1249
- () => Promise.resolve().then(() => require("./EditConfigurationPage-Dmv83RlS.js")).then((mod) => ({
1250
- default: mod.ProtectedEditConfigurationPage
1251
- }))
1252
- );
1253
- const ProtectedComponentConfigurationPage = React.lazy(
1254
- () => Promise.resolve().then(() => require("./ComponentConfigurationPage-DjWJdz6Y.js")).then((mod) => ({
1255
- default: mod.ProtectedComponentConfigurationPage
1256
- }))
1257
- );
1258
- const NoPermissions = React.lazy(
1259
- () => Promise.resolve().then(() => require("./NoPermissionsPage-Dwu8rRJu.js")).then((mod) => ({ default: mod.NoPermissions }))
1260
- );
1261
- const NoContentType = React.lazy(
1262
- () => Promise.resolve().then(() => require("./NoContentTypePage-DOC_yWOf.js")).then((mod) => ({ default: mod.NoContentType }))
1263
- );
1264
- const CollectionTypePages = () => {
1265
- const { collectionType } = reactRouterDom.useParams();
1266
- if (collectionType !== COLLECTION_TYPES && collectionType !== SINGLE_TYPES) {
1267
- return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/404" });
1268
- }
1269
- return collectionType === COLLECTION_TYPES ? /* @__PURE__ */ jsxRuntime.jsx(ProtectedListViewPage, {}) : /* @__PURE__ */ jsxRuntime.jsx(ProtectedEditViewPage, {});
1270
- };
1271
- const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
1272
- const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
1273
- const LIST_RELATIVE_PATH = ":collectionType/:slug";
1274
- const LIST_PATH = `/content-manager/${LIST_RELATIVE_PATH}`;
1275
- const routes = [
1276
- {
1277
- path: LIST_RELATIVE_PATH,
1278
- element: /* @__PURE__ */ jsxRuntime.jsx(CollectionTypePages, {})
1279
- },
1280
- {
1281
- path: ":collectionType/:slug/:id",
1282
- Component: ProtectedEditViewPage
1283
- },
1284
- {
1285
- path: CLONE_RELATIVE_PATH,
1286
- Component: ProtectedEditViewPage
1287
- },
1288
- {
1289
- path: ":collectionType/:slug/configurations/list",
1290
- Component: ProtectedListConfiguration
1291
- },
1292
- {
1293
- path: "components/:slug/configurations/edit",
1294
- Component: ProtectedComponentConfigurationPage
1295
- },
1296
- {
1297
- path: ":collectionType/:slug/configurations/edit",
1298
- Component: ProtectedEditConfigurationPage
1299
- },
1300
- {
1301
- path: "403",
1302
- Component: NoPermissions
1303
- },
1304
- {
1305
- path: "no-content-types",
1306
- Component: NoContentType
1307
- },
1308
- ...routes$1
1309
- ];
1310
- const DocumentActions = ({ actions: actions2 }) => {
1311
- const { formatMessage } = reactIntl.useIntl();
1312
- const [primaryAction, secondaryAction, ...restActions] = actions2.filter((action) => {
1313
- if (action.position === void 0) {
1314
- return true;
1315
- }
1316
- const positions = Array.isArray(action.position) ? action.position : [action.position];
1317
- return positions.includes("panel");
1318
- });
1319
- if (!primaryAction) {
1320
- return null;
1321
- }
1322
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, alignItems: "stretch", width: "100%", children: [
1323
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
1324
- /* @__PURE__ */ jsxRuntime.jsx(DocumentActionButton, { ...primaryAction, variant: primaryAction.variant || "default" }),
1325
- restActions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
1326
- DocumentActionsMenu,
1327
- {
1328
- actions: restActions,
1329
- label: formatMessage({
1330
- id: "content-manager.containers.edit.panels.default.more-actions",
1331
- defaultMessage: "More document actions"
1332
- })
1333
- }
1334
- ) : null
1335
- ] }),
1336
- secondaryAction ? /* @__PURE__ */ jsxRuntime.jsx(
1337
- DocumentActionButton,
1338
- {
1339
- ...secondaryAction,
1340
- variant: secondaryAction.variant || "secondary"
1341
- }
1342
- ) : null
1343
- ] });
1344
- };
1345
- const DocumentActionButton = (action) => {
1346
- const [dialogId, setDialogId] = React__namespace.useState(null);
1347
- const { toggleNotification } = strapiAdmin.useNotification();
1348
- const handleClick = (action2) => async (e) => {
1349
- const { onClick = () => false, dialog, id } = action2;
1350
- const muteDialog = await onClick(e);
1351
- if (dialog && !muteDialog) {
1352
- switch (dialog.type) {
1353
- case "notification":
1354
- toggleNotification({
1355
- title: dialog.title,
1356
- message: dialog.content,
1357
- type: dialog.status,
1358
- timeout: dialog.timeout,
1359
- onClose: dialog.onClose
1360
- });
1361
- break;
1362
- case "dialog":
1363
- case "modal":
1364
- e.preventDefault();
1365
- setDialogId(id);
1366
- }
1367
- }
1368
- };
1369
- const handleClose = () => {
1370
- setDialogId(null);
1371
- };
1372
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1373
- /* @__PURE__ */ jsxRuntime.jsx(
1374
- designSystem.Button,
1375
- {
1376
- flex: 1,
1377
- startIcon: action.icon,
1378
- disabled: action.disabled,
1379
- onClick: handleClick(action),
1380
- justifyContent: "center",
1381
- variant: action.variant || "default",
1382
- children: action.label
1383
- }
1384
- ),
1385
- action.dialog?.type === "dialog" ? /* @__PURE__ */ jsxRuntime.jsx(
1386
- DocumentActionConfirmDialog,
1387
- {
1388
- ...action.dialog,
1389
- variant: action.variant,
1390
- isOpen: dialogId === action.id,
1391
- onClose: handleClose
1392
- }
1393
- ) : null,
1394
- action.dialog?.type === "modal" ? /* @__PURE__ */ jsxRuntime.jsx(
1395
- DocumentActionModal,
1396
- {
1397
- ...action.dialog,
1398
- onModalClose: handleClose,
1399
- isOpen: dialogId === action.id
1400
- }
1401
- ) : null
1402
- ] });
1403
- };
1404
- const DocumentActionsMenu = ({
1405
- actions: actions2,
1406
- children,
1407
- label,
1408
- variant = "tertiary"
1409
- }) => {
1410
- const [isOpen, setIsOpen] = React__namespace.useState(false);
1411
- const [dialogId, setDialogId] = React__namespace.useState(null);
1412
- const { formatMessage } = reactIntl.useIntl();
1413
- const { toggleNotification } = strapiAdmin.useNotification();
1414
- const isDisabled = actions2.every((action) => action.disabled) || actions2.length === 0;
1415
- const handleClick = (action) => async (e) => {
1416
- const { onClick = () => false, dialog, id } = action;
1417
- const muteDialog = await onClick(e);
1418
- if (dialog && !muteDialog) {
1419
- switch (dialog.type) {
1420
- case "notification":
1421
- toggleNotification({
1422
- title: dialog.title,
1423
- message: dialog.content,
1424
- type: dialog.status,
1425
- timeout: dialog.timeout,
1426
- onClose: dialog.onClose
1427
- });
1428
- break;
1429
- case "dialog":
1430
- case "modal":
1431
- setDialogId(id);
1432
- }
1433
- }
1434
- };
1435
- const handleClose = () => {
1436
- setDialogId(null);
1437
- setIsOpen(false);
1438
- };
1439
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Root, { open: isOpen, onOpenChange: setIsOpen, children: [
1440
- /* @__PURE__ */ jsxRuntime.jsxs(
1441
- designSystem.Menu.Trigger,
1442
- {
1443
- disabled: isDisabled,
1444
- size: "S",
1445
- endIcon: null,
1446
- paddingTop: "7px",
1447
- paddingLeft: "9px",
1448
- paddingRight: "9px",
1449
- variant,
1450
- children: [
1451
- /* @__PURE__ */ jsxRuntime.jsx(Icons.More, { "aria-hidden": true, focusable: false }),
1452
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { as: "span", children: label || formatMessage({
1453
- id: "content-manager.containers.edit.panels.default.more-actions",
1454
- defaultMessage: "More document actions"
1455
- }) })
1456
- ]
1457
- }
1458
- ),
1459
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { top: "4px", maxHeight: void 0, popoverPlacement: "bottom-end", children: [
1460
- actions2.map((action) => {
1461
- return /* @__PURE__ */ jsxRuntime.jsx(
1462
- designSystem.Menu.Item,
1463
- {
1464
- disabled: action.disabled,
1465
- onSelect: handleClick(action),
1466
- display: "block",
1467
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: [
1468
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { color: convertActionVariantToColor(action.variant), gap: 2, as: "span", children: [
1469
- action.icon,
1470
- action.label
1471
- ] }),
1472
- action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsxRuntime.jsx(
1473
- designSystem.Flex,
1474
- {
1475
- alignItems: "center",
1476
- background: "alternative100",
1477
- borderStyle: "solid",
1478
- borderColor: "alternative200",
1479
- borderWidth: "1px",
1480
- height: 5,
1481
- paddingLeft: 2,
1482
- paddingRight: 2,
1483
- hasRadius: true,
1484
- color: "alternative600",
1485
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
1486
- }
1487
- )
1488
- ] })
1489
- },
1490
- action.id
1491
- );
1492
- }),
1493
- children
1494
- ] }),
1495
- actions2.map((action) => {
1496
- return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
1497
- action.dialog?.type === "dialog" ? /* @__PURE__ */ jsxRuntime.jsx(
1498
- DocumentActionConfirmDialog,
1499
- {
1500
- ...action.dialog,
1501
- variant: action.variant,
1502
- isOpen: dialogId === action.id,
1503
- onClose: handleClose
1504
- }
1505
- ) : null,
1506
- action.dialog?.type === "modal" ? /* @__PURE__ */ jsxRuntime.jsx(
1507
- DocumentActionModal,
1508
- {
1509
- ...action.dialog,
1510
- onModalClose: handleClose,
1511
- isOpen: dialogId === action.id
1512
- }
1513
- ) : null
1514
- ] }, action.id);
1515
- })
1516
- ] });
1517
- };
1518
- const convertActionVariantToColor = (variant = "secondary") => {
1519
- switch (variant) {
1520
- case "danger":
1521
- return "danger600";
1522
- case "secondary":
1523
- return void 0;
1524
- case "success":
1525
- return "success600";
1526
- default:
1527
- return "primary600";
1528
- }
1529
- };
1530
- const DocumentActionConfirmDialog = ({
1531
- onClose,
1532
- onCancel,
1533
- onConfirm,
1534
- title,
1535
- content,
1536
- isOpen,
1537
- variant = "secondary"
1538
- }) => {
1539
- const { formatMessage } = reactIntl.useIntl();
1540
- const handleClose = async () => {
1541
- if (onCancel) {
1542
- await onCancel();
1543
- }
1544
- onClose();
1545
- };
1546
- const handleConfirm = async () => {
1547
- if (onConfirm) {
1548
- await onConfirm();
1549
- }
1550
- onClose();
1551
- };
1552
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog, { isOpen, title, onClose: handleClose, children: [
1553
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.DialogBody, { children: content }),
1554
- /* @__PURE__ */ jsxRuntime.jsx(
1555
- designSystem.DialogFooter,
1556
- {
1557
- startAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleClose, variant: "tertiary", children: formatMessage({
1558
- id: "app.components.Button.cancel",
1559
- defaultMessage: "Cancel"
1560
- }) }),
1561
- endAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleConfirm, variant, children: formatMessage({
1562
- id: "app.components.Button.confirm",
1563
- defaultMessage: "Confirm"
1564
- }) })
1565
- }
1566
- )
1567
- ] });
1568
- };
1569
- const DocumentActionModal = ({
1570
- isOpen,
1571
- title,
1572
- onClose,
1573
- footer: Footer,
1574
- content,
1575
- onModalClose
1576
- }) => {
1577
- const id = React__namespace.useId();
1578
- if (!isOpen) {
1579
- return null;
1580
- }
1581
- const handleClose = () => {
1582
- if (onClose) {
1583
- onClose();
1584
- }
1585
- onModalClose();
1586
- };
1587
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { borderRadius: "4px", overflow: "hidden", onClose: handleClose, labelledBy: id, children: [
1588
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", as: "h2", id, children: title }) }),
1589
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: content }),
1590
- /* @__PURE__ */ jsxRuntime.jsx(
1591
- designSystem.Box,
1592
- {
1593
- paddingTop: 4,
1594
- paddingBottom: 4,
1595
- paddingLeft: 5,
1596
- paddingRight: 5,
1597
- borderWidth: "1px 0 0 0",
1598
- borderStyle: "solid",
1599
- borderColor: "neutral150",
1600
- background: "neutral100",
1601
- children: typeof Footer === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Footer, { onClose: handleClose }) : Footer
1602
- }
1603
- )
1604
- ] });
1605
- };
1606
- const PublishAction = ({
1607
- activeTab,
1608
- documentId,
1609
- model,
1610
- collectionType,
1611
- meta,
1612
- document
1613
- }) => {
1614
- const { schema } = useDoc();
1615
- const navigate = reactRouterDom.useNavigate();
1616
- const { toggleNotification } = strapiAdmin.useNotification();
1617
- const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
1618
- const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
1619
- const { formatMessage } = reactIntl.useIntl();
1620
- const { canPublish, canCreate, canUpdate } = useDocumentRBAC(
1621
- "PublishAction",
1622
- ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 }) => ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 })
1623
- );
1624
- const { publish } = useDocumentActions();
1625
- const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
1626
- const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
1627
- const modified = strapiAdmin.useForm("PublishAction", ({ modified: modified2 }) => modified2);
1628
- const setSubmitting = strapiAdmin.useForm("PublishAction", ({ setSubmitting: setSubmitting2 }) => setSubmitting2);
1629
- const isSubmitting = strapiAdmin.useForm("PublishAction", ({ isSubmitting: isSubmitting2 }) => isSubmitting2);
1630
- const validate = strapiAdmin.useForm("PublishAction", (state) => state.validate);
1631
- const setErrors = strapiAdmin.useForm("PublishAction", (state) => state.setErrors);
1632
- const formValues = strapiAdmin.useForm("PublishAction", ({ values }) => values);
1633
- const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc) => doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== "modified";
1634
- if (!schema?.options?.draftAndPublish) {
1635
- return null;
1636
- }
1637
- return {
1638
- /**
1639
- * Disabled when:
1640
- * - currently if you're cloning a document we don't support publish & clone at the same time.
1641
- * - the form is submitting
1642
- * - the active tab is the published tab
1643
- * - the document is already published & not modified
1644
- * - the document is being created & not modified
1645
- * - the user doesn't have the permission to publish
1646
- * - the user doesn't have the permission to create a new document
1647
- * - the user doesn't have the permission to update the document
1648
- */
1649
- disabled: isCloning || isSubmitting || activeTab === "published" || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish || Boolean(!document?.documentId && !canCreate || document?.documentId && !canUpdate),
1650
- label: formatMessage({
1651
- id: "app.utils.publish",
1652
- defaultMessage: "Publish"
1653
- }),
1654
- onClick: async () => {
1655
- setSubmitting(true);
1656
- try {
1657
- const { errors } = await validate();
1658
- if (errors) {
1659
- toggleNotification({
1660
- type: "danger",
1661
- message: formatMessage({
1662
- id: "content-manager.validation.error",
1663
- defaultMessage: "There are validation errors in your document. Please fix them before saving."
1664
- })
1665
- });
1666
- return;
1667
- }
1668
- const res = await publish(
1669
- {
1670
- collectionType,
1671
- model,
1672
- documentId,
1673
- params
1674
- },
1675
- formValues
1676
- );
1677
- if ("data" in res && collectionType !== SINGLE_TYPES) {
1678
- navigate({
1679
- pathname: `../${collectionType}/${model}/${res.data.documentId}`,
1680
- search: rawQuery
1681
- });
1682
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1683
- setErrors(formatValidationErrors(res.error));
1684
- }
1685
- } finally {
1686
- setSubmitting(false);
1687
- }
1688
- }
1689
- };
1690
- };
1691
- PublishAction.type = "publish";
1692
- const UpdateAction = ({
1693
- activeTab,
1694
- documentId,
1695
- model,
1696
- collectionType
1697
- }) => {
1698
- const navigate = reactRouterDom.useNavigate();
1699
- const { toggleNotification } = strapiAdmin.useNotification();
1700
- const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
1701
- const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
1702
- const isCloning = cloneMatch !== null;
1703
- const { formatMessage } = reactIntl.useIntl();
1704
- const { canCreate, canUpdate } = useDocumentRBAC("UpdateAction", ({ canCreate: canCreate2, canUpdate: canUpdate2 }) => ({
1705
- canCreate: canCreate2,
1706
- canUpdate: canUpdate2
1707
- }));
1708
- const { create, update, clone } = useDocumentActions();
1709
- const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
1710
- const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
1711
- const isSubmitting = strapiAdmin.useForm("UpdateAction", ({ isSubmitting: isSubmitting2 }) => isSubmitting2);
1712
- const modified = strapiAdmin.useForm("UpdateAction", ({ modified: modified2 }) => modified2);
1713
- const setSubmitting = strapiAdmin.useForm("UpdateAction", ({ setSubmitting: setSubmitting2 }) => setSubmitting2);
1714
- const document = strapiAdmin.useForm("UpdateAction", ({ values }) => values);
1715
- const validate = strapiAdmin.useForm("UpdateAction", (state) => state.validate);
1716
- const setErrors = strapiAdmin.useForm("UpdateAction", (state) => state.setErrors);
1717
- const resetForm = strapiAdmin.useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
1718
- return {
1719
- /**
1720
- * Disabled when:
1721
- * - the form is submitting
1722
- * - the document is not modified & we're not cloning (you can save a clone entity straight away)
1723
- * - the active tab is the published tab
1724
- * - the user doesn't have the permission to create a new document
1725
- * - the user doesn't have the permission to update the document
1726
- */
1727
- disabled: isSubmitting || !modified && !isCloning || activeTab === "published" || Boolean(!documentId && !canCreate || documentId && !canUpdate),
1728
- label: formatMessage({
1729
- id: "content-manager.containers.Edit.save",
1730
- defaultMessage: "Save"
1731
- }),
1732
- onClick: async () => {
1733
- setSubmitting(true);
1734
- try {
1735
- const { errors } = await validate();
1736
- if (errors) {
1737
- toggleNotification({
1738
- type: "danger",
1739
- message: formatMessage({
1740
- id: "content-manager.validation.error",
1741
- defaultMessage: "There are validation errors in your document. Please fix them before saving."
1742
- })
1743
- });
1744
- return;
1745
- }
1746
- if (isCloning) {
1747
- const res = await clone(
1748
- {
1749
- model,
1750
- documentId: cloneMatch.params.origin,
1751
- params
1752
- },
1753
- document
1754
- );
1755
- if ("data" in res) {
1756
- navigate({
1757
- pathname: `../${collectionType}/${model}/${res.data.documentId}`,
1758
- search: rawQuery
1759
- });
1760
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1761
- setErrors(formatValidationErrors(res.error));
1762
- }
1763
- } else if (documentId || collectionType === SINGLE_TYPES) {
1764
- const res = await update(
1765
- {
1766
- collectionType,
1767
- model,
1768
- documentId,
1769
- params
1770
- },
1771
- document
1772
- );
1773
- if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1774
- setErrors(formatValidationErrors(res.error));
1775
- } else {
1776
- resetForm();
1777
- }
1778
- } else {
1779
- const res = await create(
1780
- {
1781
- model,
1782
- params
1783
- },
1784
- document
1785
- );
1786
- if ("data" in res && collectionType !== SINGLE_TYPES) {
1787
- navigate({
1788
- pathname: `../${collectionType}/${model}/${res.data.documentId}`,
1789
- search: rawQuery
1790
- });
1791
- } else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1792
- setErrors(formatValidationErrors(res.error));
1793
- }
1794
- }
1795
- } finally {
1796
- setSubmitting(false);
1797
- }
1798
- }
1799
- };
1800
- };
1801
- UpdateAction.type = "update";
1802
- const UNPUBLISH_DRAFT_OPTIONS = {
1803
- KEEP: "keep",
1804
- DISCARD: "discard"
1805
- };
1806
- const UnpublishAction = ({
1807
- activeTab,
1808
- documentId,
1809
- model,
1810
- collectionType,
1811
- document
1812
- }) => {
1813
- const { formatMessage } = reactIntl.useIntl();
1814
- const { schema } = useDoc();
1815
- const canPublish = useDocumentRBAC("UnpublishAction", ({ canPublish: canPublish2 }) => canPublish2);
1816
- const { unpublish } = useDocumentActions();
1817
- const [{ query }] = strapiAdmin.useQueryParams();
1818
- const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
1819
- const { toggleNotification } = strapiAdmin.useNotification();
1820
- const [shouldKeepDraft, setShouldKeepDraft] = React__namespace.useState(true);
1821
- const isDocumentModified = document?.status === "modified";
1822
- const handleChange = (e) => {
1823
- if ("value" in e.target) {
1824
- setShouldKeepDraft(e.target.value === UNPUBLISH_DRAFT_OPTIONS.KEEP);
1825
- }
1826
- };
1827
- if (!schema?.options?.draftAndPublish) {
1828
- return null;
1829
- }
1830
- return {
1831
- disabled: !canPublish || activeTab === "published" || document?.status !== "published" && document?.status !== "modified",
1832
- label: formatMessage({
1833
- id: "app.utils.unpublish",
1834
- defaultMessage: "Unpublish"
1835
- }),
1836
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledCrossCircle, {}),
1837
- onClick: async () => {
1838
- if (!documentId && collectionType !== SINGLE_TYPES || isDocumentModified) {
1839
- if (!documentId) {
1840
- console.error(
1841
- "You're trying to unpublish a document without an id, this is likely a bug with Strapi. Please open an issue."
1842
- );
1843
- toggleNotification({
1844
- message: formatMessage({
1845
- id: "content-manager.actions.unpublish.error",
1846
- defaultMessage: "An error occurred while trying to unpublish the document."
1847
- }),
1848
- type: "danger"
1849
- });
1850
- }
1851
- return;
1852
- }
1853
- await unpublish({
1854
- collectionType,
1855
- model,
1856
- documentId,
1857
- params
1858
- });
1859
- },
1860
- dialog: isDocumentModified ? {
1861
- type: "dialog",
1862
- title: formatMessage({
1863
- id: "app.components.ConfirmDialog.title",
1864
- defaultMessage: "Confirmation"
1865
- }),
1866
- content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "flex-start", direction: "column", gap: 6, children: [
1867
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", direction: "column", gap: 2, children: [
1868
- /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
1869
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", variant: "omega", textAlign: "center", children: formatMessage({
1870
- id: "content-manager.actions.unpublish.dialog.body",
1871
- defaultMessage: "Are you sure?"
1872
- }) })
1873
- ] }),
1874
- /* @__PURE__ */ jsxRuntime.jsxs(
1875
- designSystem.Flex,
1876
- {
1877
- onChange: handleChange,
1878
- direction: "column",
1879
- alignItems: "flex-start",
1880
- as: "fieldset",
1881
- gap: 3,
1882
- children: [
1883
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { as: "legend" }),
1884
- /* @__PURE__ */ jsxRuntime.jsx(
1885
- designSystem.Radio,
1886
- {
1887
- checked: shouldKeepDraft,
1888
- value: UNPUBLISH_DRAFT_OPTIONS.KEEP,
1889
- name: "discard-options",
1890
- children: formatMessage({
1891
- id: "content-manager.actions.unpublish.dialog.option.keep-draft",
1892
- defaultMessage: "Keep draft"
1893
- })
1894
- }
1895
- ),
1896
- /* @__PURE__ */ jsxRuntime.jsx(
1897
- designSystem.Radio,
1898
- {
1899
- checked: !shouldKeepDraft,
1900
- value: UNPUBLISH_DRAFT_OPTIONS.DISCARD,
1901
- name: "discard-options",
1902
- children: formatMessage({
1903
- id: "content-manager.actions.unpublish.dialog.option.replace-draft",
1904
- defaultMessage: "Replace draft"
1905
- })
1906
- }
1907
- )
1908
- ]
1909
- }
1910
- )
1911
- ] }),
1912
- onConfirm: async () => {
1913
- if (!documentId && collectionType !== SINGLE_TYPES) {
1914
- console.error(
1915
- "You're trying to unpublish a document without an id, this is likely a bug with Strapi. Please open an issue."
1916
- );
1917
- toggleNotification({
1918
- message: formatMessage({
1919
- id: "content-manager.actions.unpublish.error",
1920
- defaultMessage: "An error occurred while trying to unpublish the document."
1921
- }),
1922
- type: "danger"
1923
- });
1924
- }
1925
- await unpublish(
1926
- {
1927
- collectionType,
1928
- model,
1929
- documentId,
1930
- params
1931
- },
1932
- !shouldKeepDraft
1933
- );
1934
- }
1935
- } : void 0,
1936
- variant: "danger",
1937
- position: ["panel", "table-row"]
1938
- };
1939
- };
1940
- UnpublishAction.type = "unpublish";
1941
- const DiscardAction = ({
1942
- activeTab,
1943
- documentId,
1944
- model,
1945
- collectionType,
1946
- document
1947
- }) => {
1948
- const { formatMessage } = reactIntl.useIntl();
1949
- const { schema } = useDoc();
1950
- const canUpdate = useDocumentRBAC("DiscardAction", ({ canUpdate: canUpdate2 }) => canUpdate2);
1951
- const { discard } = useDocumentActions();
1952
- const [{ query }] = strapiAdmin.useQueryParams();
1953
- const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
1954
- if (!schema?.options?.draftAndPublish) {
1955
- return null;
1956
- }
1957
- return {
1958
- disabled: !canUpdate || activeTab === "published" || document?.status !== "modified",
1959
- label: formatMessage({
1960
- id: "content-manager.actions.discard.label",
1961
- defaultMessage: "Discard changes"
1962
- }),
1963
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledCrossCircle, {}),
1964
- position: ["panel", "table-row"],
1965
- variant: "danger",
1966
- dialog: {
1967
- type: "dialog",
1968
- title: formatMessage({
1969
- id: "app.components.ConfirmDialog.title",
1970
- defaultMessage: "Confirmation"
1971
- }),
1972
- content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
1973
- /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
1974
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", variant: "omega", textAlign: "center", children: formatMessage({
1975
- id: "content-manager.actions.discard.dialog.body",
1976
- defaultMessage: "Are you sure?"
1977
- }) })
1978
- ] }),
1979
- onConfirm: async () => {
1980
- await discard({
1981
- collectionType,
1982
- model,
1983
- documentId,
1984
- params
1985
- });
1986
- }
1987
- }
1988
- };
1989
- };
1990
- DiscardAction.type = "discard";
1991
- const StyledCrossCircle = styled__default.default(Icons.CrossCircle)`
1992
- path {
1993
- fill: currentColor;
1994
- }
1995
- `;
1996
- const DEFAULT_ACTIONS = [PublishAction, UpdateAction, UnpublishAction, DiscardAction];
1997
- const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
1998
- const RelativeTime = React__namespace.forwardRef(
1999
- ({ timestamp, customIntervals = [], ...restProps }, forwardedRef) => {
2000
- const { formatRelativeTime, formatDate, formatTime } = reactIntl.useIntl();
2001
- const interval = dateFns.intervalToDuration({
2002
- start: timestamp,
2003
- end: Date.now()
2004
- // see https://github.com/date-fns/date-fns/issues/2891 – No idea why it's all partial it returns it every time.
2005
- });
2006
- const unit = intervals.find((intervalUnit) => {
2007
- return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
2008
- });
2009
- const relativeTime = dateFns.isPast(timestamp) ? -interval[unit] : interval[unit];
2010
- const customInterval = customIntervals.find(
2011
- (custom) => interval[custom.unit] < custom.threshold
2012
- );
2013
- const displayText = customInterval ? customInterval.text : formatRelativeTime(relativeTime, unit, { numeric: "auto" });
2014
- return /* @__PURE__ */ jsxRuntime.jsx(
2015
- "time",
2016
- {
2017
- ref: forwardedRef,
2018
- dateTime: timestamp.toISOString(),
2019
- role: "time",
2020
- title: `${formatDate(timestamp)} ${formatTime(timestamp)}`,
2021
- ...restProps,
2022
- children: displayText
2023
- }
2024
- );
2025
- }
2026
- );
2027
- const getDisplayName = ({
2028
- firstname,
2029
- lastname,
2030
- username,
2031
- email
2032
- } = {}) => {
2033
- if (username) {
2034
- return username;
2035
- }
2036
- if (firstname) {
2037
- return `${firstname} ${lastname ?? ""}`.trim();
2038
- }
2039
- return email ?? "";
2040
- };
2041
- const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
2042
- const DocumentStatus = ({ status = "draft", ...restProps }) => {
2043
- const statusVariant = status === "draft" ? "primary" : status === "published" ? "success" : "alternative";
2044
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
2045
- };
2046
- const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
2047
- const { formatMessage } = reactIntl.useIntl();
2048
- const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
2049
- const title = isCreating ? formatMessage({
2050
- id: "content-manager.containers.edit.title.new",
2051
- defaultMessage: "Create an entry"
2052
- }) : documentTitle;
2053
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", paddingTop: 8, paddingBottom: 4, gap: 3, children: [
2054
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.BackButton, {}),
2055
- /* @__PURE__ */ jsxRuntime.jsxs(
2056
- designSystem.Flex,
2057
- {
2058
- width: "100%",
2059
- justifyContent: "space-between",
2060
- paddingTop: 1,
2061
- gap: "80px",
2062
- alignItems: "flex-start",
2063
- children: [
2064
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", as: "h1", children: title }),
2065
- /* @__PURE__ */ jsxRuntime.jsx(HeaderToolbar, {})
2066
- ]
2067
- }
2068
- ),
2069
- status ? /* @__PURE__ */ jsxRuntime.jsx(DocumentStatus, { status: isCloning ? "draft" : status }) : null
2070
- ] });
2071
- };
2072
- const HeaderToolbar = () => {
2073
- const { formatMessage } = reactIntl.useIntl();
2074
- const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
2075
- const [
2076
- {
2077
- query: { status = "draft" }
2078
- }
2079
- ] = strapiAdmin.useQueryParams();
2080
- const { model, id, document, meta, collectionType } = useDoc();
2081
- const plugins = strapiAdmin.useStrapiApp("HeaderToolbar", (state) => state.plugins);
2082
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
2083
- /* @__PURE__ */ jsxRuntime.jsx(
2084
- strapiAdmin.DescriptionComponentRenderer,
2085
- {
2086
- props: {
2087
- activeTab: status,
2088
- model,
2089
- documentId: id,
2090
- document: isCloning ? void 0 : document,
2091
- meta: isCloning ? void 0 : meta,
2092
- collectionType
2093
- },
2094
- descriptions: plugins["content-manager"].apis.getHeaderActions(),
2095
- children: (actions2) => {
2096
- if (actions2.length > 0) {
2097
- return /* @__PURE__ */ jsxRuntime.jsx(HeaderActions, { actions: actions2 });
2098
- } else {
2099
- return null;
2100
- }
2101
- }
2102
- }
2103
- ),
2104
- /* @__PURE__ */ jsxRuntime.jsx(
2105
- strapiAdmin.DescriptionComponentRenderer,
2106
- {
2107
- props: {
2108
- activeTab: status,
2109
- model,
2110
- documentId: id,
2111
- document: isCloning ? void 0 : document,
2112
- meta: isCloning ? void 0 : meta,
2113
- collectionType
2114
- },
2115
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
2116
- children: (actions2) => {
2117
- const headerActions = actions2.filter((action) => {
2118
- const positions = Array.isArray(action.position) ? action.position : [action.position];
2119
- return positions.includes("header");
2120
- });
2121
- return /* @__PURE__ */ jsxRuntime.jsx(
2122
- DocumentActionsMenu,
2123
- {
2124
- actions: headerActions,
2125
- label: formatMessage({
2126
- id: "content-manager.containers.edit.header.more-actions",
2127
- defaultMessage: "More actions"
2128
- }),
2129
- children: /* @__PURE__ */ jsxRuntime.jsx(Information, { activeTab: status })
2130
- }
2131
- );
2132
- }
2133
- }
2134
- )
2135
- ] });
2136
- };
2137
- const Information = ({ activeTab }) => {
2138
- const { formatMessage } = reactIntl.useIntl();
2139
- const { document, meta } = useDoc();
2140
- if (!document || !document.id) {
2141
- return null;
2142
- }
2143
- const createAndUpdateDocument = activeTab === "draft" ? document : meta?.availableStatus.find((status) => status.publishedAt === null);
2144
- const publishDocument = activeTab === "published" ? document : meta?.availableStatus.find((status) => status.publishedAt !== null);
2145
- const creator = createAndUpdateDocument?.[CREATED_BY_ATTRIBUTE_NAME] ? getDisplayName(createAndUpdateDocument[CREATED_BY_ATTRIBUTE_NAME]) : null;
2146
- const updator = createAndUpdateDocument?.[UPDATED_BY_ATTRIBUTE_NAME] ? getDisplayName(createAndUpdateDocument[UPDATED_BY_ATTRIBUTE_NAME]) : null;
2147
- const information = [
2148
- {
2149
- isDisplayed: !!publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME],
2150
- label: formatMessage({
2151
- id: "content-manager.containers.edit.information.last-published.label",
2152
- defaultMessage: "Last published"
2153
- }),
2154
- value: formatMessage(
2155
- {
2156
- id: "content-manager.containers.edit.information.last-published.value",
2157
- defaultMessage: `Published {time}{isAnonymous, select, true {} other { by {author}}}`
2158
- },
2159
- {
2160
- time: /* @__PURE__ */ jsxRuntime.jsx(RelativeTime, { timestamp: new Date(publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME]) }),
2161
- isAnonymous: !publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME],
2162
- author: publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME] ? getDisplayName(publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME]) : null
2163
- }
2164
- )
2165
- },
2166
- {
2167
- isDisplayed: !!createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME],
2168
- label: formatMessage({
2169
- id: "content-manager.containers.edit.information.last-draft.label",
2170
- defaultMessage: "Last draft"
2171
- }),
2172
- value: formatMessage(
2173
- {
2174
- id: "content-manager.containers.edit.information.last-draft.value",
2175
- defaultMessage: `Modified {time}{isAnonymous, select, true {} other { by {author}}}`
2176
- },
2177
- {
2178
- time: /* @__PURE__ */ jsxRuntime.jsx(
2179
- RelativeTime,
2180
- {
2181
- timestamp: new Date(createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME])
2182
- }
2183
- ),
2184
- isAnonymous: !updator,
2185
- author: updator
2186
- }
2187
- )
2188
- },
2189
- {
2190
- isDisplayed: !!createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME],
2191
- label: formatMessage({
2192
- id: "content-manager.containers.edit.information.document.label",
2193
- defaultMessage: "Document"
2194
- }),
2195
- value: formatMessage(
2196
- {
2197
- id: "content-manager.containers.edit.information.document.value",
2198
- defaultMessage: `Created {time}{isAnonymous, select, true {} other { by {author}}}`
2199
- },
2200
- {
2201
- time: /* @__PURE__ */ jsxRuntime.jsx(
2202
- RelativeTime,
2203
- {
2204
- timestamp: new Date(createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME])
2205
- }
2206
- ),
2207
- isAnonymous: !creator,
2208
- author: creator
2209
- }
2210
- )
2211
- }
2212
- ].filter((info) => info.isDisplayed);
2213
- return /* @__PURE__ */ jsxRuntime.jsx(
2214
- designSystem.Flex,
2215
- {
2216
- borderWidth: "1px 0 0 0",
2217
- borderStyle: "solid",
2218
- borderColor: "neutral150",
2219
- direction: "column",
2220
- marginTop: 2,
2221
- as: "dl",
2222
- padding: 5,
2223
- gap: 3,
2224
- alignItems: "flex-start",
2225
- marginLeft: "-0.4rem",
2226
- marginRight: "-0.4rem",
2227
- width: "calc(100% + 8px)",
2228
- children: information.map((info) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, direction: "column", alignItems: "flex-start", children: [
2229
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "dt", variant: "pi", fontWeight: "bold", children: info.label }),
2230
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "dd", variant: "pi", textColor: "neutral600", children: info.value })
2231
- ] }, info.label))
2232
- }
2233
- );
2234
- };
2235
- const HeaderActions = ({ actions: actions2 }) => {
2236
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { children: actions2.map((action) => {
2237
- if ("options" in action) {
2238
- return /* @__PURE__ */ jsxRuntime.jsx(
2239
- designSystem.SingleSelect,
2240
- {
2241
- size: "S",
2242
- disabled: action.disabled,
2243
- "aria-label": action.label,
2244
- onChange: action.onSelect,
2245
- value: action.value,
2246
- children: action.options.map(({ label, ...option }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { ...option, children: label }, option.value))
2247
- },
2248
- action.id
2249
- );
2250
- } else {
2251
- return null;
2252
- }
2253
- }) });
2254
- };
2255
- const ConfigureTheViewAction = ({ collectionType, model }) => {
2256
- const navigate = reactRouterDom.useNavigate();
2257
- const { formatMessage } = reactIntl.useIntl();
2258
- return {
2259
- label: formatMessage({
2260
- id: "app.links.configure-view",
2261
- defaultMessage: "Configure the view"
2262
- }),
2263
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledCog, {}),
2264
- onClick: () => {
2265
- navigate(`../${collectionType}/${model}/configurations/edit`);
2266
- },
2267
- position: "header"
2268
- };
2269
- };
2270
- ConfigureTheViewAction.type = "configure-the-view";
2271
- const StyledCog = styled__default.default(Icons.Cog)`
2272
- path {
2273
- fill: currentColor;
2274
- }
2275
- `;
2276
- const EditTheModelAction = ({ model }) => {
2277
- const navigate = reactRouterDom.useNavigate();
2278
- const { formatMessage } = reactIntl.useIntl();
2279
- return {
2280
- label: formatMessage({
2281
- id: "content-manager.link-to-ctb",
2282
- defaultMessage: "Edit the model"
2283
- }),
2284
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledPencil$1, {}),
2285
- onClick: () => {
2286
- navigate(`/plugins/content-type-builder/content-types/${model}`);
2287
- },
2288
- position: "header"
2289
- };
2290
- };
2291
- EditTheModelAction.type = "edit-the-model";
2292
- const StyledPencil$1 = styled__default.default(Icons.Pencil)`
2293
- path {
2294
- fill: currentColor;
2295
- }
2296
- `;
2297
- const DeleteAction = ({ documentId, model, collectionType, document }) => {
2298
- const navigate = reactRouterDom.useNavigate();
2299
- const { formatMessage } = reactIntl.useIntl();
2300
- const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
2301
- const canDelete = useDocumentRBAC("DeleteAction", (state) => state.canDelete);
2302
- const { delete: deleteAction } = useDocumentActions();
2303
- const { toggleNotification } = strapiAdmin.useNotification();
2304
- const setSubmitting = strapiAdmin.useForm("DeleteAction", (state) => state.setSubmitting);
2305
- return {
2306
- disabled: !canDelete || !document,
2307
- label: formatMessage({
2308
- id: "content-manager.actions.delete.label",
2309
- defaultMessage: "Delete document"
2310
- }),
2311
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledTrash, {}),
2312
- dialog: {
2313
- type: "dialog",
2314
- title: formatMessage({
2315
- id: "app.components.ConfirmDialog.title",
2316
- defaultMessage: "Confirmation"
2317
- }),
2318
- content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2319
- /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
2320
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", variant: "omega", textAlign: "center", children: formatMessage({
2321
- id: "content-manager.actions.delete.dialog.body",
2322
- defaultMessage: "Are you sure?"
2323
- }) })
2324
- ] }),
2325
- onConfirm: async () => {
2326
- if (!listViewPathMatch) {
2327
- setSubmitting(true);
2328
- }
2329
- try {
2330
- if (!documentId && collectionType !== SINGLE_TYPES) {
2331
- console.error(
2332
- "You're trying to delete a document without an id, this is likely a bug with Strapi. Please open an issue."
2333
- );
2334
- toggleNotification({
2335
- message: formatMessage({
2336
- id: "content-manager.actions.delete.error",
2337
- defaultMessage: "An error occurred while trying to delete the document."
2338
- }),
2339
- type: "danger"
2340
- });
2341
- return;
2342
- }
2343
- const res = await deleteAction({
2344
- documentId,
2345
- model,
2346
- collectionType,
2347
- params: {
2348
- locale: "*"
2349
- }
2350
- });
2351
- if (!("error" in res)) {
2352
- navigate({ pathname: `../${collectionType}/${model}` }, { replace: true });
2353
- }
2354
- } finally {
2355
- if (!listViewPathMatch) {
2356
- setSubmitting(false);
2357
- }
2358
- }
2359
- }
2360
- },
2361
- variant: "danger",
2362
- position: ["header", "table-row"]
2363
- };
2364
- };
2365
- DeleteAction.type = "delete";
2366
- const StyledTrash = styled__default.default(Icons.Trash)`
2367
- path {
2368
- fill: currentColor;
2369
- }
2370
- `;
2371
- const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction];
2372
- const Panels = () => {
2373
- const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
2374
- const [
2375
- {
2376
- query: { status }
2377
- }
2378
- ] = strapiAdmin.useQueryParams({
2379
- status: "draft"
2380
- });
2381
- const { model, id, document, meta, collectionType } = useDoc();
2382
- const plugins = strapiAdmin.useStrapiApp("Panels", (state) => state.plugins);
2383
- const props = {
2384
- activeTab: status,
2385
- model,
2386
- documentId: id,
2387
- document: isCloning ? void 0 : document,
2388
- meta: isCloning ? void 0 : meta,
2389
- collectionType
2390
- };
2391
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: /* @__PURE__ */ jsxRuntime.jsx(
2392
- strapiAdmin.DescriptionComponentRenderer,
2393
- {
2394
- props,
2395
- descriptions: plugins["content-manager"].apis.getEditViewSidePanels(),
2396
- children: (panels) => panels.map(({ content, id: id2, ...description }) => /* @__PURE__ */ jsxRuntime.jsx(Panel, { ...description, children: content }, id2))
2397
- }
2398
- ) });
2399
- };
2400
- const ActionsPanel = () => {
2401
- const { formatMessage } = reactIntl.useIntl();
2402
- return {
2403
- title: formatMessage({
2404
- id: "content-manager.containers.edit.panels.default.title",
2405
- defaultMessage: "Document"
2406
- }),
2407
- content: /* @__PURE__ */ jsxRuntime.jsx(ActionsPanelContent, {})
2408
- };
2409
- };
2410
- ActionsPanel.type = "actions";
2411
- const ActionsPanelContent = () => {
2412
- const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
2413
- const [
2414
- {
2415
- query: { status = "draft" }
2416
- }
2417
- ] = strapiAdmin.useQueryParams();
2418
- const { model, id, document, meta, collectionType } = useDoc();
2419
- const plugins = strapiAdmin.useStrapiApp("ActionsPanel", (state) => state.plugins);
2420
- const props = {
2421
- activeTab: status,
2422
- model,
2423
- documentId: id,
2424
- document: isCloning ? void 0 : document,
2425
- meta: isCloning ? void 0 : meta,
2426
- collectionType
2427
- };
2428
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, width: "100%", children: [
2429
- /* @__PURE__ */ jsxRuntime.jsx(
2430
- strapiAdmin.DescriptionComponentRenderer,
2431
- {
2432
- props,
2433
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
2434
- children: (actions2) => /* @__PURE__ */ jsxRuntime.jsx(DocumentActions, { actions: actions2 })
2435
- }
2436
- ),
2437
- /* @__PURE__ */ jsxRuntime.jsx(InjectionZone, { area: "editView.right-links", slug: model })
2438
- ] });
2439
- };
2440
- const Panel = React__namespace.forwardRef(({ children, title }, ref) => {
2441
- return /* @__PURE__ */ jsxRuntime.jsxs(
2442
- designSystem.Flex,
2443
- {
2444
- ref,
2445
- as: "aside",
2446
- "aria-labelledby": "additional-information",
2447
- background: "neutral0",
2448
- borderColor: "neutral150",
2449
- hasRadius: true,
2450
- paddingBottom: 4,
2451
- paddingLeft: 4,
2452
- paddingRight: 4,
2453
- paddingTop: 4,
2454
- shadow: "tableShadow",
2455
- gap: 3,
2456
- direction: "column",
2457
- justifyContent: "stretch",
2458
- alignItems: "flex-start",
2459
- children: [
2460
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h2", variant: "sigma", textTransform: "uppercase", children: title }),
2461
- children
2462
- ]
2463
- }
2464
- );
2465
- });
2466
- const DEFAULT_BULK_ACTIONS = [];
2467
- const AutoCloneFailureModalBody = ({ prohibitedFields }) => {
2468
- const { formatMessage } = reactIntl.useIntl();
2469
- const getDefaultErrorMessage = (reason) => {
2470
- switch (reason) {
2471
- case "relation":
2472
- return "Duplicating the relation could remove it from the original entry.";
2473
- case "unique":
2474
- return "Identical values in a unique field are not allowed";
2475
- default:
2476
- return reason;
2477
- }
2478
- };
2479
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2480
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", children: formatMessage({
2481
- id: getTranslation("containers.list.autoCloneModal.title"),
2482
- defaultMessage: "This entry can't be duplicated directly."
2483
- }) }),
2484
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 2, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral600", children: formatMessage({
2485
- id: getTranslation("containers.list.autoCloneModal.description"),
2486
- defaultMessage: "A new entry will be created with the same content, but you'll have to change the following fields to save it."
2487
- }) }) }),
2488
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { marginTop: 6, gap: 2, direction: "column", alignItems: "stretch", children: prohibitedFields.map(([fieldPath, reason]) => /* @__PURE__ */ jsxRuntime.jsxs(
2489
- designSystem.Flex,
2490
- {
2491
- direction: "column",
2492
- gap: 2,
2493
- alignItems: "flex-start",
2494
- borderColor: "neutral200",
2495
- hasRadius: true,
2496
- padding: 6,
2497
- children: [
2498
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "row", as: "ol", children: fieldPath.map((pathSegment, index2) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { fontWeight: "semiBold", as: "li", children: [
2499
- pathSegment,
2500
- index2 !== fieldPath.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
2501
- Icons.ChevronRight,
2502
- {
2503
- fill: "neutral500",
2504
- height: "0.8rem",
2505
- width: "0.8rem",
2506
- style: { margin: "0 0.8rem" }
2507
- }
2508
- )
2509
- ] }, index2)) }),
2510
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", textColor: "neutral600", children: formatMessage({
2511
- id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),
2512
- defaultMessage: getDefaultErrorMessage(reason)
2513
- }) })
2514
- ]
2515
- },
2516
- fieldPath.join()
2517
- )) })
2518
- ] });
2519
- };
2520
- const TableActions = ({ document }) => {
2521
- const { formatMessage } = reactIntl.useIntl();
2522
- const { model, collectionType } = useDoc();
2523
- const plugins = strapiAdmin.useStrapiApp("TableActions", (state) => state.plugins);
2524
- const props = {
2525
- activeTab: null,
2526
- model,
2527
- documentId: document.documentId,
2528
- collectionType,
2529
- document
2530
- };
2531
- return /* @__PURE__ */ jsxRuntime.jsx(
2532
- strapiAdmin.DescriptionComponentRenderer,
2533
- {
2534
- props,
2535
- descriptions: plugins["content-manager"].apis.getDocumentActions(),
2536
- children: (actions2) => {
2537
- const tableRowActions = actions2.filter((action) => {
2538
- const positions = Array.isArray(action.position) ? action.position : [action.position];
2539
- return positions.includes("table-row");
2540
- });
2541
- return /* @__PURE__ */ jsxRuntime.jsx(
2542
- DocumentActionsMenu,
2543
- {
2544
- actions: tableRowActions,
2545
- label: formatMessage({
2546
- id: "content-manager.containers.list.table.row-actions",
2547
- defaultMessage: "Row action"
2548
- }),
2549
- variant: "ghost"
2550
- }
2551
- );
2552
- }
2553
- }
2554
- );
2555
- };
2556
- const EditAction = ({ documentId }) => {
2557
- const navigate = reactRouterDom.useNavigate();
2558
- const { formatMessage } = reactIntl.useIntl();
2559
- const { canRead } = useDocumentRBAC("EditAction", ({ canRead: canRead2 }) => ({ canRead: canRead2 }));
2560
- const { toggleNotification } = strapiAdmin.useNotification();
2561
- const [{ query }] = strapiAdmin.useQueryParams();
2562
- return {
2563
- disabled: !canRead,
2564
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledPencil, {}),
2565
- label: formatMessage({
2566
- id: "content-manager.actions.edit.label",
2567
- defaultMessage: "Edit"
2568
- }),
2569
- position: "table-row",
2570
- onClick: async () => {
2571
- if (!documentId) {
2572
- console.error(
2573
- "You're trying to edit a document without an id, this is likely a bug with Strapi. Please open an issue."
2574
- );
2575
- toggleNotification({
2576
- message: formatMessage({
2577
- id: "content-manager.actions.edit.error",
2578
- defaultMessage: "An error occurred while trying to edit the document."
2579
- }),
2580
- type: "danger"
2581
- });
2582
- return;
2583
- }
2584
- navigate({
2585
- pathname: documentId,
2586
- search: qs.stringify({
2587
- plugins: query.plugins
2588
- })
2589
- });
2590
- }
2591
- };
2592
- };
2593
- EditAction.type = "edit";
2594
- const StyledPencil = styled__default.default(Icons.Pencil)`
2595
- path {
2596
- fill: currentColor;
2597
- }
2598
- `;
2599
- const CloneAction = ({ model, documentId }) => {
2600
- const navigate = reactRouterDom.useNavigate();
2601
- const { formatMessage } = reactIntl.useIntl();
2602
- const { canCreate } = useDocumentRBAC("CloneAction", ({ canCreate: canCreate2 }) => ({ canCreate: canCreate2 }));
2603
- const { toggleNotification } = strapiAdmin.useNotification();
2604
- const { autoClone } = useDocumentActions();
2605
- const [prohibitedFields, setProhibitedFields] = React__namespace.useState([]);
2606
- return {
2607
- disabled: !canCreate,
2608
- icon: /* @__PURE__ */ jsxRuntime.jsx(StyledDuplicate, {}),
2609
- label: formatMessage({
2610
- id: "content-manager.actions.clone.label",
2611
- defaultMessage: "Duplicate"
2612
- }),
2613
- position: "table-row",
2614
- onClick: async () => {
2615
- if (!documentId) {
2616
- console.error(
2617
- "You're trying to clone a document in the table without an id, this is likely a bug with Strapi. Please open an issue."
2618
- );
2619
- toggleNotification({
2620
- message: formatMessage({
2621
- id: "content-manager.actions.clone.error",
2622
- defaultMessage: "An error occurred while trying to clone the document."
2623
- }),
2624
- type: "danger"
2625
- });
2626
- return;
2627
- }
2628
- const res = await autoClone({ model, sourceId: documentId });
2629
- if ("data" in res) {
2630
- navigate(res.data.documentId);
2631
- return true;
2632
- }
2633
- if (isBaseQueryError(res.error) && res.error.details && typeof res.error.details === "object" && "prohibitedFields" in res.error.details && Array.isArray(res.error.details.prohibitedFields)) {
2634
- const prohibitedFields2 = res.error.details.prohibitedFields;
2635
- setProhibitedFields(prohibitedFields2);
2636
- }
2637
- },
2638
- dialog: {
2639
- type: "modal",
2640
- title: formatMessage({
2641
- id: "content-manager.containers.list.autoCloneModal.header",
2642
- defaultMessage: "Duplicate"
2643
- }),
2644
- content: /* @__PURE__ */ jsxRuntime.jsx(AutoCloneFailureModalBody, { prohibitedFields }),
2645
- footer: ({ onClose }) => {
2646
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
2647
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
2648
- id: "cancel",
2649
- defaultMessage: "Cancel"
2650
- }) }),
2651
- /* @__PURE__ */ jsxRuntime.jsx(
2652
- designSystem.LinkButton,
2653
- {
2654
- as: reactRouterDom.NavLink,
2655
- to: {
2656
- pathname: `clone/${documentId}`
2657
- },
2658
- children: formatMessage({
2659
- id: "content-manager.containers.list.autoCloneModal.create",
2660
- defaultMessage: "Create"
2661
- })
2662
- }
2663
- )
2664
- ] });
2665
- }
2666
- }
2667
- };
2668
- };
2669
- CloneAction.type = "clone";
2670
- const StyledDuplicate = styled__default.default(Icons.Duplicate)`
2671
- path {
2672
- fill: currentColor;
2673
- }
2674
- `;
2675
- const DEFAULT_TABLE_ROW_ACTIONS = [EditAction, CloneAction];
2676
- class ContentManagerPlugin {
2677
- /**
2678
- * The following properties are the stored ones provided by any plugins registering with
2679
- * the content-manager. The function calls however, need to be called at runtime in the
2680
- * application, so instead we collate them and run them later with the complete list incl.
2681
- * ones already registered & the context of the view.
2682
- */
2683
- bulkActions = [...DEFAULT_BULK_ACTIONS];
2684
- documentActions = [
2685
- ...DEFAULT_ACTIONS,
2686
- ...DEFAULT_TABLE_ROW_ACTIONS,
2687
- ...DEFAULT_HEADER_ACTIONS,
2688
- HistoryAction
2689
- ];
2690
- editViewSidePanels = [ActionsPanel];
2691
- headerActions = [];
2692
- constructor() {
2693
- }
2694
- addEditViewSidePanel(panels) {
2695
- if (Array.isArray(panels)) {
2696
- this.editViewSidePanels = [...this.editViewSidePanels, ...panels];
2697
- } else if (typeof panels === "function") {
2698
- this.editViewSidePanels = panels(this.editViewSidePanels);
2699
- } else {
2700
- throw new Error(
2701
- `Expected the \`panels\` passed to \`addEditViewSidePanel\` to be an array or a function, but received ${getPrintableType(
2702
- panels
2703
- )}`
2704
- );
2705
- }
2706
- }
2707
- addDocumentAction(actions2) {
2708
- if (Array.isArray(actions2)) {
2709
- this.documentActions = [...this.documentActions, ...actions2];
2710
- } else if (typeof actions2 === "function") {
2711
- this.documentActions = actions2(this.documentActions);
2712
- } else {
2713
- throw new Error(
2714
- `Expected the \`actions\` passed to \`addDocumentAction\` to be an array or a function, but received ${getPrintableType(
2715
- actions2
2716
- )}`
2717
- );
2718
- }
2719
- }
2720
- addDocumentHeaderAction(actions2) {
2721
- if (Array.isArray(actions2)) {
2722
- this.headerActions = [...this.headerActions, ...actions2];
2723
- } else if (typeof actions2 === "function") {
2724
- this.headerActions = actions2(this.headerActions);
2725
- } else {
2726
- throw new Error(
2727
- `Expected the \`actions\` passed to \`addDocumentHeaderAction\` to be an array or a function, but received ${getPrintableType(
2728
- actions2
2729
- )}`
2730
- );
2731
- }
2732
- }
2733
- addBulkAction(actions2) {
2734
- if (Array.isArray(actions2)) {
2735
- this.bulkActions = [...this.bulkActions, ...actions2];
2736
- } else if (typeof actions2 === "function") {
2737
- this.bulkActions = actions2(this.bulkActions);
2738
- } else {
2739
- throw new Error(
2740
- `Expected the \`actions\` passed to \`addBulkAction\` to be an array or a function, but received ${getPrintableType(
2741
- actions2
2742
- )}`
2743
- );
2744
- }
2745
- }
2746
- get config() {
2747
- return {
2748
- id: PLUGIN_ID,
2749
- name: "Content Manager",
2750
- injectionZones: INJECTION_ZONES,
2751
- apis: {
2752
- addBulkAction: this.addBulkAction.bind(this),
2753
- addDocumentAction: this.addDocumentAction.bind(this),
2754
- addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
2755
- addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
2756
- getBulkActions: () => this.bulkActions,
2757
- getDocumentActions: () => this.documentActions,
2758
- getEditViewSidePanels: () => this.editViewSidePanels,
2759
- getHeaderActions: () => this.headerActions
2760
- }
2761
- };
2762
- }
2763
- }
2764
- const getPrintableType = (value) => {
2765
- const nativeType = typeof value;
2766
- if (nativeType === "object") {
2767
- if (value === null)
2768
- return "null";
2769
- if (Array.isArray(value))
2770
- return "array";
2771
- if (value instanceof Object && value.constructor.name !== "Object") {
2772
- return value.constructor.name;
2773
- }
2774
- }
2775
- return nativeType;
2776
- };
2777
- const initialState = {
2778
- collectionTypeLinks: [],
2779
- components: [],
2780
- fieldSizes: {},
2781
- models: [],
2782
- singleTypeLinks: [],
2783
- isLoading: true
2784
- };
2785
- const appSlice = toolkit.createSlice({
2786
- name: "app",
2787
- initialState,
2788
- reducers: {
2789
- setInitialData(state, action) {
2790
- const {
2791
- authorizedCollectionTypeLinks,
2792
- authorizedSingleTypeLinks,
2793
- components,
2794
- contentTypeSchemas,
2795
- fieldSizes
2796
- } = action.payload;
2797
- state.collectionTypeLinks = authorizedCollectionTypeLinks.filter(
2798
- ({ isDisplayed }) => isDisplayed
2799
- );
2800
- state.singleTypeLinks = authorizedSingleTypeLinks.filter(({ isDisplayed }) => isDisplayed);
2801
- state.components = components;
2802
- state.models = contentTypeSchemas;
2803
- state.fieldSizes = fieldSizes;
2804
- state.isLoading = false;
2805
- }
2806
- }
2807
- });
2808
- const { actions, reducer: reducer$1 } = appSlice;
2809
- const { setInitialData } = actions;
2810
- const reducer = toolkit.combineReducers({
2811
- app: reducer$1
2812
- });
2813
- const HOOKS = {
2814
- /**
2815
- * Hook that allows to mutate the displayed headers of the list view table
2816
- * @constant
2817
- * @type {string}
2818
- */
2819
- INJECT_COLUMN_IN_TABLE: "Admin/CM/pages/ListView/inject-column-in-table",
2820
- /**
2821
- * Hook that allows to mutate the CM's collection types links pre-set filters
2822
- * @constant
2823
- * @type {string}
2824
- */
2825
- MUTATE_COLLECTION_TYPES_LINKS: "Admin/CM/pages/App/mutate-collection-types-links",
2826
- /**
2827
- * Hook that allows to mutate the CM's edit view layout
2828
- * @constant
2829
- * @type {string}
2830
- */
2831
- MUTATE_EDIT_VIEW_LAYOUT: "Admin/CM/pages/EditView/mutate-edit-view-layout",
2832
- /**
2833
- * Hook that allows to mutate the CM's single types links pre-set filters
2834
- * @constant
2835
- * @type {string}
2836
- */
2837
- MUTATE_SINGLE_TYPES_LINKS: "Admin/CM/pages/App/mutate-single-types-links"
2838
- };
2839
- const contentTypesApi = contentManagerApi.injectEndpoints({
2840
- endpoints: (builder) => ({
2841
- getContentTypeConfiguration: builder.query({
2842
- query: (uid) => ({
2843
- url: `/content-manager/content-types/${uid}/configuration`,
2844
- method: "GET"
2845
- }),
2846
- transformResponse: (response) => response.data,
2847
- providesTags: (_result, _error, uid) => [
2848
- { type: "ContentTypesConfiguration", id: uid },
2849
- { type: "ContentTypeSettings", id: "LIST" }
2850
- ]
2851
- }),
2852
- getAllContentTypeSettings: builder.query({
2853
- query: () => "/content-manager/content-types-settings",
2854
- transformResponse: (response) => response.data,
2855
- providesTags: [{ type: "ContentTypeSettings", id: "LIST" }]
2856
- }),
2857
- updateContentTypeConfiguration: builder.mutation({
2858
- query: ({ uid, ...body }) => ({
2859
- url: `/content-manager/content-types/${uid}/configuration`,
2860
- method: "PUT",
2861
- data: body
2862
- }),
2863
- transformResponse: (response) => response.data,
2864
- invalidatesTags: (_result, _error, { uid }) => [
2865
- { type: "ContentTypesConfiguration", id: uid },
2866
- { type: "ContentTypeSettings", id: "LIST" },
2867
- // Is this necessary?
2868
- { type: "InitialData" }
2869
- ]
2870
- })
2871
- })
2872
- });
2873
- const {
2874
- useGetContentTypeConfigurationQuery,
2875
- useGetAllContentTypeSettingsQuery,
2876
- useUpdateContentTypeConfigurationMutation
2877
- } = contentTypesApi;
2878
- const checkIfAttributeIsDisplayable = (attribute) => {
2879
- const { type } = attribute;
2880
- if (type === "relation") {
2881
- return !attribute.relation.toLowerCase().includes("morph");
2882
- }
2883
- return !["json", "dynamiczone", "richtext", "password", "blocks"].includes(type) && !!type;
2884
- };
2885
- const getMainField = (attribute, mainFieldName, { schemas, components }) => {
2886
- if (!mainFieldName) {
2887
- return void 0;
2888
- }
2889
- const mainFieldType = attribute.type === "component" ? components[attribute.component].attributes[mainFieldName].type : (
2890
- // @ts-expect-error – `targetModel` does exist on the attribute for a relation.
2891
- schemas.find((schema) => schema.uid === attribute.targetModel)?.attributes[mainFieldName].type
2892
- );
2893
- return {
2894
- name: mainFieldName,
2895
- type: mainFieldType ?? "string"
2896
- };
2897
- };
2898
- const DEFAULT_SETTINGS = {
2899
- bulkable: false,
2900
- filterable: false,
2901
- searchable: false,
2902
- pagination: false,
2903
- defaultSortBy: "",
2904
- defaultSortOrder: "asc",
2905
- mainField: "id",
2906
- pageSize: 10
2907
- };
2908
- const useDocumentLayout = (model) => {
2909
- const { schema, components } = useDocument({ model, collectionType: "" }, { skip: true });
2910
- const [{ query }] = strapiAdmin.useQueryParams();
2911
- const runHookWaterfall = strapiAdmin.useStrapiApp("useDocumentLayout", (state) => state.runHookWaterfall);
2912
- const { toggleNotification } = strapiAdmin.useNotification();
2913
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
2914
- const { isLoading: isLoadingSchemas, schemas } = useContentTypeSchema();
2915
- const {
2916
- data,
2917
- isLoading: isLoadingConfigs,
2918
- error,
2919
- isFetching: isFetchingConfigs
2920
- } = useGetContentTypeConfigurationQuery(model);
2921
- const isLoading = isLoadingSchemas || isFetchingConfigs || isLoadingConfigs;
2922
- React__namespace.useEffect(() => {
2923
- if (error) {
2924
- toggleNotification({
2925
- type: "danger",
2926
- message: formatAPIError(error)
2927
- });
2928
- }
2929
- }, [error, formatAPIError, toggleNotification]);
2930
- const editLayout = React__namespace.useMemo(
2931
- () => data && !isLoading ? formatEditLayout(data, { schemas, schema, components }) : {
2932
- layout: [],
2933
- components: {},
2934
- metadatas: {},
2935
- options: {},
2936
- settings: DEFAULT_SETTINGS
2937
- },
2938
- [data, isLoading, schemas, schema, components]
2939
- );
2940
- const listLayout = React__namespace.useMemo(() => {
2941
- return data && !isLoading ? formatListLayout(data, { schemas, schema, components }) : {
2942
- layout: [],
2943
- metadatas: {},
2944
- options: {},
2945
- settings: DEFAULT_SETTINGS
2946
- };
2947
- }, [data, isLoading, schemas, schema, components]);
2948
- const { layout: edit } = React__namespace.useMemo(
2949
- () => runHookWaterfall(HOOKS.MUTATE_EDIT_VIEW_LAYOUT, {
2950
- layout: editLayout,
2951
- query
2952
- }),
2953
- [editLayout, query, runHookWaterfall]
2954
- );
2955
- return {
2956
- error,
2957
- isLoading,
2958
- edit,
2959
- list: listLayout
2960
- };
2961
- };
2962
- const useDocLayout = () => {
2963
- const { model } = useDoc();
2964
- return useDocumentLayout(model);
2965
- };
2966
- const formatEditLayout = (data, {
2967
- schemas,
2968
- schema,
2969
- components
2970
- }) => {
2971
- let currentPanelIndex = 0;
2972
- const panelledEditAttributes = convertEditLayoutToFieldLayouts(
2973
- data.contentType.layouts.edit,
2974
- schema?.attributes,
2975
- data.contentType.metadatas,
2976
- { configurations: data.components, schemas: components },
2977
- schemas
2978
- ).reduce((panels, row) => {
2979
- if (row.some((field) => field.type === "dynamiczone")) {
2980
- panels.push([row]);
2981
- currentPanelIndex += 2;
2982
- } else {
2983
- if (!panels[currentPanelIndex]) {
2984
- panels.push([]);
2985
- }
2986
- panels[currentPanelIndex].push(row);
2987
- }
2988
- return panels;
2989
- }, []);
2990
- const componentEditAttributes = Object.entries(data.components).reduce(
2991
- (acc, [uid, configuration]) => {
2992
- acc[uid] = {
2993
- layout: convertEditLayoutToFieldLayouts(
2994
- configuration.layouts.edit,
2995
- components[uid].attributes,
2996
- configuration.metadatas
2997
- ),
2998
- settings: {
2999
- ...configuration.settings,
3000
- icon: components[uid].info.icon,
3001
- displayName: components[uid].info.displayName
3002
- }
3003
- };
3004
- return acc;
3005
- },
3006
- {}
3007
- );
3008
- const editMetadatas = Object.entries(data.contentType.metadatas).reduce(
3009
- (acc, [attribute, metadata]) => {
3010
- return {
3011
- ...acc,
3012
- [attribute]: metadata.edit
3013
- };
3014
- },
3015
- {}
3016
- );
3017
- return {
3018
- layout: panelledEditAttributes,
3019
- components: componentEditAttributes,
3020
- metadatas: editMetadatas,
3021
- settings: {
3022
- ...data.contentType.settings,
3023
- displayName: schema?.info.displayName
3024
- },
3025
- options: {
3026
- ...schema?.options,
3027
- ...schema?.pluginOptions,
3028
- ...data.contentType.options
3029
- }
3030
- };
3031
- };
3032
- const convertEditLayoutToFieldLayouts = (rows, attributes = {}, metadatas, components, schemas = []) => {
3033
- return rows.map(
3034
- (row) => row.map((field) => {
3035
- const attribute = attributes[field.name];
3036
- if (!attribute) {
3037
- return null;
3038
- }
3039
- const { edit: metadata } = metadatas[field.name];
3040
- const settings = attribute.type === "component" && components ? components.configurations[attribute.component].settings : {};
3041
- return {
3042
- attribute,
3043
- disabled: !metadata.editable,
3044
- hint: metadata.description,
3045
- label: metadata.label ?? "",
3046
- name: field.name,
3047
- // @ts-expect-error – mainField does exist on the metadata for a relation.
3048
- mainField: getMainField(attribute, metadata.mainField || settings.mainField, {
3049
- schemas,
3050
- components: components?.schemas ?? {}
3051
- }),
3052
- placeholder: metadata.placeholder ?? "",
3053
- required: attribute.required ?? false,
3054
- size: field.size,
3055
- unique: "unique" in attribute ? attribute.unique : false,
3056
- visible: metadata.visible ?? true,
3057
- type: attribute.type
3058
- };
3059
- }).filter((field) => field !== null)
3060
- );
3061
- };
3062
- const formatListLayout = (data, {
3063
- schemas,
3064
- schema,
3065
- components
3066
- }) => {
3067
- const listMetadatas = Object.entries(data.contentType.metadatas).reduce(
3068
- (acc, [attribute, metadata]) => {
3069
- return {
3070
- ...acc,
3071
- [attribute]: metadata.list
3072
- };
3073
- },
3074
- {}
3075
- );
3076
- const listAttributes = convertListLayoutToFieldLayouts(
3077
- data.contentType.layouts.list,
3078
- schema?.attributes,
3079
- listMetadatas,
3080
- { configurations: data.components, schemas: components },
3081
- schemas
3082
- );
3083
- return {
3084
- layout: listAttributes,
3085
- settings: { ...data.contentType.settings, displayName: schema?.info.displayName },
3086
- metadatas: listMetadatas,
3087
- options: {
3088
- ...schema?.options,
3089
- ...schema?.pluginOptions,
3090
- ...data.contentType.options
3091
- }
3092
- };
3093
- };
3094
- const convertListLayoutToFieldLayouts = (columns, attributes = {}, metadatas, components, schemas = []) => {
3095
- return columns.map((name) => {
3096
- const attribute = attributes[name];
3097
- if (!attribute) {
3098
- return null;
3099
- }
3100
- const metadata = metadatas[name];
3101
- const settings = attribute.type === "component" && components ? components.configurations[attribute.component].settings : {};
3102
- return {
3103
- attribute,
3104
- label: metadata.label ?? "",
3105
- mainField: getMainField(attribute, metadata.mainField || settings.mainField, {
3106
- schemas,
3107
- components: components?.schemas ?? {}
3108
- }),
3109
- name,
3110
- searchable: metadata.searchable ?? true,
3111
- sortable: metadata.sortable ?? true
3112
- };
3113
- }).filter((field) => field !== null);
3114
- };
3115
- const index = {
3116
- register(app) {
3117
- const cm = new ContentManagerPlugin();
3118
- app.addReducers({
3119
- [contentManagerApi.reducerPath]: contentManagerApi.reducer,
3120
- [PLUGIN_ID]: reducer
3121
- });
3122
- app.addMiddlewares([() => contentManagerApi.middleware]);
3123
- app.addMenuLink({
3124
- to: PLUGIN_ID,
3125
- icon: Icons.Feather,
3126
- intlLabel: {
3127
- id: `content-manager.plugin.name`,
3128
- defaultMessage: "Content Manager"
3129
- },
3130
- permissions: [],
3131
- Component: () => Promise.resolve().then(() => require("./layout-B_SXLhqf.js")).then((mod) => ({ default: mod.Layout }))
3132
- });
3133
- app.registerPlugin(cm.config);
3134
- },
3135
- async registerTrads({ locales }) {
3136
- const importedTrads = await Promise.all(
3137
- locales.map((locale) => {
3138
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-C-V1_90f.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-EUonQTon.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B7kGGg3E.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-CcFe8diO.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
3139
- return {
3140
- data: prefixPluginTranslations(data, PLUGIN_ID),
3141
- locale
3142
- };
3143
- }).catch(() => {
3144
- return {
3145
- data: {},
3146
- locale
3147
- };
3148
- });
3149
- })
3150
- );
3151
- return Promise.resolve(importedTrads);
3152
- }
3153
- };
3154
- exports.ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD = ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD;
3155
- exports.COLLECTION_TYPES = COLLECTION_TYPES;
3156
- exports.CREATOR_FIELDS = CREATOR_FIELDS;
3157
- exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
3158
- exports.DOCUMENT_META_FIELDS = DOCUMENT_META_FIELDS;
3159
- exports.DocumentRBAC = DocumentRBAC;
3160
- exports.DocumentStatus = DocumentStatus;
3161
- exports.HOOKS = HOOKS;
3162
- exports.Header = Header;
3163
- exports.InjectionZone = InjectionZone;
3164
- exports.PERMISSIONS = PERMISSIONS;
3165
- exports.Panels = Panels;
3166
- exports.RelativeTime = RelativeTime;
3167
- exports.SINGLE_TYPES = SINGLE_TYPES;
3168
- exports.TableActions = TableActions;
3169
- exports.buildValidParams = buildValidParams;
3170
- exports.capitalise = capitalise;
3171
- exports.checkIfAttributeIsDisplayable = checkIfAttributeIsDisplayable;
3172
- exports.contentManagerApi = contentManagerApi;
3173
- exports.convertEditLayoutToFieldLayouts = convertEditLayoutToFieldLayouts;
3174
- exports.convertListLayoutToFieldLayouts = convertListLayoutToFieldLayouts;
3175
- exports.createYupSchema = createYupSchema;
3176
- exports.extractContentTypeComponents = extractContentTypeComponents;
3177
- exports.getDisplayName = getDisplayName;
3178
- exports.getMainField = getMainField;
3179
- exports.getTranslation = getTranslation;
3180
- exports.index = index;
3181
- exports.routes = routes;
3182
- exports.setInitialData = setInitialData;
3183
- exports.useContentTypeSchema = useContentTypeSchema;
3184
- exports.useDoc = useDoc;
3185
- exports.useDocLayout = useDocLayout;
3186
- exports.useDocument = useDocument;
3187
- exports.useDocumentActions = useDocumentActions;
3188
- exports.useDocumentLayout = useDocumentLayout;
3189
- exports.useDocumentRBAC = useDocumentRBAC;
3190
- exports.useGetAllContentTypeSettingsQuery = useGetAllContentTypeSettingsQuery;
3191
- exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
3192
- exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
3193
- exports.useGetInitialDataQuery = useGetInitialDataQuery;
3194
- exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
3195
- //# sourceMappingURL=index-C6AH2hEl.js.map