@strapi/content-manager 0.0.0-next.daa3d4c4db6322f58233f0ccb757d80dbd1b48e9 → 0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95

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 (261) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +34 -30
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +36 -32
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +253 -0
  10. package/dist/admin/components/Widgets.js.map +1 -1
  11. package/dist/admin/components/Widgets.mjs +236 -3
  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/history/components/VersionHeader.js +6 -0
  18. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  19. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  20. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentActions.js +7 -6
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +8 -7
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/index.js +47 -8
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +47 -9
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/layout.js +1 -27
  30. package/dist/admin/layout.js.map +1 -1
  31. package/dist/admin/layout.mjs +2 -9
  32. package/dist/admin/layout.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/EditViewPage.js +99 -75
  34. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  35. package/dist/admin/pages/EditView/EditViewPage.mjs +101 -77
  36. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/DocumentActions.js +83 -70
  38. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/DocumentActions.mjs +85 -72
  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 +21 -35
  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 +21 -35
  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 +158 -106
  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 +161 -109
  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 +47 -27
  86. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  88. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/utils/data.js +103 -0
  90. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  91. package/dist/admin/pages/EditView/utils/data.mjs +103 -1
  92. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  93. package/dist/admin/pages/ListView/ListViewPage.js +227 -132
  94. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  95. package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
  96. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  97. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  98. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  99. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  100. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  101. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  102. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  103. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  104. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  105. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  106. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  107. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  108. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  109. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  110. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  111. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  112. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  113. package/dist/admin/preview/pages/Preview.js +101 -35
  114. package/dist/admin/preview/pages/Preview.js.map +1 -1
  115. package/dist/admin/preview/pages/Preview.mjs +102 -36
  116. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  117. package/dist/admin/services/api.js +3 -1
  118. package/dist/admin/services/api.js.map +1 -1
  119. package/dist/admin/services/api.mjs +3 -1
  120. package/dist/admin/services/api.mjs.map +1 -1
  121. package/dist/admin/services/documents.js +32 -16
  122. package/dist/admin/services/documents.js.map +1 -1
  123. package/dist/admin/services/documents.mjs +32 -16
  124. package/dist/admin/services/documents.mjs.map +1 -1
  125. package/dist/admin/services/homepage.js +11 -2
  126. package/dist/admin/services/homepage.js.map +1 -1
  127. package/dist/admin/services/homepage.mjs +11 -3
  128. package/dist/admin/services/homepage.mjs.map +1 -1
  129. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  130. package/dist/admin/src/components/Widgets.d.ts +2 -1
  131. package/dist/admin/src/exports.d.ts +1 -0
  132. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  133. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  134. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  135. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  136. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  137. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  138. package/dist/admin/src/services/api.d.ts +1 -1
  139. package/dist/admin/src/services/components.d.ts +2 -2
  140. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  141. package/dist/admin/src/services/documents.d.ts +23 -17
  142. package/dist/admin/src/services/homepage.d.ts +6 -2
  143. package/dist/admin/src/services/init.d.ts +1 -1
  144. package/dist/admin/src/services/relations.d.ts +2 -2
  145. package/dist/admin/src/services/uid.d.ts +3 -3
  146. package/dist/admin/src/utils/validation.d.ts +1 -0
  147. package/dist/admin/translations/en.json.js +7 -0
  148. package/dist/admin/translations/en.json.js.map +1 -1
  149. package/dist/admin/translations/en.json.mjs +7 -0
  150. package/dist/admin/translations/en.json.mjs.map +1 -1
  151. package/dist/admin/translations/es.json.js +5 -2
  152. package/dist/admin/translations/es.json.js.map +1 -1
  153. package/dist/admin/translations/es.json.mjs +5 -2
  154. package/dist/admin/translations/es.json.mjs.map +1 -1
  155. package/dist/admin/translations/fr.json.js +10 -2
  156. package/dist/admin/translations/fr.json.js.map +1 -1
  157. package/dist/admin/translations/fr.json.mjs +10 -2
  158. package/dist/admin/translations/fr.json.mjs.map +1 -1
  159. package/dist/admin/utils/validation.js +19 -7
  160. package/dist/admin/utils/validation.js.map +1 -1
  161. package/dist/admin/utils/validation.mjs +19 -7
  162. package/dist/admin/utils/validation.mjs.map +1 -1
  163. package/dist/server/controllers/content-types.js +11 -1
  164. package/dist/server/controllers/content-types.js.map +1 -1
  165. package/dist/server/controllers/content-types.mjs +11 -1
  166. package/dist/server/controllers/content-types.mjs.map +1 -1
  167. package/dist/server/controllers/relations.js +2 -2
  168. package/dist/server/controllers/relations.js.map +1 -1
  169. package/dist/server/controllers/relations.mjs +2 -2
  170. package/dist/server/controllers/relations.mjs.map +1 -1
  171. package/dist/server/controllers/validation/index.js +14 -2
  172. package/dist/server/controllers/validation/index.js.map +1 -1
  173. package/dist/server/controllers/validation/index.mjs +14 -2
  174. package/dist/server/controllers/validation/index.mjs.map +1 -1
  175. package/dist/server/history/services/lifecycles.js +23 -19
  176. package/dist/server/history/services/lifecycles.js.map +1 -1
  177. package/dist/server/history/services/lifecycles.mjs +23 -19
  178. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  179. package/dist/server/homepage/controllers/homepage.js +5 -0
  180. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  181. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  182. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  183. package/dist/server/homepage/routes/homepage.js +11 -0
  184. package/dist/server/homepage/routes/homepage.js.map +1 -1
  185. package/dist/server/homepage/routes/homepage.mjs +11 -0
  186. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  187. package/dist/server/homepage/services/homepage.js +86 -46
  188. package/dist/server/homepage/services/homepage.js.map +1 -1
  189. package/dist/server/homepage/services/homepage.mjs +86 -46
  190. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  191. package/dist/server/preview/services/preview-config.js +5 -1
  192. package/dist/server/preview/services/preview-config.js.map +1 -1
  193. package/dist/server/preview/services/preview-config.mjs +5 -1
  194. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  195. package/dist/server/preview/services/preview.js +4 -0
  196. package/dist/server/preview/services/preview.js.map +1 -1
  197. package/dist/server/preview/services/preview.mjs +4 -0
  198. package/dist/server/preview/services/preview.mjs.map +1 -1
  199. package/dist/server/services/data-mapper.js +4 -1
  200. package/dist/server/services/data-mapper.js.map +1 -1
  201. package/dist/server/services/data-mapper.mjs +4 -1
  202. package/dist/server/services/data-mapper.mjs.map +1 -1
  203. package/dist/server/services/document-manager.js +8 -1
  204. package/dist/server/services/document-manager.js.map +1 -1
  205. package/dist/server/services/document-manager.mjs +8 -1
  206. package/dist/server/services/document-manager.mjs.map +1 -1
  207. package/dist/server/services/document-metadata.js +3 -1
  208. package/dist/server/services/document-metadata.js.map +1 -1
  209. package/dist/server/services/document-metadata.mjs +3 -1
  210. package/dist/server/services/document-metadata.mjs.map +1 -1
  211. package/dist/server/services/utils/configuration/attributes.js +1 -1
  212. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  213. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  214. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  215. package/dist/server/services/utils/configuration/layouts.js +1 -1
  216. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  217. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  218. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  219. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  220. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  221. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  222. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  223. package/dist/server/services/utils/populate.js +11 -0
  224. package/dist/server/services/utils/populate.js.map +1 -1
  225. package/dist/server/services/utils/populate.mjs +11 -0
  226. package/dist/server/services/utils/populate.mjs.map +1 -1
  227. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  228. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  229. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  230. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  231. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  232. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  233. package/dist/server/src/homepage/index.d.ts +7 -0
  234. package/dist/server/src/homepage/index.d.ts.map +1 -1
  235. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  236. package/dist/server/src/homepage/services/homepage.d.ts +4 -1
  237. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  238. package/dist/server/src/homepage/services/index.d.ts +7 -0
  239. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  240. package/dist/server/src/index.d.ts +8 -0
  241. package/dist/server/src/index.d.ts.map +1 -1
  242. package/dist/server/src/preview/services/index.d.ts +1 -0
  243. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  244. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  245. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  246. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  247. package/dist/server/src/preview/utils.d.ts +1 -0
  248. package/dist/server/src/preview/utils.d.ts.map +1 -1
  249. package/dist/server/src/services/data-mapper.d.ts +1 -0
  250. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  251. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  252. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  253. package/dist/server/src/services/index.d.ts +8 -0
  254. package/dist/server/src/services/index.d.ts.map +1 -1
  255. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  256. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  257. package/dist/shared/contracts/collection-types.d.ts +0 -1
  258. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  259. package/dist/shared/contracts/homepage.d.ts +13 -0
  260. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  261. package/package.json +11 -9
