@strapi/content-manager 0.0.0-experimental.f8df2d79a7853c4cc2ede1ecc22a5e7120b6a99c → 0.0.0-experimental.f9ca9ac9518346cac58a4a3a576bc9d9d795570d

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 (406) hide show
  1. package/dist/admin/components/ComponentIcon.js +3 -0
  2. package/dist/admin/components/ComponentIcon.js.map +1 -1
  3. package/dist/admin/components/ComponentIcon.mjs +3 -0
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/EditFieldForm.js +3 -2
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +3 -2
  8. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  9. package/dist/admin/components/ConfigurationForm/Fields.js +4 -1
  10. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  11. package/dist/admin/components/ConfigurationForm/Fields.mjs +5 -2
  12. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  13. package/dist/admin/components/ConfigurationForm/Form.js +1 -1
  14. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  15. package/dist/admin/components/ConfigurationForm/Form.mjs +3 -3
  16. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  17. package/dist/admin/components/DragPreviews/CardDragPreview.js +3 -1
  18. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/CardDragPreview.mjs +3 -1
  20. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  21. package/dist/admin/components/DragPreviews/ComponentDragPreview.js +3 -1
  22. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  23. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +3 -1
  24. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  25. package/dist/admin/components/DragPreviews/RelationDragPreview.js +3 -1
  26. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  27. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +3 -1
  28. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  29. package/dist/admin/components/LeftMenu.js +91 -51
  30. package/dist/admin/components/LeftMenu.js.map +1 -1
  31. package/dist/admin/components/LeftMenu.mjs +93 -53
  32. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  33. package/dist/admin/components/RelativeTime.js.map +1 -1
  34. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  35. package/dist/admin/components/Widgets.js +287 -11
  36. package/dist/admin/components/Widgets.js.map +1 -1
  37. package/dist/admin/components/Widgets.mjs +270 -14
  38. package/dist/admin/components/Widgets.mjs.map +1 -1
  39. package/dist/admin/content-manager.js.map +1 -1
  40. package/dist/admin/content-manager.mjs.map +1 -1
  41. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  42. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  43. package/dist/admin/history/components/VersionHeader.js +1 -0
  44. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  45. package/dist/admin/history/components/VersionHeader.mjs +1 -0
  46. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  47. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  48. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  49. package/dist/admin/history/components/VersionsList.js +1 -1
  50. package/dist/admin/history/components/VersionsList.js.map +1 -1
  51. package/dist/admin/history/components/VersionsList.mjs +1 -1
  52. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  53. package/dist/admin/history/pages/History.js +7 -7
  54. package/dist/admin/history/pages/History.js.map +1 -1
  55. package/dist/admin/history/pages/History.mjs +7 -7
  56. package/dist/admin/history/pages/History.mjs.map +1 -1
  57. package/dist/admin/history/services/historyVersion.js.map +1 -1
  58. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  59. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  60. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  61. package/dist/admin/hooks/useDocumentActions.js +24 -8
  62. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  63. package/dist/admin/hooks/useDocumentActions.mjs +25 -9
  64. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  65. package/dist/admin/index.js +45 -8
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/index.mjs +46 -9
  68. package/dist/admin/index.mjs.map +1 -1
  69. package/dist/admin/layout.js +28 -33
  70. package/dist/admin/layout.js.map +1 -1
  71. package/dist/admin/layout.mjs +29 -15
  72. package/dist/admin/layout.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/EditViewPage.js +21 -19
  74. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  75. package/dist/admin/pages/EditView/EditViewPage.mjs +23 -21
  76. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  78. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  79. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  80. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  81. package/dist/admin/pages/EditView/components/DocumentActions.js +29 -6
  82. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/DocumentActions.mjs +30 -7
  84. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  86. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  88. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +66 -2
  90. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +66 -2
  92. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  94. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  96. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  98. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +2 -2
  100. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +2 -2
  102. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  104. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +7 -3
  106. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +7 -3
  108. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  110. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  111. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
  112. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  113. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +3 -2
  114. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  115. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
  116. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  117. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
  118. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  119. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +4 -3
  120. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  121. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +5 -4
  122. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  123. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  124. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  125. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  126. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  127. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  128. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +6 -2
  130. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +7 -3
  132. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/UID.js +2 -1
  134. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +2 -1
  136. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  138. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +2 -2
  140. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +2 -2
  142. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  143. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  144. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  145. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  146. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  148. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormLayout.js +13 -8
  150. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  151. package/dist/admin/pages/EditView/components/FormLayout.mjs +14 -8
  152. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  153. package/dist/admin/pages/EditView/components/Header.js +92 -27
  154. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  155. package/dist/admin/pages/EditView/components/Header.mjs +94 -29
  156. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  157. package/dist/admin/pages/EditView/components/InputRenderer.js +39 -24
  158. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/InputRenderer.mjs +39 -24
  160. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/utils/data.js +34 -9
  162. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  163. package/dist/admin/pages/EditView/utils/data.mjs +34 -9
  164. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  165. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
  166. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  167. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
  168. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  169. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  170. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  171. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  172. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  173. package/dist/admin/pages/ListView/ListViewPage.js +152 -145
  174. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  175. package/dist/admin/pages/ListView/ListViewPage.mjs +153 -146
  176. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  177. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  178. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  179. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +6 -16
  180. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  181. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +6 -16
  182. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  183. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +18 -31
  184. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  185. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +19 -32
  186. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  187. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +13 -3
  188. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  189. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +13 -3
  190. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  191. package/dist/admin/pages/ListView/components/Filters.js +7 -2
  192. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  193. package/dist/admin/pages/ListView/components/Filters.mjs +7 -2
  194. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  195. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  196. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  197. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +1 -1
  198. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  199. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +1 -1
  200. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/components/TableCells/Media.js +1 -1
  202. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  203. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
  204. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  205. package/dist/admin/pages/ListView/components/TableCells/Relations.js +8 -4
  206. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  207. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +8 -4
  208. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +5 -2
  210. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  211. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +5 -2
  212. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  213. package/dist/admin/preview/components/InputPopover.js +189 -0
  214. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  215. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  216. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  217. package/dist/admin/preview/components/PreviewHeader.js +0 -1
  218. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  219. package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
  220. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  221. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  222. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  223. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  224. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  225. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  226. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  227. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  228. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  229. package/dist/admin/preview/pages/Preview.js +178 -74
  230. package/dist/admin/preview/pages/Preview.js.map +1 -1
  231. package/dist/admin/preview/pages/Preview.mjs +180 -76
  232. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  233. package/dist/admin/preview/services/preview.js.map +1 -1
  234. package/dist/admin/preview/services/preview.mjs.map +1 -1
  235. package/dist/admin/preview/utils/constants.js +56 -0
  236. package/dist/admin/preview/utils/constants.js.map +1 -0
  237. package/dist/admin/preview/utils/constants.mjs +52 -0
  238. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  239. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  240. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  241. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  242. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  243. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  244. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  245. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  246. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  247. package/dist/admin/preview/utils/previewScript.js +534 -0
  248. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  249. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  250. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  251. package/dist/admin/router.js.map +1 -1
  252. package/dist/admin/router.mjs.map +1 -1
  253. package/dist/admin/services/api.js +4 -1
  254. package/dist/admin/services/api.js.map +1 -1
  255. package/dist/admin/services/api.mjs +4 -1
  256. package/dist/admin/services/api.mjs.map +1 -1
  257. package/dist/admin/services/documents.js +57 -15
  258. package/dist/admin/services/documents.js.map +1 -1
  259. package/dist/admin/services/documents.mjs +57 -15
  260. package/dist/admin/services/documents.mjs.map +1 -1
  261. package/dist/admin/services/homepage.js.map +1 -1
  262. package/dist/admin/services/homepage.mjs.map +1 -1
  263. package/dist/admin/services/relations.js.map +1 -1
  264. package/dist/admin/services/relations.mjs.map +1 -1
  265. package/dist/admin/src/components/LeftMenu.d.ts +3 -1
  266. package/dist/admin/src/components/Widgets.d.ts +8 -3
  267. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  268. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  269. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +2 -0
  270. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +0 -3
  271. package/dist/admin/src/pages/EditView/components/Header.d.ts +15 -0
  272. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  273. package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +0 -3
  274. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  275. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  276. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  277. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  278. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  279. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  280. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  281. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  282. package/dist/admin/src/services/api.d.ts +1 -1
  283. package/dist/admin/src/services/components.d.ts +2 -2
  284. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  285. package/dist/admin/src/services/documents.d.ts +16 -16
  286. package/dist/admin/src/services/homepage.d.ts +1 -1
  287. package/dist/admin/src/services/init.d.ts +1 -1
  288. package/dist/admin/src/services/relations.d.ts +2 -2
  289. package/dist/admin/src/services/uid.d.ts +3 -3
  290. package/dist/admin/src/utils/api.d.ts +1 -1
  291. package/dist/admin/translations/en.json.js +12 -0
  292. package/dist/admin/translations/en.json.js.map +1 -1
  293. package/dist/admin/translations/en.json.mjs +12 -0
  294. package/dist/admin/translations/en.json.mjs.map +1 -1
  295. package/dist/admin/translations/es.json.js +6 -2
  296. package/dist/admin/translations/es.json.js.map +1 -1
  297. package/dist/admin/translations/es.json.mjs +6 -2
  298. package/dist/admin/translations/es.json.mjs.map +1 -1
  299. package/dist/admin/translations/fr.json.js +6 -2
  300. package/dist/admin/translations/fr.json.js.map +1 -1
  301. package/dist/admin/translations/fr.json.mjs +6 -2
  302. package/dist/admin/translations/fr.json.mjs.map +1 -1
  303. package/dist/admin/utils/api.js +1 -1
  304. package/dist/admin/utils/api.js.map +1 -1
  305. package/dist/admin/utils/api.mjs +1 -1
  306. package/dist/admin/utils/api.mjs.map +1 -1
  307. package/dist/admin/utils/translations.js.map +1 -1
  308. package/dist/admin/utils/translations.mjs.map +1 -1
  309. package/dist/admin/utils/urls.js.map +1 -1
  310. package/dist/admin/utils/urls.mjs.map +1 -1
  311. package/dist/admin/utils/users.js.map +1 -1
  312. package/dist/admin/utils/users.mjs.map +1 -1
  313. package/dist/admin/utils/validation.js +2 -1
  314. package/dist/admin/utils/validation.js.map +1 -1
  315. package/dist/admin/utils/validation.mjs +2 -1
  316. package/dist/admin/utils/validation.mjs.map +1 -1
  317. package/dist/server/controllers/collection-types.js +2 -1
  318. package/dist/server/controllers/collection-types.js.map +1 -1
  319. package/dist/server/controllers/collection-types.mjs +2 -1
  320. package/dist/server/controllers/collection-types.mjs.map +1 -1
  321. package/dist/server/controllers/relations.js +6 -4
  322. package/dist/server/controllers/relations.js.map +1 -1
  323. package/dist/server/controllers/relations.mjs +6 -4
  324. package/dist/server/controllers/relations.mjs.map +1 -1
  325. package/dist/server/controllers/single-types.js +3 -1
  326. package/dist/server/controllers/single-types.js.map +1 -1
  327. package/dist/server/controllers/single-types.mjs +3 -1
  328. package/dist/server/controllers/single-types.mjs.map +1 -1
  329. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  330. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  331. package/dist/server/controllers/validation/index.js.map +1 -1
  332. package/dist/server/controllers/validation/index.mjs.map +1 -1
  333. package/dist/server/controllers/validation/model-configuration.js +2 -2
  334. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  335. package/dist/server/controllers/validation/model-configuration.mjs +2 -2
  336. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  337. package/dist/server/history/services/lifecycles.js +20 -19
  338. package/dist/server/history/services/lifecycles.js.map +1 -1
  339. package/dist/server/history/services/lifecycles.mjs +20 -19
  340. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  341. package/dist/server/history/utils.js.map +1 -1
  342. package/dist/server/history/utils.mjs.map +1 -1
  343. package/dist/server/homepage/controllers/homepage.js +5 -0
  344. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  345. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  346. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  347. package/dist/server/homepage/routes/homepage.js +11 -0
  348. package/dist/server/homepage/routes/homepage.js.map +1 -1
  349. package/dist/server/homepage/routes/homepage.mjs +11 -0
  350. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  351. package/dist/server/homepage/services/homepage.js +33 -1
  352. package/dist/server/homepage/services/homepage.js.map +1 -1
  353. package/dist/server/homepage/services/homepage.mjs +33 -1
  354. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  355. package/dist/server/middlewares/routing.js.map +1 -1
  356. package/dist/server/middlewares/routing.mjs.map +1 -1
  357. package/dist/server/preview/services/preview-config.js +11 -32
  358. package/dist/server/preview/services/preview-config.js.map +1 -1
  359. package/dist/server/preview/services/preview-config.mjs +12 -33
  360. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  361. package/dist/server/preview/services/preview.js +4 -0
  362. package/dist/server/preview/services/preview.js.map +1 -1
  363. package/dist/server/preview/services/preview.mjs +4 -0
  364. package/dist/server/preview/services/preview.mjs.map +1 -1
  365. package/dist/server/preview/utils.js.map +1 -1
  366. package/dist/server/preview/utils.mjs.map +1 -1
  367. package/dist/server/services/configuration.js.map +1 -1
  368. package/dist/server/services/configuration.mjs.map +1 -1
  369. package/dist/server/services/document-metadata.js +23 -1
  370. package/dist/server/services/document-metadata.js.map +1 -1
  371. package/dist/server/services/document-metadata.mjs +23 -1
  372. package/dist/server/services/document-metadata.mjs.map +1 -1
  373. package/dist/server/services/field-sizes.js.map +1 -1
  374. package/dist/server/services/field-sizes.mjs.map +1 -1
  375. package/dist/server/services/uid.js.map +1 -1
  376. package/dist/server/services/uid.mjs.map +1 -1
  377. package/dist/server/services/utils/store.js.map +1 -1
  378. package/dist/server/services/utils/store.mjs.map +1 -1
  379. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  380. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  381. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  382. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  383. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  384. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  385. package/dist/server/src/homepage/index.d.ts +5 -0
  386. package/dist/server/src/homepage/index.d.ts.map +1 -1
  387. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  388. package/dist/server/src/homepage/services/homepage.d.ts +2 -1
  389. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  390. package/dist/server/src/homepage/services/index.d.ts +5 -0
  391. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  392. package/dist/server/src/index.d.ts +5 -0
  393. package/dist/server/src/index.d.ts.map +1 -1
  394. package/dist/server/src/preview/services/index.d.ts +1 -0
  395. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  396. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  397. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  398. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  399. package/dist/server/src/preview/utils.d.ts +1 -0
  400. package/dist/server/src/preview/utils.d.ts.map +1 -1
  401. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  402. package/dist/server/src/services/index.d.ts +5 -0
  403. package/dist/server/src/services/index.d.ts.map +1 -1
  404. package/dist/shared/contracts/homepage.d.ts +13 -0
  405. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  406. package/package.json +8 -9
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { Layouts, useTracking, useNotification, useAPIErrorHandler, useQueryParams, useStrapiApp, Page, unstable_tours, BackButton, SearchInput, Table, Pagination, useTable, useRBAC } from '@strapi/admin/strapi-admin';
3
+ import { Layouts, useTracking, useNotification, useAPIErrorHandler, useQueryParams, useStrapiApp, Page, tours, BackButton, SearchInput, Table, Pagination, useTable, useRBAC } from '@strapi/admin/strapi-admin';
4
4
  import { Box, EmptyStateLayout, Flex, Typography, Button } from '@strapi/design-system';
