@strapi/content-manager 5.9.0 → 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs +80 -0
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
  3. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +82 -0
  4. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +1 -0
  5. package/dist/admin/chunks/ComponentConfigurationPage-BN2kOtDm.mjs +277 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-BN2kOtDm.mjs.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-C5H-5L1u.js +299 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-C5H-5L1u.js.map +1 -0
  9. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs +153 -0
  10. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
  11. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +176 -0
  12. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +1 -0
  13. package/dist/admin/chunks/EditConfigurationPage-BExtZuB7.js +181 -0
  14. package/dist/admin/chunks/EditConfigurationPage-BExtZuB7.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-tMgOELQG.mjs +159 -0
  16. package/dist/admin/chunks/EditConfigurationPage-tMgOELQG.mjs.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs +314 -0
  18. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js +337 -0
  20. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +1 -0
  21. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs +56 -0
  22. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
  23. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +58 -0
  24. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +1 -0
  25. package/dist/admin/chunks/Form-DGUP3zQO.js +978 -0
  26. package/dist/admin/chunks/Form-DGUP3zQO.js.map +1 -0
  27. package/dist/admin/chunks/Form-DTO0ZIaB.mjs +955 -0
  28. package/dist/admin/chunks/Form-DTO0ZIaB.mjs.map +1 -0
  29. package/dist/admin/chunks/History-C333pgXF.mjs +1357 -0
  30. package/dist/admin/chunks/History-C333pgXF.mjs.map +1 -0
  31. package/dist/admin/chunks/History-CQznK1pG.js +1380 -0
  32. package/dist/admin/chunks/History-CQznK1pG.js.map +1 -0
  33. package/dist/admin/chunks/Input-BexkC_pp.mjs +7190 -0
  34. package/dist/admin/chunks/Input-BexkC_pp.mjs.map +1 -0
  35. package/dist/admin/chunks/Input-DLJZHw9Y.js +7221 -0
  36. package/dist/admin/chunks/Input-DLJZHw9Y.js.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-71I_stAM.js +819 -0
  38. package/dist/admin/chunks/ListConfigurationPage-71I_stAM.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-BX2WR7MI.mjs +796 -0
  40. package/dist/admin/chunks/ListConfigurationPage-BX2WR7MI.mjs.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-BDeT3Dkk.mjs +1133 -0
  42. package/dist/admin/chunks/ListViewPage-BDeT3Dkk.mjs.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-DV3heO4F.js +1155 -0
  44. package/dist/admin/chunks/ListViewPage-DV3heO4F.js.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-9JHYpYVX.mjs +58 -0
  46. package/dist/admin/chunks/NoContentTypePage-9JHYpYVX.mjs.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-COih9y2J.js +60 -0
  48. package/dist/admin/chunks/NoContentTypePage-COih9y2J.js.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-DGAwRIlN.js +39 -0
  50. package/dist/admin/chunks/NoPermissionsPage-DGAwRIlN.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-DTe9I47q.mjs +37 -0
  52. package/dist/admin/chunks/NoPermissionsPage-DTe9I47q.mjs.map +1 -0
  53. package/dist/admin/chunks/Preview-BEq0FXda.mjs +551 -0
  54. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +1 -0
  55. package/dist/admin/chunks/Preview-CXtc9yEV.js +573 -0
  56. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +1 -0
  57. package/dist/admin/chunks/Relations-o7_hVGyK.js +1318 -0
  58. package/dist/admin/chunks/Relations-o7_hVGyK.js.map +1 -0
  59. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs +1291 -0
  60. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs.map +1 -0
  61. package/dist/admin/chunks/ar-DckYq_WK.mjs +222 -0
  62. package/dist/{_chunks/ar-CCEVvqGG.mjs.map → admin/chunks/ar-DckYq_WK.mjs.map} +1 -1
  63. package/dist/admin/chunks/ar-DeQBSsfl.js +227 -0
  64. package/dist/{_chunks/ru-BT3ybNny.js.map → admin/chunks/ar-DeQBSsfl.js.map} +1 -1
  65. package/dist/admin/chunks/ca-ClDTvatJ.js +202 -0
  66. package/dist/admin/chunks/ca-ClDTvatJ.js.map +1 -0
  67. package/dist/admin/chunks/ca-DviY7mRj.mjs +197 -0
  68. package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
  69. package/dist/admin/chunks/cs-BJFxwIWj.js +126 -0
  70. package/dist/{_chunks/cs-CkJy6B2v.js.map → admin/chunks/cs-BJFxwIWj.js.map} +1 -1
  71. package/dist/admin/chunks/cs-C7OSYFQ7.mjs +122 -0
  72. package/dist/{_chunks/cs-CM2aBUar.mjs.map → admin/chunks/cs-C7OSYFQ7.mjs.map} +1 -1
  73. package/dist/admin/chunks/de-5QRlDHyR.mjs +195 -0
  74. package/dist/{_chunks/eu-CdALomew.mjs.map → admin/chunks/de-5QRlDHyR.mjs.map} +1 -1
  75. package/dist/admin/chunks/de-CbImAUA5.js +200 -0
  76. package/dist/{_chunks/gu-BRmF601H.js.map → admin/chunks/de-CbImAUA5.js.map} +1 -1
  77. package/dist/admin/chunks/en-C1CjdAtC.js +313 -0
  78. package/dist/{_chunks/en-BR48D_RH.js.map → admin/chunks/en-C1CjdAtC.js.map} +1 -1
  79. package/dist/admin/chunks/en-LfhocNG2.mjs +308 -0
  80. package/dist/{_chunks/en-D65uIF6Y.mjs.map → admin/chunks/en-LfhocNG2.mjs.map} +1 -1
  81. package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
  82. package/dist/{_chunks/es-9K52xZIr.js.map → admin/chunks/es-C8vLuvZL.js.map} +1 -1
  83. package/dist/admin/chunks/es-DkoWSExG.mjs +192 -0
  84. package/dist/{_chunks/ja-BHqhDq4V.mjs.map → admin/chunks/es-DkoWSExG.mjs.map} +1 -1
  85. package/dist/admin/chunks/eu-BG1xX7HK.mjs +198 -0
  86. package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
  87. package/dist/admin/chunks/eu-BJW3AvXu.js +203 -0
  88. package/dist/admin/chunks/eu-BJW3AvXu.js.map +1 -0
  89. package/dist/admin/chunks/fr-CFdRaRVj.mjs +215 -0
  90. package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
  91. package/dist/admin/chunks/fr-gQSilC7w.js +220 -0
  92. package/dist/admin/chunks/fr-gQSilC7w.js.map +1 -0
  93. package/dist/admin/chunks/gu-D5MMMXRs.mjs +196 -0
  94. package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
  95. package/dist/admin/chunks/gu-DPU4wyx7.js +201 -0
  96. package/dist/{_chunks/eu-VDH-3ovk.js.map → admin/chunks/gu-DPU4wyx7.js.map} +1 -1
  97. package/dist/admin/chunks/hi-Dp4omeBb.js +201 -0
  98. package/dist/admin/chunks/hi-Dp4omeBb.js.map +1 -0
  99. package/dist/admin/chunks/hi-lp17SCjr.mjs +196 -0
  100. package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
  101. package/dist/{_chunks/hooks-BAaaKPS_.js → admin/chunks/hooks-D-sOYd1s.js} +6 -3
  102. package/dist/admin/chunks/hooks-D-sOYd1s.js.map +1 -0
  103. package/dist/admin/chunks/hooks-DMvik5y_.mjs +7 -0
  104. package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
  105. package/dist/admin/chunks/hu-CLka1U2C.mjs +198 -0
  106. package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
  107. package/dist/admin/chunks/hu-CtFJuhTd.js +203 -0
  108. package/dist/admin/chunks/hu-CtFJuhTd.js.map +1 -0
  109. package/dist/admin/chunks/id-D7V5S1rB.js +161 -0
  110. package/dist/{_chunks/it-DkBIs7vD.js.map → admin/chunks/id-D7V5S1rB.js.map} +1 -1
  111. package/dist/admin/chunks/id-USfY9m1g.mjs +156 -0
  112. package/dist/{_chunks/id-BtwA9WJT.mjs.map → admin/chunks/id-USfY9m1g.mjs.map} +1 -1
  113. package/dist/admin/chunks/index-BHimg6jW.js +5417 -0
  114. package/dist/admin/chunks/index-BHimg6jW.js.map +1 -0
  115. package/dist/admin/chunks/index-Cs6qwFQu.mjs +5351 -0
  116. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +1 -0
  117. package/dist/admin/chunks/it-BAHrwmYS.mjs +158 -0
  118. package/dist/{_chunks/it-BrVPqaf1.mjs.map → admin/chunks/it-BAHrwmYS.mjs.map} +1 -1
  119. package/dist/admin/chunks/it-CQFpa_Dc.js +163 -0
  120. package/dist/{_chunks/ko-woFZPmLk.js.map → admin/chunks/it-CQFpa_Dc.js.map} +1 -1
  121. package/dist/admin/chunks/ja-BWKmBJFT.mjs +192 -0
  122. package/dist/{_chunks/ko-HVQRlfUI.mjs.map → admin/chunks/ja-BWKmBJFT.mjs.map} +1 -1
  123. package/dist/admin/chunks/ja-jdQM-B79.js +197 -0
  124. package/dist/{_chunks/de-CCEmbAah.js.map → admin/chunks/ja-jdQM-B79.js.map} +1 -1
  125. package/dist/admin/chunks/ko-CgADGBNt.mjs +191 -0
  126. package/dist/{_chunks/es-D34tqjMw.mjs.map → admin/chunks/ko-CgADGBNt.mjs.map} +1 -1
  127. package/dist/admin/chunks/ko-k46sEyzt.js +196 -0
  128. package/dist/{_chunks/ja-7sfIbjxE.js.map → admin/chunks/ko-k46sEyzt.js.map} +1 -1
  129. package/dist/admin/chunks/layout-DStNia_P.mjs +599 -0
  130. package/dist/admin/chunks/layout-DStNia_P.mjs.map +1 -0
  131. package/dist/admin/chunks/layout-Dtahn4Ue.js +619 -0
  132. package/dist/admin/chunks/layout-Dtahn4Ue.js.map +1 -0
  133. package/dist/admin/chunks/ml-CnhCfOn_.mjs +196 -0
  134. package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
  135. package/dist/admin/chunks/ml-DqxPwODx.js +201 -0
  136. package/dist/admin/chunks/ml-DqxPwODx.js.map +1 -0
  137. package/dist/admin/chunks/ms-Bh09NFff.mjs +140 -0
  138. package/dist/{_chunks/ms-m_WjyWx7.mjs.map → admin/chunks/ms-Bh09NFff.mjs.map} +1 -1
  139. package/dist/admin/chunks/ms-CvSC0OdG.js +145 -0
  140. package/dist/{_chunks/ms-BuFotyP_.js.map → admin/chunks/ms-CvSC0OdG.js.map} +1 -1
  141. package/dist/admin/chunks/nl-BEubhS8C.js +203 -0
  142. package/dist/admin/chunks/nl-BEubhS8C.js.map +1 -0
  143. package/dist/admin/chunks/nl-C8HYflTc.mjs +198 -0
  144. package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
  145. package/dist/admin/chunks/objects-C3EebVVe.js +76 -0
  146. package/dist/admin/chunks/objects-C3EebVVe.js.map +1 -0
  147. package/dist/admin/chunks/objects-wl73iEma.mjs +73 -0
  148. package/dist/admin/chunks/objects-wl73iEma.mjs.map +1 -0
  149. package/dist/admin/chunks/pl-DWhGDzmM.js +200 -0
  150. package/dist/{_chunks/ca-Cmk45QO6.js.map → admin/chunks/pl-DWhGDzmM.js.map} +1 -1
  151. package/dist/admin/chunks/pl-MFCZJZuZ.mjs +195 -0
  152. package/dist/{_chunks/ca-5U32ON2v.mjs.map → admin/chunks/pl-MFCZJZuZ.mjs.map} +1 -1
  153. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +202 -0
  154. package/dist/{_chunks/pt-BR-BiOz37D9.js.map → admin/chunks/pt-BR-CPtAXD-4.js.map} +1 -1
  155. package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs +197 -0
  156. package/dist/{_chunks/pt-BR-C71iDxnh.mjs.map → admin/chunks/pt-BR-CcotyBGJ.mjs.map} +1 -1
  157. package/dist/admin/chunks/pt-BoPxN80n.js +96 -0
  158. package/dist/admin/chunks/pt-BoPxN80n.js.map +1 -0
  159. package/dist/admin/chunks/pt-HbmgeiYO.mjs +93 -0
  160. package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
  161. package/dist/admin/chunks/relations-Cq8NRUto.mjs +173 -0
  162. package/dist/admin/chunks/relations-Cq8NRUto.mjs.map +1 -0
  163. package/dist/admin/chunks/relations-XOYEEqMz.js +178 -0
  164. package/dist/admin/chunks/relations-XOYEEqMz.js.map +1 -0
  165. package/dist/admin/chunks/ru-C0op0ALG.js +232 -0
  166. package/dist/admin/chunks/ru-C0op0ALG.js.map +1 -0
  167. package/dist/admin/chunks/ru-CB4BUyQp.mjs +230 -0
  168. package/dist/{_chunks/ru-BE6A4Exp.mjs.map → admin/chunks/ru-CB4BUyQp.mjs.map} +1 -1
  169. package/dist/admin/chunks/sa-B_FuPyMw.js +201 -0
  170. package/dist/admin/chunks/sa-B_FuPyMw.js.map +1 -0
  171. package/dist/admin/chunks/sa-n_aPA-pU.mjs +196 -0
  172. package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
  173. package/dist/admin/chunks/sk-D_iXML2C.js +203 -0
  174. package/dist/admin/chunks/sk-D_iXML2C.js.map +1 -0
  175. package/dist/admin/chunks/sk-tn_BDjE2.mjs +198 -0
  176. package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
  177. package/dist/admin/chunks/sv-BstBC1Yp.js +203 -0
  178. package/dist/admin/chunks/sv-BstBC1Yp.js.map +1 -0
  179. package/dist/admin/chunks/sv-cq4ZrQRd.mjs +198 -0
  180. package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
  181. package/dist/admin/chunks/th-lXoOCqPC.js +149 -0
  182. package/dist/{_chunks/th-D9_GfAjc.js.map → admin/chunks/th-lXoOCqPC.js.map} +1 -1
  183. package/dist/admin/chunks/th-mUH7hEtc.mjs +144 -0
  184. package/dist/{_chunks/th-BqbI8lIT.mjs.map → admin/chunks/th-mUH7hEtc.mjs.map} +1 -1
  185. package/dist/admin/chunks/tr-CkS6sLIE.js +200 -0
  186. package/dist/admin/chunks/tr-CkS6sLIE.js.map +1 -0
  187. package/dist/admin/chunks/tr-Yt38daxh.mjs +195 -0
  188. package/dist/{_chunks/de-C72KDNOl.mjs.map → admin/chunks/tr-Yt38daxh.mjs.map} +1 -1
  189. package/dist/admin/chunks/uk-B24MoTVg.js +145 -0
  190. package/dist/{_chunks/uk-C8EiqJY7.js.map → admin/chunks/uk-B24MoTVg.js.map} +1 -1
  191. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +140 -0
  192. package/dist/{_chunks/uk-CR-zDhAY.mjs.map → admin/chunks/uk-Cpgmm7gE.mjs.map} +1 -1
  193. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs +247 -0
  194. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +1 -0
  195. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +271 -0
  196. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +1 -0
  197. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs +18 -0
  198. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +1 -0
  199. package/dist/admin/chunks/usePrev-DIYl-IAL.js +21 -0
  200. package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +1 -0
  201. package/dist/admin/chunks/vi-BGr1X_HZ.js +112 -0
  202. package/dist/{_chunks/vi-CJlYDheJ.js.map → admin/chunks/vi-BGr1X_HZ.js.map} +1 -1
  203. package/dist/admin/chunks/vi-CvBGlTjr.mjs +108 -0
  204. package/dist/{_chunks/vi-DUXIk_fw.mjs.map → admin/chunks/vi-CvBGlTjr.mjs.map} +1 -1
  205. package/dist/admin/chunks/zh-BmF-sHaT.mjs +205 -0
  206. package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
  207. package/dist/admin/chunks/zh-DwFu_Kfj.js +210 -0
  208. package/dist/admin/chunks/zh-DwFu_Kfj.js.map +1 -0
  209. package/dist/admin/chunks/zh-Hans-CI0HKio3.mjs +934 -0
  210. package/dist/{_chunks/zh-Hans-BPQcRIyH.mjs.map → admin/chunks/zh-Hans-CI0HKio3.mjs.map} +1 -1
  211. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +953 -0
  212. package/dist/{_chunks/zh-Hans-9kOncHGw.js.map → admin/chunks/zh-Hans-JVK9x7xr.js.map} +1 -1
  213. package/dist/admin/index.js +24 -4
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +17 -13
  216. package/dist/admin/index.mjs.map +1 -1
  217. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  218. package/dist/admin/src/hooks/useDocument.d.ts +2 -2
  219. package/dist/admin/src/index.d.ts +1 -0
  220. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  221. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +49 -1
  222. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  223. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  224. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +2 -1
  225. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -1
  226. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
  227. package/dist/admin/src/preview/index.d.ts +2 -3
  228. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  229. package/dist/server/index.js +5459 -4387
  230. package/dist/server/index.js.map +1 -1
  231. package/dist/server/index.mjs +5446 -4372
  232. package/dist/server/index.mjs.map +1 -1
  233. package/dist/server/src/controllers/utils/metadata.d.ts +1 -1
  234. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  235. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  236. package/dist/server/src/services/utils/count.d.ts +1 -1
  237. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  238. package/dist/server/src/services/utils/populate.d.ts +1 -1
  239. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  240. package/dist/shared/contracts/collection-types.d.ts +0 -1
  241. package/dist/shared/contracts/components.d.ts +0 -1
  242. package/dist/shared/contracts/content-types.d.ts +0 -1
  243. package/dist/shared/contracts/history-versions.d.ts +0 -1
  244. package/dist/shared/contracts/index.d.ts +0 -1
  245. package/dist/shared/contracts/init.d.ts +0 -1
  246. package/dist/shared/contracts/preview.d.ts +0 -1
  247. package/dist/shared/contracts/relations.d.ts +1 -2
  248. package/dist/shared/contracts/relations.d.ts.map +1 -1
  249. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  250. package/dist/shared/contracts/single-types.d.ts +0 -1
  251. package/dist/shared/contracts/uid.d.ts +0 -1
  252. package/dist/shared/index.d.ts +0 -1
  253. package/dist/shared/index.js +35 -24
  254. package/dist/shared/index.js.map +1 -1
  255. package/dist/shared/index.mjs +34 -25
  256. package/dist/shared/index.mjs.map +1 -1
  257. package/package.json +15 -12
  258. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
  259. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
  260. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
  261. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
  262. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs +0 -236
  263. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs.map +0 -1
  264. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js +0 -254
  265. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js.map +0 -1
  266. package/dist/_chunks/ComponentIcon-CRbtQEUV.js +0 -175
  267. package/dist/_chunks/ComponentIcon-CRbtQEUV.js.map +0 -1
  268. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
  269. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
  270. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js +0 -150
  271. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js.map +0 -1
  272. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs +0 -132
  273. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs.map +0 -1
  274. package/dist/_chunks/EditViewPage-D4yFJET6.js +0 -209
  275. package/dist/_chunks/EditViewPage-D4yFJET6.js.map +0 -1
  276. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs +0 -191
  277. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs.map +0 -1
  278. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  279. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  280. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  281. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  282. package/dist/_chunks/Form-C4rSaGsz.js +0 -778
  283. package/dist/_chunks/Form-C4rSaGsz.js.map +0 -1
  284. package/dist/_chunks/Form-DamaxNpG.mjs +0 -758
  285. package/dist/_chunks/Form-DamaxNpG.mjs.map +0 -1
  286. package/dist/_chunks/History-D1PreDSY.mjs +0 -999
  287. package/dist/_chunks/History-D1PreDSY.mjs.map +0 -1
  288. package/dist/_chunks/History-DTm8UCCQ.js +0 -1019
  289. package/dist/_chunks/History-DTm8UCCQ.js.map +0 -1
  290. package/dist/_chunks/Input-B7sapvBG.js +0 -5617
  291. package/dist/_chunks/Input-B7sapvBG.js.map +0 -1
  292. package/dist/_chunks/Input-CZ1YvjHR.mjs +0 -5585
  293. package/dist/_chunks/Input-CZ1YvjHR.mjs.map +0 -1
  294. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs +0 -633
  295. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs.map +0 -1
  296. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js +0 -652
  297. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js.map +0 -1
  298. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs +0 -854
  299. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs.map +0 -1
  300. package/dist/_chunks/ListViewPage-DTuuxU3n.js +0 -877
  301. package/dist/_chunks/ListViewPage-DTuuxU3n.js.map +0 -1
  302. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js +0 -51
  303. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js.map +0 -1
  304. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs +0 -51
  305. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs.map +0 -1
  306. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs +0 -23
  307. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs.map +0 -1
  308. package/dist/_chunks/NoPermissionsPage-v7I599vC.js +0 -23
  309. package/dist/_chunks/NoPermissionsPage-v7I599vC.js.map +0 -1
  310. package/dist/_chunks/Preview-BNuU0SuQ.mjs +0 -287
  311. package/dist/_chunks/Preview-BNuU0SuQ.mjs.map +0 -1
  312. package/dist/_chunks/Preview-Cxq-uI6D.js +0 -305
  313. package/dist/_chunks/Preview-Cxq-uI6D.js.map +0 -1
  314. package/dist/_chunks/Relations-C2Ahkrdg.mjs +0 -728
  315. package/dist/_chunks/Relations-C2Ahkrdg.mjs.map +0 -1
  316. package/dist/_chunks/Relations-CWS79QQn.js +0 -747
  317. package/dist/_chunks/Relations-CWS79QQn.js.map +0 -1
  318. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  319. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  320. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  321. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  322. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  323. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  324. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  325. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  326. package/dist/_chunks/de-CCEmbAah.js +0 -199
  327. package/dist/_chunks/en-BR48D_RH.js +0 -312
  328. package/dist/_chunks/en-D65uIF6Y.mjs +0 -312
  329. package/dist/_chunks/es-9K52xZIr.js +0 -196
  330. package/dist/_chunks/es-D34tqjMw.mjs +0 -196
  331. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  332. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  333. package/dist/_chunks/fr-C43IbhA_.js +0 -219
  334. package/dist/_chunks/fr-C43IbhA_.js.map +0 -1
  335. package/dist/_chunks/fr-DBseuRuB.mjs +0 -219
  336. package/dist/_chunks/fr-DBseuRuB.mjs.map +0 -1
  337. package/dist/_chunks/gu-BRmF601H.js +0 -200
  338. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  339. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  340. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  341. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  342. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  343. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  344. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  345. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  346. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  347. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  348. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  349. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  350. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  351. package/dist/_chunks/id-B5Ser98A.js +0 -160
  352. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  353. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  354. package/dist/_chunks/index-DQsvBb_N.js +0 -4500
  355. package/dist/_chunks/index-DQsvBb_N.js.map +0 -1
  356. package/dist/_chunks/index-ZKrsjv-2.mjs +0 -4481
  357. package/dist/_chunks/index-ZKrsjv-2.mjs.map +0 -1
  358. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  359. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  360. package/dist/_chunks/ja-7sfIbjxE.js +0 -196
  361. package/dist/_chunks/ja-BHqhDq4V.mjs +0 -196
  362. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  363. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  364. package/dist/_chunks/layout-Cl0NhlQB.js +0 -488
  365. package/dist/_chunks/layout-Cl0NhlQB.js.map +0 -1
  366. package/dist/_chunks/layout-fQk1rMk9.mjs +0 -471
  367. package/dist/_chunks/layout-fQk1rMk9.mjs.map +0 -1
  368. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  369. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  370. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  371. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  372. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  373. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  374. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  375. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  376. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  377. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  378. package/dist/_chunks/objects-BcXOv6_9.js +0 -47
  379. package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
  380. package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
  381. package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
  382. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  383. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  384. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  385. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  386. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  387. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  388. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  389. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  390. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  391. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  392. package/dist/_chunks/relations-BRfBxVbX.js +0 -133
  393. package/dist/_chunks/relations-BRfBxVbX.js.map +0 -1
  394. package/dist/_chunks/relations-BakOFl_1.mjs +0 -134
  395. package/dist/_chunks/relations-BakOFl_1.mjs.map +0 -1
  396. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  397. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  398. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  399. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  400. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  401. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  402. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  403. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  404. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  405. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  406. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  407. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  408. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  409. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  410. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  411. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  412. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  413. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  414. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  415. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  416. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  417. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  418. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js +0 -245
  419. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js.map +0 -1
  420. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs +0 -228
  421. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs.map +0 -1
  422. package/dist/_chunks/usePrev-CZGy2Vjf.mjs +0 -29
  423. package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +0 -1
  424. package/dist/_chunks/usePrev-D5J_2fEu.js +0 -28
  425. package/dist/_chunks/usePrev-D5J_2fEu.js.map +0 -1
  426. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  427. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  428. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  429. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  430. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  431. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  432. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  433. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  434. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -49
