@strapi/content-manager 0.0.0-next.bffd3c1819cd08304e7d270e88b4973e9fcbc183 → 0.0.0-next.c22d1aa5024dc77092c3df7e990ad89dcd79e7b0

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 (442) hide show
  1. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js +80 -0
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +1 -0
  3. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +82 -0
  4. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +1 -0
  5. package/dist/admin/chunks/ComponentConfigurationPage-Co2eC_-C.js +276 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-Co2eC_-C.js.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.js +298 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.js.map +1 -0
  9. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js +153 -0
  10. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +1 -0
  11. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +176 -0
  12. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +1 -0
  13. package/dist/admin/chunks/EditConfigurationPage-Dm5woBp9.js +180 -0
  14. package/dist/admin/chunks/EditConfigurationPage-Dm5woBp9.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js +158 -0
  16. package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-DsBKmSPb.js +337 -0
  18. package/dist/admin/chunks/EditViewPage-DsBKmSPb.js.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-kAIaYTg0.js +314 -0
  20. package/dist/admin/chunks/EditViewPage-kAIaYTg0.js.map +1 -0
  21. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js +56 -0
  22. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +1 -0
  23. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +58 -0
  24. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +1 -0
  25. package/dist/admin/chunks/Form-BO69oITe.js +955 -0
  26. package/dist/admin/chunks/Form-BO69oITe.js.map +1 -0
  27. package/dist/admin/chunks/Form-BPIhJKyf.js +978 -0
  28. package/dist/admin/chunks/Form-BPIhJKyf.js.map +1 -0
  29. package/dist/admin/chunks/History-BzvpM-Gw.js +1357 -0
  30. package/dist/admin/chunks/History-BzvpM-Gw.js.map +1 -0
  31. package/dist/admin/chunks/History-DBQ96jv2.js +1380 -0
  32. package/dist/admin/chunks/History-DBQ96jv2.js.map +1 -0
  33. package/dist/admin/chunks/Input-BlDcbhUC.js +6755 -0
  34. package/dist/admin/chunks/Input-BlDcbhUC.js.map +1 -0
  35. package/dist/admin/chunks/Input-Dh1MtWno.js +6786 -0
  36. package/dist/admin/chunks/Input-Dh1MtWno.js.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js +818 -0
  38. package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js +795 -0
  40. package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-BF2q7N6W.js +1132 -0
  42. package/dist/admin/chunks/ListViewPage-BF2q7N6W.js.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-CS1ED-vI.js +1154 -0
  44. package/dist/admin/chunks/ListViewPage-CS1ED-vI.js.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js +59 -0
  46. package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js +57 -0
  48. package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js +36 -0
  50. package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js +38 -0
  52. package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js.map +1 -0
  53. package/dist/admin/chunks/Preview-C9kXTY6C.js +531 -0
  54. package/dist/admin/chunks/Preview-C9kXTY6C.js.map +1 -0
  55. package/dist/admin/chunks/Preview-DBvmhR7Q.js +553 -0
  56. package/dist/admin/chunks/Preview-DBvmhR7Q.js.map +1 -0
  57. package/dist/admin/chunks/Relations-Cn0atFpd.js +827 -0
  58. package/dist/admin/chunks/Relations-Cn0atFpd.js.map +1 -0
  59. package/dist/admin/chunks/Relations-XHxDKEvT.js +853 -0
  60. package/dist/admin/chunks/Relations-XHxDKEvT.js.map +1 -0
  61. package/dist/admin/chunks/ar-DckYq_WK.js +222 -0
  62. package/dist/admin/chunks/ar-DckYq_WK.js.map +1 -0
  63. package/dist/admin/chunks/ar-DeQBSsfl.js +227 -0
  64. package/dist/{_chunks/ru-BT3ybNny.js.map → admin/chunks/ar-DeQBSsfl.js.map} +1 -1
  65. package/dist/admin/chunks/ca-ClDTvatJ.js +202 -0
  66. package/dist/admin/chunks/ca-ClDTvatJ.js.map +1 -0
  67. package/dist/admin/chunks/ca-DviY7mRj.js +197 -0
  68. package/dist/{_chunks/de-CCEmbAah.js.map → admin/chunks/ca-DviY7mRj.js.map} +1 -1
  69. package/dist/admin/chunks/cs-BJFxwIWj.js +126 -0
  70. package/dist/{_chunks/ms-BuFotyP_.js.map → admin/chunks/cs-BJFxwIWj.js.map} +1 -1
  71. package/dist/admin/chunks/cs-C7OSYFQ7.js +122 -0
  72. package/dist/{_chunks/cs-CkJy6B2v.js.map → admin/chunks/cs-C7OSYFQ7.js.map} +1 -1
  73. package/dist/admin/chunks/de-5QRlDHyR.js +195 -0
  74. package/dist/{_chunks/ja-7sfIbjxE.js.map → admin/chunks/de-5QRlDHyR.js.map} +1 -1
  75. package/dist/admin/chunks/de-CbImAUA5.js +200 -0
  76. package/dist/{_chunks/gu-BRmF601H.js.map → admin/chunks/de-CbImAUA5.js.map} +1 -1
  77. package/dist/admin/chunks/en-C1CjdAtC.js +313 -0
  78. package/dist/{_chunks/en-D65uIF6Y.mjs.map → admin/chunks/en-C1CjdAtC.js.map} +1 -1
  79. package/dist/admin/chunks/en-LfhocNG2.js +308 -0
  80. package/dist/{_chunks/en-BR48D_RH.js.map → admin/chunks/en-LfhocNG2.js.map} +1 -1
  81. package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
  82. package/dist/admin/chunks/es-C8vLuvZL.js.map +1 -0
  83. package/dist/admin/chunks/es-DkoWSExG.js +192 -0
  84. package/dist/{_chunks/ko-woFZPmLk.js.map → admin/chunks/es-DkoWSExG.js.map} +1 -1
  85. package/dist/admin/chunks/eu-BG1xX7HK.js +198 -0
  86. package/dist/admin/chunks/eu-BG1xX7HK.js.map +1 -0
  87. package/dist/admin/chunks/eu-BJW3AvXu.js +203 -0
  88. package/dist/admin/chunks/eu-BJW3AvXu.js.map +1 -0
  89. package/dist/admin/chunks/fr-CFdRaRVj.js +215 -0
  90. package/dist/admin/chunks/fr-CFdRaRVj.js.map +1 -0
  91. package/dist/admin/chunks/fr-gQSilC7w.js +220 -0
  92. package/dist/admin/chunks/fr-gQSilC7w.js.map +1 -0
  93. package/dist/admin/chunks/gu-D5MMMXRs.js +196 -0
  94. package/dist/admin/chunks/gu-D5MMMXRs.js.map +1 -0
  95. package/dist/admin/chunks/gu-DPU4wyx7.js +201 -0
  96. package/dist/{_chunks/eu-VDH-3ovk.js.map → admin/chunks/gu-DPU4wyx7.js.map} +1 -1
  97. package/dist/admin/chunks/hi-Dp4omeBb.js +201 -0
  98. package/dist/admin/chunks/hi-Dp4omeBb.js.map +1 -0
  99. package/dist/admin/chunks/hi-lp17SCjr.js +196 -0
  100. package/dist/admin/chunks/hi-lp17SCjr.js.map +1 -0
  101. package/dist/{_chunks/hooks-BAaaKPS_.js → admin/chunks/hooks-D-sOYd1s.js} +6 -3
  102. package/dist/admin/chunks/hooks-D-sOYd1s.js.map +1 -0
  103. package/dist/admin/chunks/hooks-DMvik5y_.js +7 -0
  104. package/dist/admin/chunks/hooks-DMvik5y_.js.map +1 -0
  105. package/dist/admin/chunks/hu-CLka1U2C.js +198 -0
  106. package/dist/admin/chunks/hu-CLka1U2C.js.map +1 -0
  107. package/dist/admin/chunks/hu-CtFJuhTd.js +203 -0
  108. package/dist/admin/chunks/hu-CtFJuhTd.js.map +1 -0
  109. package/dist/admin/chunks/id-D7V5S1rB.js +161 -0
  110. package/dist/{_chunks/it-DkBIs7vD.js.map → admin/chunks/id-D7V5S1rB.js.map} +1 -1
  111. package/dist/admin/chunks/id-USfY9m1g.js +156 -0
  112. package/dist/admin/chunks/id-USfY9m1g.js.map +1 -0
  113. package/dist/admin/chunks/index-BczuAULz.js +5416 -0
  114. package/dist/admin/chunks/index-BczuAULz.js.map +1 -0
  115. package/dist/admin/chunks/index-BkyR-Bnu.js +5350 -0
  116. package/dist/admin/chunks/index-BkyR-Bnu.js.map +1 -0
  117. package/dist/admin/chunks/it-BAHrwmYS.js +158 -0
  118. package/dist/admin/chunks/it-BAHrwmYS.js.map +1 -0
  119. package/dist/admin/chunks/it-CQFpa_Dc.js +163 -0
  120. package/dist/{_chunks/es-9K52xZIr.js.map → admin/chunks/it-CQFpa_Dc.js.map} +1 -1
  121. package/dist/admin/chunks/ja-BWKmBJFT.js +192 -0
  122. package/dist/admin/chunks/ja-BWKmBJFT.js.map +1 -0
  123. package/dist/admin/chunks/ja-jdQM-B79.js +197 -0
  124. package/dist/admin/chunks/ja-jdQM-B79.js.map +1 -0
  125. package/dist/admin/chunks/ko-CgADGBNt.js +191 -0
  126. package/dist/admin/chunks/ko-CgADGBNt.js.map +1 -0
  127. package/dist/admin/chunks/ko-k46sEyzt.js +196 -0
  128. package/dist/admin/chunks/ko-k46sEyzt.js.map +1 -0
  129. package/dist/admin/chunks/layout-DcDoRT8g.js +618 -0
  130. package/dist/admin/chunks/layout-DcDoRT8g.js.map +1 -0
  131. package/dist/admin/chunks/layout-fghBgRgX.js +598 -0
  132. package/dist/admin/chunks/layout-fghBgRgX.js.map +1 -0
  133. package/dist/admin/chunks/ml-CnhCfOn_.js +196 -0
  134. package/dist/admin/chunks/ml-CnhCfOn_.js.map +1 -0
  135. package/dist/admin/chunks/ml-DqxPwODx.js +201 -0
  136. package/dist/admin/chunks/ml-DqxPwODx.js.map +1 -0
  137. package/dist/admin/chunks/ms-Bh09NFff.js +140 -0
  138. package/dist/{_chunks/uk-C8EiqJY7.js.map → admin/chunks/ms-Bh09NFff.js.map} +1 -1
  139. package/dist/admin/chunks/ms-CvSC0OdG.js +145 -0
  140. package/dist/admin/chunks/ms-CvSC0OdG.js.map +1 -0
  141. package/dist/admin/chunks/nl-BEubhS8C.js +203 -0
  142. package/dist/admin/chunks/nl-BEubhS8C.js.map +1 -0
  143. package/dist/admin/chunks/nl-C8HYflTc.js +198 -0
  144. package/dist/admin/chunks/nl-C8HYflTc.js.map +1 -0
  145. package/dist/admin/chunks/objects-C3EebVVe.js +76 -0
  146. package/dist/admin/chunks/objects-C3EebVVe.js.map +1 -0
  147. package/dist/admin/chunks/objects-wl73iEma.js +73 -0
  148. package/dist/admin/chunks/objects-wl73iEma.js.map +1 -0
  149. package/dist/admin/chunks/pl-DWhGDzmM.js +200 -0
  150. package/dist/{_chunks/ca-Cmk45QO6.js.map → admin/chunks/pl-DWhGDzmM.js.map} +1 -1
  151. package/dist/admin/chunks/pl-MFCZJZuZ.js +195 -0
  152. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +1 -0
  153. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +202 -0
  154. package/dist/admin/chunks/pt-BR-CPtAXD-4.js.map +1 -0
  155. package/dist/admin/chunks/pt-BR-CcotyBGJ.js +197 -0
  156. package/dist/{_chunks/pt-BR-BiOz37D9.js.map → admin/chunks/pt-BR-CcotyBGJ.js.map} +1 -1
  157. package/dist/admin/chunks/pt-BoPxN80n.js +96 -0
  158. package/dist/admin/chunks/pt-BoPxN80n.js.map +1 -0
  159. package/dist/admin/chunks/pt-HbmgeiYO.js +93 -0
  160. package/dist/admin/chunks/pt-HbmgeiYO.js.map +1 -0
  161. package/dist/admin/chunks/relations-CgaydhiM.js +178 -0
  162. package/dist/admin/chunks/relations-CgaydhiM.js.map +1 -0
  163. package/dist/admin/chunks/relations-DPVgU_rq.js +173 -0
  164. package/dist/admin/chunks/relations-DPVgU_rq.js.map +1 -0
  165. package/dist/admin/chunks/ru-C0op0ALG.js +232 -0
  166. package/dist/admin/chunks/ru-C0op0ALG.js.map +1 -0
  167. package/dist/admin/chunks/ru-CB4BUyQp.js +230 -0
  168. package/dist/admin/chunks/ru-CB4BUyQp.js.map +1 -0
  169. package/dist/admin/chunks/sa-B_FuPyMw.js +201 -0
  170. package/dist/admin/chunks/sa-B_FuPyMw.js.map +1 -0
  171. package/dist/admin/chunks/sa-n_aPA-pU.js +196 -0
  172. package/dist/admin/chunks/sa-n_aPA-pU.js.map +1 -0
  173. package/dist/admin/chunks/sk-D_iXML2C.js +203 -0
  174. package/dist/admin/chunks/sk-D_iXML2C.js.map +1 -0
  175. package/dist/admin/chunks/sk-tn_BDjE2.js +198 -0
  176. package/dist/admin/chunks/sk-tn_BDjE2.js.map +1 -0
  177. package/dist/admin/chunks/sv-BstBC1Yp.js +203 -0
  178. package/dist/admin/chunks/sv-BstBC1Yp.js.map +1 -0
  179. package/dist/admin/chunks/sv-cq4ZrQRd.js +198 -0
  180. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +1 -0
  181. package/dist/admin/chunks/th-lXoOCqPC.js +149 -0
  182. package/dist/{_chunks/th-D9_GfAjc.js.map → admin/chunks/th-lXoOCqPC.js.map} +1 -1
  183. package/dist/admin/chunks/th-mUH7hEtc.js +144 -0
  184. package/dist/admin/chunks/th-mUH7hEtc.js.map +1 -0
  185. package/dist/admin/chunks/tr-CkS6sLIE.js +200 -0
  186. package/dist/admin/chunks/tr-CkS6sLIE.js.map +1 -0
  187. package/dist/admin/chunks/tr-Yt38daxh.js +195 -0
  188. package/dist/admin/chunks/tr-Yt38daxh.js.map +1 -0
  189. package/dist/admin/chunks/uk-B24MoTVg.js +145 -0
  190. package/dist/admin/chunks/uk-B24MoTVg.js.map +1 -0
  191. package/dist/admin/chunks/uk-Cpgmm7gE.js +140 -0
  192. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +1 -0
  193. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js +247 -0
  194. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +1 -0
  195. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +271 -0
  196. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +1 -0
  197. package/dist/admin/chunks/usePrev-Bjw2dhmq.js +18 -0
  198. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +1 -0
  199. package/dist/admin/chunks/usePrev-DIYl-IAL.js +21 -0
  200. package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +1 -0
  201. package/dist/admin/chunks/vi-BGr1X_HZ.js +112 -0
  202. package/dist/admin/chunks/vi-BGr1X_HZ.js.map +1 -0
  203. package/dist/admin/chunks/vi-CvBGlTjr.js +108 -0
  204. package/dist/{_chunks/vi-CJlYDheJ.js.map → admin/chunks/vi-CvBGlTjr.js.map} +1 -1
  205. package/dist/admin/chunks/zh-BmF-sHaT.js +205 -0
  206. package/dist/admin/chunks/zh-BmF-sHaT.js.map +1 -0
  207. package/dist/admin/chunks/zh-DwFu_Kfj.js +210 -0
  208. package/dist/admin/chunks/zh-DwFu_Kfj.js.map +1 -0
  209. package/dist/admin/chunks/zh-Hans-CI0HKio3.js +934 -0
  210. package/dist/{_chunks/zh-Hans-9kOncHGw.js.map → admin/chunks/zh-Hans-CI0HKio3.js.map} +1 -1
  211. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +953 -0
  212. package/dist/{_chunks/zh-Hans-BPQcRIyH.mjs.map → admin/chunks/zh-Hans-JVK9x7xr.js.map} +1 -1
  213. package/dist/admin/index.js +23 -4
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +16 -13
  216. package/dist/admin/index.mjs.map +1 -1
  217. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  218. package/dist/admin/src/hooks/useDocument.d.ts +2 -2
  219. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -1
  220. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
  221. package/dist/admin/src/preview/index.d.ts +2 -3
  222. package/dist/server/index.js +5459 -4387
  223. package/dist/server/index.js.map +1 -1
  224. package/dist/server/index.mjs +5446 -4372
  225. package/dist/server/index.mjs.map +1 -1
  226. package/dist/server/src/controllers/utils/metadata.d.ts +1 -1
  227. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  228. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  229. package/dist/server/src/services/utils/count.d.ts +1 -1
  230. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  231. package/dist/server/src/services/utils/populate.d.ts +1 -1
  232. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  233. package/dist/shared/contracts/collection-types.d.ts +0 -1
  234. package/dist/shared/contracts/components.d.ts +0 -1
  235. package/dist/shared/contracts/content-types.d.ts +0 -1
  236. package/dist/shared/contracts/history-versions.d.ts +0 -1
  237. package/dist/shared/contracts/index.d.ts +0 -1
  238. package/dist/shared/contracts/init.d.ts +0 -1
  239. package/dist/shared/contracts/preview.d.ts +0 -1
  240. package/dist/shared/contracts/relations.d.ts +1 -2
  241. package/dist/shared/contracts/relations.d.ts.map +1 -1
  242. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  243. package/dist/shared/contracts/single-types.d.ts +0 -1
  244. package/dist/shared/contracts/uid.d.ts +0 -1
  245. package/dist/shared/index.d.ts +0 -1
  246. package/dist/shared/index.js +35 -24
  247. package/dist/shared/index.js.map +1 -1
  248. package/dist/shared/index.mjs +34 -25
  249. package/dist/shared/index.mjs.map +1 -1
  250. package/package.json +13 -10
  251. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
  252. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
  253. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
  254. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
  255. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs +0 -236
  256. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs.map +0 -1
  257. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js +0 -254
  258. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js.map +0 -1
  259. package/dist/_chunks/ComponentIcon-CRbtQEUV.js +0 -175
  260. package/dist/_chunks/ComponentIcon-CRbtQEUV.js.map +0 -1
  261. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
  262. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
  263. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js +0 -150
  264. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js.map +0 -1
  265. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs +0 -132
  266. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs.map +0 -1
  267. package/dist/_chunks/EditViewPage-D4yFJET6.js +0 -209
  268. package/dist/_chunks/EditViewPage-D4yFJET6.js.map +0 -1
  269. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs +0 -191
  270. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs.map +0 -1
  271. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  272. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  273. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  274. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  275. package/dist/_chunks/Form-C4rSaGsz.js +0 -778
  276. package/dist/_chunks/Form-C4rSaGsz.js.map +0 -1
  277. package/dist/_chunks/Form-DamaxNpG.mjs +0 -758
  278. package/dist/_chunks/Form-DamaxNpG.mjs.map +0 -1
  279. package/dist/_chunks/History-D1PreDSY.mjs +0 -999
  280. package/dist/_chunks/History-D1PreDSY.mjs.map +0 -1
  281. package/dist/_chunks/History-DTm8UCCQ.js +0 -1019
  282. package/dist/_chunks/History-DTm8UCCQ.js.map +0 -1
  283. package/dist/_chunks/Input-B7sapvBG.js +0 -5617
  284. package/dist/_chunks/Input-B7sapvBG.js.map +0 -1
  285. package/dist/_chunks/Input-CZ1YvjHR.mjs +0 -5585
  286. package/dist/_chunks/Input-CZ1YvjHR.mjs.map +0 -1
  287. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs +0 -633
  288. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs.map +0 -1
  289. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js +0 -652
  290. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js.map +0 -1
  291. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs +0 -854
  292. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs.map +0 -1
  293. package/dist/_chunks/ListViewPage-DTuuxU3n.js +0 -877
  294. package/dist/_chunks/ListViewPage-DTuuxU3n.js.map +0 -1
  295. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js +0 -51
  296. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js.map +0 -1
  297. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs +0 -51
  298. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs.map +0 -1
  299. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs +0 -23
  300. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs.map +0 -1
  301. package/dist/_chunks/NoPermissionsPage-v7I599vC.js +0 -23
  302. package/dist/_chunks/NoPermissionsPage-v7I599vC.js.map +0 -1
  303. package/dist/_chunks/Preview-BNuU0SuQ.mjs +0 -287
  304. package/dist/_chunks/Preview-BNuU0SuQ.mjs.map +0 -1
  305. package/dist/_chunks/Preview-Cxq-uI6D.js +0 -305
  306. package/dist/_chunks/Preview-Cxq-uI6D.js.map +0 -1
  307. package/dist/_chunks/Relations-C2Ahkrdg.mjs +0 -728
  308. package/dist/_chunks/Relations-C2Ahkrdg.mjs.map +0 -1
  309. package/dist/_chunks/Relations-CWS79QQn.js +0 -747
  310. package/dist/_chunks/Relations-CWS79QQn.js.map +0 -1
  311. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  312. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  313. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  314. package/dist/_chunks/ar-CCEVvqGG.mjs.map +0 -1
  315. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  316. package/dist/_chunks/ca-5U32ON2v.mjs.map +0 -1
  317. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  318. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  319. package/dist/_chunks/cs-CM2aBUar.mjs.map +0 -1
  320. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  321. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  322. package/dist/_chunks/de-C72KDNOl.mjs.map +0 -1
  323. package/dist/_chunks/de-CCEmbAah.js +0 -199
  324. package/dist/_chunks/en-BR48D_RH.js +0 -312
  325. package/dist/_chunks/en-D65uIF6Y.mjs +0 -312
  326. package/dist/_chunks/es-9K52xZIr.js +0 -196
  327. package/dist/_chunks/es-D34tqjMw.mjs +0 -196
  328. package/dist/_chunks/es-D34tqjMw.mjs.map +0 -1
  329. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  330. package/dist/_chunks/eu-CdALomew.mjs.map +0 -1
  331. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  332. package/dist/_chunks/fr-C43IbhA_.js +0 -219
  333. package/dist/_chunks/fr-C43IbhA_.js.map +0 -1
  334. package/dist/_chunks/fr-DBseuRuB.mjs +0 -219
  335. package/dist/_chunks/fr-DBseuRuB.mjs.map +0 -1
  336. package/dist/_chunks/gu-BRmF601H.js +0 -200
  337. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  338. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  339. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  340. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  341. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  342. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  343. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  344. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  345. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  346. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  347. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  348. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  349. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  350. package/dist/_chunks/id-B5Ser98A.js +0 -160
  351. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  352. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  353. package/dist/_chunks/id-BtwA9WJT.mjs.map +0 -1
  354. package/dist/_chunks/index-DQsvBb_N.js +0 -4500
  355. package/dist/_chunks/index-DQsvBb_N.js.map +0 -1
  356. package/dist/_chunks/index-ZKrsjv-2.mjs +0 -4481
  357. package/dist/_chunks/index-ZKrsjv-2.mjs.map +0 -1
  358. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  359. package/dist/_chunks/it-BrVPqaf1.mjs.map +0 -1
  360. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  361. package/dist/_chunks/ja-7sfIbjxE.js +0 -196
  362. package/dist/_chunks/ja-BHqhDq4V.mjs +0 -196
  363. package/dist/_chunks/ja-BHqhDq4V.mjs.map +0 -1
  364. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  365. package/dist/_chunks/ko-HVQRlfUI.mjs.map +0 -1
  366. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  367. package/dist/_chunks/layout-Cl0NhlQB.js +0 -488
  368. package/dist/_chunks/layout-Cl0NhlQB.js.map +0 -1
  369. package/dist/_chunks/layout-fQk1rMk9.mjs +0 -471
  370. package/dist/_chunks/layout-fQk1rMk9.mjs.map +0 -1
  371. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  372. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  373. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  374. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  375. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  376. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  377. package/dist/_chunks/ms-m_WjyWx7.mjs.map +0 -1
  378. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  379. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  380. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  381. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  382. package/dist/_chunks/objects-BcXOv6_9.js +0 -47
  383. package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
  384. package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
  385. package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
  386. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  387. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  388. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  389. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  390. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  391. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  392. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +0 -1
  393. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  394. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  395. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  396. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  397. package/dist/_chunks/relations-BRfBxVbX.js +0 -133
  398. package/dist/_chunks/relations-BRfBxVbX.js.map +0 -1
  399. package/dist/_chunks/relations-BakOFl_1.mjs +0 -134
  400. package/dist/_chunks/relations-BakOFl_1.mjs.map +0 -1
  401. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  402. package/dist/_chunks/ru-BE6A4Exp.mjs.map +0 -1
  403. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  404. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  405. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  406. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  407. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  408. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  409. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  410. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  411. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  412. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  413. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  414. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  415. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  416. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  417. package/dist/_chunks/th-BqbI8lIT.mjs.map +0 -1
  418. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  419. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  420. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  421. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  422. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  423. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  424. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  425. package/dist/_chunks/uk-CR-zDhAY.mjs.map +0 -1
  426. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js +0 -245
  427. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js.map +0 -1
  428. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs +0 -228
  429. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs.map +0 -1
  430. package/dist/_chunks/usePrev-CZGy2Vjf.mjs +0 -29
  431. package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +0 -1
  432. package/dist/_chunks/usePrev-D5J_2fEu.js +0 -28
  433. package/dist/_chunks/usePrev-D5J_2fEu.js.map +0 -1
  434. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  435. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  436. package/dist/_chunks/vi-DUXIk_fw.mjs.map +0 -1
  437. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  438. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  439. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  440. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  441. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  442. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
