@strapi/content-manager 0.0.0-experimental.826f263c58b6886b849d3f03b81f7a530bc51c91 → 0.0.0-experimental.8c83c87960f2f5ddf95ae2f0acf849052f4a9ab4

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 (223) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -1
  3. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-CR5XdR33.mjs → ComponentConfigurationPage-BgCLcjXO.mjs} +4 -4
  5. package/dist/_chunks/{ComponentConfigurationPage-CR5XdR33.mjs.map → ComponentConfigurationPage-BgCLcjXO.mjs.map} +1 -1
  6. package/dist/_chunks/{ComponentConfigurationPage-DJcn1DrO.js → ComponentConfigurationPage-DywpTZeV.js} +5 -6
  7. package/dist/_chunks/{ComponentConfigurationPage-DJcn1DrO.js.map → ComponentConfigurationPage-DywpTZeV.js.map} +1 -1
  8. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js → ComponentIcon-CRbtQEUV.js} +2 -3
  9. package/dist/_chunks/{ComponentIcon-BXdiCGQp.js.map → ComponentIcon-CRbtQEUV.js.map} +1 -1
  10. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -1
  11. package/dist/_chunks/{EditConfigurationPage-DmCIb4kD.mjs → EditConfigurationPage-BNjOAHNS.mjs} +4 -4
  12. package/dist/_chunks/{EditConfigurationPage-DmCIb4kD.mjs.map → EditConfigurationPage-BNjOAHNS.mjs.map} +1 -1
  13. package/dist/_chunks/{EditConfigurationPage-tDtWj7R2.js → EditConfigurationPage-CxRlP5if.js} +5 -6
  14. package/dist/_chunks/{EditConfigurationPage-tDtWj7R2.js.map → EditConfigurationPage-CxRlP5if.js.map} +1 -1
  15. package/dist/_chunks/{EditViewPage-CoQEnFlC.js → EditViewPage-BRewdTqE.js} +101 -51
  16. package/dist/_chunks/EditViewPage-BRewdTqE.js.map +1 -0
  17. package/dist/_chunks/{EditViewPage-DvaV7U9b.mjs → EditViewPage-CD_hqc1J.mjs} +102 -51
  18. package/dist/_chunks/EditViewPage-CD_hqc1J.mjs.map +1 -0
  19. package/dist/_chunks/{Field-Cz_J9551.mjs → Field-BPkQ-3Ku.mjs} +631 -279
  20. package/dist/_chunks/Field-BPkQ-3Ku.mjs.map +1 -0
  21. package/dist/_chunks/{Field-ZdrmmQ4Y.js → Field-DwvmENVf.js} +634 -283
  22. package/dist/_chunks/Field-DwvmENVf.js.map +1 -0
  23. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -1
  24. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -1
  25. package/dist/_chunks/{Form-Bpig5rch.js → Form-C_Gwv8P_.js} +55 -38
  26. package/dist/_chunks/Form-C_Gwv8P_.js.map +1 -0
  27. package/dist/_chunks/{Form-Dxmihyw8.mjs → Form-Czi0cf_2.mjs} +55 -37
  28. package/dist/_chunks/Form-Czi0cf_2.mjs.map +1 -0
  29. package/dist/_chunks/{History-BfX6XmZK.js → History-C1TKAig-.js} +175 -129
  30. package/dist/_chunks/History-C1TKAig-.js.map +1 -0
  31. package/dist/_chunks/{History-BZP8n7KT.mjs → History-CIQHyi4T.mjs} +176 -129
  32. package/dist/_chunks/History-CIQHyi4T.mjs.map +1 -0
  33. package/dist/_chunks/{ListConfigurationPage-B3CXj8PY.js → ListConfigurationPage-D-NGRLYu.js} +62 -51
  34. package/dist/_chunks/ListConfigurationPage-D-NGRLYu.js.map +1 -0
  35. package/dist/_chunks/{ListConfigurationPage-DxKuVkKz.mjs → ListConfigurationPage-DcZsfyEL.mjs} +63 -52
  36. package/dist/_chunks/ListConfigurationPage-DcZsfyEL.mjs.map +1 -0
  37. package/dist/_chunks/{ListViewPage-D5D3tVPq.mjs → ListViewPage-C10McTK1.mjs} +152 -128
  38. package/dist/_chunks/ListViewPage-C10McTK1.mjs.map +1 -0
  39. package/dist/_chunks/{ListViewPage-Bk9VO__I.js → ListViewPage-xv5IQoZp.js} +155 -132
  40. package/dist/_chunks/ListViewPage-xv5IQoZp.js.map +1 -0
  41. package/dist/_chunks/{NoContentTypePage-DnMeuQCj.mjs → NoContentTypePage-CPc0Cd3S.mjs} +2 -2
  42. package/dist/_chunks/{NoContentTypePage-DnMeuQCj.mjs.map → NoContentTypePage-CPc0Cd3S.mjs.map} +1 -1
  43. package/dist/_chunks/{NoContentTypePage-DsB2F7Z1.js → NoContentTypePage-Dzw5Yj5u.js} +2 -2
  44. package/dist/_chunks/{NoContentTypePage-DsB2F7Z1.js.map → NoContentTypePage-Dzw5Yj5u.js.map} +1 -1
  45. package/dist/_chunks/{NoPermissionsPage-BQDM64_b.js → NoPermissionsPage-DAe5CDCC.js} +2 -2
  46. package/dist/_chunks/{NoPermissionsPage-BQDM64_b.js.map → NoPermissionsPage-DAe5CDCC.js.map} +1 -1
  47. package/dist/_chunks/{NoPermissionsPage-OyoME_Tf.mjs → NoPermissionsPage-wfPBh2_0.mjs} +2 -2
  48. package/dist/_chunks/{NoPermissionsPage-OyoME_Tf.mjs.map → NoPermissionsPage-wfPBh2_0.mjs.map} +1 -1
  49. package/dist/_chunks/Preview-B7LyGT_b.js +290 -0
  50. package/dist/_chunks/Preview-B7LyGT_b.js.map +1 -0
  51. package/dist/_chunks/Preview-BVFFm7uB.mjs +272 -0
  52. package/dist/_chunks/Preview-BVFFm7uB.mjs.map +1 -0
  53. package/dist/_chunks/{Relations-B6B3A3mb.js → Relations-BmYR1AjY.js} +76 -43
  54. package/dist/_chunks/Relations-BmYR1AjY.js.map +1 -0
  55. package/dist/_chunks/{Relations-BOYZmuWy.mjs → Relations-JPhWxk-s.mjs} +76 -42
  56. package/dist/_chunks/Relations-JPhWxk-s.mjs.map +1 -0
  57. package/dist/_chunks/{en-BN1bvFK7.js → en-BK8Xyl5I.js} +35 -18
  58. package/dist/_chunks/{en-BN1bvFK7.js.map → en-BK8Xyl5I.js.map} +1 -1
  59. package/dist/_chunks/{en-Dzv55oQw.mjs → en-Dtk_ot79.mjs} +35 -18
  60. package/dist/_chunks/{en-Dzv55oQw.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
  61. package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
  62. package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
  63. package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
  64. package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
  65. package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
  66. package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
  67. package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
  68. package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
  69. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
  70. package/dist/_chunks/{index-DzN3kBgx.js → index-C2Q_PLWj.js} +1165 -880
  71. package/dist/_chunks/index-C2Q_PLWj.js.map +1 -0
  72. package/dist/_chunks/{index-VHviNMeW.mjs → index-DLIkNVnQ.mjs} +1185 -900
  73. package/dist/_chunks/index-DLIkNVnQ.mjs.map +1 -0
  74. package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
  75. package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
  76. package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
  77. package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
  78. package/dist/_chunks/{layout-b91XRlD2.js → layout-7AsWJzZJ.js} +41 -24
  79. package/dist/_chunks/layout-7AsWJzZJ.js.map +1 -0
  80. package/dist/_chunks/{layout-CPn1PM6x.mjs → layout-qE8qkNH_.mjs} +42 -24
  81. package/dist/_chunks/layout-qE8qkNH_.mjs.map +1 -0
  82. package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
  83. package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
  84. package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
  85. package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
  86. package/dist/_chunks/{relations-BsqxS6tR.mjs → relations-BjHH_1Am.mjs} +6 -7
  87. package/dist/_chunks/relations-BjHH_1Am.mjs.map +1 -0
  88. package/dist/_chunks/{relations-CA7IYmcP.js → relations-EifVzf_2.js} +6 -7
  89. package/dist/_chunks/relations-EifVzf_2.js.map +1 -0
  90. package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
  91. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
  92. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
  93. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
  94. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
  95. package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
  96. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
  97. package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
  98. package/dist/admin/index.js +2 -1
  99. package/dist/admin/index.js.map +1 -1
  100. package/dist/admin/index.mjs +8 -7
  101. package/dist/admin/src/exports.d.ts +1 -1
  102. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  103. package/dist/admin/src/history/index.d.ts +3 -0
  104. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  105. package/dist/admin/src/hooks/useDocument.d.ts +32 -1
  106. package/dist/admin/src/index.d.ts +1 -0
  107. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  108. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
  109. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  110. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  111. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  112. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
  113. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
  114. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +6 -58
  115. package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
  116. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  117. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  118. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  119. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  120. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  121. package/dist/admin/src/preview/constants.d.ts +1 -0
  122. package/dist/admin/src/preview/index.d.ts +4 -0
  123. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  124. package/dist/admin/src/preview/routes.d.ts +3 -0
  125. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  126. package/dist/admin/src/router.d.ts +1 -1
  127. package/dist/admin/src/services/api.d.ts +1 -1
  128. package/dist/admin/src/services/components.d.ts +2 -2
  129. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  130. package/dist/admin/src/services/documents.d.ts +19 -20
  131. package/dist/admin/src/services/init.d.ts +1 -1
  132. package/dist/admin/src/services/relations.d.ts +2 -2
  133. package/dist/admin/src/services/uid.d.ts +3 -3
  134. package/dist/admin/src/utils/validation.d.ts +4 -1
  135. package/dist/server/index.js +616 -299
  136. package/dist/server/index.js.map +1 -1
  137. package/dist/server/index.mjs +616 -298
  138. package/dist/server/index.mjs.map +1 -1
  139. package/dist/server/src/bootstrap.d.ts.map +1 -1
  140. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  141. package/dist/server/src/controllers/index.d.ts.map +1 -1
  142. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  143. package/dist/server/src/controllers/uid.d.ts.map +1 -1
  144. package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
  145. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  146. package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
  147. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
  148. package/dist/server/src/history/services/history.d.ts.map +1 -1
  149. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  150. package/dist/server/src/history/services/utils.d.ts +4 -4
  151. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  152. package/dist/server/src/index.d.ts +4 -4
  153. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  154. package/dist/server/src/preview/constants.d.ts +2 -0
  155. package/dist/server/src/preview/constants.d.ts.map +1 -0
  156. package/dist/server/src/preview/controllers/index.d.ts +2 -0
  157. package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
  158. package/dist/server/src/preview/controllers/preview.d.ts +13 -0
  159. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
  160. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  161. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  162. package/dist/server/src/preview/index.d.ts +4 -0
  163. package/dist/server/src/preview/index.d.ts.map +1 -0
  164. package/dist/server/src/preview/routes/index.d.ts +8 -0
  165. package/dist/server/src/preview/routes/index.d.ts.map +1 -0
  166. package/dist/server/src/preview/routes/preview.d.ts +4 -0
  167. package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
  168. package/dist/server/src/preview/services/index.d.ts +16 -0
  169. package/dist/server/src/preview/services/index.d.ts.map +1 -0
  170. package/dist/server/src/preview/services/preview-config.d.ts +32 -0
  171. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  172. package/dist/server/src/preview/services/preview.d.ts +12 -0
  173. package/dist/server/src/preview/services/preview.d.ts.map +1 -0
  174. package/dist/server/src/preview/utils.d.ts +19 -0
  175. package/dist/server/src/preview/utils.d.ts.map +1 -0
  176. package/dist/server/src/register.d.ts.map +1 -1
  177. package/dist/server/src/routes/index.d.ts.map +1 -1
  178. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  179. package/dist/server/src/services/document-metadata.d.ts +8 -8
  180. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  181. package/dist/server/src/services/index.d.ts +4 -4
  182. package/dist/server/src/services/index.d.ts.map +1 -1
  183. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  184. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  185. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  186. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  187. package/dist/server/src/utils/index.d.ts +2 -0
  188. package/dist/server/src/utils/index.d.ts.map +1 -1
  189. package/dist/shared/contracts/collection-types.d.ts +3 -1
  190. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  191. package/dist/shared/contracts/index.d.ts +1 -0
  192. package/dist/shared/contracts/index.d.ts.map +1 -1
  193. package/dist/shared/contracts/preview.d.ts +27 -0
  194. package/dist/shared/contracts/preview.d.ts.map +1 -0
  195. package/dist/shared/index.js +4 -0
  196. package/dist/shared/index.js.map +1 -1
  197. package/dist/shared/index.mjs +4 -0
  198. package/dist/shared/index.mjs.map +1 -1
  199. package/package.json +15 -15
  200. package/dist/_chunks/EditViewPage-CoQEnFlC.js.map +0 -1
  201. package/dist/_chunks/EditViewPage-DvaV7U9b.mjs.map +0 -1
  202. package/dist/_chunks/Field-Cz_J9551.mjs.map +0 -1
  203. package/dist/_chunks/Field-ZdrmmQ4Y.js.map +0 -1
  204. package/dist/_chunks/Form-Bpig5rch.js.map +0 -1
  205. package/dist/_chunks/Form-Dxmihyw8.mjs.map +0 -1
  206. package/dist/_chunks/History-BZP8n7KT.mjs.map +0 -1
  207. package/dist/_chunks/History-BfX6XmZK.js.map +0 -1
  208. package/dist/_chunks/ListConfigurationPage-B3CXj8PY.js.map +0 -1
  209. package/dist/_chunks/ListConfigurationPage-DxKuVkKz.mjs.map +0 -1
  210. package/dist/_chunks/ListViewPage-Bk9VO__I.js.map +0 -1
  211. package/dist/_chunks/ListViewPage-D5D3tVPq.mjs.map +0 -1
  212. package/dist/_chunks/Relations-B6B3A3mb.js.map +0 -1
  213. package/dist/_chunks/Relations-BOYZmuWy.mjs.map +0 -1
  214. package/dist/_chunks/index-DzN3kBgx.js.map +0 -1
  215. package/dist/_chunks/index-VHviNMeW.mjs.map +0 -1
  216. package/dist/_chunks/layout-CPn1PM6x.mjs.map +0 -1
  217. package/dist/_chunks/layout-b91XRlD2.js.map +0 -1
  218. package/dist/_chunks/relations-BsqxS6tR.mjs.map +0 -1
  219. package/dist/_chunks/relations-CA7IYmcP.js.map +0 -1
  220. package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
  221. package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
  222. package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
  223. package/strapi-server.js +0 -3
@@ -10,17 +10,16 @@ const qs = require("qs");
10
10
  const reactIntl = require("react-intl");
11
11
  const reactRouterDom = require("react-router-dom");
12
12
  const styledComponents = require("styled-components");
13
- const index = require("./index-DzN3kBgx.js");
14
- const usePrev = require("./usePrev-B9w_-eYc.js");
13
+ const index = require("./index-C2Q_PLWj.js");
14
+ const useDebounce = require("./useDebounce-CtcjDB3L.js");
15
15
  const isEmpty = require("lodash/isEmpty");
16
16
  const parseISO = require("date-fns/parseISO");
17
17
  const toString = require("lodash/toString");
18
- const relations = require("./relations-CA7IYmcP.js");
18
+ const relations = require("./relations-EifVzf_2.js");
19
19
  const hooks = require("./hooks-BAaaKPS_.js");
20
20
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
21
21
  function _interopNamespace(e) {
22
- if (e && e.__esModule)
23
- return e;
22
+ if (e && e.__esModule) return e;
24
23
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
25
24
  if (e) {
26
25
  for (const k in e) {
@@ -147,6 +146,15 @@ const FiltersImpl = ({ disabled, schema }) => {
147
146
  }
148
147
  };
149
148
  }
149
+ if (attribute.type === "enumeration") {
150
+ filter = {
151
+ ...filter,
152
+ options: attribute.enum.map((value) => ({
153
+ label: value,
154
+ value
155
+ }))
156
+ };
157
+ }
150
158
  return filter;
151
159
  }).filter(Boolean).toSorted((a, b) => formatter.compare(a.label, b.label));