@@ -1,488 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const strapiAdmin = require("@strapi/admin/strapi-admin");
6
- const reactIntl = require("react-intl");
7
- const reactRouterDom = require("react-router-dom");
8
- const designSystem = require("@strapi/design-system");
9
- const reactDnd = require("react-dnd");
10
- const CardDragPreview = require("./CardDragPreview-C0QyJgRA.js");
11
- const Icons = require("@strapi/icons");
12
- const styledComponents = require("styled-components");
13
- const index = require("./index-DQsvBb_N.js");
14
- const Relations = require("./Relations-CWS79QQn.js");
15
- const qs = require("qs");
16
- const hooks = require("./hooks-BAaaKPS_.js");
17
- const useDragAndDrop = require("./useDragAndDrop-BMtgCYzL.js");
18
- function _interopNamespace(e) {
19
- if (e && e.__esModule) return e;
20
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
21
- if (e) {
22
- for (const k in e) {
23
- if (k !== "default") {
24
- const d = Object.getOwnPropertyDescriptor(e, k);
25
- Object.defineProperty(n, k, d.get ? d : {
26
- enumerable: true,
27
- get: () => e[k]
28
- });
29
- }
30
- }
31
- }
32
- n.default = e;
33
- return Object.freeze(n);
34
- }
35
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
36
- function getStyle(initialOffset, currentOffset, mouseOffset) {
37
- if (!initialOffset || !currentOffset || !mouseOffset) {
38
- return { display: "none" };
39
- }
40
- const { x, y } = mouseOffset;
41
- return {
42
- transform: `translate(${x}px, ${y}px)`
43
- };
44
- }
45
- const DragLayer = ({ renderItem }) => {
46
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = reactDnd.useDragLayer(
47
- (monitor) => ({
48
- item: monitor.getItem(),
49
- itemType: monitor.getItemType(),
50
- initialOffset: monitor.getInitialSourceClientOffset(),
51
- currentOffset: monitor.getSourceClientOffset(),
52
- isDragging: monitor.isDragging(),
53
- mouseOffset: monitor.getClientOffset()
54
- })
55
- );
56
- if (!isDragging) {
57
- return null;
58
- }
59
- return /* @__PURE__ */ jsxRuntime.jsx(
60
- designSystem.Box,
61
- {
62
- height: "100%",
63
- left: 0,
64
- position: "fixed",
65
- pointerEvents: "none",
66
- top: 0,
67
- zIndex: 100,
68
- width: "100%",
69
- children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: renderItem({ type: itemType, item }) })
70
- }
71
- );
72
- };
73
- const ComponentDragPreview = ({ displayedValue }) => {
74
- return /* @__PURE__ */ jsxRuntime.jsxs(
75
- designSystem.Flex,
76
- {
77
- background: "neutral0",
78
- borderColor: "neutral200",
79
- justifyContent: "space-between",
80
- gap: 3,
81
- padding: 3,
82
- width: "30rem",
83
- children: [
84
- /* @__PURE__ */ jsxRuntime.jsx(ToggleButton, { type: "button", children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 6, children: [
85
- /* @__PURE__ */ jsxRuntime.jsx(
86
- DropdownIconWrapper,
87
- {
88
- alignItems: "center",
89
- justifyContent: "center",
90
- background: "neutral200",
91
- height: "3.2rem",
92
- width: "3.2rem",
93
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.CaretDown, {})
94
- }
95
- ),
96
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { maxWidth: "15rem", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral700", ellipsis: true, children: displayedValue }) })
97
- ] }) }),
98
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
99
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { withTooltip: false, label: "", variant: "ghost", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Trash, {}) }),
100
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { withTooltip: false, label: "", variant: "ghost", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, {}) })
101
- ] })
102
- ]
103
- }
104
- );
105
- };
106
- const DropdownIconWrapper = styledComponents.styled(designSystem.Flex)`
107
- border-radius: 50%;
108
-
109
- svg {
110
- height: 0.6rem;
111
- width: 1.1rem;
112
- > path {
113
- fill: ${({ theme }) => theme.colors.neutral600};
114
- }
115
- }
116
- `;
117
- const ToggleButton = styledComponents.styled.button`
118
- border: none;
119
- background: transparent;
120
- display: block;
121
- width: 100%;
122
- text-align: unset;
123
- padding: 0;
124
- `;
125
- const RelationDragPreview = ({ status, displayedValue, width }) => {
126
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: { width }, children: /* @__PURE__ */ jsxRuntime.jsxs(
127
- designSystem.Flex,
128
- {
129
- paddingTop: 2,
130
- paddingBottom: 2,
131
- paddingLeft: 2,
132
- paddingRight: 4,
133
- hasRadius: true,
134
- borderWidth: 1,
135
- background: "neutral0",
136
- borderColor: "neutral200",
137
- justifyContent: "space-between",
138
- gap: 4,
139
- children: [
140
- /* @__PURE__ */ jsxRuntime.jsxs(Relations.FlexWrapper, { gap: 1, children: [
141
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { withTooltip: false, label: "", variant: "ghost", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, {}) }),
142
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", minWidth: 0, justifyContent: "space-between", children: [
143
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsxRuntime.jsx(Relations.LinkEllipsis, { href: "", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", ellipsis: true, children: displayedValue }) }) }),
144
- status ? /* @__PURE__ */ jsxRuntime.jsx(index.DocumentStatus, { status }) : null
145
- ] })
146
- ] }),
147
- /* @__PURE__ */ jsxRuntime.jsx(Relations.DisconnectButton, { type: "button", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Cross, { width: "12px" }) })
148
- ]
149
- }
150
- ) });
151
- };
152
- const SubNavLinkCustom = styledComponents.styled(designSystem.SubNavLink)`
153
- div {
154
- width: inherit;
155
- span:nth-child(2) {
156
- white-space: nowrap;
157
- overflow: hidden;
158
- text-overflow: ellipsis;
159
- width: inherit;
160
- }
161
- }
162
- `;
163
- const LeftMenu = () => {
164
- const [search, setSearch] = React__namespace.useState("");
165
- const [{ query }] = strapiAdmin.useQueryParams();
166
- const { formatMessage, locale } = reactIntl.useIntl();
167
- const collectionTypeLinks = hooks.useTypedSelector(
168
- (state) => state["content-manager"].app.collectionTypeLinks
169
- );
170
- const singleTypeLinks = hooks.useTypedSelector((state) => state["content-manager"].app.singleTypeLinks);
171
- const { schemas } = index.useContentTypeSchema();
172
- const { startsWith } = designSystem.useFilter(locale, {
173
- sensitivity: "base"
174
- });
175
- const formatter = designSystem.useCollator(locale, {
176
- sensitivity: "base"
177
- });
178
- const menu = React__namespace.useMemo(
179
- () => [
180
- {
181
- id: "collectionTypes",
182
- title: formatMessage({
183
- id: index.getTranslation("components.LeftMenu.collection-types"),
184
- defaultMessage: "Collection Types"
185
- }),
186
- searchable: true,
187
- links: collectionTypeLinks
188
- },
189
- {
190
- id: "singleTypes",
191
- title: formatMessage({
192
- id: index.getTranslation("components.LeftMenu.single-types"),
193
- defaultMessage: "Single Types"
194
- }),
195
- searchable: true,
196
- links: singleTypeLinks
197
- }
198
- ].map((section) => ({
199
- ...section,
200
- links: section.links.filter((link) => startsWith(link.title, search)).sort((a, b) => formatter.compare(a.title, b.title)).map((link) => {
201
- return {
202
- ...link,
203
- title: formatMessage({ id: link.title, defaultMessage: link.title })
204
- };
205
- })
206
- })),
207
- [collectionTypeLinks, search, singleTypeLinks, startsWith, formatMessage, formatter]
208
- );
209
- const handleClear = () => {
210
- setSearch("");
211
- };
212
- const handleChangeSearch = ({ target: { value } }) => {
213
- setSearch(value);
214
- };
215
- const label = formatMessage({
216
- id: index.getTranslation("header.name"),
217
- defaultMessage: "Content Manager"
218
- });
219
- const getPluginsParamsForLink = (link) => {
220
- const schema = schemas.find((schema2) => schema2.uid === link.uid);
221
- const isI18nEnabled = Boolean(schema?.pluginOptions?.i18n?.localized);
222
- if (query.plugins && "i18n" in query.plugins) {
223
- const { i18n, ...restPlugins } = query.plugins;
224
- if (!isI18nEnabled) {
225
- return restPlugins;
226
- }
227
- return { i18n, ...restPlugins };
228
- }
229
- return query.plugins;
230
- };
231
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.SubNav, { "aria-label": label, children: [
232
- /* @__PURE__ */ jsxRuntime.jsx(
233
- designSystem.SubNavHeader,
234
- {
235
- label,
236
- searchable: true,
237
- value: search,
238
- onChange: handleChangeSearch,
239
- onClear: handleClear,
240
- searchLabel: formatMessage({
241
- id: "content-manager.components.LeftMenu.Search.label",
242
- defaultMessage: "Search for a content type"
243
- })
244
- }
245
- ),
246
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.SubNavSections, { children: menu.map((section) => {
247
- return /* @__PURE__ */ jsxRuntime.jsx(
248
- designSystem.SubNavSection,
249
- {
250
- label: section.title,
251
- badgeLabel: section.links.length.toString(),
252
- children: section.links.map((link) => {
253
- return /* @__PURE__ */ jsxRuntime.jsx(
254
- SubNavLinkCustom,
255
- {
256
- tag: reactRouterDom.NavLink,
257
- to: {
258
- pathname: link.to,
259
- search: qs.stringify({
260
- ...qs.parse(link.search ?? ""),
261
- plugins: getPluginsParamsForLink(link)
262
- })
263
- },
264
- width: "100%",
265
- children: link.title
266
- },
267
- link.uid
268
- );
269
- })
270
- },
271
- section.id
272
- );
273
- }) })
274
- ] });
275
- };
276
- const { MUTATE_COLLECTION_TYPES_LINKS, MUTATE_SINGLE_TYPES_LINKS } = index.HOOKS;
277
- const useContentManagerInitData = () => {
278
- const { toggleNotification } = strapiAdmin.useNotification();
279
- const dispatch = hooks.useTypedDispatch();
280
- const runHookWaterfall = strapiAdmin.useStrapiApp(
281
- "useContentManagerInitData",
282
- (state2) => state2.runHookWaterfall
283
- );
284
- const { notifyStatus } = designSystem.useNotifyAT();
285
- const { formatMessage } = reactIntl.useIntl();
286
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler(index.getTranslation);
287
- const checkUserHasPermissions = strapiAdmin.useAuth(
288
- "useContentManagerInitData",
289
- (state2) => state2.checkUserHasPermissions
290
- );
291
- const state = hooks.useTypedSelector((state2) => state2["content-manager"].app);
292
- const initialDataQuery = index.useGetInitialDataQuery(void 0, {
293
- /**
294
- * TODO: remove this when the CTB has been refactored to use redux-toolkit-query
295
- * and it can invalidate the cache on mutation
296
- */
297
- refetchOnMountOrArgChange: true
298
- });
299
- React.useEffect(() => {
300
- if (initialDataQuery.data) {
301
- notifyStatus(
302
- formatMessage({
303
- id: index.getTranslation("App.schemas.data-loaded"),
304
- defaultMessage: "The schemas have been successfully loaded."
305
- })
306
- );
307
- }
308
- }, [formatMessage, initialDataQuery.data, notifyStatus]);
309
- React.useEffect(() => {
310
- if (initialDataQuery.error) {
311
- toggleNotification({ type: "danger", message: formatAPIError(initialDataQuery.error) });
312
- }
313
- }, [formatAPIError, initialDataQuery.error, toggleNotification]);
314
- const contentTypeSettingsQuery = index.useGetAllContentTypeSettingsQuery();
315
- React.useEffect(() => {
316
- if (contentTypeSettingsQuery.error) {
317
- toggleNotification({
318
- type: "danger",
319
- message: formatAPIError(contentTypeSettingsQuery.error)
320
- });
321
- }
322
- }, [formatAPIError, contentTypeSettingsQuery.error, toggleNotification]);
323
- const formatData = async (components, contentTypes, fieldSizes, contentTypeConfigurations) => {
324
- const { collectionType: collectionTypeLinks, singleType: singleTypeLinks } = contentTypes.reduce(
325
- (acc, model) => {
326
- acc[model.kind].push(model);
327
- return acc;
328
- },
329
- {
330
- collectionType: [],
331
- singleType: []
332
- }
333
- );
334
- const collectionTypeSectionLinks = generateLinks(
335
- collectionTypeLinks,
336
- "collectionTypes",
337
- contentTypeConfigurations
338
- );
339
- const singleTypeSectionLinks = generateLinks(singleTypeLinks, "singleTypes");
340
- const collectionTypeLinksPermissions = await Promise.all(
341
- collectionTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))
342
- );
343
- const authorizedCollectionTypeLinks = collectionTypeSectionLinks.filter(
344
- (_, index2) => collectionTypeLinksPermissions[index2].length > 0
345
- );
346
- const singleTypeLinksPermissions = await Promise.all(
347
- singleTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))
348
- );
349
- const authorizedSingleTypeLinks = singleTypeSectionLinks.filter(
350
- (_, index2) => singleTypeLinksPermissions[index2].length > 0
351
- );
352
- const { ctLinks } = runHookWaterfall(MUTATE_COLLECTION_TYPES_LINKS, {
353
- ctLinks: authorizedCollectionTypeLinks,
354
- models: contentTypes
355
- });
356
- const { stLinks } = runHookWaterfall(MUTATE_SINGLE_TYPES_LINKS, {
357
- stLinks: authorizedSingleTypeLinks,
358
- models: contentTypes
359
- });
360
- dispatch(
361
- index.setInitialData({
362
- authorizedCollectionTypeLinks: ctLinks,
363
- authorizedSingleTypeLinks: stLinks,
364
- components,
365
- contentTypeSchemas: contentTypes,
366
- fieldSizes
367
- })
368
- );
369
- };
370
- React.useEffect(() => {
371
- if (initialDataQuery.data && contentTypeSettingsQuery.data) {
372
- formatData(
373
- initialDataQuery.data.components,
374
- initialDataQuery.data.contentTypes,
375
- initialDataQuery.data.fieldSizes,
376
- contentTypeSettingsQuery.data
377
- );
378
- }
379
- }, [initialDataQuery.data, contentTypeSettingsQuery.data]);
380
- return { ...state };
381
- };
382
- const generateLinks = (links, type, configurations = []) => {
383
- return links.filter((link) => link.isDisplayed).map((link) => {
384
- const collectionTypesPermissions = [
385
- { action: "plugin::content-manager.explorer.create", subject: link.uid },
386
- { action: "plugin::content-manager.explorer.read", subject: link.uid }
387
- ];
388
- const singleTypesPermissions = [
389
- { action: "plugin::content-manager.explorer.read", subject: link.uid }
390
- ];
391
- const permissions = type === "collectionTypes" ? collectionTypesPermissions : singleTypesPermissions;
392
- const currentContentTypeConfig = configurations.find(({ uid }) => uid === link.uid);
393
- let search = null;
394
- if (currentContentTypeConfig) {
395
- const searchParams = {
396
- page: 1,
397
- pageSize: currentContentTypeConfig.settings.pageSize,
398
- sort: `${currentContentTypeConfig.settings.defaultSortBy}:${currentContentTypeConfig.settings.defaultSortOrder}`
399
- };
400
- search = qs.stringify(searchParams, { encode: false });
401
- }
402
- return {
403
- permissions,
404
- search,
405
- kind: link.kind,
406
- title: link.info.displayName,
407
- to: `/content-manager/${link.kind === "collectionType" ? index.COLLECTION_TYPES : index.SINGLE_TYPES}/${link.uid}`,
408
- uid: link.uid,
409
- // Used for the list item key in the helper plugin
410
- name: link.uid,
411
- isDisplayed: link.isDisplayed
412
- };
413
- });
414
- };
415
- const Layout = () => {
416
- const contentTypeMatch = reactRouterDom.useMatch("/content-manager/:kind/:uid/*");
417
- const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();
418
- const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort(
419
- (a, b) => a.title.localeCompare(b.title)
420
- );
421
- const { pathname } = reactRouterDom.useLocation();
422
- const { formatMessage } = reactIntl.useIntl();
423
- const startSection = strapiAdmin.useGuidedTour("Layout", (state) => state.startSection);
424
- const startSectionRef = React__namespace.useRef(startSection);
425
- React__namespace.useEffect(() => {
426
- if (startSectionRef.current) {
427
- startSectionRef.current("contentManager");
428
- }
429
- }, []);
430
- if (isLoading) {
431
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
432
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage({
433
- id: index.getTranslation("plugin.name"),
434
- defaultMessage: "Content Manager"
435
- }) }),
436
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {})
437
- ] });
438
- }
439
- const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);
440
- if (authorisedModels.length === 0 && supportedModelsToDisplay.length > 0 && pathname !== "/content-manager/403") {
441
- return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/403" });
442
- }
443
- if (supportedModelsToDisplay.length === 0 && pathname !== "/no-content-types") {
444
- return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/no-content-types" });
445
- }
446
- if (!contentTypeMatch && authorisedModels.length > 0) {
447
- return /* @__PURE__ */ jsxRuntime.jsx(
448
- reactRouterDom.Navigate,
449
- {
450
- to: {
451
- pathname: authorisedModels[0].to,
452
- search: authorisedModels[0].search ?? ""
453
- },
454
- replace: true
455
- }
456
- );
457
- }
458
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
459
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage({
460
- id: index.getTranslation("plugin.name"),
461
- defaultMessage: "Content Manager"
462
- }) }),
463
- /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Layouts.Root, { sideNav: /* @__PURE__ */ jsxRuntime.jsx(LeftMenu, {}), children: [
464
- /* @__PURE__ */ jsxRuntime.jsx(DragLayer, { renderItem: renderDraglayerItem }),
465
- /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Outlet, {})
466
- ] })
467
- ] });
468
- };
469
- function renderDraglayerItem({ type, item }) {
470
- if (!type || type && typeof type !== "string") {
471
- return null;
472
- }
473
- const [actualType] = type.split("_");
474
- switch (actualType) {
475
- case useDragAndDrop.ItemTypes.EDIT_FIELD:
476
- case useDragAndDrop.ItemTypes.FIELD:
477
- return /* @__PURE__ */ jsxRuntime.jsx(CardDragPreview.CardDragPreview, { label: item.label });
478
- case useDragAndDrop.ItemTypes.COMPONENT:
479
- case useDragAndDrop.ItemTypes.DYNAMIC_ZONE:
480
- return /* @__PURE__ */ jsxRuntime.jsx(ComponentDragPreview, { displayedValue: item.displayedValue });
481
- case useDragAndDrop.ItemTypes.RELATION:
482
- return /* @__PURE__ */ jsxRuntime.jsx(RelationDragPreview, { ...item });
483
- default:
484
- return null;
485
- }
486
- }
487
- exports.Layout = Layout;
488
- //# sourceMappingURL=layout-Cl0NhlQB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-Cl0NhlQB.js","sources":["../../admin/src/components/DragLayer.tsx","../../admin/src/components/DragPreviews/ComponentDragPreview.tsx","../../admin/src/components/DragPreviews/RelationDragPreview.tsx","../../admin/src/components/LeftMenu.tsx","../../admin/src/hooks/useContentManagerInitData.ts","../../admin/src/layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { DragLayerMonitor, XYCoord, useDragLayer } from 'react-dnd';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nexport interface DragLayerProps {\n renderItem: (item: {\n /**\n * TODO: it'd be great if we could make this a union where the type infers the item.\n */\n item: any;\n type: ReturnType<DragLayerMonitor['getItemType']>;\n }) => React.ReactNode;\n}\n\nconst DragLayer = ({ renderItem }: DragLayerProps) => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n {renderItem({ type: itemType, item })}\n </Box>\n </Box>\n );\n};\n\nexport { DragLayer };\n","import { Flex, FlexComponent, IconButton, Typography } from '@strapi/design-system';\nimport { CaretDown, Drag, Trash } from '@strapi/icons';\nimport { styled } from 'styled-components';\n\ninterface ComponentDragPreviewProps {\n displayedValue: string;\n}\n\nconst ComponentDragPreview = ({ displayedValue }: ComponentDragPreviewProps) => {\n return (\n <Flex\n background=\"neutral0\"\n borderColor=\"neutral200\"\n justifyContent=\"space-between\"\n gap={3}\n padding={3}\n width=\"30rem\"\n >\n <ToggleButton type=\"button\">\n <Flex gap={6}>\n <DropdownIconWrapper\n alignItems=\"center\"\n justifyContent=\"center\"\n background=\"neutral200\"\n height=\"3.2rem\"\n width=\"3.2rem\"\n >\n <CaretDown />\n </DropdownIconWrapper>\n\n <Flex maxWidth=\"15rem\">\n <Typography textColor=\"neutral700\" ellipsis>\n {displayedValue}\n </Typography>\n </Flex>\n </Flex>\n </ToggleButton>\n\n <Flex gap={2}>\n <IconButton withTooltip={false} label=\"\" variant=\"ghost\">\n <Trash />\n </IconButton>\n\n <IconButton withTooltip={false} label=\"\" variant=\"ghost\">\n <Drag />\n </IconButton>\n </Flex>\n </Flex>\n );\n};\n\nconst DropdownIconWrapper = styled<FlexComponent>(Flex)`\n border-radius: 50%;\n\n svg {\n height: 0.6rem;\n width: 1.1rem;\n > path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n// TODO: we shouldn't have to reset a whole button\nconst ToggleButton = styled.button`\n border: none;\n background: transparent;\n display: block;\n width: 100%;\n text-align: unset;\n padding: 0;\n`;\n\nexport { ComponentDragPreview };\nexport type { ComponentDragPreviewProps };\n","import { Box, Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Cross, Drag } from '@strapi/icons';\n\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport {\n DisconnectButton,\n LinkEllipsis,\n FlexWrapper,\n} from '../../pages/EditView/components/FormInputs/Relations';\n\nimport type { Data } from '@strapi/types';\n\ninterface RelationDragPreviewProps {\n status?: string;\n displayedValue: string;\n id: Data.ID;\n index: number;\n width: number;\n}\n\nconst RelationDragPreview = ({ status, displayedValue, width }: RelationDragPreviewProps) => {\n return (\n <Box style={{ width }}>\n <Flex\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={2}\n paddingRight={4}\n hasRadius\n borderWidth={1}\n background=\"neutral0\"\n borderColor=\"neutral200\"\n justifyContent=\"space-between\"\n gap={4}\n >\n <FlexWrapper gap={1}>\n <IconButton withTooltip={false} label=\"\" variant=\"ghost\">\n <Drag />\n </IconButton>\n <Flex width=\"100%\" minWidth={0} justifyContent=\"space-between\">\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <LinkEllipsis href=\"\">\n <Typography textColor=\"primary600\" ellipsis>\n {displayedValue}\n </Typography>\n </LinkEllipsis>\n </Box>\n {status ? <DocumentStatus status={status} /> : null}\n </Flex>\n </FlexWrapper>\n <DisconnectButton type=\"button\">\n <Cross width=\"12px\" />\n </DisconnectButton>\n </Flex>\n </Box>\n );\n};\n\nexport { RelationDragPreview };\nexport type { RelationDragPreviewProps };\n","import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport {\n useCollator,\n useFilter,\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system';\nimport { parse, stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useContentTypeSchema } from '../hooks/useContentTypeSchema';\nimport { useTypedSelector } from '../modules/hooks';\nimport { getTranslation } from '../utils/translations';\n\nimport type { ContentManagerLink } from '../hooks/useContentManagerInitData';\n\nconst SubNavLinkCustom = styled(SubNavLink)`\n div {\n width: inherit;\n span:nth-child(2) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: inherit;\n }\n }\n`;\n\nconst LeftMenu = () => {\n const [search, setSearch] = React.useState('');\n const [{ query }] = useQueryParams<{ plugins?: object }>();\n const { formatMessage, locale } = useIntl();\n\n const collectionTypeLinks = useTypedSelector(\n (state) => state['content-manager'].app.collectionTypeLinks\n );\n\n const singleTypeLinks = useTypedSelector((state) => state['content-manager'].app.singleTypeLinks);\n const { schemas } = useContentTypeSchema();\n\n const { startsWith } = useFilter(locale, {\n sensitivity: 'base',\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const menu = React.useMemo(\n () =>\n [\n {\n id: 'collectionTypes',\n title: formatMessage({\n id: getTranslation('components.LeftMenu.collection-types'),\n defaultMessage: 'Collection Types',\n }),\n searchable: true,\n links: collectionTypeLinks,\n },\n {\n id: 'singleTypes',\n title: formatMessage({\n id: getTranslation('components.LeftMenu.single-types'),\n defaultMessage: 'Single Types',\n }),\n searchable: true,\n links: singleTypeLinks,\n },\n ].map((section) => ({\n ...section,\n links: section.links\n /**\n * Filter by the search value\n */\n .filter((link) => startsWith(link.title, search))\n /**\n * Sort correctly using the language\n */\n .sort((a, b) => formatter.compare(a.title, b.title))\n /**\n * Apply the formated strings to the links from react-intl\n */\n .map((link) => {\n return {\n ...link,\n title: formatMessage({ id: link.title, defaultMessage: link.title }),\n };\n }),\n })),\n [collectionTypeLinks, search, singleTypeLinks, startsWith, formatMessage, formatter]\n );\n\n const handleClear = () => {\n setSearch('');\n };\n\n const handleChangeSearch = ({ target: { value } }: { target: { value: string } }) => {\n setSearch(value);\n };\n\n const label = formatMessage({\n id: getTranslation('header.name'),\n defaultMessage: 'Content Manager',\n });\n\n const getPluginsParamsForLink = (link: ContentManagerLink) => {\n const schema = schemas.find((schema) => schema.uid === link.uid);\n const isI18nEnabled = Boolean((schema?.pluginOptions?.i18n as any)?.localized);\n\n // The search params have the i18n plugin\n if (query.plugins && 'i18n' in query.plugins) {\n // Prepare removal of i18n from the plugins search params\n const { i18n, ...restPlugins } = query.plugins;\n\n // i18n is not enabled, remove it from the plugins search params\n if (!isI18nEnabled) {\n return restPlugins;\n }\n\n // i18n is enabled, put the plugins search params back together\n return { i18n, ...restPlugins };\n }\n\n return query.plugins;\n };\n\n return (\n <SubNav aria-label={label}>\n <SubNavHeader\n label={label}\n searchable\n value={search}\n onChange={handleChangeSearch}\n onClear={handleClear}\n searchLabel={formatMessage({\n id: 'content-manager.components.LeftMenu.Search.label',\n defaultMessage: 'Search for a content type',\n })}\n />\n <SubNavSections>\n {menu.map((section) => {\n return (\n <SubNavSection\n key={section.id}\n label={section.title}\n badgeLabel={section.links.length.toString()}\n >\n {section.links.map((link) => {\n return (\n <SubNavLinkCustom\n tag={NavLink}\n key={link.uid}\n to={{\n pathname: link.to,\n search: stringify({\n ...parse(link.search ?? ''),\n plugins: getPluginsParamsForLink(link),\n }),\n }}\n width=\"100%\"\n >\n {link.title}\n </SubNavLinkCustom>\n );\n })}\n </SubNavSection>\n );\n })}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { LeftMenu };\n","import { useEffect } from 'react';\n\nimport {\n useAuth,\n type Permission,\n useNotification,\n useStrapiApp,\n useAPIErrorHandler,\n} from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\n\nimport { COLLECTION_TYPES, SINGLE_TYPES } from '../constants/collections';\nimport { HOOKS } from '../constants/hooks';\nimport { AppState, setInitialData } from '../modules/app';\nimport { useTypedDispatch, useTypedSelector } from '../modules/hooks';\nimport { useGetAllContentTypeSettingsQuery } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Component } from '../../../shared/contracts/components';\nimport type {\n ContentType,\n FindContentTypesSettings,\n} from '../../../shared/contracts/content-types';\nimport type { GetInitData } from '../../../shared/contracts/init';\n\nconst { MUTATE_COLLECTION_TYPES_LINKS, MUTATE_SINGLE_TYPES_LINKS } = HOOKS;\n\ninterface ContentManagerLink {\n permissions: Permission[];\n search: string | null;\n kind: string;\n title: string;\n to: string;\n uid: string;\n name: string;\n isDisplayed: boolean;\n}\n\nconst useContentManagerInitData = (): AppState => {\n const { toggleNotification } = useNotification();\n const dispatch = useTypedDispatch();\n const runHookWaterfall = useStrapiApp(\n 'useContentManagerInitData',\n (state) => state.runHookWaterfall\n );\n const { notifyStatus } = useNotifyAT();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const checkUserHasPermissions = useAuth(\n 'useContentManagerInitData',\n (state) => state.checkUserHasPermissions\n );\n\n const state = useTypedSelector((state) => state['content-manager'].app);\n\n const initialDataQuery = useGetInitialDataQuery(undefined, {\n /**\n * TODO: remove this when the CTB has been refactored to use redux-toolkit-query\n * and it can invalidate the cache on mutation\n */\n refetchOnMountOrArgChange: true,\n });\n\n useEffect(() => {\n if (initialDataQuery.data) {\n notifyStatus(\n formatMessage({\n id: getTranslation('App.schemas.data-loaded'),\n defaultMessage: 'The schemas have been successfully loaded.',\n })\n );\n }\n }, [formatMessage, initialDataQuery.data, notifyStatus]);\n\n useEffect(() => {\n if (initialDataQuery.error) {\n toggleNotification({ type: 'danger', message: formatAPIError(initialDataQuery.error) });\n }\n }, [formatAPIError, initialDataQuery.error, toggleNotification]);\n\n const contentTypeSettingsQuery = useGetAllContentTypeSettingsQuery();\n\n useEffect(() => {\n if (contentTypeSettingsQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentTypeSettingsQuery.error),\n });\n }\n }, [formatAPIError, contentTypeSettingsQuery.error, toggleNotification]);\n\n const formatData = async (\n components: Component[],\n contentTypes: ContentType[],\n fieldSizes: GetInitData.Response['data']['fieldSizes'],\n contentTypeConfigurations: FindContentTypesSettings.Response['data']\n ) => {\n /**\n * We group these by the two types we support. We do with an object because we can use default\n * values of arrays to make sure we always have an array to manipulate further on if, for example,\n * a user has not made any single types.\n *\n * This means we have to manually add new content types to this hook if we add a new type – but\n * the safety is worth it.\n */\n const { collectionType: collectionTypeLinks, singleType: singleTypeLinks } =\n contentTypes.reduce<{\n collectionType: ContentType[];\n singleType: ContentType[];\n }>(\n (acc, model) => {\n acc[model.kind].push(model);\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n const collectionTypeSectionLinks = generateLinks(\n collectionTypeLinks,\n 'collectionTypes',\n contentTypeConfigurations\n );\n const singleTypeSectionLinks = generateLinks(singleTypeLinks, 'singleTypes');\n\n // Collection Types verifications\n const collectionTypeLinksPermissions = await Promise.all(\n collectionTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n\n const authorizedCollectionTypeLinks = collectionTypeSectionLinks.filter(\n (_, index) => collectionTypeLinksPermissions[index].length > 0\n );\n\n // Single Types verifications\n const singleTypeLinksPermissions = await Promise.all(\n singleTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n const authorizedSingleTypeLinks = singleTypeSectionLinks.filter(\n (_, index) => singleTypeLinksPermissions[index].length > 0\n );\n const { ctLinks } = runHookWaterfall(MUTATE_COLLECTION_TYPES_LINKS, {\n ctLinks: authorizedCollectionTypeLinks,\n models: contentTypes,\n });\n const { stLinks } = runHookWaterfall(MUTATE_SINGLE_TYPES_LINKS, {\n stLinks: authorizedSingleTypeLinks,\n models: contentTypes,\n });\n\n dispatch(\n setInitialData({\n authorizedCollectionTypeLinks: ctLinks,\n authorizedSingleTypeLinks: stLinks,\n components,\n contentTypeSchemas: contentTypes,\n fieldSizes,\n })\n );\n };\n\n useEffect(() => {\n if (initialDataQuery.data && contentTypeSettingsQuery.data) {\n formatData(\n initialDataQuery.data.components,\n initialDataQuery.data.contentTypes,\n initialDataQuery.data.fieldSizes,\n contentTypeSettingsQuery.data\n );\n }\n }, [initialDataQuery.data, contentTypeSettingsQuery.data]);\n\n return { ...state };\n};\n\nconst generateLinks = (\n links: ContentType[],\n type: 'collectionTypes' | 'singleTypes',\n configurations: FindContentTypesSettings.Response['data'] = []\n) => {\n return links\n .filter((link) => link.isDisplayed)\n .map((link) => {\n const collectionTypesPermissions = [\n { action: 'plugin::content-manager.explorer.create', subject: link.uid },\n { action: 'plugin::content-manager.explorer.read', subject: link.uid },\n ];\n const singleTypesPermissions = [\n { action: 'plugin::content-manager.explorer.read', subject: link.uid },\n ];\n const permissions =\n type === 'collectionTypes' ? collectionTypesPermissions : singleTypesPermissions;\n\n const currentContentTypeConfig = configurations.find(({ uid }) => uid === link.uid);\n\n let search = null;\n\n if (currentContentTypeConfig) {\n const searchParams = {\n page: 1,\n pageSize: currentContentTypeConfig.settings.pageSize,\n sort: `${currentContentTypeConfig.settings.defaultSortBy}:${currentContentTypeConfig.settings.defaultSortOrder}`,\n };\n\n search = stringify(searchParams, { encode: false });\n }\n\n return {\n permissions,\n search,\n kind: link.kind,\n title: link.info.displayName,\n to: `/content-manager/${link.kind === 'collectionType' ? COLLECTION_TYPES : SINGLE_TYPES}/${\n link.uid\n }`,\n uid: link.uid,\n // Used for the list item key in the helper plugin\n name: link.uid,\n isDisplayed: link.isDisplayed,\n } satisfies ContentManagerLink;\n });\n};\n\nexport { useContentManagerInitData };\nexport type { ContentManagerLink };\n","/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n const startSection = useGuidedTour('Layout', (state) => state.startSection);\n const startSectionRef = React.useRef(startSection);\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentManager');\n }\n }, []);\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n replace\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Outlet />\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["useDragLayer","jsx","Box","jsxs","Flex","CaretDown","Typography","IconButton","Trash","Drag","styled","FlexWrapper","LinkEllipsis","DocumentStatus","DisconnectButton","Cross","SubNavLink","React","useQueryParams","useIntl","useTypedSelector","useContentTypeSchema","useFilter","useCollator","getTranslation","schema","SubNav","SubNavHeader","SubNavSections","SubNavSection","NavLink","stringify","parse","HOOKS","useNotification","useTypedDispatch","useStrapiApp","state","useNotifyAT","useAPIErrorHandler","useAuth","useGetInitialDataQuery","useEffect","useGetAllContentTypeSettingsQuery","index","setInitialData","COLLECTION_TYPES","SINGLE_TYPES","useMatch","useLocation","useGuidedTour","Fragment","Page","Navigate","Layouts","Outlet","ItemTypes","CardDragPreview"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,SACP,eACA,eACA,aACA;AACA,MAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,aAAa;AAC7C,WAAA,EAAE,SAAS,OAAO;AAAA,EAAA;AAGrB,QAAA,EAAE,GAAG,EAAA,IAAM;AAEV,SAAA;AAAA,IACL,WAAW,aAAa,CAAC,OAAO,CAAC;AAAA,EACnC;AACF;AAYA,MAAM,YAAY,CAAC,EAAE,iBAAiC;AACpD,QAAM,EAAE,UAAU,YAAY,MAAM,eAAe,eAAe,gBAAgBA,SAAA;AAAA,IAChF,CAAC,aAAa;AAAA,MACZ,MAAM,QAAQ,QAAQ;AAAA,MACtB,UAAU,QAAQ,YAAY;AAAA,MAC9B,eAAe,QAAQ,6BAA6B;AAAA,MACpD,eAAe,QAAQ,sBAAsB;AAAA,MAC7C,YAAY,QAAQ,WAAW;AAAA,MAC/B,aAAa,QAAQ,gBAAgB;AAAA,IACvC;AAAA,EACF;AAEA,MAAI,CAAC,YAAY;AACR,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAS;AAAA,MACT,eAAc;AAAA,MACd,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAM;AAAA,MAEN,UAACD,2BAAA,IAAAC,aAAA,KAAA,EAAI,OAAO,SAAS,eAAe,eAAe,WAAW,GAC3D,UAAA,WAAW,EAAE,MAAM,UAAU,KAAA,CAAM,EACtC,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;ACtDA,MAAM,uBAAuB,CAAC,EAAE,qBAAgD;AAE5E,SAAAC,2BAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,gBAAe;AAAA,MACf,KAAK;AAAA,MACL,SAAS;AAAA,MACT,OAAM;AAAA,MAEN,UAAA;AAAA,QAAAH,2BAAAA,IAAC,gBAAa,MAAK,UACjB,UAACE,2BAAA,KAAAC,mBAAA,EAAK,KAAK,GACT,UAAA;AAAA,UAAAH,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,YAAW;AAAA,cACX,gBAAe;AAAA,cACf,YAAW;AAAA,cACX,QAAO;AAAA,cACP,OAAM;AAAA,cAEN,yCAACI,MAAAA,WAAU,CAAA,CAAA;AAAA,YAAA;AAAA,UACb;AAAA,UAEAJ,2BAAA,IAACG,aAAK,MAAA,EAAA,UAAS,SACb,UAAAH,2BAAAA,IAACK,aAAAA,YAAW,EAAA,WAAU,cAAa,UAAQ,MACxC,UAAA,eAAA,CACH,EACF,CAAA;AAAA,QAAA,EAAA,CACF,EACF,CAAA;AAAA,QAEAH,2BAAAA,KAACC,aAAAA,MAAK,EAAA,KAAK,GACT,UAAA;AAAA,UAACH,2BAAAA,IAAAM,aAAAA,YAAA,EAAW,aAAa,OAAO,OAAM,IAAG,SAAQ,SAC/C,UAACN,2BAAAA,IAAAO,MAAAA,OAAA,CAAA,CAAM,EACT,CAAA;AAAA,UAEAP,2BAAAA,IAACM,aAAAA,YAAW,EAAA,aAAa,OAAO,OAAM,IAAG,SAAQ,SAC/C,UAACN,2BAAA,IAAAQ,MAAA,MAAA,CAAK,CAAA,EACR,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;AAEA,MAAM,sBAAsBC,wBAAsBN,iBAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOxC,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAMpD,MAAM,eAAeM,iBAAO,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC5C5B,MAAM,sBAAsB,CAAC,EAAE,QAAQ,gBAAgB,YAAsC;AAC3F,SACGT,2BAAAA,IAAAC,aAAAA,KAAA,EAAI,OAAO,EAAE,SACZ,UAAAC,2BAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,WAAS;AAAA,MACT,aAAa;AAAA,MACb,YAAW;AAAA,MACX,aAAY;AAAA,MACZ,gBAAe;AAAA,MACf,KAAK;AAAA,MAEL,UAAA;AAAA,QAACD,2BAAAA,KAAAQ,UAAAA,aAAA,EAAY,KAAK,GAChB,UAAA;AAAA,UAACV,2BAAAA,IAAAM,aAAAA,YAAA,EAAW,aAAa,OAAO,OAAM,IAAG,SAAQ,SAC/C,UAACN,2BAAAA,IAAAQ,MAAAA,MAAA,CAAA,CAAK,EACR,CAAA;AAAA,0CACCL,aAAAA,MAAK,EAAA,OAAM,QAAO,UAAU,GAAG,gBAAe,iBAC7C,UAAA;AAAA,YAACH,2BAAAA,IAAAC,aAAAA,KAAA,EAAI,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,GAC/D,UAAAD,2BAAA,IAACW,0BAAa,MAAK,IACjB,yCAACN,aAAW,YAAA,EAAA,WAAU,cAAa,UAAQ,MACxC,UACH,eAAA,CAAA,EAAA,CACF,EACF,CAAA;AAAA,YACC,SAASL,2BAAAA,IAACY,MAAAA,gBAAe,EAAA,OAAgB,CAAA,IAAK;AAAA,UAAA,EACjD,CAAA;AAAA,QAAA,GACF;AAAA,QACAZ,2BAAAA,IAACa,8BAAiB,MAAK,UACrB,yCAACC,aAAM,EAAA,OAAM,OAAO,CAAA,EACtB,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;ACjCA,MAAM,mBAAmBL,wBAAOM,uBAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAY1C,MAAM,WAAW,MAAM;AACrB,QAAM,CAAC,QAAQ,SAAS,IAAIC,iBAAM,SAAS,EAAE;AAC7C,QAAM,CAAC,EAAE,OAAO,IAAIC,2BAAqC;AACzD,QAAM,EAAE,eAAe,OAAO,IAAIC,kBAAQ;AAE1C,QAAM,sBAAsBC,MAAA;AAAA,IAC1B,CAAC,UAAU,MAAM,iBAAiB,EAAE,IAAI;AAAA,EAC1C;AAEM,QAAA,kBAAkBA,uBAAiB,CAAC,UAAU,MAAM,iBAAiB,EAAE,IAAI,eAAe;AAC1F,QAAA,EAAE,QAAQ,IAAIC,2BAAqB;AAEzC,QAAM,EAAE,WAAA,IAAeC,aAAA,UAAU,QAAQ;AAAA,IACvC,aAAa;AAAA,EAAA,CACd;AAEK,QAAA,YAAYC,yBAAY,QAAQ;AAAA,IACpC,aAAa;AAAA,EAAA,CACd;AAED,QAAM,OAAON,iBAAM;AAAA,IACjB,MACE;AAAA,MACE;AAAA,QACE,IAAI;AAAA,QACJ,OAAO,cAAc;AAAA,UACnB,IAAIO,qBAAe,sCAAsC;AAAA,UACzD,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,YAAY;AAAA,QACZ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO,cAAc;AAAA,UACnB,IAAIA,qBAAe,kCAAkC;AAAA,UACrD,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA;AAAA,IACT,EACA,IAAI,CAAC,aAAa;AAAA,MAClB,GAAG;AAAA,MACH,OAAO,QAAQ,MAIZ,OAAO,CAAC,SAAS,WAAW,KAAK,OAAO,MAAM,CAAC,EAI/C,KAAK,CAAC,GAAG,MAAM,UAAU,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAIlD,IAAI,CAAC,SAAS;AACN,eAAA;AAAA,UACL,GAAG;AAAA,UACH,OAAO,cAAc,EAAE,IAAI,KAAK,OAAO,gBAAgB,KAAK,MAAO,CAAA;AAAA,QACrE;AAAA,MACD,CAAA;AAAA,IAAA,EACH;AAAA,IACJ,CAAC,qBAAqB,QAAQ,iBAAiB,YAAY,eAAe,SAAS;AAAA,EACrF;AAEA,QAAM,cAAc,MAAM;AACxB,cAAU,EAAE;AAAA,EACd;AAEA,QAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,cAA6C;AACnF,cAAU,KAAK;AAAA,EACjB;AAEA,QAAM,QAAQ,cAAc;AAAA,IAC1B,IAAIA,qBAAe,aAAa;AAAA,IAChC,gBAAgB;AAAA,EAAA,CACjB;AAEK,QAAA,0BAA0B,CAAC,SAA6B;AACtD,UAAA,SAAS,QAAQ,KAAK,CAACC,YAAWA,QAAO,QAAQ,KAAK,GAAG;AAC/D,UAAM,gBAAgB,QAAS,QAAQ,eAAe,MAAc,SAAS;AAG7E,QAAI,MAAM,WAAW,UAAU,MAAM,SAAS;AAE5C,YAAM,EAAE,MAAM,GAAG,gBAAgB,MAAM;AAGvC,UAAI,CAAC,eAAe;AACX,eAAA;AAAA,MAAA;AAIF,aAAA,EAAE,MAAM,GAAG,YAAY;AAAA,IAAA;AAGhC,WAAO,MAAM;AAAA,EACf;AAGE,SAAAtB,2BAAA,KAACuB,aAAO,QAAA,EAAA,cAAY,OAClB,UAAA;AAAA,IAAAzB,2BAAA;AAAA,MAAC0B,aAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,YAAU;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,aAAa,cAAc;AAAA,UACzB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QACjB,CAAA;AAAA,MAAA;AAAA,IACH;AAAA,IACC1B,2BAAA,IAAA2B,aAAA,gBAAA,EACE,UAAK,KAAA,IAAI,CAAC,YAAY;AAEnB,aAAA3B,2BAAA;AAAA,QAAC4B,aAAA;AAAA,QAAA;AAAA,UAEC,OAAO,QAAQ;AAAA,UACf,YAAY,QAAQ,MAAM,OAAO,SAAS;AAAA,UAEzC,UAAQ,QAAA,MAAM,IAAI,CAAC,SAAS;AAEzB,mBAAA5B,2BAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAK6B,eAAA;AAAA,gBAEL,IAAI;AAAA,kBACF,UAAU,KAAK;AAAA,kBACf,QAAQC,GAAAA,UAAU;AAAA,oBAChB,GAAGC,SAAM,KAAK,UAAU,EAAE;AAAA,oBAC1B,SAAS,wBAAwB,IAAI;AAAA,kBACtC,CAAA;AAAA,gBACH;AAAA,gBACA,OAAM;AAAA,gBAEL,UAAK,KAAA;AAAA,cAAA;AAAA,cAVD,KAAK;AAAA,YAWZ;AAAA,UAEH,CAAA;AAAA,QAAA;AAAA,QArBI,QAAQ;AAAA,MAsBf;AAAA,IAAA,CAEH,EACH,CAAA;AAAA,EAAA,GACF;AAEJ;ACvJA,MAAM,EAAE,+BAA+B,0BAAA,IAA8BC,MAAA;AAarE,MAAM,4BAA4B,MAAgB;AAC1C,QAAA,EAAE,mBAAmB,IAAIC,4BAAgB;AAC/C,QAAM,WAAWC,MAAAA,iBAAiB;AAClC,QAAM,mBAAmBC,YAAA;AAAA,IACvB;AAAA,IACA,CAACC,WAAUA,OAAM;AAAA,EACnB;AACM,QAAA,EAAE,aAAa,IAAIC,yBAAY;AAC/B,QAAA,EAAE,cAAc,IAAInB,kBAAQ;AAClC,QAAM,EAAE,yBAAyB,mBAAmBoB,YAAAA,mBAAmBf,MAAAA,cAAc;AACrF,QAAM,0BAA0BgB,YAAA;AAAA,IAC9B;AAAA,IACA,CAACH,WAAUA,OAAM;AAAA,EACnB;AAEA,QAAM,QAAQjB,MAAAA,iBAAiB,CAACiB,WAAUA,OAAM,iBAAiB,EAAE,GAAG;AAEhE,QAAA,mBAAmBI,6BAAuB,QAAW;AAAA;AAAA;AAAA;AAAA;AAAA,IAKzD,2BAA2B;AAAA,EAAA,CAC5B;AAEDC,QAAAA,UAAU,MAAM;AACd,QAAI,iBAAiB,MAAM;AACzB;AAAA,QACE,cAAc;AAAA,UACZ,IAAIlB,qBAAe,yBAAyB;AAAA,UAC5C,gBAAgB;AAAA,QACjB,CAAA;AAAA,MACH;AAAA,IAAA;AAAA,KAED,CAAC,eAAe,iBAAiB,MAAM,YAAY,CAAC;AAEvDkB,QAAAA,UAAU,MAAM;AACd,QAAI,iBAAiB,OAAO;AACP,yBAAA,EAAE,MAAM,UAAU,SAAS,eAAe,iBAAiB,KAAK,GAAG;AAAA,IAAA;AAAA,KAEvF,CAAC,gBAAgB,iBAAiB,OAAO,kBAAkB,CAAC;AAE/D,QAAM,2BAA2BC,MAAAA,kCAAkC;AAEnED,QAAAA,UAAU,MAAM;AACd,QAAI,yBAAyB,OAAO;AACf,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,eAAe,yBAAyB,KAAK;AAAA,MAAA,CACvD;AAAA,IAAA;AAAA,KAEF,CAAC,gBAAgB,yBAAyB,OAAO,kBAAkB,CAAC;AAEvE,QAAM,aAAa,OACjB,YACA,cACA,YACA,8BACG;AASH,UAAM,EAAE,gBAAgB,qBAAqB,YAAY,gBAAA,IACvD,aAAa;AAAA,MAIX,CAAC,KAAK,UAAU;AACd,YAAI,MAAM,IAAI,EAAE,KAAK,KAAK;AACnB,eAAA;AAAA,MACT;AAAA,MACA;AAAA,QACE,gBAAgB,CAAC;AAAA,QACjB,YAAY,CAAA;AAAA,MAAC;AAAA,IAEjB;AACF,UAAM,6BAA6B;AAAA,MACjC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACM,UAAA,yBAAyB,cAAc,iBAAiB,aAAa;AAGrE,UAAA,iCAAiC,MAAM,QAAQ;AAAA,MACnD,2BAA2B,IAAI,CAAC,EAAE,kBAAkB,wBAAwB,WAAW,CAAC;AAAA,IAC1F;AAEA,UAAM,gCAAgC,2BAA2B;AAAA,MAC/D,CAAC,GAAGE,WAAU,+BAA+BA,MAAK,EAAE,SAAS;AAAA,IAC/D;AAGM,UAAA,6BAA6B,MAAM,QAAQ;AAAA,MAC/C,uBAAuB,IAAI,CAAC,EAAE,kBAAkB,wBAAwB,WAAW,CAAC;AAAA,IACtF;AACA,UAAM,4BAA4B,uBAAuB;AAAA,MACvD,CAAC,GAAGA,WAAU,2BAA2BA,MAAK,EAAE,SAAS;AAAA,IAC3D;AACA,UAAM,EAAE,QAAA,IAAY,iBAAiB,+BAA+B;AAAA,MAClE,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA,CACT;AACD,UAAM,EAAE,QAAA,IAAY,iBAAiB,2BAA2B;AAAA,MAC9D,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA,CACT;AAED;AAAA,MACEC,qBAAe;AAAA,QACb,+BAA+B;AAAA,QAC/B,2BAA2B;AAAA,QAC3B;AAAA,QACA,oBAAoB;AAAA,QACpB;AAAA,MACD,CAAA;AAAA,IACH;AAAA,EACF;AAEAH,QAAAA,UAAU,MAAM;AACV,QAAA,iBAAiB,QAAQ,yBAAyB,MAAM;AAC1D;AAAA,QACE,iBAAiB,KAAK;AAAA,QACtB,iBAAiB,KAAK;AAAA,QACtB,iBAAiB,KAAK;AAAA,QACtB,yBAAyB;AAAA,MAC3B;AAAA,IAAA;AAAA,KAED,CAAC,iBAAiB,MAAM,yBAAyB,IAAI,CAAC;AAElD,SAAA,EAAE,GAAG,MAAM;AACpB;AAEA,MAAM,gBAAgB,CACpB,OACA,MACA,iBAA4D,CAAA,MACzD;AACI,SAAA,MACJ,OAAO,CAAC,SAAS,KAAK,WAAW,EACjC,IAAI,CAAC,SAAS;AACb,UAAM,6BAA6B;AAAA,MACjC,EAAE,QAAQ,2CAA2C,SAAS,KAAK,IAAI;AAAA,MACvE,EAAE,QAAQ,yCAAyC,SAAS,KAAK,IAAI;AAAA,IACvE;AACA,UAAM,yBAAyB;AAAA,MAC7B,EAAE,QAAQ,yCAAyC,SAAS,KAAK,IAAI;AAAA,IACvE;AACM,UAAA,cACJ,SAAS,oBAAoB,6BAA6B;AAEtD,UAAA,2BAA2B,eAAe,KAAK,CAAC,EAAE,UAAU,QAAQ,KAAK,GAAG;AAElF,QAAI,SAAS;AAEb,QAAI,0BAA0B;AAC5B,YAAM,eAAe;AAAA,QACnB,MAAM;AAAA,QACN,UAAU,yBAAyB,SAAS;AAAA,QAC5C,MAAM,GAAG,yBAAyB,SAAS,aAAa,IAAI,yBAAyB,SAAS,gBAAgB;AAAA,MAChH;AAEA,eAASX,GAAAA,UAAU,cAAc,EAAE,QAAQ,OAAO;AAAA,IAAA;AAG7C,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA,MAAM,KAAK;AAAA,MACX,OAAO,KAAK,KAAK;AAAA,MACjB,IAAI,oBAAoB,KAAK,SAAS,mBAAmBe,MAAmB,mBAAAC,kBAAY,IACtF,KAAK,GACP;AAAA,MACA,KAAK,KAAK;AAAA;AAAA,MAEV,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,IACpB;AAAA,EAAA,CACD;AACL;AC7MA,MAAM,SAAS,MAAM;AACb,QAAA,mBAAmBC,wBAAS,+BAA+B;AAEjE,QAAM,EAAE,WAAW,qBAAqB,QAAQ,gBAAA,IAAoB,0BAA0B;AAC9F,QAAM,mBAAmB,CAAC,GAAG,qBAAqB,GAAG,eAAe,EAAE;AAAA,IAAK,CAAC,GAAG,MAC7E,EAAE,MAAM,cAAc,EAAE,KAAK;AAAA,EAC/B;AAEM,QAAA,EAAE,SAAS,IAAIC,2BAAY;AAC3B,QAAA,EAAE,cAAc,IAAI9B,kBAAQ;AAClC,QAAM,eAAe+B,YAAAA,cAAc,UAAU,CAAC,UAAU,MAAM,YAAY;AACpE,QAAA,kBAAkBjC,iBAAM,OAAO,YAAY;AAEjDA,mBAAM,UAAU,MAAM;AACpB,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,gBAAgB;AAAA,IAAA;AAAA,EAE5C,GAAG,EAAE;AAEL,MAAI,WAAW;AACb,WAEId,2BAAA,KAAAgD,qBAAA,EAAA,UAAA;AAAA,MAAClD,2BAAAA,IAAAmD,YAAAA,KAAK,OAAL,EACE,UAAc,cAAA;AAAA,QACb,IAAI5B,qBAAe,aAAa;AAAA,QAChC,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,MACAvB,+BAACmD,YAAAA,KAAK,SAAL,CAAa,CAAA;AAAA,IAAA,GAChB;AAAA,EAAA;AAKJ,QAAM,2BAA2B,OAAO,OAAO,CAAC,EAAE,kBAAkB,WAAW;AAG/E,MACE,iBAAiB,WAAW,KAC5B,yBAAyB,SAAS,KAClC,aAAa,wBACb;AACO,WAAAnD,2BAAA,IAACoD,eAAS,UAAA,EAAA,IAAG,OAAO,CAAA;AAAA,EAAA;AAI7B,MAAI,yBAAyB,WAAW,KAAK,aAAa,qBAAqB;AACtE,WAAApD,2BAAA,IAACoD,eAAS,UAAA,EAAA,IAAG,oBAAoB,CAAA;AAAA,EAAA;AAG1C,MAAI,CAAC,oBAAoB,iBAAiB,SAAS,GAAG;AAElD,WAAApD,2BAAA;AAAA,MAACoD,eAAA;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,UAAU,iBAAiB,CAAC,EAAE;AAAA,UAC9B,QAAQ,iBAAiB,CAAC,EAAE,UAAU;AAAA,QACxC;AAAA,QACA,SAAO;AAAA,MAAA;AAAA,IACT;AAAA,EAAA;AAIJ,SAEIlD,2BAAA,KAAAgD,qBAAA,EAAA,UAAA;AAAA,IAAClD,2BAAAA,IAAAmD,YAAAA,KAAK,OAAL,EACE,UAAc,cAAA;AAAA,MACb,IAAI5B,qBAAe,aAAa;AAAA,MAChC,gBAAgB;AAAA,IACjB,CAAA,GACH;AAAA,oCACC8B,YAAAA,QAAQ,MAAR,EAAa,SAASrD,2BAAAA,IAAC,YAAS,GAC/B,UAAA;AAAA,MAACA,2BAAAA,IAAA,WAAA,EAAU,YAAY,oBAAqB,CAAA;AAAA,qCAC3CsD,eAAO,QAAA,CAAA,CAAA;AAAA,IAAA,EACV,CAAA;AAAA,EAAA,GACF;AAEJ;AAMA,SAAS,oBAAoB,EAAE,MAAM,QAAqD;AACxF,MAAI,CAAC,QAAS,QAAQ,OAAO,SAAS,UAAW;AACxC,WAAA;AAAA,EAAA;AAQT,QAAM,CAAC,UAAU,IAAI,KAAK,MAAM,GAAG;AAEnC,UAAQ,YAAY;AAAA,IAClB,KAAKC,eAAU,UAAA;AAAA,IACf,KAAKA,eAAU,UAAA;AACb,aAAQvD,2BAAAA,IAAAwD,gBAAAA,iBAAA,EAAgB,OAAO,KAAK,MAAO,CAAA;AAAA,IAC7C,KAAKD,eAAU,UAAA;AAAA,IACf,KAAKA,eAAU,UAAA;AACb,aAAQvD,2BAAAA,IAAA,sBAAA,EAAqB,gBAAgB,KAAK,eAAgB,CAAA;AAAA,IAEpE,KAAKuD,eAAU,UAAA;AACN,aAAAvD,+BAAC,qBAAqB,EAAA,GAAG,KAAM,CAAA;AAAA,IAExC;AACS,aAAA;AAAA,EAAA;AAEb;;"}