@strapi/content-manager 0.0.0-next.84e5c7c3e470f80271a7a6a88a55244be1d168bd → 0.0.0-next.86f7c82a340bd1cb833f5f785b8001df5461c5a9

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 (301) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +299 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +303 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +13 -15
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +14 -16
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +269 -9
  10. package/dist/admin/components/Widgets.js.map +1 -1
  11. package/dist/admin/components/Widgets.mjs +252 -12
  12. package/dist/admin/components/Widgets.mjs.map +1 -1
  13. package/dist/admin/history/components/VersionContent.js +24 -3
  14. package/dist/admin/history/components/VersionContent.js.map +1 -1
  15. package/dist/admin/history/components/VersionContent.mjs +25 -4
  16. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  17. package/dist/admin/hooks/useDocumentActions.js +7 -6
  18. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  19. package/dist/admin/hooks/useDocumentActions.mjs +8 -7
  20. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  21. package/dist/admin/index.js +47 -8
  22. package/dist/admin/index.js.map +1 -1
  23. package/dist/admin/index.mjs +47 -9
  24. package/dist/admin/index.mjs.map +1 -1
  25. package/dist/admin/layout.js +1 -27
  26. package/dist/admin/layout.js.map +1 -1
  27. package/dist/admin/layout.mjs +2 -9
  28. package/dist/admin/layout.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/EditViewPage.js +27 -17
  30. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  31. package/dist/admin/pages/EditView/EditViewPage.mjs +29 -19
  32. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  34. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  35. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  36. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  37. package/dist/admin/pages/EditView/components/DocumentActions.js +74 -63
  38. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/DocumentActions.mjs +76 -65
  40. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  42. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  44. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +2 -2
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +2 -2
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  54. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  56. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +13 -2
  58. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +14 -3
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  62. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  64. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  66. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  68. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +156 -105
  70. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +159 -108
  72. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  74. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  76. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  78. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  80. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  82. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  84. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormLayout.js +27 -3
  86. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormLayout.mjs +27 -3
  88. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/InputRenderer.js +20 -7
  90. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/InputRenderer.mjs +20 -7
  92. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/utils/data.js +128 -0
  94. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  95. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  96. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  97. package/dist/admin/pages/ListView/ListViewPage.js +221 -203
  98. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  99. package/dist/admin/pages/ListView/ListViewPage.mjs +222 -204
  100. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  101. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  102. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  103. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  104. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  105. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  106. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  107. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  108. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  109. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  110. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  111. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  112. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  113. package/dist/admin/preview/components/InputPopover.js +189 -0
  114. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  115. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  116. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  117. package/dist/admin/preview/components/PreviewHeader.js +0 -1
  118. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  119. package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
  120. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  121. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  122. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  123. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  124. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  125. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  126. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  127. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  128. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  129. package/dist/admin/preview/pages/Preview.js +172 -68
  130. package/dist/admin/preview/pages/Preview.js.map +1 -1
  131. package/dist/admin/preview/pages/Preview.mjs +174 -70
  132. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  133. package/dist/admin/preview/utils/constants.js +56 -0
  134. package/dist/admin/preview/utils/constants.js.map +1 -0
  135. package/dist/admin/preview/utils/constants.mjs +52 -0
  136. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  137. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  138. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  139. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  140. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  141. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  142. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  143. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  144. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  145. package/dist/admin/preview/utils/previewScript.js +534 -0
  146. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  147. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  148. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  149. package/dist/admin/services/api.js +4 -1
  150. package/dist/admin/services/api.js.map +1 -1
  151. package/dist/admin/services/api.mjs +4 -1
  152. package/dist/admin/services/api.mjs.map +1 -1
  153. package/dist/admin/services/documents.js +42 -16
  154. package/dist/admin/services/documents.js.map +1 -1
  155. package/dist/admin/services/documents.mjs +42 -16
  156. package/dist/admin/services/documents.mjs.map +1 -1
  157. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  158. package/dist/admin/src/components/Widgets.d.ts +2 -1
  159. package/dist/admin/src/exports.d.ts +1 -0
  160. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  161. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  162. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  163. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  164. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  165. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  166. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  167. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  168. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  169. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  170. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  171. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  172. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  173. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  174. package/dist/admin/src/services/api.d.ts +1 -1
  175. package/dist/admin/src/services/components.d.ts +2 -2
  176. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  177. package/dist/admin/src/services/documents.d.ts +23 -17
  178. package/dist/admin/src/services/homepage.d.ts +1 -1
  179. package/dist/admin/src/services/init.d.ts +1 -1
  180. package/dist/admin/src/services/relations.d.ts +2 -2
  181. package/dist/admin/src/services/uid.d.ts +3 -3
  182. package/dist/admin/src/utils/api.d.ts +1 -1
  183. package/dist/admin/src/utils/validation.d.ts +1 -0
  184. package/dist/admin/translations/en.json.js +12 -0
  185. package/dist/admin/translations/en.json.js.map +1 -1
  186. package/dist/admin/translations/en.json.mjs +12 -0
  187. package/dist/admin/translations/en.json.mjs.map +1 -1
  188. package/dist/admin/translations/es.json.js +6 -2
  189. package/dist/admin/translations/es.json.js.map +1 -1
  190. package/dist/admin/translations/es.json.mjs +6 -2
  191. package/dist/admin/translations/es.json.mjs.map +1 -1
  192. package/dist/admin/translations/fr.json.js +11 -2
  193. package/dist/admin/translations/fr.json.js.map +1 -1
  194. package/dist/admin/translations/fr.json.mjs +11 -2
  195. package/dist/admin/translations/fr.json.mjs.map +1 -1
  196. package/dist/admin/utils/api.js +1 -1
  197. package/dist/admin/utils/api.js.map +1 -1
  198. package/dist/admin/utils/api.mjs +1 -1
  199. package/dist/admin/utils/api.mjs.map +1 -1
  200. package/dist/admin/utils/validation.js +19 -7
  201. package/dist/admin/utils/validation.js.map +1 -1
  202. package/dist/admin/utils/validation.mjs +19 -7
  203. package/dist/admin/utils/validation.mjs.map +1 -1
  204. package/dist/server/controllers/content-types.js +11 -1
  205. package/dist/server/controllers/content-types.js.map +1 -1
  206. package/dist/server/controllers/content-types.mjs +11 -1
  207. package/dist/server/controllers/content-types.mjs.map +1 -1
  208. package/dist/server/controllers/relations.js +2 -2
  209. package/dist/server/controllers/relations.js.map +1 -1
  210. package/dist/server/controllers/relations.mjs +2 -2
  211. package/dist/server/controllers/relations.mjs.map +1 -1
  212. package/dist/server/controllers/validation/index.js +14 -2
  213. package/dist/server/controllers/validation/index.js.map +1 -1
  214. package/dist/server/controllers/validation/index.mjs +14 -2
  215. package/dist/server/controllers/validation/index.mjs.map +1 -1
  216. package/dist/server/history/services/lifecycles.js +20 -19
  217. package/dist/server/history/services/lifecycles.js.map +1 -1
  218. package/dist/server/history/services/lifecycles.mjs +20 -19
  219. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  220. package/dist/server/homepage/controllers/homepage.js +5 -0
  221. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  222. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  223. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  224. package/dist/server/homepage/routes/homepage.js +11 -0
  225. package/dist/server/homepage/routes/homepage.js.map +1 -1
  226. package/dist/server/homepage/routes/homepage.mjs +11 -0
  227. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  228. package/dist/server/homepage/services/homepage.js +86 -46
  229. package/dist/server/homepage/services/homepage.js.map +1 -1
  230. package/dist/server/homepage/services/homepage.mjs +86 -46
  231. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  232. package/dist/server/preview/services/preview-config.js +5 -1
  233. package/dist/server/preview/services/preview-config.js.map +1 -1
  234. package/dist/server/preview/services/preview-config.mjs +5 -1
  235. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  236. package/dist/server/preview/services/preview.js +4 -0
  237. package/dist/server/preview/services/preview.js.map +1 -1
  238. package/dist/server/preview/services/preview.mjs +4 -0
  239. package/dist/server/preview/services/preview.mjs.map +1 -1
  240. package/dist/server/services/data-mapper.js +4 -1
  241. package/dist/server/services/data-mapper.js.map +1 -1
  242. package/dist/server/services/data-mapper.mjs +4 -1
  243. package/dist/server/services/data-mapper.mjs.map +1 -1
  244. package/dist/server/services/document-manager.js +8 -1
  245. package/dist/server/services/document-manager.js.map +1 -1
  246. package/dist/server/services/document-manager.mjs +8 -1
  247. package/dist/server/services/document-manager.mjs.map +1 -1
  248. package/dist/server/services/document-metadata.js +3 -1
  249. package/dist/server/services/document-metadata.js.map +1 -1
  250. package/dist/server/services/document-metadata.mjs +3 -1
  251. package/dist/server/services/document-metadata.mjs.map +1 -1
  252. package/dist/server/services/utils/configuration/attributes.js +1 -1
  253. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  254. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  255. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  256. package/dist/server/services/utils/configuration/layouts.js +1 -1
  257. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  258. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  259. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  260. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  261. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  262. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  263. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  264. package/dist/server/services/utils/populate.js +11 -0
  265. package/dist/server/services/utils/populate.js.map +1 -1
  266. package/dist/server/services/utils/populate.mjs +11 -0
  267. package/dist/server/services/utils/populate.mjs.map +1 -1
  268. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  269. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  270. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  271. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  272. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  273. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  274. package/dist/server/src/homepage/index.d.ts +7 -0
  275. package/dist/server/src/homepage/index.d.ts.map +1 -1
  276. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  277. package/dist/server/src/homepage/services/homepage.d.ts +4 -1
  278. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  279. package/dist/server/src/homepage/services/index.d.ts +7 -0
  280. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  281. package/dist/server/src/index.d.ts +7 -0
  282. package/dist/server/src/index.d.ts.map +1 -1
  283. package/dist/server/src/preview/services/index.d.ts +1 -0
  284. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  285. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  286. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  287. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  288. package/dist/server/src/preview/utils.d.ts +1 -0
  289. package/dist/server/src/preview/utils.d.ts.map +1 -1
  290. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  291. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  292. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  293. package/dist/server/src/services/index.d.ts +7 -0
  294. package/dist/server/src/services/index.d.ts.map +1 -1
  295. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  296. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  297. package/dist/shared/contracts/collection-types.d.ts +0 -1
  298. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  299. package/dist/shared/contracts/homepage.d.ts +13 -0
  300. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  301. package/package.json +10 -8