152
160
  }, [
@@ -189,18 +197,22 @@ const FiltersImpl = ({ disabled, schema }) => {
189
197
  );
190
198
  };
191
199
  const AdminUsersFilter = ({ name }) => {
192
- const [page, setPage] = React__namespace.useState(1);
200
+ const [pageSize, setPageSize] = React__namespace.useState(10);
201
+ const [search, setSearch] = React__namespace.useState("");
193
202
  const { formatMessage } = reactIntl.useIntl();
203
+ const debouncedSearch = useDebounce.useDebounce(search, 300);
194
204
  const { data, isLoading } = strapiAdmin.useAdminUsers({
195
- page
205
+ pageSize,
206
+ _q: debouncedSearch
196
207
  });
197
208
  const field = strapiAdmin.useField(name);
198
209
  const handleOpenChange = (isOpen) => {
199
210
  if (!isOpen) {
200
- setPage(1);
211
+ setPageSize(10);
201
212
  }
202
213
  };
203
- const users = data?.users || [];
214
+ const { users = [], pagination } = data ?? {};
215
+ const { pageCount = 1, page = 1 } = pagination ?? {};
204
216
  return /* @__PURE__ */ jsxRuntime.jsx(
205
217
  designSystem.Combobox,
206
218
  {
@@ -212,7 +224,11 @@ const AdminUsersFilter = ({ name }) => {
212
224
  onOpenChange: handleOpenChange,
213
225
  onChange: (value) => field.onChange(name, value),
214
226
  loading: isLoading,
215
- onLoadMore: () => setPage((prev) => prev + 1),
227
+ onLoadMore: () => setPageSize(pageSize + 10),
228
+ hasMoreItems: page < pageCount,
229
+ onInputChange: (e) => {
230
+ setSearch(e.currentTarget.value);
231
+ },
216
232
  children: users.map((user) => {
217
233
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ComboboxOption, { value: user.id.toString(), children: index.getDisplayName(user) }, user.id);
218
234
  })
@@ -262,9 +278,8 @@ const RepeatableComponent = ({ content, mainField }) => {
262
278
  return null;
263
279
  }
264
280
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Root, { children: [
265
- /* @__PURE__ */ jsxRuntime.jsxs(MenuTrigger$1, { onClick: (e) => e.stopPropagation(), children: [
281
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Trigger, { onClick: (e) => e.stopPropagation(), children: [
266
282
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { children: content.length }),
267
- " ",
268
283
  formatMessage(
269
284
  {
270
285
  id: "content-manager.containers.list.items",
@@ -276,19 +291,21 @@ const RepeatableComponent = ({ content, mainField }) => {
276
291
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Menu.Content, { children: content.map((item) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { maxWidth: "50rem", ellipsis: true, children: /* @__PURE__ */ jsxRuntime.jsx(CellValue, { type: mainField.type, value: item[mainField.name] }) }) }, item.id)) })
277
292
  ] });
278
293
  };
279
- const MenuTrigger$1 = styledComponents.styled(designSystem.Menu.Trigger)`
280
- svg {
281
- width: 0.6rem;
282
- height: 0.4rem;
283
- }
284
- `;
285
294
  const getFileExtension = (ext) => ext && ext[0] === "." ? ext.substring(1) : ext;
286
295
  const MediaSingle = ({ url, mime, alternativeText, name, ext, formats }) => {
287
- const fileURL = usePrev.prefixFileUrlWithBackendUrl(url);
296
+ const fileURL = useDebounce.prefixFileUrlWithBackendUrl(url);
288
297
  if (mime.includes("image")) {
289
298
  const thumbnail = formats?.thumbnail?.url;
290
- const mediaURL = usePrev.prefixFileUrlWithBackendUrl(thumbnail) || fileURL;
291
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Avatar, { src: mediaURL, alt: alternativeText || name, preview: true });
299
+ const mediaURL = useDebounce.prefixFileUrlWithBackendUrl(thumbnail) || fileURL;
300
+ return /* @__PURE__ */ jsxRuntime.jsx(
301
+ designSystem.Avatar.Item,
302
+ {
303
+ src: mediaURL,
304
+ alt: alternativeText || name,
305
+ fallback: alternativeText || name,
306
+ preview: true
307
+ }
308
+ );
292
309
  }
293
310
  const fileExtension = getFileExtension(ext);
294
311
  const fileName = name.length > 100 ? `${name.substring(0, 100)}...` : name;
@@ -317,7 +334,7 @@ const FileTypography = styledComponents.styled(designSystem.Typography)`
317
334
  line-height: 0.9rem;
318
335
  `;
319
336
  const MediaMultiple = ({ content }) => {
320
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.AvatarGroup, { children: content.map((file, index2) => {
337
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Avatar.Group, { children: content.map((file, index2) => {
321
338
  const key = `${file.id}${index2}`;
322
339
  if (index2 === 3) {
323
340
  const remainingFiles = `+${content.length - 3}`;
@@ -349,6 +366,7 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
349
366
  refetchOnMountOrArgChange: true
350
367
  }
351
368
  );
369
+ const contentCount = Array.isArray(content) ? content.length : content.count;
352
370
  React__namespace.useEffect(() => {
353
371
  if (data) {
354
372
  notifyStatus(
@@ -360,16 +378,13 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
360
378
  }
361
379
  }, [data, formatMessage, notifyStatus]);
362
380
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Root, { onOpenChange: (isOpen2) => setIsOpen(isOpen2), children: [
363
- /* @__PURE__ */ jsxRuntime.jsx(MenuTrigger, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, wrap: "nowrap", children: [
364
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { children: content.count }),
365
- formatMessage(
366
- {
367
- id: "content-manager.containers.list.items",
368
- defaultMessage: "{number, plural, =0 {items} one {item} other {items}}"
369
- },
370
- { number: content.count }
371
- )
372
- ] }) }),
381
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Menu.Trigger, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { style: { cursor: "pointer" }, textColor: "neutral800", fontWeight: "regular", children: contentCount > 0 ? formatMessage(
382
+ {
383
+ id: "content-manager.containers.list.items",
384
+ defaultMessage: "{number} {number, plural, =0 {items} one {item} other {items}}"
385
+ },
386
+ { number: contentCount }
387
+ ) : "-" }) }),
373
388
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { children: [
374
389
  isLoading && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { small: true, children: formatMessage({
375
390
  id: index.getTranslation("ListViewTable.relation-loading"),
@@ -392,15 +407,17 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
392
407
  ] })
393
408
  ] });
394
409
  };
395
- const MenuTrigger = styledComponents.styled(designSystem.Menu.Trigger)`
396
- svg {
397
- width: 0.6rem;
398
- height: 0.4rem;
399
- }
400
- `;
401
410
  const CellContent = ({ content, mainField, attribute, rowId, name }) => {
402
411
  if (!hasContent(content, mainField, attribute)) {
403
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: "-" });
412
+ return /* @__PURE__ */ jsxRuntime.jsx(
413
+ designSystem.Typography,
414
+ {
415
+ textColor: "neutral800",
416
+ paddingLeft: attribute.type === "relation" ? "1.6rem" : 0,
417
+ paddingRight: attribute.type === "relation" ? "1.6rem" : 0,
418
+ children: "-"
419
+ }
420
+ );
404
421
  }
405
422
  switch (attribute.type) {
406
423
  case "media":
@@ -440,6 +457,9 @@ const hasContent = (content, mainField, attribute) => {
440
457
  if (isSingleRelation(attribute.relation)) {
441
458
  return !isEmpty__default.default(content);
442
459
  }
460
+ if (Array.isArray(content)) {
461
+ return content.length > 0;
462
+ }
443
463
  return content?.count > 0;
444
464
  }
445
465
  if (["integer", "decimal", "float", "number"].includes(attribute.type)) {
@@ -452,8 +472,6 @@ const hasContent = (content, mainField, attribute) => {
452
472
  };
453
473
  const isSingleRelation = (type) => ["oneToOne", "manyToOne", "oneToOneMorph"].includes(type);
454
474
  const ViewSettingsMenu = (props) => {
455
- const [isVisible, setIsVisible] = React__namespace.useState(false);
456
- const cogButtonRef = React__namespace.useRef(null);
457
475
  const permissions = hooks.useTypedSelector(
458
476
  (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations ?? []
459
477
  );
@@ -462,52 +480,37 @@ const ViewSettingsMenu = (props) => {
462
480
  const {
463
481
  allowedActions: { canConfigureView }
464
482
  } = strapiAdmin.useRBAC(permissions);
465
- const handleToggle = () => {
466
- setIsVisible((prev) => !prev);
467
- };
468
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
469
- /* @__PURE__ */ jsxRuntime.jsx(
483
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { children: [
484
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
470
485
  designSystem.IconButton,
471
486
  {
472
487
  label: formatMessage({
473
488
  id: "components.ViewSettings.tooltip",
474
489
  defaultMessage: "View Settings"
475
490
  }),
476
- ref: cogButtonRef,
477
- onClick: handleToggle,
478
491
  children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Cog, {})
479
492
  }
480
- ),
481
- isVisible && /* @__PURE__ */ jsxRuntime.jsx(
482
- designSystem.Popover,
483
- {
484
- placement: "bottom-end",
485
- source: cogButtonRef,
486
- onDismiss: handleToggle,
487
- spacing: 4,
488
- padding: 3,
489
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "stretch", direction: "column", gap: 3, children: [
490
- canConfigureView ? /* @__PURE__ */ jsxRuntime.jsx(
491
- designSystem.LinkButton,
492
- {
493
- size: "S",
494
- startIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ListPlus, {}),
495
- variant: "secondary",
496
- tag: reactRouterDom.NavLink,
497
- to: {
498
- pathname: "configurations/list",
499
- search: query.plugins ? qs.stringify({ plugins: query.plugins }, { encode: false }) : ""
500
- },
501
- children: formatMessage({
502
- id: "app.links.configure-view",
503
- defaultMessage: "Configure the view"
504
- })
505
- }
506
- ) : null,
507
- /* @__PURE__ */ jsxRuntime.jsx(FieldPicker, { ...props })
508
- ] })
509
- }
510
- )
493
+ ) }),
494
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { side: "bottom", align: "end", sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "stretch", direction: "column", padding: 3, gap: 3, children: [
495
+ canConfigureView ? /* @__PURE__ */ jsxRuntime.jsx(
496
+ designSystem.LinkButton,
497
+ {
498
+ size: "S",
499
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ListPlus, {}),
500
+ variant: "secondary",
501
+ tag: reactRouterDom.NavLink,
502
+ to: {
503
+ pathname: "configurations/list",
504
+ search: query.plugins ? qs.stringify({ plugins: query.plugins }, { encode: false }) : ""
505
+ },
506
+ children: formatMessage({
507
+ id: "app.links.configure-view",
508
+ defaultMessage: "Configure the view"
509
+ })
510
+ }
511
+ ) : null,
512
+ /* @__PURE__ */ jsxRuntime.jsx(FieldPicker, { ...props })
513
+ ] }) })
511
514
  ] });
