@strapi/content-manager 5.37.1 → 5.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/dist/admin/components/ActionsDrawer.js.map +1 -1
  2. package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
  3. package/dist/admin/components/ComponentIcon.js.map +1 -1
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  8. package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
  9. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  10. package/dist/admin/components/ConfigurationForm/Form.js +62 -30
  11. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  12. package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
  13. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  14. package/dist/admin/components/DragLayer.js.map +1 -1
  15. package/dist/admin/components/DragLayer.mjs.map +1 -1
  16. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  17. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  18. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  20. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  21. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  22. package/dist/admin/components/FieldTypeIcon.js.map +1 -1
  23. package/dist/admin/components/FieldTypeIcon.mjs +1 -1
  24. package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
  25. package/dist/admin/components/InjectionZone.js.map +1 -1
  26. package/dist/admin/components/InjectionZone.mjs.map +1 -1
  27. package/dist/admin/components/LeftMenu.js.map +1 -1
  28. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  29. package/dist/admin/components/RelativeTime.js.map +1 -1
  30. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  31. package/dist/admin/components/Widgets.js.map +1 -1
  32. package/dist/admin/components/Widgets.mjs +1 -1
  33. package/dist/admin/components/Widgets.mjs.map +1 -1
  34. package/dist/admin/constants/attributes.js.map +1 -1
  35. package/dist/admin/constants/attributes.mjs.map +1 -1
  36. package/dist/admin/constants/collections.js.map +1 -1
  37. package/dist/admin/constants/collections.mjs.map +1 -1
  38. package/dist/admin/constants/dragAndDrop.js.map +1 -1
  39. package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
  40. package/dist/admin/constants/hooks.js.map +1 -1
  41. package/dist/admin/constants/hooks.mjs.map +1 -1
  42. package/dist/admin/constants/plugin.js.map +1 -1
  43. package/dist/admin/constants/plugin.mjs.map +1 -1
  44. package/dist/admin/content-manager.js.map +1 -1
  45. package/dist/admin/content-manager.mjs.map +1 -1
  46. package/dist/admin/features/DocumentRBAC.js.map +1 -1
  47. package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
  48. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  49. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  50. package/dist/admin/history/components/VersionContent.js +48 -16
  51. package/dist/admin/history/components/VersionContent.js.map +1 -1
  52. package/dist/admin/history/components/VersionContent.mjs +48 -16
  53. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  54. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  55. package/dist/admin/history/components/VersionHeader.mjs +1 -1
  56. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  57. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  58. package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
  59. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  60. package/dist/admin/history/components/VersionsList.js.map +1 -1
  61. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  62. package/dist/admin/history/index.js.map +1 -1
  63. package/dist/admin/history/index.mjs.map +1 -1
  64. package/dist/admin/history/pages/History.js.map +1 -1
  65. package/dist/admin/history/pages/History.mjs +1 -1
  66. package/dist/admin/history/pages/History.mjs.map +1 -1
  67. package/dist/admin/history/routes.js.map +1 -1
  68. package/dist/admin/history/routes.mjs.map +1 -1
  69. package/dist/admin/history/services/historyVersion.js.map +1 -1
  70. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  71. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  72. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  73. package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
  74. package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
  75. package/dist/admin/hooks/useDebounce.js.map +1 -1
  76. package/dist/admin/hooks/useDebounce.mjs.map +1 -1
  77. package/dist/admin/hooks/useDocument.js.map +1 -1
  78. package/dist/admin/hooks/useDocument.mjs +1 -1
  79. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  80. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  81. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  82. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  83. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  84. package/dist/admin/hooks/useDocumentLayout.js +2 -1
  85. package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
  86. package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
  87. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
  88. package/dist/admin/hooks/useDragAndDrop.js +1 -3
  89. package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
  90. package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
  91. package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
  92. package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
  93. package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
  94. package/dist/admin/hooks/useLazyComponents.js.map +1 -1
  95. package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
  96. package/dist/admin/hooks/useOnce.js.map +1 -1
  97. package/dist/admin/hooks/useOnce.mjs.map +1 -1
  98. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  99. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  100. package/dist/admin/hooks/usePrev.js.map +1 -1
  101. package/dist/admin/hooks/usePrev.mjs.map +1 -1
  102. package/dist/admin/index.js.map +1 -1
  103. package/dist/admin/index.mjs.map +1 -1
  104. package/dist/admin/layout.js.map +1 -1
  105. package/dist/admin/layout.mjs.map +1 -1
  106. package/dist/admin/modules/app.js.map +1 -1
  107. package/dist/admin/modules/app.mjs.map +1 -1
  108. package/dist/admin/modules/hooks.js.map +1 -1
  109. package/dist/admin/modules/hooks.mjs +1 -1
  110. package/dist/admin/modules/hooks.mjs.map +1 -1
  111. package/dist/admin/modules/reducers.js.map +1 -1
  112. package/dist/admin/modules/reducers.mjs.map +1 -1
  113. package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
  114. package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
  115. package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
  116. package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
  117. package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
  118. package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
  119. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  120. package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
  121. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  122. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
  123. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
  124. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  125. package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
  126. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  127. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  128. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
  130. package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  132. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  134. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
  136. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
  138. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
  140. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  142. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +51 -0
  143. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
  144. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +53 -2
  145. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
  146. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
  148. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  150. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +6 -2
  151. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  152. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +6 -2
  153. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  154. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  156. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
  158. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -1
  160. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  162. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
  163. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  164. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  165. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
  166. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  167. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
  168. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
  169. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
  170. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
  171. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
  172. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
  173. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
  174. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
  175. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
  176. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
  177. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  178. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  179. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  180. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  181. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  182. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  183. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  184. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  185. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
  186. package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
  187. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
  188. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
  189. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  190. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  191. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  192. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  193. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +1 -1
  194. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  195. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +1 -1
  196. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  197. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
  198. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
  199. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  200. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  201. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
  202. package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
  203. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
  204. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  205. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +45 -8
  206. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  207. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +148 -111
  208. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  209. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +152 -115
  210. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  211. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  212. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  213. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  214. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  215. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  216. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  217. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
  218. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
  219. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  220. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  221. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
  222. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
  223. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  224. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
  225. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  226. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  227. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  228. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
  229. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
  230. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
  231. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
  232. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
  233. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  234. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +8 -6
  235. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  236. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  237. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  238. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  239. package/dist/admin/pages/EditView/components/Header.mjs +2 -2
  240. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  241. package/dist/admin/pages/EditView/components/InputRenderer.js +15 -5
  242. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  243. package/dist/admin/pages/EditView/components/InputRenderer.mjs +15 -5
  244. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  245. package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
  246. package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
  247. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  248. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  249. package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
  250. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
  251. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  252. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
  253. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  254. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  255. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
  256. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  257. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  258. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
  259. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  260. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  261. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  262. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  263. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  264. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
  265. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
  266. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  267. package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
  268. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  269. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  270. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  271. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  272. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  273. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
  274. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  275. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
  276. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  277. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
  278. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  279. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
  280. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  281. package/dist/admin/pages/ListView/components/Filters.js +54 -1
  282. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  283. package/dist/admin/pages/ListView/components/Filters.mjs +54 -1
  284. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  285. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  286. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  287. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  288. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  289. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
  290. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
  291. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
  292. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
  293. package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
  294. package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
  295. package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
  296. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  297. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
  298. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  299. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  300. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  301. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  302. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  303. package/dist/admin/pages/NoContentTypePage.js.map +1 -1
  304. package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
  305. package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
  306. package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
  307. package/dist/admin/preview/components/InputPopover.js.map +1 -1
  308. package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
  309. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  310. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  311. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  312. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  313. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
  314. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
  315. package/dist/admin/preview/index.js.map +1 -1
  316. package/dist/admin/preview/index.mjs.map +1 -1
  317. package/dist/admin/preview/pages/Preview.js.map +1 -1
  318. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  319. package/dist/admin/preview/routes.js.map +1 -1
  320. package/dist/admin/preview/routes.mjs.map +1 -1
  321. package/dist/admin/preview/services/preview.js.map +1 -1
  322. package/dist/admin/preview/services/preview.mjs.map +1 -1
  323. package/dist/admin/preview/utils/constants.js +0 -1
  324. package/dist/admin/preview/utils/constants.js.map +1 -1
  325. package/dist/admin/preview/utils/constants.mjs +0 -1
  326. package/dist/admin/preview/utils/constants.mjs.map +1 -1
  327. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  328. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  329. package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
  330. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
  331. package/dist/admin/preview/utils/previewScript.js.map +1 -1
  332. package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
  333. package/dist/admin/router.js.map +1 -1
  334. package/dist/admin/router.mjs.map +1 -1
  335. package/dist/admin/services/api.js.map +1 -1
  336. package/dist/admin/services/api.mjs.map +1 -1
  337. package/dist/admin/services/components.js.map +1 -1
  338. package/dist/admin/services/components.mjs.map +1 -1
  339. package/dist/admin/services/contentTypes.js.map +1 -1
  340. package/dist/admin/services/contentTypes.mjs.map +1 -1
  341. package/dist/admin/services/documents.js.map +1 -1
  342. package/dist/admin/services/documents.mjs.map +1 -1
  343. package/dist/admin/services/homepage.js.map +1 -1
  344. package/dist/admin/services/homepage.mjs.map +1 -1
  345. package/dist/admin/services/init.js.map +1 -1
  346. package/dist/admin/services/init.mjs.map +1 -1
  347. package/dist/admin/services/relations.js.map +1 -1
  348. package/dist/admin/services/relations.mjs.map +1 -1
  349. package/dist/admin/services/uid.js.map +1 -1
  350. package/dist/admin/services/uid.mjs.map +1 -1
  351. package/dist/admin/src/exports.d.ts +1 -1
  352. package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
  353. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +1 -0
  354. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
  355. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
  356. package/dist/admin/src/utils/conditionalFields.d.ts +12 -0
  357. package/dist/admin/translations/en.json.js +10 -0
  358. package/dist/admin/translations/en.json.js.map +1 -1
  359. package/dist/admin/translations/en.json.mjs +10 -0
  360. package/dist/admin/translations/en.json.mjs.map +1 -1
  361. package/dist/admin/translations/es.json.js +136 -2
  362. package/dist/admin/translations/es.json.js.map +1 -1
  363. package/dist/admin/translations/es.json.mjs +136 -2
  364. package/dist/admin/translations/es.json.mjs.map +1 -1
  365. package/dist/admin/translations/fr.json.js +72 -1
  366. package/dist/admin/translations/fr.json.js.map +1 -1
  367. package/dist/admin/translations/fr.json.mjs +72 -1
  368. package/dist/admin/translations/fr.json.mjs.map +1 -1
  369. package/dist/admin/utils/api.js.map +1 -1
  370. package/dist/admin/utils/api.mjs.map +1 -1
  371. package/dist/admin/utils/attributes.js.map +1 -1
  372. package/dist/admin/utils/attributes.mjs.map +1 -1
  373. package/dist/admin/utils/conditionalFields.js +76 -0
  374. package/dist/admin/utils/conditionalFields.js.map +1 -0
  375. package/dist/admin/utils/conditionalFields.mjs +69 -0
  376. package/dist/admin/utils/conditionalFields.mjs.map +1 -0
  377. package/dist/admin/utils/objects.js.map +1 -1
  378. package/dist/admin/utils/objects.mjs.map +1 -1
  379. package/dist/admin/utils/relations.js.map +1 -1
  380. package/dist/admin/utils/relations.mjs.map +1 -1
  381. package/dist/admin/utils/strings.js.map +1 -1
  382. package/dist/admin/utils/strings.mjs.map +1 -1
  383. package/dist/admin/utils/translations.js.map +1 -1
  384. package/dist/admin/utils/translations.mjs.map +1 -1
  385. package/dist/admin/utils/urls.js.map +1 -1
  386. package/dist/admin/utils/urls.mjs.map +1 -1
  387. package/dist/admin/utils/users.js.map +1 -1
  388. package/dist/admin/utils/users.mjs.map +1 -1
  389. package/dist/admin/utils/validation.js.map +1 -1
  390. package/dist/admin/utils/validation.mjs.map +1 -1
  391. package/dist/server/bootstrap.js.map +1 -1
  392. package/dist/server/bootstrap.mjs.map +1 -1
  393. package/dist/server/constants/index.js.map +1 -1
  394. package/dist/server/constants/index.mjs.map +1 -1
  395. package/dist/server/controllers/collection-types.js +157 -4
  396. package/dist/server/controllers/collection-types.js.map +1 -1
  397. package/dist/server/controllers/collection-types.mjs +159 -6
  398. package/dist/server/controllers/collection-types.mjs.map +1 -1
  399. package/dist/server/controllers/components.js.map +1 -1
  400. package/dist/server/controllers/components.mjs.map +1 -1
  401. package/dist/server/controllers/content-types.js +10 -10
  402. package/dist/server/controllers/content-types.js.map +1 -1
  403. package/dist/server/controllers/content-types.mjs.map +1 -1
  404. package/dist/server/controllers/index.js +4 -4
  405. package/dist/server/controllers/index.js.map +1 -1
  406. package/dist/server/controllers/index.mjs.map +1 -1
  407. package/dist/server/controllers/init.js.map +1 -1
  408. package/dist/server/controllers/init.mjs.map +1 -1
  409. package/dist/server/controllers/relations.js.map +1 -1
  410. package/dist/server/controllers/relations.mjs +3 -3
  411. package/dist/server/controllers/relations.mjs.map +1 -1
  412. package/dist/server/controllers/single-types.js +19 -4
  413. package/dist/server/controllers/single-types.js.map +1 -1
  414. package/dist/server/controllers/single-types.mjs +20 -5
  415. package/dist/server/controllers/single-types.mjs.map +1 -1
  416. package/dist/server/controllers/uid.js.map +1 -1
  417. package/dist/server/controllers/uid.mjs +1 -1
  418. package/dist/server/controllers/uid.mjs.map +1 -1
  419. package/dist/server/controllers/utils/clone.js.map +1 -1
  420. package/dist/server/controllers/utils/clone.mjs.map +1 -1
  421. package/dist/server/controllers/utils/document-status.js.map +1 -1
  422. package/dist/server/controllers/utils/document-status.mjs.map +1 -1
  423. package/dist/server/controllers/utils/metadata.js.map +1 -1
  424. package/dist/server/controllers/utils/metadata.mjs.map +1 -1
  425. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  426. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  427. package/dist/server/controllers/validation/index.js.map +1 -1
  428. package/dist/server/controllers/validation/index.mjs +1 -1
  429. package/dist/server/controllers/validation/index.mjs.map +1 -1
  430. package/dist/server/controllers/validation/model-configuration.js +6 -1
  431. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  432. package/dist/server/controllers/validation/model-configuration.mjs +6 -1
  433. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  434. package/dist/server/controllers/validation/relations.js.map +1 -1
  435. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  436. package/dist/server/destroy.js.map +1 -1
  437. package/dist/server/destroy.mjs.map +1 -1
  438. package/dist/server/history/constants.js.map +1 -1
  439. package/dist/server/history/constants.mjs.map +1 -1
  440. package/dist/server/history/controllers/history-version.js.map +1 -1
  441. package/dist/server/history/controllers/history-version.mjs.map +1 -1
  442. package/dist/server/history/controllers/index.js.map +1 -1
  443. package/dist/server/history/controllers/index.mjs.map +1 -1
  444. package/dist/server/history/controllers/validation/history-version.js.map +1 -1
  445. package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
  446. package/dist/server/history/index.js +4 -4
  447. package/dist/server/history/index.js.map +1 -1
  448. package/dist/server/history/index.mjs.map +1 -1
  449. package/dist/server/history/models/history-version.js.map +1 -1
  450. package/dist/server/history/models/history-version.mjs.map +1 -1
  451. package/dist/server/history/routes/history-version.js.map +1 -1
  452. package/dist/server/history/routes/history-version.mjs.map +1 -1
  453. package/dist/server/history/routes/index.js.map +1 -1
  454. package/dist/server/history/routes/index.mjs.map +1 -1
  455. package/dist/server/history/services/history.js.map +1 -1
  456. package/dist/server/history/services/history.mjs.map +1 -1
  457. package/dist/server/history/services/index.js.map +1 -1
  458. package/dist/server/history/services/index.mjs.map +1 -1
  459. package/dist/server/history/services/lifecycles.js.map +1 -1
  460. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  461. package/dist/server/history/services/utils.js.map +1 -1
  462. package/dist/server/history/services/utils.mjs.map +1 -1
  463. package/dist/server/history/utils.js.map +1 -1
  464. package/dist/server/history/utils.mjs.map +1 -1
  465. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  466. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  467. package/dist/server/homepage/controllers/index.js.map +1 -1
  468. package/dist/server/homepage/controllers/index.mjs.map +1 -1
  469. package/dist/server/homepage/index.js +6 -6
  470. package/dist/server/homepage/index.js.map +1 -1
  471. package/dist/server/homepage/index.mjs.map +1 -1
  472. package/dist/server/homepage/routes/homepage.js.map +1 -1
  473. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  474. package/dist/server/homepage/routes/index.js.map +1 -1
  475. package/dist/server/homepage/routes/index.mjs.map +1 -1
  476. package/dist/server/homepage/services/homepage.js.map +1 -1
  477. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  478. package/dist/server/homepage/services/index.js.map +1 -1
  479. package/dist/server/homepage/services/index.mjs.map +1 -1
  480. package/dist/server/index.js +8 -8
  481. package/dist/server/middlewares/routing.js.map +1 -1
  482. package/dist/server/middlewares/routing.mjs.map +1 -1
  483. package/dist/server/policies/hasPermissions.js.map +1 -1
  484. package/dist/server/policies/hasPermissions.mjs.map +1 -1
  485. package/dist/server/policies/index.js.map +1 -1
  486. package/dist/server/policies/index.mjs.map +1 -1
  487. package/dist/server/preview/controllers/index.js.map +1 -1
  488. package/dist/server/preview/controllers/index.mjs.map +1 -1
  489. package/dist/server/preview/controllers/preview.js.map +1 -1
  490. package/dist/server/preview/controllers/preview.mjs.map +1 -1
  491. package/dist/server/preview/controllers/validation/preview.js.map +1 -1
  492. package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
  493. package/dist/server/preview/index.js +4 -4
  494. package/dist/server/preview/index.js.map +1 -1
  495. package/dist/server/preview/index.mjs.map +1 -1
  496. package/dist/server/preview/routes/index.js.map +1 -1
  497. package/dist/server/preview/routes/index.mjs.map +1 -1
  498. package/dist/server/preview/routes/preview.js.map +1 -1
  499. package/dist/server/preview/routes/preview.mjs.map +1 -1
  500. package/dist/server/preview/services/index.js.map +1 -1
  501. package/dist/server/preview/services/index.mjs.map +1 -1
  502. package/dist/server/preview/services/preview-config.js.map +1 -1
  503. package/dist/server/preview/services/preview-config.mjs +1 -1
  504. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  505. package/dist/server/preview/services/preview.js +2 -1
  506. package/dist/server/preview/services/preview.js.map +1 -1
  507. package/dist/server/preview/services/preview.mjs +2 -1
  508. package/dist/server/preview/services/preview.mjs.map +1 -1
  509. package/dist/server/preview/utils.js.map +1 -1
  510. package/dist/server/preview/utils.mjs.map +1 -1
  511. package/dist/server/register.js.map +1 -1
  512. package/dist/server/register.mjs.map +1 -1
  513. package/dist/server/routes/admin.js.map +1 -1
  514. package/dist/server/routes/admin.mjs.map +1 -1
  515. package/dist/server/routes/index.js +4 -4
  516. package/dist/server/routes/index.js.map +1 -1
  517. package/dist/server/routes/index.mjs.map +1 -1
  518. package/dist/server/services/components.js.map +1 -1
  519. package/dist/server/services/components.mjs.map +1 -1
  520. package/dist/server/services/configuration.js.map +1 -1
  521. package/dist/server/services/configuration.mjs.map +1 -1
  522. package/dist/server/services/content-types.js.map +1 -1
  523. package/dist/server/services/content-types.mjs.map +1 -1
  524. package/dist/server/services/data-mapper.js.map +1 -1
  525. package/dist/server/services/data-mapper.mjs.map +1 -1
  526. package/dist/server/services/document-manager.js.map +1 -1
  527. package/dist/server/services/document-manager.mjs +2 -2
  528. package/dist/server/services/document-manager.mjs.map +1 -1
  529. package/dist/server/services/document-metadata.js.map +1 -1
  530. package/dist/server/services/document-metadata.mjs +2 -2
  531. package/dist/server/services/document-metadata.mjs.map +1 -1
  532. package/dist/server/services/field-sizes.js.map +1 -1
  533. package/dist/server/services/field-sizes.mjs.map +1 -1
  534. package/dist/server/services/index.js +4 -4
  535. package/dist/server/services/index.js.map +1 -1
  536. package/dist/server/services/index.mjs.map +1 -1
  537. package/dist/server/services/metrics.js.map +1 -1
  538. package/dist/server/services/metrics.mjs.map +1 -1
  539. package/dist/server/services/permission-checker.js.map +1 -1
  540. package/dist/server/services/permission-checker.mjs.map +1 -1
  541. package/dist/server/services/permission.js.map +1 -1
  542. package/dist/server/services/permission.mjs.map +1 -1
  543. package/dist/server/services/populate-builder.js.map +1 -1
  544. package/dist/server/services/populate-builder.mjs +4 -4
  545. package/dist/server/services/populate-builder.mjs.map +1 -1
  546. package/dist/server/services/uid.js.map +1 -1
  547. package/dist/server/services/uid.mjs.map +1 -1
  548. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  549. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  550. package/dist/server/services/utils/configuration/index.js.map +1 -1
  551. package/dist/server/services/utils/configuration/index.mjs +3 -3
  552. package/dist/server/services/utils/configuration/index.mjs.map +1 -1
  553. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  554. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  555. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  556. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  557. package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
  558. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  559. package/dist/server/services/utils/configuration/settings.js +4 -2
  560. package/dist/server/services/utils/configuration/settings.js.map +1 -1
  561. package/dist/server/services/utils/configuration/settings.mjs +5 -3
  562. package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
  563. package/dist/server/services/utils/draft.js.map +1 -1
  564. package/dist/server/services/utils/draft.mjs.map +1 -1
  565. package/dist/server/services/utils/populate.js.map +1 -1
  566. package/dist/server/services/utils/populate.mjs +1 -1
  567. package/dist/server/services/utils/populate.mjs.map +1 -1
  568. package/dist/server/services/utils/store.js.map +1 -1
  569. package/dist/server/services/utils/store.mjs.map +1 -1
  570. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  571. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  572. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  573. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
  574. package/dist/server/utils/index.js.map +1 -1
  575. package/dist/server/utils/index.mjs.map +1 -1
  576. package/dist/server/validation/policies/hasPermissions.js.map +1 -1
  577. package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
  578. package/dist/shared/contracts/content-types.d.ts +2 -0
  579. package/dist/shared/contracts/content-types.d.ts.map +1 -1
  580. package/dist/shared/contracts/relations.d.ts +1 -1
  581. package/dist/shared/contracts/relations.d.ts.map +1 -1
  582. package/package.json +15 -10