@@ -12,13 +12,14 @@ var router = require('./router.js');
12
12
  var translations = require('./utils/translations.js');
13
13
  require('prismjs');
14
14
  var api = require('./utils/api.js');
15
+ var RelativeTime = require('./components/RelativeTime.js');
15
16
  var DocumentStatus = require('./pages/EditView/components/DocumentStatus.js');
16
17
  var useDocument = require('./hooks/useDocument.js');
17
18
  var useDocumentActions = require('./hooks/useDocumentActions.js');
18
19
  var useDocumentLayout = require('./hooks/useDocumentLayout.js');
19
20
  var DocumentRBAC = require('./features/DocumentRBAC.js');
20
21
 
21
- function __variableDynamicImportRuntime3__(path) {
22
+ function __variableDynamicImportRuntime4__(path) {
22
23
  switch (path) {
23
24
  case './translations/ar.json': return Promise.resolve().then(function () { return require('./translations/ar.json.js'); });
24
25
  case './translations/ca.json': return Promise.resolve().then(function () { return require('./translations/ca.json.js'); });
@@ -86,9 +87,8 @@ var index = {
86
87
  children: router.routes
87
88
  });
88
89
  app.registerPlugin(cm.config);
89
- // Register homepage widgets
90
- app.widgets.register([
91
- {
90
+ app.widgets.register((widgets)=>{
91
+ const lastEditedWidget = {
92
92
  icon: Icons.Pencil,
93
93
  title: {
94
94
  id: `${plugin.PLUGIN_ID}.widget.last-edited.title`,
@@ -105,8 +105,8 @@ var index = {
105
105
  action: 'plugin::content-manager.explorer.read'
106
106
  }
107
107
  ]
108
- },
109
- {
108
+ };
109
+ const lastPublishedWidget = {
110
110
  icon: Icons.CheckCircle,
111
111
  title: {
112
112
  id: `${plugin.PLUGIN_ID}.widget.last-published.title`,
@@ -123,8 +123,46 @@ var index = {
123
123
  action: 'plugin::content-manager.explorer.read'
124
124
  }
125
125
  ]
126
+ };
127
+ const entriesWidget = {
128
+ icon: Icons.PuzzlePiece,
129
+ title: {
130
+ id: `${plugin.PLUGIN_ID}.widget.chart-entries.title`,
131
+ defaultMessage: 'Entries'
132
+ },
133
+ component: async ()=>{
134
+ const { ChartEntriesWidget } = await Promise.resolve().then(function () { return require('./components/Widgets.js'); });
135
+ return ChartEntriesWidget;
136
+ },
137
+ pluginId: plugin.PLUGIN_ID,
138
+ id: 'chart-entries',
139
+ permissions: [
140
+ {
141
+ action: 'plugin::content-manager.explorer.read'
142
+ }
143
+ ]
144
+ };
145
+ const profileInfoIndex = widgets.findIndex((widget)=>widget.id === 'profile-info' && widget.pluginId === 'admin');
146
+ // Insert chart-entries after the profile-info widget
147
+ if (profileInfoIndex !== -1) {
148
+ const newWidgets = [
149
+ ...widgets
150
+ ];
151
+ newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);
152
+ return [
153
+ lastEditedWidget,
154
+ lastPublishedWidget,
155
+ ...newWidgets
156
+ ];
126
157
  }
127
- ]);
158
+ // Fallback: add to the end if the target widget aren't found
159
+ return [
160
+ lastEditedWidget,
161
+ lastPublishedWidget,
162
+ ...widgets,
163
+ entriesWidget
164
+ ];
165
+ });
128
166
  },
129
167
  bootstrap (app) {
130
168
  if (typeof index$1.historyAdmin.bootstrap === 'function') {
@@ -136,7 +174,7 @@ var index = {
136
174
  },
137
175
  async registerTrads ({ locales }) {
138
176
  const importedTrads = await Promise.all(locales.map((locale)=>{
139
- return __variableDynamicImportRuntime3__(`./translations/${locale}.json`).then(({ default: data })=>{
177
+ return __variableDynamicImportRuntime4__(`./translations/${locale}.json`).then(({ default: data })=>{
140
178
  return {
141
179
  data: translations.prefixPluginTranslations(data, plugin.PLUGIN_ID),
142
180
  locale
@@ -153,6 +191,7 @@ var index = {
153
191
  };
154
192
 
155
193
  exports.buildValidParams = api.buildValidParams;
194
+ exports.RelativeTime = RelativeTime.RelativeTime;
156
195
  exports.DocumentStatus = DocumentStatus.DocumentStatus;
157
196
  exports.unstable_useContentManagerContext = useDocument.useContentManagerContext;
158
197
  exports.unstable_useDocument = useDocument.useDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n // Register homepage widgets\n app.widgets.register([\n {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n },\n bootstrap(app: any) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","Pencil","title","component","LastEditedWidget","pluginId","action","CheckCircle","LastPublishedWidget","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n app.widgets.register((widgets: WidgetArgs[]) => {\n const lastEditedWidget: WidgetArgs = {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const lastPublishedWidget: WidgetArgs = {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const entriesWidget: WidgetArgs = {\n icon: PuzzlePiece,\n title: {\n id: `${PLUGIN_ID}.widget.chart-entries.title`,\n defaultMessage: 'Entries',\n },\n component: async () => {\n const { ChartEntriesWidget } = await import('./components/Widgets');\n return ChartEntriesWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'chart-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n\n const profileInfoIndex = widgets.findIndex(\n (widget) => widget.id === 'profile-info' && widget.pluginId === 'admin'\n );\n\n // Insert chart-entries after the profile-info widget\n if (profileInfoIndex !== -1) {\n const newWidgets: WidgetArgs[] = [...widgets];\n newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);\n return [lastEditedWidget, lastPublishedWidget, ...newWidgets];\n }\n\n // Fallback: add to the end if the target widget aren't found\n return [lastEditedWidget, lastPublishedWidget, ...widgets, entriesWidget];\n });\n },\n bootstrap(app: any) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","lastEditedWidget","Pencil","title","component","LastEditedWidget","pluginId","action","lastPublishedWidget","CheckCircle","LastPublishedWidget","entriesWidget","PuzzlePiece","ChartEntriesWidget","profileInfoIndex","findIndex","widget","newWidgets","splice","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Feather, Pencil, CheckCircle } from '@strapi/icons';
1
+ import { Feather, Pencil, CheckCircle, PuzzlePiece } from '@strapi/icons';
2
2
  import { PLUGIN_ID } from './constants/plugin.mjs';
3
3
  import { ContentManagerPlugin } from './content-manager.mjs';
4
4
  import { historyAdmin } from './history/index.mjs';
@@ -8,13 +8,14 @@ import { routes } from './router.mjs';
8
8
  import { prefixPluginTranslations } from './utils/translations.mjs';
9
9
  import 'prismjs';
10
10
  export { buildValidParams } from './utils/api.mjs';
11
+ export { RelativeTime } from './components/RelativeTime.mjs';
11
12
  export { DocumentStatus } from './pages/EditView/components/DocumentStatus.mjs';
12
13
  export { useContentManagerContext as unstable_useContentManagerContext, useDocument as unstable_useDocument } from './hooks/useDocument.mjs';
13
14
  export { useDocumentActions as unstable_useDocumentActions } from './hooks/useDocumentActions.mjs';
14
15
  export { useDocumentLayout as unstable_useDocumentLayout } from './hooks/useDocumentLayout.mjs';
15
16
  export { DocumentRBAC, useDocumentRBAC } from './features/DocumentRBAC.mjs';
16
17
 
17
- function __variableDynamicImportRuntime3__(path) {
18
+ function __variableDynamicImportRuntime4__(path) {
18
19
  switch (path) {
19
20
  case './translations/ar.json': return import('./translations/ar.json.mjs');
20
21
  case './translations/ca.json': return import('./translations/ca.json.mjs');
@@ -82,9 +83,8 @@ var index = {
82
83
  children: routes
83
84
  });
84
85
  app.registerPlugin(cm.config);
85
- // Register homepage widgets
86
- app.widgets.register([
87
- {
86
+ app.widgets.register((widgets)=>{
87
+ const lastEditedWidget = {
88
88
  icon: Pencil,
89
89
  title: {
90
90
  id: `${PLUGIN_ID}.widget.last-edited.title`,
@@ -101,8 +101,8 @@ var index = {
101
101
  action: 'plugin::content-manager.explorer.read'
102
102
  }
103
103
  ]
104
- },
105
- {
104
+ };
105
+ const lastPublishedWidget = {
106
106
  icon: CheckCircle,
107
107
  title: {
108
108
  id: `${PLUGIN_ID}.widget.last-published.title`,
@@ -119,8 +119,46 @@ var index = {
119
119
  action: 'plugin::content-manager.explorer.read'
120
120
  }
121
121
  ]
122
+ };
123
+ const entriesWidget = {
124
+ icon: PuzzlePiece,
125
+ title: {
126
+ id: `${PLUGIN_ID}.widget.chart-entries.title`,
127
+ defaultMessage: 'Entries'
128
+ },
129
+ component: async ()=>{
130
+ const { ChartEntriesWidget } = await import('./components/Widgets.mjs');
131
+ return ChartEntriesWidget;
132
+ },
133
+ pluginId: PLUGIN_ID,
134
+ id: 'chart-entries',
135
+ permissions: [
136
+ {
137
+ action: 'plugin::content-manager.explorer.read'
138
+ }
139
+ ]
140
+ };
141
+ const profileInfoIndex = widgets.findIndex((widget)=>widget.id === 'profile-info' && widget.pluginId === 'admin');
142
+ // Insert chart-entries after the profile-info widget
143
+ if (profileInfoIndex !== -1) {
144
+ const newWidgets = [
145
+ ...widgets
146
+ ];
147
+ newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);
148
+ return [
149
+ lastEditedWidget,
150
+ lastPublishedWidget,
151
+ ...newWidgets
152
+ ];
122
153
  }
123
- ]);
154
+ // Fallback: add to the end if the target widget aren't found
155
+ return [
156
+ lastEditedWidget,
157
+ lastPublishedWidget,
158
+ ...widgets,
159
+ entriesWidget
160
+ ];
161
+ });
124
162
  },
125
163
  bootstrap (app) {
126
164
  if (typeof historyAdmin.bootstrap === 'function') {
@@ -132,7 +170,7 @@ var index = {
132
170
  },
133
171
  async registerTrads ({ locales }) {
134
172
  const importedTrads = await Promise.all(locales.map((locale)=>{
135
- return __variableDynamicImportRuntime3__(`./translations/${locale}.json`).then(({ default: data })=>{
173
+ return __variableDynamicImportRuntime4__(`./translations/${locale}.json`).then(({ default: data })=>{
136
174
  return {
137
175
  data: prefixPluginTranslations(data, PLUGIN_ID),
138
176
  locale
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n // Register homepage widgets\n app.widgets.register([\n {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n },\n bootstrap(app: any) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","Pencil","title","component","LastEditedWidget","pluginId","action","CheckCircle","LastPublishedWidget","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;AACA,YAAe;AACbA,IAAAA,QAAAA,CAAAA,CAASC,GAAQ,EAAA;AACf,QAAA,MAAMC,KAAK,IAAIC,oBAAAA,EAAAA;AAEfF,QAAAA,GAAAA,CAAIG,WAAW,CAAC;AACd,YAAA,CAACC,YAAYC;AACf,SAAA,CAAA;AAEAL,QAAAA,GAAAA,CAAIM,WAAW,CAAC;YACdC,EAAIH,EAAAA,SAAAA;YACJI,IAAMC,EAAAA,OAAAA;YACNC,SAAW,EAAA;gBACTC,EAAI,EAAA,CAAC,2BAA2B,CAAC;gBACjCC,cAAgB,EAAA;AAClB,aAAA;AACAC,YAAAA,WAAAA,EAAa,EAAE;YACfC,QAAU,EAAA;AACZ,SAAA,CAAA;QAEAd,GAAIe,CAAAA,MAAM,CAACC,QAAQ,CAAC;YAClBC,IAAM,EAAA,mBAAA;YACNC,IAAM,EAAA,UAAA;AACJ,gBAAA,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAM,OAAO,cAAA,CAAA;gBAEhC,OAAO;oBACLC,SAAWD,EAAAA;AACb,iBAAA;AACF,aAAA;YACAE,QAAUC,EAAAA;AACZ,SAAA,CAAA;QAEAtB,GAAIuB,CAAAA,cAAc,CAACtB,EAAAA,CAAGuB,MAAM,CAAA;;QAG5BxB,GAAIyB,CAAAA,OAAO,CAAC1B,QAAQ,CAAC;AACnB,YAAA;gBACES,IAAMkB,EAAAA,MAAAA;gBACNC,KAAO,EAAA;AACLhB,oBAAAA,EAAAA,EAAI,CAAC,EAAEP,SAAU,CAAA,yBAAyB,CAAC;oBAC3CQ,cAAgB,EAAA;AAClB,iBAAA;gBACAgB,SAAW,EAAA,UAAA;AACT,oBAAA,MAAM,EAAEC,gBAAgB,EAAE,GAAG,MAAM,OAAO,0BAAA,CAAA;oBAC1C,OAAOA,gBAAAA;AACT,iBAAA;gBACAC,QAAU1B,EAAAA,SAAAA;gBACVO,EAAI,EAAA,qBAAA;gBACJE,WAAa,EAAA;AAAC,oBAAA;wBAAEkB,MAAQ,EAAA;AAAwC;AAAE;AACpE,aAAA;AACA,YAAA;gBACEvB,IAAMwB,EAAAA,WAAAA;gBACNL,KAAO,EAAA;AACLhB,oBAAAA,EAAAA,EAAI,CAAC,EAAEP,SAAU,CAAA,4BAA4B,CAAC;oBAC9CQ,cAAgB,EAAA;AAClB,iBAAA;gBACAgB,SAAW,EAAA,UAAA;AACT,oBAAA,MAAM,EAAEK,mBAAmB,EAAE,GAAG,MAAM,OAAO,0BAAA,CAAA;oBAC7C,OAAOA,mBAAAA;AACT,iBAAA;gBACAH,QAAU1B,EAAAA,SAAAA;gBACVO,EAAI,EAAA,wBAAA;gBACJE,WAAa,EAAA;AAAC,oBAAA;wBAAEkB,MAAQ,EAAA;AAAwC;AAAE;AACpE;AACD,SAAA,CAAA;AACH,KAAA;AACAG,IAAAA,SAAAA,CAAAA,CAAUlC,GAAQ,EAAA;AAChB,QAAA,IAAI,OAAOmC,YAAAA,CAAaD,SAAS,KAAK,UAAY,EAAA;AAChDC,YAAAA,YAAAA,CAAaD,SAAS,CAAClC,GAAAA,CAAAA;AACzB;AACA,QAAA,IAAI,OAAOoC,YAAAA,CAAaF,SAAS,KAAK,UAAY,EAAA;AAChDE,YAAAA,YAAAA,CAAaF,SAAS,CAAClC,GAAAA,CAAAA;AACzB;AACF,KAAA;IACA,MAAMqC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAQC,CAAAA,GAAG,CACrCH,OAAQI,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAO,CAAA,KAAK,CAAC,CAAA,CAC1CC,IAAI,CAAC,CAAC,EAAEC,OAAAA,EAASC,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,yBAAyBD,IAAM1C,EAAAA,SAAAA,CAAAA;AACrCuC,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA,CACCK,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPH,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA;AACJ,SAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQS,OAAO,CAACV,aAAAA,CAAAA;AACzB;AACF,CAAE;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { CheckCircle, Feather, Pencil, PuzzlePiece } from '@strapi/icons';\n\nimport { PLUGIN_ID } from './constants/plugin';\nimport { ContentManagerPlugin } from './content-manager';\nimport { historyAdmin } from './history';\nimport { reducer } from './modules/reducers';\nimport { previewAdmin } from './preview';\nimport { routes } from './router';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { WidgetArgs } from '@strapi/admin/strapi-admin';\n\n// NOTE: we have to preload it to ensure chunks will have it available as global\nimport 'prismjs';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: any) {\n const cm = new ContentManagerPlugin();\n\n app.addReducers({\n [PLUGIN_ID]: reducer,\n });\n\n app.addMenuLink({\n to: PLUGIN_ID,\n icon: Feather,\n intlLabel: {\n id: `content-manager.plugin.name`,\n defaultMessage: 'Content Manager',\n },\n permissions: [],\n position: 1,\n });\n\n app.router.addRoute({\n path: 'content-manager/*',\n lazy: async () => {\n const { Layout } = await import('./layout');\n\n return {\n Component: Layout,\n };\n },\n children: routes,\n });\n\n app.registerPlugin(cm.config);\n\n app.widgets.register((widgets: WidgetArgs[]) => {\n const lastEditedWidget: WidgetArgs = {\n icon: Pencil,\n title: {\n id: `${PLUGIN_ID}.widget.last-edited.title`,\n defaultMessage: 'Last edited entries',\n },\n component: async () => {\n const { LastEditedWidget } = await import('./components/Widgets');\n return LastEditedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-edited-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const lastPublishedWidget: WidgetArgs = {\n icon: CheckCircle,\n title: {\n id: `${PLUGIN_ID}.widget.last-published.title`,\n defaultMessage: 'Last published entries',\n },\n component: async () => {\n const { LastPublishedWidget } = await import('./components/Widgets');\n return LastPublishedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'last-published-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n const entriesWidget: WidgetArgs = {\n icon: PuzzlePiece,\n title: {\n id: `${PLUGIN_ID}.widget.chart-entries.title`,\n defaultMessage: 'Entries',\n },\n component: async () => {\n const { ChartEntriesWidget } = await import('./components/Widgets');\n return ChartEntriesWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'chart-entries',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n };\n\n const profileInfoIndex = widgets.findIndex(\n (widget) => widget.id === 'profile-info' && widget.pluginId === 'admin'\n );\n\n // Insert chart-entries after the profile-info widget\n if (profileInfoIndex !== -1) {\n const newWidgets: WidgetArgs[] = [...widgets];\n newWidgets.splice(profileInfoIndex + 1, 0, entriesWidget);\n return [lastEditedWidget, lastPublishedWidget, ...newWidgets];\n }\n\n // Fallback: add to the end if the target widget aren't found\n return [lastEditedWidget, lastPublishedWidget, ...widgets, entriesWidget];\n });\n },\n bootstrap(app: any) {\n if (typeof historyAdmin.bootstrap === 'function') {\n historyAdmin.bootstrap(app);\n }\n if (typeof previewAdmin.bootstrap === 'function') {\n previewAdmin.bootstrap(app);\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","cm","ContentManagerPlugin","addReducers","PLUGIN_ID","reducer","addMenuLink","to","icon","Feather","intlLabel","id","defaultMessage","permissions","position","router","addRoute","path","lazy","Layout","Component","children","routes","registerPlugin","config","widgets","lastEditedWidget","Pencil","title","component","LastEditedWidget","pluginId","action","lastPublishedWidget","CheckCircle","LastPublishedWidget","entriesWidget","PuzzlePiece","ChartEntriesWidget","profileInfoIndex","findIndex","widget","newWidgets","splice","bootstrap","historyAdmin","previewAdmin","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
4
+ require('react');
5
5
  var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var reactIntl = require('react-intl');
7
7
  var reactRouterDom = require('react-router-dom');
@@ -14,25 +14,6 @@ var dragAndDrop = require('./constants/dragAndDrop.js');
14
14
  var useContentManagerInitData = require('./hooks/useContentManagerInitData.js');
15
15
  var translations = require('./utils/translations.js');
16
16
 
17
- function _interopNamespaceDefault(e) {
18
- var n = Object.create(null);
19
- if (e) {
20
- Object.keys(e).forEach(function (k) {
21
- if (k !== 'default') {
22
- var d = Object.getOwnPropertyDescriptor(e, k);
23
- Object.defineProperty(n, k, d.get ? d : {
24
- enumerable: true,
25
- get: function () { return e[k]; }
26
- });
27
- }
28
- });
29
- }
30
- n.default = e;
31
- return Object.freeze(n);
32
- }
33
-
34
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
35
-
36
17
  /* -------------------------------------------------------------------------------------------------
37
18
  * Layout
38
19
  * -----------------------------------------------------------------------------------------------*/ const Layout = ()=>{
@@ -44,13 +25,6 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
44
25
  ].sort((a, b)=>a.title.localeCompare(b.title));
45
26
  const { pathname } = reactRouterDom.useLocation();
46
27
  const { formatMessage } = reactIntl.useIntl();
47
- const startSection = strapiAdmin.useGuidedTour('Layout', (state)=>state.startSection);
48
- const startSectionRef = React__namespace.useRef(startSection);
49
- React__namespace.useEffect(()=>{
50
- if (startSectionRef.current) {
51
- startSectionRef.current('contentManager');
52
- }
53
- }, []);
54
28
  if (isLoading) {
55
29
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
56
30
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n const startSection = useGuidedTour('Layout', (state) => state.startSection);\n const startSectionRef = React.useRef(startSection);\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentManager');\n }\n }, []);\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Outlet />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","startSection","useGuidedTour","state","startSectionRef","React","useRef","useEffect","current","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","Layouts","Root","sideNav","LeftMenu","DragLayer","renderItem","renderDraglayerItem","Outlet","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Outlet />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","Layouts","Root","sideNav","LeftMenu","DragLayer","renderItem","renderDraglayerItem","Outlet","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import { useGuidedTour, Page, Layouts } from '@strapi/admin/strapi-admin';
2
+ import 'react';
3
+ import { Page, Layouts } from '@strapi/admin/strapi-admin';
4
4
  import { useIntl } from 'react-intl';
5
5
  import { useMatch, useLocation, Navigate, Outlet } from 'react-router-dom';
6
6
  import { DragLayer } from './components/DragLayer.mjs';
@@ -23,13 +23,6 @@ import { getTranslation } from './utils/translations.mjs';
23
23
  ].sort((a, b)=>a.title.localeCompare(b.title));
24
24
  const { pathname } = useLocation();
25
25
  const { formatMessage } = useIntl();
26
- const startSection = useGuidedTour('Layout', (state)=>state.startSection);
27
- const startSectionRef = React.useRef(startSection);
28
- React.useEffect(()=>{
29
- if (startSectionRef.current) {
30
- startSectionRef.current('contentManager');
31
- }
32
- }, []);
33
26
  if (isLoading) {
34
27
  return /*#__PURE__*/ jsxs(Fragment, {
35
28
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"layout.mjs","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n const startSection = useGuidedTour('Layout', (state) => state.startSection);\n const startSectionRef = React.useRef(startSection);\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentManager');\n }\n }, []);\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Outlet />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","startSection","useGuidedTour","state","startSectionRef","React","useRef","useEffect","current","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","Layouts","Root","sideNav","LeftMenu","DragLayer","renderItem","renderDraglayerItem","Outlet","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":";;;;;;;;;;;;;;AAgBA;;AAEkG,2GAE5FA,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,mBAAmBC,QAAS,CAAA,+BAAA,CAAA;IAElC,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGC,yBAAAA,EAAAA;AACpE,IAAA,MAAMC,gBAAmB,GAAA;AAAIJ,QAAAA,GAAAA,mBAAAA;AAAwBE,QAAAA,GAAAA;KAAgB,CAACG,IAAI,CAAC,CAACC,CAAGC,EAAAA,CAAAA,GAC7ED,CAAEE,CAAAA,KAAK,CAACC,aAAa,CAACF,CAAAA,CAAEC,KAAK,CAAA,CAAA;IAG/B,MAAM,EAAEE,QAAQ,EAAE,GAAGC,WAAAA,EAAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,eAAeC,aAAc,CAAA,QAAA,EAAU,CAACC,KAAAA,GAAUA,MAAMF,YAAY,CAAA;IAC1E,MAAMG,eAAAA,GAAkBC,KAAMC,CAAAA,MAAM,CAACL,YAAAA,CAAAA;AAErCI,IAAAA,KAAAA,CAAME,SAAS,CAAC,IAAA;QACd,IAAIH,eAAAA,CAAgBI,OAAO,EAAE;AAC3BJ,YAAAA,eAAAA,CAAgBI,OAAO,CAAC,gBAAA,CAAA;AAC1B;AACF,KAAA,EAAG,EAAE,CAAA;AAEL,IAAA,IAAItB,SAAW,EAAA;QACb,qBACEuB,IAAA,CAAAC,QAAA,EAAA;;AACE,8BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;8BACRd,aAAc,CAAA;AACbe,wBAAAA,EAAAA,EAAIC,cAAe,CAAA,aAAA,CAAA;wBACnBC,cAAgB,EAAA;AAClB,qBAAA;;AAEF,8BAAAL,GAAA,CAACC,KAAKK,OAAO,EAAA,EAAA;;;AAGnB;;IAGA,MAAMC,wBAAAA,GAA2B9B,OAAO+B,MAAM,CAAC,CAAC,EAAEC,WAAW,EAAE,GAAKA,WAAAA,CAAAA;;IAGpE,IACE7B,gBAAAA,CAAiB8B,MAAM,KAAK,CAAA,IAC5BH,yBAAyBG,MAAM,GAAG,CAClCxB,IAAAA,QAAAA,KAAa,sBACb,EAAA;AACA,QAAA,qBAAOc,GAACW,CAAAA,QAAAA,EAAAA;YAASC,EAAG,EAAA;;AACtB;;AAGA,IAAA,IAAIL,wBAAyBG,CAAAA,MAAM,KAAK,CAAA,IAAKxB,aAAa,mBAAqB,EAAA;AAC7E,QAAA,qBAAOc,GAACW,CAAAA,QAAAA,EAAAA;YAASC,EAAG,EAAA;;AACtB;AAEA,IAAA,IAAI,CAACvC,gBAAAA,IAAoBO,gBAAiB8B,CAAAA,MAAM,GAAG,CAAG,EAAA;AACpD,QAAA,qBACEV,GAACW,CAAAA,QAAAA,EAAAA;YACCC,EAAI,EAAA;AACF1B,gBAAAA,QAAAA,EAAUN,gBAAgB,CAAC,CAAE,CAAA,CAACgC,EAAE;AAChCC,gBAAAA,MAAAA,EAAQjC,gBAAgB,CAAC,CAAE,CAAA,CAACiC,MAAM,IAAI;AACxC,aAAA;YACAC,OAAO,EAAA;;AAGb;IAEA,qBACEhB,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;0BACRd,aAAc,CAAA;AACbe,oBAAAA,EAAAA,EAAIC,cAAe,CAAA,aAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;AAEF,0BAAAP,IAAA,CAACiB,QAAQC,IAAI,EAAA;AAACC,gBAAAA,OAAAA,gBAASjB,GAACkB,CAAAA,QAAAA,EAAAA,EAAAA,CAAAA;;kCACtBlB,GAACmB,CAAAA,SAAAA,EAAAA;wBAAUC,UAAYC,EAAAA;;kCACvBrB,GAACsB,CAAAA,MAAAA,EAAAA,EAAAA;;;;;AAIT;AAEA;;AAEkG,qGAElG,SAASD,mBAAoB,CAAA,EAAEE,IAAI,EAAEC,IAAI,EAA+C,EAAA;AACtF,IAAA,IAAI,CAACD,IAAAA,IAASA,IAAQ,IAAA,OAAOA,SAAS,QAAW,EAAA;QAC/C,OAAO,IAAA;AACT;AAEA;;;;AAIC,MACD,MAAM,CAACE,UAAAA,CAAW,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;IAEhC,OAAQD,UAAAA;AACN,QAAA,KAAKE,UAAUC,UAAU;AACzB,QAAA,KAAKD,UAAUE,KAAK;AAClB,YAAA,qBAAO7B,GAAC8B,CAAAA,eAAAA,EAAAA;AAAgBC,gBAAAA,KAAAA,EAAOP,KAAKO;;AACtC,QAAA,KAAKJ,UAAUK,SAAS;AACxB,QAAA,KAAKL,UAAUM,YAAY;AACzB,YAAA,qBAAOjC,GAACkC,CAAAA,oBAAAA,EAAAA;AAAqBC,gBAAAA,cAAAA,EAAgBX,KAAKW;;AAEpD,QAAA,KAAKR,UAAUS,QAAQ;AACrB,YAAA,qBAAOpC,GAACqC,CAAAA,mBAAAA,EAAAA;AAAqB,gBAAA,GAAGb;;AAElC,QAAA;YACE,OAAO,IAAA;AACX;AACF;;;;"}
1
+ {"version":3,"file":"layout.mjs","sources":["../../admin/src/layout.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Outlet />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["Layout","contentTypeMatch","useMatch","isLoading","collectionTypeLinks","models","singleTypeLinks","useContentManagerInitData","authorisedModels","sort","a","b","title","localeCompare","pathname","useLocation","formatMessage","useIntl","_jsxs","_Fragment","_jsx","Page","Title","id","getTranslation","defaultMessage","Loading","supportedModelsToDisplay","filter","isDisplayed","length","Navigate","to","search","replace","Layouts","Root","sideNav","LeftMenu","DragLayer","renderItem","renderDraglayerItem","Outlet","type","item","actualType","split","ItemTypes","EDIT_FIELD","FIELD","CardDragPreview","label","COMPONENT","DYNAMIC_ZONE","ComponentDragPreview","displayedValue","RELATION","RelationDragPreview"],"mappings":";;;;;;;;;;;;;;AAgBA;;AAEkG,2GAE5FA,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,mBAAmBC,QAAS,CAAA,+BAAA,CAAA;IAElC,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGC,yBAAAA,EAAAA;AACpE,IAAA,MAAMC,gBAAmB,GAAA;AAAIJ,QAAAA,GAAAA,mBAAAA;AAAwBE,QAAAA,GAAAA;KAAgB,CAACG,IAAI,CAAC,CAACC,CAAGC,EAAAA,CAAAA,GAC7ED,CAAEE,CAAAA,KAAK,CAACC,aAAa,CAACF,CAAAA,CAAEC,KAAK,CAAA,CAAA;IAG/B,MAAM,EAAEE,QAAQ,EAAE,GAAGC,WAAAA,EAAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAId,SAAW,EAAA;QACb,qBACEe,IAAA,CAAAC,QAAA,EAAA;;AACE,8BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;8BACRN,aAAc,CAAA;AACbO,wBAAAA,EAAAA,EAAIC,cAAe,CAAA,aAAA,CAAA;wBACnBC,cAAgB,EAAA;AAClB,qBAAA;;AAEF,8BAAAL,GAAA,CAACC,KAAKK,OAAO,EAAA,EAAA;;;AAGnB;;IAGA,MAAMC,wBAAAA,GAA2BtB,OAAOuB,MAAM,CAAC,CAAC,EAAEC,WAAW,EAAE,GAAKA,WAAAA,CAAAA;;IAGpE,IACErB,gBAAAA,CAAiBsB,MAAM,KAAK,CAAA,IAC5BH,yBAAyBG,MAAM,GAAG,CAClChB,IAAAA,QAAAA,KAAa,sBACb,EAAA;AACA,QAAA,qBAAOM,GAACW,CAAAA,QAAAA,EAAAA;YAASC,EAAG,EAAA;;AACtB;;AAGA,IAAA,IAAIL,wBAAyBG,CAAAA,MAAM,KAAK,CAAA,IAAKhB,aAAa,mBAAqB,EAAA;AAC7E,QAAA,qBAAOM,GAACW,CAAAA,QAAAA,EAAAA;YAASC,EAAG,EAAA;;AACtB;AAEA,IAAA,IAAI,CAAC/B,gBAAAA,IAAoBO,gBAAiBsB,CAAAA,MAAM,GAAG,CAAG,EAAA;AACpD,QAAA,qBACEV,GAACW,CAAAA,QAAAA,EAAAA;YACCC,EAAI,EAAA;AACFlB,gBAAAA,QAAAA,EAAUN,gBAAgB,CAAC,CAAE,CAAA,CAACwB,EAAE;AAChCC,gBAAAA,MAAAA,EAAQzB,gBAAgB,CAAC,CAAE,CAAA,CAACyB,MAAM,IAAI;AACxC,aAAA;YACAC,OAAO,EAAA;;AAGb;IAEA,qBACEhB,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAC,GAAA,CAACC,KAAKC,KAAK,EAAA;0BACRN,aAAc,CAAA;AACbO,oBAAAA,EAAAA,EAAIC,cAAe,CAAA,aAAA,CAAA;oBACnBC,cAAgB,EAAA;AAClB,iBAAA;;AAEF,0BAAAP,IAAA,CAACiB,QAAQC,IAAI,EAAA;AAACC,gBAAAA,OAAAA,gBAASjB,GAACkB,CAAAA,QAAAA,EAAAA,EAAAA,CAAAA;;kCACtBlB,GAACmB,CAAAA,SAAAA,EAAAA;wBAAUC,UAAYC,EAAAA;;kCACvBrB,GAACsB,CAAAA,MAAAA,EAAAA,EAAAA;;;;;AAIT;AAEA;;AAEkG,qGAElG,SAASD,mBAAoB,CAAA,EAAEE,IAAI,EAAEC,IAAI,EAA+C,EAAA;AACtF,IAAA,IAAI,CAACD,IAAAA,IAASA,IAAQ,IAAA,OAAOA,SAAS,QAAW,EAAA;QAC/C,OAAO,IAAA;AACT;AAEA;;;;AAIC,MACD,MAAM,CAACE,UAAAA,CAAW,GAAGF,IAAAA,CAAKG,KAAK,CAAC,GAAA,CAAA;IAEhC,OAAQD,UAAAA;AACN,QAAA,KAAKE,UAAUC,UAAU;AACzB,QAAA,KAAKD,UAAUE,KAAK;AAClB,YAAA,qBAAO7B,GAAC8B,CAAAA,eAAAA,EAAAA;AAAgBC,gBAAAA,KAAAA,EAAOP,KAAKO;;AACtC,QAAA,KAAKJ,UAAUK,SAAS;AACxB,QAAA,KAAKL,UAAUM,YAAY;AACzB,YAAA,qBAAOjC,GAACkC,CAAAA,oBAAAA,EAAAA;AAAqBC,gBAAAA,cAAAA,EAAgBX,KAAKW;;AAEpD,QAAA,KAAKR,UAAUS,QAAQ;AACrB,YAAA,qBAAOpC,GAACqC,CAAAA,mBAAAA,EAAAA;AAAqB,gBAAA,GAAGb;;AAElC,QAAA;YACE,OAAO,IAAA;AACX;AACF;;;;"}
@@ -16,22 +16,15 @@ var useLazyComponents = require('../../hooks/useLazyComponents.js');
16
16
  var useOnce = require('../../hooks/useOnce.js');
17
17
  var translations = require('../../utils/translations.js');
18
18
  var validation = require('../../utils/validation.js');
19
+ var Blocker = require('./components/Blocker.js');
19
20
  var FormLayout = require('./components/FormLayout.js');
20
21
  var Header = require('./components/Header.js');
21
22
  var Panels = require('./components/Panels.js');
23
+ var data = require('./utils/data.js');
22
24
 
23
25
  /* -------------------------------------------------------------------------------------------------
24
26
  * EditViewPage
25
- * -----------------------------------------------------------------------------------------------*/ // Needs to be wrapped in a component to have access to the form context via a hook.
26
- // Using the Form component's render prop instead would cause unnecessary re-renders of Form children
27
- const BlockerWrapper = ()=>{
28
- const resetForm = strapiAdmin.useForm('BlockerWrapper', (state)=>state.resetForm);
29
- // We reset the form to the published version to avoid errors like – https://strapi-inc.atlassian.net/browse/CONTENT-2284
30
- return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Blocker, {
31
- onProceed: resetForm
32
- });
33
- };
34
- const EditViewPage = ()=>{
27
+ * -----------------------------------------------------------------------------------------------*/ const EditViewPage = ()=>{
35
28
  const location = reactRouterDom.useLocation();
36
29
  const [{ query: { status } }, setQuery] = strapiAdmin.useQueryParams({
37
30
  status: 'draft'
@@ -95,16 +88,28 @@ const EditViewPage = ()=>{
95
88
  /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
96
89
  children: pageTitle
97
90
  }),
91
+ isSingleType && /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Introduction, {
92
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {})
93
+ }),
98
94
  /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Form, {
99
95
  disabled: hasDraftAndPublished && status === 'published',
100
96
  initialValues: initialValues,
101
97
  method: isCreatingDocument ? 'POST' : 'PUT',
102
98
  validate: (values, options)=>{
99
+ // removes hidden fields from the validation
100
+ // this is necessary because the yup schema doesn't know about the visibility conditions
101
+ // and we don't want to validate fields that are not visible
102
+ const { data: cleanedValues, removedAttributes } = data.handleInvisibleAttributes(values, {
103
+ schema,
104
+ initialValues,
105
+ components
106
+ });
103
107
  const yupSchema = validation.createYupSchema(schema?.attributes, components, {
104
108
  status,
109
+ removedAttributes,
105
110
  ...options
106
111
  });
107
- return yupSchema.validate(values, {
112
+ return yupSchema.validate(cleanedValues, {
108
113
  abortEarly: false
109
114
  });
110
115
  },
@@ -156,12 +161,17 @@ const EditViewPage = ()=>{
156
161
  direction: "column",
157
162
  alignItems: "stretch",
158
163
  children: [
159
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
164
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tabs.Content, {
160
165
  value: "draft",
161
- children: /*#__PURE__*/ jsxRuntime.jsx(FormLayout.FormLayout, {
162
- layout: layout,
163
- document: doc
164
- })
166
+ children: [
167
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Fields, {
168
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {})
169
+ }),
170
+ /*#__PURE__*/ jsxRuntime.jsx(FormLayout.FormLayout, {
171
+ layout: layout,
172
+ document: doc
173
+ })
174
+ ]
165
175
  }),
166
176
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tabs.Content, {
167
177
  value: "published",
@@ -183,7 +193,7 @@ const EditViewPage = ()=>{
183
193
  })
184
194
  ]
185
195
  }),
186
- /*#__PURE__*/ jsxRuntime.jsx(BlockerWrapper, {})
196
+ /*#__PURE__*/ jsxRuntime.jsx(Blocker.Blocker, {})
187
197
  ]
188
198
  })
189
199
  })