@strapi/admin 4.26.1 → 4.26.2

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 (920) hide show
  1. package/dist/_chunks/AdminSeatInfo-BbgXdZXt.mjs +101 -0
  2. package/dist/_chunks/AdminSeatInfo-BbgXdZXt.mjs.map +1 -0
  3. package/dist/_chunks/AdminSeatInfo-Dd9igGNy.js +101 -0
  4. package/dist/_chunks/AdminSeatInfo-Dd9igGNy.js.map +1 -0
  5. package/dist/_chunks/AuthenticatedApp-VeEtpPSd.js +1225 -0
  6. package/dist/_chunks/AuthenticatedApp-VeEtpPSd.js.map +1 -0
  7. package/dist/_chunks/AuthenticatedApp-q6ueY2uL.mjs +1200 -0
  8. package/dist/_chunks/AuthenticatedApp-q6ueY2uL.mjs.map +1 -0
  9. package/dist/_chunks/CreateActionEE-Cp6JMqwN.js +60 -0
  10. package/dist/_chunks/CreateActionEE-Cp6JMqwN.js.map +1 -0
  11. package/dist/_chunks/CreateActionEE-D05ARL9y.mjs +57 -0
  12. package/dist/_chunks/CreateActionEE-D05ARL9y.mjs.map +1 -0
  13. package/dist/_chunks/CreatePage-BvtbICHq.mjs +251 -0
  14. package/dist/_chunks/CreatePage-BvtbICHq.mjs.map +1 -0
  15. package/dist/_chunks/CreatePage-D8BL6dmo.js +14 -0
  16. package/dist/_chunks/CreatePage-D8BL6dmo.js.map +1 -0
  17. package/dist/_chunks/CreatePage-DN0tiD0-.mjs +244 -0
  18. package/dist/_chunks/CreatePage-DN0tiD0-.mjs.map +1 -0
  19. package/dist/_chunks/CreatePage-DNBwF5h3.js +269 -0
  20. package/dist/_chunks/CreatePage-DNBwF5h3.js.map +1 -0
  21. package/dist/_chunks/CreatePage-DaaQGr8P.mjs +14 -0
  22. package/dist/_chunks/CreatePage-DaaQGr8P.mjs.map +1 -0
  23. package/dist/_chunks/CreatePage-UkEK_9I8.js +265 -0
  24. package/dist/_chunks/CreatePage-UkEK_9I8.js.map +1 -0
  25. package/dist/_chunks/CreateView-4Ndbk7Ff.mjs +13 -0
  26. package/dist/_chunks/CreateView-4Ndbk7Ff.mjs.map +1 -0
  27. package/dist/_chunks/CreateView-Cr_Lq0_U.mjs +13 -0
  28. package/dist/_chunks/CreateView-Cr_Lq0_U.mjs.map +1 -0
  29. package/dist/_chunks/CreateView-DtQ1hRDi.js +13 -0
  30. package/dist/_chunks/CreateView-DtQ1hRDi.js.map +1 -0
  31. package/dist/_chunks/CreateView-WmUj7GDL.js +13 -0
  32. package/dist/_chunks/CreateView-WmUj7GDL.js.map +1 -0
  33. package/dist/_chunks/EditPage--c1d8vU7.js +809 -0
  34. package/dist/_chunks/EditPage--c1d8vU7.js.map +1 -0
  35. package/dist/_chunks/EditPage-3pFiNfGd.js +285 -0
  36. package/dist/_chunks/EditPage-3pFiNfGd.js.map +1 -0
  37. package/dist/_chunks/EditPage-BDeF9TPm.js +433 -0
  38. package/dist/_chunks/EditPage-BDeF9TPm.js.map +1 -0
  39. package/dist/_chunks/EditPage-BZEXsrpa.mjs +789 -0
  40. package/dist/_chunks/EditPage-BZEXsrpa.mjs.map +1 -0
  41. package/dist/_chunks/EditPage-Buhw1Cgq.js +325 -0
  42. package/dist/_chunks/EditPage-Buhw1Cgq.js.map +1 -0
  43. package/dist/_chunks/EditPage-C5rSJwer.mjs +412 -0
  44. package/dist/_chunks/EditPage-C5rSJwer.mjs.map +1 -0
  45. package/dist/_chunks/EditPage-C7w2S3qa.mjs +266 -0
  46. package/dist/_chunks/EditPage-C7w2S3qa.mjs.map +1 -0
  47. package/dist/_chunks/EditPage-Dg0hL_D7.mjs +307 -0
  48. package/dist/_chunks/EditPage-Dg0hL_D7.mjs.map +1 -0
  49. package/dist/_chunks/EditView-BX8smWlt.js +369 -0
  50. package/dist/_chunks/EditView-BX8smWlt.js.map +1 -0
  51. package/dist/_chunks/EditView-Cg14XTI6.mjs +350 -0
  52. package/dist/_chunks/EditView-Cg14XTI6.mjs.map +1 -0
  53. package/dist/_chunks/EditViewPage-jmcfHxza.js +875 -0
  54. package/dist/_chunks/EditViewPage-jmcfHxza.js.map +1 -0
  55. package/dist/_chunks/EditViewPage-lGH8coe7.mjs +849 -0
  56. package/dist/_chunks/EditViewPage-lGH8coe7.mjs.map +1 -0
  57. package/dist/_chunks/EventsTable-BwmPmmWr.js +32 -0
  58. package/dist/_chunks/EventsTable-BwmPmmWr.js.map +1 -0
  59. package/dist/_chunks/EventsTable-hX7i3BLp.mjs +32 -0
  60. package/dist/_chunks/EventsTable-hX7i3BLp.mjs.map +1 -0
  61. package/dist/_chunks/Filters-B9RQvqbL.mjs +43 -0
  62. package/dist/_chunks/Filters-B9RQvqbL.mjs.map +1 -0
  63. package/dist/_chunks/Filters-Br1w7f5b.js +60 -0
  64. package/dist/_chunks/Filters-Br1w7f5b.js.map +1 -0
  65. package/dist/_chunks/HomePage-CQ6qFlEc.js +537 -0
  66. package/dist/_chunks/HomePage-CQ6qFlEc.js.map +1 -0
  67. package/dist/_chunks/HomePage-CXQ1bdgi.mjs +517 -0
  68. package/dist/_chunks/HomePage-CXQ1bdgi.mjs.map +1 -0
  69. package/dist/_chunks/HomePage-CpSSac-m.mjs +11 -0
  70. package/dist/_chunks/HomePage-CpSSac-m.mjs.map +1 -0
  71. package/dist/_chunks/HomePage-WeUUm-HF.js +11 -0
  72. package/dist/_chunks/HomePage-WeUUm-HF.js.map +1 -0
  73. package/dist/_chunks/InformationBoxEE-BX7l_qDt.mjs +275 -0
  74. package/dist/_chunks/InformationBoxEE-BX7l_qDt.mjs.map +1 -0
  75. package/dist/_chunks/InformationBoxEE-CDmKrsLo.js +293 -0
  76. package/dist/_chunks/InformationBoxEE-CDmKrsLo.js.map +1 -0
  77. package/dist/_chunks/InstalledPluginsPage-BrxNFD5S.js +122 -0
  78. package/dist/_chunks/InstalledPluginsPage-BrxNFD5S.js.map +1 -0
  79. package/dist/_chunks/InstalledPluginsPage-D4ieZMEq.mjs +104 -0
  80. package/dist/_chunks/InstalledPluginsPage-D4ieZMEq.mjs.map +1 -0
  81. package/dist/_chunks/InternalErrorPage-BjU_jwcO.js +41 -0
  82. package/dist/_chunks/InternalErrorPage-BjU_jwcO.js.map +1 -0
  83. package/dist/_chunks/InternalErrorPage-CMTg0WcA.mjs +41 -0
  84. package/dist/_chunks/InternalErrorPage-CMTg0WcA.mjs.map +1 -0
  85. package/dist/_chunks/Layout-B1VcCCiT.js +88 -0
  86. package/dist/_chunks/Layout-B1VcCCiT.js.map +1 -0
  87. package/dist/_chunks/Layout-B_l-uK27.mjs +87 -0
  88. package/dist/_chunks/Layout-B_l-uK27.mjs.map +1 -0
  89. package/dist/_chunks/LimitsModal-5HFqiYwo.js +75 -0
  90. package/dist/_chunks/LimitsModal-5HFqiYwo.js.map +1 -0
  91. package/dist/_chunks/LimitsModal-BvLQGCI-.mjs +74 -0
  92. package/dist/_chunks/LimitsModal-BvLQGCI-.mjs.map +1 -0
  93. package/dist/_chunks/ListPage-BAO-yXBr.js +341 -0
  94. package/dist/_chunks/ListPage-BAO-yXBr.js.map +1 -0
  95. package/dist/_chunks/ListPage-BResWkE0.js +617 -0
  96. package/dist/_chunks/ListPage-BResWkE0.js.map +1 -0
  97. package/dist/_chunks/ListPage-BXxsqmvE.mjs +597 -0
  98. package/dist/_chunks/ListPage-BXxsqmvE.mjs.map +1 -0
  99. package/dist/_chunks/ListPage-BuHmA1f5.js +555 -0
  100. package/dist/_chunks/ListPage-BuHmA1f5.js.map +1 -0
  101. package/dist/_chunks/ListPage-Bv_V83QB.js +305 -0
  102. package/dist/_chunks/ListPage-Bv_V83QB.js.map +1 -0
  103. package/dist/_chunks/ListPage-C0btLbOo.js +285 -0
  104. package/dist/_chunks/ListPage-C0btLbOo.js.map +1 -0
  105. package/dist/_chunks/ListPage-CnfAB5jH.mjs +282 -0
  106. package/dist/_chunks/ListPage-CnfAB5jH.mjs.map +1 -0
  107. package/dist/_chunks/ListPage-CrIttWiF.mjs +534 -0
  108. package/dist/_chunks/ListPage-CrIttWiF.mjs.map +1 -0
  109. package/dist/_chunks/ListPage-D50TO1Gl.mjs +11 -0
  110. package/dist/_chunks/ListPage-D50TO1Gl.mjs.map +1 -0
  111. package/dist/_chunks/ListPage-Dw64-fPU.mjs +285 -0
  112. package/dist/_chunks/ListPage-Dw64-fPU.mjs.map +1 -0
  113. package/dist/_chunks/ListPage-JSoOfrRX.mjs +323 -0
  114. package/dist/_chunks/ListPage-JSoOfrRX.mjs.map +1 -0
  115. package/dist/_chunks/ListPage-W4NGNFA2.js +11 -0
  116. package/dist/_chunks/ListPage-W4NGNFA2.js.map +1 -0
  117. package/dist/_chunks/ListView--zynaOVn.mjs +208 -0
  118. package/dist/_chunks/ListView--zynaOVn.mjs.map +1 -0
  119. package/dist/_chunks/ListView-D97dCnvT.js +228 -0
  120. package/dist/_chunks/ListView-D97dCnvT.js.map +1 -0
  121. package/dist/_chunks/ListView-c0wBeXzj.mjs +218 -0
  122. package/dist/_chunks/ListView-c0wBeXzj.mjs.map +1 -0
  123. package/dist/_chunks/ListView-rKkUs0mA.js +238 -0
  124. package/dist/_chunks/ListView-rKkUs0mA.js.map +1 -0
  125. package/dist/_chunks/Login-CGXHwNnf.mjs +30 -0
  126. package/dist/_chunks/Login-CGXHwNnf.mjs.map +1 -0
  127. package/dist/_chunks/Login-Cz5IeBO_.js +32 -0
  128. package/dist/_chunks/Login-Cz5IeBO_.js.map +1 -0
  129. package/dist/_chunks/MagicLinkEE-DNJ09-Cl.js +27 -0
  130. package/dist/_chunks/MagicLinkEE-DNJ09-Cl.js.map +1 -0
  131. package/dist/_chunks/MagicLinkEE-DwxRiSvx.mjs +27 -0
  132. package/dist/_chunks/MagicLinkEE-DwxRiSvx.mjs.map +1 -0
  133. package/dist/_chunks/MarketplacePage-BM-2cxrF.mjs +1001 -0
  134. package/dist/_chunks/MarketplacePage-BM-2cxrF.mjs.map +1 -0
  135. package/dist/_chunks/MarketplacePage-DbnvGugk.js +1024 -0
  136. package/dist/_chunks/MarketplacePage-DbnvGugk.js.map +1 -0
  137. package/dist/_chunks/ModalForm--GI4cjVu.js +28 -0
  138. package/dist/_chunks/ModalForm--GI4cjVu.js.map +1 -0
  139. package/dist/_chunks/ModalForm-J7b3u86M.mjs +28 -0
  140. package/dist/_chunks/ModalForm-J7b3u86M.mjs.map +1 -0
  141. package/dist/_chunks/Permissions-BgDbVLII.mjs +2011 -0
  142. package/dist/_chunks/Permissions-BgDbVLII.mjs.map +1 -0
  143. package/dist/_chunks/Permissions-DYlD5eqC.js +2039 -0
  144. package/dist/_chunks/Permissions-DYlD5eqC.js.map +1 -0
  145. package/dist/_chunks/ProfilePage-Cf0mtGUP.js +606 -0
  146. package/dist/_chunks/ProfilePage-Cf0mtGUP.js.map +1 -0
  147. package/dist/_chunks/ProfilePage-tsQTE5CP.mjs +584 -0
  148. package/dist/_chunks/ProfilePage-tsQTE5CP.mjs.map +1 -0
  149. package/dist/_chunks/PurchaseAuditLogs-BWYLuIfm.mjs +48 -0
  150. package/dist/_chunks/PurchaseAuditLogs-BWYLuIfm.mjs.map +1 -0
  151. package/dist/_chunks/PurchaseAuditLogs-DGjR2gAT.js +48 -0
  152. package/dist/_chunks/PurchaseAuditLogs-DGjR2gAT.js.map +1 -0
  153. package/dist/_chunks/PurchaseReviewWorkflows-BRvbD9Sb.mjs +51 -0
  154. package/dist/_chunks/PurchaseReviewWorkflows-BRvbD9Sb.mjs.map +1 -0
  155. package/dist/_chunks/PurchaseReviewWorkflows-BvQ-ooJt.js +51 -0
  156. package/dist/_chunks/PurchaseReviewWorkflows-BvQ-ooJt.js.map +1 -0
  157. package/dist/_chunks/PurchaseSingleSignOn-BybUr_h7.js +51 -0
  158. package/dist/_chunks/PurchaseSingleSignOn-BybUr_h7.js.map +1 -0
  159. package/dist/_chunks/PurchaseSingleSignOn-Yrx7jiC3.mjs +51 -0
  160. package/dist/_chunks/PurchaseSingleSignOn-Yrx7jiC3.mjs.map +1 -0
  161. package/dist/_chunks/ReviewWorkflowsColumn-Bv3HsxcV.js +36 -0
  162. package/dist/_chunks/ReviewWorkflowsColumn-Bv3HsxcV.js.map +1 -0
  163. package/dist/_chunks/ReviewWorkflowsColumn-WhvmNSc8.mjs +36 -0
  164. package/dist/_chunks/ReviewWorkflowsColumn-WhvmNSc8.mjs.map +1 -0
  165. package/dist/_chunks/SSOProviders-BfKYr9fq.js +59 -0
  166. package/dist/_chunks/SSOProviders-BfKYr9fq.js.map +1 -0
  167. package/dist/_chunks/SSOProviders-DXiFqVN5.mjs +58 -0
  168. package/dist/_chunks/SSOProviders-DXiFqVN5.mjs.map +1 -0
  169. package/dist/_chunks/SelectRoles-BBt0I6mr.js +103 -0
  170. package/dist/_chunks/SelectRoles-BBt0I6mr.js.map +1 -0
  171. package/dist/_chunks/SelectRoles-DXP3vxWG.mjs +102 -0
  172. package/dist/_chunks/SelectRoles-DXP3vxWG.mjs.map +1 -0
  173. package/dist/_chunks/SettingsPage-BAkaokqb.mjs +1024 -0
  174. package/dist/_chunks/SettingsPage-BAkaokqb.mjs.map +1 -0
  175. package/dist/_chunks/SettingsPage-VwSjO4O3.js +1046 -0
  176. package/dist/_chunks/SettingsPage-VwSjO4O3.js.map +1 -0
  177. package/dist/_chunks/SingleSignOnPage-C6MKbS7l.mjs +234 -0
  178. package/dist/_chunks/SingleSignOnPage-C6MKbS7l.mjs.map +1 -0
  179. package/dist/_chunks/SingleSignOnPage-DM1_Twh4.js +252 -0
  180. package/dist/_chunks/SingleSignOnPage-DM1_Twh4.js.map +1 -0
  181. package/dist/_chunks/Table-BNrSUOqz.js +225 -0
  182. package/dist/_chunks/Table-BNrSUOqz.js.map +1 -0
  183. package/dist/_chunks/Table-CHhAUD-R.mjs +206 -0
  184. package/dist/_chunks/Table-CHhAUD-R.mjs.map +1 -0
  185. package/dist/_chunks/TokenTypeSelect-Imo0yF50.js +371 -0
  186. package/dist/_chunks/TokenTypeSelect-Imo0yF50.js.map +1 -0
  187. package/dist/_chunks/TokenTypeSelect-yfDK5Gr1.mjs +353 -0
  188. package/dist/_chunks/TokenTypeSelect-yfDK5Gr1.mjs.map +1 -0
  189. package/dist/_chunks/apiTokens-BmQykl0I.mjs +60 -0
  190. package/dist/_chunks/apiTokens-BmQykl0I.mjs.map +1 -0
  191. package/dist/_chunks/apiTokens-CVvlDeCp.js +59 -0
  192. package/dist/_chunks/apiTokens-CVvlDeCp.js.map +1 -0
  193. package/dist/_chunks/ar-475tDLB5.js +936 -0
  194. package/dist/_chunks/ar-475tDLB5.js.map +1 -0
  195. package/dist/_chunks/ar-yiyD4W0L.mjs +936 -0
  196. package/dist/_chunks/ar-yiyD4W0L.mjs.map +1 -0
  197. package/dist/_chunks/build-Bhvte6rY.mjs +52 -0
  198. package/dist/_chunks/build-Bhvte6rY.mjs.map +1 -0
  199. package/dist/_chunks/build-BkUr8FR6.js +55 -0
  200. package/dist/_chunks/build-BkUr8FR6.js.map +1 -0
  201. package/dist/_chunks/build-C9MFjft2.mjs +12 -0
  202. package/dist/_chunks/build-C9MFjft2.mjs.map +1 -0
  203. package/dist/_chunks/build-CDfsxW9J.mjs +37 -0
  204. package/dist/_chunks/build-CDfsxW9J.mjs.map +1 -0
  205. package/dist/_chunks/build-D3nWISTI.js +34 -0
  206. package/dist/_chunks/build-D3nWISTI.js.map +1 -0
  207. package/dist/_chunks/build-MaaG8Zxd.js +39 -0
  208. package/dist/_chunks/build-MaaG8Zxd.js.map +1 -0
  209. package/dist/_chunks/ca-DEU1Yunq.js +724 -0
  210. package/dist/_chunks/ca-DEU1Yunq.js.map +1 -0
  211. package/dist/_chunks/ca-DW7FjI4m.mjs +724 -0
  212. package/dist/_chunks/ca-DW7FjI4m.mjs.map +1 -0
  213. package/dist/_chunks/colors-CYJuPzU8.mjs +34 -0
  214. package/dist/_chunks/colors-CYJuPzU8.mjs.map +1 -0
  215. package/dist/_chunks/colors-Cx54zjV2.js +33 -0
  216. package/dist/_chunks/colors-Cx54zjV2.js.map +1 -0
  217. package/dist/_chunks/config-1Q69_4nO.mjs +58 -0
  218. package/dist/_chunks/config-1Q69_4nO.mjs.map +1 -0
  219. package/dist/_chunks/config-B7_5e67J.mjs +251 -0
  220. package/dist/_chunks/config-B7_5e67J.mjs.map +1 -0
  221. package/dist/_chunks/config-BzljZrMA.js +61 -0
  222. package/dist/_chunks/config-BzljZrMA.js.map +1 -0
  223. package/dist/_chunks/config-DC9-vqE7.mjs +135 -0
  224. package/dist/_chunks/config-DC9-vqE7.mjs.map +1 -0
  225. package/dist/_chunks/config-DMOYjOv7.js +137 -0
  226. package/dist/_chunks/config-DMOYjOv7.js.map +1 -0
  227. package/dist/_chunks/config-iJT5VgJy.js +281 -0
  228. package/dist/_chunks/config-iJT5VgJy.js.map +1 -0
  229. package/dist/_chunks/constants-3tPTNCcp.mjs +172 -0
  230. package/dist/_chunks/constants-3tPTNCcp.mjs.map +1 -0
  231. package/dist/_chunks/constants-3wlcjHhm.js +52 -0
  232. package/dist/_chunks/constants-3wlcjHhm.js.map +1 -0
  233. package/dist/_chunks/constants-9M5Gtgs1.mjs +7 -0
  234. package/dist/_chunks/constants-9M5Gtgs1.mjs.map +1 -0
  235. package/dist/_chunks/constants-B8jpG_qb.js +172 -0
  236. package/dist/_chunks/constants-B8jpG_qb.js.map +1 -0
  237. package/dist/_chunks/constants-B96HK4JR.js +6 -0
  238. package/dist/_chunks/constants-B96HK4JR.js.map +1 -0
  239. package/dist/_chunks/constants-BD65-toR.mjs +7 -0
  240. package/dist/_chunks/constants-BD65-toR.mjs.map +1 -0
  241. package/dist/_chunks/constants-BQw7t42R.mjs +52 -0
  242. package/dist/_chunks/constants-BQw7t42R.mjs.map +1 -0
  243. package/dist/_chunks/constants-BktKMZ88.mjs +103 -0
  244. package/dist/_chunks/constants-BktKMZ88.mjs.map +1 -0
  245. package/dist/_chunks/constants-CF9oLY1q.js +52 -0
  246. package/dist/_chunks/constants-CF9oLY1q.js.map +1 -0
  247. package/dist/_chunks/constants-CLc-plUk.mjs +11 -0
  248. package/dist/_chunks/constants-CLc-plUk.mjs.map +1 -0
  249. package/dist/_chunks/constants-CeIfN9Z8.mjs +59 -0
  250. package/dist/_chunks/constants-CeIfN9Z8.mjs.map +1 -0
  251. package/dist/_chunks/constants-D0kt7r3W.js +11 -0
  252. package/dist/_chunks/constants-D0kt7r3W.js.map +1 -0
  253. package/dist/_chunks/constants-Do9bkPhf.js +6 -0
  254. package/dist/_chunks/constants-Do9bkPhf.js.map +1 -0
  255. package/dist/_chunks/constants-GbF4Y3iU.mjs +50 -0
  256. package/dist/_chunks/constants-GbF4Y3iU.mjs.map +1 -0
  257. package/dist/_chunks/constants-R5erIlVZ.js +123 -0
  258. package/dist/_chunks/constants-R5erIlVZ.js.map +1 -0
  259. package/dist/_chunks/constants-WJ4DI42l.js +58 -0
  260. package/dist/_chunks/constants-WJ4DI42l.js.map +1 -0
  261. package/dist/_chunks/cs-BmXflTzg.mjs +291 -0
  262. package/dist/_chunks/cs-BmXflTzg.mjs.map +1 -0
  263. package/dist/_chunks/cs-obL_KC_g.js +291 -0
  264. package/dist/_chunks/cs-obL_KC_g.js.map +1 -0
  265. package/dist/_chunks/de-B5VEJATB.js +716 -0
  266. package/dist/_chunks/de-B5VEJATB.js.map +1 -0
  267. package/dist/_chunks/de-DgaM7hkG.mjs +716 -0
  268. package/dist/_chunks/de-DgaM7hkG.mjs.map +1 -0
  269. package/dist/_chunks/develop-D_aBgHsh.mjs +42 -0
  270. package/dist/_chunks/develop-D_aBgHsh.mjs.map +1 -0
  271. package/dist/_chunks/develop-TROO0-95.js +46 -0
  272. package/dist/_chunks/develop-TROO0-95.js.map +1 -0
  273. package/dist/_chunks/dk-3vbkx2yD.mjs +634 -0
  274. package/dist/_chunks/dk-3vbkx2yD.mjs.map +1 -0
  275. package/dist/_chunks/dk-B9jcYthx.js +634 -0
  276. package/dist/_chunks/dk-B9jcYthx.js.map +1 -0
  277. package/dist/_chunks/en-CcKS2FEI.mjs +1035 -0
  278. package/dist/_chunks/en-CcKS2FEI.mjs.map +1 -0
  279. package/dist/_chunks/en-FHilPgBw.js +1035 -0
  280. package/dist/_chunks/en-FHilPgBw.js.map +1 -0
  281. package/dist/_chunks/es-3RmvCeWF.js +796 -0
  282. package/dist/_chunks/es-3RmvCeWF.js.map +1 -0
  283. package/dist/_chunks/es-v9e7b3Ft.mjs +796 -0
  284. package/dist/_chunks/es-v9e7b3Ft.mjs.map +1 -0
  285. package/dist/_chunks/eu-BY_rgXEP.mjs +832 -0
  286. package/dist/_chunks/eu-BY_rgXEP.mjs.map +1 -0
  287. package/dist/_chunks/eu-CmMUmLzM.js +832 -0
  288. package/dist/_chunks/eu-CmMUmLzM.js.map +1 -0
  289. package/dist/_chunks/fr-C0nyZqGl.mjs +762 -0
  290. package/dist/_chunks/fr-C0nyZqGl.mjs.map +1 -0
  291. package/dist/_chunks/fr-DzcLq4pR.js +762 -0
  292. package/dist/_chunks/fr-DzcLq4pR.js.map +1 -0
  293. package/dist/_chunks/gu-C4Ofeu31.js +623 -0
  294. package/dist/_chunks/gu-C4Ofeu31.js.map +1 -0
  295. package/dist/_chunks/gu-Da70F_z_.mjs +623 -0
  296. package/dist/_chunks/gu-Da70F_z_.mjs.map +1 -0
  297. package/dist/_chunks/he-D5uZ95em.js +326 -0
  298. package/dist/_chunks/he-D5uZ95em.js.map +1 -0
  299. package/dist/_chunks/he-iX4tdMgI.mjs +326 -0
  300. package/dist/_chunks/he-iX4tdMgI.mjs.map +1 -0
  301. package/dist/_chunks/hi-BE8LyrZY.mjs +722 -0
  302. package/dist/_chunks/hi-BE8LyrZY.mjs.map +1 -0
  303. package/dist/_chunks/hi-BzoOyiI2.js +722 -0
  304. package/dist/_chunks/hi-BzoOyiI2.js.map +1 -0
  305. package/dist/_chunks/hr-Di6sXxgh.mjs +1035 -0
  306. package/dist/_chunks/hr-Di6sXxgh.mjs.map +1 -0
  307. package/dist/_chunks/hr-DqmGDOJs.js +1035 -0
  308. package/dist/_chunks/hr-DqmGDOJs.js.map +1 -0
  309. package/dist/_chunks/hu-BJ1gQ7GZ.js +832 -0
  310. package/dist/_chunks/hu-BJ1gQ7GZ.js.map +1 -0
  311. package/dist/_chunks/hu-CWWpyjYF.mjs +832 -0
  312. package/dist/_chunks/hu-CWWpyjYF.mjs.map +1 -0
  313. package/dist/_chunks/id-2f-IaYtK.mjs +448 -0
  314. package/dist/_chunks/id-2f-IaYtK.mjs.map +1 -0
  315. package/dist/_chunks/id-CDscjFnX.js +448 -0
  316. package/dist/_chunks/id-CDscjFnX.js.map +1 -0
  317. package/dist/_chunks/index-24f-Noga.mjs +900 -0
  318. package/dist/_chunks/index-24f-Noga.mjs.map +1 -0
  319. package/dist/_chunks/index-BiELGgSr.js +19415 -0
  320. package/dist/_chunks/index-BiELGgSr.js.map +1 -0
  321. package/dist/_chunks/index-Cwr9u7_W.mjs +19358 -0
  322. package/dist/_chunks/index-Cwr9u7_W.mjs.map +1 -0
  323. package/dist/_chunks/index-WMsbcPLX.js +937 -0
  324. package/dist/_chunks/index-WMsbcPLX.js.map +1 -0
  325. package/dist/_chunks/it-BGbX9q0z.mjs +459 -0
  326. package/dist/_chunks/it-BGbX9q0z.mjs.map +1 -0
  327. package/dist/_chunks/it-DyvLZQEE.js +459 -0
  328. package/dist/_chunks/it-DyvLZQEE.js.map +1 -0
  329. package/dist/_chunks/ja-15kZhZF1.mjs +633 -0
  330. package/dist/_chunks/ja-15kZhZF1.mjs.map +1 -0
  331. package/dist/_chunks/ja-BviRY8-H.js +633 -0
  332. package/dist/_chunks/ja-BviRY8-H.js.map +1 -0
  333. package/dist/_chunks/ko-BdjaCDT8.js +631 -0
  334. package/dist/_chunks/ko-BdjaCDT8.js.map +1 -0
  335. package/dist/_chunks/ko-KD6HlXhy.mjs +631 -0
  336. package/dist/_chunks/ko-KD6HlXhy.mjs.map +1 -0
  337. package/dist/_chunks/ml-BEycuyAF.mjs +722 -0
  338. package/dist/_chunks/ml-BEycuyAF.mjs.map +1 -0
  339. package/dist/_chunks/ml-DqObrNJ3.js +722 -0
  340. package/dist/_chunks/ml-DqObrNJ3.js.map +1 -0
  341. package/dist/_chunks/ms-CkIVNCCl.js +342 -0
  342. package/dist/_chunks/ms-CkIVNCCl.js.map +1 -0
  343. package/dist/_chunks/ms-DCPlKxiV.mjs +342 -0
  344. package/dist/_chunks/ms-DCPlKxiV.mjs.map +1 -0
  345. package/dist/_chunks/nl-BVA9GAkb.js +828 -0
  346. package/dist/_chunks/nl-BVA9GAkb.js.map +1 -0
  347. package/dist/_chunks/nl-CJuiadHk.mjs +828 -0
  348. package/dist/_chunks/nl-CJuiadHk.mjs.map +1 -0
  349. package/dist/_chunks/no-Co7fsyMn.js +310 -0
  350. package/dist/_chunks/no-Co7fsyMn.js.map +1 -0
  351. package/dist/_chunks/no-f64KSW5p.mjs +310 -0
  352. package/dist/_chunks/no-f64KSW5p.mjs.map +1 -0
  353. package/dist/_chunks/pl-Bw9wSyOi.mjs +721 -0
  354. package/dist/_chunks/pl-Bw9wSyOi.mjs.map +1 -0
  355. package/dist/_chunks/pl-CYXsVNaz.js +721 -0
  356. package/dist/_chunks/pl-CYXsVNaz.js.map +1 -0
  357. package/dist/_chunks/pt-BR-77_6hB4F.mjs +794 -0
  358. package/dist/_chunks/pt-BR-77_6hB4F.mjs.map +1 -0
  359. package/dist/_chunks/pt-BR-BpSp_Bh4.js +794 -0
  360. package/dist/_chunks/pt-BR-BpSp_Bh4.js.map +1 -0
  361. package/dist/_chunks/pt-DU2MHjbl.js +296 -0
  362. package/dist/_chunks/pt-DU2MHjbl.js.map +1 -0
  363. package/dist/_chunks/pt-MLLdm__m.mjs +296 -0
  364. package/dist/_chunks/pt-MLLdm__m.mjs.map +1 -0
  365. package/dist/_chunks/reviewWorkflows-Ra5krOSM.mjs +117 -0
  366. package/dist/_chunks/reviewWorkflows-Ra5krOSM.mjs.map +1 -0
  367. package/dist/_chunks/reviewWorkflows-kHDJXR8s.js +116 -0
  368. package/dist/_chunks/reviewWorkflows-kHDJXR8s.js.map +1 -0
  369. package/dist/_chunks/ru-DFetvmsD.mjs +993 -0
  370. package/dist/_chunks/ru-DFetvmsD.mjs.map +1 -0
  371. package/dist/_chunks/ru-Tae8Srzl.js +993 -0
  372. package/dist/_chunks/ru-Tae8Srzl.js.map +1 -0
  373. package/dist/_chunks/sa-CNZNSSPD.js +722 -0
  374. package/dist/_chunks/sa-CNZNSSPD.js.map +1 -0
  375. package/dist/_chunks/sa-DA4KBKq-.mjs +722 -0
  376. package/dist/_chunks/sa-DA4KBKq-.mjs.map +1 -0
  377. package/dist/_chunks/sk-KCpIDfnW.mjs +690 -0
  378. package/dist/_chunks/sk-KCpIDfnW.mjs.map +1 -0
  379. package/dist/_chunks/sk-YDwkuBuR.js +690 -0
  380. package/dist/_chunks/sk-YDwkuBuR.js.map +1 -0
  381. package/dist/_chunks/sv-B5SG1nkJ.js +827 -0
  382. package/dist/_chunks/sv-B5SG1nkJ.js.map +1 -0
  383. package/dist/_chunks/sv-Duc7AD1y.mjs +827 -0
  384. package/dist/_chunks/sv-Duc7AD1y.mjs.map +1 -0
  385. package/dist/_chunks/th-DkX5AaJc.mjs +430 -0
  386. package/dist/_chunks/th-DkX5AaJc.mjs.map +1 -0
  387. package/dist/_chunks/th-_uBmb8Nm.js +430 -0
  388. package/dist/_chunks/th-_uBmb8Nm.js.map +1 -0
  389. package/dist/_chunks/tr-C2mjt6Rp.mjs +785 -0
  390. package/dist/_chunks/tr-C2mjt6Rp.mjs.map +1 -0
  391. package/dist/_chunks/tr-DS8cBMj5.js +785 -0
  392. package/dist/_chunks/tr-DS8cBMj5.js.map +1 -0
  393. package/dist/_chunks/transferTokens-BUCtB8Vs.mjs +63 -0
  394. package/dist/_chunks/transferTokens-BUCtB8Vs.mjs.map +1 -0
  395. package/dist/_chunks/transferTokens-D1Vrg_e3.js +62 -0
  396. package/dist/_chunks/transferTokens-D1Vrg_e3.js.map +1 -0
  397. package/dist/_chunks/uk-3lk6xDxv.mjs +343 -0
  398. package/dist/_chunks/uk-3lk6xDxv.mjs.map +1 -0
  399. package/dist/_chunks/uk-86pRQVpc.js +343 -0
  400. package/dist/_chunks/uk-86pRQVpc.js.map +1 -0
  401. package/dist/_chunks/useAdminRoles-B7eTo_wV.mjs +28 -0
  402. package/dist/_chunks/useAdminRoles-B7eTo_wV.mjs.map +1 -0
  403. package/dist/_chunks/useAdminRoles-CgCWq8bE.js +45 -0
  404. package/dist/_chunks/useAdminRoles-CgCWq8bE.js.map +1 -0
  405. package/dist/_chunks/useContentTypes-CPA2u-5S.mjs +72 -0
  406. package/dist/_chunks/useContentTypes-CPA2u-5S.mjs.map +1 -0
  407. package/dist/_chunks/useContentTypes-DK4waKO7.js +89 -0
  408. package/dist/_chunks/useContentTypes-DK4waKO7.js.map +1 -0
  409. package/dist/_chunks/useLicenseLimitNotification-Bv8sFkY4.js +99 -0
  410. package/dist/_chunks/useLicenseLimitNotification-Bv8sFkY4.js.map +1 -0
  411. package/dist/_chunks/useLicenseLimitNotification-CYm3C_il.mjs +80 -0
  412. package/dist/_chunks/useLicenseLimitNotification-CYm3C_il.mjs.map +1 -0
  413. package/dist/_chunks/useReviewWorkflows-BboRkueC.js +26 -0
  414. package/dist/_chunks/useReviewWorkflows-BboRkueC.js.map +1 -0
  415. package/dist/_chunks/useReviewWorkflows-ClfUfdp6.mjs +27 -0
  416. package/dist/_chunks/useReviewWorkflows-ClfUfdp6.mjs.map +1 -0
  417. package/dist/_chunks/useWebhooks-C5oul1Ng.mjs +90 -0
  418. package/dist/_chunks/useWebhooks-C5oul1Ng.mjs.map +1 -0
  419. package/dist/_chunks/useWebhooks-Dvjo7y6X.js +89 -0
  420. package/dist/_chunks/useWebhooks-Dvjo7y6X.js.map +1 -0
  421. package/dist/_chunks/validateWorkflow-BQErFAES.js +1076 -0
  422. package/dist/_chunks/validateWorkflow-BQErFAES.js.map +1 -0
  423. package/dist/_chunks/validateWorkflow-qyyD9ZMT.mjs +1054 -0
  424. package/dist/_chunks/validateWorkflow-qyyD9ZMT.mjs.map +1 -0
  425. package/dist/_chunks/validation-BRQPW7wR.js +33 -0
  426. package/dist/_chunks/validation-BRQPW7wR.js.map +1 -0
  427. package/dist/_chunks/validation-DTw7KFkq.mjs +16 -0
  428. package/dist/_chunks/validation-DTw7KFkq.mjs.map +1 -0
  429. package/dist/_chunks/vi-B8EGW0fo.mjs +298 -0
  430. package/dist/_chunks/vi-B8EGW0fo.mjs.map +1 -0
  431. package/dist/_chunks/vi-BEwfa_dG.js +298 -0
  432. package/dist/_chunks/vi-BEwfa_dG.js.map +1 -0
  433. package/dist/_chunks/watch-9KnH0KbG.js +95 -0
  434. package/dist/_chunks/watch-9KnH0KbG.js.map +1 -0
  435. package/dist/_chunks/watch-Bdlhf72v.mjs +90 -0
  436. package/dist/_chunks/watch-Bdlhf72v.mjs.map +1 -0
  437. package/dist/_chunks/watch-CIG_ceRy.mjs +54 -0
  438. package/dist/_chunks/watch-CIG_ceRy.mjs.map +1 -0
  439. package/dist/_chunks/watch-ZrqwXedv.js +79 -0
  440. package/dist/_chunks/watch-ZrqwXedv.js.map +1 -0
  441. package/dist/_chunks/zh-Hans-BD04oDkm.js +957 -0
  442. package/dist/_chunks/zh-Hans-BD04oDkm.js.map +1 -0
  443. package/dist/_chunks/zh-Hans-DScrItBN.mjs +957 -0
  444. package/dist/_chunks/zh-Hans-DScrItBN.mjs.map +1 -0
  445. package/dist/_chunks/zh-IzjeM_o5.js +836 -0
  446. package/dist/_chunks/zh-IzjeM_o5.js.map +1 -0
  447. package/dist/_chunks/zh-twdFdR1U.mjs +836 -0
  448. package/dist/_chunks/zh-twdFdR1U.mjs.map +1 -0
  449. package/dist/admin/index.js +1 -71
  450. package/dist/admin/index.js.map +1 -1
  451. package/dist/admin/index.mjs +4 -74
  452. package/dist/admin/index.mjs.map +1 -1
  453. package/dist/cli.js +1 -28
  454. package/dist/cli.js.map +1 -1
  455. package/dist/cli.mjs +1 -28
  456. package/dist/cli.mjs.map +1 -1
  457. package/dist/ee/server/index.js +44 -72
  458. package/dist/ee/server/index.js.map +1 -1
  459. package/dist/ee/server/index.mjs +45 -73
  460. package/dist/ee/server/index.mjs.map +1 -1
  461. package/dist/server/index.js +157 -91
  462. package/dist/server/index.js.map +1 -1
  463. package/dist/server/index.mjs +193 -127
  464. package/dist/server/index.mjs.map +1 -1
  465. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
  466. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  467. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  468. package/dist/server/src/utils/merge-validated-body.d.ts +2 -0
  469. package/dist/server/src/utils/merge-validated-body.d.ts.map +1 -0
  470. package/dist/server/src/validation/user.d.ts +4 -4
  471. package/dist/server/src/validation/user.d.ts.map +1 -1
  472. package/package.json +19 -19
  473. package/dist/_chunks/AdminSeatInfo-eBQoj8_8.mjs +0 -166
  474. package/dist/_chunks/AdminSeatInfo-eBQoj8_8.mjs.map +0 -1
  475. package/dist/_chunks/AdminSeatInfo-nK8rqSxi.js +0 -166
  476. package/dist/_chunks/AdminSeatInfo-nK8rqSxi.js.map +0 -1
  477. package/dist/_chunks/AuthenticatedApp-JancbsrG.mjs +0 -1438
  478. package/dist/_chunks/AuthenticatedApp-JancbsrG.mjs.map +0 -1
  479. package/dist/_chunks/AuthenticatedApp-tkj6j2bL.js +0 -1464
  480. package/dist/_chunks/AuthenticatedApp-tkj6j2bL.js.map +0 -1
  481. package/dist/_chunks/CreateActionEE-FyZajf1M.js +0 -125
  482. package/dist/_chunks/CreateActionEE-FyZajf1M.js.map +0 -1
  483. package/dist/_chunks/CreateActionEE-ONxhbJu1.mjs +0 -122
  484. package/dist/_chunks/CreateActionEE-ONxhbJu1.mjs.map +0 -1
  485. package/dist/_chunks/CreatePage-8M0vdxg2.mjs +0 -86
  486. package/dist/_chunks/CreatePage-8M0vdxg2.mjs.map +0 -1
  487. package/dist/_chunks/CreatePage-IPkwTKwc.js +0 -86
  488. package/dist/_chunks/CreatePage-IPkwTKwc.js.map +0 -1
  489. package/dist/_chunks/CreatePage-Ozitc6XZ.mjs +0 -305
  490. package/dist/_chunks/CreatePage-Ozitc6XZ.mjs.map +0 -1
  491. package/dist/_chunks/CreatePage-UG-W7iQ1.mjs +0 -314
  492. package/dist/_chunks/CreatePage-UG-W7iQ1.mjs.map +0 -1
  493. package/dist/_chunks/CreatePage-m7HvMdiG.js +0 -333
  494. package/dist/_chunks/CreatePage-m7HvMdiG.js.map +0 -1
  495. package/dist/_chunks/CreatePage-q-0DWH6f.js +0 -327
  496. package/dist/_chunks/CreatePage-q-0DWH6f.js.map +0 -1
  497. package/dist/_chunks/CreateView-3vXuRwTE.js +0 -88
  498. package/dist/_chunks/CreateView-3vXuRwTE.js.map +0 -1
  499. package/dist/_chunks/CreateView-MEEAMj_j.mjs +0 -92
  500. package/dist/_chunks/CreateView-MEEAMj_j.mjs.map +0 -1
  501. package/dist/_chunks/CreateView-UTZaprgW.js +0 -92
  502. package/dist/_chunks/CreateView-UTZaprgW.js.map +0 -1
  503. package/dist/_chunks/CreateView-iyd6ZNMx.mjs +0 -88
  504. package/dist/_chunks/CreateView-iyd6ZNMx.mjs.map +0 -1
  505. package/dist/_chunks/EditPage-6Dkfaypn.js +0 -390
  506. package/dist/_chunks/EditPage-6Dkfaypn.js.map +0 -1
  507. package/dist/_chunks/EditPage-MB7ic_DE.mjs +0 -789
  508. package/dist/_chunks/EditPage-MB7ic_DE.mjs.map +0 -1
  509. package/dist/_chunks/EditPage-PN8fpWzJ.mjs +0 -328
  510. package/dist/_chunks/EditPage-PN8fpWzJ.mjs.map +0 -1
  511. package/dist/_chunks/EditPage-Rkprr51L.js +0 -810
  512. package/dist/_chunks/EditPage-Rkprr51L.js.map +0 -1
  513. package/dist/_chunks/EditPage-TwHF7L9k.js +0 -496
  514. package/dist/_chunks/EditPage-TwHF7L9k.js.map +0 -1
  515. package/dist/_chunks/EditPage-XBuNWkpO.mjs +0 -474
  516. package/dist/_chunks/EditPage-XBuNWkpO.mjs.map +0 -1
  517. package/dist/_chunks/EditPage-dzBvUrJv.mjs +0 -371
  518. package/dist/_chunks/EditPage-dzBvUrJv.mjs.map +0 -1
  519. package/dist/_chunks/EditPage-wrNTcvou.js +0 -348
  520. package/dist/_chunks/EditPage-wrNTcvou.js.map +0 -1
  521. package/dist/_chunks/EditView-Hdykp6zL.js +0 -433
  522. package/dist/_chunks/EditView-Hdykp6zL.js.map +0 -1
  523. package/dist/_chunks/EditView-rQjXLZp8.mjs +0 -413
  524. package/dist/_chunks/EditView-rQjXLZp8.mjs.map +0 -1
  525. package/dist/_chunks/EditViewPage-K0arDsHr.mjs +0 -909
  526. package/dist/_chunks/EditViewPage-K0arDsHr.mjs.map +0 -1
  527. package/dist/_chunks/EditViewPage-suFXvPEu.js +0 -936
  528. package/dist/_chunks/EditViewPage-suFXvPEu.js.map +0 -1
  529. package/dist/_chunks/EventsTable-QFx2TI60.js +0 -107
  530. package/dist/_chunks/EventsTable-QFx2TI60.js.map +0 -1
  531. package/dist/_chunks/EventsTable-_Sjd60rm.mjs +0 -107
  532. package/dist/_chunks/EventsTable-_Sjd60rm.mjs.map +0 -1
  533. package/dist/_chunks/Filters-Gdnt7qft.js +0 -61
  534. package/dist/_chunks/Filters-Gdnt7qft.js.map +0 -1
  535. package/dist/_chunks/Filters-dLXfVnI0.mjs +0 -43
  536. package/dist/_chunks/Filters-dLXfVnI0.mjs.map +0 -1
  537. package/dist/_chunks/HomePage-BUCiJHkf.js +0 -600
  538. package/dist/_chunks/HomePage-BUCiJHkf.js.map +0 -1
  539. package/dist/_chunks/HomePage-SEKwiDoe.js +0 -86
  540. package/dist/_chunks/HomePage-SEKwiDoe.js.map +0 -1
  541. package/dist/_chunks/HomePage-VJHyeUoh.mjs +0 -579
  542. package/dist/_chunks/HomePage-VJHyeUoh.mjs.map +0 -1
  543. package/dist/_chunks/HomePage-yjuVHSI3.mjs +0 -86
  544. package/dist/_chunks/HomePage-yjuVHSI3.mjs.map +0 -1
  545. package/dist/_chunks/InformationBoxEE-w1jk2goo.js +0 -359
  546. package/dist/_chunks/InformationBoxEE-w1jk2goo.js.map +0 -1
  547. package/dist/_chunks/InformationBoxEE-xdYByBFg.mjs +0 -340
  548. package/dist/_chunks/InformationBoxEE-xdYByBFg.mjs.map +0 -1
  549. package/dist/_chunks/InstalledPluginsPage-X4E_06W_.js +0 -188
  550. package/dist/_chunks/InstalledPluginsPage-X4E_06W_.js.map +0 -1
  551. package/dist/_chunks/InstalledPluginsPage-fgJ5-kNV.mjs +0 -169
  552. package/dist/_chunks/InstalledPluginsPage-fgJ5-kNV.mjs.map +0 -1
  553. package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs +0 -41
  554. package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs.map +0 -1
  555. package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js +0 -41
  556. package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js.map +0 -1
  557. package/dist/_chunks/Layout-QrAc9In_.js +0 -88
  558. package/dist/_chunks/Layout-QrAc9In_.js.map +0 -1
  559. package/dist/_chunks/Layout-sy4_7v7O.mjs +0 -87
  560. package/dist/_chunks/Layout-sy4_7v7O.mjs.map +0 -1
  561. package/dist/_chunks/LimitsModal-gq7jwfap.js +0 -75
  562. package/dist/_chunks/LimitsModal-gq7jwfap.js.map +0 -1
  563. package/dist/_chunks/LimitsModal-slvRtty7.mjs +0 -74
  564. package/dist/_chunks/LimitsModal-slvRtty7.mjs.map +0 -1
  565. package/dist/_chunks/ListPage-5rgyIGmO.js +0 -680
  566. package/dist/_chunks/ListPage-5rgyIGmO.js.map +0 -1
  567. package/dist/_chunks/ListPage-6xeDUcGB.mjs +0 -595
  568. package/dist/_chunks/ListPage-6xeDUcGB.mjs.map +0 -1
  569. package/dist/_chunks/ListPage-AnMlAIXK.js +0 -349
  570. package/dist/_chunks/ListPage-AnMlAIXK.js.map +0 -1
  571. package/dist/_chunks/ListPage-DMkNWoJu.js +0 -88
  572. package/dist/_chunks/ListPage-DMkNWoJu.js.map +0 -1
  573. package/dist/_chunks/ListPage-Hv68x6W-.mjs +0 -88
  574. package/dist/_chunks/ListPage-Hv68x6W-.mjs.map +0 -1
  575. package/dist/_chunks/ListPage-KXTkgGme.js +0 -369
  576. package/dist/_chunks/ListPage-KXTkgGme.js.map +0 -1
  577. package/dist/_chunks/ListPage-NG7JT4yN.mjs +0 -346
  578. package/dist/_chunks/ListPage-NG7JT4yN.mjs.map +0 -1
  579. package/dist/_chunks/ListPage-UkAUyG2N.js +0 -404
  580. package/dist/_chunks/ListPage-UkAUyG2N.js.map +0 -1
  581. package/dist/_chunks/ListPage-b8Z1h4MO.mjs +0 -385
  582. package/dist/_chunks/ListPage-b8Z1h4MO.mjs.map +0 -1
  583. package/dist/_chunks/ListPage-jo_bXvnl.js +0 -617
  584. package/dist/_chunks/ListPage-jo_bXvnl.js.map +0 -1
  585. package/dist/_chunks/ListPage-ufqDMdqp.mjs +0 -348
  586. package/dist/_chunks/ListPage-ufqDMdqp.mjs.map +0 -1
  587. package/dist/_chunks/ListPage-zP1FDM-4.mjs +0 -659
  588. package/dist/_chunks/ListPage-zP1FDM-4.mjs.map +0 -1
  589. package/dist/_chunks/ListView-9YFsJ7GI.mjs +0 -280
  590. package/dist/_chunks/ListView-9YFsJ7GI.mjs.map +0 -1
  591. package/dist/_chunks/ListView-NS-P5YQG.js +0 -291
  592. package/dist/_chunks/ListView-NS-P5YQG.js.map +0 -1
  593. package/dist/_chunks/ListView-nOHxPWGQ.js +0 -301
  594. package/dist/_chunks/ListView-nOHxPWGQ.js.map +0 -1
  595. package/dist/_chunks/ListView-ytDk6yty.mjs +0 -270
  596. package/dist/_chunks/ListView-ytDk6yty.mjs.map +0 -1
  597. package/dist/_chunks/Login-BRD5caM-.mjs +0 -96
  598. package/dist/_chunks/Login-BRD5caM-.mjs.map +0 -1
  599. package/dist/_chunks/Login-BnkbBY7n.js +0 -98
  600. package/dist/_chunks/Login-BnkbBY7n.js.map +0 -1
  601. package/dist/_chunks/MagicLinkEE-AqYdmaet.mjs +0 -96
  602. package/dist/_chunks/MagicLinkEE-AqYdmaet.mjs.map +0 -1
  603. package/dist/_chunks/MagicLinkEE-u9iZrfmz.js +0 -96
  604. package/dist/_chunks/MagicLinkEE-u9iZrfmz.js.map +0 -1
  605. package/dist/_chunks/MarketplacePage-ccjqZRTt.js +0 -1085
  606. package/dist/_chunks/MarketplacePage-ccjqZRTt.js.map +0 -1
  607. package/dist/_chunks/MarketplacePage-vZrbVgk6.mjs +0 -1061
  608. package/dist/_chunks/MarketplacePage-vZrbVgk6.mjs.map +0 -1
  609. package/dist/_chunks/ModalForm-W9-dHdzq.mjs +0 -28
  610. package/dist/_chunks/ModalForm-W9-dHdzq.mjs.map +0 -1
  611. package/dist/_chunks/ModalForm-cFcYN_zA.js +0 -28
  612. package/dist/_chunks/ModalForm-cFcYN_zA.js.map +0 -1
  613. package/dist/_chunks/Permissions-J__XYO4N.js +0 -2040
  614. package/dist/_chunks/Permissions-J__XYO4N.js.map +0 -1
  615. package/dist/_chunks/Permissions-UIYvY1V6.mjs +0 -2011
  616. package/dist/_chunks/Permissions-UIYvY1V6.mjs.map +0 -1
  617. package/dist/_chunks/ProfilePage-ArnPF1HF.mjs +0 -645
  618. package/dist/_chunks/ProfilePage-ArnPF1HF.mjs.map +0 -1
  619. package/dist/_chunks/ProfilePage-UC76-e8W.js +0 -668
  620. package/dist/_chunks/ProfilePage-UC76-e8W.js.map +0 -1
  621. package/dist/_chunks/PurchaseAuditLogs-KILCZp5x.mjs +0 -48
  622. package/dist/_chunks/PurchaseAuditLogs-KILCZp5x.mjs.map +0 -1
  623. package/dist/_chunks/PurchaseAuditLogs-bs-tiD4M.js +0 -48
  624. package/dist/_chunks/PurchaseAuditLogs-bs-tiD4M.js.map +0 -1
  625. package/dist/_chunks/PurchaseReviewWorkflows-cdGh-HED.js +0 -51
  626. package/dist/_chunks/PurchaseReviewWorkflows-cdGh-HED.js.map +0 -1
  627. package/dist/_chunks/PurchaseReviewWorkflows-rVcCufNv.mjs +0 -51
  628. package/dist/_chunks/PurchaseReviewWorkflows-rVcCufNv.mjs.map +0 -1
  629. package/dist/_chunks/PurchaseSingleSignOn-H8KWtk1K.mjs +0 -51
  630. package/dist/_chunks/PurchaseSingleSignOn-H8KWtk1K.mjs.map +0 -1
  631. package/dist/_chunks/PurchaseSingleSignOn-OqlM4WkQ.js +0 -51
  632. package/dist/_chunks/PurchaseSingleSignOn-OqlM4WkQ.js.map +0 -1
  633. package/dist/_chunks/ReviewWorkflowsColumn-fsCyaPpY.mjs +0 -102
  634. package/dist/_chunks/ReviewWorkflowsColumn-fsCyaPpY.mjs.map +0 -1
  635. package/dist/_chunks/ReviewWorkflowsColumn-ksuXynRr.js +0 -102
  636. package/dist/_chunks/ReviewWorkflowsColumn-ksuXynRr.js.map +0 -1
  637. package/dist/_chunks/SSOProviders-GvoeZh35.mjs +0 -58
  638. package/dist/_chunks/SSOProviders-GvoeZh35.mjs.map +0 -1
  639. package/dist/_chunks/SSOProviders-Z6IAEre2.js +0 -59
  640. package/dist/_chunks/SSOProviders-Z6IAEre2.js.map +0 -1
  641. package/dist/_chunks/SelectRoles-CIq2yfaQ.mjs +0 -102
  642. package/dist/_chunks/SelectRoles-CIq2yfaQ.mjs.map +0 -1
  643. package/dist/_chunks/SelectRoles-PkTP4NZ9.js +0 -103
  644. package/dist/_chunks/SelectRoles-PkTP4NZ9.js.map +0 -1
  645. package/dist/_chunks/SettingsPage-EA8dPv72.mjs +0 -1082
  646. package/dist/_chunks/SettingsPage-EA8dPv72.mjs.map +0 -1
  647. package/dist/_chunks/SettingsPage-U-uPBrTq.js +0 -1105
  648. package/dist/_chunks/SettingsPage-U-uPBrTq.js.map +0 -1
  649. package/dist/_chunks/SingleSignOnPage-Q9-Wf9m_.mjs +0 -297
  650. package/dist/_chunks/SingleSignOnPage-Q9-Wf9m_.mjs.map +0 -1
  651. package/dist/_chunks/SingleSignOnPage-wH4ht7VG.js +0 -316
  652. package/dist/_chunks/SingleSignOnPage-wH4ht7VG.js.map +0 -1
  653. package/dist/_chunks/Table-T-qYlZ1f.js +0 -226
  654. package/dist/_chunks/Table-T-qYlZ1f.js.map +0 -1
  655. package/dist/_chunks/Table-nKuv1TlJ.mjs +0 -206
  656. package/dist/_chunks/Table-nKuv1TlJ.mjs.map +0 -1
  657. package/dist/_chunks/TokenTypeSelect-CktNrCwU.js +0 -372
  658. package/dist/_chunks/TokenTypeSelect-CktNrCwU.js.map +0 -1
  659. package/dist/_chunks/TokenTypeSelect-wnlrTbAa.mjs +0 -353
  660. package/dist/_chunks/TokenTypeSelect-wnlrTbAa.mjs.map +0 -1
  661. package/dist/_chunks/apiTokens-4Dkmm3mz.js +0 -59
  662. package/dist/_chunks/apiTokens-4Dkmm3mz.js.map +0 -1
  663. package/dist/_chunks/apiTokens-M1a_X8Mi.mjs +0 -60
  664. package/dist/_chunks/apiTokens-M1a_X8Mi.mjs.map +0 -1
  665. package/dist/_chunks/ar-jktgflyG.mjs +0 -936
  666. package/dist/_chunks/ar-jktgflyG.mjs.map +0 -1
  667. package/dist/_chunks/ar-qfb99PVh.js +0 -936
  668. package/dist/_chunks/ar-qfb99PVh.js.map +0 -1
  669. package/dist/_chunks/build-0AXgvQMp.mjs +0 -44
  670. package/dist/_chunks/build-0AXgvQMp.mjs.map +0 -1
  671. package/dist/_chunks/build-9nXVhfLu.js +0 -80
  672. package/dist/_chunks/build-9nXVhfLu.js.map +0 -1
  673. package/dist/_chunks/build-E4SInTs4.mjs +0 -77
  674. package/dist/_chunks/build-E4SInTs4.mjs.map +0 -1
  675. package/dist/_chunks/build-FCRwbJky.js +0 -77
  676. package/dist/_chunks/build-FCRwbJky.js.map +0 -1
  677. package/dist/_chunks/build-VuUvCdhF.mjs +0 -75
  678. package/dist/_chunks/build-VuUvCdhF.mjs.map +0 -1
  679. package/dist/_chunks/build-dmiF-Zce.js +0 -66
  680. package/dist/_chunks/build-dmiF-Zce.js.map +0 -1
  681. package/dist/_chunks/ca-bQs9dsIc.js +0 -724
  682. package/dist/_chunks/ca-bQs9dsIc.js.map +0 -1
  683. package/dist/_chunks/ca-g_TZ9Gyb.mjs +0 -724
  684. package/dist/_chunks/ca-g_TZ9Gyb.mjs.map +0 -1
  685. package/dist/_chunks/colors-6VKZqnio.js +0 -33
  686. package/dist/_chunks/colors-6VKZqnio.js.map +0 -1
  687. package/dist/_chunks/colors-YeFa2BnS.mjs +0 -34
  688. package/dist/_chunks/colors-YeFa2BnS.mjs.map +0 -1
  689. package/dist/_chunks/config-4l8LtfkG.js +0 -281
  690. package/dist/_chunks/config-4l8LtfkG.js.map +0 -1
  691. package/dist/_chunks/config-Bsnm3Cwl.mjs +0 -135
  692. package/dist/_chunks/config-Bsnm3Cwl.mjs.map +0 -1
  693. package/dist/_chunks/config-cxDPa60M.js +0 -137
  694. package/dist/_chunks/config-cxDPa60M.js.map +0 -1
  695. package/dist/_chunks/config-hNpp0TvT.mjs +0 -251
  696. package/dist/_chunks/config-hNpp0TvT.mjs.map +0 -1
  697. package/dist/_chunks/config-qyiH0Sij.js +0 -61
  698. package/dist/_chunks/config-qyiH0Sij.js.map +0 -1
  699. package/dist/_chunks/config-yfY7v_OS.mjs +0 -58
  700. package/dist/_chunks/config-yfY7v_OS.mjs.map +0 -1
  701. package/dist/_chunks/constants-8sAt6dKz.mjs +0 -59
  702. package/dist/_chunks/constants-8sAt6dKz.mjs.map +0 -1
  703. package/dist/_chunks/constants-DsdEho7h.mjs +0 -52
  704. package/dist/_chunks/constants-DsdEho7h.mjs.map +0 -1
  705. package/dist/_chunks/constants-GnPzy29z.mjs +0 -241
  706. package/dist/_chunks/constants-GnPzy29z.mjs.map +0 -1
  707. package/dist/_chunks/constants-L1I-Y-RJ.js +0 -58
  708. package/dist/_chunks/constants-L1I-Y-RJ.js.map +0 -1
  709. package/dist/_chunks/constants-RMqZXSqh.js +0 -6
  710. package/dist/_chunks/constants-RMqZXSqh.js.map +0 -1
  711. package/dist/_chunks/constants-UfJQh0Pb.js +0 -241
  712. package/dist/_chunks/constants-UfJQh0Pb.js.map +0 -1
  713. package/dist/_chunks/constants-WbeIIlk3.js +0 -11
  714. package/dist/_chunks/constants-WbeIIlk3.js.map +0 -1
  715. package/dist/_chunks/constants-_8pVvG0H.mjs +0 -11
  716. package/dist/_chunks/constants-_8pVvG0H.mjs.map +0 -1
  717. package/dist/_chunks/constants-dUW26bVk.mjs +0 -114
  718. package/dist/_chunks/constants-dUW26bVk.mjs.map +0 -1
  719. package/dist/_chunks/constants-dzw_CGSe.js +0 -189
  720. package/dist/_chunks/constants-dzw_CGSe.js.map +0 -1
  721. package/dist/_chunks/constants-fJt30IoY.mjs +0 -7
  722. package/dist/_chunks/constants-fJt30IoY.mjs.map +0 -1
  723. package/dist/_chunks/constants-jzEsxOxr.js +0 -6
  724. package/dist/_chunks/constants-jzEsxOxr.js.map +0 -1
  725. package/dist/_chunks/constants-mjIKiYj9.js +0 -52
  726. package/dist/_chunks/constants-mjIKiYj9.js.map +0 -1
  727. package/dist/_chunks/constants-q1-_l5GM.mjs +0 -7
  728. package/dist/_chunks/constants-q1-_l5GM.mjs.map +0 -1
  729. package/dist/_chunks/constants-wVrPdbQM.mjs +0 -168
  730. package/dist/_chunks/constants-wVrPdbQM.mjs.map +0 -1
  731. package/dist/_chunks/constants-x08gNwKa.js +0 -116
  732. package/dist/_chunks/constants-x08gNwKa.js.map +0 -1
  733. package/dist/_chunks/cs-XYXIcfVY.js +0 -291
  734. package/dist/_chunks/cs-XYXIcfVY.js.map +0 -1
  735. package/dist/_chunks/cs-pnCQlrWo.mjs +0 -291
  736. package/dist/_chunks/cs-pnCQlrWo.mjs.map +0 -1
  737. package/dist/_chunks/de-elBeWdG2.js +0 -716
  738. package/dist/_chunks/de-elBeWdG2.js.map +0 -1
  739. package/dist/_chunks/de-uQFFWv6o.mjs +0 -716
  740. package/dist/_chunks/de-uQFFWv6o.mjs.map +0 -1
  741. package/dist/_chunks/develop-GhchjR6l.mjs +0 -66
  742. package/dist/_chunks/develop-GhchjR6l.mjs.map +0 -1
  743. package/dist/_chunks/develop-dfA-WCq6.js +0 -70
  744. package/dist/_chunks/develop-dfA-WCq6.js.map +0 -1
  745. package/dist/_chunks/dk-QgYCviRU.mjs +0 -634
  746. package/dist/_chunks/dk-QgYCviRU.mjs.map +0 -1
  747. package/dist/_chunks/dk-qvFj0oFG.js +0 -634
  748. package/dist/_chunks/dk-qvFj0oFG.js.map +0 -1
  749. package/dist/_chunks/en-LlTBXie5.mjs +0 -1035
  750. package/dist/_chunks/en-LlTBXie5.mjs.map +0 -1
  751. package/dist/_chunks/en-UdTZS0x5.js +0 -1035
  752. package/dist/_chunks/en-UdTZS0x5.js.map +0 -1
  753. package/dist/_chunks/es-h5dK2UFx.mjs +0 -796
  754. package/dist/_chunks/es-h5dK2UFx.mjs.map +0 -1
  755. package/dist/_chunks/es-hBQ_pL0X.js +0 -796
  756. package/dist/_chunks/es-hBQ_pL0X.js.map +0 -1
  757. package/dist/_chunks/eu-7yW2eEOy.mjs +0 -832
  758. package/dist/_chunks/eu-7yW2eEOy.mjs.map +0 -1
  759. package/dist/_chunks/eu-VH6nNPXY.js +0 -832
  760. package/dist/_chunks/eu-VH6nNPXY.js.map +0 -1
  761. package/dist/_chunks/fr-I-0ckcEU.mjs +0 -762
  762. package/dist/_chunks/fr-I-0ckcEU.mjs.map +0 -1
  763. package/dist/_chunks/fr-RVVsyT5B.js +0 -762
  764. package/dist/_chunks/fr-RVVsyT5B.js.map +0 -1
  765. package/dist/_chunks/gu-76mTVAc2.js +0 -623
  766. package/dist/_chunks/gu-76mTVAc2.js.map +0 -1
  767. package/dist/_chunks/gu-k2JKO75-.mjs +0 -623
  768. package/dist/_chunks/gu-k2JKO75-.mjs.map +0 -1
  769. package/dist/_chunks/he-RmtdSWtw.js +0 -326
  770. package/dist/_chunks/he-RmtdSWtw.js.map +0 -1
  771. package/dist/_chunks/he-SUOZnrPI.mjs +0 -326
  772. package/dist/_chunks/he-SUOZnrPI.mjs.map +0 -1
  773. package/dist/_chunks/hi-eUDhoDjK.mjs +0 -722
  774. package/dist/_chunks/hi-eUDhoDjK.mjs.map +0 -1
  775. package/dist/_chunks/hi-zD7tX6HS.js +0 -722
  776. package/dist/_chunks/hi-zD7tX6HS.js.map +0 -1
  777. package/dist/_chunks/hr-_CdBFPv8.js +0 -1035
  778. package/dist/_chunks/hr-_CdBFPv8.js.map +0 -1
  779. package/dist/_chunks/hr-fj72XD8M.mjs +0 -1035
  780. package/dist/_chunks/hr-fj72XD8M.mjs.map +0 -1
  781. package/dist/_chunks/hu-0pmvoLj1.js +0 -832
  782. package/dist/_chunks/hu-0pmvoLj1.js.map +0 -1
  783. package/dist/_chunks/hu-Nw7d3QWI.mjs +0 -832
  784. package/dist/_chunks/hu-Nw7d3QWI.mjs.map +0 -1
  785. package/dist/_chunks/id-xMqk-8lW.mjs +0 -448
  786. package/dist/_chunks/id-xMqk-8lW.mjs.map +0 -1
  787. package/dist/_chunks/id-yQtHASS7.js +0 -448
  788. package/dist/_chunks/id-yQtHASS7.js.map +0 -1
  789. package/dist/_chunks/index-B2pQGVY3.js +0 -19442
  790. package/dist/_chunks/index-B2pQGVY3.js.map +0 -1
  791. package/dist/_chunks/index-QXnY1tED.mjs +0 -19384
  792. package/dist/_chunks/index-QXnY1tED.mjs.map +0 -1
  793. package/dist/_chunks/index-jOX8WAPL.js +0 -938
  794. package/dist/_chunks/index-jOX8WAPL.js.map +0 -1
  795. package/dist/_chunks/index-uXEcUT9H.mjs +0 -900
  796. package/dist/_chunks/index-uXEcUT9H.mjs.map +0 -1
  797. package/dist/_chunks/it-RPJqQqp3.js +0 -459
  798. package/dist/_chunks/it-RPJqQqp3.js.map +0 -1
  799. package/dist/_chunks/it-rHB9s1La.mjs +0 -459
  800. package/dist/_chunks/it-rHB9s1La.mjs.map +0 -1
  801. package/dist/_chunks/ja-5uFhM-kW.js +0 -633
  802. package/dist/_chunks/ja-5uFhM-kW.js.map +0 -1
  803. package/dist/_chunks/ja-WD-v2aCc.mjs +0 -633
  804. package/dist/_chunks/ja-WD-v2aCc.mjs.map +0 -1
  805. package/dist/_chunks/ko-JyirX0Lo.js +0 -631
  806. package/dist/_chunks/ko-JyirX0Lo.js.map +0 -1
  807. package/dist/_chunks/ko-bqCJmLX_.mjs +0 -631
  808. package/dist/_chunks/ko-bqCJmLX_.mjs.map +0 -1
  809. package/dist/_chunks/ml-NdVWq6KA.mjs +0 -722
  810. package/dist/_chunks/ml-NdVWq6KA.mjs.map +0 -1
  811. package/dist/_chunks/ml-QqpcKQgB.js +0 -722
  812. package/dist/_chunks/ml-QqpcKQgB.js.map +0 -1
  813. package/dist/_chunks/ms-gansS54r.mjs +0 -342
  814. package/dist/_chunks/ms-gansS54r.mjs.map +0 -1
  815. package/dist/_chunks/ms-wbSWdQJ0.js +0 -342
  816. package/dist/_chunks/ms-wbSWdQJ0.js.map +0 -1
  817. package/dist/_chunks/nl--_EbnSVw.mjs +0 -828
  818. package/dist/_chunks/nl--_EbnSVw.mjs.map +0 -1
  819. package/dist/_chunks/nl-Foqdtl_-.js +0 -828
  820. package/dist/_chunks/nl-Foqdtl_-.js.map +0 -1
  821. package/dist/_chunks/no-9cS1N6hE.mjs +0 -310
  822. package/dist/_chunks/no-9cS1N6hE.mjs.map +0 -1
  823. package/dist/_chunks/no-l_d9yAQN.js +0 -310
  824. package/dist/_chunks/no-l_d9yAQN.js.map +0 -1
  825. package/dist/_chunks/pl-01EnRFRc.js +0 -721
  826. package/dist/_chunks/pl-01EnRFRc.js.map +0 -1
  827. package/dist/_chunks/pl-3EvXSIl8.mjs +0 -721
  828. package/dist/_chunks/pl-3EvXSIl8.mjs.map +0 -1
  829. package/dist/_chunks/pt-BR-8-G6vaMo.mjs +0 -794
  830. package/dist/_chunks/pt-BR-8-G6vaMo.mjs.map +0 -1
  831. package/dist/_chunks/pt-BR-F3FsQI-D.js +0 -794
  832. package/dist/_chunks/pt-BR-F3FsQI-D.js.map +0 -1
  833. package/dist/_chunks/pt-Mve7WzqZ.js +0 -296
  834. package/dist/_chunks/pt-Mve7WzqZ.js.map +0 -1
  835. package/dist/_chunks/pt-TrdDLCZ4.mjs +0 -296
  836. package/dist/_chunks/pt-TrdDLCZ4.mjs.map +0 -1
  837. package/dist/_chunks/reviewWorkflows-76a_umNy.mjs +0 -117
  838. package/dist/_chunks/reviewWorkflows-76a_umNy.mjs.map +0 -1
  839. package/dist/_chunks/reviewWorkflows-gpc93f2V.js +0 -116
  840. package/dist/_chunks/reviewWorkflows-gpc93f2V.js.map +0 -1
  841. package/dist/_chunks/ru-flezEXdc.js +0 -993
  842. package/dist/_chunks/ru-flezEXdc.js.map +0 -1
  843. package/dist/_chunks/ru-mivqkjAk.mjs +0 -993
  844. package/dist/_chunks/ru-mivqkjAk.mjs.map +0 -1
  845. package/dist/_chunks/sa-AbTtHezl.mjs +0 -722
  846. package/dist/_chunks/sa-AbTtHezl.mjs.map +0 -1
  847. package/dist/_chunks/sa-gjKCAmHv.js +0 -722
  848. package/dist/_chunks/sa-gjKCAmHv.js.map +0 -1
  849. package/dist/_chunks/sk-IoQ_DY_j.mjs +0 -690
  850. package/dist/_chunks/sk-IoQ_DY_j.mjs.map +0 -1
  851. package/dist/_chunks/sk-xA9DPcmq.js +0 -690
  852. package/dist/_chunks/sk-xA9DPcmq.js.map +0 -1
  853. package/dist/_chunks/sv-SHJ67uau.mjs +0 -827
  854. package/dist/_chunks/sv-SHJ67uau.mjs.map +0 -1
  855. package/dist/_chunks/sv-be1suA3a.js +0 -827
  856. package/dist/_chunks/sv-be1suA3a.js.map +0 -1
  857. package/dist/_chunks/th-7ExcBOpr.js +0 -430
  858. package/dist/_chunks/th-7ExcBOpr.js.map +0 -1
  859. package/dist/_chunks/th-TrS9p5eO.mjs +0 -430
  860. package/dist/_chunks/th-TrS9p5eO.mjs.map +0 -1
  861. package/dist/_chunks/tr-f8ouRTmt.mjs +0 -785
  862. package/dist/_chunks/tr-f8ouRTmt.mjs.map +0 -1
  863. package/dist/_chunks/tr-u4e0KNRe.js +0 -785
  864. package/dist/_chunks/tr-u4e0KNRe.js.map +0 -1
  865. package/dist/_chunks/transferTokens-lc9afeqD.mjs +0 -63
  866. package/dist/_chunks/transferTokens-lc9afeqD.mjs.map +0 -1
  867. package/dist/_chunks/transferTokens-oP5Jhfjf.js +0 -62
  868. package/dist/_chunks/transferTokens-oP5Jhfjf.js.map +0 -1
  869. package/dist/_chunks/uk-5Ikxxci1.js +0 -343
  870. package/dist/_chunks/uk-5Ikxxci1.js.map +0 -1
  871. package/dist/_chunks/uk-x2flwIlG.mjs +0 -343
  872. package/dist/_chunks/uk-x2flwIlG.mjs.map +0 -1
  873. package/dist/_chunks/useAdminRoles-fJpSKcg6.mjs +0 -28
  874. package/dist/_chunks/useAdminRoles-fJpSKcg6.mjs.map +0 -1
  875. package/dist/_chunks/useAdminRoles-oh0w1yyF.js +0 -46
  876. package/dist/_chunks/useAdminRoles-oh0w1yyF.js.map +0 -1
  877. package/dist/_chunks/useContentTypes-JE0rL3of.js +0 -90
  878. package/dist/_chunks/useContentTypes-JE0rL3of.js.map +0 -1
  879. package/dist/_chunks/useContentTypes-i2Y3ZAzE.mjs +0 -72
  880. package/dist/_chunks/useContentTypes-i2Y3ZAzE.mjs.map +0 -1
  881. package/dist/_chunks/useLicenseLimitNotification-BmO-UE6j.mjs +0 -80
  882. package/dist/_chunks/useLicenseLimitNotification-BmO-UE6j.mjs.map +0 -1
  883. package/dist/_chunks/useLicenseLimitNotification-iVte3d1O.js +0 -100
  884. package/dist/_chunks/useLicenseLimitNotification-iVte3d1O.js.map +0 -1
  885. package/dist/_chunks/useReviewWorkflows-79V4Wi8E.mjs +0 -27
  886. package/dist/_chunks/useReviewWorkflows-79V4Wi8E.mjs.map +0 -1
  887. package/dist/_chunks/useReviewWorkflows-AApqlDLz.js +0 -26
  888. package/dist/_chunks/useReviewWorkflows-AApqlDLz.js.map +0 -1
  889. package/dist/_chunks/useWebhooks-9KD1Lo7Z.js +0 -89
  890. package/dist/_chunks/useWebhooks-9KD1Lo7Z.js.map +0 -1
  891. package/dist/_chunks/useWebhooks-J6ctP7xE.mjs +0 -90
  892. package/dist/_chunks/useWebhooks-J6ctP7xE.mjs.map +0 -1
  893. package/dist/_chunks/validateWorkflow-nS825mHl.js +0 -1078
  894. package/dist/_chunks/validateWorkflow-nS825mHl.js.map +0 -1
  895. package/dist/_chunks/validateWorkflow-uSj3IhLm.mjs +0 -1055
  896. package/dist/_chunks/validateWorkflow-uSj3IhLm.mjs.map +0 -1
  897. package/dist/_chunks/validation-f9rGWFeU.mjs +0 -16
  898. package/dist/_chunks/validation-f9rGWFeU.mjs.map +0 -1
  899. package/dist/_chunks/validation-j25hbp81.js +0 -34
  900. package/dist/_chunks/validation-j25hbp81.js.map +0 -1
  901. package/dist/_chunks/vi-BbeHSbqs.mjs +0 -298
  902. package/dist/_chunks/vi-BbeHSbqs.mjs.map +0 -1
  903. package/dist/_chunks/vi-SYqVl8vH.js +0 -298
  904. package/dist/_chunks/vi-SYqVl8vH.js.map +0 -1
  905. package/dist/_chunks/watch-PcSCwy4F.mjs +0 -129
  906. package/dist/_chunks/watch-PcSCwy4F.mjs.map +0 -1
  907. package/dist/_chunks/watch-VFCqBlhs.js +0 -134
  908. package/dist/_chunks/watch-VFCqBlhs.js.map +0 -1
  909. package/dist/_chunks/watch-fz6DW2ww.mjs +0 -86
  910. package/dist/_chunks/watch-fz6DW2ww.mjs.map +0 -1
  911. package/dist/_chunks/watch-n2QTrRxR.js +0 -111
  912. package/dist/_chunks/watch-n2QTrRxR.js.map +0 -1
  913. package/dist/_chunks/zh-9728QXZm.js +0 -836
  914. package/dist/_chunks/zh-9728QXZm.js.map +0 -1
  915. package/dist/_chunks/zh-Hans-SHNzD0Zk.js +0 -957
  916. package/dist/_chunks/zh-Hans-SHNzD0Zk.js.map +0 -1
  917. package/dist/_chunks/zh-Hans-eY3IWdFB.mjs +0 -957
  918. package/dist/_chunks/zh-Hans-eY3IWdFB.mjs.map +0 -1
  919. package/dist/_chunks/zh-cZop7tV1.mjs +0 -836
  920. package/dist/_chunks/zh-cZop7tV1.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permissions-BgDbVLII.mjs","sources":["../../admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.ts","../../admin/src/utils/arrays.ts","../../admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/permissions.ts","../../admin/src/pages/Settings/pages/Roles/utils/forms.ts","../../admin/src/pages/Settings/pages/Roles/utils/layouts.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/constants.ts","../../admin/src/pages/Settings/pages/Roles/utils/removeConditionKeyFromData.ts","../../admin/src/pages/Settings/pages/Roles/utils/getCheckboxState.ts","../../admin/src/utils/strings.ts","../../admin/src/pages/Settings/pages/Roles/components/CollapseLabel.tsx","../../admin/src/pages/Settings/pages/Roles/components/HiddenAction.tsx","../../admin/src/pages/Settings/pages/Roles/components/RequiredSign.tsx","../../admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.tsx","../../admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsButton.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsModal.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx","../../admin/src/pages/Settings/pages/Roles/components/GlobalActions.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypes.tsx","../../admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.tsx","../../admin/src/pages/Settings/pages/Roles/components/Permissions.tsx"],"sourcesContent":["import { createContext } from '@radix-ui/react-context';\n\nimport { Condition } from '../../../../../../../shared/contracts/permissions';\n\nimport type {\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n State,\n} from '../components/Permissions';\n\n// Note: I had to guess most of these types based on the name and usage, but I actually don't\n// know if they are correct, because the usage is very generic. Feel free to correct them if\n// they create problems.\nexport interface PermissionsDataManagerContextValue extends Pick<State, 'modifiedData'> {\n availableConditions: Condition[];\n onChangeCollectionTypeLeftActionRowCheckbox: (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => void;\n onChangeConditions: (conditions: OnChangeConditionsAction['conditions']) => void;\n onChangeSimpleCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeParentCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeCollectionTypeGlobalActionCheckbox: (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => void;\n}\n\nconst [PermissionsDataManagerProvider, usePermissionsDataManagerContext] =\n createContext<PermissionsDataManagerContextValue>('PermissionsDataManager');\n\nexport const usePermissionsDataManager = () =>\n usePermissionsDataManagerContext('usePermissionsDataManager');\n\nexport { PermissionsDataManagerProvider };\n","/**\n * @internal\n * @description Mutates a value to be a union of flat values, no arrays allowed.\n */\ntype Flat<T> = T extends string ? T : T extends ArrayLike<any> ? never : T;\n\n/**\n * @internal\n */\ninterface RecursiveArray<T> extends Array<T | RecursiveArray<T>> {}\n/**\n * @internal\n */\ninterface ArrayOfRecursiveArraysOrValues<T> extends ArrayLike<T | RecursiveArray<T>> {}\n\n/**\n * @internal\n *\n * @description Flattens an array recursively.\n */\nconst flattenDeep = <T>(\n array?: ArrayOfRecursiveArraysOrValues<T> | null | undefined\n): Array<Flat<T>> => {\n if (Array.isArray(array)) {\n return array.reduce((acc, value) => {\n if (Array.isArray(value)) {\n acc.push(...flattenDeep(value));\n } else {\n acc.push(value);\n }\n\n return acc;\n }, [] as Array<Flat<T>>);\n } else {\n return [];\n }\n};\n\nexport { flattenDeep };\nexport type { Flat, RecursiveArray, ArrayOfRecursiveArraysOrValues };\n","import { Flat, flattenDeep } from '../../../../../utils/arrays';\nimport { isObject } from '../../../../../utils/objects';\n\nconst createArrayOfValues = <TData>(obj: unknown): Array<Flat<TData>> => {\n if (!isObject(obj)) {\n return [];\n }\n\n return flattenDeep(\n Object.values(obj).map((value) => {\n if (isObject(value)) {\n return createArrayOfValues(value);\n }\n\n return value;\n })\n );\n};\n\nexport { createArrayOfValues };\n","import { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n\nimport type { ConditionForm, Form, PropertyChildForm } from './forms';\nimport type { UpdatePermissions } from '../../../../../../../shared/contracts/roles';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\nimport type { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\n\ntype PermissionApiBody = UpdatePermissions.Request['body']['permissions'];\n\n/**\n * @description Given a users permissions array we find the first one that matches a provided subject & action\n */\nconst findMatchingPermission = (\n permissions: Permission[],\n action: string,\n subject: string | null\n) => permissions.find((perm) => perm.action === action && perm.subject === subject);\n\nconst formatPermissionsForAPI = (\n modifiedData: PermissionsDataManagerContextValue['modifiedData']\n): PermissionApiBody => {\n const pluginsPermissions = formatSettingsPermissions(modifiedData.plugins);\n const settingsPermissions = formatSettingsPermissions(modifiedData.settings);\n const collectionTypesPermissions = formatContentTypesPermissions(modifiedData.collectionTypes);\n const singleTypesPermissions = formatContentTypesPermissions(modifiedData.singleTypes);\n\n return [\n ...pluginsPermissions,\n ...settingsPermissions,\n ...collectionTypesPermissions,\n ...singleTypesPermissions,\n ];\n};\n\nconst formatSettingsPermissions = (\n settingsPermissionsObject:\n | PermissionsDataManagerContextValue['modifiedData']['plugins']\n | PermissionsDataManagerContextValue['modifiedData']['settings']\n): PermissionApiBody => {\n return Object.values(settingsPermissionsObject).reduce<PermissionApiBody>((formAcc, form) => {\n const currentCategoryPermissions = Object.values(form).reduce<PermissionApiBody>(\n (childFormAcc, childForm) => {\n const permissions = Object.entries(childForm).reduce<PermissionApiBody>(\n (\n responsesAcc,\n [\n actionName,\n {\n conditions,\n properties: { enabled },\n },\n ]\n ) => {\n if (!enabled) {\n return responsesAcc;\n }\n\n responsesAcc.push({\n action: actionName,\n subject: null,\n conditions: createConditionsArray(conditions),\n properties: {},\n });\n\n return responsesAcc;\n },\n []\n );\n\n return [...childFormAcc, ...permissions];\n },\n []\n );\n\n return [...formAcc, ...currentCategoryPermissions];\n }, []);\n};\n\nconst formatContentTypesPermissions = (contentTypesPermissions: Form): PermissionApiBody => {\n const permissions = Object.entries(contentTypesPermissions).reduce<PermissionApiBody>(\n (allPermissions, current) => {\n const [subject, currentSubjectActions] = current;\n\n const permissions = Object.entries(currentSubjectActions).reduce<PermissionApiBody>(\n (acc, current) => {\n const [actionName, permissions] = current;\n const shouldCreatePermission = createArrayOfValues(permissions).some((val) => val);\n\n if (!shouldCreatePermission) {\n return acc;\n }\n\n if (!permissions?.properties?.enabled) {\n const createdPermissionsArray = Object.entries(permissions.properties).reduce<\n PermissionApiBody[number]\n >(\n (acc, current) => {\n const [propertyName, propertyValue] = current;\n\n // @ts-expect-error – `propertyValue` can be boolean or an object, but we don't account for it...\n acc.properties[propertyName] = createPropertyArray(propertyValue);\n\n return acc;\n },\n {\n action: actionName,\n subject,\n conditions: createConditionsArray(permissions.conditions),\n properties: {},\n }\n );\n\n return [...acc, createdPermissionsArray];\n }\n\n if (!permissions.properties.enabled) {\n return acc;\n }\n\n acc.push({\n action: actionName,\n subject,\n properties: {},\n conditions: createConditionsArray(permissions.conditions),\n });\n\n return acc;\n },\n []\n );\n\n return [...allPermissions, ...permissions];\n },\n []\n );\n\n return permissions;\n};\n\nconst createPropertyArray = (propertyValue: PropertyChildForm, prefix = ''): string[] => {\n return Object.entries(propertyValue).reduce<string[]>((acc, current) => {\n const [name, value] = current;\n\n if (isObject(value)) {\n return [...acc, ...createPropertyArray(value, `${prefix}${name}.`)];\n }\n\n if (value && !isObject(value)) {\n acc.push(`${prefix}${name}`);\n }\n\n return acc;\n }, []);\n};\n\nconst createConditionsArray = (conditions: ConditionForm) =>\n Object.entries(conditions)\n .filter(([, conditionValue]) => {\n return conditionValue;\n })\n .map(([conditionName]) => conditionName);\n\nexport { findMatchingPermission, formatPermissionsForAPI };\n","import isEmpty from 'lodash/isEmpty';\nimport merge from 'lodash/merge';\n\nimport { findMatchingPermission } from './permissions';\n\nimport type { GenericLayout } from './layouts';\nimport type {\n Condition,\n SettingPermission,\n ContentPermission,\n Subject,\n SubjectProperty,\n} from '../../../../../../../shared/contracts/permissions';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\n\ntype ConditionForm = Record<string, boolean>;\n\n/**\n * Creates the default condition form: { [conditionId]: false }\n */\nconst createDefaultConditionsForm = (\n conditions: Condition[],\n initialConditions: Permission['conditions'] = []\n): ConditionForm =>\n conditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = initialConditions.indexOf(current.id) !== -1;\n\n return acc;\n }, {});\n\ninterface SubCategoryForm {\n properties: {\n enabled: boolean;\n };\n conditions: ConditionForm;\n}\n\ntype ChildrenForm = Record<\n string,\n SubCategoryForm | (Omit<SubCategoryForm, 'properties'> & PropertyForm)\n>;\n\ntype Form = Record<string, ChildrenForm>;\n\nconst createDefaultForm = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: GenericLayout<TLayout>[],\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return layout.reduce<Record<string, Form>>((acc, { categoryId, childrenForm }) => {\n const childrenDefaultForm = childrenForm.reduce<Form>((acc, current) => {\n acc[current.subCategoryId] = current.actions.reduce<ChildrenForm>((acc, current) => {\n const foundMatchingPermission = findMatchingPermission(\n initialPermissions,\n current.action,\n null\n );\n\n acc[current.action] = {\n properties: {\n enabled: foundMatchingPermission !== undefined,\n },\n conditions: createDefaultConditionsForm(\n conditions,\n foundMatchingPermission?.conditions ?? []\n ),\n };\n\n return acc;\n }, {});\n\n return acc;\n }, {});\n\n acc[categoryId] = childrenDefaultForm;\n\n return acc;\n }, {});\n};\n\ninterface PropertyChildForm extends Record<string, boolean | PropertyChildForm> {}\n\ninterface PropertyForm {\n properties: PropertyChildForm;\n}\n\n/**\n * Creates the default form for all the properties found in a content type's layout\n */\nconst createDefaultPropertiesForm = (\n properties: string[],\n subject: Subject,\n matchingPermission?: Permission\n): PropertyForm => {\n const recursivelyCreatePropertyForm = (\n { children = [] }: SubjectProperty,\n propertyValues: string[],\n prefix = ''\n ): PropertyChildForm => {\n return children.reduce<PropertyChildForm>((acc, current) => {\n if (current.children) {\n return {\n ...acc,\n [current.value]: recursivelyCreatePropertyForm(\n current,\n propertyValues,\n `${prefix}${current.value}.`\n ),\n };\n }\n\n const hasProperty = propertyValues.indexOf(`${prefix}${current.value}`) !== -1;\n\n acc[current.value] = hasProperty;\n\n return acc;\n }, {});\n };\n\n return properties.reduce<PropertyForm>(\n (acc, currentPropertyName) => {\n const foundProperty = subject.properties.find(({ value }) => value === currentPropertyName);\n\n if (foundProperty) {\n const matchingPermissionPropertyValues =\n matchingPermission?.properties[foundProperty.value] ?? [];\n\n const propertyForm = recursivelyCreatePropertyForm(\n foundProperty,\n matchingPermissionPropertyValues\n );\n\n acc.properties[currentPropertyName] = propertyForm;\n }\n\n return acc;\n },\n { properties: {} }\n );\n};\n\n/**\n * Creates the default for for a content type\n */\nconst createDefaultCTForm = (\n { subjects, actions = [] }: ContentPermission,\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return actions.reduce<Form>((defaultForm, action) => {\n type SubjectLayouts = Record<string, Subject>;\n\n const subjectLayouts = action.subjects.reduce<SubjectLayouts>((acc, current) => {\n const foundLayout = subjects.find(({ uid }) => uid === current) || null;\n\n if (foundLayout) {\n acc[current] = foundLayout;\n }\n\n return acc;\n }, {});\n\n // This can happen when an action is not related to a content type\n // for instance the D&P permission is applied only with the cts that\n // have the D&P features enabled\n if (isEmpty(subjectLayouts)) {\n return defaultForm;\n }\n\n // The object has the following shape: { [ctUID]: { [actionId]: { [property]: { enabled: false } } } }\n const contentTypesActions = Object.keys(subjectLayouts).reduce<Form>((acc, currentCTUID) => {\n const { actionId, applyToProperties } = action;\n const currentSubjectLayout = subjectLayouts[currentCTUID];\n const properties = currentSubjectLayout.properties.map(({ value }) => value);\n const doesNothaveProperty = properties.every(\n (property) => (applyToProperties || []).indexOf(property) === -1\n );\n\n const matchingPermission = findMatchingPermission(initialPermissions, actionId, currentCTUID);\n const conditionsForm = createDefaultConditionsForm(\n conditions,\n matchingPermission?.conditions ?? []\n );\n\n if (!acc[currentCTUID]) {\n acc[currentCTUID] = {};\n }\n\n if (isEmpty(applyToProperties) || doesNothaveProperty) {\n acc[currentCTUID][actionId] = {\n properties: {\n enabled: matchingPermission !== undefined,\n },\n conditions: conditionsForm,\n };\n\n return acc;\n }\n\n const propertiesForm = createDefaultPropertiesForm(\n applyToProperties,\n subjectLayouts[currentCTUID],\n matchingPermission\n );\n\n acc[currentCTUID][actionId] = { ...propertiesForm, conditions: conditionsForm };\n\n return acc;\n }, {});\n\n return merge(defaultForm, contentTypesActions);\n }, {});\n};\n\nexport { createDefaultConditionsForm, createDefaultForm, createDefaultCTForm };\nexport type { ConditionForm, Form, PropertyForm, SubCategoryForm, ChildrenForm, PropertyChildForm };\n","import groupBy from 'lodash/groupBy';\n\nimport { SettingPermission } from '../../../../../../../shared/contracts/permissions';\n\ninterface GenericLayout<TLayout> {\n category: string;\n categoryId: string;\n childrenForm: Array<{\n subCategoryName: string;\n subCategoryId: string;\n actions: TLayout[];\n }>;\n}\n\nconst formatLayout = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: TLayout[],\n groupByKey: keyof TLayout\n): GenericLayout<TLayout>[] => {\n return Object.entries(groupBy(layout, groupByKey)).map(([itemName, item]) => ({\n category: itemName,\n categoryId: itemName.split(' ').join('-'),\n childrenForm: Object.entries(groupBy(item, 'subCategory')).map(\n ([subCategoryName, actions]) => ({\n subCategoryName,\n subCategoryId: subCategoryName.split(' ').join('-'),\n actions,\n })\n ),\n }));\n};\n\nexport { formatLayout };\nexport type { GenericLayout };\n","import has from 'lodash/has';\nimport omit from 'lodash/omit';\n\nimport { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n/**\n * Changes all the conditions leaf when the properties are all falsy\n */\nconst updateConditionsToFalse = (obj: object): object => {\n return Object.keys(obj).reduce((acc, current) => {\n // @ts-expect-error – TODO: type better\n const currentValue = obj[current];\n\n if (isObject(currentValue) && !has(currentValue, 'conditions')) {\n return { ...acc, [current]: updateConditionsToFalse(currentValue) };\n }\n\n if (isObject(currentValue) && has(currentValue, 'conditions')) {\n const isActionEnabled = createArrayOfValues(omit(currentValue, 'conditions')).some(\n (val) => val\n );\n\n if (!isActionEnabled) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = Object.keys(currentValue.conditions).reduce((acc1, current) => {\n // @ts-expect-error – TODO: type better\n acc1[current] = false;\n\n return acc1;\n }, {});\n\n return { ...acc, [current]: { ...currentValue, conditions: updatedConditions } };\n }\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }, {});\n};\n\nexport { updateConditionsToFalse };\n","import { isObject } from '../../../../../utils/objects';\n\n/**\n * Sets all the none object values of an object to the given one\n * It preserves the shape of the object, it only modifies the leafs\n * of an object.\n * This utility is very helpful when dealing with parent<>children checkboxes\n */\nconst updateValues = (obj: object, valueToSet: boolean, isFieldUpdate = false): object => {\n return Object.keys(obj).reduce((acc, current) => {\n const currentValue = obj[current as keyof object];\n\n if (current === 'conditions' && !isFieldUpdate) {\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }\n\n if (isObject(currentValue)) {\n return { ...acc, [current]: updateValues(currentValue, valueToSet, current === 'fields') };\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = valueToSet;\n\n return acc;\n }, {});\n};\n\nexport { updateValues };\n","export const cellWidth = `${120 / 16}rem`;\nexport const firstRowWidth = `${200 / 16}rem`;\nexport const rowHeight = `${53 / 16}rem`;\n","type DataWithoutCondition<TData extends { conditions?: unknown }> = Omit<TData, 'conditions'>;\n\nconst removeConditionKeyFromData = <TData extends { conditions?: unknown }>(\n obj?: TData\n): DataWithoutCondition<TData> | null => {\n if (!obj) {\n return null;\n }\n\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (key !== 'conditions') {\n // @ts-expect-error – TODO: fix this type error correctly.\n acc[key] = value;\n }\n\n return acc;\n }, {} as DataWithoutCondition<TData>);\n};\n\nexport { removeConditionKeyFromData };\nexport type { DataWithoutCondition };\n","import { createArrayOfValues } from './createArrayOfValues';\nimport { removeConditionKeyFromData } from './removeConditionKeyFromData';\n\ninterface RecursiveRecordOfBooleans extends Record<string, boolean | RecursiveRecordOfBooleans> {}\n\nconst getCheckboxState = (dataObj: RecursiveRecordOfBooleans) => {\n const dataWithoutCondition = removeConditionKeyFromData(dataObj);\n\n const arrayOfValues = createArrayOfValues(dataWithoutCondition);\n\n if (!arrayOfValues.length) {\n return { hasAllActionsSelected: false, hasSomeActionsSelected: false };\n }\n\n const hasAllActionsSelected = arrayOfValues.every((val) => val);\n const hasSomeActionsSelected = arrayOfValues.some((val) => val) && !hasAllActionsSelected;\n\n return { hasAllActionsSelected, hasSomeActionsSelected };\n};\n\nexport { getCheckboxState };\nexport type { RecursiveRecordOfBooleans };\n","const capitalise = (str: string): string => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport { capitalise };\n","import { Flex } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nconst CollapseLabel = styled(Flex)<{ isCollapsable: boolean }>`\n padding-right: ${({ theme }) => theme.spaces[2]};\n overflow: hidden;\n flex: 1;\n ${({ isCollapsable }) => isCollapsable && 'cursor: pointer;'}\n`;\n\nexport { CollapseLabel };\n","import styled from 'styled-components';\n\nimport { cellWidth } from '../utils/constants';\n\nconst HiddenAction = styled.div`\n width: ${cellWidth};\n`;\n\nexport { HiddenAction };\n","import { Box } from '@strapi/design-system';\n\nconst RequiredSign = () => (\n <Box color=\"danger700\" paddingLeft={1}>\n *\n </Box>\n);\n\nexport { RequiredSign };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\nimport { firstRowWidth } from '../utils/constants';\n\nimport { CollapseLabel } from './CollapseLabel';\n\ninterface RowLabelWithCheckboxProps {\n children: React.ReactNode;\n checkboxName?: string;\n isActive?: boolean;\n isCollapsable?: boolean;\n isFormDisabled?: boolean;\n label: string;\n onChange: PermissionsDataManagerContextValue['onChangeParentCheckbox'];\n onClick: () => void;\n someChecked?: boolean;\n value: boolean;\n}\n\nconst RowLabelWithCheckbox = ({\n checkboxName = '',\n children,\n isActive = false,\n isCollapsable = false,\n isFormDisabled = false,\n label,\n onChange,\n onClick,\n someChecked = false,\n value,\n}: RowLabelWithCheckboxProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex alignItems=\"center\" paddingLeft={6} width={firstRowWidth} shrink={0}>\n <Box paddingRight={2}>\n <BaseCheckbox\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n { label }\n )}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) =>\n onChange({\n target: {\n name: checkboxName,\n value,\n },\n })\n }\n indeterminate={someChecked}\n value={value}\n />\n </Box>\n <CollapseLabel\n title={label}\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n {...(isCollapsable && {\n onClick,\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) => (key === 'Enter' || key === ' ') && onClick(),\n tabIndex: 0,\n role: 'button',\n })}\n >\n <Typography\n fontWeight={isActive ? 'bold' : undefined}\n textColor={isActive ? 'primary600' : 'neutral800'}\n ellipsis\n >\n {capitalise(label)}\n </Typography>\n {children}\n </CollapseLabel>\n </Flex>\n );\n};\n\nexport { RowLabelWithCheckbox };\nexport type { RowLabelWithCheckboxProps };\n","import React, { useMemo } from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { CarretDown } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme, css } from 'styled-components';\n\nimport { Action, SubjectProperty } from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth, rowHeight } from '../utils/constants';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapseLabel } from './CollapseLabel';\nimport { HiddenAction } from './HiddenAction';\nimport { RequiredSign } from './RequiredSign';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsePropertyMatrix\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapsePropertyMatrixProps\n extends Pick<\n ActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'label' | 'pathToData' | 'propertyName'\n > {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n}\n\ninterface PropertyAction {\n label: string;\n actionId: string;\n isActionRelatedToCurrentProperty: boolean;\n}\n\nconst CollapsePropertyMatrix = ({\n availableActions = [],\n childrenForm = [],\n isFormDisabled,\n label,\n pathToData,\n propertyName,\n}: CollapsePropertyMatrixProps) => {\n const propertyActions = useMemo(\n () =>\n availableActions.map((action) => {\n const isActionRelatedToCurrentProperty =\n Array.isArray(action.applyToProperties) &&\n action.applyToProperties.indexOf(propertyName) !== -1 &&\n action.isDisplayed;\n\n return { label: action.label, actionId: action.actionId, isActionRelatedToCurrentProperty };\n }) satisfies PropertyAction[],\n [availableActions, propertyName]\n );\n\n return (\n <Flex display=\"inline-flex\" direction=\"column\" minWidth={0}>\n <Header label={label} headers={propertyActions} />\n <Box>\n {childrenForm.map(({ children: childrenForm, label, value, required }, i) => (\n <ActionRow\n childrenForm={childrenForm}\n key={value}\n label={label}\n isFormDisabled={isFormDisabled}\n name={value}\n required={required}\n propertyActions={propertyActions}\n pathToData={pathToData}\n propertyName={propertyName}\n isOdd={i % 2 === 0}\n />\n ))}\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps\n extends Pick<\n SubActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'propertyActions' | 'propertyName'\n > {\n label: string;\n name: string;\n required?: boolean;\n pathToData: string;\n isOdd?: boolean;\n}\n\nconst ActionRow = ({\n childrenForm = [],\n label,\n isFormDisabled = false,\n name,\n required = false,\n pathToData,\n propertyActions,\n propertyName,\n isOdd = false,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n const {\n modifiedData,\n onChangeCollectionTypeLeftActionRowCheckbox,\n onChangeParentCheckbox,\n onChangeSimpleCheckbox,\n } = usePermissionsDataManager();\n\n const isActive = rowToOpen === name;\n\n const recursiveChildren = useMemo(() => {\n if (!Array.isArray(childrenForm)) {\n return [];\n }\n\n return childrenForm;\n }, [childrenForm]);\n\n const isCollapsable = recursiveChildren.length > 0;\n\n const handleClick = React.useCallback(() => {\n if (isCollapsable) {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n }\n }, [isCollapsable, name]);\n\n const handleChangeLeftRowCheckbox: RowLabelWithCheckboxProps['onChange'] = ({\n target: { value },\n }) => {\n onChangeCollectionTypeLeftActionRowCheckbox(pathToData, propertyName, name, value);\n };\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = useMemo(() => {\n return getRowLabelCheckboxState(propertyActions, modifiedData, pathToData, propertyName, name);\n }, [propertyActions, modifiedData, pathToData, propertyName, name]);\n\n return (\n <>\n <Wrapper\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n isActive={isActive}\n background={isOdd ? 'neutral100' : 'neutral0'}\n >\n <Flex>\n <RowLabelWithCheckbox\n onChange={handleChangeLeftRowCheckbox}\n onClick={handleClick}\n isCollapsable={isCollapsable}\n isFormDisabled={isFormDisabled}\n label={label}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </RowLabelWithCheckbox>\n <Flex>\n {propertyActions.map(({ label, isActionRelatedToCurrentProperty, actionId }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={label} />;\n }\n\n const checkboxName = [\n ...pathToData.split('..'),\n actionId,\n 'properties',\n propertyName,\n name,\n ];\n\n if (!isCollapsable) {\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n return (\n <Flex\n key={actionId}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const data = get(modifiedData, checkboxName, {});\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(data);\n\n return (\n <Flex\n key={label}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n })}\n </Flex>\n </Flex>\n </Wrapper>\n {isActive && (\n <SubActionRow\n childrenForm={recursiveChildren}\n isFormDisabled={isFormDisabled}\n parentName={name}\n pathToDataFromActionRow={pathToData}\n propertyName={propertyName}\n propertyActions={propertyActions}\n recursiveLevel={0}\n />\n )}\n </>\n );\n};\n\n/**\n *\n * Returns the state of the left checkbox of a ActionRow main checkbox\n */\nconst getRowLabelCheckboxState = (\n propertyActions: PropertyAction[],\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToContentType: string,\n propertyToCheck: string,\n targetKey: string\n) => {\n const actionIds = propertyActions.reduce<string[]>((acc, current) => {\n if (current.isActionRelatedToCurrentProperty) {\n acc.push(current.actionId);\n }\n\n return acc;\n }, []);\n\n const data = actionIds.reduce<Record<string, boolean>>((acc, current) => {\n const mainData = get(\n modifiedData,\n [...pathToContentType.split('..'), current, 'properties', propertyToCheck, targetKey],\n false\n );\n\n acc[current] = mainData;\n\n return acc;\n }, {});\n\n return getCheckboxState(data);\n};\n\nconst Wrapper = styled(Flex)<{ isCollapsable?: boolean; isActive?: boolean }>`\n height: ${rowHeight};\n flex: 1;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst CarretIcon = styled(CarretDown)<{ $isActive: boolean }>`\n display: none;\n width: ${10 / 16}rem;\n transform: rotate(${({ $isActive }) => ($isActive ? '180' : '0')}deg);\n margin-left: ${({ theme }) => theme.spaces[2]};\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SubActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubActionRowProps {\n childrenForm: SubjectProperty['children'];\n isFormDisabled?: boolean;\n parentName: string;\n pathToDataFromActionRow: string;\n propertyActions: PropertyAction[];\n propertyName: string;\n recursiveLevel: number;\n}\n\nconst SubActionRow = ({\n childrenForm = [],\n isFormDisabled,\n recursiveLevel,\n pathToDataFromActionRow,\n propertyActions,\n parentName,\n propertyName,\n}: SubActionRowProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleSubLevel = (name: string) => {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n };\n\n const displayedRecursiveChildren = useMemo(() => {\n if (!rowToOpen) {\n return null;\n }\n\n return childrenForm.find(({ value }) => value === rowToOpen);\n }, [rowToOpen, childrenForm]);\n\n return (\n <Box paddingLeft={`2rem`}>\n <TopTimeline />\n {childrenForm.map(({ label, value, required, children: subChildrenForm }, index) => {\n const isVisible = index + 1 < childrenForm.length;\n const isArrayType = Array.isArray(subChildrenForm);\n const isActive = rowToOpen === value;\n\n return (\n <LeftBorderTimeline key={value} isVisible={isVisible}>\n <Flex height={rowHeight}>\n <StyledBox>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n color=\"primary200\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n fill=\"#D9D8FF\"\n />\n </Svg>\n </StyledBox>\n <Flex style={{ flex: 1 }}>\n <RowStyle level={recursiveLevel} isActive={isActive} isCollapsable={isArrayType}>\n <CollapseLabel\n alignItems=\"center\"\n isCollapsable={isArrayType}\n {...(isArrayType && {\n onClick: () => handleClickToggleSubLevel(value),\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) =>\n (key === 'Enter' || key === ' ') && handleClickToggleSubLevel(value),\n tabIndex: 0,\n role: 'button',\n })}\n title={label}\n >\n <Typography ellipsis>{capitalise(label)}</Typography>\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </CollapseLabel>\n </RowStyle>\n <Flex style={{ flex: 1 }}>\n {propertyActions.map(\n ({ actionId, label: propertyLabel, isActionRelatedToCurrentProperty }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={actionId} />;\n }\n /*\n * Usually we use a 'dot' in order to know the key path of an object for which we want to change the value.\n * Since an action and a subject are both separated by '.' or '::' we chose to use the '..' separators\n */\n const checkboxName = [\n ...pathToDataFromActionRow.split('..'),\n actionId,\n 'properties',\n propertyName,\n ...parentName.split('..'),\n value,\n ];\n\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n if (!subChildrenForm) {\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const { hasAllActionsSelected, hasSomeActionsSelected } =\n getCheckboxState(checkboxValue);\n\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n key={propertyLabel}\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n }\n )}\n </Flex>\n </Flex>\n </Flex>\n {displayedRecursiveChildren && isActive && (\n <Box paddingBottom={2}>\n <SubActionRow\n isFormDisabled={isFormDisabled}\n parentName={`${parentName}..${value}`}\n pathToDataFromActionRow={pathToDataFromActionRow}\n propertyActions={propertyActions}\n propertyName={propertyName}\n recursiveLevel={recursiveLevel + 1}\n childrenForm={displayedRecursiveChildren.children}\n />\n </Box>\n )}\n </LeftBorderTimeline>\n );\n })}\n </Box>\n );\n};\n\nconst LeftBorderTimeline = styled(Box)<{ isVisible?: boolean }>`\n border-left: ${({ isVisible, theme }) =>\n isVisible ? `4px solid ${theme.colors.primary200}` : '4px solid transparent'};\n`;\n\nconst RowStyle = styled(Flex)<{ level: number; isCollapsable?: boolean; isActive?: boolean }>`\n padding-left: ${({ theme }) => theme.spaces[4]};\n width: ${({ level }) => 145 - level * 36}px;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst TopTimeline = styled.div`\n padding-top: ${({ theme }) => theme.spaces[2]};\n margin-top: ${({ theme }) => theme.spaces[2]};\n width: ${4 / 16}rem;\n background-color: ${({ theme }) => theme.colors.primary200};\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n`;\n\nconst StyledBox = styled(Box)`\n transform: translate(-4px, -12px);\n\n &:before {\n content: '';\n width: ${4 / 16}rem;\n height: ${12 / 16}rem;\n background: ${({ theme }) => theme.colors.primary200};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<{ color: keyof DefaultTheme['colors'] }>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n headers?: PropertyAction[];\n label: string;\n}\n\nconst Header = ({ headers = [], label }: HeaderProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex>\n <Flex width={firstRowWidth} height={rowHeight} shrink={0} alignItems=\"center\" paddingLeft={6}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage(\n {\n id: 'Settings.roles.form.permission.property-label',\n defaultMessage: '{label} permissions',\n },\n { label }\n )}\n </Typography>\n </Flex>\n {headers.map((header) => {\n if (!header.isActionRelatedToCurrentProperty) {\n return <Flex width={cellWidth} shrink={0} key={header.label} />;\n }\n\n return (\n <Flex width={cellWidth} shrink={0} justifyContent=\"center\" key={header.label}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${header.label.toLowerCase()}`,\n defaultMessage: header.label,\n })}\n </Typography>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * activeStyle (util)\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n */\nconst activeStyle = (theme: DefaultTheme) => css`\n ${Typography} {\n color: ${theme.colors.primary600};\n font-weight: ${theme.fontWeights.bold};\n }\n ${CarretIcon} {\n display: block;\n\n path {\n fill: ${theme.colors.primary600};\n }\n }\n`;\n\nexport { activeStyle as _internalActiveStyle };\nexport { CollapsePropertyMatrix };\n","import { Box, Button, ButtonProps } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\ninterface ConditionsButtonProps extends Pick<ButtonProps, 'className' | 'onClick' | 'variant'> {\n hasConditions?: boolean;\n}\n\nconst ConditionsButtonImpl = ({\n onClick,\n className,\n hasConditions = false,\n variant = 'tertiary',\n}: ConditionsButtonProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <ButtonContainer hasConditions={hasConditions} className={className}>\n <Button variant={variant} startIcon={<Cog />} onClick={onClick}>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Button>\n </ButtonContainer>\n );\n};\n\ninterface ButtonContainerProps extends Pick<ConditionsButtonProps, 'hasConditions'> {\n disabled?: boolean;\n}\n\nconst ButtonContainer = styled(Box)<ButtonContainerProps>`\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: -3px;\n left: -10px;\n width: 6px;\n height: 6px;\n border-radius: ${20 / 16}rem;;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\n/**\n * We reference the component directly in other styled-components\n * and as such we need it to have a className already assigned.\n * Therefore we wrapped the implementation in a styled function.\n */\nconst ConditionsButton = styled(ConditionsButtonImpl)``;\n\nexport { ConditionsButton };\nexport type { ConditionsButtonProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n ModalLayoutProps,\n MultiSelectNested,\n MultiSelectNestedProps,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport produce from 'immer';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\n\nimport type { HiddenCheckboxAction, VisibleCheckboxAction } from './ContentTypeCollapses';\nimport type { ConditionForm } from '../utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * ConditionsModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConditionAction extends Pick<ActionRowProps, 'label'> {\n actionId: string;\n isDisplayed: boolean;\n hasSomeActionsSelected?: boolean;\n hasAllActionsSelected?: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface ConditionsModalProps extends Pick<ActionRowProps, 'isFormDisabled'> {\n actions?: Array<ConditionAction | HiddenCheckboxAction | VisibleCheckboxAction>;\n headerBreadCrumbs?: string[];\n onClosed: ModalLayoutProps['onClose'];\n onToggle: () => void;\n}\n\nconst ConditionsModal = ({\n actions = [],\n headerBreadCrumbs = [],\n isFormDisabled,\n onClosed,\n onToggle,\n}: ConditionsModalProps) => {\n const { formatMessage } = useIntl();\n const { availableConditions, modifiedData, onChangeConditions } = usePermissionsDataManager();\n\n const arrayOfOptionsGroupedByCategory = React.useMemo(() => {\n return Object.entries(groupBy(availableConditions, 'category'));\n }, [availableConditions]);\n\n const actionsToDisplay = actions.filter<VisibleCheckboxAction | ConditionAction>(\n // @ts-expect-error – TODO: fix this type issue\n ({ isDisplayed, hasSomeActionsSelected, hasAllActionsSelected }) =>\n isDisplayed && Boolean(hasSomeActionsSelected || hasAllActionsSelected)\n );\n\n const [state, setState] = React.useState(\n createDefaultConditionsForm(actionsToDisplay, modifiedData, arrayOfOptionsGroupedByCategory)\n );\n\n const handleChange = (name: string, values: ConditionForm) => {\n setState(\n produce((draft) => {\n if (!draft[name]) {\n draft[name] = {};\n }\n\n if (!draft[name].default) {\n draft[name].default = {};\n }\n\n draft[name].default = values;\n })\n );\n };\n\n const handleSubmit = () => {\n const conditionsWithoutCategory = Object.entries(state).reduce<Record<string, ConditionForm>>(\n (acc, current) => {\n const [key, value] = current;\n\n const merged = Object.values(value).reduce((acc1, current1) => {\n return { ...acc1, ...current1 };\n }, {});\n\n acc[key] = merged;\n\n return acc;\n },\n {}\n );\n\n onChangeConditions(conditionsWithoutCategory);\n onToggle();\n };\n\n return (\n <ModalLayout labelledBy=\"condition-modal-breadcrumbs\" onClose={onClosed}>\n <ModalHeader>\n <Breadcrumbs id=\"condition-modal-breadcrumbs\" label={headerBreadCrumbs.join(', ')}>\n {headerBreadCrumbs.map((label, index, arr) => (\n <Crumb isCurrent={index === arr.length - 1} key={label}>\n {upperFirst(\n formatMessage({\n id: label,\n defaultMessage: label,\n })\n )}\n </Crumb>\n ))}\n </Breadcrumbs>\n </ModalHeader>\n <ModalBody>\n {actionsToDisplay.length === 0 && (\n <Typography>\n {formatMessage({\n id: 'Settings.permissions.conditions.no-actions',\n defaultMessage:\n 'You first need to select actions (create, read, update, ...) before defining conditions on them.',\n })}\n </Typography>\n )}\n <ul>\n {actionsToDisplay.map(({ actionId, label, pathToConditionsObject }, index) => {\n const name = pathToConditionsObject.join('..');\n\n return (\n <ActionRow\n key={actionId}\n arrayOfOptionsGroupedByCategory={arrayOfOptionsGroupedByCategory}\n label={label}\n isFormDisabled={isFormDisabled}\n isGrey={index % 2 === 0}\n name={name}\n onChange={handleChange}\n value={get(state, name, {})}\n />\n );\n })}\n </ul>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle}>\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button onClick={handleSubmit}>\n {formatMessage({\n id: 'Settings.permissions.conditions.apply',\n defaultMessage: 'Apply',\n })}\n </Button>\n }\n />\n </ModalLayout>\n );\n};\n\nconst createDefaultConditionsForm = (\n actionsToDisplay: Array<ConditionAction | VisibleCheckboxAction>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n arrayOfOptionsGroupedByCategory: ActionRowProps['arrayOfOptionsGroupedByCategory']\n) => {\n return actionsToDisplay.reduce<Record<string, Record<string, ConditionForm>>>((acc, current) => {\n const valueFromModifiedData: ConditionForm = get(\n modifiedData,\n [...current.pathToConditionsObject, 'conditions'],\n {}\n );\n\n const categoryDefaultForm = arrayOfOptionsGroupedByCategory.reduce<\n Record<string, ConditionForm>\n >((acc, current) => {\n const [categoryName, relatedConditions] = current;\n\n const conditionsForm = relatedConditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = get(valueFromModifiedData, current.id, false);\n\n return acc;\n }, {});\n\n acc[categoryName] = conditionsForm;\n\n return acc;\n }, {});\n\n acc[current.pathToConditionsObject.join('..')] = categoryDefaultForm;\n\n return acc;\n }, {});\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps {\n arrayOfOptionsGroupedByCategory: Array<\n [string, PermissionsDataManagerContextValue['availableConditions']]\n >;\n isFormDisabled?: boolean;\n isGrey?: boolean;\n label: string;\n name: string;\n onChange?: (name: string, values: Record<string, boolean>) => void;\n value: Record<string, ConditionForm>;\n}\n\nconst ActionRow = ({\n arrayOfOptionsGroupedByCategory,\n isFormDisabled = false,\n isGrey = false,\n label,\n name,\n onChange,\n value,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange: MultiSelectNestedProps['onChange'] = (val) => {\n if (onChange) {\n onChange(name, getNewStateFromChangedValues(arrayOfOptionsGroupedByCategory, val));\n }\n };\n\n return (\n <Flex as=\"li\" background={isGrey ? 'neutral100' : 'neutral0'} paddingBottom={3} paddingTop={3}>\n <Flex paddingLeft={6} style={{ width: 180 }}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.permissions.conditions.can',\n defaultMessage: 'Can',\n })}\n &nbsp;\n </Typography>\n <Typography variant=\"sigma\" title={label} textColor=\"primary600\" ellipsis>\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n &nbsp;\n {formatMessage({\n id: 'Settings.permissions.conditions.when',\n defaultMessage: 'When',\n })}\n </Typography>\n </Flex>\n <Box style={{ maxWidth: 430, width: '100%' }}>\n {/* @ts-expect-error – fix this label issue */}\n <MultiSelectNested\n id={name}\n customizeContent={(values = []) => `${values.length} currently selected`}\n onChange={handleChange}\n value={getSelectedValues(value)}\n options={getNestedOptions(arrayOfOptionsGroupedByCategory)}\n disabled={isFormDisabled}\n />\n </Box>\n </Flex>\n );\n};\n\nconst getSelectedValues = (rawValue: Record<string, ConditionForm>): string[] =>\n Object.values(rawValue)\n .map((x) =>\n Object.entries(x)\n .filter(([, value]) => value)\n .map(([key]) => key)\n )\n .flat();\n\nconst getNestedOptions = (options: ActionRowProps['arrayOfOptionsGroupedByCategory']) =>\n options.reduce<MultiSelectNestedProps['options']>((acc, [label, children]) => {\n acc.push({\n label: capitalise(label),\n children: children.map((child) => ({\n label: child.displayName,\n value: child.id,\n })),\n });\n\n return acc;\n }, []);\n\nconst getNewStateFromChangedValues = (\n options: ActionRowProps['arrayOfOptionsGroupedByCategory'],\n changedValues: string[]\n) =>\n options\n .map(([, values]) => values)\n .flat()\n .reduce<Record<string, boolean>>(\n (acc, curr) => ({ [curr.id]: changedValues.includes(curr.id), ...acc }),\n {}\n );\n\nexport { ConditionsModal };\nexport type { ConditionsModalProps };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex } from '@strapi/design-system';\nimport { ChevronDown, ChevronUp } from '@strapi/icons';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { Action, Subject } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, rowHeight } from '../utils/constants';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ConditionForm } from '../utils/forms';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapsePropertyMatrix, _internalActiveStyle } from './CollapsePropertyMatrix';\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\nimport { HiddenAction } from './HiddenAction';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * ContentTypeCollapses\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentTypeCollapsesProps extends Pick<CollapseProps, 'pathToData'> {\n actions?: Action[];\n isFormDisabled?: boolean;\n subjects?: Subject[];\n}\n\nconst ContentTypeCollapses = ({\n actions = [],\n isFormDisabled,\n pathToData,\n subjects = [],\n}: ContentTypeCollapsesProps) => {\n const [collapseToOpen, setCollapseToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleCollapse = (collapseName: string) => () => {\n const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;\n\n setCollapseToOpen(nextCollapseToOpen);\n };\n\n return (\n <>\n {subjects.map(({ uid, label, properties }, index) => {\n const isActive = collapseToOpen === uid;\n const availableActions = actions.map((action) => ({\n ...action,\n isDisplayed: Array.isArray(action.subjects) && action.subjects.indexOf(uid) !== -1,\n }));\n return (\n <Flex\n key={uid}\n direction=\"column\"\n display=\"inline-flex\"\n minWidth=\"100%\"\n borderColor=\"primary600\"\n borderWidth={isActive ? 1 : 0}\n >\n <Collapse\n availableActions={availableActions}\n isActive={isActive}\n isGrey={index % 2 === 0}\n isFormDisabled={isFormDisabled}\n label={label}\n onClickToggle={handleClickToggleCollapse(uid)}\n pathToData={[pathToData, uid].join('..')}\n />\n {isActive &&\n properties.map(({ label: propertyLabel, value, children: childrenForm }) => {\n return (\n <CollapsePropertyMatrix\n availableActions={availableActions}\n childrenForm={childrenForm}\n isFormDisabled={isFormDisabled}\n label={propertyLabel}\n pathToData={[pathToData, uid].join('..')}\n propertyName={value}\n key={value}\n />\n );\n })}\n </Flex>\n );\n })}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Collapse\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapseProps\n extends Pick<RowLabelWithCheckboxProps, 'isActive' | 'isFormDisabled' | 'label'> {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n isGrey?: boolean;\n onClickToggle: RowLabelWithCheckboxProps['onClick'];\n pathToData: string;\n}\n\nconst Collapse = ({\n availableActions = [],\n isActive = false,\n isGrey = false,\n isFormDisabled = false,\n label,\n onClickToggle,\n pathToData,\n}: CollapseProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n\n // This corresponds to the data related to the CT left checkbox\n // modifiedData: { collectionTypes: { [ctuid]: {create: {properties: { fields: {f1: true} }, update: {}, ... } } } }\n const mainData = get(modifiedData, pathToData.split('..'), {});\n // The utils we are using: getCheckboxState, retrieves all the boolean leafs of an object in order\n // to return the state of checkbox. Since the conditions are not related to the property we need to remove the key from the object.\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<Record<string, ConditionForm>>((acc, current) => {\n acc[current] = omit(mainData[current], 'conditions');\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n // Here we create an array of <checkbox>, since the state of each one of them is used in\n // order to know if whether or not we need to display the associated action in\n // the <ConditionsModal />\n const checkboxesActions = React.useMemo(() => {\n return generateCheckboxesActions(availableActions, modifiedData, pathToData);\n }, [availableActions, modifiedData, pathToData]);\n\n // @ts-expect-error – hasConditions does not exist on all versions of checkboxesActions.\n const doesConditionButtonHasConditions = checkboxesActions.some((action) => action.hasConditions);\n\n return (\n <BoxWrapper isActive={isActive}>\n <Wrapper\n height={rowHeight}\n flex={1}\n alignItems=\"center\"\n background={isGrey ? 'neutral100' : 'neutral0'}\n >\n <RowLabelWithCheckbox\n isCollapsable\n isFormDisabled={isFormDisabled}\n label={label}\n checkboxName={pathToData}\n onChange={onChangeParentCheckbox}\n onClick={onClickToggle}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n <Chevron paddingLeft={2}>{isActive ? <ChevronUp /> : <ChevronDown />}</Chevron>\n </RowLabelWithCheckbox>\n\n <Flex style={{ flex: 1 }}>\n {checkboxesActions.map(\n ({ actionId, hasSomeActionsSelected, isDisplayed, ...restAction }) => {\n if (!isDisplayed) {\n return <HiddenAction key={actionId} />;\n }\n\n const {\n hasConditions,\n hasAllActionsSelected,\n isParentCheckbox,\n checkboxName,\n label: permissionLabel,\n } = restAction as VisibleCheckboxAction;\n\n if (isParentCheckbox) {\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${permissionLabel} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n indeterminate={hasConditions}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </Wrapper>\n <Box transform=\"translateY(10px)\" right=\"9px\" position=\"absolute\">\n <ConditionsButton\n onClick={handleToggleModalIsOpen}\n hasConditions={doesConditionButtonHasConditions}\n />\n </Box>\n </BoxWrapper>\n );\n};\n\ninterface VisibleCheckboxAction {\n actionId: string;\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n isDisplayed: true;\n isParentCheckbox: boolean;\n checkboxName: string;\n label: string;\n hasConditions: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface HiddenCheckboxAction {\n actionId: string;\n isDisplayed: false;\n hasAllActionsSelected?: never;\n hasSomeActionsSelected: boolean;\n}\n\nconst generateCheckboxesActions = (\n availableActions: Array<Action & { isDisplayed: boolean }>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToData: string\n): Array<VisibleCheckboxAction | HiddenCheckboxAction> => {\n return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {\n if (!isDisplayed) {\n return { actionId, hasSomeActionsSelected: false, isDisplayed };\n }\n\n const baseCheckboxNameArray = [...pathToData.split('..'), actionId];\n const checkboxNameArray = isEmpty(applyToProperties)\n ? [...baseCheckboxNameArray, 'properties', 'enabled']\n : baseCheckboxNameArray;\n const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, 'conditions'], null);\n\n const baseCheckboxAction = {\n actionId,\n checkboxName: checkboxNameArray.join('..'),\n hasConditions: createArrayOfValues(conditionsValue).some((val) => val),\n isDisplayed,\n label,\n pathToConditionsObject: baseCheckboxNameArray,\n };\n\n if (isEmpty(applyToProperties)) {\n const value = get(modifiedData, checkboxNameArray, false);\n\n // Since applyToProperties is empty it is not a parent checkbox, therefore hasAllActionsSelected is\n // equal to hasSomeActionsSelected\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected: value,\n hasSomeActionsSelected: value,\n isParentCheckbox: false,\n };\n }\n\n const mainData = get(modifiedData, checkboxNameArray, null);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);\n\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected,\n hasSomeActionsSelected,\n isParentCheckbox: true,\n };\n });\n};\n\nconst activeRowStyle = (theme: DefaultTheme, isActive?: boolean): string => `\n ${Wrapper} {\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary600};\n border-radius: ${isActive ? '2px 2px 0 0' : '2px'};\n }\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n &:hover {\n ${_internalActiveStyle(theme)}\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n\n ${ConditionsButton} {\n display: none;\n }\n ${({ isActive, theme }) => isActive && activeRowStyle(theme, isActive)}\n &:hover {\n ${({ theme, isActive }) => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Cell = styled(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled(Box)`\n display: none;\n svg {\n width: 11px;\n }\n * {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { Action } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth } from '../utils/constants';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\ninterface GlobalActionsProps {\n actions: Action[];\n isFormDisabled?: boolean;\n kind: Extract<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n}\n\nconst GlobalActions = ({ actions = [], isFormDisabled, kind }: GlobalActionsProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeCollectionTypeGlobalActionCheckbox } = usePermissionsDataManager();\n\n const displayedActions = actions.filter(({ subjects }) => subjects && subjects.length);\n\n const checkboxesState = React.useMemo(() => {\n const actionsIds = displayedActions.map(({ actionId }) => actionId);\n\n const data = modifiedData[kind];\n\n const relatedActionsData = actionsIds.reduce<Record<string, RecursiveRecordOfBooleans>>(\n (acc, actionId) => {\n Object.keys(data).forEach((ctUid) => {\n const actionIdData = get(data, [ctUid, actionId]);\n\n const actionIdState = { [ctUid]: removeConditionKeyFromData(actionIdData)! };\n\n if (!acc[actionId]) {\n acc[actionId] = actionIdState;\n } else {\n acc[actionId] = { ...acc[actionId], ...actionIdState };\n }\n });\n\n return acc;\n },\n {}\n );\n\n const checkboxesState = Object.keys(relatedActionsData).reduce<\n Record<\n string,\n {\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n }\n >\n >((acc, current) => {\n acc[current] = getCheckboxState(relatedActionsData[current]);\n\n return acc;\n }, {});\n\n return checkboxesState;\n }, [modifiedData, displayedActions, kind]);\n\n return (\n <Box paddingBottom={4} paddingTop={6} style={{ paddingLeft: firstRowWidth }}>\n <Flex gap={0}>\n {displayedActions.map(({ label, actionId }) => {\n return (\n <Flex\n shrink={0}\n width={cellWidth}\n direction=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n key={actionId}\n gap={3}\n >\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <BaseCheckbox\n disabled={isFormDisabled}\n onValueChange={(value) => {\n onChangeCollectionTypeGlobalActionCheckbox(kind, actionId, value);\n }}\n name={actionId}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n {\n label: formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n }),\n }\n )}\n value={get(checkboxesState, [actionId, 'hasAllActionsSelected'], false)}\n indeterminate={get(checkboxesState, [actionId, 'hasSomeActionsSelected'], false)}\n />\n </Flex>\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nexport { GlobalActions };\nexport type { GlobalActionsProps };\n","import { Box } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nimport { ContentPermission } from '../../../../../../../shared/contracts/permissions';\n\nimport { ContentTypeCollapses } from './ContentTypeCollapses';\nimport { GlobalActions, GlobalActionsProps } from './GlobalActions';\n\ninterface ContentTypesProps extends Pick<GlobalActionsProps, 'kind'> {\n isFormDisabled?: boolean;\n layout: ContentPermission;\n}\n\nconst ContentTypes = ({\n isFormDisabled,\n kind,\n layout: { actions, subjects },\n}: ContentTypesProps) => {\n const sortedSubjects = [...subjects].sort((a, b) => a.label.localeCompare(b.label));\n\n return (\n <StyledBox background=\"neutral0\">\n <GlobalActions actions={actions} kind={kind} isFormDisabled={isFormDisabled} />\n <ContentTypeCollapses\n actions={actions}\n isFormDisabled={isFormDisabled}\n pathToData={kind}\n subjects={sortedSubjects}\n />\n </StyledBox>\n );\n};\n\nconst StyledBox = styled(Box)`\n overflow-x: auto;\n`;\n\nexport { ContentTypes };\n","import * as React from 'react';\n\nimport {\n Accordion,\n AccordionContent,\n AccordionToggle,\n Box,\n Checkbox,\n Flex,\n Grid,\n GridItem,\n Typography,\n} from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport {\n SettingPermission,\n PluginPermission,\n} from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ChildrenForm, ConditionForm } from '../utils/forms';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\n\nimport type { GenericLayout } from '../utils/layouts';\n\n/* -------------------------------------------------------------------------------------------------\n * PluginsAndSettingsPermissions\n * -----------------------------------------------------------------------------------------------*/\n\ntype Layout = GenericLayout<SettingPermission | PluginPermission>[];\n\ninterface PluginsAndSettingsPermissionsProps extends Pick<RowProps, 'kind' | 'isFormDisabled'> {\n layout: Layout;\n}\n\nconst PluginsAndSettingsPermissions = ({\n layout,\n ...restProps\n}: PluginsAndSettingsPermissionsProps) => {\n const [openedCategory, setOpenedCategory] = React.useState<string | null>(null);\n\n const handleOpenCategory = (categoryName: string) => {\n setOpenedCategory(categoryName === openedCategory ? null : categoryName);\n };\n\n return (\n <Box padding={6} background=\"neutral0\">\n {layout.map(({ category, categoryId, childrenForm }, index) => {\n return (\n <Row\n key={category}\n childrenForm={childrenForm}\n isOpen={openedCategory === category}\n isWhite={index % 2 === 1}\n name={category}\n onOpenCategory={handleOpenCategory}\n pathToData={[restProps.kind, categoryId]}\n {...restProps}\n />\n );\n })}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Row\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RowProps extends Pick<Layout[number], 'childrenForm'> {\n kind: Exclude<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n name: string;\n isFormDisabled?: boolean;\n isOpen?: boolean;\n isWhite?: boolean;\n onOpenCategory: (categoryName: string) => void;\n pathToData: string[];\n}\n\nconst Row = ({\n childrenForm,\n kind,\n name,\n isOpen = false,\n isFormDisabled = false,\n isWhite,\n onOpenCategory,\n pathToData,\n}: RowProps) => {\n const { formatMessage } = useIntl();\n const handleClick = () => {\n onOpenCategory(name);\n };\n\n const categoryName = name.split('::').pop() ?? '';\n\n return (\n <Accordion\n expanded={isOpen}\n onToggle={handleClick}\n id={`accordion-${name}`}\n variant={isWhite ? 'primary' : 'secondary'}\n >\n <AccordionToggle\n title={capitalise(categoryName)}\n description={`${formatMessage(\n { id: 'Settings.permissions.category', defaultMessage: categoryName },\n { category: categoryName }\n )} ${kind === 'plugins' ? 'plugin' : kind}`}\n />\n\n <AccordionContent>\n <Box padding={6}>\n {childrenForm.map(({ actions, subCategoryName, subCategoryId }) => (\n <SubCategory\n key={subCategoryName}\n actions={actions}\n categoryName={categoryName}\n isFormDisabled={isFormDisabled}\n subCategoryName={subCategoryName}\n pathToData={[...pathToData, subCategoryId]}\n />\n ))}\n </Box>\n </AccordionContent>\n </Accordion>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * SubCategory\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubCategoryProps {\n actions?: Array<SettingPermission | PluginPermission>;\n categoryName: string;\n isFormDisabled?: boolean;\n subCategoryName: string;\n pathToData: string[];\n}\n\nconst SubCategory = ({\n actions = [],\n categoryName,\n isFormDisabled,\n subCategoryName,\n pathToData,\n}: SubCategoryProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const { formatMessage } = useIntl();\n\n const mainData = get(modifiedData, pathToData, {});\n\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<RecursiveRecordOfBooleans>((acc, current) => {\n acc[current] = removeConditionKeyFromData(mainData[current])!;\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n // We need to format the actions so it matches the shape of the ConditionsModal actions props\n const formattedActions = React.useMemo(() => {\n return actions.map((action) => {\n const checkboxName = [...pathToData, action.action, 'properties', 'enabled'];\n const checkboxValue = get(modifiedData, checkboxName, false);\n const conditionValue = get(modifiedData, [...pathToData, action.action, 'conditions'], {});\n const hasConditions = createArrayOfValues(conditionValue).some((val) => val);\n\n return {\n ...action,\n isDisplayed: checkboxValue,\n checkboxName: checkboxName.join('..'),\n hasSomeActionsSelected: checkboxValue,\n value: checkboxValue,\n hasConditions,\n label: action.displayName,\n actionId: action.action,\n pathToConditionsObject: [...pathToData, action.action],\n };\n });\n }, [actions, modifiedData, pathToData]);\n\n const datum: ChildrenForm = get(modifiedData, [...pathToData], {});\n\n const doesButtonHasCondition = createArrayOfValues(\n Object.entries(datum).reduce<Record<string, ConditionForm>>((acc, current) => {\n const [catName, { conditions }] = current;\n\n acc[catName] = conditions;\n\n return acc;\n }, {})\n ).some((val) => val);\n\n return (\n <>\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategoryName}\n </Typography>\n </Box>\n <Border flex={1} />\n <Box paddingLeft={4}>\n <Checkbox\n name={pathToData.join('..')}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: pathToData.join('..'),\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid gap={2} style={{ flex: 1 }}>\n {formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {\n return (\n <GridItem col={3} key={action}>\n <CheckboxWrapper disabled={isFormDisabled} hasConditions={hasConditions}>\n <Checkbox\n name={checkboxName}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={value}\n >\n {displayName}\n </Checkbox>\n </CheckboxWrapper>\n </GridItem>\n );\n })}\n </Grid>\n <ConditionsButton\n hasConditions={doesButtonHasCondition}\n onClick={handleToggleModalIsOpen}\n />\n </Flex>\n </Box>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[categoryName, subCategoryName]}\n actions={formattedActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </>\n );\n};\n\nconst Border = styled(Box)`\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst CheckboxWrapper = styled.div<{ hasConditions?: boolean; disabled?: boolean }>`\n position: relative;\n word-break: keep-all;\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: ${-4 / 16}rem;\n left: ${-8 / 16}rem;\n width: ${6 / 16}rem;\n height: ${6 / 16}rem;\n border-radius: ${20 / 16}rem;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\nexport { PluginsAndSettingsPermissions };\n","import * as React from 'react';\n\nimport { Tab, TabGroup, TabPanel, TabPanels, Tabs } from '@strapi/design-system';\nimport { difference } from '@strapi/helper-plugin';\nimport produce from 'immer';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEmpty from 'lodash/isEmpty';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\n\nimport * as PermissonContracts from '../../../../../../../shared/contracts/permissions';\nimport { Permission } from '../../../../../../../shared/contracts/shared';\nimport { isObject } from '../../../../../utils/objects';\nimport {\n PermissionsDataManagerContextValue,\n PermissionsDataManagerProvider,\n} from '../hooks/usePermissionsDataManager';\nimport { ConditionForm, Form, createDefaultCTForm, createDefaultForm } from '../utils/forms';\nimport { GenericLayout, formatLayout } from '../utils/layouts';\nimport { formatPermissionsForAPI } from '../utils/permissions';\nimport { updateConditionsToFalse } from '../utils/updateConditionsToFalse';\nimport { updateValues } from '../utils/updateValues';\n\nimport { ContentTypes } from './ContentTypes';\nimport { PluginsAndSettingsPermissions } from './PluginsAndSettings';\n\nconst TAB_LABELS = [\n {\n labelId: 'app.components.LeftMenuLinkContainer.collectionTypes',\n defaultMessage: 'Collection Types',\n id: 'collectionTypes',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.singleTypes',\n id: 'singleTypes',\n defaultMessage: 'Single Types',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.plugins',\n defaultMessage: 'Plugins',\n id: 'plugins',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.settings',\n defaultMessage: 'Settings',\n id: 'settings',\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * Permissions\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface PermissionsAPI {\n getPermissions: () => {\n didUpdateConditions: boolean;\n permissionsToSend: Omit<Permission, 'id' | 'createdAt' | 'updatedAt' | 'actionParameters'>[];\n };\n resetForm: () => void;\n setFormAfterSubmit: () => void;\n}\n\ninterface PermissionsProps {\n isFormDisabled?: boolean;\n permissions?: Permission[];\n layout: PermissonContracts.GetAll.Response['data'];\n}\n\nconst Permissions = React.forwardRef<PermissionsAPI, PermissionsProps>(\n ({ layout, isFormDisabled, permissions = [] }, api) => {\n const [{ initialData, layouts, modifiedData }, dispatch] = React.useReducer(\n reducer,\n initialState,\n () => init(layout, permissions)\n );\n const { formatMessage } = useIntl();\n\n React.useImperativeHandle(api, () => {\n return {\n getPermissions() {\n const collectionTypesDiff = difference(\n initialData.collectionTypes,\n modifiedData.collectionTypes\n );\n const singleTypesDiff = difference(initialData.singleTypes, modifiedData.singleTypes);\n\n const contentTypesDiff = { ...collectionTypesDiff, ...singleTypesDiff };\n\n let didUpdateConditions;\n\n if (isEmpty(contentTypesDiff)) {\n didUpdateConditions = false;\n } else {\n didUpdateConditions = Object.values(contentTypesDiff).some((permission = {}) => {\n return Object.values(permission).some((permissionValue) =>\n has(permissionValue, 'conditions')\n );\n });\n }\n\n return { permissionsToSend: formatPermissionsForAPI(modifiedData), didUpdateConditions };\n },\n resetForm() {\n dispatch({ type: 'RESET_FORM' });\n },\n setFormAfterSubmit() {\n dispatch({ type: 'SET_FORM_AFTER_SUBMIT' });\n },\n } satisfies PermissionsAPI;\n });\n\n const handleChangeCollectionTypeLeftActionRowCheckbox = (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX',\n pathToCollectionType,\n propertyName,\n rowName,\n value,\n });\n };\n\n const handleChangeCollectionTypeGlobalActionCheckbox = (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX',\n collectionTypeKind,\n actionId,\n value,\n });\n };\n\n const handleChangeConditions = (conditions: OnChangeConditionsAction['conditions']) => {\n dispatch({ type: 'ON_CHANGE_CONDITIONS', conditions });\n };\n\n const handleChangeSimpleCheckbox: PermissionsDataManagerContextValue['onChangeSimpleCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_SIMPLE_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n const handleChangeParentCheckbox: PermissionsDataManagerContextValue['onChangeParentCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n return (\n <PermissionsDataManagerProvider\n availableConditions={layout.conditions}\n modifiedData={modifiedData}\n onChangeConditions={handleChangeConditions}\n onChangeSimpleCheckbox={handleChangeSimpleCheckbox}\n onChangeParentCheckbox={handleChangeParentCheckbox}\n onChangeCollectionTypeLeftActionRowCheckbox={\n handleChangeCollectionTypeLeftActionRowCheckbox\n }\n onChangeCollectionTypeGlobalActionCheckbox={handleChangeCollectionTypeGlobalActionCheckbox}\n >\n <TabGroup\n id=\"tabs\"\n label={formatMessage({\n id: 'Settings.permissions.users.tabs.label',\n defaultMessage: 'Tabs Permissions',\n })}\n >\n <Tabs>\n {TAB_LABELS.map((tabLabel) => (\n <Tab key={tabLabel.id}>\n {formatMessage({ id: tabLabel.labelId, defaultMessage: tabLabel.defaultMessage })}\n </Tab>\n ))}\n </Tabs>\n <TabPanels style={{ position: 'relative' }}>\n <TabPanel>\n <ContentTypes\n layout={layouts.collectionTypes}\n kind=\"collectionTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <ContentTypes\n layout={layouts.singleTypes}\n kind=\"singleTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.plugins}\n kind=\"plugins\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.settings}\n kind=\"settings\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n </PermissionsDataManagerProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * reducer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PermissionForms {\n collectionTypes: Form;\n plugins: Record<string, Form>;\n settings: Record<string, Form>;\n singleTypes: Form;\n}\n\ninterface State {\n initialData: PermissionForms;\n modifiedData: PermissionForms;\n layouts: {\n collectionTypes: PermissonContracts.ContentPermission;\n singleTypes: PermissonContracts.ContentPermission;\n plugins: GenericLayout<PermissonContracts.PluginPermission>[];\n settings: GenericLayout<PermissonContracts.SettingPermission>[];\n };\n}\n\nconst initialState = {\n initialData: {},\n modifiedData: {},\n layouts: {},\n};\n\ninterface OnChangeCollectionTypeGlobalActionCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX';\n collectionTypeKind: keyof PermissionForms;\n actionId: string;\n value: boolean;\n}\n\ninterface OnChangeCollectionTypeRowLeftCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX';\n pathToCollectionType: string;\n propertyName: string;\n rowName: string;\n value: boolean;\n}\n\ninterface OnChangeConditionsAction {\n type: 'ON_CHANGE_CONDITIONS';\n conditions: Record<string, ConditionForm>;\n}\n\ninterface OnChangeSimpleCheckboxAction {\n type: 'ON_CHANGE_SIMPLE_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface OnChangeToggleParentCheckbox {\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface ResetFormAction {\n type: 'RESET_FORM';\n}\n\ninterface SetFormAfterSubmitAction {\n type: 'SET_FORM_AFTER_SUBMIT';\n}\n\ntype Action =\n | OnChangeCollectionTypeGlobalActionCheckboxAction\n | OnChangeCollectionTypeRowLeftCheckboxAction\n | OnChangeConditionsAction\n | OnChangeSimpleCheckboxAction\n | OnChangeToggleParentCheckbox\n | ResetFormAction\n | SetFormAfterSubmitAction;\n\n/* eslint-disable consistent-return */\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n // This action is called when a checkbox in the <GlobalActions />\n // changes\n case 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX': {\n const { collectionTypeKind, actionId, value } = action;\n const pathToData = ['modifiedData', collectionTypeKind];\n\n Object.keys(get(state, pathToData)).forEach((collectionType) => {\n const collectionTypeActionData = get(\n state,\n [...pathToData, collectionType, actionId],\n undefined\n );\n\n if (collectionTypeActionData) {\n let updatedValues = updateValues(collectionTypeActionData, value);\n\n // We need to remove the applied conditions\n // @ts-expect-error – TODO: type better\n if (!value && updatedValues.conditions) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = updateValues(updatedValues.conditions, false);\n\n updatedValues = { ...updatedValues, conditions: updatedConditions };\n }\n\n set(draftState, [...pathToData, collectionType, actionId], updatedValues);\n }\n });\n\n break;\n }\n case 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX': {\n const { pathToCollectionType, propertyName, rowName, value } = action;\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const pathToModifiedDataCollectionType = pathToCollectionType.split('..');\n\n const objToUpdate = get(nextModifiedDataState, pathToModifiedDataCollectionType, {});\n\n Object.keys(objToUpdate).forEach((actionId) => {\n // When a ct has multiple properties (ex: locales, field)\n // We need to make sure that we add any new property to the modifiedData\n // object.\n if (has(objToUpdate[actionId], `properties.${propertyName}`)) {\n const objValue = get(objToUpdate, [actionId, 'properties', propertyName, rowName]);\n const pathToDataToSet = [\n ...pathToModifiedDataCollectionType,\n actionId,\n 'properties',\n propertyName,\n rowName,\n ];\n\n if (!isObject(objValue)) {\n set(nextModifiedDataState, pathToDataToSet, value);\n } else {\n const updatedValue = updateValues(objValue, value);\n\n set(nextModifiedDataState, pathToDataToSet, updatedValue);\n }\n }\n });\n\n // When we uncheck a row, we need to check if we also need to disable the conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n case 'ON_CHANGE_CONDITIONS': {\n Object.entries(action.conditions).forEach((array) => {\n const [stringPathToData, conditionsToUpdate] = array;\n\n set(\n draftState,\n ['modifiedData', ...stringPathToData.split('..'), 'conditions'],\n conditionsToUpdate\n );\n });\n\n break;\n }\n case 'ON_CHANGE_SIMPLE_CHECKBOX': {\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n\n set(nextModifiedDataState, [...action.keys.split('..')], action.value);\n\n // When we uncheck a single checkbox we need to remove the conditions from the parent\n if (!action.value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n /*\n * Here the idea is to retrieve a specific value of the modifiedObject\n * then update all the boolean values of the retrieved one\n * and update the drafState.\n *\n * For instance in order to enable create action for all the fields and locales\n * of the restaurant content type we need to :\n * 1. Retrieve the modifiedData.collectionTypes.restaurant.create object\n * 2. Toggle all the end boolean values to the desired one\n * 3. Update the draftState\n *\n * Since the case works well in order to update what we called \"parent\" checkbox. We can\n * reuse the action when we need to toggle change all the values that depends on this one.\n * A parent checkbox is a checkbox which value is not a boolean but depends on its children ones, therefore,\n * a parent checkbox does not have a represented value in the draftState, they are just helpers.\n *\n * Given the following data:\n *\n * const data = {\n * restaurant: {\n * create: {\n * fields: { name: true },\n * locales: { en: false }\n * }\n * }\n * }\n *\n * The value of the create checkbox for the restaurant will be ƒalse since not all its children have\n * truthy values and in order to set its value to true when need to have all the values of its children set to true.\n *\n * Similarly, we can reuse the logic for the components attributes\n *\n */\n case 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX': {\n const { keys, value } = action;\n const pathToValue = [...keys.split('..')];\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const oldValues = get(nextModifiedDataState, pathToValue, {});\n\n const updatedValues = updateValues(oldValues, value);\n set(nextModifiedDataState, pathToValue, updatedValues);\n\n // When we uncheck a parent checkbox we need to remove the associated conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, ['modifiedData'], nextModifiedDataState);\n\n break;\n }\n case 'RESET_FORM': {\n draftState.modifiedData = state.initialData;\n break;\n }\n case 'SET_FORM_AFTER_SUBMIT': {\n draftState.initialData = state.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * init (reducer)\n * -----------------------------------------------------------------------------------------------*/\n\nconst init = (\n layout: PermissionsProps['layout'],\n permissions: PermissionsProps['permissions']\n): State => {\n const {\n conditions,\n sections: { collectionTypes, singleTypes, plugins, settings },\n } = layout;\n\n const layouts = {\n collectionTypes,\n singleTypes,\n plugins: formatLayout(plugins, 'plugin'),\n settings: formatLayout(settings, 'category'),\n };\n\n const defaultForm = {\n collectionTypes: createDefaultCTForm(collectionTypes, conditions, permissions),\n singleTypes: createDefaultCTForm(singleTypes, conditions, permissions),\n plugins: createDefaultForm(layouts.plugins, conditions, permissions),\n settings: createDefaultForm(layouts.settings, conditions, permissions),\n };\n\n return {\n initialData: defaultForm,\n modifiedData: defaultForm,\n layouts,\n };\n};\n\nexport { Permissions };\nexport type {\n State,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n};\n"],"names":["permissions","current","acc","createDefaultConditionsForm","value","childrenForm","label","ActionRow","React","Wrapper","hasAllActionsSelected","hasSomeActionsSelected","StyledBox","_internalActiveStyle","checkboxesState"],"mappings":"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"}