@@ -1 +1 @@
1
- {"version":3,"file":"VersionInputRenderer.js","sources":["../../../../admin/src/history/components/VersionInputRenderer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useForm,\n InputRenderer as FormInputRenderer,\n useField,\n Form,\n} from '@strapi/admin/strapi-admin';\nimport { Alert, Box, Field, Flex, Link, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HistoryVersionDataResponse } from '../../../../shared/contracts/history-versions';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport { useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { BlocksInput } from '../../pages/EditView/components/FormInputs/BlocksInput/BlocksInput';\nimport { ComponentInput } from '../../pages/EditView/components/FormInputs/Component/Input';\nimport {\n DynamicZone,\n useDynamicZone,\n} from '../../pages/EditView/components/FormInputs/DynamicZone/Field';\nimport { NotAllowedInput } from '../../pages/EditView/components/FormInputs/NotAllowed';\nimport { UIDInput } from '../../pages/EditView/components/FormInputs/UID';\nimport { Wysiwyg } from '../../pages/EditView/components/FormInputs/Wysiwyg/Field';\nimport { useFieldHint } from '../../pages/EditView/components/InputRenderer';\nimport { getRelationLabel } from '../../utils/relations';\nimport { useHistoryContext } from '../pages/History';\n\nimport { getRemaingFieldsLayout } from './VersionContent';\n\nimport type { EditFieldLayout } from '../../hooks/useDocumentLayout';\nimport type { RelationsFieldProps } from '../../pages/EditView/components/FormInputs/Relations/Relations';\nimport type { RelationResult } from '../../services/relations';\nimport type { Schema } from '@strapi/types';\nimport type { DistributiveOmit } from 'react-redux';\n\nconst StyledAlert = styled(Alert).attrs({ closeLabel: 'Close', onClose: () => {}, shadow: 'none' })`\n button {\n display: none;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * CustomRelationInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst LinkEllipsis = styled(Link)`\n display: block;\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n`;\n\nconst CustomRelationInput = (props: RelationsFieldProps) => {\n const { formatMessage } = useIntl();\n const field = useField<\n { results: RelationResult[]; meta: { missingCount: number } } | RelationResult[]\n >(props.name);\n\n /**\n * Ideally the server would return the correct shape, however, for admin user relations\n * it sanitizes everything out when it finds an object for the relation value.\n */\n let formattedFieldValue;\n if (field) {\n formattedFieldValue = Array.isArray(field.value)\n ? { results: field.value, meta: { missingCount: 0 } }\n : field.value;\n }\n\n if (\n !formattedFieldValue ||\n (formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0)\n ) {\n return (\n <>\n <Field.Label action={props.labelAction}>{props.label}</Field.Label>\n <Box marginTop={1}>\n {/* @ts-expect-error – we dont need closeLabel */}\n <StyledAlert variant=\"default\">\n {formatMessage({\n id: 'content-manager.history.content.no-relations',\n defaultMessage: 'No relations.',\n })}\n </StyledAlert>\n </Box>\n </>\n );\n }\n\n const { results, meta } = formattedFieldValue;\n\n return (\n <Box>\n <Field.Label>{props.label}</Field.Label>\n {results.length > 0 && (\n <Flex direction=\"column\" gap={2} marginTop={1} alignItems=\"stretch\">\n {results.map((relationData) => {\n // @ts-expect-error - targetModel does exist on the attribute. But it's not typed.\n const { targetModel } = props.attribute;\n const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;\n const label = getRelationLabel(relationData, props.mainField);\n const isAdminUserRelation = targetModel === 'admin::user';\n\n return (\n <Flex\n key={relationData.documentId ?? relationData.id}\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={4}\n paddingRight={4}\n hasRadius\n borderColor=\"neutral200\"\n background=\"neutral150\"\n justifyContent=\"space-between\"\n >\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <Tooltip label={label}>\n {isAdminUserRelation ? (\n <Typography>{label}</Typography>\n ) : (\n <LinkEllipsis tag={NavLink} to={href}>\n {label}\n </LinkEllipsis>\n )}\n </Tooltip>\n </Box>\n <DocumentStatus status={relationData.status as string} />\n </Flex>\n );\n })}\n </Flex>\n )}\n {meta.missingCount > 0 && (\n /* @ts-expect-error – we dont need closeLabel */\n <StyledAlert\n marginTop={1}\n variant=\"warning\"\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.title',\n defaultMessage:\n '{number, plural, =1 {Missing relation} other {{number} missing relations}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CustomMediaInput\n * -----------------------------------------------------------------------------------------------*/\n\n// Create an object with value at key path (i.e. 'a.b.c')\nconst createInitialValuesForPath = (keyPath: string, value: any) => {\n const keys = keyPath.split('.');\n // The root level object\n const root: Record<string, any> = {};\n\n // Make the first node the root\n let node = root;\n keys.forEach((key, index) => {\n // Skip prototype pollution keys\n if (key === '__proto__' || key === 'constructor') return;\n // If it's the last key, set the node value\n if (index === keys.length - 1) {\n node[key] = value;\n } else {\n // Ensure the key exists and is an object\n node[key] = node[key] || {};\n }\n\n // Traverse down the tree\n node = node[key];\n });\n\n return root;\n};\n\nconst CustomMediaInput = (props: VersionInputRendererProps) => {\n const { value } = useField(props.name);\n const results = value?.results ?? [];\n const meta = value?.meta ?? { missingCount: 0 };\n\n const { formatMessage } = useIntl();\n\n const fields = useStrapiApp('CustomMediaInput', (state) => state.fields);\n const MediaLibrary = fields.media as React.ComponentType<\n VersionInputRendererProps & { multiple: boolean }\n >;\n\n return (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Form\n method=\"PUT\"\n disabled={true}\n initialValues={createInitialValuesForPath(props.name, results)}\n >\n <MediaLibrary {...props} disabled={true} multiple={results.length > 1} />\n </Form>\n {meta.missingCount > 0 && (\n <StyledAlert\n variant=\"warning\"\n closeLabel=\"Close\"\n onClose={() => {}}\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.title',\n defaultMessage:\n '{number, plural, =1 {Missing asset} other {{number} missing assets}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Flex>\n );\n};\n\ntype VersionInputRendererProps = DistributiveOmit<EditFieldLayout, 'size'> & {\n /**\n * In the context of content history, deleted fields need to ignore RBAC\n * @default false\n */\n shouldIgnoreRBAC?: boolean;\n};\n\n/**\n * Checks if the i18n plugin added a label action to the field and modifies it\n * to adapt the wording for the history page.\n */\nconst getLabelAction = (labelAction: VersionInputRendererProps['labelAction']) => {\n if (!React.isValidElement(labelAction)) {\n return labelAction;\n }\n\n // TODO: find a better way to do this rather than access internals\n const labelActionTitleId = labelAction.props.title.id;\n\n if (labelActionTitleId === 'i18n.Field.localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.localized',\n defaultMessage:\n 'This value is specific to this locale. If you restore this version, the content will not be replaced for other locales.',\n },\n });\n }\n\n if (labelActionTitleId === 'i18n.Field.not-localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.not-localized',\n defaultMessage:\n 'This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales.',\n },\n });\n }\n\n // Label action is unrelated to i18n, don't touch it.\n return labelAction;\n};\n\n/**\n * @internal\n *\n * @description An abstraction around the regular form input renderer designed specifically\n * to be used on the History page in the content-manager. It understands how to render specific\n * inputs within the context of a history version (i.e. relations, media, ignored RBAC, etc...)\n */\nconst VersionInputRenderer = ({\n visible,\n hint: providedHint,\n shouldIgnoreRBAC = false,\n labelAction,\n ...props\n}: VersionInputRendererProps) => {\n const customLabelAction = getLabelAction(labelAction);\n\n const { formatMessage } = useIntl();\n const version = useHistoryContext('VersionContent', (state) => state.selectedVersion);\n const configuration = useHistoryContext('VersionContent', (state) => state.configuration);\n const fieldSizes = useTypedSelector((state) => state['content-manager'].app.fieldSizes);\n\n const { id, components } = useDoc();\n const isFormDisabled = useForm('InputRenderer', (state) => state.disabled);\n\n const isInDynamicZone = useDynamicZone('isInDynamicZone', (state) => state.isInDynamicZone);\n\n const canCreateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canCreateFields);\n const canReadFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canReadFields);\n const canUpdateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUpdateFields);\n const canUserAction = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUserAction);\n\n const editableFields = id ? canUpdateFields : canCreateFields;\n const readableFields = id ? canReadFields : canCreateFields;\n /**\n * Component fields are always readable and editable,\n * however the fields within them may not be.\n */\n const canUserReadField = canUserAction(props.name, readableFields, props.type);\n const canUserEditField = canUserAction(props.name, editableFields, props.type);\n\n const fields = useStrapiApp('InputRenderer', (app) => app.fields);\n const { lazyComponentStore } = useLazyComponents(\n attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : undefined\n );\n\n const hint = useFieldHint(providedHint, props.attribute);\n const {\n edit: { components: componentsLayout },\n } = useDocLayout();\n\n if (!visible) {\n return null;\n }\n\n /**\n * Don't render the field if the user can't read it.\n */\n if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {\n return <NotAllowedInput hint={hint} {...props} />;\n }\n\n const fieldIsDisabled =\n (!canUserEditField && !isInDynamicZone) || props.disabled || isFormDisabled;\n\n /**\n * Attributes found on the current content-type schema cannot be restored. We handle\n * this by displaying a warning alert to the user instead of the input for that field type.\n */\n const addedAttributes = version.meta.unknownAttributes.added;\n if (Object.keys(addedAttributes).includes(props.name)) {\n return (\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={1}>\n <Field.Label>{props.label}</Field.Label>\n <StyledAlert\n width=\"100%\"\n closeLabel=\"Close\"\n onClose={() => {}}\n variant=\"warning\"\n title={formatMessage({\n id: 'content-manager.history.content.new-field.title',\n defaultMessage: 'New field',\n })}\n >\n {formatMessage({\n id: 'content-manager.history.content.new-field.message',\n defaultMessage:\n \"This field didn't exist when this version was saved. If you restore this version, it will be empty.\",\n })}\n </StyledAlert>\n </Flex>\n );\n }\n\n /**\n * Because a custom field has a unique prop but the type could be confused with either\n * the useField hook or the type of the field we need to handle it separately and first.\n */\n if (attributeHasCustomFieldProperty(props.attribute)) {\n const CustomInput = lazyComponentStore[props.attribute.customField];\n\n if (CustomInput) {\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLazyComponents hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – this workaround lets us display that the custom field is missing.\n type={props.attribute.customField}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * Since media fields use a custom input via the upload plugin provided by the useLibrary hook,\n * we need to handle the them before other custom inputs coming from the useLibrary hook.\n */\n if (props.type === 'media') {\n return (\n <CustomMediaInput {...props} labelAction={customLabelAction} disabled={fieldIsDisabled} />\n );\n }\n /**\n * This is where we handle ONLY the fields from the `useLibrary` hook.\n */\n const addedInputTypes = Object.keys(fields);\n if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {\n const CustomInput = fields[props.type];\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLibrary hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * These include the content-manager specific fields, failing that we fall back\n * to the more generic form input renderer.\n */\n switch (props.type) {\n case 'blocks':\n return <BlocksInput {...props} hint={hint} type={props.type} disabled={fieldIsDisabled} />;\n case 'component':\n const { layout } = componentsLayout[props.attribute.component];\n // Components can only have one panel, so only save the first layout item\n const [remainingFieldsLayout] = getRemaingFieldsLayout({\n layout: [layout],\n metadatas: configuration.components[props.attribute.component].metadatas,\n fieldSizes,\n schemaAttributes: components[props.attribute.component].attributes,\n });\n\n return (\n <ComponentInput\n {...props}\n layout={[...layout, ...(remainingFieldsLayout || [])]}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </ComponentInput>\n );\n case 'dynamiczone':\n return (\n <DynamicZone\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </DynamicZone>\n );\n case 'relation':\n return (\n <CustomRelationInput\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'richtext':\n return (\n <Wysiwyg\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'uid':\n return (\n <UIDInput\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n /**\n * Enumerations are a special case because they require options.\n */\n case 'enumeration':\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n options={props.attribute.enum.map((value) => ({ value }))}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n default:\n // These props are not needed for the generic form input renderer.\n const { unique: _unique, mainField: _mainField, ...restProps } = props;\n return (\n <FormInputRenderer\n {...restProps}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n }\n};\n\nconst attributeHasCustomFieldProperty = (\n attribute: Schema.Attribute.AnyAttribute\n): attribute is Schema.Attribute.AnyAttribute & Schema.Attribute.CustomField<string> =>\n 'customField' in attribute && typeof attribute.customField === 'string';\n\nexport type { VersionInputRendererProps };\nexport { VersionInputRenderer };\n"],"names":["StyledAlert","styled","Alert","attrs","closeLabel","onClose","shadow","LinkEllipsis","Link","CustomRelationInput","props","formatMessage","useIntl","field","useField","name","formattedFieldValue","Array","isArray","value","results","meta","missingCount","length","_jsxs","_Fragment","_jsx","Field","Label","action","labelAction","label","Box","marginTop","variant","id","defaultMessage","Flex","direction","gap","alignItems","map","relationData","targetModel","attribute","href","COLLECTION_TYPES","documentId","getRelationLabel","mainField","isAdminUserRelation","paddingTop","paddingBottom","paddingLeft","paddingRight","hasRadius","borderColor","background","justifyContent","minWidth","Tooltip","Typography","tag","NavLink","to","DocumentStatus","status","title","number","createInitialValuesForPath","keyPath","keys","split","root","node","forEach","key","index","CustomMediaInput","fields","useStrapiApp","state","MediaLibrary","media","Form","method","disabled","initialValues","multiple","getLabelAction","React","isValidElement","labelActionTitleId","cloneElement","VersionInputRenderer","visible","hint","providedHint","shouldIgnoreRBAC","customLabelAction","version","useHistoryContext","selectedVersion","configuration","fieldSizes","useTypedSelector","app","components","useDoc","isFormDisabled","useForm","isInDynamicZone","useDynamicZone","canCreateFields","useDocumentRBAC","rbac","canReadFields","canUpdateFields","canUserAction","editableFields","readableFields","canUserReadField","type","canUserEditField","lazyComponentStore","useLazyComponents","attributeHasCustomFieldProperty","customField","undefined","useFieldHint","edit","componentsLayout","useDocLayout","NotAllowedInput","fieldIsDisabled","addedAttributes","unknownAttributes","added","Object","includes","width","CustomInput","FormInputRenderer","addedInputTypes","BlocksInput","layout","component","remainingFieldsLayout","getRemaingFieldsLayout","metadatas","schemaAttributes","attributes","ComponentInput","inputProps","DynamicZone","Wysiwyg","UIDInput","options","enum","unique","_unique","_mainField","restProps"],"mappings":"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"}
1
+ {"version":3,"file":"VersionInputRenderer.js","sources":["../../../../admin/src/history/components/VersionInputRenderer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useForm,\n InputRenderer as FormInputRenderer,\n useField,\n Form,\n} from '@strapi/admin/strapi-admin';\nimport { Alert, Box, Field, Flex, Link, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HistoryVersionDataResponse } from '../../../../shared/contracts/history-versions';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport { useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { BlocksInput } from '../../pages/EditView/components/FormInputs/BlocksInput/BlocksInput';\nimport { ComponentInput } from '../../pages/EditView/components/FormInputs/Component/Input';\nimport {\n DynamicZone,\n useDynamicZone,\n} from '../../pages/EditView/components/FormInputs/DynamicZone/Field';\nimport { NotAllowedInput } from '../../pages/EditView/components/FormInputs/NotAllowed';\nimport { UIDInput } from '../../pages/EditView/components/FormInputs/UID';\nimport { Wysiwyg } from '../../pages/EditView/components/FormInputs/Wysiwyg/Field';\nimport { useFieldHint } from '../../pages/EditView/components/InputRenderer';\nimport { getRelationLabel } from '../../utils/relations';\nimport { useHistoryContext } from '../pages/History';\n\nimport { getRemaingFieldsLayout } from './VersionContent';\n\nimport type { EditFieldLayout } from '../../hooks/useDocumentLayout';\nimport type { RelationsFieldProps } from '../../pages/EditView/components/FormInputs/Relations/Relations';\nimport type { RelationResult } from '../../services/relations';\nimport type { Schema } from '@strapi/types';\nimport type { DistributiveOmit } from 'react-redux';\n\nconst StyledAlert = styled(Alert).attrs({ closeLabel: 'Close', onClose: () => {}, shadow: 'none' })`\n button {\n display: none;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * CustomRelationInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst LinkEllipsis = styled(Link)`\n display: block;\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n`;\n\nconst CustomRelationInput = (props: RelationsFieldProps) => {\n const { formatMessage } = useIntl();\n const field = useField<\n { results: RelationResult[]; meta: { missingCount: number } } | RelationResult[]\n >(props.name);\n\n /**\n * Ideally the server would return the correct shape, however, for admin user relations\n * it sanitizes everything out when it finds an object for the relation value.\n */\n let formattedFieldValue;\n if (field) {\n formattedFieldValue = Array.isArray(field.value)\n ? { results: field.value, meta: { missingCount: 0 } }\n : field.value;\n }\n\n if (\n !formattedFieldValue ||\n (formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0)\n ) {\n return (\n <>\n <Field.Label action={props.labelAction}>{props.label}</Field.Label>\n <Box marginTop={1}>\n {/* @ts-expect-error – we dont need closeLabel */}\n <StyledAlert variant=\"default\">\n {formatMessage({\n id: 'content-manager.history.content.no-relations',\n defaultMessage: 'No relations.',\n })}\n </StyledAlert>\n </Box>\n </>\n );\n }\n\n const { results, meta } = formattedFieldValue;\n\n return (\n <Box>\n <Field.Label>{props.label}</Field.Label>\n {results.length > 0 && (\n <Flex direction=\"column\" gap={2} marginTop={1} alignItems=\"stretch\">\n {results.map((relationData) => {\n // @ts-expect-error - targetModel does exist on the attribute. But it's not typed.\n const { targetModel } = props.attribute;\n const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;\n const label = getRelationLabel(relationData, props.mainField);\n const isAdminUserRelation = targetModel === 'admin::user';\n\n return (\n <Flex\n key={relationData.documentId ?? relationData.id}\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={4}\n paddingRight={4}\n hasRadius\n borderColor=\"neutral200\"\n background=\"neutral150\"\n justifyContent=\"space-between\"\n >\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <Tooltip label={label}>\n {isAdminUserRelation ? (\n <Typography>{label}</Typography>\n ) : (\n <LinkEllipsis tag={NavLink} to={href}>\n {label}\n </LinkEllipsis>\n )}\n </Tooltip>\n </Box>\n <DocumentStatus status={relationData.status as string} />\n </Flex>\n );\n })}\n </Flex>\n )}\n {meta.missingCount > 0 && (\n /* @ts-expect-error – we dont need closeLabel */\n <StyledAlert\n marginTop={1}\n variant=\"warning\"\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.title',\n defaultMessage:\n '{number, plural, =1 {Missing relation} other {{number} missing relations}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CustomMediaInput\n * -----------------------------------------------------------------------------------------------*/\n\n// Create an object with value at key path (i.e. 'a.b.c')\nconst createInitialValuesForPath = (keyPath: string, value: any) => {\n const keys = keyPath.split('.');\n // The root level object\n const root: Record<string, any> = {};\n\n // Make the first node the root\n let node = root;\n keys.forEach((key, index) => {\n // Skip prototype pollution keys\n if (key === '__proto__' || key === 'constructor') return;\n // If it's the last key, set the node value\n if (index === keys.length - 1) {\n node[key] = value;\n } else {\n // Ensure the key exists and is an object\n node[key] = node[key] || {};\n }\n\n // Traverse down the tree\n node = node[key];\n });\n\n return root;\n};\n\nconst CustomMediaInput = (props: VersionInputRendererProps) => {\n const { value } = useField(props.name);\n const results = value?.results ?? [];\n const meta = value?.meta ?? { missingCount: 0 };\n\n const { formatMessage } = useIntl();\n\n const fields = useStrapiApp('CustomMediaInput', (state) => state.fields);\n const MediaLibrary = fields.media as React.ComponentType<\n VersionInputRendererProps & { multiple: boolean }\n >;\n\n return (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Form\n method=\"PUT\"\n disabled={true}\n initialValues={createInitialValuesForPath(props.name, results)}\n >\n <MediaLibrary {...props} disabled={true} multiple={results.length > 1} />\n </Form>\n {meta.missingCount > 0 && (\n <StyledAlert\n variant=\"warning\"\n closeLabel=\"Close\"\n onClose={() => {}}\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.title',\n defaultMessage:\n '{number, plural, =1 {Missing asset} other {{number} missing assets}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Flex>\n );\n};\n\ntype VersionInputRendererProps = DistributiveOmit<EditFieldLayout, 'size'> & {\n /**\n * In the context of content history, deleted fields need to ignore RBAC\n * @default false\n */\n shouldIgnoreRBAC?: boolean;\n};\n\n/**\n * Checks if the i18n plugin added a label action to the field and modifies it\n * to adapt the wording for the history page.\n */\nconst getLabelAction = (labelAction: VersionInputRendererProps['labelAction']) => {\n if (!React.isValidElement(labelAction)) {\n return labelAction;\n }\n\n // TODO: find a better way to do this rather than access internals\n const labelActionTitleId = labelAction.props.title.id;\n\n if (labelActionTitleId === 'i18n.Field.localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.localized',\n defaultMessage:\n 'This value is specific to this locale. If you restore this version, the content will not be replaced for other locales.',\n },\n });\n }\n\n if (labelActionTitleId === 'i18n.Field.not-localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.not-localized',\n defaultMessage:\n 'This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales.',\n },\n });\n }\n\n // Label action is unrelated to i18n, don't touch it.\n return labelAction;\n};\n\n/**\n * @internal\n *\n * @description An abstraction around the regular form input renderer designed specifically\n * to be used on the History page in the content-manager. It understands how to render specific\n * inputs within the context of a history version (i.e. relations, media, ignored RBAC, etc...)\n */\nconst VersionInputRenderer = ({\n visible,\n hint: providedHint,\n shouldIgnoreRBAC = false,\n labelAction,\n ...props\n}: VersionInputRendererProps) => {\n const customLabelAction = getLabelAction(labelAction);\n\n const { formatMessage } = useIntl();\n const version = useHistoryContext('VersionContent', (state) => state.selectedVersion);\n const configuration = useHistoryContext('VersionContent', (state) => state.configuration);\n const fieldSizes = useTypedSelector((state) => state['content-manager'].app.fieldSizes);\n\n const { id, components } = useDoc();\n const isFormDisabled = useForm('InputRenderer', (state) => state.disabled);\n\n const isInDynamicZone = useDynamicZone('isInDynamicZone', (state) => state.isInDynamicZone);\n\n const canCreateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canCreateFields);\n const canReadFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canReadFields);\n const canUpdateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUpdateFields);\n const canUserAction = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUserAction);\n\n const editableFields = id ? canUpdateFields : canCreateFields;\n const readableFields = id ? canReadFields : canCreateFields;\n /**\n * Component fields are always readable and editable,\n * however the fields within them may not be.\n */\n const canUserReadField = canUserAction(props.name, readableFields, props.type);\n const canUserEditField = canUserAction(props.name, editableFields, props.type);\n\n const fields = useStrapiApp('InputRenderer', (app) => app.fields);\n const { lazyComponentStore } = useLazyComponents(\n attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : undefined\n );\n\n const hint = useFieldHint(providedHint, props.attribute);\n const {\n edit: { components: componentsLayout },\n } = useDocLayout();\n\n if (!visible) {\n return null;\n }\n\n /**\n * Don't render the field if the user can't read it.\n */\n if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {\n return <NotAllowedInput hint={hint} {...props} />;\n }\n\n const fieldIsDisabled =\n (!canUserEditField && !isInDynamicZone) || props.disabled || isFormDisabled;\n\n /**\n * Attributes found on the current content-type schema cannot be restored. We handle\n * this by displaying a warning alert to the user instead of the input for that field type.\n */\n const addedAttributes = version.meta.unknownAttributes.added;\n if (Object.keys(addedAttributes).includes(props.name)) {\n return (\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={1}>\n <Field.Label>{props.label}</Field.Label>\n <StyledAlert\n width=\"100%\"\n closeLabel=\"Close\"\n onClose={() => {}}\n variant=\"warning\"\n title={formatMessage({\n id: 'content-manager.history.content.new-field.title',\n defaultMessage: 'New field',\n })}\n >\n {formatMessage({\n id: 'content-manager.history.content.new-field.message',\n defaultMessage:\n \"This field didn't exist when this version was saved. If you restore this version, it will be empty.\",\n })}\n </StyledAlert>\n </Flex>\n );\n }\n\n /**\n * Because a custom field has a unique prop but the type could be confused with either\n * the useField hook or the type of the field we need to handle it separately and first.\n */\n if (attributeHasCustomFieldProperty(props.attribute)) {\n const CustomInput = lazyComponentStore[props.attribute.customField];\n\n if (CustomInput) {\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLazyComponents hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – this workaround lets us display that the custom field is missing.\n type={props.attribute.customField}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * Since media fields use a custom input via the upload plugin provided by the useLibrary hook,\n * we need to handle the them before other custom inputs coming from the useLibrary hook.\n */\n if (props.type === 'media') {\n return (\n <CustomMediaInput {...props} labelAction={customLabelAction} disabled={fieldIsDisabled} />\n );\n }\n /**\n * This is where we handle ONLY the fields from the `useLibrary` hook.\n */\n const addedInputTypes = Object.keys(fields);\n if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {\n const CustomInput = fields[props.type];\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLibrary hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * These include the content-manager specific fields, failing that we fall back\n * to the more generic form input renderer.\n */\n switch (props.type) {\n case 'blocks':\n return <BlocksInput {...props} hint={hint} type={props.type} disabled={fieldIsDisabled} />;\n case 'component':\n const { layout } = componentsLayout[props.attribute.component];\n // Components can only have one panel, so only save the first layout item\n const [remainingFieldsLayout] = getRemaingFieldsLayout({\n layout: [layout],\n metadatas: configuration.components[props.attribute.component].metadatas,\n fieldSizes,\n schemaAttributes: components[props.attribute.component].attributes,\n });\n\n return (\n <ComponentInput\n {...props}\n layout={[...layout, ...(remainingFieldsLayout || [])]}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </ComponentInput>\n );\n case 'dynamiczone':\n return (\n <DynamicZone\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </DynamicZone>\n );\n case 'relation':\n return (\n <CustomRelationInput\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'richtext':\n return (\n <Wysiwyg\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'uid':\n return (\n <UIDInput\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n /**\n * Enumerations are a special case because they require options.\n */\n case 'enumeration':\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n options={props.attribute.enum.map((value) => ({ value }))}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n default:\n // These props are not needed for the generic form input renderer.\n const { unique: _unique, mainField: _mainField, ...restProps } = props;\n return (\n <FormInputRenderer\n {...restProps}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n }\n};\n\nconst attributeHasCustomFieldProperty = (\n attribute: Schema.Attribute.AnyAttribute\n): attribute is Schema.Attribute.AnyAttribute & Schema.Attribute.CustomField<string> =>\n 'customField' in attribute && typeof attribute.customField === 'string';\n\nexport type { VersionInputRendererProps };\nexport { VersionInputRenderer };\n"],"names":["StyledAlert","styled","Alert","attrs","closeLabel","onClose","shadow","LinkEllipsis","Link","CustomRelationInput","props","formatMessage","useIntl","field","useField","name","formattedFieldValue","Array","isArray","value","results","meta","missingCount","length","_jsxs","_Fragment","_jsx","Field","Label","action","labelAction","label","Box","marginTop","variant","id","defaultMessage","Flex","direction","gap","alignItems","map","relationData","targetModel","attribute","href","COLLECTION_TYPES","documentId","getRelationLabel","mainField","isAdminUserRelation","paddingTop","paddingBottom","paddingLeft","paddingRight","hasRadius","borderColor","background","justifyContent","minWidth","Tooltip","Typography","tag","NavLink","to","DocumentStatus","status","title","number","createInitialValuesForPath","keyPath","keys","split","root","node","forEach","key","index","CustomMediaInput","fields","useStrapiApp","state","MediaLibrary","media","Form","method","disabled","initialValues","multiple","getLabelAction","React","isValidElement","labelActionTitleId","cloneElement","VersionInputRenderer","visible","hint","providedHint","shouldIgnoreRBAC","customLabelAction","version","useHistoryContext","selectedVersion","configuration","fieldSizes","useTypedSelector","app","components","useDoc","isFormDisabled","useForm","isInDynamicZone","useDynamicZone","canCreateFields","useDocumentRBAC","rbac","canReadFields","canUpdateFields","canUserAction","editableFields","readableFields","canUserReadField","type","canUserEditField","lazyComponentStore","useLazyComponents","attributeHasCustomFieldProperty","customField","undefined","useFieldHint","edit","componentsLayout","useDocLayout","NotAllowedInput","fieldIsDisabled","addedAttributes","unknownAttributes","added","Object","includes","width","CustomInput","FormInputRenderer","addedInputTypes","BlocksInput","layout","component","remainingFieldsLayout","getRemaingFieldsLayout","metadatas","schemaAttributes","attributes","ComponentInput","inputProps","DynamicZone","Wysiwyg","UIDInput","options","enum","unique","_unique","_mainField","restProps"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useForm, useStrapiApp, InputRenderer, useField, Form } from '@strapi/admin/strapi-admin';
4
- import { Alert, Link, Flex, Field, Box, Tooltip, Typography } from '@strapi/design-system';
4
+ import { Flex, Field, Alert, Box, Tooltip, Typography, Link } from '@strapi/design-system';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { NavLink } from 'react-router-dom';
7
7
  import { styled } from 'styled-components';
@@ -1 +1 @@
1
- {"version":3,"file":"VersionInputRenderer.mjs","sources":["../../../../admin/src/history/components/VersionInputRenderer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useForm,\n InputRenderer as FormInputRenderer,\n useField,\n Form,\n} from '@strapi/admin/strapi-admin';\nimport { Alert, Box, Field, Flex, Link, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HistoryVersionDataResponse } from '../../../../shared/contracts/history-versions';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport { useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { BlocksInput } from '../../pages/EditView/components/FormInputs/BlocksInput/BlocksInput';\nimport { ComponentInput } from '../../pages/EditView/components/FormInputs/Component/Input';\nimport {\n DynamicZone,\n useDynamicZone,\n} from '../../pages/EditView/components/FormInputs/DynamicZone/Field';\nimport { NotAllowedInput } from '../../pages/EditView/components/FormInputs/NotAllowed';\nimport { UIDInput } from '../../pages/EditView/components/FormInputs/UID';\nimport { Wysiwyg } from '../../pages/EditView/components/FormInputs/Wysiwyg/Field';\nimport { useFieldHint } from '../../pages/EditView/components/InputRenderer';\nimport { getRelationLabel } from '../../utils/relations';\nimport { useHistoryContext } from '../pages/History';\n\nimport { getRemaingFieldsLayout } from './VersionContent';\n\nimport type { EditFieldLayout } from '../../hooks/useDocumentLayout';\nimport type { RelationsFieldProps } from '../../pages/EditView/components/FormInputs/Relations/Relations';\nimport type { RelationResult } from '../../services/relations';\nimport type { Schema } from '@strapi/types';\nimport type { DistributiveOmit } from 'react-redux';\n\nconst StyledAlert = styled(Alert).attrs({ closeLabel: 'Close', onClose: () => {}, shadow: 'none' })`\n button {\n display: none;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * CustomRelationInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst LinkEllipsis = styled(Link)`\n display: block;\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n`;\n\nconst CustomRelationInput = (props: RelationsFieldProps) => {\n const { formatMessage } = useIntl();\n const field = useField<\n { results: RelationResult[]; meta: { missingCount: number } } | RelationResult[]\n >(props.name);\n\n /**\n * Ideally the server would return the correct shape, however, for admin user relations\n * it sanitizes everything out when it finds an object for the relation value.\n */\n let formattedFieldValue;\n if (field) {\n formattedFieldValue = Array.isArray(field.value)\n ? { results: field.value, meta: { missingCount: 0 } }\n : field.value;\n }\n\n if (\n !formattedFieldValue ||\n (formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0)\n ) {\n return (\n <>\n <Field.Label action={props.labelAction}>{props.label}</Field.Label>\n <Box marginTop={1}>\n {/* @ts-expect-error – we dont need closeLabel */}\n <StyledAlert variant=\"default\">\n {formatMessage({\n id: 'content-manager.history.content.no-relations',\n defaultMessage: 'No relations.',\n })}\n </StyledAlert>\n </Box>\n </>\n );\n }\n\n const { results, meta } = formattedFieldValue;\n\n return (\n <Box>\n <Field.Label>{props.label}</Field.Label>\n {results.length > 0 && (\n <Flex direction=\"column\" gap={2} marginTop={1} alignItems=\"stretch\">\n {results.map((relationData) => {\n // @ts-expect-error - targetModel does exist on the attribute. But it's not typed.\n const { targetModel } = props.attribute;\n const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;\n const label = getRelationLabel(relationData, props.mainField);\n const isAdminUserRelation = targetModel === 'admin::user';\n\n return (\n <Flex\n key={relationData.documentId ?? relationData.id}\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={4}\n paddingRight={4}\n hasRadius\n borderColor=\"neutral200\"\n background=\"neutral150\"\n justifyContent=\"space-between\"\n >\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <Tooltip label={label}>\n {isAdminUserRelation ? (\n <Typography>{label}</Typography>\n ) : (\n <LinkEllipsis tag={NavLink} to={href}>\n {label}\n </LinkEllipsis>\n )}\n </Tooltip>\n </Box>\n <DocumentStatus status={relationData.status as string} />\n </Flex>\n );\n })}\n </Flex>\n )}\n {meta.missingCount > 0 && (\n /* @ts-expect-error – we dont need closeLabel */\n <StyledAlert\n marginTop={1}\n variant=\"warning\"\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.title',\n defaultMessage:\n '{number, plural, =1 {Missing relation} other {{number} missing relations}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CustomMediaInput\n * -----------------------------------------------------------------------------------------------*/\n\n// Create an object with value at key path (i.e. 'a.b.c')\nconst createInitialValuesForPath = (keyPath: string, value: any) => {\n const keys = keyPath.split('.');\n // The root level object\n const root: Record<string, any> = {};\n\n // Make the first node the root\n let node = root;\n keys.forEach((key, index) => {\n // Skip prototype pollution keys\n if (key === '__proto__' || key === 'constructor') return;\n // If it's the last key, set the node value\n if (index === keys.length - 1) {\n node[key] = value;\n } else {\n // Ensure the key exists and is an object\n node[key] = node[key] || {};\n }\n\n // Traverse down the tree\n node = node[key];\n });\n\n return root;\n};\n\nconst CustomMediaInput = (props: VersionInputRendererProps) => {\n const { value } = useField(props.name);\n const results = value?.results ?? [];\n const meta = value?.meta ?? { missingCount: 0 };\n\n const { formatMessage } = useIntl();\n\n const fields = useStrapiApp('CustomMediaInput', (state) => state.fields);\n const MediaLibrary = fields.media as React.ComponentType<\n VersionInputRendererProps & { multiple: boolean }\n >;\n\n return (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Form\n method=\"PUT\"\n disabled={true}\n initialValues={createInitialValuesForPath(props.name, results)}\n >\n <MediaLibrary {...props} disabled={true} multiple={results.length > 1} />\n </Form>\n {meta.missingCount > 0 && (\n <StyledAlert\n variant=\"warning\"\n closeLabel=\"Close\"\n onClose={() => {}}\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.title',\n defaultMessage:\n '{number, plural, =1 {Missing asset} other {{number} missing assets}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Flex>\n );\n};\n\ntype VersionInputRendererProps = DistributiveOmit<EditFieldLayout, 'size'> & {\n /**\n * In the context of content history, deleted fields need to ignore RBAC\n * @default false\n */\n shouldIgnoreRBAC?: boolean;\n};\n\n/**\n * Checks if the i18n plugin added a label action to the field and modifies it\n * to adapt the wording for the history page.\n */\nconst getLabelAction = (labelAction: VersionInputRendererProps['labelAction']) => {\n if (!React.isValidElement(labelAction)) {\n return labelAction;\n }\n\n // TODO: find a better way to do this rather than access internals\n const labelActionTitleId = labelAction.props.title.id;\n\n if (labelActionTitleId === 'i18n.Field.localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.localized',\n defaultMessage:\n 'This value is specific to this locale. If you restore this version, the content will not be replaced for other locales.',\n },\n });\n }\n\n if (labelActionTitleId === 'i18n.Field.not-localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.not-localized',\n defaultMessage:\n 'This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales.',\n },\n });\n }\n\n // Label action is unrelated to i18n, don't touch it.\n return labelAction;\n};\n\n/**\n * @internal\n *\n * @description An abstraction around the regular form input renderer designed specifically\n * to be used on the History page in the content-manager. It understands how to render specific\n * inputs within the context of a history version (i.e. relations, media, ignored RBAC, etc...)\n */\nconst VersionInputRenderer = ({\n visible,\n hint: providedHint,\n shouldIgnoreRBAC = false,\n labelAction,\n ...props\n}: VersionInputRendererProps) => {\n const customLabelAction = getLabelAction(labelAction);\n\n const { formatMessage } = useIntl();\n const version = useHistoryContext('VersionContent', (state) => state.selectedVersion);\n const configuration = useHistoryContext('VersionContent', (state) => state.configuration);\n const fieldSizes = useTypedSelector((state) => state['content-manager'].app.fieldSizes);\n\n const { id, components } = useDoc();\n const isFormDisabled = useForm('InputRenderer', (state) => state.disabled);\n\n const isInDynamicZone = useDynamicZone('isInDynamicZone', (state) => state.isInDynamicZone);\n\n const canCreateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canCreateFields);\n const canReadFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canReadFields);\n const canUpdateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUpdateFields);\n const canUserAction = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUserAction);\n\n const editableFields = id ? canUpdateFields : canCreateFields;\n const readableFields = id ? canReadFields : canCreateFields;\n /**\n * Component fields are always readable and editable,\n * however the fields within them may not be.\n */\n const canUserReadField = canUserAction(props.name, readableFields, props.type);\n const canUserEditField = canUserAction(props.name, editableFields, props.type);\n\n const fields = useStrapiApp('InputRenderer', (app) => app.fields);\n const { lazyComponentStore } = useLazyComponents(\n attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : undefined\n );\n\n const hint = useFieldHint(providedHint, props.attribute);\n const {\n edit: { components: componentsLayout },\n } = useDocLayout();\n\n if (!visible) {\n return null;\n }\n\n /**\n * Don't render the field if the user can't read it.\n */\n if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {\n return <NotAllowedInput hint={hint} {...props} />;\n }\n\n const fieldIsDisabled =\n (!canUserEditField && !isInDynamicZone) || props.disabled || isFormDisabled;\n\n /**\n * Attributes found on the current content-type schema cannot be restored. We handle\n * this by displaying a warning alert to the user instead of the input for that field type.\n */\n const addedAttributes = version.meta.unknownAttributes.added;\n if (Object.keys(addedAttributes).includes(props.name)) {\n return (\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={1}>\n <Field.Label>{props.label}</Field.Label>\n <StyledAlert\n width=\"100%\"\n closeLabel=\"Close\"\n onClose={() => {}}\n variant=\"warning\"\n title={formatMessage({\n id: 'content-manager.history.content.new-field.title',\n defaultMessage: 'New field',\n })}\n >\n {formatMessage({\n id: 'content-manager.history.content.new-field.message',\n defaultMessage:\n \"This field didn't exist when this version was saved. If you restore this version, it will be empty.\",\n })}\n </StyledAlert>\n </Flex>\n );\n }\n\n /**\n * Because a custom field has a unique prop but the type could be confused with either\n * the useField hook or the type of the field we need to handle it separately and first.\n */\n if (attributeHasCustomFieldProperty(props.attribute)) {\n const CustomInput = lazyComponentStore[props.attribute.customField];\n\n if (CustomInput) {\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLazyComponents hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – this workaround lets us display that the custom field is missing.\n type={props.attribute.customField}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * Since media fields use a custom input via the upload plugin provided by the useLibrary hook,\n * we need to handle the them before other custom inputs coming from the useLibrary hook.\n */\n if (props.type === 'media') {\n return (\n <CustomMediaInput {...props} labelAction={customLabelAction} disabled={fieldIsDisabled} />\n );\n }\n /**\n * This is where we handle ONLY the fields from the `useLibrary` hook.\n */\n const addedInputTypes = Object.keys(fields);\n if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {\n const CustomInput = fields[props.type];\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLibrary hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * These include the content-manager specific fields, failing that we fall back\n * to the more generic form input renderer.\n */\n switch (props.type) {\n case 'blocks':\n return <BlocksInput {...props} hint={hint} type={props.type} disabled={fieldIsDisabled} />;\n case 'component':\n const { layout } = componentsLayout[props.attribute.component];\n // Components can only have one panel, so only save the first layout item\n const [remainingFieldsLayout] = getRemaingFieldsLayout({\n layout: [layout],\n metadatas: configuration.components[props.attribute.component].metadatas,\n fieldSizes,\n schemaAttributes: components[props.attribute.component].attributes,\n });\n\n return (\n <ComponentInput\n {...props}\n layout={[...layout, ...(remainingFieldsLayout || [])]}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </ComponentInput>\n );\n case 'dynamiczone':\n return (\n <DynamicZone\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </DynamicZone>\n );\n case 'relation':\n return (\n <CustomRelationInput\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'richtext':\n return (\n <Wysiwyg\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'uid':\n return (\n <UIDInput\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n /**\n * Enumerations are a special case because they require options.\n */\n case 'enumeration':\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n options={props.attribute.enum.map((value) => ({ value }))}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n default:\n // These props are not needed for the generic form input renderer.\n const { unique: _unique, mainField: _mainField, ...restProps } = props;\n return (\n <FormInputRenderer\n {...restProps}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n }\n};\n\nconst attributeHasCustomFieldProperty = (\n attribute: Schema.Attribute.AnyAttribute\n): attribute is Schema.Attribute.AnyAttribute & Schema.Attribute.CustomField<string> =>\n 'customField' in attribute && typeof attribute.customField === 'string';\n\nexport type { VersionInputRendererProps };\nexport { VersionInputRenderer };\n"],"names":["StyledAlert","styled","Alert","attrs","closeLabel","onClose","shadow","LinkEllipsis","Link","CustomRelationInput","props","formatMessage","useIntl","field","useField","name","formattedFieldValue","Array","isArray","value","results","meta","missingCount","length","_jsxs","_Fragment","_jsx","Field","Label","action","labelAction","label","Box","marginTop","variant","id","defaultMessage","Flex","direction","gap","alignItems","map","relationData","targetModel","attribute","href","COLLECTION_TYPES","documentId","getRelationLabel","mainField","isAdminUserRelation","paddingTop","paddingBottom","paddingLeft","paddingRight","hasRadius","borderColor","background","justifyContent","minWidth","Tooltip","Typography","tag","NavLink","to","DocumentStatus","status","title","number","createInitialValuesForPath","keyPath","keys","split","root","node","forEach","key","index","CustomMediaInput","fields","useStrapiApp","state","MediaLibrary","media","Form","method","disabled","initialValues","multiple","getLabelAction","React","isValidElement","labelActionTitleId","cloneElement","VersionInputRenderer","visible","hint","providedHint","shouldIgnoreRBAC","customLabelAction","version","useHistoryContext","selectedVersion","configuration","fieldSizes","useTypedSelector","app","components","useDoc","isFormDisabled","useForm","isInDynamicZone","useDynamicZone","canCreateFields","useDocumentRBAC","rbac","canReadFields","canUpdateFields","canUserAction","editableFields","readableFields","canUserReadField","type","canUserEditField","lazyComponentStore","useLazyComponents","attributeHasCustomFieldProperty","customField","undefined","useFieldHint","edit","componentsLayout","useDocLayout","NotAllowedInput","fieldIsDisabled","addedAttributes","unknownAttributes","added","Object","includes","width","CustomInput","FormInputRenderer","addedInputTypes","BlocksInput","layout","component","remainingFieldsLayout","getRemaingFieldsLayout","metadatas","schemaAttributes","attributes","ComponentInput","inputProps","DynamicZone","Wysiwyg","UIDInput","options","enum","unique","_unique","_mainField","restProps"],"mappings":"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"}
1
+ {"version":3,"file":"VersionInputRenderer.mjs","sources":["../../../../admin/src/history/components/VersionInputRenderer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useStrapiApp,\n useForm,\n InputRenderer as FormInputRenderer,\n useField,\n Form,\n} from '@strapi/admin/strapi-admin';\nimport { Alert, Box, Field, Flex, Link, Tooltip, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HistoryVersionDataResponse } from '../../../../shared/contracts/history-versions';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { useDoc } from '../../hooks/useDocument';\nimport { useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { BlocksInput } from '../../pages/EditView/components/FormInputs/BlocksInput/BlocksInput';\nimport { ComponentInput } from '../../pages/EditView/components/FormInputs/Component/Input';\nimport {\n DynamicZone,\n useDynamicZone,\n} from '../../pages/EditView/components/FormInputs/DynamicZone/Field';\nimport { NotAllowedInput } from '../../pages/EditView/components/FormInputs/NotAllowed';\nimport { UIDInput } from '../../pages/EditView/components/FormInputs/UID';\nimport { Wysiwyg } from '../../pages/EditView/components/FormInputs/Wysiwyg/Field';\nimport { useFieldHint } from '../../pages/EditView/components/InputRenderer';\nimport { getRelationLabel } from '../../utils/relations';\nimport { useHistoryContext } from '../pages/History';\n\nimport { getRemaingFieldsLayout } from './VersionContent';\n\nimport type { EditFieldLayout } from '../../hooks/useDocumentLayout';\nimport type { RelationsFieldProps } from '../../pages/EditView/components/FormInputs/Relations/Relations';\nimport type { RelationResult } from '../../services/relations';\nimport type { Schema } from '@strapi/types';\nimport type { DistributiveOmit } from 'react-redux';\n\nconst StyledAlert = styled(Alert).attrs({ closeLabel: 'Close', onClose: () => {}, shadow: 'none' })`\n button {\n display: none;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * CustomRelationInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst LinkEllipsis = styled(Link)`\n display: block;\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n`;\n\nconst CustomRelationInput = (props: RelationsFieldProps) => {\n const { formatMessage } = useIntl();\n const field = useField<\n { results: RelationResult[]; meta: { missingCount: number } } | RelationResult[]\n >(props.name);\n\n /**\n * Ideally the server would return the correct shape, however, for admin user relations\n * it sanitizes everything out when it finds an object for the relation value.\n */\n let formattedFieldValue;\n if (field) {\n formattedFieldValue = Array.isArray(field.value)\n ? { results: field.value, meta: { missingCount: 0 } }\n : field.value;\n }\n\n if (\n !formattedFieldValue ||\n (formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0)\n ) {\n return (\n <>\n <Field.Label action={props.labelAction}>{props.label}</Field.Label>\n <Box marginTop={1}>\n {/* @ts-expect-error – we dont need closeLabel */}\n <StyledAlert variant=\"default\">\n {formatMessage({\n id: 'content-manager.history.content.no-relations',\n defaultMessage: 'No relations.',\n })}\n </StyledAlert>\n </Box>\n </>\n );\n }\n\n const { results, meta } = formattedFieldValue;\n\n return (\n <Box>\n <Field.Label>{props.label}</Field.Label>\n {results.length > 0 && (\n <Flex direction=\"column\" gap={2} marginTop={1} alignItems=\"stretch\">\n {results.map((relationData) => {\n // @ts-expect-error - targetModel does exist on the attribute. But it's not typed.\n const { targetModel } = props.attribute;\n const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;\n const label = getRelationLabel(relationData, props.mainField);\n const isAdminUserRelation = targetModel === 'admin::user';\n\n return (\n <Flex\n key={relationData.documentId ?? relationData.id}\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={4}\n paddingRight={4}\n hasRadius\n borderColor=\"neutral200\"\n background=\"neutral150\"\n justifyContent=\"space-between\"\n >\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <Tooltip label={label}>\n {isAdminUserRelation ? (\n <Typography>{label}</Typography>\n ) : (\n <LinkEllipsis tag={NavLink} to={href}>\n {label}\n </LinkEllipsis>\n )}\n </Tooltip>\n </Box>\n <DocumentStatus status={relationData.status as string} />\n </Flex>\n );\n })}\n </Flex>\n )}\n {meta.missingCount > 0 && (\n /* @ts-expect-error – we dont need closeLabel */\n <StyledAlert\n marginTop={1}\n variant=\"warning\"\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.title',\n defaultMessage:\n '{number, plural, =1 {Missing relation} other {{number} missing relations}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-relations.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * CustomMediaInput\n * -----------------------------------------------------------------------------------------------*/\n\n// Create an object with value at key path (i.e. 'a.b.c')\nconst createInitialValuesForPath = (keyPath: string, value: any) => {\n const keys = keyPath.split('.');\n // The root level object\n const root: Record<string, any> = {};\n\n // Make the first node the root\n let node = root;\n keys.forEach((key, index) => {\n // Skip prototype pollution keys\n if (key === '__proto__' || key === 'constructor') return;\n // If it's the last key, set the node value\n if (index === keys.length - 1) {\n node[key] = value;\n } else {\n // Ensure the key exists and is an object\n node[key] = node[key] || {};\n }\n\n // Traverse down the tree\n node = node[key];\n });\n\n return root;\n};\n\nconst CustomMediaInput = (props: VersionInputRendererProps) => {\n const { value } = useField(props.name);\n const results = value?.results ?? [];\n const meta = value?.meta ?? { missingCount: 0 };\n\n const { formatMessage } = useIntl();\n\n const fields = useStrapiApp('CustomMediaInput', (state) => state.fields);\n const MediaLibrary = fields.media as React.ComponentType<\n VersionInputRendererProps & { multiple: boolean }\n >;\n\n return (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Form\n method=\"PUT\"\n disabled={true}\n initialValues={createInitialValuesForPath(props.name, results)}\n >\n <MediaLibrary {...props} disabled={true} multiple={results.length > 1} />\n </Form>\n {meta.missingCount > 0 && (\n <StyledAlert\n variant=\"warning\"\n closeLabel=\"Close\"\n onClose={() => {}}\n title={formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.title',\n defaultMessage:\n '{number, plural, =1 {Missing asset} other {{number} missing assets}}',\n },\n { number: meta.missingCount }\n )}\n >\n {formatMessage(\n {\n id: 'content-manager.history.content.missing-assets.message',\n defaultMessage:\n \"{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored.\",\n },\n { number: meta.missingCount }\n )}\n </StyledAlert>\n )}\n </Flex>\n );\n};\n\ntype VersionInputRendererProps = DistributiveOmit<EditFieldLayout, 'size'> & {\n /**\n * In the context of content history, deleted fields need to ignore RBAC\n * @default false\n */\n shouldIgnoreRBAC?: boolean;\n};\n\n/**\n * Checks if the i18n plugin added a label action to the field and modifies it\n * to adapt the wording for the history page.\n */\nconst getLabelAction = (labelAction: VersionInputRendererProps['labelAction']) => {\n if (!React.isValidElement(labelAction)) {\n return labelAction;\n }\n\n // TODO: find a better way to do this rather than access internals\n const labelActionTitleId = labelAction.props.title.id;\n\n if (labelActionTitleId === 'i18n.Field.localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.localized',\n defaultMessage:\n 'This value is specific to this locale. If you restore this version, the content will not be replaced for other locales.',\n },\n });\n }\n\n if (labelActionTitleId === 'i18n.Field.not-localized') {\n return React.cloneElement(labelAction, {\n ...labelAction.props,\n title: {\n id: 'history.content.not-localized',\n defaultMessage:\n 'This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales.',\n },\n });\n }\n\n // Label action is unrelated to i18n, don't touch it.\n return labelAction;\n};\n\n/**\n * @internal\n *\n * @description An abstraction around the regular form input renderer designed specifically\n * to be used on the History page in the content-manager. It understands how to render specific\n * inputs within the context of a history version (i.e. relations, media, ignored RBAC, etc...)\n */\nconst VersionInputRenderer = ({\n visible,\n hint: providedHint,\n shouldIgnoreRBAC = false,\n labelAction,\n ...props\n}: VersionInputRendererProps) => {\n const customLabelAction = getLabelAction(labelAction);\n\n const { formatMessage } = useIntl();\n const version = useHistoryContext('VersionContent', (state) => state.selectedVersion);\n const configuration = useHistoryContext('VersionContent', (state) => state.configuration);\n const fieldSizes = useTypedSelector((state) => state['content-manager'].app.fieldSizes);\n\n const { id, components } = useDoc();\n const isFormDisabled = useForm('InputRenderer', (state) => state.disabled);\n\n const isInDynamicZone = useDynamicZone('isInDynamicZone', (state) => state.isInDynamicZone);\n\n const canCreateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canCreateFields);\n const canReadFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canReadFields);\n const canUpdateFields = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUpdateFields);\n const canUserAction = useDocumentRBAC('InputRenderer', (rbac) => rbac.canUserAction);\n\n const editableFields = id ? canUpdateFields : canCreateFields;\n const readableFields = id ? canReadFields : canCreateFields;\n /**\n * Component fields are always readable and editable,\n * however the fields within them may not be.\n */\n const canUserReadField = canUserAction(props.name, readableFields, props.type);\n const canUserEditField = canUserAction(props.name, editableFields, props.type);\n\n const fields = useStrapiApp('InputRenderer', (app) => app.fields);\n const { lazyComponentStore } = useLazyComponents(\n attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : undefined\n );\n\n const hint = useFieldHint(providedHint, props.attribute);\n const {\n edit: { components: componentsLayout },\n } = useDocLayout();\n\n if (!visible) {\n return null;\n }\n\n /**\n * Don't render the field if the user can't read it.\n */\n if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {\n return <NotAllowedInput hint={hint} {...props} />;\n }\n\n const fieldIsDisabled =\n (!canUserEditField && !isInDynamicZone) || props.disabled || isFormDisabled;\n\n /**\n * Attributes found on the current content-type schema cannot be restored. We handle\n * this by displaying a warning alert to the user instead of the input for that field type.\n */\n const addedAttributes = version.meta.unknownAttributes.added;\n if (Object.keys(addedAttributes).includes(props.name)) {\n return (\n <Flex direction=\"column\" alignItems=\"flex-start\" gap={1}>\n <Field.Label>{props.label}</Field.Label>\n <StyledAlert\n width=\"100%\"\n closeLabel=\"Close\"\n onClose={() => {}}\n variant=\"warning\"\n title={formatMessage({\n id: 'content-manager.history.content.new-field.title',\n defaultMessage: 'New field',\n })}\n >\n {formatMessage({\n id: 'content-manager.history.content.new-field.message',\n defaultMessage:\n \"This field didn't exist when this version was saved. If you restore this version, it will be empty.\",\n })}\n </StyledAlert>\n </Flex>\n );\n }\n\n /**\n * Because a custom field has a unique prop but the type could be confused with either\n * the useField hook or the type of the field we need to handle it separately and first.\n */\n if (attributeHasCustomFieldProperty(props.attribute)) {\n const CustomInput = lazyComponentStore[props.attribute.customField];\n\n if (CustomInput) {\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLazyComponents hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – this workaround lets us display that the custom field is missing.\n type={props.attribute.customField}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * Since media fields use a custom input via the upload plugin provided by the useLibrary hook,\n * we need to handle the them before other custom inputs coming from the useLibrary hook.\n */\n if (props.type === 'media') {\n return (\n <CustomMediaInput {...props} labelAction={customLabelAction} disabled={fieldIsDisabled} />\n );\n }\n /**\n * This is where we handle ONLY the fields from the `useLibrary` hook.\n */\n const addedInputTypes = Object.keys(fields);\n if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {\n const CustomInput = fields[props.type];\n return (\n <CustomInput\n {...props}\n // @ts-expect-error – TODO: fix this type error in the useLibrary hook.\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n }\n\n /**\n * These include the content-manager specific fields, failing that we fall back\n * to the more generic form input renderer.\n */\n switch (props.type) {\n case 'blocks':\n return <BlocksInput {...props} hint={hint} type={props.type} disabled={fieldIsDisabled} />;\n case 'component':\n const { layout } = componentsLayout[props.attribute.component];\n // Components can only have one panel, so only save the first layout item\n const [remainingFieldsLayout] = getRemaingFieldsLayout({\n layout: [layout],\n metadatas: configuration.components[props.attribute.component].metadatas,\n fieldSizes,\n schemaAttributes: components[props.attribute.component].attributes,\n });\n\n return (\n <ComponentInput\n {...props}\n layout={[...layout, ...(remainingFieldsLayout || [])]}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </ComponentInput>\n );\n case 'dynamiczone':\n return (\n <DynamicZone\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n >\n {(inputProps) => <VersionInputRenderer {...inputProps} shouldIgnoreRBAC={true} />}\n </DynamicZone>\n );\n case 'relation':\n return (\n <CustomRelationInput\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'richtext':\n return (\n <Wysiwyg\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n case 'uid':\n return (\n <UIDInput\n {...props}\n hint={hint}\n type={props.type}\n labelAction={customLabelAction}\n disabled={fieldIsDisabled}\n />\n );\n /**\n * Enumerations are a special case because they require options.\n */\n case 'enumeration':\n return (\n <FormInputRenderer\n {...props}\n hint={hint}\n labelAction={customLabelAction}\n options={props.attribute.enum.map((value) => ({ value }))}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n default:\n // These props are not needed for the generic form input renderer.\n const { unique: _unique, mainField: _mainField, ...restProps } = props;\n return (\n <FormInputRenderer\n {...restProps}\n hint={hint}\n labelAction={customLabelAction}\n // @ts-expect-error – Temp workaround so we don't forget custom-fields don't work!\n type={props.customField ? 'custom-field' : props.type}\n disabled={fieldIsDisabled}\n />\n );\n }\n};\n\nconst attributeHasCustomFieldProperty = (\n attribute: Schema.Attribute.AnyAttribute\n): attribute is Schema.Attribute.AnyAttribute & Schema.Attribute.CustomField<string> =>\n 'customField' in attribute && typeof attribute.customField === 'string';\n\nexport type { VersionInputRendererProps };\nexport { VersionInputRenderer };\n"],"names":["StyledAlert","styled","Alert","attrs","closeLabel","onClose","shadow","LinkEllipsis","Link","CustomRelationInput","props","formatMessage","useIntl","field","useField","name","formattedFieldValue","Array","isArray","value","results","meta","missingCount","length","_jsxs","_Fragment","_jsx","Field","Label","action","labelAction","label","Box","marginTop","variant","id","defaultMessage","Flex","direction","gap","alignItems","map","relationData","targetModel","attribute","href","COLLECTION_TYPES","documentId","getRelationLabel","mainField","isAdminUserRelation","paddingTop","paddingBottom","paddingLeft","paddingRight","hasRadius","borderColor","background","justifyContent","minWidth","Tooltip","Typography","tag","NavLink","to","DocumentStatus","status","title","number","createInitialValuesForPath","keyPath","keys","split","root","node","forEach","key","index","CustomMediaInput","fields","useStrapiApp","state","MediaLibrary","media","Form","method","disabled","initialValues","multiple","getLabelAction","React","isValidElement","labelActionTitleId","cloneElement","VersionInputRenderer","visible","hint","providedHint","shouldIgnoreRBAC","customLabelAction","version","useHistoryContext","selectedVersion","configuration","fieldSizes","useTypedSelector","app","components","useDoc","isFormDisabled","useForm","isInDynamicZone","useDynamicZone","canCreateFields","useDocumentRBAC","rbac","canReadFields","canUpdateFields","canUserAction","editableFields","readableFields","canUserReadField","type","canUserEditField","lazyComponentStore","useLazyComponents","attributeHasCustomFieldProperty","customField","undefined","useFieldHint","edit","componentsLayout","useDocLayout","NotAllowedInput","fieldIsDisabled","addedAttributes","unknownAttributes","added","Object","includes","width","CustomInput","FormInputRenderer","addedInputTypes","BlocksInput","layout","component","remainingFieldsLayout","getRemaingFieldsLayout","metadatas","schemaAttributes","attributes","ComponentInput","inputProps","DynamicZone","Wysiwyg","UIDInput","options","enum","unique","_unique","_mainField","restProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":";;;;;;;;;;;;;;;AAgBA;;AAEkG,qGAElG,MAAMA,QAAAA,GAAW,CAACC,QAAAA,iBAChBC,cAACC,CAAAA,uBAAAA,EAAAA;QAAWC,SAAU,EAAA,YAAA;QAAaC,OAAQ,EAAA,IAAA;AACxCJ,QAAAA,QAAAA,EAAAA;;AAIL;;AAEkG,qGAElG,MAAMK,aAAgB,GAAA,CAAC,EACrBC,OAAO,EACPC,SAAS,EAIV,GAAA;IACC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,SAASJ,OAAQK,CAAAA,SAAS,IAAIC,oBAAAA,CAAeN,QAAQK,SAAS,CAAA;IACpE,qBACEV,cAAA,CAAAY,mBAAA,EAAA;kBACGL,aACC,CAAA;YACEM,EAAI,EAAA,oDAAA;YACJC,cACE,EAAA;SAEJ,EAAA;AACEC,YAAAA,aAAAA,gBAAef,cAACgB,CAAAA,yBAAAA,EAAAA;gBAAaC,SAAW,EAAA,IAAIC,IAAKb,CAAAA,OAAAA,CAAQc,SAAS;;AAClEV,YAAAA,MAAAA;YACAW,WAAa,EAAA,CAACC,OAAQhB,CAAAA,OAAAA,CAAQK,SAAS,CAAA;AACvCJ,YAAAA,SAAAA;YACAgB,CAAGxB,EAAAA;AACL,SAAA;;AAIR,CAAA;AAWA,MAAMyB,cAAc,CAAC,EAAElB,OAAO,EAAEC,SAAS,EAAoB,GAAA;IAC3D,MAAM,EAAEkB,UAAU,EAAE,GAAGhB,iBAAAA,EAAAA;AACvB,IAAA,MAAM,CAAC,EAAEiB,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;AACpB,IAAA,MAAMC,YAAYC,8BAAiB,CAAA,aAAA,EAAe,CAACC,CAAAA,GAAMA,GAAGF,SAAW,EAAA,KAAA,CAAA;AACvE,IAAA,MAAMG,WAAWL,KAAMZ,CAAAA,EAAE,KAAKR,OAAQQ,CAAAA,EAAE,CAACkB,QAAQ,EAAA;AAEjD,IAAA,MAAMC,WAAc,GAAA,IAAA;QAClBL,SAAY,GAAA,KAAA,CAAA;AACd,KAAA;AAEA,IAAA,qBACEM,eAACC,CAAAA,iBAAAA,EAAAA;QACCC,SAAU,EAAA,QAAA;QACVC,UAAW,EAAA,YAAA;QACXC,GAAK,EAAA,CAAA;QACLC,SAAS,EAAA,IAAA;QACTC,WAAY,EAAA,KAAA;QACZC,WAAY,EAAA,OAAA;AACZC,QAAAA,WAAAA,EAAaX,WAAW,YAAe,GAAA,YAAA;QACvCY,KAAM,EAAA,YAAA;QACNC,OAAS,EAAA,CAAA;QACTC,GAAKC,EAAAA,mBAAAA;QACLC,EAAI,EAAA,CAAC,CAAC,EAAEC,YAAU,CAAA;AAAE,YAAA,GAAGtB,KAAK;AAAEZ,YAAAA,EAAAA,EAAIR,QAAQQ;SAAO,CAAA,CAAA,CAAA;QACjDmC,KAAO,EAAA;YAAEC,cAAgB,EAAA;AAAO,SAAA;QAChCC,OAASlB,EAAAA,WAAAA;;0BAETC,eAACC,CAAAA,iBAAAA,EAAAA;gBAAKC,SAAU,EAAA,QAAA;gBAASE,GAAK,EAAA,CAAA;gBAAGD,UAAW,EAAA,YAAA;;kCAC1CpC,cAACC,CAAAA,uBAAAA,EAAAA;wBAAW2C,GAAI,EAAA,IAAA;wBAAKO,UAAW,EAAA,UAAA;kCAC7B3B,UAAWnB,CAAAA,OAAAA,CAAQc,SAAS,EAAE;4BAC7BiC,GAAK,EAAA,SAAA;4BACLC,KAAO,EAAA,SAAA;4BACPC,IAAM,EAAA,SAAA;4BACNC,IAAM,EAAA,SAAA;4BACNC,MAAQ,EAAA;AACV,yBAAA;;kCAEFxD,cAACC,CAAAA,uBAAAA,EAAAA;wBAAW2C,GAAI,EAAA,GAAA;wBAAIzC,OAAQ,EAAA,IAAA;wBAAKD,SAAU,EAAA,YAAA;AACzC,wBAAA,QAAA,gBAAAF,cAACI,CAAAA,aAAAA,EAAAA;4BAAcC,OAASA,EAAAA,OAAAA;4BAASC,SAAWA,EAAAA;;;;;YAG/CD,OAAQoD,CAAAA,MAAM,kBAAIzD,cAAC0D,CAAAA,6BAAAA,EAAAA;AAAeD,gBAAAA,MAAAA,EAAQpD,QAAQoD,MAAM;gBAAEE,IAAK,EAAA;;;;AAGtE,CAAA;AAWA,MAAMC,mBAAmB,CAAC,EAAEC,IAAI,EAAE9D,QAAQ,EAAyB,GAAA;AACjE,IAAA,MAAM,CAAC,EAAE0B,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;;;AAIpB,IAAA,MAAM,EAAEb,EAAIiD,EAAAA,GAAG,EAAE,GAAGC,WAAW,GAAGtC,KAAAA;AAElC,IAAA,qBACEzB,cAAC6C,CAAAA,mBAAAA,EAAAA;QAAKC,EAAI,EAAA;AAAEkB,YAAAA,MAAAA,EAAQjB,YAAU,CAAA;AAAE,gBAAA,GAAGgB,SAAS;AAAEF,gBAAAA;AAAK,aAAA;AAAG,SAAA;QAAGb,KAAO,EAAA;YAAEC,cAAgB,EAAA;AAAO,SAAA;AACvF,QAAA,QAAA,gBAAAjD,cAACC,CAAAA,uBAAAA,EAAAA;YAAWE,OAAQ,EAAA,OAAA;YAAQD,SAAU,EAAA,YAAA;AACnCH,YAAAA,QAAAA,EAAAA;;;AAIT,CAAA;AAEA;;AAEkG,qGAElG,MAAMkE,iBAAoB,GAAA,IAAA;IACxB,MAAM,EAAE1D,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAE0D,QAAQ,EAAEL,IAAI,EAAE,GAAGM,yBAAkB,CAAA,mBAAA,EAAqB,CAACC,KAAAA,IAAW;AAC5EF,YAAAA,QAAAA,EAAUE,MAAMF,QAAQ;AACxBL,YAAAA,IAAAA,EAAMO,MAAMP;SACd,CAAA,CAAA;AAEA,IAAA,qBACE5B,eAACoC,CAAAA,gBAAAA,EAAAA;QAAIC,IAAM,EAAA,CAAA;QAAGC,QAAS,EAAA,MAAA;;AACpBL,YAAAA,QAAAA,CAASM,IAAI,CAACC,UAAU,CAACZ,IAAI,GAAG,mBAC/B7D,cAACqE,CAAAA,gBAAAA,EAAAA;gBAAIK,UAAY,EAAA,CAAA;gBAAGC,SAAU,EAAA,QAAA;AAC5B,gBAAA,QAAA,gBAAA3E,cAAC4D,CAAAA,gBAAAA,EAAAA;AAAiBC,oBAAAA,IAAAA,EAAMA,IAAO,GAAA,CAAA;8BAC5BtD,aAAc,CAAA;wBACbM,EAAI,EAAA,4CAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;;0BAINd,cAACkC,CAAAA,iBAAAA,EAAAA;gBACCC,SAAU,EAAA,QAAA;gBACVE,GAAK,EAAA,CAAA;gBACLM,OAAS,EAAA;oBAAEiC,OAAS,EAAA,CAAA;oBAAGC,MAAQ,EAAA;AAAE,iBAAA;gBACjCjC,GAAI,EAAA,IAAA;gBACJR,UAAW,EAAA,SAAA;AAEV8B,gBAAAA,QAAAA,EAAAA,QAAAA,CAASY,IAAI,CAACC,GAAG,CAAC,CAAC1E,OAAAA,EAAS2E,sBAC3BhF,cAACiF,CAAAA,IAAAA,EAAAA;AAECC,wBAAAA,YAAAA,EAAY3E,aAAc,CAAA;4BACxBM,EAAI,EAAA,+DAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA,CAAA;AAEA,wBAAA,QAAA,gBAAAd,cAACuB,CAAAA,WAAAA,EAAAA;4BAAYlB,OAASA,EAAAA,OAAAA;4BAASC,SAAWuD,EAAAA,IAAAA,KAAS,KAAKmB,KAAU,KAAA;;AAN7D3E,qBAAAA,EAAAA,OAAAA,CAAQQ,EAAE,CAAA;;AAUpBqD,YAAAA,QAAAA,CAASM,IAAI,CAACC,UAAU,CAACZ,IAAI,GAAGK,QAASM,CAAAA,IAAI,CAACC,UAAU,CAACU,SAAS,kBACjEnF,cAACqE,CAAAA,gBAAAA,EAAAA;gBAAIe,aAAe,EAAA,CAAA;gBAAGT,SAAU,EAAA,QAAA;AAC/B,gBAAA,QAAA,gBAAA3E,cAAC4D,CAAAA,gBAAAA,EAAAA;AAAiBC,oBAAAA,IAAAA,EAAMA,IAAO,GAAA,CAAA;8BAC5BtD,aAAc,CAAA;wBACbM,EAAI,EAAA,4CAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;;;;;AAMZ,CAAA;AAEA;;AAEkG,2GAE5FuE,YAAe,GAAA,IAAA;IACnB,MAAM,EAAE9E,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAE0D,QAAQ,EAAEL,IAAI,EAAE,GAAGM,yBAAkB,CAAA,cAAA,EAAgB,CAACC,KAAAA,IAAW;AACvEF,YAAAA,QAAAA,EAAUE,MAAMF,QAAQ;AACxBL,YAAAA,IAAAA,EAAMO,MAAMP;SACd,CAAA,CAAA;AACA,IAAA,MAAMyB,QAAWC,GAAAA,uBAAAA,EAAAA;AAEjB,IAAA,MAAM,CAAC,EAAE9D,KAAK,EAAE,CAAC,GAAGC,0BAAAA,EAAAA;AACpB,IAAA,MAAM8D,cAAiBtB,GAAAA,QAAAA,CAASY,IAAI,CAACW,IAAI,CAAC,CAACpF,OAAYA,GAAAA,OAAAA,CAAQQ,EAAE,CAACkB,QAAQ,EAAA,KAAON,MAAMZ,EAAE,CAAA;IAEzF,OAAO,CAACyE,yBACNrD,eAACC,CAAAA,iBAAAA,EAAAA;QACCwD,MAAQ,EAAA,CAAA;QACRvD,SAAU,EAAA,QAAA;QACVC,UAAW,EAAA,SAAA;QACXuD,KAAO,EAAA;YAAEf,OAAS,EAAA,OAAA;YAASgB,KAAO,EAAA;AAAQ,SAAA;QAC1CC,MAAO,EAAA,MAAA;QACPtB,QAAS,EAAA,QAAA;QACTuB,UAAW,EAAA,UAAA;QACXrD,WAAY,EAAA,YAAA;QACZF,WAAY,EAAA,WAAA;QACZC,WAAY,EAAA,OAAA;QACZI,GAAI,EAAA,OAAA;;0BAEJX,eAACC,CAAAA,iBAAAA,EAAAA;gBACCC,SAAU,EAAA,KAAA;gBACV4D,cAAe,EAAA,eAAA;gBACfpD,OAAS,EAAA,CAAA;gBACTF,WAAY,EAAA,YAAA;gBACZF,WAAY,EAAA,SAAA;gBACZC,WAAY,EAAA,OAAA;gBACZI,GAAI,EAAA,QAAA;gBACJoD,IAAK,EAAA,QAAA;;kCAELhG,cAACC,CAAAA,uBAAAA,EAAAA;wBAAW2C,GAAI,EAAA,IAAA;wBAAKzC,OAAQ,EAAA,OAAA;wBAAQgD,UAAW,EAAA,UAAA;kCAC7C5C,aAAc,CAAA;4BACbM,EAAI,EAAA,uCAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;kCAEFd,cAACqE,CAAAA,gBAAAA,EAAAA;wBAAIyB,UAAW,EAAA,YAAA;wBAAaxD,SAAS,EAAA,IAAA;wBAACK,OAAS,EAAA,CAAA;AAC9C,wBAAA,QAAA,gBAAA3C,cAACC,CAAAA,uBAAAA,EAAAA;4BAAWE,OAAQ,EAAA,OAAA;4BAAQD,SAAU,EAAA,YAAA;AACnCgE,4BAAAA,QAAAA,EAAAA,QAAAA,CAASM,IAAI,CAACC,UAAU,CAACwB;;;;;0BAIhCjG,cAACiE,CAAAA,iBAAAA,EAAAA,EAAAA;;AAGH,KAAA,CAAA,iBAAAhC,eAAA,CAAArB,mBAAA,EAAA;;AACE,0BAAAqB,eAAA,CAACiE,4BAAcC,IAAI,EAAA;gBAACC,UAAU,EAAA,IAAA;gBAACC,UAAU,EAAA,IAAA;;AACvC,kCAAArG,cAAA,CAACkG,4BAAcI,OAAO,EAAA,EAAA,CAAA;AACtB,kCAAAtG,cAAA,CAACkG,4BAAcK,MAAM,EAAA;AAClBf,wBAAAA,QAAAA,EAAAA,cAAAA,kBACCvD,eAACC,CAAAA,iBAAAA,EAAAA;4BAAKG,GAAK,EAAA,CAAA;4BAAGkC,QAAS,EAAA,QAAA;;8CACrBvE,cAACqE,CAAAA,gBAAAA,EAAAA;oCAAIC,IAAM,EAAA,CAAA;oCAAGC,QAAS,EAAA,QAAA;AACrB,oCAAA,QAAA,gBAAAvE,cAACC,CAAAA,uBAAAA,EAAAA;wCACCuG,OAAQ,EAAA,OAAA;wCACRrG,OAAQ,EAAA,OAAA;wCACRD,SAAU,EAAA,YAAA;wCACVqE,QAAS,EAAA,QAAA;wCACTvB,KAAO,EAAA;4CAAEyD,YAAc,EAAA,UAAA;4CAAYC,UAAY,EAAA;AAAS,yCAAA;AAExD,wCAAA,QAAA,gBAAA1G,cAACI,CAAAA,aAAAA,EAAAA;4CACCC,OAASmF,EAAAA,cAAAA;AACTlF,4CAAAA,SAAAA,EAAWuD,SAAS,CAAKK,IAAAA,QAAAA,CAASY,IAAI,CAAC6B,OAAO,CAACnB,cAAoB,CAAA,KAAA;;;;gCAIxEA,cAAe/B,CAAAA,MAAM,kBAAIzD,cAAC0D,CAAAA,6BAAAA,EAAAA;AAAeD,oCAAAA,MAAAA,EAAQ+B,eAAe/B,MAAM;oCAAEE,IAAK,EAAA;;;;;AAIpF,kCAAA3D,cAAA,CAACkG,4BAAcU,OAAO,EAAA;AACpB,wBAAA,QAAA,gBAAA5G,cAACiE,CAAAA,iBAAAA,EAAAA,EAAAA;;;;0BAMLjE,cAACqE,CAAAA,gBAAAA,EAAAA;gBAAIsB,KAAM,EAAA,MAAA;gBAAOE,MAAO,EAAA;;;;AAG/B;;;;"}
1
+ {"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsList.mjs","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":"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"}
1
+ {"version":3,"file":"VersionsList.mjs","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../admin/src/history/index.ts"],"sourcesContent":["/* eslint-disable check-file/no-index */\n\nimport { type ContentManagerPlugin } from '../content-manager';\n\nimport { HistoryAction } from './components/HistoryAction';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst historyAdmin: Partial<Plugin.Config.AdminInput> = {\n bootstrap(app: StrapiApp) {\n const { addDocumentAction } = app.getPlugin('content-manager').apis as {\n addDocumentAction: ContentManagerPlugin['addDocumentAction'];\n };\n\n /**\n * Register the document action here using the public API, and not by setting the action in the\n * Content Manager directly, because this API lets us control the order of the actions array.\n * We want history to be the last non-delete action in the array.\n */\n addDocumentAction((actions) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, HistoryAction);\n return actions;\n });\n },\n};\n\nexport { historyAdmin };\n"],"names":["historyAdmin","bootstrap","app","addDocumentAction","getPlugin","apis","actions","indexOfDeleteAction","findIndex","action","type","splice","HistoryAction"],"mappings":";;;;AASA,MAAMA,YAAkD,GAAA;AACtDC,IAAAA,SAAAA,CAAAA,CAAUC,GAAc,EAAA;QACtB,MAAM,EAAEC,iBAAiB,EAAE,GAAGD,IAAIE,SAAS,CAAC,mBAAmBC,IAAI;AAInE;;;;AAIC,QACDF,kBAAkB,CAACG,OAAAA,GAAAA;YACjB,MAAMC,mBAAAA,GAAsBD,QAAQE,SAAS,CAAC,CAACC,MAAWA,GAAAA,MAAAA,CAAOC,IAAI,KAAK,QAAA,CAAA;YAC1EJ,OAAQK,CAAAA,MAAM,CAACJ,mBAAAA,EAAqB,CAAGK,EAAAA,2BAAAA,CAAAA;YACvC,OAAON,OAAAA;AACT,SAAA,CAAA;AACF;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../admin/src/history/index.ts"],"sourcesContent":["/* eslint-disable check-file/no-index */\n\nimport { type ContentManagerPlugin } from '../content-manager';\n\nimport { HistoryAction } from './components/HistoryAction';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst historyAdmin: Partial<Plugin.Config.AdminInput> = {\n bootstrap(app: StrapiApp) {\n const { addDocumentAction } = app.getPlugin('content-manager').apis as {\n addDocumentAction: ContentManagerPlugin['addDocumentAction'];\n };\n\n /**\n * Register the document action here using the public API, and not by setting the action in the\n * Content Manager directly, because this API lets us control the order of the actions array.\n * We want history to be the last non-delete action in the array.\n */\n addDocumentAction((actions) => {\n const indexOfDeleteAction = actions.findIndex((action) => action.type === 'delete');\n actions.splice(indexOfDeleteAction, 0, HistoryAction);\n return actions;\n });\n },\n};\n\nexport { historyAdmin };\n"],"names":["historyAdmin","bootstrap","app","addDocumentAction","getPlugin","apis","actions","indexOfDeleteAction","findIndex","action","type","splice","HistoryAction"],"mappings":";;;;AASA,MAAMA,YAAAA,GAAkD;AACtDC,IAAAA,SAAAA,CAAAA,CAAUC,GAAc,EAAA;QACtB,MAAM,EAAEC,iBAAiB,EAAE,GAAGD,IAAIE,SAAS,CAAC,mBAAmBC,IAAI;AAInE;;;;AAIC,QACDF,kBAAkB,CAACG,OAAAA,GAAAA;YACjB,MAAMC,mBAAAA,GAAsBD,QAAQE,SAAS,CAAC,CAACC,MAAAA,GAAWA,MAAAA,CAAOC,IAAI,KAAK,QAAA,CAAA;YAC1EJ,OAAAA,CAAQK,MAAM,CAACJ,mBAAAA,EAAqB,CAAA,EAAGK,2BAAAA,CAAAA;YACvC,OAAON,OAAAA;AACT,QAAA,CAAA,CAAA;AACF,IAAA;AACF;;;;"}