512
515
  };
513
516
  const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
@@ -531,51 +534,58 @@ const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
531
534
  const handleReset = () => {
532
535
  resetHeaders();
533
536
  };
534
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "fieldset", direction: "column", alignItems: "stretch", gap: 3, borderWidth: 0, children: [
535
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
536
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "legend", variant: "pi", fontWeight: "bold", children: formatMessage({
537
- id: "containers.list.displayedFields",
538
- defaultMessage: "Displayed fields"
539
- }) }),
540
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.TextButton, { onClick: handleReset, children: formatMessage({
541
- id: "app.components.Button.reset",
542
- defaultMessage: "Reset"
543
- }) })
544
- ] }),
545
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", children: columns.map((header) => {
546
- const isActive = headers.includes(header.name);
547
- return /* @__PURE__ */ jsxRuntime.jsxs(
548
- ChackboxWrapper,
549
- {
550
- wrap: "wrap",
551
- gap: 2,
552
- tag: "label",
553
- background: isActive ? "primary100" : "transparent",
554
- hasRadius: true,
555
- padding: 2,
556
- children: [
557
- /* @__PURE__ */ jsxRuntime.jsx(
558
- designSystem.BaseCheckbox,
559
- {
560
- onChange: () => handleChange(header.name),
561
- value: isActive,
562
- name: header.name
563
- }
564
- ),
565
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontSize: 1, children: header.label })
566
- ]
567
- },
568
- header.name
569
- );
570
- }) })
571
- ] });
537
+ return /* @__PURE__ */ jsxRuntime.jsxs(
538
+ designSystem.Flex,
539
+ {
540
+ tag: "fieldset",
541
+ direction: "column",
542
+ alignItems: "stretch",
543
+ gap: 3,
544
+ borderWidth: 0,
545
+ maxHeight: "240px",
546
+ overflow: "scroll",
547
+ children: [
548
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", children: [
549
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "legend", variant: "pi", fontWeight: "bold", children: formatMessage({
550
+ id: "containers.list.displayedFields",
551
+ defaultMessage: "Displayed fields"
552
+ }) }),
553
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.TextButton, { onClick: handleReset, children: formatMessage({
554
+ id: "app.components.Button.reset",
555
+ defaultMessage: "Reset"
556
+ }) })
557
+ ] }),
558
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", children: columns.map((header) => {
559
+ const isActive = headers.includes(header.name);
560
+ return /* @__PURE__ */ jsxRuntime.jsx(
561
+ designSystem.Flex,
562
+ {
563
+ wrap: "wrap",
564
+ gap: 2,
565
+ background: isActive ? "primary100" : "transparent",
566
+ hasRadius: true,
567
+ padding: 2,
568
+ children: /* @__PURE__ */ jsxRuntime.jsx(
569
+ designSystem.Checkbox,
570
+ {
571
+ onCheckedChange: () => handleChange(header.name),
572
+ checked: isActive,
573
+ name: header.name,
574
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontSize: 1, children: header.label })
575
+ }
576
+ )
577
+ },
578
+ header.name
579
+ );
580
+ }) })
581
+ ]
582
+ }
583
+ );
572
584
  };