@@ -1 +1 @@
1
- {"version":3,"file":"data.mjs","sources":["../../../../../admin/src/pages/EditView/utils/data.ts"],"sourcesContent":["import { generateNKeysBetween } from 'fractional-indexing';\nimport pipe from 'lodash/fp/pipe';\n\nimport { DOCUMENT_META_FIELDS } from '../../../constants/attributes';\n\nimport type { ComponentsDictionary, Document } from '../../../hooks/useDocument';\nimport type { Schema, UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * traverseData\n * -----------------------------------------------------------------------------------------------*/\n\n// Make only attributes required since it's the only one Content History has\ntype PartialSchema = Partial<Schema.Schema> & Pick<Schema.Schema, 'attributes'>;\n\ntype Predicate = <TAttribute extends Schema.Attribute.AnyAttribute>(\n attribute: TAttribute,\n value: Schema.Attribute.Value<TAttribute>\n) => boolean;\ntype Transform = <TAttribute extends Schema.Attribute.AnyAttribute>(\n value: any,\n attribute: TAttribute\n) => any;\ntype AnyData = Omit<Document, 'id'>;\n\nconst BLOCK_LIST_ATTRIBUTE_KEYS = ['__component', '__temp_key__'];\n\n/**\n * @internal This function is used to traverse the data and transform the values.\n * Given a predicate function, it will transform the value (using the given transform function)\n * if the predicate returns true. If it finds that the attribute is a component or dynamiczone,\n * it will recursively traverse those data structures as well.\n *\n * It is possible to break the ContentManager by using this function incorrectly, for example,\n * if you transform a number into a string but the attribute type is a number, the ContentManager\n * will not be able to save the data and the Form will likely crash because the component it's\n * passing the data too won't succesfully be able to handle the value.\n */\nconst traverseData =\n (predicate: Predicate, transform: Transform) =>\n (schema: PartialSchema, components: ComponentsDictionary = {}) =>\n (data: AnyData = {}) => {\n const traverse = (datum: AnyData, attributes: Schema.Schema['attributes']) => {\n return Object.entries(datum).reduce<AnyData>((acc, [key, value]) => {\n const attribute = attributes[key];\n\n /**\n * If the attribute is a block list attribute, we don't want to transform it.\n * We also don't want to transform null or undefined values.\n */\n if (BLOCK_LIST_ATTRIBUTE_KEYS.includes(key) || value === null || value === undefined) {\n acc[key] = value;\n return acc;\n }\n\n if (attribute.type === 'component') {\n if (attribute.repeatable) {\n const componentValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.Component<UID.Component, true>>;\n acc[key] = componentValue.map((componentData) =>\n traverse(componentData, components[attribute.component]?.attributes ?? {})\n );\n } else {\n const componentValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.Component<UID.Component, false>>;\n\n acc[key] = traverse(componentValue, components[attribute.component]?.attributes ?? {});\n }\n } else if (attribute.type === 'dynamiczone') {\n const dynamicZoneValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.DynamicZone>;\n\n acc[key] = dynamicZoneValue.map((componentData) =>\n traverse(componentData, components[componentData.__component]?.attributes ?? {})\n );\n } else if (predicate(attribute, value)) {\n acc[key] = transform(value, attribute);\n } else {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n };\n\n return traverse(data, schema.attributes);\n };\n\n/* -------------------------------------------------------------------------------------------------\n * removeProhibitedFields\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal Removes all the fields that are not allowed.\n */\nconst removeProhibitedFields = (prohibitedFields: Schema.Attribute.Kind[]) =>\n traverseData(\n (attribute) => prohibitedFields.includes(attribute.type),\n () => ''\n );\n\n/* -------------------------------------------------------------------------------------------------\n * prepareRelations\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Sets all relation values to an empty array.\n */\nconst prepareRelations = traverseData(\n (attribute) => attribute.type === 'relation',\n () => ({\n connect: [],\n disconnect: [],\n })\n);\n\n/* -------------------------------------------------------------------------------------------------\n * prepareTempKeys\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each component and dynamiczone item. This gives us\n * a stable identifier regardless of its ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = traverseData(\n (attribute) =>\n (attribute.type === 'component' && attribute.repeatable) || attribute.type === 'dynamiczone',\n (data) => {\n if (Array.isArray(data) && data.length > 0) {\n const keys = generateNKeysBetween(undefined, undefined, data.length);\n\n return data.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n }\n\n return data;\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * removeFieldsThatDontExistOnSchema\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Fields that don't exist in the schema like createdAt etc. are only on the first level (not nested),\n * as such we don't need to traverse the components to remove them.\n */\nconst removeFieldsThatDontExistOnSchema = (schema: PartialSchema) => (data: AnyData) => {\n const schemaKeys = Object.keys(schema.attributes);\n const dataKeys = Object.keys(data);\n\n const keysToRemove = dataKeys.filter((key) => !schemaKeys.includes(key));\n\n const revisedData = [...keysToRemove, ...DOCUMENT_META_FIELDS].reduce((acc, key) => {\n delete acc[key];\n\n return acc;\n }, structuredClone(data));\n\n return revisedData;\n};\n\n/**\n * @internal\n * @description We need to remove null fields from the data-structure because it will pass it\n * to the specific inputs breaking them as most would prefer empty strings or `undefined` if\n * they're controlled / uncontrolled.\n */\nconst removeNullValues = (data: AnyData) => {\n return Object.entries(data).reduce<AnyData>((acc, [key, value]) => {\n if (value === null) {\n return acc;\n }\n\n acc[key] = value;\n\n return acc;\n }, {});\n};\n\n/* -------------------------------------------------------------------------------------------------\n * transformDocuments\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Takes a document data structure (this could be from the API or a default form structure)\n * and applies consistent data transformations to it. This is also used when we add new components to the\n * form to ensure the data is correctly prepared from their default state e.g. relations are set to an empty array.\n */\nconst transformDocument =\n (schema: PartialSchema, components: ComponentsDictionary = {}) =>\n (document: AnyData) => {\n const transformations = pipe(\n removeFieldsThatDontExistOnSchema(schema),\n removeProhibitedFields(['password'])(schema, components),\n removeNullValues,\n prepareRelations(schema, components),\n prepareTempKeys(schema, components)\n );\n\n return transformations(document);\n };\n\nexport {\n removeProhibitedFields,\n prepareRelations,\n prepareTempKeys,\n removeFieldsThatDontExistOnSchema,\n transformDocument,\n};\nexport type { AnyData };\n"],"names":["BLOCK_LIST_ATTRIBUTE_KEYS","traverseData","predicate","transform","schema","components","data","traverse","datum","attributes","Object","entries","reduce","acc","key","value","attribute","includes","undefined","type","repeatable","componentValue","map","componentData","component","dynamicZoneValue","__component","removeProhibitedFields","prohibitedFields","prepareRelations","connect","disconnect","prepareTempKeys","Array","isArray","length","keys","generateNKeysBetween","index","__temp_key__","removeFieldsThatDontExistOnSchema","schemaKeys","dataKeys","keysToRemove","filter","revisedData","DOCUMENT_META_FIELDS","structuredClone","removeNullValues","transformDocument","document","transformations","pipe"],"mappings":"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"}
1
+ {"version":3,"file":"data.mjs","sources":["../../../../../admin/src/pages/EditView/utils/data.ts"],"sourcesContent":["import { createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { generateNKeysBetween } from 'fractional-indexing';\nimport pipe from 'lodash/fp/pipe';\n\nimport { DOCUMENT_META_FIELDS } from '../../../constants/attributes';\n\nimport type { ComponentsDictionary, Document } from '../../../hooks/useDocument';\nimport type { Schema, UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * traverseData\n * -----------------------------------------------------------------------------------------------*/\n\n// Make only attributes required since it's the only one Content History has\ntype PartialSchema = Partial<Schema.Schema> & Pick<Schema.Schema, 'attributes'>;\n\ntype Predicate = <TAttribute extends Schema.Attribute.AnyAttribute>(\n attribute: TAttribute,\n value: Schema.Attribute.Value<TAttribute>\n) => boolean;\ntype Transform = <TAttribute extends Schema.Attribute.AnyAttribute>(\n value: any,\n attribute: TAttribute\n) => any;\ntype AnyData = Omit<Document, 'id'>;\n\nconst BLOCK_LIST_ATTRIBUTE_KEYS = ['__component', '__temp_key__'];\n\n/**\n * @internal This function is used to traverse the data and transform the values.\n * Given a predicate function, it will transform the value (using the given transform function)\n * if the predicate returns true. If it finds that the attribute is a component or dynamiczone,\n * it will recursively traverse those data structures as well.\n *\n * It is possible to break the ContentManager by using this function incorrectly, for example,\n * if you transform a number into a string but the attribute type is a number, the ContentManager\n * will not be able to save the data and the Form will likely crash because the component it's\n * passing the data too won't succesfully be able to handle the value.\n */\nconst traverseData =\n (predicate: Predicate, transform: Transform) =>\n (schema: PartialSchema, components: ComponentsDictionary = {}) =>\n (data: AnyData = {}) => {\n const traverse = (datum: AnyData, attributes: Schema.Schema['attributes']) => {\n return Object.entries(datum).reduce<AnyData>((acc, [key, value]) => {\n const attribute = attributes[key];\n\n /**\n * If the attribute is a block list attribute, we don't want to transform it.\n * We also don't want to transform null or undefined values.\n */\n if (BLOCK_LIST_ATTRIBUTE_KEYS.includes(key) || value === null || value === undefined) {\n acc[key] = value;\n return acc;\n }\n\n if (attribute.type === 'component') {\n if (attribute.repeatable) {\n const componentValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.Component<UID.Component, true>>;\n acc[key] = componentValue.map((componentData) =>\n traverse(componentData, components[attribute.component]?.attributes ?? {})\n );\n } else {\n const componentValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.Component<UID.Component, false>>;\n\n acc[key] = traverse(componentValue, components[attribute.component]?.attributes ?? {});\n }\n } else if (attribute.type === 'dynamiczone') {\n const dynamicZoneValue = (\n predicate(attribute, value) ? transform(value, attribute) : value\n ) as Schema.Attribute.Value<Schema.Attribute.DynamicZone>;\n\n acc[key] = dynamicZoneValue.map((componentData) =>\n traverse(componentData, components[componentData.__component]?.attributes ?? {})\n );\n } else if (predicate(attribute, value)) {\n acc[key] = transform(value, attribute);\n } else {\n acc[key] = value;\n }\n\n return acc;\n }, {});\n };\n\n return traverse(data, schema.attributes);\n };\n\n/* -------------------------------------------------------------------------------------------------\n * removeProhibitedFields\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal Removes all the fields that are not allowed.\n */\nconst removeProhibitedFields = (prohibitedFields: Schema.Attribute.Kind[]) =>\n traverseData(\n (attribute) => prohibitedFields.includes(attribute.type),\n () => ''\n );\n\n/* -------------------------------------------------------------------------------------------------\n * prepareRelations\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Sets all relation values to an empty array.\n */\nconst prepareRelations = traverseData(\n (attribute) => attribute.type === 'relation',\n () => ({\n connect: [],\n disconnect: [],\n })\n);\n\n/* -------------------------------------------------------------------------------------------------\n * prepareTempKeys\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each component and dynamiczone item. This gives us\n * a stable identifier regardless of its ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = traverseData(\n (attribute) =>\n (attribute.type === 'component' && attribute.repeatable) || attribute.type === 'dynamiczone',\n (data) => {\n if (Array.isArray(data) && data.length > 0) {\n const keys = generateNKeysBetween(undefined, undefined, data.length);\n\n return data.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n }\n\n return data;\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * removeFieldsThatDontExistOnSchema\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Fields that don't exist in the schema like createdAt etc. are only on the first level (not nested),\n * as such we don't need to traverse the components to remove them.\n */\nconst removeFieldsThatDontExistOnSchema = (schema: PartialSchema) => (data: AnyData) => {\n const schemaKeys = Object.keys(schema.attributes);\n const dataKeys = Object.keys(data);\n\n const keysToRemove = dataKeys.filter((key) => !schemaKeys.includes(key));\n\n const revisedData = [...keysToRemove, ...DOCUMENT_META_FIELDS].reduce((acc, key) => {\n delete acc[key];\n\n return acc;\n }, structuredClone(data));\n\n return revisedData;\n};\n\n/**\n * @internal\n * @description We need to remove null fields from the data-structure because it will pass it\n * to the specific inputs breaking them as most would prefer empty strings or `undefined` if\n * they're controlled / uncontrolled.\n */\nconst removeNullValues = (data: AnyData) => {\n return Object.entries(data).reduce<AnyData>((acc, [key, value]) => {\n if (value === null) {\n return acc;\n }\n\n acc[key] = value;\n\n return acc;\n }, {});\n};\n\n/* -------------------------------------------------------------------------------------------------\n * transformDocuments\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Takes a document data structure (this could be from the API or a default form structure)\n * and applies consistent data transformations to it. This is also used when we add new components to the\n * form to ensure the data is correctly prepared from their default state e.g. relations are set to an empty array.\n */\nconst transformDocument =\n (schema: PartialSchema, components: ComponentsDictionary = {}) =>\n (document: AnyData) => {\n const transformations = pipe(\n removeFieldsThatDontExistOnSchema(schema),\n removeProhibitedFields(['password'])(schema, components),\n removeNullValues,\n prepareRelations(schema, components),\n prepareTempKeys(schema, components)\n );\n\n return transformations(document);\n };\n\ntype HandleOptions = {\n schema?: Schema.ContentType | Schema.Component;\n initialValues?: AnyData;\n components?: Record<string, Schema.Component>;\n};\n\ntype RemovedFieldPath = string;\n\n/**\n * Removes values from the data object if their corresponding attribute has a\n * visibility condition that evaluates to false.\n *\n * @param {object} schema - The content type schema (with attributes).\n * @param {object} data - The data object to filter based on visibility.\n * @returns {object} A new data object with only visible fields retained.\n */\nconst handleInvisibleAttributes = (\n data: AnyData,\n { schema, initialValues = {}, components = {} }: HandleOptions,\n path: string[] = [],\n removedAttributes: RemovedFieldPath[] = []\n): {\n data: AnyData;\n removedAttributes: RemovedFieldPath[];\n} => {\n if (!schema?.attributes) return { data, removedAttributes };\n\n const rulesEngine = createRulesEngine();\n const result: AnyData = {};\n\n for (const [attrName, attrDef] of Object.entries(schema.attributes)) {\n const fullPath = [...path, attrName].join('.');\n const condition = attrDef?.conditions?.visible;\n const isVisible = condition ? rulesEngine.evaluate(condition, { ...data, ...result }) : true;\n\n if (!isVisible) {\n removedAttributes.push(fullPath);\n continue;\n }\n\n const userProvided = Object.prototype.hasOwnProperty.call(data, attrName);\n const currentValue = userProvided ? data[attrName] : undefined;\n const initialValue = initialValues?.[attrName];\n\n // 🔹 Handle components\n if (attrDef.type === 'component') {\n const compSchema = components[attrDef.component];\n const value = currentValue ?? initialValue;\n\n if (!value) {\n result[attrName] = attrDef.repeatable ? [] : null;\n continue;\n }\n\n if (attrDef.repeatable && Array.isArray(value)) {\n result[attrName] = value.map(\n (item, index) =>\n handleInvisibleAttributes(\n item,\n {\n schema: compSchema,\n initialValues: initialValue?.[index] ?? {},\n components,\n },\n [...path, `${attrName}[${index}]`],\n removedAttributes\n ).data\n );\n } else {\n result[attrName] = handleInvisibleAttributes(\n value,\n {\n schema: compSchema,\n initialValues: initialValue ?? {},\n components,\n },\n [...path, attrName],\n removedAttributes\n ).data;\n }\n\n continue;\n }\n\n // 🔸 Handle dynamic zones\n if (attrDef.type === 'dynamiczone') {\n if (!Array.isArray(currentValue)) {\n result[attrName] = [];\n continue;\n }\n\n result[attrName] = currentValue.map((dzItem, index) => {\n const compUID = dzItem?.__component;\n const compSchema = components[compUID];\n\n const cleaned = handleInvisibleAttributes(\n dzItem,\n {\n schema: compSchema,\n initialValues: initialValue?.[index] ?? {},\n components,\n },\n [...path, `${attrName}[${index}]`],\n removedAttributes\n ).data;\n\n return {\n __component: compUID,\n ...cleaned,\n };\n });\n\n continue;\n }\n\n // 🟡 Handle scalar/primitive\n if (currentValue !== undefined) {\n result[attrName] = currentValue;\n } else if (initialValue !== undefined) {\n result[attrName] = initialValue;\n } else {\n if (attrName === 'id' || attrName === 'documentId') {\n // If the attribute is 'id', we don't want to set it to null, as it should not be removed.\n continue;\n }\n result[attrName] = null;\n }\n }\n\n return {\n data: result,\n removedAttributes,\n };\n};\n\nexport {\n removeProhibitedFields,\n prepareRelations,\n prepareTempKeys,\n removeFieldsThatDontExistOnSchema,\n transformDocument,\n handleInvisibleAttributes,\n};\nexport type { AnyData };\n"],"names":["BLOCK_LIST_ATTRIBUTE_KEYS","traverseData","predicate","transform","schema","components","data","traverse","datum","attributes","Object","entries","reduce","acc","key","value","attribute","includes","undefined","type","repeatable","componentValue","map","componentData","component","dynamicZoneValue","__component","removeProhibitedFields","prohibitedFields","prepareRelations","connect","disconnect","prepareTempKeys","Array","isArray","length","keys","generateNKeysBetween","index","__temp_key__","removeFieldsThatDontExistOnSchema","schemaKeys","dataKeys","keysToRemove","filter","revisedData","DOCUMENT_META_FIELDS","structuredClone","removeNullValues","transformDocument","document","transformations","pipe","handleInvisibleAttributes","initialValues","path","removedAttributes","rulesEngine","createRulesEngine","result","attrName","attrDef","fullPath","join","condition","conditions","visible","isVisible","evaluate","push","userProvided","prototype","hasOwnProperty","call","currentValue","initialValue","compSchema","item","dzItem","compUID","cleaned"],"mappings":";;;;;AA0BA,MAAMA,yBAA4B,GAAA;AAAC,IAAA,aAAA;AAAe,IAAA;AAAe,CAAA;AAEjE;;;;;;;;;;AAUC,IACD,MAAMC,YAAAA,GACJ,CAACC,SAAAA,EAAsBC,YACvB,CAACC,MAAAA,EAAuBC,UAAmC,GAAA,EAAE,GAC7D,CAACC,IAAAA,GAAgB,EAAE,GAAA;YACjB,MAAMC,QAAAA,GAAW,CAACC,KAAgBC,EAAAA,UAAAA,GAAAA;gBAChC,OAAOC,MAAAA,CAAOC,OAAO,CAACH,KAAOI,CAAAA,CAAAA,MAAM,CAAU,CAACC,GAAAA,EAAK,CAACC,GAAAA,EAAKC,KAAM,CAAA,GAAA;oBAC7D,MAAMC,SAAAA,GAAYP,UAAU,CAACK,GAAI,CAAA;AAEjC;;;YAIA,IAAId,0BAA0BiB,QAAQ,CAACH,QAAQC,KAAU,KAAA,IAAA,IAAQA,UAAUG,SAAW,EAAA;wBACpFL,GAAG,CAACC,IAAI,GAAGC,KAAAA;wBACX,OAAOF,GAAAA;AACT;oBAEA,IAAIG,SAAAA,CAAUG,IAAI,KAAK,WAAa,EAAA;wBAClC,IAAIH,SAAAA,CAAUI,UAAU,EAAE;AACxB,4BAAA,MAAMC,iBACJnB,SAAUc,CAAAA,SAAAA,EAAWD,KAASZ,CAAAA,GAAAA,SAAAA,CAAUY,OAAOC,SAAaD,CAAAA,GAAAA,KAAAA;AAE9DF,4BAAAA,GAAG,CAACC,GAAI,CAAA,GAAGO,cAAeC,CAAAA,GAAG,CAAC,CAACC,aAAAA,GAC7BhB,QAASgB,CAAAA,aAAAA,EAAelB,UAAU,CAACW,SAAAA,CAAUQ,SAAS,CAAC,EAAEf,cAAc,EAAC,CAAA,CAAA;yBAErE,MAAA;AACL,4BAAA,MAAMY,iBACJnB,SAAUc,CAAAA,SAAAA,EAAWD,KAASZ,CAAAA,GAAAA,SAAAA,CAAUY,OAAOC,SAAaD,CAAAA,GAAAA,KAAAA;AAG9DF,4BAAAA,GAAG,CAACC,GAAAA,CAAI,GAAGP,QAAAA,CAASc,cAAgBhB,EAAAA,UAAU,CAACW,SAAAA,CAAUQ,SAAS,CAAC,EAAEf,UAAAA,IAAc,EAAC,CAAA;AACtF;AACF,qBAAA,MAAO,IAAIO,SAAAA,CAAUG,IAAI,KAAK,aAAe,EAAA;AAC3C,wBAAA,MAAMM,mBACJvB,SAAUc,CAAAA,SAAAA,EAAWD,KAASZ,CAAAA,GAAAA,SAAAA,CAAUY,OAAOC,SAAaD,CAAAA,GAAAA,KAAAA;AAG9DF,wBAAAA,GAAG,CAACC,GAAI,CAAA,GAAGW,gBAAiBH,CAAAA,GAAG,CAAC,CAACC,aAAAA,GAC/BhB,QAASgB,CAAAA,aAAAA,EAAelB,UAAU,CAACkB,aAAAA,CAAcG,WAAW,CAAC,EAAEjB,cAAc,EAAC,CAAA,CAAA;qBAE3E,MAAA,IAAIP,SAAUc,CAAAA,SAAAA,EAAWD,KAAQ,CAAA,EAAA;AACtCF,wBAAAA,GAAG,CAACC,GAAAA,CAAI,GAAGX,SAAAA,CAAUY,KAAOC,EAAAA,SAAAA,CAAAA;qBACvB,MAAA;wBACLH,GAAG,CAACC,IAAI,GAAGC,KAAAA;AACb;oBAEA,OAAOF,GAAAA;AACT,iBAAA,EAAG,EAAC,CAAA;AACN,aAAA;YAEA,OAAON,QAAAA,CAASD,IAAMF,EAAAA,MAAAA,CAAOK,UAAU,CAAA;AACzC,SAAA;AAEF;;;;AAMC,IACKkB,MAAAA,sBAAAA,GAAyB,CAACC,gBAAAA,GAC9B3B,YACE,CAAA,CAACe,SAAcY,GAAAA,gBAAAA,CAAiBX,QAAQ,CAACD,SAAUG,CAAAA,IAAI,GACvD,IAAM,EAAA;AAGV;;;;;IAQA,MAAMU,gBAAmB5B,GAAAA,YAAAA,CACvB,CAACe,SAAAA,GAAcA,UAAUG,IAAI,KAAK,UAClC,EAAA,KAAO;AACLW,QAAAA,OAAAA,EAAS,EAAE;AACXC,QAAAA,UAAAA,EAAY;KACd,CAAA;AAGF;;;;;;AAQC,UACKC,eAAkB/B,GAAAA,YAAAA,CACtB,CAACe,SAAAA,GACC,SAAWG,CAAAA,IAAI,KAAK,WAAA,IAAeH,UAAUI,UAAU,IAAKJ,UAAUG,IAAI,KAAK,eACjF,CAACb,IAAAA,GAAAA;AACC,IAAA,IAAI2B,MAAMC,OAAO,CAAC5B,SAASA,IAAK6B,CAAAA,MAAM,GAAG,CAAG,EAAA;AAC1C,QAAA,MAAMC,IAAOC,GAAAA,oBAAAA,CAAqBnB,SAAWA,EAAAA,SAAAA,EAAWZ,KAAK6B,MAAM,CAAA;AAEnE,QAAA,OAAO7B,KAAKgB,GAAG,CAAC,CAACd,KAAAA,EAAO8B,SAAW;AACjC,gBAAA,GAAG9B,KAAK;gBACR+B,YAAcH,EAAAA,IAAI,CAACE,KAAM;aAC3B,CAAA,CAAA;AACF;IAEA,OAAOhC,IAAAA;AACT,CAAA;AAGF;;;;;;AAQC,IACKkC,MAAAA,iCAAAA,GAAoC,CAACpC,MAAAA,GAA0B,CAACE,IAAAA,GAAAA;AACpE,QAAA,MAAMmC,UAAa/B,GAAAA,MAAAA,CAAO0B,IAAI,CAAChC,OAAOK,UAAU,CAAA;QAChD,MAAMiC,QAAAA,GAAWhC,MAAO0B,CAAAA,IAAI,CAAC9B,IAAAA,CAAAA;QAE7B,MAAMqC,YAAAA,GAAeD,SAASE,MAAM,CAAC,CAAC9B,GAAQ,GAAA,CAAC2B,UAAWxB,CAAAA,QAAQ,CAACH,GAAAA,CAAAA,CAAAA;AAEnE,QAAA,MAAM+B,WAAc,GAAA;AAAIF,YAAAA,GAAAA,YAAAA;AAAiBG,YAAAA,GAAAA;SAAqB,CAAClC,MAAM,CAAC,CAACC,GAAKC,EAAAA,GAAAA,GAAAA;YAC1E,OAAOD,GAAG,CAACC,GAAI,CAAA;YAEf,OAAOD,GAAAA;AACT,SAAA,EAAGkC,eAAgBzC,CAAAA,IAAAA,CAAAA,CAAAA;QAEnB,OAAOuC,WAAAA;AACT;AAEA;;;;;IAMA,MAAMG,mBAAmB,CAAC1C,IAAAA,GAAAA;IACxB,OAAOI,MAAAA,CAAOC,OAAO,CAACL,IAAMM,CAAAA,CAAAA,MAAM,CAAU,CAACC,GAAAA,EAAK,CAACC,GAAAA,EAAKC,KAAM,CAAA,GAAA;AAC5D,QAAA,IAAIA,UAAU,IAAM,EAAA;YAClB,OAAOF,GAAAA;AACT;QAEAA,GAAG,CAACC,IAAI,GAAGC,KAAAA;QAEX,OAAOF,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN,CAAA;AAEA;;;;;;;IAUA,MAAMoC,oBACJ,CAAC7C,MAAAA,EAAuBC,aAAmC,EAAE,GAC7D,CAAC6C,QAAAA,GAAAA;AACC,QAAA,MAAMC,eAAkBC,GAAAA,IAAAA,CACtBZ,iCAAkCpC,CAAAA,MAAAA,CAAAA,EAClCuB,sBAAuB,CAAA;AAAC,YAAA;AAAW,SAAA,CAAA,CAAEvB,QAAQC,UAC7C2C,CAAAA,EAAAA,gBAAAA,EACAnB,iBAAiBzB,MAAQC,EAAAA,UAAAA,CAAAA,EACzB2B,gBAAgB5B,MAAQC,EAAAA,UAAAA,CAAAA,CAAAA;AAG1B,QAAA,OAAO8C,eAAgBD,CAAAA,QAAAA,CAAAA;AACzB;AAUF;;;;;;;IAQA,MAAMG,4BAA4B,CAChC/C,IAAAA,EACA,EAAEF,MAAM,EAAEkD,gBAAgB,EAAE,EAAEjD,UAAa,GAAA,EAAE,EAAiB,EAC9DkD,OAAiB,EAAE,EACnBC,oBAAwC,EAAE,GAAA;IAK1C,IAAI,CAACpD,MAAQK,EAAAA,UAAAA,EAAY,OAAO;AAAEH,QAAAA,IAAAA;AAAMkD,QAAAA;AAAkB,KAAA;AAE1D,IAAA,MAAMC,WAAcC,GAAAA,iBAAAA,EAAAA;AACpB,IAAA,MAAMC,SAAkB,EAAC;IAEzB,KAAK,MAAM,CAACC,QAAAA,EAAUC,OAAQ,CAAA,IAAInD,OAAOC,OAAO,CAACP,MAAOK,CAAAA,UAAU,CAAG,CAAA;AACnE,QAAA,MAAMqD,QAAW,GAAA;AAAIP,YAAAA,GAAAA,IAAAA;AAAMK,YAAAA;AAAS,SAAA,CAACG,IAAI,CAAC,GAAA,CAAA;QAC1C,MAAMC,SAAAA,GAAYH,SAASI,UAAYC,EAAAA,OAAAA;AACvC,QAAA,MAAMC,SAAYH,GAAAA,SAAAA,GAAYP,WAAYW,CAAAA,QAAQ,CAACJ,SAAW,EAAA;AAAE,YAAA,GAAG1D,IAAI;AAAE,YAAA,GAAGqD;SAAY,CAAA,GAAA,IAAA;AAExF,QAAA,IAAI,CAACQ,SAAW,EAAA;AACdX,YAAAA,iBAAAA,CAAkBa,IAAI,CAACP,QAAAA,CAAAA;AACvB,YAAA;AACF;QAEA,MAAMQ,YAAAA,GAAe5D,OAAO6D,SAAS,CAACC,cAAc,CAACC,IAAI,CAACnE,IAAMsD,EAAAA,QAAAA,CAAAA;AAChE,QAAA,MAAMc,YAAeJ,GAAAA,YAAAA,GAAehE,IAAI,CAACsD,SAAS,GAAG1C,SAAAA;QACrD,MAAMyD,YAAAA,GAAerB,aAAe,GAACM,QAAS,CAAA;;QAG9C,IAAIC,OAAAA,CAAQ1C,IAAI,KAAK,WAAa,EAAA;AAChC,YAAA,MAAMyD,UAAavE,GAAAA,UAAU,CAACwD,OAAAA,CAAQrC,SAAS,CAAC;AAChD,YAAA,MAAMT,QAAQ2D,YAAgBC,IAAAA,YAAAA;AAE9B,YAAA,IAAI,CAAC5D,KAAO,EAAA;AACV4C,gBAAAA,MAAM,CAACC,QAAS,CAAA,GAAGC,QAAQzC,UAAU,GAAG,EAAE,GAAG,IAAA;AAC7C,gBAAA;AACF;AAEA,YAAA,IAAIyC,QAAQzC,UAAU,IAAIa,KAAMC,CAAAA,OAAO,CAACnB,KAAQ,CAAA,EAAA;gBAC9C4C,MAAM,CAACC,QAAS,CAAA,GAAG7C,KAAMO,CAAAA,GAAG,CAC1B,CAACuD,IAAAA,EAAMvC,KACLe,GAAAA,yBAAAA,CACEwB,IACA,EAAA;wBACEzE,MAAQwE,EAAAA,UAAAA;AACRtB,wBAAAA,aAAAA,EAAeqB,YAAc,GAACrC,KAAM,CAAA,IAAI,EAAC;AACzCjC,wBAAAA;qBAEF,EAAA;AAAIkD,wBAAAA,GAAAA,IAAAA;AAAM,wBAAA,CAAC,EAAEK,QAAS,CAAA,CAAC,EAAEtB,KAAAA,CAAM,CAAC;AAAE,qBAAA,EAClCkB,mBACAlD,IAAI,CAAA;aAEL,MAAA;AACLqD,gBAAAA,MAAM,CAACC,QAAAA,CAAS,GAAGP,yBAAAA,CACjBtC,KACA,EAAA;oBACEX,MAAQwE,EAAAA,UAAAA;AACRtB,oBAAAA,aAAAA,EAAeqB,gBAAgB,EAAC;AAChCtE,oBAAAA;iBAEF,EAAA;AAAIkD,oBAAAA,GAAAA,IAAAA;AAAMK,oBAAAA;AAAS,iBAAA,EACnBJ,mBACAlD,IAAI;AACR;AAEA,YAAA;AACF;;QAGA,IAAIuD,OAAAA,CAAQ1C,IAAI,KAAK,aAAe,EAAA;AAClC,YAAA,IAAI,CAACc,KAAAA,CAAMC,OAAO,CAACwC,YAAe,CAAA,EAAA;gBAChCf,MAAM,CAACC,QAAS,CAAA,GAAG,EAAE;AACrB,gBAAA;AACF;AAEAD,YAAAA,MAAM,CAACC,QAAS,CAAA,GAAGc,aAAapD,GAAG,CAAC,CAACwD,MAAQxC,EAAAA,KAAAA,GAAAA;AAC3C,gBAAA,MAAMyC,UAAUD,MAAQpD,EAAAA,WAAAA;gBACxB,MAAMkD,UAAAA,GAAavE,UAAU,CAAC0E,OAAQ,CAAA;gBAEtC,MAAMC,OAAAA,GAAU3B,0BACdyB,MACA,EAAA;oBACE1E,MAAQwE,EAAAA,UAAAA;AACRtB,oBAAAA,aAAAA,EAAeqB,YAAc,GAACrC,KAAM,CAAA,IAAI,EAAC;AACzCjC,oBAAAA;iBAEF,EAAA;AAAIkD,oBAAAA,GAAAA,IAAAA;AAAM,oBAAA,CAAC,EAAEK,QAAS,CAAA,CAAC,EAAEtB,KAAAA,CAAM,CAAC;AAAE,iBAAA,EAClCkB,mBACAlD,IAAI;gBAEN,OAAO;oBACLoB,WAAaqD,EAAAA,OAAAA;AACb,oBAAA,GAAGC;AACL,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA;AACF;;AAGA,QAAA,IAAIN,iBAAiBxD,SAAW,EAAA;YAC9ByC,MAAM,CAACC,SAAS,GAAGc,YAAAA;SACd,MAAA,IAAIC,iBAAiBzD,SAAW,EAAA;YACrCyC,MAAM,CAACC,SAAS,GAAGe,YAAAA;SACd,MAAA;YACL,IAAIf,QAAAA,KAAa,IAAQA,IAAAA,QAAAA,KAAa,YAAc,EAAA;AAElD,gBAAA;AACF;YACAD,MAAM,CAACC,SAAS,GAAG,IAAA;AACrB;AACF;IAEA,OAAO;QACLtD,IAAMqD,EAAAA,MAAAA;AACNH,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -5,6 +5,7 @@ var React = require('react');
5
5
  var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var designSystem = require('@strapi/design-system');
7
7
  var Icons = require('@strapi/icons');
8
+ var Symbols = require('@strapi/icons/symbols');
8
9
  var isEqual = require('lodash/isEqual');
9
10
  var qs = require('qs');
10
11
  var reactIntl = require('react-intl');
@@ -193,159 +194,253 @@ const ListViewPage = ()=>{
193
194
  })