5
5
  import { Plus } from '@strapi/icons';
6
6
  import { EmptyDocuments } from '@strapi/icons/symbols';
@@ -176,10 +176,8 @@ const ListViewPage = ()=>{
176
176
  if (!isFetching && results.length === 0) {
177
177
  return /*#__PURE__*/ jsxs(Fragment, {
178
178
  children: [
179
- /*#__PURE__*/ jsx(unstable_tours.contentManager.Introduction, {
180
- children: /*#__PURE__*/ jsx(Box, {
181
- paddingTop: 5
182
- })
179
+ /*#__PURE__*/ jsx(tours.contentManager.Introduction, {
180
+ children: /*#__PURE__*/ jsx(Box, {})
183
181
  }),
184
182
  /*#__PURE__*/ jsxs(Page.Main, {
185
183
  children: [
@@ -187,7 +185,9 @@ const ListViewPage = ()=>{
187
185
  children: `${contentTypeTitle}`
188
186
  }),
189
187
  /*#__PURE__*/ jsx(LayoutsHeaderCustom, {
190
- primaryAction: canCreate ? /*#__PURE__*/ jsx(CreateButton, {}) : null,
188
+ primaryAction: canCreate ? /*#__PURE__*/ jsx(tours.contentManager.CreateNewEntry, {
189
+ children: /*#__PURE__*/ jsx(CreateButton, {})
190
+ }) : null,
191
191
  subtitle: formatMessage({
192
192
  id: getTranslation('pages.ListView.header-subtitle'),
193
193
  defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
@@ -213,7 +213,6 @@ const ListViewPage = ()=>{
213
213
  startActions: /*#__PURE__*/ jsxs(Fragment, {
214
214
  children: [
215
215
  list.settings.searchable && /*#__PURE__*/ jsx(SearchInput, {
216
- disabled: results.length === 0,
217
216
  label: formatMessage({
218
217
  id: 'app.component.search.label',
219
218
  defaultMessage: 'Search for {target}'
@@ -227,7 +226,6 @@ const ListViewPage = ()=>{
227
226
  trackedEvent: "didSearch"
228
227
  }),
229
228
  list.settings.filterable && schema ? /*#__PURE__*/ jsx(FiltersImpl, {
230
- disabled: results.length === 0,
231
229
  schema: schema
232
230
  }) : null
233
231
  ]
@@ -258,159 +256,168 @@ const ListViewPage = ()=>{
258
256
  ]
259
257
  });
260
258
  }
261
- return /*#__PURE__*/ jsxs(Page.Main, {
259
+ return /*#__PURE__*/ jsxs(Fragment, {
262
260
  children: [
263
- /*#__PURE__*/ jsx(Page.Title, {
264
- children: `${contentTypeTitle}`
265
- }),
266
- /*#__PURE__*/ jsx(LayoutsHeaderCustom, {
267
- primaryAction: canCreate ? /*#__PURE__*/ jsx(CreateButton, {}) : null,
268
- subtitle: formatMessage({
269
- id: getTranslation('pages.ListView.header-subtitle'),
270
- defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
271
- }, {
272
- number: pagination?.total
273
- }),
274
- title: contentTypeTitle,
275
- navigationAction: /*#__PURE__*/ jsx(BackButton, {})
261
+ /*#__PURE__*/ jsx(tours.contentManager.Introduction, {
262
+ children: /*#__PURE__*/ jsx(Box, {})
276
263
  }),
277
- /*#__PURE__*/ jsx(Layouts.Action, {
278
- endActions: /*#__PURE__*/ jsxs(Fragment, {
279
- children: [
280
- /*#__PURE__*/ jsx(InjectionZone, {
281
- area: "listView.actions"
264
+ /*#__PURE__*/ jsxs(Page.Main, {
265
+ children: [
266
+ /*#__PURE__*/ jsx(Page.Title, {
267
+ children: `${contentTypeTitle}`
268
+ }),
269
+ /*#__PURE__*/ jsx(LayoutsHeaderCustom, {
270
+ primaryAction: canCreate ? /*#__PURE__*/ jsx(tours.contentManager.CreateNewEntry, {
271
+ children: /*#__PURE__*/ jsx(CreateButton, {})
272
+ }) : null,
273
+ subtitle: formatMessage({
274
+ id: getTranslation('pages.ListView.header-subtitle'),
275
+ defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
276
+ }, {
277
+ number: pagination?.total
282
278
  }),
283
- /*#__PURE__*/ jsx(ViewSettingsMenu, {
284
- setHeaders: handleSetHeaders,
285
- resetHeaders: ()=>setDisplayedHeaders(list.layout),
286
- headers: displayedHeaders.map((header)=>header.name)
287
- })
288
- ]
289
- }),
290
- startActions: /*#__PURE__*/ jsxs(Fragment, {
291
- children: [
292
- list.settings.searchable && /*#__PURE__*/ jsx(SearchInput, {
293
- disabled: results.length === 0,
294
- label: formatMessage({
295
- id: 'app.component.search.label',
296
- defaultMessage: 'Search for {target}'
297
- }, {
298
- target: contentTypeTitle
299
- }),
300
- placeholder: formatMessage({
301
- id: 'global.search',
302
- defaultMessage: 'Search'
303
- }),
304
- trackedEvent: "didSearch"
279
+ title: contentTypeTitle,
280
+ navigationAction: /*#__PURE__*/ jsx(BackButton, {})
281
+ }),
282
+ /*#__PURE__*/ jsx(Layouts.Action, {
283
+ endActions: /*#__PURE__*/ jsxs(Fragment, {
284
+ children: [
285
+ /*#__PURE__*/ jsx(InjectionZone, {
286
+ area: "listView.actions"
287
+ }),
288
+ /*#__PURE__*/ jsx(ViewSettingsMenu, {
289
+ setHeaders: handleSetHeaders,
290
+ resetHeaders: ()=>setDisplayedHeaders(list.layout),
291
+ headers: displayedHeaders.map((header)=>header.name)
292
+ })
293
+ ]
305
294
  }),
306
- list.settings.filterable && schema ? /*#__PURE__*/ jsx(FiltersImpl, {
307
- disabled: results.length === 0,
308
- schema: schema
309
- }) : null
310
- ]
311
- })
312
- }),
313
- /*#__PURE__*/ jsx(Layouts.Content, {
314
- children: /*#__PURE__*/ jsxs(Flex, {
315
- gap: 4,
316
- direction: "column",
317
- alignItems: "stretch",
318
- children: [
319
- /*#__PURE__*/ jsxs(Table.Root, {
320
- rows: results,
321
- headers: tableHeaders,
322
- isLoading: isFetching,
295
+ startActions: /*#__PURE__*/ jsxs(Fragment, {
323
296
  children: [
324
- /*#__PURE__*/ jsx(TableActionsBar, {}),
325
- /*#__PURE__*/ jsxs(Table.Content, {
297
+ list.settings.searchable && /*#__PURE__*/ jsx(SearchInput, {
298
+ disabled: results.length === 0,
299
+ label: formatMessage({
300
+ id: 'app.component.search.label',
301
+ defaultMessage: 'Search for {target}'
302
+ }, {
303
+ target: contentTypeTitle
304
+ }),
305
+ placeholder: formatMessage({
306
+ id: 'global.search',
307
+ defaultMessage: 'Search'
308
+ }),
309
+ trackedEvent: "didSearch"
310
+ }),
311
+ list.settings.filterable && schema ? /*#__PURE__*/ jsx(FiltersImpl, {
312
+ disabled: results.length === 0,
313
+ schema: schema
314
+ }) : null
315
+ ]
316
+ })
317
+ }),
318
+ /*#__PURE__*/ jsx(Layouts.Content, {
319
+ children: /*#__PURE__*/ jsxs(Flex, {
320
+ gap: 4,
321
+ direction: "column",
322
+ alignItems: "stretch",
323
+ children: [
324
+ /*#__PURE__*/ jsxs(Table.Root, {
325
+ rows: results,
326
+ headers: tableHeaders,
327
+ isLoading: isFetching,
326
328
  children: [
327
- /*#__PURE__*/ jsxs(Table.Head, {
329
+ /*#__PURE__*/ jsx(TableActionsBar, {}),
330
+ /*#__PURE__*/ jsxs(Table.Content, {
328
331
  children: [
329
- /*#__PURE__*/ jsx(Table.HeaderCheckboxCell, {}),
330
- tableHeaders.map((header)=>/*#__PURE__*/ jsx(Table.HeaderCell, {
331
- ...header
332
- }, header.name))
333
- ]
334
- }),
335
- /*#__PURE__*/ jsx(Table.Loading, {}),
336
- /*#__PURE__*/ jsx(Table.Empty, {
337
- action: canCreate ? /*#__PURE__*/ jsx(CreateButton, {
338
- variant: "secondary"
339
- }) : null
340
- }),
341
- /*#__PURE__*/ jsx(Table.Body, {
342
- children: results.map((row)=>{
343
- return /*#__PURE__*/ jsxs(Table.Row, {
344
- cursor: "pointer",
345
- onClick: handleRowClick(row.documentId),
332
+ /*#__PURE__*/ jsxs(Table.Head, {
346
333
  children: [
347
- /*#__PURE__*/ jsx(Table.CheckboxCell, {
348
- id: row.id
349
- }),
350
- tableHeaders.map(({ cellFormatter, ...header })=>{
351
- if (header.name === 'status') {
352
- const { status } = row;
353
- return /*#__PURE__*/ jsx(Table.Cell, {
354
- children: /*#__PURE__*/ jsx(DocumentStatus, {
355
- status: status,
356
- maxWidth: 'min-content'
357
- })
358
- }, header.name);
359
- }
360
- if ([
361
- 'createdBy',
362
- 'updatedBy'
363
- ].includes(header.name.split('.')[0])) {
364
- // Display the users full name
365
- // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)
366
- // In this case, we display a dash
367
- return /*#__PURE__*/ jsx(Table.Cell, {
368
- children: /*#__PURE__*/ jsx(Typography, {
369
- textColor: "neutral800",
370
- children: row[header.name.split('.')[0]] ? getDisplayName(row[header.name.split('.')[0]]) : '-'
371
- })
372
- }, header.name);
373
- }
374
- if (typeof cellFormatter === 'function') {
375
- return /*#__PURE__*/ jsx(Table.Cell, {
376
- children: cellFormatter(row, header, {
377
- collectionType,
378
- model
334
+ /*#__PURE__*/ jsx(Table.HeaderCheckboxCell, {}),
335
+ tableHeaders.map((header)=>/*#__PURE__*/ jsx(Table.HeaderCell, {
336
+ ...header
337
+ }, header.name))
338
+ ]
339
+ }),
340
+ /*#__PURE__*/ jsx(Table.Loading, {}),
341
+ /*#__PURE__*/ jsx(Table.Empty, {
342
+ action: canCreate ? /*#__PURE__*/ jsx(CreateButton, {
343
+ variant: "secondary"
344
+ }) : null
345
+ }),
346
+ /*#__PURE__*/ jsx(Table.Body, {
347
+ children: results.map((row)=>{
348
+ return /*#__PURE__*/ jsxs(Table.Row, {
349
+ cursor: "pointer",
350
+ onClick: handleRowClick(row.documentId),
351
+ children: [
352
+ /*#__PURE__*/ jsx(Table.CheckboxCell, {
353
+ id: row.id
354
+ }),
355
+ tableHeaders.map(({ cellFormatter, ...header })=>{
356
+ if (header.name === 'status') {
357
+ const { status } = row;
358
+ return /*#__PURE__*/ jsx(Table.Cell, {
359
+ children: /*#__PURE__*/ jsx(DocumentStatus, {
360
+ status: status,
361
+ maxWidth: 'min-content'
362
+ })
363
+ }, header.name);
364
+ }
365
+ if ([
366
+ 'createdBy',
367
+ 'updatedBy'
368
+ ].includes(header.name.split('.')[0])) {
369
+ // Display the users full name
370
+ // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)
371
+ // In this case, we display a dash
372
+ return /*#__PURE__*/ jsx(Table.Cell, {
373
+ children: /*#__PURE__*/ jsx(Typography, {
374
+ textColor: "neutral800",
375
+ children: row[header.name.split('.')[0]] ? getDisplayName(row[header.name.split('.')[0]]) : '-'
376
+ })
377
+ }, header.name);
378
+ }
379
+ if (typeof cellFormatter === 'function') {
380
+ return /*#__PURE__*/ jsx(Table.Cell, {
381
+ children: cellFormatter(row, header, {
382
+ collectionType,
383
+ model
384
+ })
385
+ }, header.name);
386
+ }
387
+ return /*#__PURE__*/ jsx(Table.Cell, {
388
+ children: /*#__PURE__*/ jsx(CellContent, {
389
+ content: row[header.name.split('.')[0]],
390
+ rowId: row.documentId,
391
+ ...header
392
+ })
393
+ }, header.name);
394
+ }),
395
+ /*#__PURE__*/ jsx(ActionsCell, {
396
+ onClick: (e)=>e.stopPropagation(),
397
+ children: /*#__PURE__*/ jsx(TableActions, {
398
+ document: row
379
399
  })
380
- }, header.name);
381
- }
382
- return /*#__PURE__*/ jsx(Table.Cell, {
383
- children: /*#__PURE__*/ jsx(CellContent, {
384
- content: row[header.name.split('.')[0]],
385
- rowId: row.documentId,
386
- ...header
387
400
  })
388
- }, header.name);
389
- }),
390
- /*#__PURE__*/ jsx(ActionsCell, {
391
- onClick: (e)=>e.stopPropagation(),
392
- children: /*#__PURE__*/ jsx(TableActions, {
393
- document: row
394
- })
395
- })
396
- ]
397
- }, row.id);
398
- })
401
+ ]
402
+ }, row.id);
403
+ })
404
+ })
405
+ ]
399
406
  })
400
407
  ]
408
+ }),
409
+ /*#__PURE__*/ jsxs(Pagination.Root, {
410
+ ...pagination,
411
+ onPageSizeChange: ()=>trackUsage('willChangeNumberOfEntriesPerPage'),
412
+ children: [
413
+ /*#__PURE__*/ jsx(Pagination.PageSize, {}),
414
+ /*#__PURE__*/ jsx(Pagination.Links, {})
415
+ ]
401
416
  })
402
417
  ]
403
- }),
404
- /*#__PURE__*/ jsxs(Pagination.Root, {
405
- ...pagination,
406
- onPageSizeChange: ()=>trackUsage('willChangeNumberOfEntriesPerPage'),
407
- children: [
408
- /*#__PURE__*/ jsx(Pagination.PageSize, {}),
409
- /*#__PURE__*/ jsx(Pagination.Links, {})
410
- ]
411
418
  })
412
- ]
413
- })
419
+ })
420
+ ]
414
421
  })
415
422
  ]
416
423
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ListViewPage.mjs","sources":["../../../../admin/src/pages/ListView/ListViewPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Page,\n Pagination,\n SearchInput,\n Table,\n BackButton,\n useNotification,\n useStrapiApp,\n useTracking,\n useAPIErrorHandler,\n useQueryParams,\n useRBAC,\n Layouts,\n useTable,\n unstable_tours,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Flex,\n Typography,\n ButtonProps,\n Box,\n EmptyStateLayout,\n} from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport isEqual from 'lodash/isEqual';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, Link as ReactRouterLink, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { HOOKS } from '../../constants/hooks';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport {\n ListFieldLayout,\n convertListLayoutToFieldLayouts,\n useDocumentLayout,\n} from '../../hooks/useDocumentLayout';\nimport { usePrev } from '../../hooks/usePrev';\nimport { useGetAllDocumentsQuery } from '../../services/documents';\nimport { buildValidParams } from '../../utils/api';\nimport { getTranslation } from '../../utils/translations';\nimport { getDisplayName } from '../../utils/users';\nimport { DocumentStatus } from '../EditView/components/DocumentStatus';\n\nimport { BulkActionsRenderer } from './components/BulkActions/Actions';\nimport { Filters } from './components/Filters';\nimport { TableActions } from './components/TableActions';\nimport { CellContent } from './components/TableCells/CellContent';\nimport { ViewSettingsMenu } from './components/ViewSettingsMenu';\n\nimport type { Modules } from '@strapi/types';\n\nconst { INJECT_COLUMN_IN_TABLE } = HOOKS;\n\n/* -------------------------------------------------------------------------------------------------\n * ListViewPage\n * -----------------------------------------------------------------------------------------------*/\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow-wrap: anywhere;\n`;\n\nconst ListViewPage = () => {\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n\n const { collectionType, model, schema } = useDoc();\n const { list } = useDocumentLayout(model);\n\n const [displayedHeaders, setDisplayedHeaders] = React.useState<ListFieldLayout[]>([]);\n\n const listLayout = usePrev(list.layout);\n React.useEffect(() => {\n /**\n * ONLY update the displayedHeaders if the document\n * layout has actually changed in value.\n */\n if (!isEqual(listLayout, list.layout)) {\n setDisplayedHeaders(list.layout);\n }\n }, [list.layout, listLayout]);\n\n const handleSetHeaders = (headers: string[]) => {\n setDisplayedHeaders(\n convertListLayoutToFieldLayouts(headers, schema!.attributes, list.metadatas)\n );\n };\n\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n page?: string;\n pageSize?: string;\n sort?: string;\n }>({\n page: '1',\n pageSize: list.settings.pageSize.toString(),\n sort: list.settings.defaultSortBy\n ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}`\n : '',\n });\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const { data, error, isFetching } = useGetAllDocumentsQuery({\n model,\n params,\n });\n\n /**\n * If the API returns an error, display a notification\n */\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const { results = [], pagination } = data ?? {};\n\n React.useEffect(() => {\n if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {\n navigate(\n {\n search: stringify({\n ...query,\n page: pagination.pageCount,\n }),\n },\n { replace: true }\n );\n }\n }, [pagination, formatMessage, query, navigate]);\n\n const { canCreate } = useDocumentRBAC('ListViewPage', ({ canCreate }) => ({\n canCreate,\n }));\n\n const runHookWaterfall = useStrapiApp('ListViewPage', ({ runHookWaterfall }) => runHookWaterfall);\n /**\n * Run the waterfall and then inject our additional table headers.\n */\n const tableHeaders = React.useMemo(() => {\n const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {\n displayedHeaders,\n layout: list,\n });\n\n const formattedHeaders = headers.displayedHeaders.map<ListFieldLayout>((header) => {\n /**\n * When the header label is a string, it is an attribute on the current content-type:\n * Use the attribute name value to compute the translation.\n * Otherwise, it should be a translation object coming from a plugin that injects into the table (ie i18n, content-releases, review-workflows):\n * Use the translation object as is.\n */\n const translation =\n typeof header.label === 'string'\n ? {\n id: `content-manager.content-types.${model}.${header.name}`,\n defaultMessage: header.label,\n }\n : header.label;\n\n return {\n ...header,\n label: formatMessage(translation),\n name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ''}`,\n };\n });\n\n if (schema?.options?.draftAndPublish) {\n formattedHeaders.push({\n attribute: {\n type: 'custom',\n },\n name: 'status',\n label: formatMessage({\n id: getTranslation(`containers.list.table-headers.status`),\n defaultMessage: 'status',\n }),\n searchable: false,\n sortable: false,\n } satisfies ListFieldLayout);\n }\n\n return formattedHeaders;\n }, [\n displayedHeaders,\n formatMessage,\n list,\n runHookWaterfall,\n schema?.options?.draftAndPublish,\n model,\n ]);\n\n if (isFetching) {\n return <Page.Loading />;\n }\n\n if (error) {\n return <Page.Error />;\n }\n\n const contentTypeTitle = schema?.info.displayName\n ? formatMessage({ id: schema.info.displayName, defaultMessage: schema.info.displayName })\n : formatMessage({\n id: 'content-manager.containers.untitled',\n defaultMessage: 'Untitled',\n });\n\n const handleRowClick = (id: Modules.Documents.ID) => () => {\n trackUsage('willEditEntryFromList');\n navigate({\n pathname: id.toString(),\n search: stringify({ plugins: query.plugins }),\n });\n };\n\n if (!isFetching && results.length === 0) {\n return (\n <>\n <unstable_tours.contentManager.Introduction>\n {/* Invisible Anchor */}\n <Box paddingTop={5} />\n </unstable_tours.contentManager.Introduction>\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={canCreate ? <CreateButton /> : null}\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n <Layouts.Action\n endActions={\n <>\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={() => setDisplayedHeaders(list.layout)}\n headers={displayedHeaders.map((header) => header.name)}\n />\n </>\n }\n startActions={\n <>\n {list.settings.searchable && (\n <SearchInput\n disabled={results.length === 0}\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n {list.settings.filterable && schema ? (\n <Filters disabled={results.length === 0} schema={schema} />\n ) : null}\n </>\n }\n />\n <Layouts.Content>\n <Box background=\"neutral0\" shadow=\"filterShadow\" hasRadius>\n <EmptyStateLayout\n action={canCreate ? <CreateButton variant=\"secondary\" /> : null}\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-document',\n defaultMessage: 'No content found',\n })}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n </Box>\n </Layouts.Content>\n </Page.Main>\n </>\n );\n }\n\n return (\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={canCreate ? <CreateButton /> : null}\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n <Layouts.Action\n endActions={\n <>\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={() => setDisplayedHeaders(list.layout)}\n headers={displayedHeaders.map((header) => header.name)}\n />\n </>\n }\n startActions={\n <>\n {list.settings.searchable && (\n <SearchInput\n disabled={results.length === 0}\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n {list.settings.filterable && schema ? (\n <Filters disabled={results.length === 0} schema={schema} />\n ) : null}\n </>\n }\n />\n <Layouts.Content>\n <Flex gap={4} direction=\"column\" alignItems=\"stretch\">\n <Table.Root rows={results} headers={tableHeaders} isLoading={isFetching}>\n <TableActionsBar />\n <Table.Content>\n <Table.Head>\n <Table.HeaderCheckboxCell />\n {tableHeaders.map((header: ListFieldLayout) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Loading />\n <Table.Empty action={canCreate ? <CreateButton variant=\"secondary\" /> : null} />\n <Table.Body>\n {results.map((row) => {\n return (\n <Table.Row\n cursor=\"pointer\"\n key={row.id}\n onClick={handleRowClick(row.documentId)}\n >\n <Table.CheckboxCell id={row.id} />\n {tableHeaders.map(({ cellFormatter, ...header }) => {\n if (header.name === 'status') {\n const { status } = row;\n\n return (\n <Table.Cell key={header.name}>\n <DocumentStatus status={status} maxWidth={'min-content'} />\n </Table.Cell>\n );\n }\n if (['createdBy', 'updatedBy'].includes(header.name.split('.')[0])) {\n // Display the users full name\n // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)\n // In this case, we display a dash\n return (\n <Table.Cell key={header.name}>\n <Typography textColor=\"neutral800\">\n {row[header.name.split('.')[0]]\n ? getDisplayName(row[header.name.split('.')[0]])\n : '-'}\n </Typography>\n </Table.Cell>\n );\n }\n if (typeof cellFormatter === 'function') {\n return (\n <Table.Cell key={header.name}>\n {/* @ts-expect-error – TODO: fix this TS error */}\n {cellFormatter(row, header, { collectionType, model })}\n </Table.Cell>\n );\n }\n return (\n <Table.Cell key={header.name}>\n <CellContent\n content={row[header.name.split('.')[0]]}\n rowId={row.documentId}\n {...header}\n />\n </Table.Cell>\n );\n })}\n {/* we stop propagation here to allow the menu to trigger it's events without triggering the row redirect */}\n <ActionsCell onClick={(e) => e.stopPropagation()}>\n <TableActions document={row} />\n </ActionsCell>\n </Table.Row>\n );\n })}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root\n {...pagination}\n onPageSizeChange={() => trackUsage('willChangeNumberOfEntriesPerPage')}\n >\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Flex>\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nconst ActionsCell = styled(Table.Cell)`\n display: flex;\n justify-content: flex-end;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * TableActionsBar\n * -----------------------------------------------------------------------------------------------*/\n\nconst TableActionsBar = () => {\n const selectRow = useTable('TableActionsBar', (state) => state.selectRow);\n const [{ query }] = useQueryParams<{ plugins: { i18n: { locale: string } } }>();\n const locale = query?.plugins?.i18n?.locale;\n const prevLocale = usePrev(locale);\n\n // TODO: find a better way to reset the selected rows when the locale changes across all the app\n React.useEffect(() => {\n if (prevLocale !== locale) {\n selectRow([]);\n }\n }, [selectRow, prevLocale, locale]);\n\n return (\n <Table.ActionBar>\n <BulkActionsRenderer />\n </Table.ActionBar>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateButtonProps extends Pick<ButtonProps, 'variant'> {}\n\nconst CreateButton = ({ variant }: CreateButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [{ query }] = useQueryParams<{ plugins: object }>();\n\n return (\n <Button\n variant={variant}\n tag={ReactRouterLink}\n onClick={() => {\n trackUsage('willCreateEntry', { status: 'draft' });\n }}\n startIcon={<Plus />}\n style={{ textDecoration: 'none' }}\n to={{\n pathname: 'create',\n search: stringify({ plugins: query.plugins }),\n }}\n minWidth=\"max-content\"\n marginLeft={2}\n >\n {formatMessage({\n id: getTranslation('HeaderLayout.button.label-add-entry'),\n defaultMessage: 'Create new entry',\n })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <ListViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { ListViewPage, ProtectedListViewPage };\n"],"names":["INJECT_COLUMN_IN_TABLE","HOOKS","LayoutsHeaderCustom","styled","Layouts","Header","ListViewPage","trackUsage","useTracking","navigate","useNavigate","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","collectionType","model","schema","useDoc","list","useDocumentLayout","displayedHeaders","setDisplayedHeaders","React","useState","listLayout","usePrev","layout","useEffect","isEqual","handleSetHeaders","headers","convertListLayoutToFieldLayouts","attributes","metadatas","query","useQueryParams","page","pageSize","settings","toString","sort","defaultSortBy","defaultSortOrder","params","useMemo","buildValidParams","data","error","isFetching","useGetAllDocumentsQuery","type","message","results","pagination","pageCount","search","stringify","replace","canCreate","useDocumentRBAC","runHookWaterfall","useStrapiApp","tableHeaders","formattedHeaders","map","header","translation","label","id","name","defaultMessage","mainField","options","draftAndPublish","push","attribute","searchable","sortable","_jsx","Page","Loading","Error","contentTypeTitle","info","displayName","handleRowClick","pathname","plugins","length","_jsxs","_Fragment","unstable_tours","contentManager","Introduction","Box","paddingTop","Main","Title","primaryAction","CreateButton","subtitle","number","total","title","navigationAction","BackButton","Action","endActions","InjectionZone","area","ViewSettingsMenu","setHeaders","resetHeaders","startActions","SearchInput","disabled","target","placeholder","trackedEvent","filterable","Filters","Content","background","shadow","hasRadius","EmptyStateLayout","action","variant","content","icon","EmptyDocuments","width","Flex","gap","direction","alignItems","Table","Root","rows","isLoading","TableActionsBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Body","row","Row","cursor","onClick","documentId","CheckboxCell","cellFormatter","status","Cell","DocumentStatus","maxWidth","includes","split","Typography","textColor","getDisplayName","CellContent","rowId","ActionsCell","e","stopPropagation","TableActions","document","Pagination","onPageSizeChange","PageSize","Links","selectRow","useTable","state","locale","i18n","prevLocale","ActionBar","BulkActionsRenderer","Button","tag","ReactRouterLink","startIcon","Plus","style","textDecoration","to","minWidth","marginLeft","ProtectedListViewPage","slug","useParams","permissions","useRBAC","PERMISSIONS","subject","Protect","DocumentRBAC"],"mappings":"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"}
1
+ {"version":3,"file":"ListViewPage.mjs","sources":["../../../../admin/src/pages/ListView/ListViewPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Page,\n Pagination,\n SearchInput,\n Table,\n BackButton,\n useNotification,\n useStrapiApp,\n useTracking,\n useAPIErrorHandler,\n useQueryParams,\n useRBAC,\n Layouts,\n useTable,\n tours,\n} from '@strapi/admin/strapi-admin';\nimport {\n Button,\n Flex,\n Typography,\n ButtonProps,\n Box,\n EmptyStateLayout,\n} from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport isEqual from 'lodash/isEqual';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, Link as ReactRouterLink, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { HOOKS } from '../../constants/hooks';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport {\n ListFieldLayout,\n convertListLayoutToFieldLayouts,\n useDocumentLayout,\n} from '../../hooks/useDocumentLayout';\nimport { usePrev } from '../../hooks/usePrev';\nimport { useGetAllDocumentsQuery } from '../../services/documents';\nimport { buildValidParams } from '../../utils/api';\nimport { getTranslation } from '../../utils/translations';\nimport { getDisplayName } from '../../utils/users';\nimport { DocumentStatus } from '../EditView/components/DocumentStatus';\n\nimport { BulkActionsRenderer } from './components/BulkActions/Actions';\nimport { Filters } from './components/Filters';\nimport { TableActions } from './components/TableActions';\nimport { CellContent } from './components/TableCells/CellContent';\nimport { ViewSettingsMenu } from './components/ViewSettingsMenu';\n\nimport type { Modules } from '@strapi/types';\n\nconst { INJECT_COLUMN_IN_TABLE } = HOOKS;\n\n/* -------------------------------------------------------------------------------------------------\n * ListViewPage\n * -----------------------------------------------------------------------------------------------*/\nconst LayoutsHeaderCustom = styled(Layouts.Header)`\n overflow-wrap: anywhere;\n`;\n\nconst ListViewPage = () => {\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n\n const { collectionType, model, schema } = useDoc();\n const { list } = useDocumentLayout(model);\n\n const [displayedHeaders, setDisplayedHeaders] = React.useState<ListFieldLayout[]>([]);\n\n const listLayout = usePrev(list.layout);\n React.useEffect(() => {\n /**\n * ONLY update the displayedHeaders if the document\n * layout has actually changed in value.\n */\n if (!isEqual(listLayout, list.layout)) {\n setDisplayedHeaders(list.layout);\n }\n }, [list.layout, listLayout]);\n\n const handleSetHeaders = (headers: string[]) => {\n setDisplayedHeaders(\n convertListLayoutToFieldLayouts(headers, schema!.attributes, list.metadatas)\n );\n };\n\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n page?: string;\n pageSize?: string;\n sort?: string;\n }>({\n page: '1',\n pageSize: list.settings.pageSize.toString(),\n sort: list.settings.defaultSortBy\n ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}`\n : '',\n });\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n const { data, error, isFetching } = useGetAllDocumentsQuery({\n model,\n params,\n });\n\n /**\n * If the API returns an error, display a notification\n */\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const { results = [], pagination } = data ?? {};\n\n React.useEffect(() => {\n if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {\n navigate(\n {\n search: stringify({\n ...query,\n page: pagination.pageCount,\n }),\n },\n { replace: true }\n );\n }\n }, [pagination, formatMessage, query, navigate]);\n\n const { canCreate } = useDocumentRBAC('ListViewPage', ({ canCreate }) => ({\n canCreate,\n }));\n\n const runHookWaterfall = useStrapiApp('ListViewPage', ({ runHookWaterfall }) => runHookWaterfall);\n /**\n * Run the waterfall and then inject our additional table headers.\n */\n const tableHeaders = React.useMemo(() => {\n const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {\n displayedHeaders,\n layout: list,\n });\n\n const formattedHeaders = headers.displayedHeaders.map<ListFieldLayout>((header) => {\n /**\n * When the header label is a string, it is an attribute on the current content-type:\n * Use the attribute name value to compute the translation.\n * Otherwise, it should be a translation object coming from a plugin that injects into the table (ie i18n, content-releases, review-workflows):\n * Use the translation object as is.\n */\n const translation =\n typeof header.label === 'string'\n ? {\n id: `content-manager.content-types.${model}.${header.name}`,\n defaultMessage: header.label,\n }\n : header.label;\n\n return {\n ...header,\n label: formatMessage(translation),\n name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ''}`,\n };\n });\n\n if (schema?.options?.draftAndPublish) {\n formattedHeaders.push({\n attribute: {\n type: 'custom',\n },\n name: 'status',\n label: formatMessage({\n id: getTranslation(`containers.list.table-headers.status`),\n defaultMessage: 'status',\n }),\n searchable: false,\n sortable: false,\n } satisfies ListFieldLayout);\n }\n\n return formattedHeaders;\n }, [\n displayedHeaders,\n formatMessage,\n list,\n runHookWaterfall,\n schema?.options?.draftAndPublish,\n model,\n ]);\n\n if (isFetching) {\n return <Page.Loading />;\n }\n\n if (error) {\n return <Page.Error />;\n }\n\n const contentTypeTitle = schema?.info.displayName\n ? formatMessage({ id: schema.info.displayName, defaultMessage: schema.info.displayName })\n : formatMessage({\n id: 'content-manager.containers.untitled',\n defaultMessage: 'Untitled',\n });\n\n const handleRowClick = (id: Modules.Documents.ID) => () => {\n trackUsage('willEditEntryFromList');\n navigate({\n pathname: id.toString(),\n search: stringify({ plugins: query.plugins }),\n });\n };\n\n if (!isFetching && results.length === 0) {\n return (\n <>\n <tours.contentManager.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentManager.Introduction>\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={\n canCreate ? (\n <tours.contentManager.CreateNewEntry>\n <CreateButton />\n </tours.contentManager.CreateNewEntry>\n ) : null\n }\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n <Layouts.Action\n endActions={\n <>\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={() => setDisplayedHeaders(list.layout)}\n headers={displayedHeaders.map((header) => header.name)}\n />\n </>\n }\n startActions={\n <>\n {list.settings.searchable && (\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n {list.settings.filterable && schema ? <Filters schema={schema} /> : null}\n </>\n }\n />\n <Layouts.Content>\n <Box background=\"neutral0\" shadow=\"filterShadow\" hasRadius>\n <EmptyStateLayout\n action={canCreate ? <CreateButton variant=\"secondary\" /> : null}\n content={formatMessage({\n id: 'app.components.EmptyStateLayout.content-document',\n defaultMessage: 'No content found',\n })}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n </Box>\n </Layouts.Content>\n </Page.Main>\n </>\n );\n }\n\n return (\n <>\n <tours.contentManager.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentManager.Introduction>\n <Page.Main>\n <Page.Title>{`${contentTypeTitle}`}</Page.Title>\n <LayoutsHeaderCustom\n primaryAction={\n canCreate ? (\n <tours.contentManager.CreateNewEntry>\n <CreateButton />\n </tours.contentManager.CreateNewEntry>\n ) : null\n }\n subtitle={formatMessage(\n {\n id: getTranslation('pages.ListView.header-subtitle'),\n defaultMessage:\n '{number, plural, =0 {# entries} one {# entry} other {# entries}} found',\n },\n { number: pagination?.total }\n )}\n title={contentTypeTitle}\n navigationAction={<BackButton />}\n />\n <Layouts.Action\n endActions={\n <>\n <InjectionZone area=\"listView.actions\" />\n <ViewSettingsMenu\n setHeaders={handleSetHeaders}\n resetHeaders={() => setDisplayedHeaders(list.layout)}\n headers={displayedHeaders.map((header) => header.name)}\n />\n </>\n }\n startActions={\n <>\n {list.settings.searchable && (\n <SearchInput\n disabled={results.length === 0}\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: contentTypeTitle }\n )}\n placeholder={formatMessage({\n id: 'global.search',\n defaultMessage: 'Search',\n })}\n trackedEvent=\"didSearch\"\n />\n )}\n {list.settings.filterable && schema ? (\n <Filters disabled={results.length === 0} schema={schema} />\n ) : null}\n </>\n }\n />\n <Layouts.Content>\n <Flex gap={4} direction=\"column\" alignItems=\"stretch\">\n <Table.Root rows={results} headers={tableHeaders} isLoading={isFetching}>\n <TableActionsBar />\n <Table.Content>\n <Table.Head>\n <Table.HeaderCheckboxCell />\n {tableHeaders.map((header: ListFieldLayout) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Loading />\n <Table.Empty action={canCreate ? <CreateButton variant=\"secondary\" /> : null} />\n <Table.Body>\n {results.map((row) => {\n return (\n <Table.Row\n cursor=\"pointer\"\n key={row.id}\n onClick={handleRowClick(row.documentId)}\n >\n <Table.CheckboxCell id={row.id} />\n {tableHeaders.map(({ cellFormatter, ...header }) => {\n if (header.name === 'status') {\n const { status } = row;\n\n return (\n <Table.Cell key={header.name}>\n <DocumentStatus status={status} maxWidth={'min-content'} />\n </Table.Cell>\n );\n }\n if (['createdBy', 'updatedBy'].includes(header.name.split('.')[0])) {\n // Display the users full name\n // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)\n // In this case, we display a dash\n return (\n <Table.Cell key={header.name}>\n <Typography textColor=\"neutral800\">\n {row[header.name.split('.')[0]]\n ? getDisplayName(row[header.name.split('.')[0]])\n : '-'}\n </Typography>\n </Table.Cell>\n );\n }\n if (typeof cellFormatter === 'function') {\n return (\n <Table.Cell key={header.name}>\n {/* @ts-expect-error – TODO: fix this TS error */}\n {cellFormatter(row, header, { collectionType, model })}\n </Table.Cell>\n );\n }\n return (\n <Table.Cell key={header.name}>\n <CellContent\n content={row[header.name.split('.')[0]]}\n rowId={row.documentId}\n {...header}\n />\n </Table.Cell>\n );\n })}\n {/* we stop propagation here to allow the menu to trigger it's events without triggering the row redirect */}\n <ActionsCell onClick={(e) => e.stopPropagation()}>\n <TableActions document={row} />\n </ActionsCell>\n </Table.Row>\n );\n })}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root\n {...pagination}\n onPageSizeChange={() => trackUsage('willChangeNumberOfEntriesPerPage')}\n >\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Flex>\n </Layouts.Content>\n </Page.Main>\n </>\n );\n};\n\nconst ActionsCell = styled(Table.Cell)`\n display: flex;\n justify-content: flex-end;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * TableActionsBar\n * -----------------------------------------------------------------------------------------------*/\n\nconst TableActionsBar = () => {\n const selectRow = useTable('TableActionsBar', (state) => state.selectRow);\n const [{ query }] = useQueryParams<{ plugins: { i18n: { locale: string } } }>();\n const locale = query?.plugins?.i18n?.locale;\n const prevLocale = usePrev(locale);\n\n // TODO: find a better way to reset the selected rows when the locale changes across all the app\n React.useEffect(() => {\n if (prevLocale !== locale) {\n selectRow([]);\n }\n }, [selectRow, prevLocale, locale]);\n\n return (\n <Table.ActionBar>\n <BulkActionsRenderer />\n </Table.ActionBar>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CreateButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CreateButtonProps extends Pick<ButtonProps, 'variant'> {}\n\nconst CreateButton = ({ variant }: CreateButtonProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [{ query }] = useQueryParams<{ plugins: object }>();\n\n return (\n <Button\n variant={variant}\n tag={ReactRouterLink}\n onClick={() => {\n trackUsage('willCreateEntry', { status: 'draft' });\n }}\n startIcon={<Plus />}\n style={{ textDecoration: 'none' }}\n to={{\n pathname: 'create',\n search: stringify({ plugins: query.plugins }),\n }}\n minWidth=\"max-content\"\n marginLeft={2}\n >\n {formatMessage({\n id: getTranslation('HeaderLayout.button.label-add-entry'),\n defaultMessage: 'Create new entry',\n })}\n </Button>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <ListViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { ListViewPage, ProtectedListViewPage };\n"],"names":["INJECT_COLUMN_IN_TABLE","HOOKS","LayoutsHeaderCustom","styled","Layouts","Header","ListViewPage","trackUsage","useTracking","navigate","useNavigate","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","getTranslation","collectionType","model","schema","useDoc","list","useDocumentLayout","displayedHeaders","setDisplayedHeaders","React","useState","listLayout","usePrev","layout","useEffect","isEqual","handleSetHeaders","headers","convertListLayoutToFieldLayouts","attributes","metadatas","query","useQueryParams","page","pageSize","settings","toString","sort","defaultSortBy","defaultSortOrder","params","useMemo","buildValidParams","data","error","isFetching","useGetAllDocumentsQuery","type","message","results","pagination","pageCount","search","stringify","replace","canCreate","useDocumentRBAC","runHookWaterfall","useStrapiApp","tableHeaders","formattedHeaders","map","header","translation","label","id","name","defaultMessage","mainField","options","draftAndPublish","push","attribute","searchable","sortable","_jsx","Page","Loading","Error","contentTypeTitle","info","displayName","handleRowClick","pathname","plugins","length","_jsxs","_Fragment","tours","contentManager","Introduction","Box","Main","Title","primaryAction","CreateNewEntry","CreateButton","subtitle","number","total","title","navigationAction","BackButton","Action","endActions","InjectionZone","area","ViewSettingsMenu","setHeaders","resetHeaders","startActions","SearchInput","target","placeholder","trackedEvent","filterable","Filters","Content","background","shadow","hasRadius","EmptyStateLayout","action","variant","content","icon","EmptyDocuments","width","disabled","Flex","gap","direction","alignItems","Table","Root","rows","isLoading","TableActionsBar","Head","HeaderCheckboxCell","HeaderCell","Empty","Body","row","Row","cursor","onClick","documentId","CheckboxCell","cellFormatter","status","Cell","DocumentStatus","maxWidth","includes","split","Typography","textColor","getDisplayName","CellContent","rowId","ActionsCell","e","stopPropagation","TableActions","document","Pagination","onPageSizeChange","PageSize","Links","selectRow","useTable","state","locale","i18n","prevLocale","ActionBar","BulkActionsRenderer","Button","tag","ReactRouterLink","startIcon","Plus","style","textDecoration","to","minWidth","marginLeft","ProtectedListViewPage","slug","useParams","permissions","useRBAC","PERMISSIONS","subject","Protect","DocumentRBAC"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCloneFailureModal.js","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;;;AAcA,MAAMA,yBAA4B,GAAA,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,KAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;0BACEC,cAACC,CAAAA,uBAAAA,EAAAA;gBAAWC,OAAQ,EAAA,MAAA;0BACjBR,aAAc,CAAA;AACbS,oBAAAA,EAAAA,EAAIC,2BAAe,CAAA,sCAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;0BAEFL,cAACM,CAAAA,gBAAAA,EAAAA;gBAAIC,SAAW,EAAA,CAAA;AACd,gBAAA,QAAA,gBAAAP,cAACC,CAAAA,uBAAAA,EAAAA;oBAAWO,SAAU,EAAA,YAAA;8BACnBd,aAAc,CAAA;AACbS,wBAAAA,EAAAA,EAAIC,2BAAe,CAAA,4CAAA,CAAA;wBACnBC,cACE,EAAA;AACJ,qBAAA;;;0BAGJL,cAACS,CAAAA,iBAAAA,EAAAA;gBAAKF,SAAW,EAAA,CAAA;gBAAGG,GAAK,EAAA,CAAA;gBAAGC,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAWjB,EAAAA,MAAAA,CAAO,iBACxCC,eAACW,CAAAA,iBAAAA,EAAAA;wBACCE,SAAU,EAAA,QAAA;wBACVD,GAAK,EAAA,CAAA;wBACLE,UAAW,EAAA,YAAA;wBACXG,WAAY,EAAA,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAS,EAAA,CAAA;;0CAGTjB,cAACS,CAAAA,iBAAAA,EAAAA;gCAAKE,SAAU,EAAA,KAAA;gCAAMO,GAAI,EAAA,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,eAACG,CAAAA,uBAAAA,EAAAA;wCAAWoB,UAAW,EAAA,UAAA;wCAAWH,GAAI,EAAA,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAUQ,CAAAA,MAAM,GAAG,CAAA,kBAC5BtB,cAACuB,CAAAA,kBAAAA,EAAAA;gDACCC,IAAK,EAAA,YAAA;gDACLC,MAAO,EAAA,QAAA;gDACPC,KAAM,EAAA,QAAA;gDACNC,KAAO,EAAA;oDAAEC,MAAQ,EAAA;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,cAACC,CAAAA,uBAAAA,EAAAA;gCAAWiB,GAAI,EAAA,GAAA;gCAAIV,SAAU,EAAA,YAAA;0CAC3Bd,aAAc,CAAA;AACbS,oCAAAA,EAAAA,EAAIC,2BAAe,CAAA,CAAC,qCAAqC,EAAEP,OAAO,CAAC,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAuBC,CAAAA,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}
1
+ {"version":3,"file":"AutoCloneFailureModal.js","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;;;AAcA,MAAMA,yBAA4B,GAAA,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,KAAA;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;0BACEC,cAACC,CAAAA,uBAAAA,EAAAA;gBAAWC,OAAQ,EAAA,MAAA;0BACjBR,aAAc,CAAA;AACbS,oBAAAA,EAAAA,EAAIC,2BAAe,CAAA,sCAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;0BAEFL,cAACM,CAAAA,gBAAAA,EAAAA;gBAAIC,SAAW,EAAA,CAAA;AACd,gBAAA,QAAA,gBAAAP,cAACC,CAAAA,uBAAAA,EAAAA;oBAAWO,SAAU,EAAA,YAAA;8BACnBd,aAAc,CAAA;AACbS,wBAAAA,EAAAA,EAAIC,2BAAe,CAAA,4CAAA,CAAA;wBACnBC,cACE,EAAA;AACJ,qBAAA;;;0BAGJL,cAACS,CAAAA,iBAAAA,EAAAA;gBAAKF,SAAW,EAAA,CAAA;gBAAGG,GAAK,EAAA,CAAA;gBAAGC,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAWjB,EAAAA,MAAAA,CAAO,iBACxCC,eAACW,CAAAA,iBAAAA,EAAAA;wBACCE,SAAU,EAAA,QAAA;wBACVD,GAAK,EAAA,CAAA;wBACLE,UAAW,EAAA,YAAA;wBACXG,WAAY,EAAA,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAS,EAAA,CAAA;;0CAGTjB,cAACS,CAAAA,iBAAAA,EAAAA;gCAAKE,SAAU,EAAA,KAAA;gCAAMO,GAAI,EAAA,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,eAACG,CAAAA,uBAAAA,EAAAA;wCAAWoB,UAAW,EAAA,UAAA;wCAAWH,GAAI,EAAA,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAUQ,CAAAA,MAAM,GAAG,CAAA,kBAC5BtB,cAACuB,CAAAA,kBAAAA,EAAAA;gDACCC,IAAK,EAAA,YAAA;gDACLC,MAAO,EAAA,QAAA;gDACPC,KAAM,EAAA,QAAA;gDACNC,KAAO,EAAA;oDAAEC,MAAQ,EAAA;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,cAACC,CAAAA,uBAAAA,EAAAA;gCAAWiB,GAAI,EAAA,GAAA;gCAAIV,SAAU,EAAA,YAAA;0CAC3Bd,aAAc,CAAA;AACbS,oCAAAA,EAAAA,EAAIC,2BAAe,CAAA,CAAC,qCAAqC,EAAEP,MAAQ,CAAA,CAAA,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAuBC,CAAAA,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCloneFailureModal.mjs","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;AAcA,MAAMA,yBAA4B,GAAA,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,KAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;0BACEC,GAACC,CAAAA,UAAAA,EAAAA;gBAAWC,OAAQ,EAAA,MAAA;0BACjBR,aAAc,CAAA;AACbS,oBAAAA,EAAAA,EAAIC,cAAe,CAAA,sCAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;0BAEFL,GAACM,CAAAA,GAAAA,EAAAA;gBAAIC,SAAW,EAAA,CAAA;AACd,gBAAA,QAAA,gBAAAP,GAACC,CAAAA,UAAAA,EAAAA;oBAAWO,SAAU,EAAA,YAAA;8BACnBd,aAAc,CAAA;AACbS,wBAAAA,EAAAA,EAAIC,cAAe,CAAA,4CAAA,CAAA;wBACnBC,cACE,EAAA;AACJ,qBAAA;;;0BAGJL,GAACS,CAAAA,IAAAA,EAAAA;gBAAKF,SAAW,EAAA,CAAA;gBAAGG,GAAK,EAAA,CAAA;gBAAGC,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAWjB,EAAAA,MAAAA,CAAO,iBACxCC,IAACW,CAAAA,IAAAA,EAAAA;wBACCE,SAAU,EAAA,QAAA;wBACVD,GAAK,EAAA,CAAA;wBACLE,UAAW,EAAA,YAAA;wBACXG,WAAY,EAAA,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAS,EAAA,CAAA;;0CAGTjB,GAACS,CAAAA,IAAAA,EAAAA;gCAAKE,SAAU,EAAA,KAAA;gCAAMO,GAAI,EAAA,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,IAACG,CAAAA,UAAAA,EAAAA;wCAAWoB,UAAW,EAAA,UAAA;wCAAWH,GAAI,EAAA,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAUQ,CAAAA,MAAM,GAAG,CAAA,kBAC5BtB,GAACuB,CAAAA,YAAAA,EAAAA;gDACCC,IAAK,EAAA,YAAA;gDACLC,MAAO,EAAA,QAAA;gDACPC,KAAM,EAAA,QAAA;gDACNC,KAAO,EAAA;oDAAEC,MAAQ,EAAA;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,GAACC,CAAAA,UAAAA,EAAAA;gCAAWiB,GAAI,EAAA,GAAA;gCAAIV,SAAU,EAAA,YAAA;0CAC3Bd,aAAc,CAAA;AACbS,oCAAAA,EAAAA,EAAIC,cAAe,CAAA,CAAC,qCAAqC,EAAEP,OAAO,CAAC,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAuBC,CAAAA,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}
1
+ {"version":3,"file":"AutoCloneFailureModal.mjs","sources":["../../../../../admin/src/pages/ListView/components/AutoCloneFailureModal.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { ChevronRight } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ProhibitedCloningField } from '../../../../../shared/contracts/collection-types';\n\ntype Reason = ProhibitedCloningField[1];\n\ninterface AutoCloneFailureModalBodyProps {\n prohibitedFields: ProhibitedCloningField[];\n}\n\nconst AutoCloneFailureModalBody = ({ prohibitedFields }: AutoCloneFailureModalBodyProps) => {\n const { formatMessage } = useIntl();\n\n const getDefaultErrorMessage = (reason: Reason) => {\n switch (reason) {\n case 'relation':\n return 'Duplicating the relation could remove it from the original entry.';\n case 'unique':\n return 'Identical values in a unique field are not allowed';\n default:\n return reason;\n }\n };\n\n return (\n <>\n <Typography variant=\"beta\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.title'),\n defaultMessage: \"This entry can't be duplicated directly.\",\n })}\n </Typography>\n <Box marginTop={2}>\n <Typography textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('containers.list.autoCloneModal.description'),\n defaultMessage:\n \"A new entry will be created with the same content, but you'll have to change the following fields to save it.\",\n })}\n </Typography>\n </Box>\n <Flex marginTop={6} gap={2} direction=\"column\" alignItems=\"stretch\">\n {prohibitedFields.map(([fieldPath, reason]) => (\n <Flex\n direction=\"column\"\n gap={2}\n alignItems=\"flex-start\"\n borderColor=\"neutral200\"\n hasRadius\n padding={6}\n key={fieldPath.join()}\n >\n <Flex direction=\"row\" tag=\"ol\">\n {fieldPath.map((pathSegment, index) => (\n <Typography fontWeight=\"semiBold\" tag=\"li\" key={index}>\n {pathSegment}\n {index !== fieldPath.length - 1 && (\n <ChevronRight\n fill=\"neutral500\"\n height=\"0.8rem\"\n width=\"0.8rem\"\n style={{ margin: '0 0.8rem' }}\n />\n )}\n </Typography>\n ))}\n </Flex>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),\n defaultMessage: getDefaultErrorMessage(reason),\n })}\n </Typography>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n\nexport { AutoCloneFailureModalBody };\nexport type { AutoCloneFailureModalBodyProps };\n"],"names":["AutoCloneFailureModalBody","prohibitedFields","formatMessage","useIntl","getDefaultErrorMessage","reason","_jsxs","_Fragment","_jsx","Typography","variant","id","getTranslation","defaultMessage","Box","marginTop","textColor","Flex","gap","direction","alignItems","map","fieldPath","borderColor","hasRadius","padding","tag","pathSegment","index","fontWeight","length","ChevronRight","fill","height","width","style","margin","join"],"mappings":";;;;;;AAcA,MAAMA,yBAA4B,GAAA,CAAC,EAAEC,gBAAgB,EAAkC,GAAA;IACrF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyB,CAACC,MAAAA,GAAAA;QAC9B,OAAQA,MAAAA;YACN,KAAK,UAAA;gBACH,OAAO,mEAAA;YACT,KAAK,QAAA;gBACH,OAAO,oDAAA;AACT,YAAA;gBACE,OAAOA,MAAAA;AACX;AACF,KAAA;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;0BACEC,GAACC,CAAAA,UAAAA,EAAAA;gBAAWC,OAAQ,EAAA,MAAA;0BACjBR,aAAc,CAAA;AACbS,oBAAAA,EAAAA,EAAIC,cAAe,CAAA,sCAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;0BAEFL,GAACM,CAAAA,GAAAA,EAAAA;gBAAIC,SAAW,EAAA,CAAA;AACd,gBAAA,QAAA,gBAAAP,GAACC,CAAAA,UAAAA,EAAAA;oBAAWO,SAAU,EAAA,YAAA;8BACnBd,aAAc,CAAA;AACbS,wBAAAA,EAAAA,EAAIC,cAAe,CAAA,4CAAA,CAAA;wBACnBC,cACE,EAAA;AACJ,qBAAA;;;0BAGJL,GAACS,CAAAA,IAAAA,EAAAA;gBAAKF,SAAW,EAAA,CAAA;gBAAGG,GAAK,EAAA,CAAA;gBAAGC,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,SAAA;AACvDnB,gBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBoB,GAAG,CAAC,CAAC,CAACC,SAAWjB,EAAAA,MAAAA,CAAO,iBACxCC,IAACW,CAAAA,IAAAA,EAAAA;wBACCE,SAAU,EAAA,QAAA;wBACVD,GAAK,EAAA,CAAA;wBACLE,UAAW,EAAA,YAAA;wBACXG,WAAY,EAAA,YAAA;wBACZC,SAAS,EAAA,IAAA;wBACTC,OAAS,EAAA,CAAA;;0CAGTjB,GAACS,CAAAA,IAAAA,EAAAA;gCAAKE,SAAU,EAAA,KAAA;gCAAMO,GAAI,EAAA,IAAA;AACvBJ,gCAAAA,QAAAA,EAAAA,SAAAA,CAAUD,GAAG,CAAC,CAACM,WAAAA,EAAaC,sBAC3BtB,IAACG,CAAAA,UAAAA,EAAAA;wCAAWoB,UAAW,EAAA,UAAA;wCAAWH,GAAI,EAAA,IAAA;;AACnCC,4CAAAA,WAAAA;AACAC,4CAAAA,KAAAA,KAAUN,SAAUQ,CAAAA,MAAM,GAAG,CAAA,kBAC5BtB,GAACuB,CAAAA,YAAAA,EAAAA;gDACCC,IAAK,EAAA,YAAA;gDACLC,MAAO,EAAA,QAAA;gDACPC,KAAM,EAAA,QAAA;gDACNC,KAAO,EAAA;oDAAEC,MAAQ,EAAA;AAAW;;;AAPcR,qCAAAA,EAAAA,KAAAA,CAAAA;;0CAapDpB,GAACC,CAAAA,UAAAA,EAAAA;gCAAWiB,GAAI,EAAA,GAAA;gCAAIV,SAAU,EAAA,YAAA;0CAC3Bd,aAAc,CAAA;AACbS,oCAAAA,EAAAA,EAAIC,cAAe,CAAA,CAAC,qCAAqC,EAAEP,MAAQ,CAAA,CAAA,CAAA;AACnEQ,oCAAAA,cAAAA,EAAgBT,sBAAuBC,CAAAA,MAAAA;AACzC,iCAAA;;;AArBGiB,qBAAAA,EAAAA,SAAAA,CAAUe,IAAI,EAAA,CAAA;;;;AA4B/B;;;;"}