573
- const ChackboxWrapper = styledComponents.styled(designSystem.Flex)`
574
- :hover {
575
- background-color: ${(props) => props.theme.colors.primary100};
576
- }
577
- `;
578
585
  const { INJECT_COLUMN_IN_TABLE } = index.HOOKS;
586
+ const LayoutsHeaderCustom = styledComponents.styled(strapiAdmin.Layouts.Header)`
587
+ overflow-wrap: anywhere;
588
+ `;
579
589
  const ListViewPage = () => {
580
590
  const { trackUsage } = strapiAdmin.useTracking();
581
591
  const navigate = reactRouterDom.useNavigate();
@@ -585,7 +595,7 @@ const ListViewPage = () => {
585
595
  const { collectionType, model, schema } = index.useDoc();
586
596
  const { list } = index.useDocumentLayout(model);
587
597
  const [displayedHeaders, setDisplayedHeaders] = React__namespace.useState([]);
588
- const listLayout = usePrev.usePrev(list.layout);
598
+ const listLayout = useDebounce.usePrev(list.layout);
589
599
  React__namespace.useEffect(() => {
590
600
  if (!isEqual__default.default(listLayout, list.layout)) {
591
601
  setDisplayedHeaders(list.layout);
@@ -602,7 +612,7 @@ const ListViewPage = () => {
602
612
  sort: list.settings.defaultSortBy ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}` : ""
603
613
  });
604
614
  const params = React__namespace.useMemo(() => index.buildValidParams(query), [query]);
605
- const { data, error, isLoading } = index.useGetAllDocumentsQuery({
615
+ const { data, error, isFetching } = index.useGetAllDocumentsQuery({
606
616
  model,
607
617
  params
608
618
  });
@@ -638,10 +648,14 @@ const ListViewPage = () => {
638
648
  layout: list
639
649
  });
640
650
  const formattedHeaders = headers.displayedHeaders.map((header) => {
651
+ const translation = typeof header.label === "string" ? {
652
+ id: `content-manager.content-types.${model}.${header.name}`,
653
+ defaultMessage: header.label
654
+ } : header.label;
641
655
  return {
642
656
  ...header,
643
- label: typeof header.label === "string" ? header.label : formatMessage(header.label),
644
- name: `${header.name}${header.mainField ? `.${header.mainField}` : ""}`
657
+ label: formatMessage(translation),
658
+ name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ""}`
645
659
  };
646
660
  });
647
661
  if (schema?.options?.draftAndPublish) {
@@ -659,8 +673,15 @@ const ListViewPage = () => {
659
673
  });
660
674
  }
661
675
  return formattedHeaders;
662
- }, [displayedHeaders, formatMessage, list, runHookWaterfall, schema?.options?.draftAndPublish]);
663
- if (isLoading) {
676
+ }, [
677
+ displayedHeaders,
678
+ formatMessage,
679
+ list,
680
+ runHookWaterfall,
681
+ schema?.options?.draftAndPublish,
682
+ model
683
+ ]);
684
+ if (isFetching) {
664
685
  return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
665
686
  }