@@ -0,0 +1,1132 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useTracking, useAuth, useQueryParams, useAdminUsers, Filters, useField, useRBAC, Layouts, useNotification, useAPIErrorHandler, useStrapiApp, Page, BackButton, SearchInput, Table, Pagination, useTable } from '@strapi/admin/strapi-admin';
4
+ import { useCollator, Combobox, ComboboxOption, Tooltip, Typography, Menu, Badge, Avatar, Flex, useNotifyAT, Loader, Popover, IconButton, LinkButton, TextButton, Checkbox, Button } from '@strapi/design-system';
5
+ import { Cog, ListPlus, Plus } from '@strapi/icons';
6
+ import isEqual from 'lodash/isEqual';
7
+ import { stringify } from 'qs';
8
+ import { useIntl } from 'react-intl';
9
+ import { NavLink, useNavigate, Link, useParams } from 'react-router-dom';
10
+ import { styled } from 'styled-components';
11
+ import { u as useContentTypeSchema, p as useGetContentTypeConfigurationQuery, q as CREATOR_FIELDS, r as getMainField, v as getDisplayName, c as useDoc, g as getTranslation, h as useDocumentLayout, w as checkIfAttributeIsDisplayable, d as buildValidParams, x as useGetAllDocumentsQuery, f as useDocumentRBAC, I as InjectionZone, D as DocumentStatus, T as TableActions, B as BulkActionsRenderer, k as PERMISSIONS, l as DocumentRBAC, H as HOOKS, y as convertListLayoutToFieldLayouts } from './index-BkyR-Bnu.js';
12
+ import { p as prefixFileUrlWithBackendUrl, u as usePrev } from './usePrev-Bjw2dhmq.js';
13
+ import { a as useDebounce, g as getRelationLabel, u as useGetRelationsQuery } from './relations-DPVgU_rq.js';
14
+ import isEmpty from 'lodash/isEmpty';
15
+ import parseISO from 'date-fns/parseISO';
16
+ import toString from 'lodash/toString';
17
+ import { u as useTypedSelector } from './hooks-DMvik5y_.js';
18
+ import 'lodash/fp/mapValues';
19
+ import 'yup';
20
+ import 'fractional-indexing';
21
+ import 'lodash/fp/pipe';
22
+ import 'date-fns';
23
+ import '@reduxjs/toolkit';
24
+ import 'react-redux';
25
+
26
+ /**
27
+ * If new attributes are added, this list needs to be updated.
28
+ */ const NOT_ALLOWED_FILTERS = [
29
+ 'json',
30
+ 'component',
31
+ 'media',
32
+ 'richtext',
33
+ 'dynamiczone',
34
+ 'password',
35
+ 'blocks'
36
+ ];
37
+ const DEFAULT_ALLOWED_FILTERS = [
38
+ 'createdAt',
39
+ 'updatedAt'
40
+ ];
41
+ const USER_FILTER_ATTRIBUTES = [
42
+ ...CREATOR_FIELDS,
43
+ 'strapi_assignee'
44
+ ];
45
+ const FiltersImpl = ({ disabled, schema })=>{
46
+ const { attributes, uid: model, options } = schema;
47
+ const { formatMessage, locale } = useIntl();
48
+ const { trackUsage } = useTracking();
49
+ const allPermissions = useAuth('FiltersImpl', (state)=>state.permissions);
50
+ const [{ query }] = useQueryParams();
51
+ const { schemas } = useContentTypeSchema();
52
+ const canReadAdminUsers = React.useMemo(()=>allPermissions.filter((permission)=>permission.action === 'admin::users.read' && permission.subject === null).length > 0, [
53
+ allPermissions
54
+ ]);
55
+ const selectedUserIds = (query?.filters?.$and ?? []).reduce((acc, filter)=>{
56
+ const [key, value] = Object.entries(filter)[0];
57
+ if (typeof value.id !== 'object') {
58
+ return acc;
59
+ }
60
+ const id = value.id.$eq || value.id.$ne;
61
+ if (id && USER_FILTER_ATTRIBUTES.includes(key) && !acc.includes(id)) {
62
+ acc.push(id);
63
+ }
64
+ return acc;
65
+ }, []);
66
+ const { data: userData, isLoading: isLoadingAdminUsers } = useAdminUsers({
67
+ filters: {
68
+ id: {
69
+ $in: selectedUserIds
70
+ }
71
+ }
72
+ }, {
73
+ // fetch the list of admin users only if the filter contains users and the
74
+ // current user has permissions to display users
75
+ skip: selectedUserIds.length === 0 || !canReadAdminUsers
76
+ });
77
+ const { users = [] } = userData ?? {};
78
+ const { metadata } = useGetContentTypeConfigurationQuery(model, {
79
+ selectFromResult: ({ data })=>({
80
+ metadata: data?.contentType.metadatas ?? {}
81
+ })
82
+ });
83
+ const formatter = useCollator(locale, {
84
+ sensitivity: 'base'
85
+ });
86
+ const displayedFilters = React.useMemo(()=>{
87
+ const [{ properties: { fields = [] } = {
88
+ fields: []
89
+ } }] = allPermissions.filter((permission)=>permission.action === 'plugin::content-manager.explorer.read' && permission.subject === model);
90
+ const allowedFields = fields.filter((field)=>{
91
+ const attribute = attributes[field] ?? {};
92
+ return attribute.type && !NOT_ALLOWED_FILTERS.includes(attribute.type);
93
+ });
94
+ return [
95
+ 'id',
96
+ ...allowedFields,
97
+ ...DEFAULT_ALLOWED_FILTERS,
98
+ ...canReadAdminUsers ? CREATOR_FIELDS : []
99
+ ].map((name)=>{
100
+ const attribute = attributes[name];
101
+ if (NOT_ALLOWED_FILTERS.includes(attribute.type)) {
102
+ return null;
103
+ }
104
+ const { mainField: mainFieldName = '', label } = metadata[name].list;
105
+ let filter = {
106
+ name,
107
+ label: label ?? '',
108
+ mainField: getMainField(attribute, mainFieldName, {
109
+ schemas,
110
+ components: {}
111
+ }),
112
+ // @ts-expect-error – TODO: this is filtered out above in the `allowedFields` call but TS complains, is there a better way to solve this?
113
+ type: attribute.type
114
+ };
115
+ if (attribute.type === 'relation' && 'target' in attribute && attribute.target === 'admin::user') {
116
+ filter = {
117
+ ...filter,
118
+ input: AdminUsersFilter,
119
+ options: users.map((user)=>({
120
+ label: getDisplayName(user),
121
+ value: user.id.toString()
122
+ })),
123
+ operators: [
124
+ {
125
+ label: formatMessage({
126
+ id: 'components.FilterOptions.FILTER_TYPES.$eq',
127
+ defaultMessage: 'is'
128
+ }),
129
+ value: '$eq'
130
+ },
131
+ {
132
+ label: formatMessage({
133
+ id: 'components.FilterOptions.FILTER_TYPES.$ne',
134
+ defaultMessage: 'is not'
135
+ }),
136
+ value: '$ne'
137
+ }
138
+ ],
139
+ mainField: {
140
+ name: 'id',
141
+ type: 'integer'
142
+ }
143
+ };
144
+ }
145
+ if (attribute.type === 'enumeration') {
146
+ filter = {
147
+ ...filter,
148
+ options: attribute.enum.map((value)=>({
149
+ label: value,
150
+ value
151
+ }))
152
+ };
153
+ }
154
+ return filter;
155
+ }).filter(Boolean).toSorted((a, b)=>formatter.compare(a.label, b.label));
156
+ }, [
157
+ allPermissions,
158
+ canReadAdminUsers,
159
+ model,
160
+ attributes,
161
+ metadata,
162
+ schemas,
163
+ users,
164
+ formatMessage,
165
+ formatter
166
+ ]);
167
+ const onOpenChange = (isOpen)=>{
168
+ if (isOpen) {
169
+ trackUsage('willFilterEntries');
170
+ }
171
+ };
172
+ const handleFilterChange = (data)=>{
173
+ const attribute = attributes[data.name];
174
+ if (attribute) {
175
+ trackUsage('didFilterEntries', {
176
+ useRelation: attribute.type === 'relation'
177
+ });
178
+ }
179
+ };
180
+ return /*#__PURE__*/ jsxs(Filters.Root, {
181
+ disabled: disabled,
182
+ options: displayedFilters,
183
+ onOpenChange: onOpenChange,
184
+ onChange: handleFilterChange,
185
+ children: [
186
+ /*#__PURE__*/ jsx(Filters.Trigger, {}),
187
+ /*#__PURE__*/ jsx(Filters.Popover, {}),
188
+ /*#__PURE__*/ jsx(Filters.List, {})
189
+ ]
190
+ });
191
+ };
192
+ /* -------------------------------------------------------------------------------------------------
193
+ * AdminUsersFilter
194
+ * -----------------------------------------------------------------------------------------------*/ const AdminUsersFilter = ({ name })=>{
195
+ const [pageSize, setPageSize] = React.useState(10);
196
+ const [search, setSearch] = React.useState('');
197
+ const { formatMessage } = useIntl();
198
+ const debouncedSearch = useDebounce(search, 300);
199
+ const { data, isLoading } = useAdminUsers({
200
+ pageSize,
201
+ _q: debouncedSearch
202
+ });
203
+ const field = useField(name);
204
+ const handleOpenChange = (isOpen)=>{
205
+ if (!isOpen) {
206
+ setPageSize(10);
207
+ }
208
+ };
209
+ const { users = [], pagination } = data ?? {};
210
+ const { pageCount = 1, page = 1 } = pagination ?? {};
211
+ return /*#__PURE__*/ jsx(Combobox, {
212
+ value: field.value,
213
+ "aria-label": formatMessage({
214
+ id: 'content-manager.components.Filters.usersSelect.label',
215
+ defaultMessage: 'Search and select a user to filter'
216
+ }),
217
+ onOpenChange: handleOpenChange,
218
+ onChange: (value)=>field.onChange(name, value),
219
+ loading: isLoading,
220
+ onLoadMore: ()=>setPageSize(pageSize + 10),
221
+ hasMoreItems: page < pageCount,
222
+ onInputChange: (e)=>{
223
+ setSearch(e.currentTarget.value);
224
+ },
225
+ children: users.map((user)=>{
226
+ return /*#__PURE__*/ jsx(ComboboxOption, {
227
+ value: user.id.toString(),
228
+ children: getDisplayName(user)
229
+ }, user.id);
230
+ })
231
+ });
232
+ };
233
+
234
+ const CellValue = ({ type, value })=>{
235
+ const { formatDate, formatTime, formatNumber } = useIntl();
236
+ let formattedValue = value;
237
+ if (type === 'date') {
238
+ formattedValue = formatDate(parseISO(value), {
239
+ dateStyle: 'full'
240
+ });
241
+ }
242
+ if (type === 'datetime') {
243
+ formattedValue = formatDate(value, {
244
+ dateStyle: 'full',
245
+ timeStyle: 'short'
246
+ });
247
+ }
248
+ if (type === 'time') {
249
+ const [hour, minute, second] = value.split(':');
250
+ const date = new Date();
251
+ date.setHours(hour);
252
+ date.setMinutes(minute);
253
+ date.setSeconds(second);
254
+ formattedValue = formatTime(date, {
255
+ timeStyle: 'short'
256
+ });
257
+ }
258
+ if ([
259
+ 'float',
260
+ 'decimal'
261
+ ].includes(type)) {
262
+ formattedValue = formatNumber(value, {
263
+ // Should be kept in sync with the corresponding value
264
+ // in the design-system/NumberInput: https://github.com/strapi/design-system/blob/main/packages/strapi-design-system/src/NumberInput/NumberInput.js#L53
265
+ maximumFractionDigits: 20
266
+ });
267
+ }
268
+ if ([
269
+ 'integer',
270
+ 'biginteger'
271
+ ].includes(type)) {
272
+ formattedValue = formatNumber(value, {
273
+ maximumFractionDigits: 0
274
+ });
275
+ }
276
+ return toString(formattedValue);
277
+ };
278
+
279
+ const SingleComponent = ({ content, mainField })=>{
280
+ if (!mainField) {
281
+ return null;
282
+ }
283
+ return /*#__PURE__*/ jsx(Tooltip, {
284
+ label: content[mainField.name],
285
+ children: /*#__PURE__*/ jsx(Typography, {
286
+ maxWidth: "25rem",
287
+ textColor: "neutral800",
288
+ ellipsis: true,
289
+ children: /*#__PURE__*/ jsx(CellValue, {
290
+ type: mainField.type,
291
+ value: content[mainField.name]
292
+ })
293
+ })
294
+ });
295
+ };
296
+ const RepeatableComponent = ({ content, mainField })=>{
297
+ const { formatMessage } = useIntl();
298
+ if (!mainField) {
299
+ return null;
300
+ }
301
+ return /*#__PURE__*/ jsxs(Menu.Root, {
302
+ children: [
303
+ /*#__PURE__*/ jsxs(Menu.Trigger, {
304
+ onClick: (e)=>e.stopPropagation(),
305
+ children: [
306
+ /*#__PURE__*/ jsx(Badge, {
307
+ children: content.length
308
+ }),
309
+ formatMessage({
310
+ id: 'content-manager.containers.list.items',
311
+ defaultMessage: '{number, plural, =0 {items} one {item} other {items}}'
312
+ }, {
313
+ number: content.length
314
+ })
315
+ ]
316
+ }),
317
+ /*#__PURE__*/ jsx(Menu.Content, {
318
+ children: content.map((item)=>/*#__PURE__*/ jsx(Menu.Item, {
319
+ disabled: true,
320
+ children: /*#__PURE__*/ jsx(Typography, {
321
+ maxWidth: "50rem",
322
+ ellipsis: true,
323
+ children: /*#__PURE__*/ jsx(CellValue, {
324
+ type: mainField.type,
325
+ value: item[mainField.name]
326
+ })
327
+ })
328
+ }, item.id))
329
+ })
330
+ ]
331
+ });
332
+ };
333
+
334
+ const getFileExtension = (ext)=>ext && ext[0] === '.' ? ext.substring(1) : ext;
335
+ const MediaSingle = ({ url, mime, alternativeText, name, ext, formats })=>{
336
+ const fileURL = prefixFileUrlWithBackendUrl(url);
337
+ if (mime.includes('image')) {
338
+ const thumbnail = formats?.thumbnail?.url;
339
+ const mediaURL = prefixFileUrlWithBackendUrl(thumbnail) || fileURL;
340
+ return /*#__PURE__*/ jsx(Avatar.Item, {
341
+ src: mediaURL,
342
+ alt: alternativeText || name,
343
+ fallback: alternativeText || name,
344
+ preview: true
345
+ });
346
+ }
347
+ const fileExtension = getFileExtension(ext);
348
+ const fileName = name.length > 100 ? `${name.substring(0, 100)}...` : name;
349
+ return /*#__PURE__*/ jsx(Tooltip, {
350
+ description: fileName,
351
+ children: /*#__PURE__*/ jsx(FileWrapper, {
352
+ children: fileExtension
353
+ })
354
+ });
355
+ };
356
+ const FileWrapper = ({ children })=>{
357
+ return /*#__PURE__*/ jsx(Flex, {
358
+ tag: "span",
359
+ position: "relative",
360
+ borderRadius: "50%",
361
+ width: "26px",
362
+ height: "26px",
363
+ borderColor: "neutral200",
364
+ background: "neutral150",
365
+ paddingLeft: "1px",
366
+ justifyContent: "center",
367
+ alignItems: "center",
368
+ children: /*#__PURE__*/ jsx(FileTypography, {
369
+ variant: "sigma",
370
+ textColor: "neutral600",
371
+ children: children
372
+ })
373
+ });
374
+ };
375
+ const FileTypography = styled(Typography)`
376
+ font-size: 0.9rem;
377
+ line-height: 0.9rem;
378
+ `;
379
+ const MediaMultiple = ({ content })=>{
380
+ return /*#__PURE__*/ jsx(Avatar.Group, {
381
+ children: content.map((file, index)=>{
382
+ const key = `${file.id}${index}`;
383
+ if (index === 3) {
384
+ const remainingFiles = `+${content.length - 3}`;
385
+ return /*#__PURE__*/ jsx(FileWrapper, {
386
+ children: remainingFiles
387
+ }, key);
388
+ }
389
+ if (index > 3) {
390
+ return null;
391
+ }
392
+ return /*#__PURE__*/ jsx(MediaSingle, {
393
+ ...file
394
+ }, key);
395
+ })
396
+ });
397
+ };
398
+
399
+ const RelationSingle = ({ mainField, content })=>{
400
+ return /*#__PURE__*/ jsx(Typography, {
401
+ maxWidth: "50rem",
402
+ textColor: "neutral800",
403
+ ellipsis: true,
404
+ children: getRelationLabel(content, mainField)
405
+ });
406
+ };
407
+ /**
408
+ * TODO: fix this component – tracking issue https://strapi-inc.atlassian.net/browse/CONTENT-2184
409
+ */ const RelationMultiple = ({ mainField, content, rowId, name })=>{
410
+ const { model } = useDoc();
411
+ const { formatMessage } = useIntl();
412
+ const { notifyStatus } = useNotifyAT();
413
+ const [isOpen, setIsOpen] = React.useState(false);
414
+ const [targetField] = name.split('.');
415
+ const { data, isLoading } = useGetRelationsQuery({
416
+ model,
417
+ id: rowId,
418
+ targetField
419
+ }, {
420
+ skip: !isOpen,
421
+ refetchOnMountOrArgChange: true
422
+ });
423
+ const contentCount = Array.isArray(content) ? content.length : content.count;
424
+ React.useEffect(()=>{
425
+ if (data) {
426
+ notifyStatus(formatMessage({
427
+ id: getTranslation('DynamicTable.relation-loaded'),
428
+ defaultMessage: 'Relations have been loaded'
429
+ }));
430
+ }
431
+ }, [
432
+ data,
433
+ formatMessage,
434
+ notifyStatus
435
+ ]);
436
+ return /*#__PURE__*/ jsxs(Menu.Root, {
437
+ onOpenChange: (isOpen)=>setIsOpen(isOpen),
438
+ children: [
439
+ /*#__PURE__*/ jsx(Menu.Trigger, {
440
+ onClick: (e)=>e.stopPropagation(),
441
+ children: /*#__PURE__*/ jsx(Typography, {
442
+ style: {
443
+ cursor: 'pointer'
444
+ },
445
+ textColor: "neutral800",
446
+ fontWeight: "regular",
447
+ children: contentCount > 0 ? formatMessage({
448
+ id: 'content-manager.containers.list.items',
449
+ defaultMessage: '{number} {number, plural, =0 {items} one {item} other {items}}'
450
+ }, {
451
+ number: contentCount
452
+ }) : '-'
453
+ })
454
+ }),
455
+ /*#__PURE__*/ jsxs(Menu.Content, {
456
+ children: [
457
+ isLoading && /*#__PURE__*/ jsx(Menu.Item, {
458
+ disabled: true,
459
+ children: /*#__PURE__*/ jsx(Loader, {
460
+ small: true,
461
+ children: formatMessage({
462
+ id: getTranslation('ListViewTable.relation-loading'),
463
+ defaultMessage: 'Relations are loading'
464
+ })
465
+ })
466
+ }),
467
+ data?.results && /*#__PURE__*/ jsxs(Fragment, {
468
+ children: [
469
+ data.results.map((entry)=>/*#__PURE__*/ jsx(Menu.Item, {
470
+ disabled: true,
471
+ children: /*#__PURE__*/ jsx(Typography, {
472
+ maxWidth: "50rem",
473
+ ellipsis: true,
474
+ children: getRelationLabel(entry, mainField)
475
+ })
476
+ }, entry.documentId)),
477
+ data?.pagination && data?.pagination.total > 10 && /*#__PURE__*/ jsx(Menu.Item, {
478
+ "aria-disabled": true,
479
+ "aria-label": formatMessage({
480
+ id: getTranslation('ListViewTable.relation-more'),
481
+ defaultMessage: 'This relation contains more entities than displayed'
482
+ }),
483
+ children: /*#__PURE__*/ jsx(Typography, {
484
+ children: "…"
485
+ })
486
+ })
487
+ ]
488
+ })
489
+ ]
490
+ })
491
+ ]
492
+ });
493
+ };
494
+
495
+ const CellContent = ({ content, mainField, attribute, rowId, name })=>{
496
+ if (!hasContent(content, mainField, attribute)) {
497
+ return /*#__PURE__*/ jsx(Typography, {
498
+ textColor: "neutral800",
499
+ paddingLeft: attribute.type === ('relation') ? '1.6rem' : 0,
500
+ paddingRight: attribute.type === ('relation') ? '1.6rem' : 0,
501
+ children: "-"
502
+ });
503
+ }
504
+ switch(attribute.type){
505
+ case 'media':
506
+ if (!attribute.multiple) {
507
+ return /*#__PURE__*/ jsx(MediaSingle, {
508
+ ...content
509
+ });
510
+ }
511
+ return /*#__PURE__*/ jsx(MediaMultiple, {
512
+ content: content
513
+ });
514
+ case 'relation':
515
+ {
516
+ if (isSingleRelation(attribute.relation)) {
517
+ return /*#__PURE__*/ jsx(RelationSingle, {
518
+ mainField: mainField,
519
+ content: content
520
+ });
521
+ }
522
+ return /*#__PURE__*/ jsx(RelationMultiple, {
523
+ rowId: rowId,
524
+ mainField: mainField,
525
+ content: content,
526
+ name: name
527
+ });
528
+ }
529
+ case 'component':
530
+ if (attribute.repeatable) {
531
+ return /*#__PURE__*/ jsx(RepeatableComponent, {
532
+ mainField: mainField,
533
+ content: content
534
+ });
535
+ }
536
+ return /*#__PURE__*/ jsx(SingleComponent, {
537
+ mainField: mainField,
538
+ content: content
539
+ });
540
+ case 'string':
541
+ return /*#__PURE__*/ jsx(Tooltip, {
542
+ description: content,
543
+ children: /*#__PURE__*/ jsx(Typography, {
544
+ maxWidth: "30rem",
545
+ ellipsis: true,
546
+ textColor: "neutral800",
547
+ children: /*#__PURE__*/ jsx(CellValue, {
548
+ type: attribute.type,
549
+ value: content
550
+ })
551
+ })
552
+ });
553
+ default:
554
+ return /*#__PURE__*/ jsx(Typography, {
555
+ maxWidth: "30rem",
556
+ ellipsis: true,
557
+ textColor: "neutral800",
558
+ children: /*#__PURE__*/ jsx(CellValue, {
559
+ type: attribute.type,
560
+ value: content
561
+ })
562
+ });
563
+ }
564
+ };
565
+ const hasContent = (content, mainField, attribute)=>{
566
+ if (attribute.type === 'component') {
567
+ // Repeatable fields show the ID as fallback, in case the mainField
568
+ // doesn't have any content
569
+ if (attribute.repeatable || !mainField) {
570
+ return content?.length > 0;
571
+ }
572
+ const value = content?.[mainField.name];
573
+ // relations, media ... show the id as fallback
574
+ if (mainField.name === 'id' && ![
575
+ undefined,
576
+ null
577
+ ].includes(value)) {
578
+ return true;
579
+ }
580
+ return !isEmpty(value);
581
+ }
582
+ if (attribute.type === 'relation') {
583
+ if (isSingleRelation(attribute.relation)) {
584
+ return !isEmpty(content);
585
+ }
586
+ if (Array.isArray(content)) {
587
+ return content.length > 0;
588
+ }
589
+ return content?.count > 0;
590
+ }
591
+ /*
592
+ Biginteger fields need to be treated as strings, as `isNumber`
593
+ doesn't deal with them.
594
+ */ if ([
595
+ 'integer',
596
+ 'decimal',
597
+ 'float',
598
+ 'number'
599
+ ].includes(attribute.type)) {
600
+ return typeof content === 'number';
601
+ }
602
+ if (attribute.type === 'boolean') {
603
+ return content !== null;
604
+ }
605
+ return !isEmpty(content);
606
+ };
607
+ const isSingleRelation = (type)=>[
608
+ 'oneToOne',
609
+ 'manyToOne',
610
+ 'oneToOneMorph'
611
+ ].includes(type);
612
+
613
+ const ViewSettingsMenu = (props)=>{
614
+ const permissions = useTypedSelector((state)=>state.admin_app.permissions.contentManager?.collectionTypesConfigurations ?? []);
615
+ const [{ query }] = useQueryParams();
616
+ const { formatMessage } = useIntl();
617
+ const { allowedActions: { canConfigureView } } = useRBAC(permissions);
618
+ return /*#__PURE__*/ jsxs(Popover.Root, {
619
+ children: [
620
+ /*#__PURE__*/ jsx(Popover.Trigger, {
621
+ children: /*#__PURE__*/ jsx(IconButton, {
622
+ label: formatMessage({
623
+ id: 'components.ViewSettings.tooltip',
624
+ defaultMessage: 'View Settings'
625
+ }),
626
+ children: /*#__PURE__*/ jsx(Cog, {})
627
+ })
628
+ }),
629
+ /*#__PURE__*/ jsx(Popover.Content, {
630
+ side: "bottom",
631
+ align: "end",
632
+ sideOffset: 4,
633
+ children: /*#__PURE__*/ jsxs(Flex, {
634
+ alignItems: "stretch",
635
+ direction: "column",
636
+ padding: 3,
637
+ gap: 3,
638
+ children: [
639
+ canConfigureView ? /*#__PURE__*/ jsx(LinkButton, {
640
+ size: "S",
641
+ startIcon: /*#__PURE__*/ jsx(ListPlus, {}),
642
+ variant: "secondary",
643
+ tag: NavLink,
644
+ to: {
645
+ pathname: 'configurations/list',
646
+ search: query.plugins ? stringify({
647
+ plugins: query.plugins
648
+ }, {
649
+ encode: false
650
+ }) : ''
651
+ },
652
+ children: formatMessage({
653
+ id: 'app.links.configure-view',
654
+ defaultMessage: 'Configure the view'
655
+ })
656
+ }) : null,
657
+ /*#__PURE__*/ jsx(FieldPicker, {
658
+ ...props
659
+ })
660
+ ]
661
+ })
662
+ })
663
+ ]
664
+ });
665
+ };
666
+ const FieldPicker = ({ headers = [], resetHeaders, setHeaders })=>{
667
+ const { trackUsage } = useTracking();
668
+ const { formatMessage, locale } = useIntl();
669
+ const { schema, model } = useDoc();
670
+ const { list } = useDocumentLayout(model);
671
+ const formatter = useCollator(locale, {
672
+ sensitivity: 'base'
673
+ });
674
+ const attributes = schema?.attributes ?? {};
675
+ const columns = Object.keys(attributes).filter((name)=>checkIfAttributeIsDisplayable(attributes[name])).map((name)=>({
676
+ name,
677
+ label: list.metadatas[name]?.label ?? ''
678
+ })).sort((a, b)=>formatter.compare(a.label, b.label));
679
+ const handleChange = (name)=>{
680
+ trackUsage('didChangeDisplayedFields');
681
+ /**
682
+ * create an array of the new headers, if the new name exists it should be removed,
683
+ * otherwise it should be added
684
+ */ const newHeaders = headers.includes(name) ? headers.filter((header)=>header !== name) : [
685
+ ...headers,
686
+ name
687
+ ];
688
+ setHeaders(newHeaders);
689
+ };
690
+ const handleReset = ()=>{
691
+ resetHeaders();
692
+ };
693
+ return /*#__PURE__*/ jsxs(Flex, {
694
+ tag: "fieldset",
695
+ direction: "column",
696
+ alignItems: "stretch",
697
+ gap: 3,
698
+ borderWidth: 0,
699
+ maxHeight: '240px',
700
+ overflow: 'scroll',
701
+ children: [
702
+ /*#__PURE__*/ jsxs(Flex, {
703
+ justifyContent: "space-between",
704
+ children: [
705
+ /*#__PURE__*/ jsx(Typography, {
706
+ tag: "legend",
707
+ variant: "pi",
708
+ fontWeight: "bold",
709
+ children: formatMessage({
710
+ id: 'containers.list.displayedFields',
711
+ defaultMessage: 'Displayed fields'
712
+ })
713
+ }),
714
+ /*#__PURE__*/ jsx(TextButton, {
715
+ onClick: handleReset,
716
+ children: formatMessage({
717
+ id: 'app.components.Button.reset',
718
+ defaultMessage: 'Reset'
719
+ })
720
+ })
721
+ ]
722
+ }),
723
+ /*#__PURE__*/ jsx(Flex, {
724
+ direction: "column",
725
+ alignItems: "stretch",
726
+ children: columns.map((header)=>{
727
+ const isActive = headers.includes(header.name);
728
+ return /*#__PURE__*/ jsx(Flex, {
729
+ wrap: "wrap",
730
+ gap: 2,
731
+ background: isActive ? 'primary100' : 'transparent',
732
+ hasRadius: true,
733
+ padding: 2,
734
+ children: /*#__PURE__*/ jsx(Checkbox, {
735
+ onCheckedChange: ()=>handleChange(header.name),
736
+ checked: isActive,
737
+ name: header.name,
738
+ children: /*#__PURE__*/ jsx(Typography, {
739
+ fontSize: 1,
740
+ children: header.label
741
+ })
742
+ })
743
+ }, header.name);
744
+ })
745
+ })
746
+ ]
747
+ });
748
+ };
749
+
750
+ const { INJECT_COLUMN_IN_TABLE } = HOOKS;
751
+ /* -------------------------------------------------------------------------------------------------
752
+ * ListViewPage
753
+ * -----------------------------------------------------------------------------------------------*/ const LayoutsHeaderCustom = styled(Layouts.Header)`
754
+ overflow-wrap: anywhere;
755
+ `;
756
+ const ListViewPage = ()=>{
757
+ const { trackUsage } = useTracking();
758
+ const navigate = useNavigate();
759
+ const { formatMessage } = useIntl();
760
+ const { toggleNotification } = useNotification();
761
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);
762
+ const { collectionType, model, schema } = useDoc();
763
+ const { list } = useDocumentLayout(model);
764
+ const [displayedHeaders, setDisplayedHeaders] = React.useState([]);
765
+ const listLayout = usePrev(list.layout);
766
+ React.useEffect(()=>{
767
+ /**
768
+ * ONLY update the displayedHeaders if the document
769
+ * layout has actually changed in value.
770
+ */ if (!isEqual(listLayout, list.layout)) {
771
+ setDisplayedHeaders(list.layout);
772
+ }
773
+ }, [
774
+ list.layout,
775
+ listLayout
776
+ ]);
777
+ const handleSetHeaders = (headers)=>{
778
+ setDisplayedHeaders(convertListLayoutToFieldLayouts(headers, schema.attributes, list.metadatas));
779
+ };
780
+ const [{ query }] = useQueryParams({
781
+ page: '1',
782
+ pageSize: list.settings.pageSize.toString(),
783
+ sort: list.settings.defaultSortBy ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}` : ''
784
+ });
785
+ const params = React.useMemo(()=>buildValidParams(query), [
786
+ query
787
+ ]);
788
+ const { data, error, isFetching } = useGetAllDocumentsQuery({
789
+ model,
790
+ params
791
+ });
792
+ /**
793
+ * If the API returns an error, display a notification
794
+ */ React.useEffect(()=>{
795
+ if (error) {
796
+ toggleNotification({
797
+ type: 'danger',
798
+ message: formatAPIError(error)
799
+ });
800
+ }
801
+ }, [
802
+ error,
803
+ formatAPIError,
804
+ toggleNotification
805
+ ]);
806
+ const { results = [], pagination } = data ?? {};
807
+ React.useEffect(()=>{
808
+ if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {
809
+ navigate({
810
+ search: stringify({
811
+ ...query,
812
+ page: pagination.pageCount
813
+ })
814
+ }, {
815
+ replace: true
816
+ });
817
+ }
818
+ }, [
819
+ pagination,
820
+ formatMessage,
821
+ query,
822
+ navigate
823
+ ]);
824
+ const { canCreate } = useDocumentRBAC('ListViewPage', ({ canCreate })=>({
825
+ canCreate
826
+ }));
827
+ const runHookWaterfall = useStrapiApp('ListViewPage', ({ runHookWaterfall })=>runHookWaterfall);
828
+ /**
829
+ * Run the waterfall and then inject our additional table headers.
830
+ */ const tableHeaders = React.useMemo(()=>{
831
+ const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {
832
+ displayedHeaders,
833
+ layout: list
834
+ });
835
+ const formattedHeaders = headers.displayedHeaders.map((header)=>{
836
+ /**
837
+ * When the header label is a string, it is an attribute on the current content-type:
838
+ * Use the attribute name value to compute the translation.
839
+ * Otherwise, it should be a translation object coming from a plugin that injects into the table (ie i18n, content-releases, review-workflows):
840
+ * Use the translation object as is.
841
+ */ const translation = typeof header.label === 'string' ? {
842
+ id: `content-manager.content-types.${model}.${header.name}`,
843
+ defaultMessage: header.label
844
+ } : header.label;
845
+ return {
846
+ ...header,
847
+ label: formatMessage(translation),
848
+ name: `${header.name}${header.mainField?.name ? `.${header.mainField.name}` : ''}`
849
+ };
850
+ });
851
+ if (schema?.options?.draftAndPublish) {
852
+ formattedHeaders.push({
853
+ attribute: {
854
+ type: 'custom'
855
+ },
856
+ name: 'status',
857
+ label: formatMessage({
858
+ id: getTranslation(`containers.list.table-headers.status`),
859
+ defaultMessage: 'status'
860
+ }),
861
+ searchable: false,
862
+ sortable: false
863
+ });
864
+ }
865
+ return formattedHeaders;
866
+ }, [
867
+ displayedHeaders,
868
+ formatMessage,
869
+ list,
870
+ runHookWaterfall,
871
+ schema?.options?.draftAndPublish,
872
+ model
873
+ ]);
874
+ if (isFetching) {
875
+ return /*#__PURE__*/ jsx(Page.Loading, {});
876
+ }
877
+ if (error) {
878
+ return /*#__PURE__*/ jsx(Page.Error, {});
879
+ }
880
+ const contentTypeTitle = schema?.info.displayName ? formatMessage({
881
+ id: schema.info.displayName,
882
+ defaultMessage: schema.info.displayName
883
+ }) : formatMessage({
884
+ id: 'content-manager.containers.untitled',
885
+ defaultMessage: 'Untitled'
886
+ });
887
+ const handleRowClick = (id)=>()=>{
888
+ trackUsage('willEditEntryFromList');
889
+ navigate({
890
+ pathname: id.toString(),
891
+ search: stringify({
892
+ plugins: query.plugins
893
+ })
894
+ });
895
+ };
896
+ return /*#__PURE__*/ jsxs(Page.Main, {
897
+ children: [
898
+ /*#__PURE__*/ jsx(Page.Title, {
899
+ children: `${contentTypeTitle}`
900
+ }),
901
+ /*#__PURE__*/ jsx(LayoutsHeaderCustom, {
902
+ primaryAction: canCreate ? /*#__PURE__*/ jsx(CreateButton, {}) : null,
903
+ subtitle: formatMessage({
904
+ id: getTranslation('pages.ListView.header-subtitle'),
905
+ defaultMessage: '{number, plural, =0 {# entries} one {# entry} other {# entries}} found'
906
+ }, {
907
+ number: pagination?.total
908
+ }),
909
+ title: contentTypeTitle,
910
+ navigationAction: /*#__PURE__*/ jsx(BackButton, {})
911
+ }),
912
+ /*#__PURE__*/ jsx(Layouts.Action, {
913
+ endActions: /*#__PURE__*/ jsxs(Fragment, {
914
+ children: [
915
+ /*#__PURE__*/ jsx(InjectionZone, {
916
+ area: "listView.actions"
917
+ }),
918
+ /*#__PURE__*/ jsx(ViewSettingsMenu, {
919
+ setHeaders: handleSetHeaders,
920
+ resetHeaders: ()=>setDisplayedHeaders(list.layout),
921
+ headers: displayedHeaders.map((header)=>header.name)
922
+ })
923
+ ]
924
+ }),
925
+ startActions: /*#__PURE__*/ jsxs(Fragment, {
926
+ children: [
927
+ list.settings.searchable && /*#__PURE__*/ jsx(SearchInput, {
928
+ disabled: results.length === 0,
929
+ label: formatMessage({
930
+ id: 'app.component.search.label',
931
+ defaultMessage: 'Search for {target}'
932
+ }, {
933
+ target: contentTypeTitle
934
+ }),
935
+ placeholder: formatMessage({
936
+ id: 'global.search',
937
+ defaultMessage: 'Search'
938
+ }),
939
+ trackedEvent: "didSearch"
940
+ }),
941
+ list.settings.filterable && schema ? /*#__PURE__*/ jsx(FiltersImpl, {
942
+ disabled: results.length === 0,
943
+ schema: schema
944
+ }) : null
945
+ ]
946
+ })
947
+ }),
948
+ /*#__PURE__*/ jsx(Layouts.Content, {
949
+ children: /*#__PURE__*/ jsxs(Flex, {
950
+ gap: 4,
951
+ direction: "column",
952
+ alignItems: "stretch",
953
+ children: [
954
+ /*#__PURE__*/ jsxs(Table.Root, {
955
+ rows: results,
956
+ headers: tableHeaders,
957
+ isLoading: isFetching,
958
+ children: [
959
+ /*#__PURE__*/ jsx(TableActionsBar, {}),
960
+ /*#__PURE__*/ jsxs(Table.Content, {
961
+ children: [
962
+ /*#__PURE__*/ jsxs(Table.Head, {
963
+ children: [
964
+ /*#__PURE__*/ jsx(Table.HeaderCheckboxCell, {}),
965
+ tableHeaders.map((header)=>/*#__PURE__*/ jsx(Table.HeaderCell, {
966
+ ...header
967
+ }, header.name))
968
+ ]
969
+ }),
970
+ /*#__PURE__*/ jsx(Table.Loading, {}),
971
+ /*#__PURE__*/ jsx(Table.Empty, {
972
+ action: canCreate ? /*#__PURE__*/ jsx(CreateButton, {
973
+ variant: "secondary"
974
+ }) : null
975
+ }),
976
+ /*#__PURE__*/ jsx(Table.Body, {
977
+ children: results.map((row)=>{
978
+ return /*#__PURE__*/ jsxs(Table.Row, {
979
+ cursor: "pointer",
980
+ onClick: handleRowClick(row.documentId),
981
+ children: [
982
+ /*#__PURE__*/ jsx(Table.CheckboxCell, {
983
+ id: row.id
984
+ }),
985
+ tableHeaders.map(({ cellFormatter, ...header })=>{
986
+ if (header.name === 'status') {
987
+ const { status } = row;
988
+ return /*#__PURE__*/ jsx(Table.Cell, {
989
+ children: /*#__PURE__*/ jsx(DocumentStatus, {
990
+ status: status,
991
+ maxWidth: 'min-content'
992
+ })
993
+ }, header.name);
994
+ }
995
+ if ([
996
+ 'createdBy',
997
+ 'updatedBy'
998
+ ].includes(header.name.split('.')[0])) {
999
+ // Display the users full name
1000
+ // Some entries doesn't have a user assigned as creator/updater (ex: entries created through content API)
1001
+ // In this case, we display a dash
1002
+ return /*#__PURE__*/ jsx(Table.Cell, {
1003
+ children: /*#__PURE__*/ jsx(Typography, {
1004
+ textColor: "neutral800",
1005
+ children: row[header.name.split('.')[0]] ? getDisplayName(row[header.name.split('.')[0]]) : '-'
1006
+ })
1007
+ }, header.name);
1008
+ }
1009
+ if (typeof cellFormatter === 'function') {
1010
+ return /*#__PURE__*/ jsx(Table.Cell, {
1011
+ children: cellFormatter(row, header, {
1012
+ collectionType,
1013
+ model
1014
+ })
1015
+ }, header.name);
1016
+ }
1017
+ return /*#__PURE__*/ jsx(Table.Cell, {
1018
+ children: /*#__PURE__*/ jsx(CellContent, {
1019
+ content: row[header.name.split('.')[0]],
1020
+ rowId: row.documentId,
1021
+ ...header
1022
+ })
1023
+ }, header.name);
1024
+ }),
1025
+ /*#__PURE__*/ jsx(ActionsCell, {
1026
+ onClick: (e)=>e.stopPropagation(),
1027
+ children: /*#__PURE__*/ jsx(TableActions, {
1028
+ document: row
1029
+ })
1030
+ })
1031
+ ]
1032
+ }, row.id);
1033
+ })
1034
+ })
1035
+ ]
1036
+ })
1037
+ ]
1038
+ }),
1039
+ /*#__PURE__*/ jsxs(Pagination.Root, {
1040
+ ...pagination,
1041
+ onPageSizeChange: ()=>trackUsage('willChangeNumberOfEntriesPerPage'),
1042
+ children: [
1043
+ /*#__PURE__*/ jsx(Pagination.PageSize, {}),
1044
+ /*#__PURE__*/ jsx(Pagination.Links, {})
1045
+ ]
1046
+ })
1047
+ ]
1048
+ })
1049
+ })
1050
+ ]
1051
+ });
1052
+ };
1053
+ const ActionsCell = styled(Table.Cell)`
1054
+ display: flex;
1055
+ justify-content: flex-end;
1056
+ `;
1057
+ /* -------------------------------------------------------------------------------------------------
1058
+ * TableActionsBar
1059
+ * -----------------------------------------------------------------------------------------------*/ const TableActionsBar = ()=>{
1060
+ const selectRow = useTable('TableActionsBar', (state)=>state.selectRow);
1061
+ const [{ query }] = useQueryParams();
1062
+ const locale = query?.plugins?.i18n?.locale;
1063
+ const prevLocale = usePrev(locale);
1064
+ // TODO: find a better way to reset the selected rows when the locale changes across all the app
1065
+ React.useEffect(()=>{
1066
+ if (prevLocale !== locale) {
1067
+ selectRow([]);
1068
+ }
1069
+ }, [
1070
+ selectRow,
1071
+ prevLocale,
1072
+ locale
1073
+ ]);
1074
+ return /*#__PURE__*/ jsx(Table.ActionBar, {
1075
+ children: /*#__PURE__*/ jsx(BulkActionsRenderer, {})
1076
+ });
1077
+ };
1078
+ const CreateButton = ({ variant })=>{
1079
+ const { formatMessage } = useIntl();
1080
+ const { trackUsage } = useTracking();
1081
+ const [{ query }] = useQueryParams();
1082
+ return /*#__PURE__*/ jsx(Button, {
1083
+ variant: variant,
1084
+ tag: Link,
1085
+ onClick: ()=>{
1086
+ trackUsage('willCreateEntry', {
1087
+ status: 'draft'
1088
+ });
1089
+ },
1090
+ startIcon: /*#__PURE__*/ jsx(Plus, {}),
1091
+ style: {
1092
+ textDecoration: 'none'
1093
+ },
1094
+ to: {
1095
+ pathname: 'create',
1096
+ search: stringify({
1097
+ plugins: query.plugins
1098
+ })
1099
+ },
1100
+ minWidth: "max-content",
1101
+ marginLeft: 2,
1102
+ children: formatMessage({
1103
+ id: getTranslation('HeaderLayout.button.label-add-entry'),
1104
+ defaultMessage: 'Create new entry'
1105
+ })
1106
+ });
1107
+ };
1108
+ /* -------------------------------------------------------------------------------------------------
1109
+ * ProtectedListViewPage
1110
+ * -----------------------------------------------------------------------------------------------*/ const ProtectedListViewPage = ()=>{
1111
+ const { slug = '' } = useParams();
1112
+ const { permissions = [], isLoading, error } = useRBAC(PERMISSIONS.map((action)=>({
1113
+ action,
1114
+ subject: slug
1115
+ })));
1116
+ if (isLoading) {
1117
+ return /*#__PURE__*/ jsx(Page.Loading, {});
1118
+ }
1119
+ if (error || !slug) {
1120
+ return /*#__PURE__*/ jsx(Page.Error, {});
1121
+ }
1122
+ return /*#__PURE__*/ jsx(Page.Protect, {
1123
+ permissions: permissions,
1124
+ children: ({ permissions })=>/*#__PURE__*/ jsx(DocumentRBAC, {
1125
+ permissions: permissions,
1126
+ children: /*#__PURE__*/ jsx(ListViewPage, {})
1127
+ })
1128
+ });
1129
+ };
1130
+
1131
+ export { ListViewPage, ProtectedListViewPage };
1132
+ //# sourceMappingURL=ListViewPage-BF2q7N6W.js.map