@strapi/content-manager 0.0.0-next.df5dd4b92e1b046c04ff00d00d76c88ea51b57d4 → 0.0.0-next.e326c69a49373b420f6566c30aca26f4b6274c6a

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 (316) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +4 -1
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +5 -2
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/Form.js +1 -1
  6. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/Form.mjs +3 -3
  8. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  9. package/dist/admin/components/DragPreviews/CardDragPreview.js +3 -1
  10. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  11. package/dist/admin/components/DragPreviews/CardDragPreview.mjs +3 -1
  12. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  13. package/dist/admin/components/DragPreviews/ComponentDragPreview.js +3 -1
  14. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  15. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +3 -1
  16. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  17. package/dist/admin/components/DragPreviews/RelationDragPreview.js +3 -1
  18. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +3 -1
  20. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  21. package/dist/admin/components/LeftMenu.js +89 -49
  22. package/dist/admin/components/LeftMenu.js.map +1 -1
  23. package/dist/admin/components/LeftMenu.mjs +91 -51
  24. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  25. package/dist/admin/components/Widgets.js +269 -9
  26. package/dist/admin/components/Widgets.js.map +1 -1
  27. package/dist/admin/components/Widgets.mjs +252 -12
  28. package/dist/admin/components/Widgets.mjs.map +1 -1
  29. package/dist/admin/history/components/VersionContent.js +24 -3
  30. package/dist/admin/history/components/VersionContent.js.map +1 -1
  31. package/dist/admin/history/components/VersionContent.mjs +25 -4
  32. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  33. package/dist/admin/history/components/VersionHeader.js +1 -0
  34. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  35. package/dist/admin/history/components/VersionHeader.mjs +1 -0
  36. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  37. package/dist/admin/history/components/VersionsList.js +1 -1
  38. package/dist/admin/history/components/VersionsList.js.map +1 -1
  39. package/dist/admin/history/components/VersionsList.mjs +1 -1
  40. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  41. package/dist/admin/history/pages/History.js +7 -7
  42. package/dist/admin/history/pages/History.js.map +1 -1
  43. package/dist/admin/history/pages/History.mjs +7 -7
  44. package/dist/admin/history/pages/History.mjs.map +1 -1
  45. package/dist/admin/hooks/useDocumentActions.js +5 -5
  46. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  47. package/dist/admin/hooks/useDocumentActions.mjs +6 -6
  48. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  49. package/dist/admin/index.js +47 -8
  50. package/dist/admin/index.js.map +1 -1
  51. package/dist/admin/index.mjs +47 -9
  52. package/dist/admin/index.mjs.map +1 -1
  53. package/dist/admin/layout.js +28 -33
  54. package/dist/admin/layout.js.map +1 -1
  55. package/dist/admin/layout.mjs +29 -15
  56. package/dist/admin/layout.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/EditViewPage.js +34 -20
  58. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  59. package/dist/admin/pages/EditView/EditViewPage.mjs +36 -22
  60. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  61. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  62. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  63. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  64. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  65. package/dist/admin/pages/EditView/components/DocumentActions.js +74 -63
  66. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/DocumentActions.mjs +76 -65
  68. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  70. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  72. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  74. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  76. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +2 -2
  78. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +2 -2
  80. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +2 -2
  82. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +2 -2
  84. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  86. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  88. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +15 -3
  90. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -4
  92. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
  94. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
  96. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +20 -6
  98. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +22 -8
  100. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  102. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  104. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +158 -106
  106. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +161 -109
  108. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  110. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  111. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  112. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  113. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +2 -2
  114. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  115. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +2 -2
  116. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  118. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  119. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  120. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  121. package/dist/admin/pages/EditView/components/FormLayout.js +40 -11
  122. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  123. package/dist/admin/pages/EditView/components/FormLayout.mjs +41 -11
  124. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  125. package/dist/admin/pages/EditView/components/Header.js +22 -7
  126. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  127. package/dist/admin/pages/EditView/components/Header.mjs +23 -8
  128. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  129. package/dist/admin/pages/EditView/components/InputRenderer.js +20 -7
  130. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  131. package/dist/admin/pages/EditView/components/InputRenderer.mjs +20 -7
  132. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  133. package/dist/admin/pages/EditView/utils/data.js +128 -0
  134. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  135. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  136. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  137. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
  138. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  139. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
  140. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  141. package/dist/admin/pages/ListView/ListViewPage.js +221 -203
  142. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  143. package/dist/admin/pages/ListView/ListViewPage.mjs +222 -204
  144. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  145. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  146. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  147. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  148. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  149. package/dist/admin/pages/ListView/components/Filters.js +3 -1
  150. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  151. package/dist/admin/pages/ListView/components/Filters.mjs +3 -1
  152. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  153. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  154. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  155. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  156. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  157. package/dist/admin/preview/components/InputPopover.js +189 -0
  158. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  159. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  160. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  161. package/dist/admin/preview/components/PreviewHeader.js +0 -1
  162. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  163. package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
  164. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  165. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  166. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  167. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  168. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  169. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  170. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  171. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  172. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  173. package/dist/admin/preview/pages/Preview.js +178 -74
  174. package/dist/admin/preview/pages/Preview.js.map +1 -1
  175. package/dist/admin/preview/pages/Preview.mjs +180 -76
  176. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  177. package/dist/admin/preview/utils/constants.js +56 -0
  178. package/dist/admin/preview/utils/constants.js.map +1 -0
  179. package/dist/admin/preview/utils/constants.mjs +52 -0
  180. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  181. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  182. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  183. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  184. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  185. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  186. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  187. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  188. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  189. package/dist/admin/preview/utils/previewScript.js +534 -0
  190. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  191. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  192. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  193. package/dist/admin/services/api.js +4 -1
  194. package/dist/admin/services/api.js.map +1 -1
  195. package/dist/admin/services/api.mjs +4 -1
  196. package/dist/admin/services/api.mjs.map +1 -1
  197. package/dist/admin/services/documents.js +42 -16
  198. package/dist/admin/services/documents.js.map +1 -1
  199. package/dist/admin/services/documents.mjs +42 -16
  200. package/dist/admin/services/documents.mjs.map +1 -1
  201. package/dist/admin/src/components/LeftMenu.d.ts +3 -1
  202. package/dist/admin/src/components/Widgets.d.ts +2 -1
  203. package/dist/admin/src/exports.d.ts +1 -0
  204. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  205. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  206. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  207. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +0 -3
  208. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  209. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  210. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  211. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  212. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  213. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  214. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  215. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  216. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  217. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  218. package/dist/admin/src/services/api.d.ts +1 -1
  219. package/dist/admin/src/services/components.d.ts +2 -2
  220. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  221. package/dist/admin/src/services/documents.d.ts +23 -17
  222. package/dist/admin/src/services/homepage.d.ts +1 -1
  223. package/dist/admin/src/services/init.d.ts +1 -1
  224. package/dist/admin/src/services/relations.d.ts +2 -2
  225. package/dist/admin/src/services/uid.d.ts +3 -3
  226. package/dist/admin/src/utils/api.d.ts +1 -1
  227. package/dist/admin/src/utils/validation.d.ts +1 -0
  228. package/dist/admin/translations/en.json.js +12 -0
  229. package/dist/admin/translations/en.json.js.map +1 -1
  230. package/dist/admin/translations/en.json.mjs +12 -0
  231. package/dist/admin/translations/en.json.mjs.map +1 -1
  232. package/dist/admin/translations/es.json.js +6 -2
  233. package/dist/admin/translations/es.json.js.map +1 -1
  234. package/dist/admin/translations/es.json.mjs +6 -2
  235. package/dist/admin/translations/es.json.mjs.map +1 -1
  236. package/dist/admin/translations/fr.json.js +11 -2
  237. package/dist/admin/translations/fr.json.js.map +1 -1
  238. package/dist/admin/translations/fr.json.mjs +11 -2
  239. package/dist/admin/translations/fr.json.mjs.map +1 -1
  240. package/dist/admin/utils/api.js +1 -1
  241. package/dist/admin/utils/api.js.map +1 -1
  242. package/dist/admin/utils/api.mjs +1 -1
  243. package/dist/admin/utils/api.mjs.map +1 -1
  244. package/dist/admin/utils/validation.js +18 -6
  245. package/dist/admin/utils/validation.js.map +1 -1
  246. package/dist/admin/utils/validation.mjs +18 -6
  247. package/dist/admin/utils/validation.mjs.map +1 -1
  248. package/dist/server/controllers/relations.js +2 -2
  249. package/dist/server/controllers/relations.js.map +1 -1
  250. package/dist/server/controllers/relations.mjs +2 -2
  251. package/dist/server/controllers/relations.mjs.map +1 -1
  252. package/dist/server/history/services/lifecycles.js +20 -19
  253. package/dist/server/history/services/lifecycles.js.map +1 -1
  254. package/dist/server/history/services/lifecycles.mjs +20 -19
  255. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  256. package/dist/server/homepage/controllers/homepage.js +5 -0
  257. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  258. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  259. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  260. package/dist/server/homepage/routes/homepage.js +11 -0
  261. package/dist/server/homepage/routes/homepage.js.map +1 -1
  262. package/dist/server/homepage/routes/homepage.mjs +11 -0
  263. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  264. package/dist/server/homepage/services/homepage.js +86 -46
  265. package/dist/server/homepage/services/homepage.js.map +1 -1
  266. package/dist/server/homepage/services/homepage.mjs +86 -46
  267. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  268. package/dist/server/preview/services/preview-config.js +5 -1
  269. package/dist/server/preview/services/preview-config.js.map +1 -1
  270. package/dist/server/preview/services/preview-config.mjs +5 -1
  271. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  272. package/dist/server/preview/services/preview.js +4 -0
  273. package/dist/server/preview/services/preview.js.map +1 -1
  274. package/dist/server/preview/services/preview.mjs +4 -0
  275. package/dist/server/preview/services/preview.mjs.map +1 -1
  276. package/dist/server/services/document-manager.js +3 -0
  277. package/dist/server/services/document-manager.js.map +1 -1
  278. package/dist/server/services/document-manager.mjs +3 -0
  279. package/dist/server/services/document-manager.mjs.map +1 -1
  280. package/dist/server/services/document-metadata.js +1 -1
  281. package/dist/server/services/document-metadata.js.map +1 -1
  282. package/dist/server/services/document-metadata.mjs +1 -1
  283. package/dist/server/services/document-metadata.mjs.map +1 -1
  284. package/dist/server/services/utils/populate.js +11 -0
  285. package/dist/server/services/utils/populate.js.map +1 -1
  286. package/dist/server/services/utils/populate.mjs +11 -0
  287. package/dist/server/services/utils/populate.mjs.map +1 -1
  288. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  289. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  290. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  291. package/dist/server/src/homepage/index.d.ts +7 -0
  292. package/dist/server/src/homepage/index.d.ts.map +1 -1
  293. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  294. package/dist/server/src/homepage/services/homepage.d.ts +4 -1
  295. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  296. package/dist/server/src/homepage/services/index.d.ts +7 -0
  297. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  298. package/dist/server/src/index.d.ts +7 -0
  299. package/dist/server/src/index.d.ts.map +1 -1
  300. package/dist/server/src/preview/services/index.d.ts +1 -0
  301. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  302. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  303. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  304. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  305. package/dist/server/src/preview/utils.d.ts +1 -0
  306. package/dist/server/src/preview/utils.d.ts.map +1 -1
  307. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  308. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  309. package/dist/server/src/services/index.d.ts +7 -0
  310. package/dist/server/src/services/index.d.ts.map +1 -1
  311. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  312. package/dist/shared/contracts/collection-types.d.ts +0 -1
  313. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  314. package/dist/shared/contracts/homepage.d.ts +13 -0
  315. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  316. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: 6,\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["RESPONSIVE_CONTAINER_BREAKPOINTS","sm","ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","col","panelStyles","padding","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":"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"}