666
687
  if (error) {
@@ -677,7 +698,7 @@ const ListViewPage = () => {
677
698
  return /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Page.Main, { children: [
678
699
  /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: `${contentTypeTitle}` }),
679
700
  /* @__PURE__ */ jsxRuntime.jsx(
680
- strapiAdmin.Layouts.Header,
701
+ LayoutsHeaderCustom,
681
702
  {
682
703
  primaryAction: canCreate ? /* @__PURE__ */ jsxRuntime.jsx(CreateButton, {}) : null,
683
704
  subtitle: formatMessage(
@@ -726,7 +747,7 @@ const ListViewPage = () => {
726
747
  }
727
748
  ),
728
749
  /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 4, direction: "column", alignItems: "stretch", children: [
729
- /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Root, { rows: results, headers: tableHeaders, isLoading, children: [
750
+ /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Root, { rows: results, headers: tableHeaders, isLoading: isFetching, children: [
730
751
  /* @__PURE__ */ jsxRuntime.jsx(TableActionsBar, {}),
731
752
  /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Content, { children: [
732
753
  /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Head, { children: [
@@ -793,7 +814,7 @@ const TableActionsBar = () => {
793
814
  const selectRow = strapiAdmin.useTable("TableActionsBar", (state) => state.selectRow);
794
815
  const [{ query }] = strapiAdmin.useQueryParams();
795
816
  const locale = query?.plugins?.i18n?.locale;
796
- const prevLocale = usePrev.usePrev(locale);
817
+ const prevLocale = useDebounce.usePrev(locale);
797
818
  React__namespace.useEffect(() => {
798
819
  if (prevLocale !== locale) {
799
820
  selectRow([]);
@@ -819,6 +840,8 @@ const CreateButton = ({ variant }) => {
819
840
  pathname: "create",
820
841
  search: qs.stringify({ plugins: query.plugins })
821
842
  },
843
+ minWidth: "max-content",
844
+ marginLeft: 2,
822
845
  children: formatMessage({
823
846
  id: index.getTranslation("HeaderLayout.button.label-add-entry"),
824
847
  defaultMessage: "Create new entry"
@@ -848,4 +871,4 @@ const ProtectedListViewPage = () => {
848
871
  };
849
872
  exports.ListViewPage = ListViewPage;
850
873
  exports.ProtectedListViewPage = ProtectedListViewPage;
851
- //# sourceMappingURL=ListViewPage-Bk9VO__I.js.map
874
+ //# sourceMappingURL=ListViewPage-xv5IQoZp.js.map