@strapi/content-manager 0.0.0-next.af5da17207f828ea159182ea6e2d9a07ae6d34bf → 0.0.0-next.b4e84114b7bd2b58e34af3f2a7febca9845e6f86

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