194
195
  });
195
196
  };
196
- return /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Page.Main, {
197
- children: [
198
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
199
- children: `${contentTypeTitle}`
200
- }),
201
- /*#__PURE__*/ jsxRuntime.jsx(LayoutsHeaderCustom, {
202
- primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {}) : null,
203
- subtitle: formatMessage({
204
- id: translations.getTranslation('pages.ListView.header-subtitle'),
205
- defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
206
- }, {
207
- number: pagination?.total
197
+ if (!isFetching && results.length === 0) {
198
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
199
+ children: [
200
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Introduction, {
201
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
202
+ paddingTop: 5
203
+ })
208
204
  }),
209
- title: contentTypeTitle,
210
- navigationAction: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.BackButton, {})
211
- }),
212
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Action, {
213
- endActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
205
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Page.Main, {
214
206
  children: [
215
- /*#__PURE__*/ jsxRuntime.jsx(InjectionZone.InjectionZone, {
216
- area: "listView.actions"
207
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
208
+ children: `${contentTypeTitle}`
217
209
  }),
218
- /*#__PURE__*/ jsxRuntime.jsx(ViewSettingsMenu.ViewSettingsMenu, {
219
- setHeaders: handleSetHeaders,
220
- resetHeaders: ()=>setDisplayedHeaders(list.layout),
221
- headers: displayedHeaders.map((header)=>header.name)
222
- })
223
- ]
224
- }),
225
- startActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
226
- children: [
227
- list.settings.searchable && /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.SearchInput, {
228
- disabled: results.length === 0,
229
- label: formatMessage({
230
- id: 'app.component.search.label',
231
- defaultMessage: 'Search for {target}'
210
+ /*#__PURE__*/ jsxRuntime.jsx(LayoutsHeaderCustom, {
211
+ primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {}) : null,
212
+ subtitle: formatMessage({
213
+ id: translations.getTranslation('pages.ListView.header-subtitle'),
214
+ defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
232
215
  }, {
233
- target: contentTypeTitle
216
+ number: pagination?.total
234
217
  }),
235
- placeholder: formatMessage({
236
- id: 'global.search',
237
- defaultMessage: 'Search'
218
+ title: contentTypeTitle,
219
+ navigationAction: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.BackButton, {})
220
+ }),
221
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Action, {
222
+ endActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
223
+ children: [
224
+ /*#__PURE__*/ jsxRuntime.jsx(InjectionZone.InjectionZone, {
225
+ area: "listView.actions"
226
+ }),
227
+ /*#__PURE__*/ jsxRuntime.jsx(ViewSettingsMenu.ViewSettingsMenu, {
228
+ setHeaders: handleSetHeaders,
229
+ resetHeaders: ()=>setDisplayedHeaders(list.layout),
230
+ headers: displayedHeaders.map((header)=>header.name)
231
+ })
232
+ ]
238
233
  }),
239
- trackedEvent: "didSearch"
234
+ startActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
235
+ children: [
236
+ list.settings.searchable && /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.SearchInput, {
237
+ disabled: results.length === 0,
238
+ label: formatMessage({
239
+ id: 'app.component.search.label',
240
+ defaultMessage: 'Search for {target}'
241
+ }, {
242
+ target: contentTypeTitle
243
+ }),
244
+ placeholder: formatMessage({
245
+ id: 'global.search',
246
+ defaultMessage: 'Search'
247
+ }),
248
+ trackedEvent: "didSearch"
249
+ }),
250
+ list.settings.filterable && schema ? /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters, {
251
+ disabled: results.length === 0,
252
+ schema: schema
253
+ }) : null
254
+ ]
255
+ })
240
256
  }),