1
+ {"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n const fieldValues = useForm('Fields', (state) => state.values);\n const rulesEngine = createRulesEngine();\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={{\n initial: 4,\n large: 6,\n }}\n >\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n const attribute = document.schema?.attributes[field.name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n const isVisible = rulesEngine.evaluate(condition, fieldValues);\n if (!isVisible) {\n return null; // Skip rendering the dynamic zone if the condition is not met\n }\n }\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={{\n initial: 4,\n large: 6,\n }}\n >\n {panel.map((row, gridRowIndex) => {\n const visibleFields = row.filter(({ name }) => {\n const attribute = document.schema?.attributes[name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n return rulesEngine.evaluate(condition, fieldValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {visibleFields.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","fieldValues","useForm","state","values","rulesEngine","createRulesEngine","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","large","map","panel","index","some","row","field","type","attribute","attributes","condition","conditions","visible","isVisible","evaluate","s","xs","InputRenderer","Box","gridRowIndex","visibleFields","filter","length","size"],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import 'react';
3
+ import { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';
3
4
  import { Grid, Flex, Box } from '@strapi/design-system';
4
5
  import { useIntl } from 'react-intl';
5
6
  import { styled } from 'styled-components';
6
7
  import { InputRenderer as MemoizedInputRenderer } from './InputRenderer.mjs';
7
8
 
8
- const RESPONSIVE_CONTAINER_BREAKPOINTS = {
9
- sm: '27.5rem'
10
- };
11
9
  const ResponsiveGridRoot = styled(Grid.Root)`
12
10
  container-type: inline-size;
13
11
  `;
@@ -18,14 +16,17 @@ const ResponsiveGridItem = /**
18
16
  * for failing to parse the stylesheet.
19
17
  */ process.env.NODE_ENV !== 'test' ? styled(Grid.Item)`
20
18
  grid-column: span 12;
21
- @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {
19
+ ${({ theme })=>theme.breakpoints.medium} {
22
20
  ${({ col })=>col && `grid-column: span ${col};`}
23
21
  }
24
22
  ` : styled(Grid.Item)`
25
23
  grid-column: span 12;
26
24
  `;
27
25
  const panelStyles = {
28
- padding: 6,
26
+ padding: {
27
+ initial: 4,
28
+ medium: 6
29
+ },
29
30
  borderColor: 'neutral150',
30
31
  background: 'neutral0',
31
32
  hasRadius: true,
@@ -34,6 +35,8 @@ const panelStyles = {
34
35
  const FormLayout = ({ layout, document, hasBackground = true })=>{
35
36
  const { formatMessage } = useIntl();
36
37
  const modelUid = document.schema?.uid;
38
+ const fieldValues = useForm('Fields', (state)=>state.values);
39
+ const rulesEngine = createRulesEngine();
37
40
  const getLabel = (name, label)=>{
38
41
  return formatMessage({
39
42
  id: `content-manager.content-types.${modelUid}.${name}`,
@@ -43,11 +46,22 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
43
46
  return /*#__PURE__*/ jsx(Flex, {
44
47
  direction: "column",
45
48
  alignItems: "stretch",
46
- gap: 6,
49
+ gap: {
50
+ initial: 4,
51
+ large: 6
52
+ },
47
53
  children: layout.map((panel, index)=>{
48
54
  if (panel.some((row)=>row.some((field)=>field.type === 'dynamiczone'))) {
49
55
  const [row] = panel;
50
56
  const [field] = row;
57
+ const attribute = document.schema?.attributes[field.name];
58
+ const condition = attribute?.conditions?.visible;
59
+ if (condition) {
60
+ const isVisible = rulesEngine.evaluate(condition, fieldValues);
61
+ if (!isVisible) {
62
+ return null; // Skip rendering the dynamic zone if the condition is not met
63
+ }
64
+ }
51
65
  return /*#__PURE__*/ jsx(Grid.Root, {
52
66
  gap: 4,
53
67
  children: /*#__PURE__*/ jsx(Grid.Item, {
@@ -69,10 +83,25 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
69
83
  children: /*#__PURE__*/ jsx(Flex, {
70
84
  direction: "column",
71
85
  alignItems: "stretch",
72
- gap: 6,
73
- children: panel.map((row, gridRowIndex)=>/*#__PURE__*/ jsx(ResponsiveGridRoot, {
86
+ gap: {
87
+ initial: 4,
88
+ large: 6
89
+ },
90
+ children: panel.map((row, gridRowIndex)=>{
91
+ const visibleFields = row.filter(({ name })=>{
92
+ const attribute = document.schema?.attributes[name];
93
+ const condition = attribute?.conditions?.visible;
94
+ if (condition) {
95
+ return rulesEngine.evaluate(condition, fieldValues);
96
+ }
97
+ return true;
98
+ });
99
+ if (visibleFields.length === 0) {
100
+ return null; // Skip rendering the entire grid row
101
+ }
102
+ return /*#__PURE__*/ jsx(ResponsiveGridRoot, {
74
103
  gap: 4,
75
- children: row.map(({ size, ...field })=>{
104
+ children: visibleFields.map(({ size, ...field })=>{
76
105
  return /*#__PURE__*/ jsx(ResponsiveGridItem, {
77
106
  col: size,
78
107
  s: 12,
@@ -86,12 +115,13 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
86
115
  })
87
116
  }, field.name);
88
117
  })
89
- }, gridRowIndex))
118
+ }, gridRowIndex);
119
+ })
90
120
  })
91
121
  }, index);
92
122
  })
93
123
  });
94
124
  };
95
125
 
96
- export { FormLayout, RESPONSIVE_CONTAINER_BREAKPOINTS, ResponsiveGridItem, ResponsiveGridRoot };
126
+ export { FormLayout, ResponsiveGridItem, ResponsiveGridRoot };
97
127
  //# sourceMappingURL=FormLayout.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: 6,\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["RESPONSIVE_CONTAINER_BREAKPOINTS","sm","ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","col","panelStyles","padding","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","s","xs","InputRenderer","Box","gridRowIndex","size"],"mappings":"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"}
1
+ {"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n ${({ theme }) => theme.breakpoints.medium} {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: {\n initial: 4,\n medium: 6,\n },\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n const fieldValues = useForm('Fields', (state) => state.values);\n const rulesEngine = createRulesEngine();\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={{\n initial: 4,\n large: 6,\n }}\n >\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n const attribute = document.schema?.attributes[field.name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n const isVisible = rulesEngine.evaluate(condition, fieldValues);\n if (!isVisible) {\n return null; // Skip rendering the dynamic zone if the condition is not met\n }\n }\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={{\n initial: 4,\n large: 6,\n }}\n >\n {panel.map((row, gridRowIndex) => {\n const visibleFields = row.filter(({ name }) => {\n const attribute = document.schema?.attributes[name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n return rulesEngine.evaluate(condition, fieldValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {visibleFields.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","theme","breakpoints","medium","col","panelStyles","padding","initial","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","fieldValues","useForm","state","values","rulesEngine","createRulesEngine","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","large","map","panel","index","some","row","field","type","attribute","attributes","condition","conditions","visible","isVisible","evaluate","s","xs","InputRenderer","Box","gridRowIndex","visibleFields","filter","length","size"],"mappings":"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"}
@@ -48,8 +48,14 @@ const Header = ({ isCreating, status, title: documentTitle = 'Untitled' })=>{
48
48
  return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
49
49
  direction: "column",
50
50
  alignItems: "flex-start",
51
- paddingTop: 6,
52
- paddingBottom: 4,
51
+ paddingTop: {
52
+ initial: 4,
53
+ large: 6
54
+ },
55
+ paddingBottom: {
56
+ initial: 0,
57
+ large: 4
58
+ },
53
59
  gap: 2,
54
60
  children: [
55
61
  /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.BackButton, {
@@ -58,8 +64,15 @@ const Header = ({ isCreating, status, title: documentTitle = 'Untitled' })=>{
58
64
  /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
59
65
  width: "100%",
60
66
  justifyContent: "space-between",
61
- gap: "80px",
67
+ gap: {
68
+ initial: 2,
69
+ medium: '8rem'
70
+ },
62
71
  alignItems: "flex-start",
72
+ direction: {
73
+ initial: 'column',
74
+ medium: 'row'
75
+ },
63
76
  children: [
64
77
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
65
78
  variant: "alpha",
@@ -331,7 +344,8 @@ const HeaderActionDialog = ({ onClose, onCancel, title, content: Content, isOpen
331
344
  * -----------------------------------------------------------------------------------------------*/ const ConfigureTheViewAction = ({ collectionType, model })=>{
332
345
  const navigate = reactRouterDom.useNavigate();
333
346
  const { formatMessage } = reactIntl.useIntl();
334
- return {
347
+ const isDesktop = strapiAdmin.useIsDesktop();
348
+ return isDesktop ? {
335
349
  label: formatMessage({
336
350
  id: 'app.links.configure-view',
337
351
  defaultMessage: 'Configure the view'
@@ -341,14 +355,15 @@ const HeaderActionDialog = ({ onClose, onCancel, title, content: Content, isOpen
341
355
  navigate(`../${collectionType}/${model}/configurations/edit`);
342
356
  },
343
357
  position: 'header'
344
- };
358
+ } : null;
345
359
  };
346
360
  ConfigureTheViewAction.type = 'configure-the-view';
347
361
  ConfigureTheViewAction.position = 'header';
348
362
  const EditTheModelAction = ({ model })=>{
349
363
  const navigate = reactRouterDom.useNavigate();
350
364
  const { formatMessage } = reactIntl.useIntl();
351
- return {
365
+ const isDesktop = strapiAdmin.useIsDesktop();
366
+ return isDesktop ? {
352
367
  label: formatMessage({
353
368
  id: 'content-manager.link-to-ctb',
354
369
  defaultMessage: 'Edit the model'
@@ -358,7 +373,7 @@ const EditTheModelAction = ({ model })=>{
358
373
  navigate(`/plugins/content-type-builder/content-types/${model}`);
359
374
  },
360
375
  position: 'header'
361
- };
376
+ } : null;
362
377
  };
363
378
  EditTheModelAction.type = 'edit-the-model';
364
379
  EditTheModelAction.position = 'header';
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../admin/src/pages/EditView/components/Header.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n DescriptionComponentRenderer,\n useForm,\n BackButton,\n useNotification,\n useStrapiApp,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n SingleSelect,\n SingleSelectOption,\n Typography,\n IconButton,\n Dialog,\n} from '@strapi/design-system';\nimport { ListPlus, Pencil, Trash, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate, useParams } from 'react-router-dom';\n\nimport { RelativeTime } from '../../../components/RelativeTime';\nimport {\n CREATED_AT_ATTRIBUTE_NAME,\n CREATED_BY_ATTRIBUTE_NAME,\n PUBLISHED_AT_ATTRIBUTE_NAME,\n PUBLISHED_BY_ATTRIBUTE_NAME,\n UPDATED_AT_ATTRIBUTE_NAME,\n UPDATED_BY_ATTRIBUTE_NAME,\n} from '../../../constants/attributes';\nimport { COLLECTION_TYPES, SINGLE_TYPES } from '../../../constants/collections';\nimport { useDocumentRBAC } from '../../../features/DocumentRBAC';\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../hooks/useDocumentActions';\nimport { CLONE_PATH, LIST_PATH } from '../../../router';\nimport { getDisplayName } from '../../../utils/users';\n\nimport { DocumentActionsMenu } from './DocumentActions';\nimport { DocumentStatus } from './DocumentStatus';\n\nimport type { ContentManagerPlugin, DocumentActionComponent } from '../../../content-manager';\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n isCreating?: boolean;\n status?: 'draft' | 'published' | 'modified';\n title?: string;\n}\n\nconst Header = ({ isCreating, status, title: documentTitle = 'Untitled' }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const isCloning = useMatch(CLONE_PATH) !== null;\n const params = useParams<{ collectionType: string; slug: string }>();\n\n const title = isCreating\n ? formatMessage({\n id: 'content-manager.containers.edit.title.new',\n defaultMessage: 'Create an entry',\n })\n : documentTitle;\n\n return (\n <Flex direction=\"column\" alignItems=\"flex-start\" paddingTop={6} paddingBottom={4} gap={2}>\n <BackButton\n fallback={\n params.collectionType === SINGLE_TYPES\n ? undefined\n : `../${COLLECTION_TYPES}/${params.slug}`\n }\n />\n <Flex width=\"100%\" justifyContent=\"space-between\" gap=\"80px\" alignItems=\"flex-start\">\n <Typography variant=\"alpha\" tag=\"h1\">\n {title}\n </Typography>\n <HeaderToolbar />\n </Flex>\n {status ? (\n <Box marginTop={1}>\n <DocumentStatus status={isCloning ? 'draft' : status} />\n </Box>\n ) : null}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderToolbar\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DialogOptions {\n type: 'dialog';\n title: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\ninterface HeaderActionDescription {\n disabled?: boolean;\n label: string;\n icon?: React.ReactNode;\n type?: 'icon' | 'default';\n onClick?: (event: React.SyntheticEvent) => Promise<boolean | void> | boolean | void;\n dialog?: DialogOptions;\n options?: Array<{\n disabled?: boolean;\n label: string;\n startIcon?: React.ReactNode;\n textValue?: string;\n value: string;\n }>;\n onSelect?: (value: string) => void;\n value?: string;\n customizeContent?: (value: string) => React.ReactNode;\n}\n\n/**\n * @description Contains the document actions that have `position: header`, if there are\n * none we still render the menu because we render the information about the document there.\n */\nconst HeaderToolbar = () => {\n const { formatMessage } = useIntl();\n const isCloning = useMatch(CLONE_PATH) !== null;\n const [\n {\n query: { status = 'draft' },\n },\n ] = useQueryParams<{ status: 'draft' | 'published' }>();\n const { model, id, document, meta, collectionType } = useDoc();\n const plugins = useStrapiApp('HeaderToolbar', (state) => state.plugins);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n activeTab: status,\n model,\n documentId: id,\n document: isCloning ? undefined : document,\n meta: isCloning ? undefined : meta,\n collectionType,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getHeaderActions()}\n >\n {(actions) => {\n if (actions.length > 0) {\n return <HeaderActions actions={actions} />;\n } else {\n return null;\n }\n }}\n </DescriptionComponentRenderer>\n <DescriptionComponentRenderer\n props={{\n activeTab: status,\n model,\n documentId: id,\n document: isCloning ? undefined : document,\n meta: isCloning ? undefined : meta,\n collectionType,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getDocumentActions('header')}\n >\n {(actions) => {\n const headerActions = actions.filter((action) => {\n const positions = Array.isArray(action.position) ? action.position : [action.position];\n return positions.includes('header');\n });\n\n return (\n <DocumentActionsMenu\n actions={headerActions}\n label={formatMessage({\n id: 'content-manager.containers.edit.header.more-actions',\n defaultMessage: 'More actions',\n })}\n >\n <Information activeTab={status} />\n </DocumentActionsMenu>\n );\n }}\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\ninterface InformationProps {\n activeTab: 'draft' | 'published';\n}\n\nconst Information = ({ activeTab }: InformationProps) => {\n const { formatMessage } = useIntl();\n const { document, meta } = useDoc();\n\n if (!document || !document.id) {\n return null;\n }\n\n /**\n * Because in the backend separate entries are made for draft and published\n * documents, the creator fields are different for each of them. For example,\n * you could make your draft in January and then publish it for the first time\n * in Feb. This would make the createdAt value for the published entry in Feb\n * but really we want to show the document as a whole. The draft entry will also\n * never have the publishedAt values.\n *\n * So, we decipher which document to show the creator for based on the activeTab.\n */\n\n const createAndUpdateDocument =\n activeTab === 'draft'\n ? document\n : meta?.availableStatus.find((status) => status.publishedAt === null);\n\n const publishDocument =\n activeTab === 'published'\n ? document\n : meta?.availableStatus.find((status) => status.publishedAt !== null);\n\n const creator = createAndUpdateDocument?.[CREATED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(createAndUpdateDocument[CREATED_BY_ATTRIBUTE_NAME])\n : null;\n\n const updator = createAndUpdateDocument?.[UPDATED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(createAndUpdateDocument[UPDATED_BY_ATTRIBUTE_NAME])\n : null;\n\n const information: Array<{ isDisplayed?: boolean; label: string; value: React.ReactNode }> = [\n {\n isDisplayed: !!publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.last-published.label',\n defaultMessage: 'Published',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.last-published.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime timestamp={new Date(publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME])} />\n ),\n isAnonymous: !publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME],\n author: publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME])\n : null,\n }\n ),\n },\n {\n isDisplayed: !!createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.last-draft.label',\n defaultMessage: 'Updated',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.last-draft.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime\n timestamp={new Date(createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME])}\n />\n ),\n isAnonymous: !updator,\n author: updator,\n }\n ),\n },\n {\n isDisplayed: !!createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.document.label',\n defaultMessage: 'Created',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.document.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime\n timestamp={new Date(createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME])}\n />\n ),\n isAnonymous: !creator,\n author: creator,\n }\n ),\n },\n ].filter((info) => info.isDisplayed);\n\n return (\n <Flex\n borderWidth=\"1px 0 0 0\"\n borderStyle=\"solid\"\n borderColor=\"neutral150\"\n direction=\"column\"\n marginTop={2}\n tag=\"dl\"\n padding={5}\n gap={3}\n alignItems=\"flex-start\"\n /**\n * The menu content has a padding of 4px, but we want our divider (the border top applied) to\n * be flush with the menu content. So we need to adjust the margin & width to account for the padding.\n */\n marginLeft=\"-0.4rem\"\n marginRight=\"-0.4rem\"\n width=\"calc(100% + 8px)\"\n >\n {information.map((info) => (\n <Flex gap={1} direction=\"column\" alignItems=\"flex-start\" key={info.label}>\n <Typography tag=\"dt\" variant=\"pi\" fontWeight=\"bold\">\n {info.label}\n </Typography>\n <Typography tag=\"dd\" variant=\"pi\" textColor=\"neutral600\">\n {info.value}\n </Typography>\n </Flex>\n ))}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderActions\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderActionsProps {\n actions: Array<HeaderActionDescription & { id: string }>;\n}\n\nconst HeaderActions = ({ actions }: HeaderActionsProps) => {\n const [dialogId, setDialogId] = React.useState<string | null>(null);\n\n const handleClick =\n (action: HeaderActionDescription & { id: string }) => async (e: React.MouseEvent) => {\n if (!('options' in action)) {\n const { onClick = () => false, dialog, id } = action;\n\n const muteDialog = await onClick(e);\n\n if (dialog && !muteDialog) {\n e.preventDefault();\n setDialogId(id);\n }\n }\n };\n\n const handleClose = () => {\n setDialogId(null);\n };\n\n return (\n <Flex gap={1}>\n {actions.map((action) => {\n if (action.options) {\n return (\n <SingleSelect\n key={action.id}\n size=\"S\"\n // @ts-expect-error – the DS will handle numbers, but we're not allowing the API.\n onChange={action.onSelect}\n aria-label={action.label}\n {...action}\n >\n {action.options.map(({ label, ...option }) => (\n <SingleSelectOption key={option.value} {...option}>\n {label}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n );\n } else {\n if (action.type === 'icon') {\n return (\n <React.Fragment key={action.id}>\n <IconButton\n disabled={action.disabled}\n label={action.label}\n size=\"S\"\n onClick={handleClick(action)}\n >\n {action.icon}\n </IconButton>\n {action.dialog ? (\n <HeaderActionDialog\n {...action.dialog}\n isOpen={dialogId === action.id}\n onClose={handleClose}\n />\n ) : null}\n </React.Fragment>\n );\n }\n }\n })}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderActionDialog\n * -----------------------------------------------------------------------------------------------*/\ninterface HeaderActionDialogProps {\n onClose: () => void;\n onCancel?: () => Promise<void>;\n title: string;\n content?: React.ReactNode | ((props: { onClose: () => void }) => React.ReactNode);\n isOpen: boolean;\n}\n\nconst HeaderActionDialog = ({\n onClose,\n onCancel,\n title,\n content: Content,\n isOpen,\n}: HeaderActionDialogProps) => {\n const handleClose = async () => {\n if (onCancel) {\n await onCancel();\n }\n\n onClose();\n };\n\n return (\n <Dialog.Root open={isOpen} onOpenChange={handleClose}>\n <Dialog.Content>\n <Dialog.Header>{title}</Dialog.Header>\n {typeof Content === 'function' ? <Content onClose={handleClose} /> : Content}\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DocumentActionComponents\n * -----------------------------------------------------------------------------------------------*/\n\nconst ConfigureTheViewAction: DocumentActionComponent = ({ collectionType, model }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n\n return {\n label: formatMessage({\n id: 'app.links.configure-view',\n defaultMessage: 'Configure the view',\n }),\n icon: <ListPlus />,\n onClick: () => {\n navigate(`../${collectionType}/${model}/configurations/edit`);\n },\n position: 'header',\n };\n};\n\nConfigureTheViewAction.type = 'configure-the-view';\nConfigureTheViewAction.position = 'header';\n\nconst EditTheModelAction: DocumentActionComponent = ({ model }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n\n return {\n label: formatMessage({\n id: 'content-manager.link-to-ctb',\n defaultMessage: 'Edit the model',\n }),\n icon: <Pencil />,\n onClick: () => {\n navigate(`/plugins/content-type-builder/content-types/${model}`);\n },\n position: 'header',\n };\n};\n\nEditTheModelAction.type = 'edit-the-model';\nEditTheModelAction.position = 'header';\n\nconst DeleteAction: DocumentActionComponent = ({ documentId, model, collectionType, document }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const listViewPathMatch = useMatch(LIST_PATH);\n const canDelete = useDocumentRBAC('DeleteAction', (state) => state.canDelete);\n const { delete: deleteAction, isLoading } = useDocumentActions();\n const { toggleNotification } = useNotification();\n const setSubmitting = useForm('DeleteAction', (state) => state.setSubmitting);\n const isLocalized = document?.locale != null;\n\n return {\n disabled: !canDelete || !document,\n label: formatMessage(\n {\n id: 'content-manager.actions.delete.label',\n defaultMessage: 'Delete entry{isLocalized, select, true { (all locales)} other {}}',\n },\n { isLocalized }\n ),\n icon: <Trash />,\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n content: (\n <Flex direction=\"column\" gap={2}>\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n <Typography tag=\"p\" variant=\"omega\" textAlign=\"center\">\n {formatMessage({\n id: 'content-manager.actions.delete.dialog.body',\n defaultMessage: 'Are you sure?',\n })}\n </Typography>\n </Flex>\n ),\n loading: isLoading,\n onConfirm: async () => {\n /**\n * If we have a match, we're in the list view\n * and therefore not in a form and shouldn't be\n * trying to set the submitting value.\n */\n if (!listViewPathMatch) {\n setSubmitting(true);\n }\n try {\n if (!documentId && collectionType !== SINGLE_TYPES) {\n console.error(\n \"You're trying to delete a document without an id, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.actions.delete.error',\n defaultMessage: 'An error occurred while trying to delete the document.',\n }),\n type: 'danger',\n });\n\n return;\n }\n\n const res = await deleteAction({\n documentId,\n model,\n collectionType,\n params: {\n locale: '*',\n },\n });\n\n if (!('error' in res)) {\n navigate({ pathname: `../${collectionType}/${model}` }, { replace: true });\n }\n } finally {\n if (!listViewPathMatch) {\n setSubmitting(false);\n }\n }\n },\n },\n variant: 'danger',\n position: ['header', 'table-row'],\n };\n};\n\nDeleteAction.type = 'delete';\nDeleteAction.position = ['header', 'table-row'];\n\nconst DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction];\n\nexport { Header, DEFAULT_HEADER_ACTIONS };\nexport type { HeaderProps, HeaderActionDescription };\n"],"names":["Header","isCreating","status","title","documentTitle","formatMessage","useIntl","isCloning","useMatch","CLONE_PATH","params","useParams","id","defaultMessage","_jsxs","Flex","direction","alignItems","paddingTop","paddingBottom","gap","_jsx","BackButton","fallback","collectionType","SINGLE_TYPES","undefined","COLLECTION_TYPES","slug","width","justifyContent","Typography","variant","tag","HeaderToolbar","Box","marginTop","DocumentStatus","query","useQueryParams","model","document","meta","useDoc","plugins","useStrapiApp","state","DescriptionComponentRenderer","props","activeTab","documentId","descriptions","apis","getHeaderActions","actions","length","HeaderActions","getDocumentActions","headerActions","filter","action","positions","Array","isArray","position","includes","DocumentActionsMenu","label","Information","createAndUpdateDocument","availableStatus","find","publishedAt","publishDocument","creator","CREATED_BY_ATTRIBUTE_NAME","getDisplayName","updator","UPDATED_BY_ATTRIBUTE_NAME","information","isDisplayed","PUBLISHED_AT_ATTRIBUTE_NAME","value","time","RelativeTime","timestamp","Date","isAnonymous","PUBLISHED_BY_ATTRIBUTE_NAME","author","UPDATED_AT_ATTRIBUTE_NAME","CREATED_AT_ATTRIBUTE_NAME","info","borderWidth","borderStyle","borderColor","padding","marginLeft","marginRight","map","fontWeight","textColor","dialogId","setDialogId","React","useState","handleClick","e","onClick","dialog","muteDialog","preventDefault","handleClose","options","SingleSelect","size","onChange","onSelect","aria-label","option","SingleSelectOption","type","Fragment","IconButton","disabled","icon","HeaderActionDialog","isOpen","onClose","onCancel","content","Content","Dialog","Root","open","onOpenChange","ConfigureTheViewAction","navigate","useNavigate","ListPlus","EditTheModelAction","Pencil","DeleteAction","listViewPathMatch","LIST_PATH","canDelete","useDocumentRBAC","delete","deleteAction","isLoading","useDocumentActions","toggleNotification","useNotification","setSubmitting","useForm","isLocalized","locale","Trash","WarningCircle","height","fill","textAlign","loading","onConfirm","console","error","message","res","pathname","replace","DEFAULT_HEADER_ACTIONS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDMA,MAAAA,MAAAA,GAAS,CAAC,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAAA,EAAOC,aAAgB,GAAA,UAAU,EAAe,GAAA;IACpF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAMC,SAAAA,GAAYC,wBAASC,iBAAgB,CAAA,KAAA,IAAA;AAC3C,IAAA,MAAMC,MAASC,GAAAA,wBAAAA,EAAAA;IAEf,MAAMR,KAAAA,GAAQF,aACVI,aAAc,CAAA;QACZO,EAAI,EAAA,2CAAA;QACJC,cAAgB,EAAA;KAElBT,CAAAA,GAAAA,aAAAA;AAEJ,IAAA,qBACEU,eAACC,CAAAA,iBAAAA,EAAAA;QAAKC,SAAU,EAAA,QAAA;QAASC,UAAW,EAAA,YAAA;QAAaC,UAAY,EAAA,CAAA;QAAGC,aAAe,EAAA,CAAA;QAAGC,GAAK,EAAA,CAAA;;0BACrFC,cAACC,CAAAA,sBAAAA,EAAAA;AACCC,gBAAAA,QAAAA,EACEb,MAAOc,CAAAA,cAAc,KAAKC,wBAAAA,GACtBC,YACA,CAAC,GAAG,EAAEC,4BAAAA,CAAiB,CAAC,EAAEjB,MAAOkB,CAAAA,IAAI,CAAC;;0BAG9Cd,eAACC,CAAAA,iBAAAA,EAAAA;gBAAKc,KAAM,EAAA,MAAA;gBAAOC,cAAe,EAAA,eAAA;gBAAgBV,GAAI,EAAA,MAAA;gBAAOH,UAAW,EAAA,YAAA;;kCACtEI,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWC,OAAQ,EAAA,OAAA;wBAAQC,GAAI,EAAA,IAAA;AAC7B9B,wBAAAA,QAAAA,EAAAA;;kCAEHkB,cAACa,CAAAA,aAAAA,EAAAA,EAAAA;;;AAEFhC,YAAAA,MAAAA,iBACCmB,cAACc,CAAAA,gBAAAA,EAAAA;gBAAIC,SAAW,EAAA,CAAA;AACd,gBAAA,QAAA,gBAAAf,cAACgB,CAAAA,6BAAAA,EAAAA;AAAenC,oBAAAA,MAAAA,EAAQK,YAAY,OAAUL,GAAAA;;AAE9C,aAAA,CAAA,GAAA;;;AAGV;AAgCA;;;AAGC,IACD,MAAMgC,aAAgB,GAAA,IAAA;IACpB,MAAM,EAAE7B,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAMC,SAAAA,GAAYC,wBAASC,iBAAgB,CAAA,KAAA,IAAA;IAC3C,MAAM,CACJ,EACE6B,KAAO,EAAA,EAAEpC,SAAS,OAAO,EAAE,EAC5B,CACF,GAAGqC,0BAAAA,EAAAA;IACJ,MAAM,EAAEC,KAAK,EAAE5B,EAAE,EAAE6B,QAAQ,EAAEC,IAAI,EAAElB,cAAc,EAAE,GAAGmB,kBAAAA,EAAAA;AACtD,IAAA,MAAMC,UAAUC,wBAAa,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAMF,OAAO,CAAA;AAEtE,IAAA,qBACE9B,eAACC,CAAAA,iBAAAA,EAAAA;QAAKK,GAAK,EAAA,CAAA;;0BACTC,cAAC0B,CAAAA,wCAAAA,EAAAA;gBACCC,KAAO,EAAA;oBACLC,SAAW/C,EAAAA,MAAAA;AACXsC,oBAAAA,KAAAA;oBACAU,UAAYtC,EAAAA,EAAAA;AACZ6B,oBAAAA,QAAAA,EAAUlC,YAAYmB,SAAYe,GAAAA,QAAAA;AAClCC,oBAAAA,IAAAA,EAAMnC,YAAYmB,SAAYgB,GAAAA,IAAAA;AAC9BlB,oBAAAA;AACF,iBAAA;AACA2B,gBAAAA,YAAAA,EAAc,OACL,CAAC,kBAAkB,CAACC,IAAI,CAC/BC,gBAAgB,EAAA;0BAEjB,CAACC,OAAAA,GAAAA;oBACA,IAAIA,OAAAA,CAAQC,MAAM,GAAG,CAAG,EAAA;AACtB,wBAAA,qBAAOlC,cAACmC,CAAAA,aAAAA,EAAAA;4BAAcF,OAASA,EAAAA;;qBAC1B,MAAA;wBACL,OAAO,IAAA;AACT;AACF;;0BAEFjC,cAAC0B,CAAAA,wCAAAA,EAAAA;gBACCC,KAAO,EAAA;oBACLC,SAAW/C,EAAAA,MAAAA;AACXsC,oBAAAA,KAAAA;oBACAU,UAAYtC,EAAAA,EAAAA;AACZ6B,oBAAAA,QAAAA,EAAUlC,YAAYmB,SAAYe,GAAAA,QAAAA;AAClCC,oBAAAA,IAAAA,EAAMnC,YAAYmB,SAAYgB,GAAAA,IAAAA;AAC9BlB,oBAAAA;AACF,iBAAA;gBACA2B,YAAc,EACZP,OAAO,CAAC,iBAAA,CAAkB,CAACQ,IAAI,CAC/BK,kBAAkB,CAAC,QAAA,CAAA;0BAEpB,CAACH,OAAAA,GAAAA;AACA,oBAAA,MAAMI,aAAgBJ,GAAAA,OAAAA,CAAQK,MAAM,CAAC,CAACC,MAAAA,GAAAA;wBACpC,MAAMC,SAAAA,GAAYC,MAAMC,OAAO,CAACH,OAAOI,QAAQ,CAAA,GAAIJ,MAAOI,CAAAA,QAAQ,GAAG;AAACJ,4BAAAA,MAAAA,CAAOI;AAAS,yBAAA;wBACtF,OAAOH,SAAAA,CAAUI,QAAQ,CAAC,QAAA,CAAA;AAC5B,qBAAA,CAAA;AAEA,oBAAA,qBACE5C,cAAC6C,CAAAA,mCAAAA,EAAAA;wBACCZ,OAASI,EAAAA,aAAAA;AACTS,wBAAAA,KAAAA,EAAO9D,aAAc,CAAA;4BACnBO,EAAI,EAAA,qDAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA,CAAA;AAEA,wBAAA,QAAA,gBAAAQ,cAAC+C,CAAAA,WAAAA,EAAAA;4BAAYnB,SAAW/C,EAAAA;;;AAG9B;;;;AAIR,CAAA;AAMA,MAAMkE,WAAc,GAAA,CAAC,EAAEnB,SAAS,EAAoB,GAAA;IAClD,MAAM,EAAE5C,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEmC,QAAQ,EAAEC,IAAI,EAAE,GAAGC,kBAAAA,EAAAA;AAE3B,IAAA,IAAI,CAACF,QAAAA,IAAY,CAACA,QAAAA,CAAS7B,EAAE,EAAE;QAC7B,OAAO,IAAA;AACT;AAEA;;;;;;;;;AASC,MAED,MAAMyD,uBAAAA,GACJpB,SAAc,KAAA,OAAA,GACVR,QACAC,GAAAA,IAAAA,EAAM4B,eAAgBC,CAAAA,IAAAA,CAAK,CAACrE,MAAAA,GAAWA,MAAOsE,CAAAA,WAAW,KAAK,IAAA,CAAA;IAEpE,MAAMC,eAAAA,GACJxB,SAAc,KAAA,WAAA,GACVR,QACAC,GAAAA,IAAAA,EAAM4B,eAAgBC,CAAAA,IAAAA,CAAK,CAACrE,MAAAA,GAAWA,MAAOsE,CAAAA,WAAW,KAAK,IAAA,CAAA;IAEpE,MAAME,OAAAA,GAAUL,0BAA0BM,oCAAAA,CAA0B,GAChEC,oBAAeP,CAAAA,uBAAuB,CAACM,oCAAAA,CAA0B,CACjE,GAAA,IAAA;IAEJ,MAAME,OAAAA,GAAUR,0BAA0BS,oCAAAA,CAA0B,GAChEF,oBAAeP,CAAAA,uBAAuB,CAACS,oCAAAA,CAA0B,CACjE,GAAA,IAAA;AAEJ,IAAA,MAAMC,WAAuF,GAAA;AAC3F,QAAA;AACEC,YAAAA,WAAAA,EAAa,CAAC,CAACP,eAAiB,GAACQ,sCAA4B,CAAA;AAC7Dd,YAAAA,KAAAA,EAAO9D,aAAc,CAAA;gBACnBO,EAAI,EAAA,kEAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACAqE,YAAAA,KAAAA,EAAO7E,aACL,CAAA;gBACEO,EAAI,EAAA,kEAAA;gBACJC,cAAgB,EAAA,CAAC,yDAAyD;aAE5E,EAAA;AACEsE,gBAAAA,IAAAA,gBACE9D,cAAC+D,CAAAA,yBAAAA,EAAAA;AAAaC,oBAAAA,SAAAA,EAAW,IAAIC,IAAAA,CAAKb,eAAiB,GAACQ,sCAA4B,CAAA;;gBAElFM,WAAa,EAAA,CAACd,eAAiB,GAACe,sCAA4B,CAAA;gBAC5DC,MAAQhB,EAAAA,eAAAA,GAAkBe,sCAA4B,CAAA,GAClDZ,qBAAeH,eAAiB,GAACe,uCAA4B,CAC7D,GAAA;AACN,aAAA;AAEJ,SAAA;AACA,QAAA;AACER,YAAAA,WAAAA,EAAa,CAAC,CAACX,uBAAyB,GAACqB,oCAA0B,CAAA;AACnEvB,YAAAA,KAAAA,EAAO9D,aAAc,CAAA;gBACnBO,EAAI,EAAA,8DAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACAqE,YAAAA,KAAAA,EAAO7E,aACL,CAAA;gBACEO,EAAI,EAAA,8DAAA;gBACJC,cAAgB,EAAA,CAAC,yDAAyD;aAE5E,EAAA;AACEsE,gBAAAA,IAAAA,gBACE9D,cAAC+D,CAAAA,yBAAAA,EAAAA;AACCC,oBAAAA,SAAAA,EAAW,IAAIC,IAAAA,CAAKjB,uBAAyB,GAACqB,oCAA0B,CAAA;;AAG5EH,gBAAAA,WAAAA,EAAa,CAACV,OAAAA;gBACdY,MAAQZ,EAAAA;AACV,aAAA;AAEJ,SAAA;AACA,QAAA;AACEG,YAAAA,WAAAA,EAAa,CAAC,CAACX,uBAAyB,GAACsB,oCAA0B,CAAA;AACnExB,YAAAA,KAAAA,EAAO9D,aAAc,CAAA;gBACnBO,EAAI,EAAA,4DAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACAqE,YAAAA,KAAAA,EAAO7E,aACL,CAAA;gBACEO,EAAI,EAAA,4DAAA;gBACJC,cAAgB,EAAA,CAAC,yDAAyD;aAE5E,EAAA;AACEsE,gBAAAA,IAAAA,gBACE9D,cAAC+D,CAAAA,yBAAAA,EAAAA;AACCC,oBAAAA,SAAAA,EAAW,IAAIC,IAAAA,CAAKjB,uBAAyB,GAACsB,oCAA0B,CAAA;;AAG5EJ,gBAAAA,WAAAA,EAAa,CAACb,OAAAA;gBACde,MAAQf,EAAAA;AACV,aAAA;AAEJ;AACD,KAAA,CAACf,MAAM,CAAC,CAACiC,IAAAA,GAASA,KAAKZ,WAAW,CAAA;AAEnC,IAAA,qBACE3D,cAACN,CAAAA,iBAAAA,EAAAA;QACC8E,WAAY,EAAA,WAAA;QACZC,WAAY,EAAA,OAAA;QACZC,WAAY,EAAA,YAAA;QACZ/E,SAAU,EAAA,QAAA;QACVoB,SAAW,EAAA,CAAA;QACXH,GAAI,EAAA,IAAA;QACJ+D,OAAS,EAAA,CAAA;QACT5E,GAAK,EAAA,CAAA;QACLH,UAAW,EAAA,YAAA;AACX;;;AAGC,UACDgF,UAAW,EAAA,SAAA;QACXC,WAAY,EAAA,SAAA;QACZrE,KAAM,EAAA,kBAAA;AAELkD,QAAAA,QAAAA,EAAAA,WAAAA,CAAYoB,GAAG,CAAC,CAACP,IAAAA,iBAChB9E,eAACC,CAAAA,iBAAAA,EAAAA;gBAAKK,GAAK,EAAA,CAAA;gBAAGJ,SAAU,EAAA,QAAA;gBAASC,UAAW,EAAA,YAAA;;kCAC1CI,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWE,GAAI,EAAA,IAAA;wBAAKD,OAAQ,EAAA,IAAA;wBAAKoE,UAAW,EAAA,MAAA;AAC1CR,wBAAAA,QAAAA,EAAAA,IAAAA,CAAKzB;;kCAER9C,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWE,GAAI,EAAA,IAAA;wBAAKD,OAAQ,EAAA,IAAA;wBAAKqE,SAAU,EAAA,YAAA;AACzCT,wBAAAA,QAAAA,EAAAA,IAAAA,CAAKV;;;AALoDU,aAAAA,EAAAA,IAAAA,CAAKzB,KAAK,CAAA;;AAWhF,CAAA;AAUA,MAAMX,aAAgB,GAAA,CAAC,EAAEF,OAAO,EAAsB,GAAA;AACpD,IAAA,MAAM,CAACgD,QAAUC,EAAAA,WAAAA,CAAY,GAAGC,gBAAAA,CAAMC,QAAQ,CAAgB,IAAA,CAAA;IAE9D,MAAMC,WAAAA,GACJ,CAAC9C,MAAAA,GAAqD,OAAO+C,CAAAA,GAAAA;AAC3D,YAAA,IAAI,EAAE,SAAa/C,IAAAA,MAAK,CAAI,EAAA;gBAC1B,MAAM,EAAEgD,UAAU,IAAM,KAAK,EAAEC,MAAM,EAAEjG,EAAE,EAAE,GAAGgD,MAAAA;gBAE9C,MAAMkD,UAAAA,GAAa,MAAMF,OAAQD,CAAAA,CAAAA,CAAAA;gBAEjC,IAAIE,MAAAA,IAAU,CAACC,UAAY,EAAA;AACzBH,oBAAAA,CAAAA,CAAEI,cAAc,EAAA;oBAChBR,WAAY3F,CAAAA,EAAAA,CAAAA;AACd;AACF;AACF,SAAA;AAEF,IAAA,MAAMoG,WAAc,GAAA,IAAA;QAClBT,WAAY,CAAA,IAAA,CAAA;AACd,KAAA;AAEA,IAAA,qBACElF,cAACN,CAAAA,iBAAAA,EAAAA;QAAKK,GAAK,EAAA,CAAA;kBACRkC,OAAQ6C,CAAAA,GAAG,CAAC,CAACvC,MAAAA,GAAAA;YACZ,IAAIA,MAAAA,CAAOqD,OAAO,EAAE;AAClB,gBAAA,qBACE5F,cAAC6F,CAAAA,yBAAAA,EAAAA;oBAECC,IAAK,EAAA,GAAA;;AAELC,oBAAAA,QAAAA,EAAUxD,OAAOyD,QAAQ;AACzBC,oBAAAA,YAAAA,EAAY1D,OAAOO,KAAK;AACvB,oBAAA,GAAGP,MAAM;8BAETA,MAAOqD,CAAAA,OAAO,CAACd,GAAG,CAAC,CAAC,EAAEhC,KAAK,EAAE,GAAGoD,MAAQ,EAAA,iBACvClG,cAACmG,CAAAA,+BAAAA,EAAAA;AAAuC,4BAAA,GAAGD,MAAM;AAC9CpD,4BAAAA,QAAAA,EAAAA;AADsBoD,yBAAAA,EAAAA,MAAAA,CAAOrC,KAAK,CAAA;AARlCtB,iBAAAA,EAAAA,MAAAA,CAAOhD,EAAE,CAAA;aAcb,MAAA;gBACL,IAAIgD,MAAAA,CAAO6D,IAAI,KAAK,MAAQ,EAAA;oBAC1B,qBACE3G,eAAA,CAAC0F,iBAAMkB,QAAQ,EAAA;;0CACbrG,cAACsG,CAAAA,uBAAAA,EAAAA;AACCC,gCAAAA,QAAAA,EAAUhE,OAAOgE,QAAQ;AACzBzD,gCAAAA,KAAAA,EAAOP,OAAOO,KAAK;gCACnBgD,IAAK,EAAA,GAAA;AACLP,gCAAAA,OAAAA,EAASF,WAAY9C,CAAAA,MAAAA,CAAAA;AAEpBA,gCAAAA,QAAAA,EAAAA,MAAAA,CAAOiE;;4BAETjE,MAAOiD,CAAAA,MAAM,iBACZxF,cAACyG,CAAAA,kBAAAA,EAAAA;AACE,gCAAA,GAAGlE,OAAOiD,MAAM;gCACjBkB,MAAQzB,EAAAA,QAAAA,KAAa1C,OAAOhD,EAAE;gCAC9BoH,OAAShB,EAAAA;AAET,6BAAA,CAAA,GAAA;;AAfepD,qBAAAA,EAAAA,MAAAA,CAAOhD,EAAE,CAAA;AAkBlC;AACF;AACF,SAAA;;AAGN,CAAA;AAaA,MAAMkH,kBAAqB,GAAA,CAAC,EAC1BE,OAAO,EACPC,QAAQ,EACR9H,KAAK,EACL+H,OAAAA,EAASC,OAAO,EAChBJ,MAAM,EACkB,GAAA;AACxB,IAAA,MAAMf,WAAc,GAAA,UAAA;AAClB,QAAA,IAAIiB,QAAU,EAAA;YACZ,MAAMA,QAAAA,EAAAA;AACR;AAEAD,QAAAA,OAAAA,EAAAA;AACF,KAAA;IAEA,qBACE3G,cAAA,CAAC+G,oBAAOC,IAAI,EAAA;QAACC,IAAMP,EAAAA,MAAAA;QAAQQ,YAAcvB,EAAAA,WAAAA;gCACvClG,eAAA,CAACsH,oBAAOD,OAAO,EAAA;;AACb,8BAAA9G,cAAA,CAAC+G,oBAAOpI,MAAM,EAAA;AAAEG,oBAAAA,QAAAA,EAAAA;;gBACf,OAAOgI,OAAAA,KAAY,2BAAa9G,cAAC8G,CAAAA,OAAAA,EAAAA;oBAAQH,OAAShB,EAAAA;AAAkBmB,iBAAAA,CAAAA,GAAAA;;;;AAI7E,CAAA;AAEA;;AAEkG,qGAElG,MAAMK,sBAAkD,GAAA,CAAC,EAAEhH,cAAc,EAAEgB,KAAK,EAAE,GAAA;AAChF,IAAA,MAAMiG,QAAWC,GAAAA,0BAAAA,EAAAA;IACjB,MAAM,EAAErI,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,OAAO;AACL6D,QAAAA,KAAAA,EAAO9D,aAAc,CAAA;YACnBO,EAAI,EAAA,0BAAA;YACJC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACAgH,QAAAA,IAAAA,gBAAMxG,cAACsH,CAAAA,cAAAA,EAAAA,EAAAA,CAAAA;QACP/B,OAAS,EAAA,IAAA;YACP6B,QAAS,CAAA,CAAC,GAAG,EAAEjH,cAAAA,CAAe,CAAC,EAAEgB,KAAAA,CAAM,oBAAoB,CAAC,CAAA;AAC9D,SAAA;QACAwB,QAAU,EAAA;AACZ,KAAA;AACF,CAAA;AAEAwE,sBAAAA,CAAuBf,IAAI,GAAG,oBAAA;AAC9Be,sBAAAA,CAAuBxE,QAAQ,GAAG,QAAA;AAElC,MAAM4E,kBAA8C,GAAA,CAAC,EAAEpG,KAAK,EAAE,GAAA;AAC5D,IAAA,MAAMiG,QAAWC,GAAAA,0BAAAA,EAAAA;IACjB,MAAM,EAAErI,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,OAAO;AACL6D,QAAAA,KAAAA,EAAO9D,aAAc,CAAA;YACnBO,EAAI,EAAA,6BAAA;YACJC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACAgH,QAAAA,IAAAA,gBAAMxG,cAACwH,CAAAA,YAAAA,EAAAA,EAAAA,CAAAA;QACPjC,OAAS,EAAA,IAAA;AACP6B,YAAAA,QAAAA,CAAS,CAAC,4CAA4C,EAAEjG,KAAAA,CAAM,CAAC,CAAA;AACjE,SAAA;QACAwB,QAAU,EAAA;AACZ,KAAA;AACF,CAAA;AAEA4E,kBAAAA,CAAmBnB,IAAI,GAAG,gBAAA;AAC1BmB,kBAAAA,CAAmB5E,QAAQ,GAAG,QAAA;AAE9B,MAAM8E,YAAAA,GAAwC,CAAC,EAAE5F,UAAU,EAAEV,KAAK,EAAEhB,cAAc,EAAEiB,QAAQ,EAAE,GAAA;AAC5F,IAAA,MAAMgG,QAAWC,GAAAA,0BAAAA,EAAAA;IACjB,MAAM,EAAErI,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMyI,oBAAoBvI,uBAASwI,CAAAA,gBAAAA,CAAAA;AACnC,IAAA,MAAMC,YAAYC,4BAAgB,CAAA,cAAA,EAAgB,CAACpG,KAAAA,GAAUA,MAAMmG,SAAS,CAAA;AAC5E,IAAA,MAAM,EAAEE,MAAQC,EAAAA,YAAY,EAAEC,SAAS,EAAE,GAAGC,qCAAAA,EAAAA;IAC5C,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;AAC/B,IAAA,MAAMC,gBAAgBC,mBAAQ,CAAA,cAAA,EAAgB,CAAC5G,KAAAA,GAAUA,MAAM2G,aAAa,CAAA;IAC5E,MAAME,WAAAA,GAAclH,UAAUmH,MAAU,IAAA,IAAA;IAExC,OAAO;QACLhC,QAAU,EAAA,CAACqB,aAAa,CAACxG,QAAAA;AACzB0B,QAAAA,KAAAA,EAAO9D,aACL,CAAA;YACEO,EAAI,EAAA,sCAAA;YACJC,cAAgB,EAAA;SAElB,EAAA;AAAE8I,YAAAA;AAAY,SAAA,CAAA;AAEhB9B,QAAAA,IAAAA,gBAAMxG,cAACwI,CAAAA,WAAAA,EAAAA,EAAAA,CAAAA;QACPhD,MAAQ,EAAA;YACNY,IAAM,EAAA,QAAA;AACNtH,YAAAA,KAAAA,EAAOE,aAAc,CAAA;gBACnBO,EAAI,EAAA,oCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACAqH,YAAAA,OAAAA,gBACEpH,eAACC,CAAAA,iBAAAA,EAAAA;gBAAKC,SAAU,EAAA,QAAA;gBAASI,GAAK,EAAA,CAAA;;kCAC5BC,cAACyI,CAAAA,mBAAAA,EAAAA;wBAAcjI,KAAM,EAAA,MAAA;wBAAOkI,MAAO,EAAA,MAAA;wBAAOC,IAAK,EAAA;;kCAC/C3I,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWE,GAAI,EAAA,GAAA;wBAAID,OAAQ,EAAA,OAAA;wBAAQiI,SAAU,EAAA,QAAA;kCAC3C5J,aAAc,CAAA;4BACbO,EAAI,EAAA,4CAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;;;YAINqJ,OAASb,EAAAA,SAAAA;YACTc,SAAW,EAAA,UAAA;AACT;;;;YAKA,IAAI,CAACpB,iBAAmB,EAAA;oBACtBU,aAAc,CAAA,IAAA,CAAA;AAChB;gBACA,IAAI;oBACF,IAAI,CAACvG,UAAc1B,IAAAA,cAAAA,KAAmBC,wBAAc,EAAA;AAClD2I,wBAAAA,OAAAA,CAAQC,KAAK,CACX,2GAAA,CAAA;wBAGFd,kBAAmB,CAAA;AACjBe,4BAAAA,OAAAA,EAASjK,aAAc,CAAA;gCACrBO,EAAI,EAAA,sCAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA,CAAA;4BACA4G,IAAM,EAAA;AACR,yBAAA,CAAA;AAEA,wBAAA;AACF;oBAEA,MAAM8C,GAAAA,GAAM,MAAMnB,YAAa,CAAA;AAC7BlG,wBAAAA,UAAAA;AACAV,wBAAAA,KAAAA;AACAhB,wBAAAA,cAAAA;wBACAd,MAAQ,EAAA;4BACNkJ,MAAQ,EAAA;AACV;AACF,qBAAA,CAAA;AAEA,oBAAA,IAAI,EAAE,OAAWW,IAAAA,GAAE,CAAI,EAAA;wBACrB9B,QAAS,CAAA;AAAE+B,4BAAAA,QAAAA,EAAU,CAAC,GAAG,EAAEhJ,eAAe,CAAC,EAAEgB,MAAM;yBAAK,EAAA;4BAAEiI,OAAS,EAAA;AAAK,yBAAA,CAAA;AAC1E;iBACQ,QAAA;AACR,oBAAA,IAAI,CAAC1B,iBAAmB,EAAA;wBACtBU,aAAc,CAAA,KAAA,CAAA;AAChB;AACF;AACF;AACF,SAAA;QACAzH,OAAS,EAAA,QAAA;QACTgC,QAAU,EAAA;AAAC,YAAA,QAAA;AAAU,YAAA;AAAY;AACnC,KAAA;AACF,CAAA;AAEA8E,YAAAA,CAAarB,IAAI,GAAG,QAAA;AACpBqB,YAAAA,CAAa9E,QAAQ,GAAG;AAAC,IAAA,QAAA;AAAU,IAAA;AAAY,CAAA;AAE/C,MAAM0G,sBAAyB,GAAA;AAAC9B,IAAAA,kBAAAA;AAAoBJ,IAAAA,sBAAAA;AAAwBM,IAAAA;AAAa;;;;;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../admin/src/pages/EditView/components/Header.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n DescriptionComponentRenderer,\n useForm,\n BackButton,\n useNotification,\n useStrapiApp,\n useQueryParams,\n useIsDesktop,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n SingleSelect,\n SingleSelectOption,\n Typography,\n IconButton,\n Dialog,\n} from '@strapi/design-system';\nimport { ListPlus, Pencil, Trash, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useMatch, useNavigate, useParams } from 'react-router-dom';\n\nimport { RelativeTime } from '../../../components/RelativeTime';\nimport {\n CREATED_AT_ATTRIBUTE_NAME,\n CREATED_BY_ATTRIBUTE_NAME,\n PUBLISHED_AT_ATTRIBUTE_NAME,\n PUBLISHED_BY_ATTRIBUTE_NAME,\n UPDATED_AT_ATTRIBUTE_NAME,\n UPDATED_BY_ATTRIBUTE_NAME,\n} from '../../../constants/attributes';\nimport { COLLECTION_TYPES, SINGLE_TYPES } from '../../../constants/collections';\nimport { useDocumentRBAC } from '../../../features/DocumentRBAC';\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useDocumentActions } from '../../../hooks/useDocumentActions';\nimport { CLONE_PATH, LIST_PATH } from '../../../router';\nimport { getDisplayName } from '../../../utils/users';\n\nimport { DocumentActionsMenu } from './DocumentActions';\nimport { DocumentStatus } from './DocumentStatus';\n\nimport type { ContentManagerPlugin, DocumentActionComponent } from '../../../content-manager';\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n isCreating?: boolean;\n status?: 'draft' | 'published' | 'modified';\n title?: string;\n}\n\nconst Header = ({ isCreating, status, title: documentTitle = 'Untitled' }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const isCloning = useMatch(CLONE_PATH) !== null;\n const params = useParams<{ collectionType: string; slug: string }>();\n\n const title = isCreating\n ? formatMessage({\n id: 'content-manager.containers.edit.title.new',\n defaultMessage: 'Create an entry',\n })\n : documentTitle;\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n paddingTop={{\n initial: 4,\n large: 6,\n }}\n paddingBottom={{\n initial: 0,\n large: 4,\n }}\n gap={2}\n >\n <BackButton\n fallback={\n params.collectionType === SINGLE_TYPES\n ? undefined\n : `../${COLLECTION_TYPES}/${params.slug}`\n }\n />\n <Flex\n width=\"100%\"\n justifyContent=\"space-between\"\n gap={{\n initial: 2,\n medium: '8rem',\n }}\n alignItems=\"flex-start\"\n direction={{\n initial: 'column',\n medium: 'row',\n }}\n >\n <Typography variant=\"alpha\" tag=\"h1\">\n {title}\n </Typography>\n <HeaderToolbar />\n </Flex>\n {status ? (\n <Box marginTop={1}>\n <DocumentStatus status={isCloning ? 'draft' : status} />\n </Box>\n ) : null}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderToolbar\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DialogOptions {\n type: 'dialog';\n title: string;\n content?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\ninterface HeaderActionDescription {\n disabled?: boolean;\n label: string;\n icon?: React.ReactNode;\n type?: 'icon' | 'default';\n onClick?: (event: React.SyntheticEvent) => Promise<boolean | void> | boolean | void;\n dialog?: DialogOptions;\n options?: Array<{\n disabled?: boolean;\n label: string;\n startIcon?: React.ReactNode;\n textValue?: string;\n value: string;\n }>;\n onSelect?: (value: string) => void;\n value?: string;\n customizeContent?: (value: string) => React.ReactNode;\n}\n\n/**\n * @description Contains the document actions that have `position: header`, if there are\n * none we still render the menu because we render the information about the document there.\n */\nconst HeaderToolbar = () => {\n const { formatMessage } = useIntl();\n const isCloning = useMatch(CLONE_PATH) !== null;\n const [\n {\n query: { status = 'draft' },\n },\n ] = useQueryParams<{ status: 'draft' | 'published' }>();\n const { model, id, document, meta, collectionType } = useDoc();\n const plugins = useStrapiApp('HeaderToolbar', (state) => state.plugins);\n\n return (\n <Flex gap={2}>\n <DescriptionComponentRenderer\n props={{\n activeTab: status,\n model,\n documentId: id,\n document: isCloning ? undefined : document,\n meta: isCloning ? undefined : meta,\n collectionType,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getHeaderActions()}\n >\n {(actions) => {\n if (actions.length > 0) {\n return <HeaderActions actions={actions} />;\n } else {\n return null;\n }\n }}\n </DescriptionComponentRenderer>\n <DescriptionComponentRenderer\n props={{\n activeTab: status,\n model,\n documentId: id,\n document: isCloning ? undefined : document,\n meta: isCloning ? undefined : meta,\n collectionType,\n }}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getDocumentActions('header')}\n >\n {(actions) => {\n const headerActions = actions.filter((action) => {\n const positions = Array.isArray(action.position) ? action.position : [action.position];\n return positions.includes('header');\n });\n\n return (\n <DocumentActionsMenu\n actions={headerActions}\n label={formatMessage({\n id: 'content-manager.containers.edit.header.more-actions',\n defaultMessage: 'More actions',\n })}\n >\n <Information activeTab={status} />\n </DocumentActionsMenu>\n );\n }}\n </DescriptionComponentRenderer>\n </Flex>\n );\n};\n\ninterface InformationProps {\n activeTab: 'draft' | 'published';\n}\n\nconst Information = ({ activeTab }: InformationProps) => {\n const { formatMessage } = useIntl();\n const { document, meta } = useDoc();\n\n if (!document || !document.id) {\n return null;\n }\n\n /**\n * Because in the backend separate entries are made for draft and published\n * documents, the creator fields are different for each of them. For example,\n * you could make your draft in January and then publish it for the first time\n * in Feb. This would make the createdAt value for the published entry in Feb\n * but really we want to show the document as a whole. The draft entry will also\n * never have the publishedAt values.\n *\n * So, we decipher which document to show the creator for based on the activeTab.\n */\n\n const createAndUpdateDocument =\n activeTab === 'draft'\n ? document\n : meta?.availableStatus.find((status) => status.publishedAt === null);\n\n const publishDocument =\n activeTab === 'published'\n ? document\n : meta?.availableStatus.find((status) => status.publishedAt !== null);\n\n const creator = createAndUpdateDocument?.[CREATED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(createAndUpdateDocument[CREATED_BY_ATTRIBUTE_NAME])\n : null;\n\n const updator = createAndUpdateDocument?.[UPDATED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(createAndUpdateDocument[UPDATED_BY_ATTRIBUTE_NAME])\n : null;\n\n const information: Array<{ isDisplayed?: boolean; label: string; value: React.ReactNode }> = [\n {\n isDisplayed: !!publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.last-published.label',\n defaultMessage: 'Published',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.last-published.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime timestamp={new Date(publishDocument?.[PUBLISHED_AT_ATTRIBUTE_NAME])} />\n ),\n isAnonymous: !publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME],\n author: publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME]\n ? getDisplayName(publishDocument?.[PUBLISHED_BY_ATTRIBUTE_NAME])\n : null,\n }\n ),\n },\n {\n isDisplayed: !!createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.last-draft.label',\n defaultMessage: 'Updated',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.last-draft.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime\n timestamp={new Date(createAndUpdateDocument?.[UPDATED_AT_ATTRIBUTE_NAME])}\n />\n ),\n isAnonymous: !updator,\n author: updator,\n }\n ),\n },\n {\n isDisplayed: !!createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME],\n label: formatMessage({\n id: 'content-manager.containers.edit.information.document.label',\n defaultMessage: 'Created',\n }),\n value: formatMessage(\n {\n id: 'content-manager.containers.edit.information.document.value',\n defaultMessage: `{time}{isAnonymous, select, true {} other { by {author}}}`,\n },\n {\n time: (\n <RelativeTime\n timestamp={new Date(createAndUpdateDocument?.[CREATED_AT_ATTRIBUTE_NAME])}\n />\n ),\n isAnonymous: !creator,\n author: creator,\n }\n ),\n },\n ].filter((info) => info.isDisplayed);\n\n return (\n <Flex\n borderWidth=\"1px 0 0 0\"\n borderStyle=\"solid\"\n borderColor=\"neutral150\"\n direction=\"column\"\n marginTop={2}\n tag=\"dl\"\n padding={5}\n gap={3}\n alignItems=\"flex-start\"\n /**\n * The menu content has a padding of 4px, but we want our divider (the border top applied) to\n * be flush with the menu content. So we need to adjust the margin & width to account for the padding.\n */\n marginLeft=\"-0.4rem\"\n marginRight=\"-0.4rem\"\n width=\"calc(100% + 8px)\"\n >\n {information.map((info) => (\n <Flex gap={1} direction=\"column\" alignItems=\"flex-start\" key={info.label}>\n <Typography tag=\"dt\" variant=\"pi\" fontWeight=\"bold\">\n {info.label}\n </Typography>\n <Typography tag=\"dd\" variant=\"pi\" textColor=\"neutral600\">\n {info.value}\n </Typography>\n </Flex>\n ))}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderActions\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderActionsProps {\n actions: Array<HeaderActionDescription & { id: string }>;\n}\n\nconst HeaderActions = ({ actions }: HeaderActionsProps) => {\n const [dialogId, setDialogId] = React.useState<string | null>(null);\n\n const handleClick =\n (action: HeaderActionDescription & { id: string }) => async (e: React.MouseEvent) => {\n if (!('options' in action)) {\n const { onClick = () => false, dialog, id } = action;\n\n const muteDialog = await onClick(e);\n\n if (dialog && !muteDialog) {\n e.preventDefault();\n setDialogId(id);\n }\n }\n };\n\n const handleClose = () => {\n setDialogId(null);\n };\n\n return (\n <Flex gap={1}>\n {actions.map((action) => {\n if (action.options) {\n return (\n <SingleSelect\n key={action.id}\n size=\"S\"\n // @ts-expect-error – the DS will handle numbers, but we're not allowing the API.\n onChange={action.onSelect}\n aria-label={action.label}\n {...action}\n >\n {action.options.map(({ label, ...option }) => (\n <SingleSelectOption key={option.value} {...option}>\n {label}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n );\n } else {\n if (action.type === 'icon') {\n return (\n <React.Fragment key={action.id}>\n <IconButton\n disabled={action.disabled}\n label={action.label}\n size=\"S\"\n onClick={handleClick(action)}\n >\n {action.icon}\n </IconButton>\n {action.dialog ? (\n <HeaderActionDialog\n {...action.dialog}\n isOpen={dialogId === action.id}\n onClose={handleClose}\n />\n ) : null}\n </React.Fragment>\n );\n }\n }\n })}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderActionDialog\n * -----------------------------------------------------------------------------------------------*/\ninterface HeaderActionDialogProps {\n onClose: () => void;\n onCancel?: () => Promise<void>;\n title: string;\n content?: React.ReactNode | ((props: { onClose: () => void }) => React.ReactNode);\n isOpen: boolean;\n}\n\nconst HeaderActionDialog = ({\n onClose,\n onCancel,\n title,\n content: Content,\n isOpen,\n}: HeaderActionDialogProps) => {\n const handleClose = async () => {\n if (onCancel) {\n await onCancel();\n }\n\n onClose();\n };\n\n return (\n <Dialog.Root open={isOpen} onOpenChange={handleClose}>\n <Dialog.Content>\n <Dialog.Header>{title}</Dialog.Header>\n {typeof Content === 'function' ? <Content onClose={handleClose} /> : Content}\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DocumentActionComponents\n * -----------------------------------------------------------------------------------------------*/\n\nconst ConfigureTheViewAction: DocumentActionComponent = ({ collectionType, model }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n return isDesktop\n ? {\n label: formatMessage({\n id: 'app.links.configure-view',\n defaultMessage: 'Configure the view',\n }),\n icon: <ListPlus />,\n onClick: () => {\n navigate(`../${collectionType}/${model}/configurations/edit`);\n },\n position: 'header',\n }\n : null;\n};\n\nConfigureTheViewAction.type = 'configure-the-view';\nConfigureTheViewAction.position = 'header';\n\nconst EditTheModelAction: DocumentActionComponent = ({ model }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const isDesktop = useIsDesktop();\n\n return isDesktop\n ? {\n label: formatMessage({\n id: 'content-manager.link-to-ctb',\n defaultMessage: 'Edit the model',\n }),\n icon: <Pencil />,\n onClick: () => {\n navigate(`/plugins/content-type-builder/content-types/${model}`);\n },\n position: 'header',\n }\n : null;\n};\n\nEditTheModelAction.type = 'edit-the-model';\nEditTheModelAction.position = 'header';\n\nconst DeleteAction: DocumentActionComponent = ({ documentId, model, collectionType, document }) => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const listViewPathMatch = useMatch(LIST_PATH);\n const canDelete = useDocumentRBAC('DeleteAction', (state) => state.canDelete);\n const { delete: deleteAction, isLoading } = useDocumentActions();\n const { toggleNotification } = useNotification();\n const setSubmitting = useForm('DeleteAction', (state) => state.setSubmitting);\n const isLocalized = document?.locale != null;\n\n return {\n disabled: !canDelete || !document,\n label: formatMessage(\n {\n id: 'content-manager.actions.delete.label',\n defaultMessage: 'Delete entry{isLocalized, select, true { (all locales)} other {}}',\n },\n { isLocalized }\n ),\n icon: <Trash />,\n dialog: {\n type: 'dialog',\n title: formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n }),\n content: (\n <Flex direction=\"column\" gap={2}>\n <WarningCircle width=\"24px\" height=\"24px\" fill=\"danger600\" />\n <Typography tag=\"p\" variant=\"omega\" textAlign=\"center\">\n {formatMessage({\n id: 'content-manager.actions.delete.dialog.body',\n defaultMessage: 'Are you sure?',\n })}\n </Typography>\n </Flex>\n ),\n loading: isLoading,\n onConfirm: async () => {\n /**\n * If we have a match, we're in the list view\n * and therefore not in a form and shouldn't be\n * trying to set the submitting value.\n */\n if (!listViewPathMatch) {\n setSubmitting(true);\n }\n try {\n if (!documentId && collectionType !== SINGLE_TYPES) {\n console.error(\n \"You're trying to delete a document without an id, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.actions.delete.error',\n defaultMessage: 'An error occurred while trying to delete the document.',\n }),\n type: 'danger',\n });\n\n return;\n }\n\n const res = await deleteAction({\n documentId,\n model,\n collectionType,\n params: {\n locale: '*',\n },\n });\n\n if (!('error' in res)) {\n navigate({ pathname: `../${collectionType}/${model}` }, { replace: true });\n }\n } finally {\n if (!listViewPathMatch) {\n setSubmitting(false);\n }\n }\n },\n },\n variant: 'danger',\n position: ['header', 'table-row'],\n };\n};\n\nDeleteAction.type = 'delete';\nDeleteAction.position = ['header', 'table-row'];\n\nconst DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction];\n\nexport { Header, DEFAULT_HEADER_ACTIONS };\nexport type { HeaderProps, HeaderActionDescription };\n"],"names":["Header","isCreating","status","title","documentTitle","formatMessage","useIntl","isCloning","useMatch","CLONE_PATH","params","useParams","id","defaultMessage","_jsxs","Flex","direction","alignItems","paddingTop","initial","large","paddingBottom","gap","_jsx","BackButton","fallback","collectionType","SINGLE_TYPES","undefined","COLLECTION_TYPES","slug","width","justifyContent","medium","Typography","variant","tag","HeaderToolbar","Box","marginTop","DocumentStatus","query","useQueryParams","model","document","meta","useDoc","plugins","useStrapiApp","state","DescriptionComponentRenderer","props","activeTab","documentId","descriptions","apis","getHeaderActions","actions","length","HeaderActions","getDocumentActions","headerActions","filter","action","positions","Array","isArray","position","includes","DocumentActionsMenu","label","Information","createAndUpdateDocument","availableStatus","find","publishedAt","publishDocument","creator","CREATED_BY_ATTRIBUTE_NAME","getDisplayName","updator","UPDATED_BY_ATTRIBUTE_NAME","information","isDisplayed","PUBLISHED_AT_ATTRIBUTE_NAME","value","time","RelativeTime","timestamp","Date","isAnonymous","PUBLISHED_BY_ATTRIBUTE_NAME","author","UPDATED_AT_ATTRIBUTE_NAME","CREATED_AT_ATTRIBUTE_NAME","info","borderWidth","borderStyle","borderColor","padding","marginLeft","marginRight","map","fontWeight","textColor","dialogId","setDialogId","React","useState","handleClick","e","onClick","dialog","muteDialog","preventDefault","handleClose","options","SingleSelect","size","onChange","onSelect","aria-label","option","SingleSelectOption","type","Fragment","IconButton","disabled","icon","HeaderActionDialog","isOpen","onClose","onCancel","content","Content","Dialog","Root","open","onOpenChange","ConfigureTheViewAction","navigate","useNavigate","isDesktop","useIsDesktop","ListPlus","EditTheModelAction","Pencil","DeleteAction","listViewPathMatch","LIST_PATH","canDelete","useDocumentRBAC","delete","deleteAction","isLoading","useDocumentActions","toggleNotification","useNotification","setSubmitting","useForm","isLocalized","locale","Trash","WarningCircle","height","fill","textAlign","loading","onConfirm","console","error","message","res","pathname","replace","DEFAULT_HEADER_ACTIONS"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useNotification, useForm, BackButton, useQueryParams, useStrapiApp, DescriptionComponentRenderer } from '@strapi/admin/strapi-admin';
3
+ import { useIsDesktop, useNotification, useForm, BackButton, useQueryParams, useStrapiApp, DescriptionComponentRenderer } from '@strapi/admin/strapi-admin';
4
4
  import { Flex, Typography, Box, SingleSelect, SingleSelectOption, IconButton, Dialog } from '@strapi/design-system';
5
5
  import { ListPlus, Pencil, Trash, WarningCircle } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
@@ -27,8 +27,14 @@ const Header = ({ isCreating, status, title: documentTitle = 'Untitled' })=>{
27
27
  return /*#__PURE__*/ jsxs(Flex, {
28
28
  direction: "column",
29
29
  alignItems: "flex-start",
30
- paddingTop: 6,
31
- paddingBottom: 4,
30
+ paddingTop: {
31
+ initial: 4,
32
+ large: 6
33
+ },
34
+ paddingBottom: {
35
+ initial: 0,
36
+ large: 4
37
+ },
32
38
  gap: 2,
33
39
  children: [
34
40
  /*#__PURE__*/ jsx(BackButton, {
@@ -37,8 +43,15 @@ const Header = ({ isCreating, status, title: documentTitle = 'Untitled' })=>{
37
43
  /*#__PURE__*/ jsxs(Flex, {
38
44
  width: "100%",
39
45
  justifyContent: "space-between",
40
- gap: "80px",
46
+ gap: {
47
+ initial: 2,
48
+ medium: '8rem'
49
+ },
41
50
  alignItems: "flex-start",
51
+ direction: {
52
+ initial: 'column',
53
+ medium: 'row'
54
+ },
42
55
  children: [
43
56
  /*#__PURE__*/ jsx(Typography, {
44
57
  variant: "alpha",
@@ -310,7 +323,8 @@ const HeaderActionDialog = ({ onClose, onCancel, title, content: Content, isOpen
310
323
  * -----------------------------------------------------------------------------------------------*/ const ConfigureTheViewAction = ({ collectionType, model })=>{
311
324
  const navigate = useNavigate();
312
325
  const { formatMessage } = useIntl();
313
- return {
326
+ const isDesktop = useIsDesktop();
327
+ return isDesktop ? {
314
328
  label: formatMessage({
315
329
  id: 'app.links.configure-view',
316
330
  defaultMessage: 'Configure the view'
@@ -320,14 +334,15 @@ const HeaderActionDialog = ({ onClose, onCancel, title, content: Content, isOpen
320
334
  navigate(`../${collectionType}/${model}/configurations/edit`);
321
335
  },
322
336
  position: 'header'
323
- };
337
+ } : null;
324
338
  };
325
339
  ConfigureTheViewAction.type = 'configure-the-view';
326
340
  ConfigureTheViewAction.position = 'header';
327
341
  const EditTheModelAction = ({ model })=>{
328
342
  const navigate = useNavigate();
329
343
  const { formatMessage } = useIntl();
330
- return {
344
+ const isDesktop = useIsDesktop();
345
+ return isDesktop ? {
331
346
  label: formatMessage({
332
347
  id: 'content-manager.link-to-ctb',
333
348
  defaultMessage: 'Edit the model'
@@ -337,7 +352,7 @@ const EditTheModelAction = ({ model })=>{
337
352
  navigate(`/plugins/content-type-builder/content-types/${model}`);
338
353
  },
339
354
  position: 'header'
340
- };
355
+ } : null;
341
356
  };
342
357
  EditTheModelAction.type = 'edit-the-model';
343
358
  EditTheModelAction.position = 'header';