@strapi/content-manager 5.8.1 → 5.10.0

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