241
- list.settings.filterable && schema ? /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters, {
242
- disabled: results.length === 0,
243
- schema: schema
244
- }) : null
257
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
258
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
259
+ background: "neutral0",
260
+ shadow: "filterShadow",
261
+ hasRadius: true,
262
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
263
+ action: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {
264
+ variant: "secondary"
265
+ }) : null,
266
+ content: formatMessage({
267
+ id: 'app.components.EmptyStateLayout.content-document',
268
+ defaultMessage: 'No content found'
269
+ }),
270
+ hasRadius: true,
271
+ icon: /*#__PURE__*/ jsxRuntime.jsx(Symbols.EmptyDocuments, {
272
+ width: "16rem"
273
+ })
274
+ })
275
+ })
276
+ })
245
277
  ]
246
278
  })
279
+ ]
280
+ });
281
+ }
282
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
283
+ children: [
284
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Introduction, {
285
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
286
+ paddingTop: 5
287
+ })
247
288
  }),
248
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
249
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
250
- gap: 4,
251
- direction: "column",
252
- alignItems: "stretch",
253
- children: [
254
- /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Root, {
255
- rows: results,
256
- headers: tableHeaders,
257
- isLoading: isFetching,
289
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Page.Main, {
290
+ children: [
291
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
292
+ children: `${contentTypeTitle}`
293
+ }),
294
+ /*#__PURE__*/ jsxRuntime.jsx(LayoutsHeaderCustom, {
295
+ primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {}) : null,
296
+ subtitle: formatMessage({
297
+ id: translations.getTranslation('pages.ListView.header-subtitle'),
298
+ defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
299
+ }, {
300
+ number: pagination?.total
301
+ }),
302
+ title: contentTypeTitle,
303
+ navigationAction: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.BackButton, {})
304
+ }),
305
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Action, {
306
+ endActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
307
+ children: [
308
+ /*#__PURE__*/ jsxRuntime.jsx(InjectionZone.InjectionZone, {
309
+ area: "listView.actions"
310
+ }),
311
+ /*#__PURE__*/ jsxRuntime.jsx(ViewSettingsMenu.ViewSettingsMenu, {
312
+ setHeaders: handleSetHeaders,
313
+ resetHeaders: ()=>setDisplayedHeaders(list.layout),
314
+ headers: displayedHeaders.map((header)=>header.name)
315
+ })
316
+ ]
317
+ }),
318
+ startActions: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
319
+ children: [
320
+ list.settings.searchable && /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.SearchInput, {
321
+ disabled: results.length === 0,
322
+ label: formatMessage({
323
+ id: 'app.component.search.label',
324
+ defaultMessage: 'Search for {target}'
325
+ }, {
326
+ target: contentTypeTitle
327
+ }),
328
+ placeholder: formatMessage({
329
+ id: 'global.search',
330
+ defaultMessage: 'Search'
331
+ }),
332
+ trackedEvent: "didSearch"
333
+ }),
334
+ list.settings.filterable && schema ? /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters, {
335
+ disabled: results.length === 0,
336
+ schema: schema
337
+ }) : null
338
+ ]
339
+ })
340
+ }),
341
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
342
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
343
+ gap: 4,
344
+ direction: "column",
345
+ alignItems: "stretch",
258
346
  children: [
259
- /*#__PURE__*/ jsxRuntime.jsx(TableActionsBar, {}),
260
- /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Content, {
347
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Root, {
348
+ rows: results,
349
+ headers: tableHeaders,
350
+ isLoading: isFetching,
261
351
  children: [
262
- /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Head, {
352
+ /*#__PURE__*/ jsxRuntime.jsx(TableActionsBar, {}),
353
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Content, {
263
354
  children: [
264
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.HeaderCheckboxCell, {}),
265
- tableHeaders.map((header)=>/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.HeaderCell, {
266
- ...header
267
- }, header.name))
268
- ]
269
- }),
270
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Loading, {}),
271
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Empty, {
272
- action: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {
273
- variant: "secondary"
274
- }) : null
275
- }),
276
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Body, {
277
- children: results.map((row)=>{
278
- return /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Row, {
279
- cursor: "pointer",
280
- onClick: handleRowClick(row.documentId),
355
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Head, {
281
356
  children: [
282
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.CheckboxCell, {
283
- id: row.id
284
- }),
285
- tableHeaders.map(({ cellFormatter, ...header })=>{
286
- if (header.name === 'status') {
287
- const { status } = row;
288
- return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
289
- children: /*#__PURE__*/ jsxRuntime.jsx(DocumentStatus.DocumentStatus, {
290
- status: status,
291
- maxWidth: 'min-content'
292
- })
293
- }, header.name);
294
- }
295
- if ([
296
- 'createdBy',
297
- 'updatedBy'
298
- ].includes(header.name.split('.')[0])) {
299
- // Display the users full name
300
- // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)
301
- // In this case, we display a dash
302
- return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
303
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
304
- textColor: "neutral800",
305
- children: row[header.name.split('.')[0]] ? users.getDisplayName(row[header.name.split('.')[0]]) : '-'
306
- })
307
- }, header.name);
308
- }
309
- if (typeof cellFormatter === 'function') {
310
- return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
311
- children: cellFormatter(row, header, {
312
- collectionType,
313
- model
357
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.HeaderCheckboxCell, {}),
358
+ tableHeaders.map((header)=>/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.HeaderCell, {
359
+ ...header
360
+ }, header.name))
361
+ ]
362
+ }),
363
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Loading, {}),
364
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Empty, {
365
+ action: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(CreateButton, {
366
+ variant: "secondary"
367
+ }) : null
368
+ }),
369
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Body, {
370
+ children: results.map((row)=>{
371
+ return /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Table.Row, {
372
+ cursor: "pointer",
373
+ onClick: handleRowClick(row.documentId),
374
+ children: [
375
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.CheckboxCell, {
376
+ id: row.id
377
+ }),
378
+ tableHeaders.map(({ cellFormatter, ...header })=>{
379
+ if (header.name === 'status') {
380
+ const { status } = row;
381
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
382
+ children: /*#__PURE__*/ jsxRuntime.jsx(DocumentStatus.DocumentStatus, {
383
+ status: status,
384
+ maxWidth: 'min-content'
385
+ })
386
+ }, header.name);
387
+ }
388
+ if ([
389
+ 'createdBy',
390
+ 'updatedBy'
391
+ ].includes(header.name.split('.')[0])) {
392
+ // Display the users full name
393
+ // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)
394
+ // In this case, we display a dash
395
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
396
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
397
+ textColor: "neutral800",
398
+ children: row[header.name.split('.')[0]] ? users.getDisplayName(row[header.name.split('.')[0]]) : '-'
399
+ })
400
+ }, header.name);
401
+ }
402
+ if (typeof cellFormatter === 'function') {
403
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
404
+ children: cellFormatter(row, header, {
405
+ collectionType,
406
+ model
407
+ })
408
+ }, header.name);
409
+ }
410
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
411
+ children: /*#__PURE__*/ jsxRuntime.jsx(CellContent.CellContent, {
412
+ content: row[header.name.split('.')[0]],
413
+ rowId: row.documentId,
414
+ ...header
415
+ })
416
+ }, header.name);
417
+ }),
418
+ /*#__PURE__*/ jsxRuntime.jsx(ActionsCell, {
419
+ onClick: (e)=>e.stopPropagation(),
420
+ children: /*#__PURE__*/ jsxRuntime.jsx(TableActions.TableActions, {
421
+ document: row
314
422
  })
315
- }, header.name);
316
- }
317
- return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Table.Cell, {
318
- children: /*#__PURE__*/ jsxRuntime.jsx(CellContent.CellContent, {
319
- content: row[header.name.split('.')[0]],
320
- rowId: row.documentId,
321
- ...header
322
423
  })
323
- }, header.name);
324
- }),
325
- /*#__PURE__*/ jsxRuntime.jsx(ActionsCell, {
326
- onClick: (e)=>e.stopPropagation(),
327
- children: /*#__PURE__*/ jsxRuntime.jsx(TableActions.TableActions, {
328
- document: row
329
- })
330
- })
331
- ]
332
- }, row.id);
333
- })
424
+ ]
425
+ }, row.id);
426
+ })
427
+ })
428
+ ]
334
429
  })
335
430
  ]
431
+ }),
432
+ /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Pagination.Root, {
433
+ ...pagination,
434
+ onPageSizeChange: ()=>trackUsage('willChangeNumberOfEntriesPerPage'),
435
+ children: [
436
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Pagination.PageSize, {}),
437
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Pagination.Links, {})
438
+ ]
336
439
  })
337
440
  ]
338
- }),
339
- /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Pagination.Root, {
340
- ...pagination,
341
- onPageSizeChange: ()=>trackUsage('willChangeNumberOfEntriesPerPage'),
342
- children: [
343
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Pagination.PageSize, {}),
344
- /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Pagination.Links, {})
345
- ]
346
441
  })
347
- ]
348
- })
442
+ })
443
+ ]
349
444
  })
350
445
  ]
351
446
  });