@strapi/content-manager 0.0.0-next.39c0188c3aa01bec7b64b948211571d5159e811d → 0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76

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