@strapi/admin 5.14.0 → 5.15.1

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 (282) hide show
  1. package/dist/admin/admin/src/assets/images/free-trial.png.js +6 -0
  2. package/dist/admin/admin/src/assets/images/free-trial.png.js.map +1 -0
  3. package/dist/admin/admin/src/assets/images/free-trial.png.mjs +4 -0
  4. package/dist/admin/admin/src/assets/images/free-trial.png.mjs.map +1 -0
  5. package/dist/admin/admin/src/components/ConfirmDialog.js +2 -2
  6. package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
  7. package/dist/admin/admin/src/components/ContentBox.js +3 -3
  8. package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
  9. package/dist/admin/admin/src/components/ErrorElement.js +3 -3
  10. package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
  11. package/dist/admin/admin/src/components/GradientBadge.js +37 -0
  12. package/dist/admin/admin/src/components/GradientBadge.js.map +1 -0
  13. package/dist/admin/admin/src/components/GradientBadge.mjs +35 -0
  14. package/dist/admin/admin/src/components/GradientBadge.mjs.map +1 -0
  15. package/dist/admin/admin/src/components/GuidedTour/Modal.js +3 -3
  16. package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +1 -1
  17. package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
  18. package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
  19. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +1 -1
  20. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  21. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +1 -1
  22. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  23. package/dist/admin/admin/src/components/Layouts/Layout.js +3 -3
  24. package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
  25. package/dist/admin/admin/src/components/LeftMenu.js +7 -5
  26. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  27. package/dist/admin/admin/src/components/LeftMenu.mjs +3 -1
  28. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
  30. package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
  31. package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
  32. package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
  33. package/dist/admin/admin/src/components/MainNav/NavLink.js +3 -3
  34. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  35. package/dist/admin/admin/src/components/MainNav/NavUser.js +8 -8
  36. package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
  37. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +114 -0
  38. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -0
  39. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs +112 -0
  40. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs.map +1 -0
  41. package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
  42. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  43. package/dist/admin/admin/src/components/SubNav.js +6 -6
  44. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  45. package/dist/admin/admin/src/components/Table.js +2 -2
  46. package/dist/admin/admin/src/components/Table.js.map +1 -1
  47. package/dist/admin/admin/src/components/Theme.js +2 -2
  48. package/dist/admin/admin/src/components/Theme.js.map +1 -1
  49. package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
  50. package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
  51. package/dist/admin/admin/src/components/UpsellBanner.js +113 -0
  52. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -0
  53. package/dist/admin/admin/src/components/UpsellBanner.mjs +111 -0
  54. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -0
  55. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +2 -0
  56. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  57. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +2 -0
  58. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  59. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
  60. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
  61. package/dist/admin/admin/src/pages/Auth/components/Register.js +2 -2
  62. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  63. package/dist/admin/admin/src/pages/Home/HomePage.js +4 -0
  64. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  65. package/dist/admin/admin/src/pages/Home/HomePage.mjs +4 -0
  66. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  67. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +183 -0
  68. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -0
  69. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +181 -0
  70. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -0
  71. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +128 -0
  72. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -0
  73. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +126 -0
  74. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -0
  75. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js +3 -3
  76. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
  77. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js +2 -2
  78. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js.map +1 -1
  79. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js +2 -2
  80. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +3 -3
  82. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +1 -1
  84. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
  86. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
  88. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
  90. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
  92. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +2 -2
  94. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
  96. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +10 -10
  98. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
  100. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
  102. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
  104. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
  105. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
  106. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  107. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
  108. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
  109. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
  110. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
  111. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
  112. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  113. package/dist/admin/admin/src/render.js +3 -1
  114. package/dist/admin/admin/src/render.js.map +1 -1
  115. package/dist/admin/admin/src/render.mjs +3 -1
  116. package/dist/admin/admin/src/render.mjs.map +1 -1
  117. package/dist/admin/admin/src/services/admin.js +13 -2
  118. package/dist/admin/admin/src/services/admin.js.map +1 -1
  119. package/dist/admin/admin/src/services/admin.mjs +13 -3
  120. package/dist/admin/admin/src/services/admin.mjs.map +1 -1
  121. package/dist/admin/admin/src/translations/ar.json.js +1 -0
  122. package/dist/admin/admin/src/translations/ar.json.js.map +1 -1
  123. package/dist/admin/admin/src/translations/ar.json.mjs +1 -0
  124. package/dist/admin/admin/src/translations/ar.json.mjs.map +1 -1
  125. package/dist/admin/admin/src/translations/ca.json.js +1 -0
  126. package/dist/admin/admin/src/translations/ca.json.js.map +1 -1
  127. package/dist/admin/admin/src/translations/ca.json.mjs +1 -0
  128. package/dist/admin/admin/src/translations/ca.json.mjs.map +1 -1
  129. package/dist/admin/admin/src/translations/de.json.js +1 -0
  130. package/dist/admin/admin/src/translations/de.json.js.map +1 -1
  131. package/dist/admin/admin/src/translations/de.json.mjs +1 -0
  132. package/dist/admin/admin/src/translations/de.json.mjs.map +1 -1
  133. package/dist/admin/admin/src/translations/dk.json.js +1 -0
  134. package/dist/admin/admin/src/translations/dk.json.js.map +1 -1
  135. package/dist/admin/admin/src/translations/dk.json.mjs +1 -0
  136. package/dist/admin/admin/src/translations/dk.json.mjs.map +1 -1
  137. package/dist/admin/admin/src/translations/en.json.js +20 -0
  138. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  139. package/dist/admin/admin/src/translations/en.json.mjs +20 -0
  140. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  141. package/dist/admin/admin/src/translations/es.json.js +1 -0
  142. package/dist/admin/admin/src/translations/es.json.js.map +1 -1
  143. package/dist/admin/admin/src/translations/es.json.mjs +1 -0
  144. package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
  145. package/dist/admin/admin/src/translations/eu.json.js +1 -0
  146. package/dist/admin/admin/src/translations/eu.json.js.map +1 -1
  147. package/dist/admin/admin/src/translations/eu.json.mjs +1 -0
  148. package/dist/admin/admin/src/translations/eu.json.mjs.map +1 -1
  149. package/dist/admin/admin/src/translations/fr.json.js +1 -0
  150. package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
  151. package/dist/admin/admin/src/translations/fr.json.mjs +1 -0
  152. package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
  153. package/dist/admin/admin/src/translations/gu.json.js +1 -0
  154. package/dist/admin/admin/src/translations/gu.json.js.map +1 -1
  155. package/dist/admin/admin/src/translations/gu.json.mjs +1 -0
  156. package/dist/admin/admin/src/translations/gu.json.mjs.map +1 -1
  157. package/dist/admin/admin/src/translations/hi.json.js +1 -0
  158. package/dist/admin/admin/src/translations/hi.json.js.map +1 -1
  159. package/dist/admin/admin/src/translations/hi.json.mjs +1 -0
  160. package/dist/admin/admin/src/translations/hi.json.mjs.map +1 -1
  161. package/dist/admin/admin/src/translations/hu.json.js +1 -0
  162. package/dist/admin/admin/src/translations/hu.json.js.map +1 -1
  163. package/dist/admin/admin/src/translations/hu.json.mjs +1 -0
  164. package/dist/admin/admin/src/translations/hu.json.mjs.map +1 -1
  165. package/dist/admin/admin/src/translations/ja.json.js +1 -0
  166. package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
  167. package/dist/admin/admin/src/translations/ja.json.mjs +1 -0
  168. package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
  169. package/dist/admin/admin/src/translations/ko.json.js +1 -0
  170. package/dist/admin/admin/src/translations/ko.json.js.map +1 -1
  171. package/dist/admin/admin/src/translations/ko.json.mjs +1 -0
  172. package/dist/admin/admin/src/translations/ko.json.mjs.map +1 -1
  173. package/dist/admin/admin/src/translations/ml.json.js +1 -0
  174. package/dist/admin/admin/src/translations/ml.json.js.map +1 -1
  175. package/dist/admin/admin/src/translations/ml.json.mjs +1 -0
  176. package/dist/admin/admin/src/translations/ml.json.mjs.map +1 -1
  177. package/dist/admin/admin/src/translations/nl.json.js +1 -0
  178. package/dist/admin/admin/src/translations/nl.json.js.map +1 -1
  179. package/dist/admin/admin/src/translations/nl.json.mjs +1 -0
  180. package/dist/admin/admin/src/translations/nl.json.mjs.map +1 -1
  181. package/dist/admin/admin/src/translations/pl.json.js +1 -0
  182. package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
  183. package/dist/admin/admin/src/translations/pl.json.mjs +1 -0
  184. package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
  185. package/dist/admin/admin/src/translations/pt-BR.json.js +1 -0
  186. package/dist/admin/admin/src/translations/pt-BR.json.js.map +1 -1
  187. package/dist/admin/admin/src/translations/pt-BR.json.mjs +1 -0
  188. package/dist/admin/admin/src/translations/pt-BR.json.mjs.map +1 -1
  189. package/dist/admin/admin/src/translations/ru.json.js +1 -0
  190. package/dist/admin/admin/src/translations/ru.json.js.map +1 -1
  191. package/dist/admin/admin/src/translations/ru.json.mjs +1 -0
  192. package/dist/admin/admin/src/translations/ru.json.mjs.map +1 -1
  193. package/dist/admin/admin/src/translations/sa.json.js +1 -0
  194. package/dist/admin/admin/src/translations/sa.json.js.map +1 -1
  195. package/dist/admin/admin/src/translations/sa.json.mjs +1 -0
  196. package/dist/admin/admin/src/translations/sa.json.mjs.map +1 -1
  197. package/dist/admin/admin/src/translations/sk.json.js +1 -0
  198. package/dist/admin/admin/src/translations/sk.json.js.map +1 -1
  199. package/dist/admin/admin/src/translations/sk.json.mjs +1 -0
  200. package/dist/admin/admin/src/translations/sk.json.mjs.map +1 -1
  201. package/dist/admin/admin/src/translations/sv.json.js +1 -0
  202. package/dist/admin/admin/src/translations/sv.json.js.map +1 -1
  203. package/dist/admin/admin/src/translations/sv.json.mjs +1 -0
  204. package/dist/admin/admin/src/translations/sv.json.mjs.map +1 -1
  205. package/dist/admin/admin/src/translations/tr.json.js +1 -0
  206. package/dist/admin/admin/src/translations/tr.json.js.map +1 -1
  207. package/dist/admin/admin/src/translations/tr.json.mjs +1 -0
  208. package/dist/admin/admin/src/translations/tr.json.mjs.map +1 -1
  209. package/dist/admin/admin/src/translations/uk.json.js +1 -0
  210. package/dist/admin/admin/src/translations/uk.json.js.map +1 -1
  211. package/dist/admin/admin/src/translations/uk.json.mjs +1 -0
  212. package/dist/admin/admin/src/translations/uk.json.mjs.map +1 -1
  213. package/dist/admin/admin/src/translations/zh-Hans.json.js +1 -0
  214. package/dist/admin/admin/src/translations/zh-Hans.json.js.map +1 -1
  215. package/dist/admin/admin/src/translations/zh-Hans.json.mjs +1 -0
  216. package/dist/admin/admin/src/translations/zh-Hans.json.mjs.map +1 -1
  217. package/dist/admin/admin/src/translations/zh.json.js +1 -0
  218. package/dist/admin/admin/src/translations/zh.json.js.map +1 -1
  219. package/dist/admin/admin/src/translations/zh.json.mjs +1 -0
  220. package/dist/admin/admin/src/translations/zh.json.mjs.map +1 -1
  221. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js +2 -1
  222. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js.map +1 -1
  223. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.mjs +2 -1
  224. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.mjs.map +1 -1
  225. package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
  226. package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
  227. package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
  228. package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
  229. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
  230. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
  231. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
  232. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
  233. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +7 -0
  234. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  235. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +7 -0
  236. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
  237. package/dist/admin/index.js +2 -0
  238. package/dist/admin/index.js.map +1 -1
  239. package/dist/admin/index.mjs +1 -0
  240. package/dist/admin/index.mjs.map +1 -1
  241. package/dist/admin/src/components/GradientBadge.d.ts +4 -0
  242. package/dist/admin/src/components/MainNav/TrialCountdown.d.ts +2 -0
  243. package/dist/admin/src/components/UpsellBanner.d.ts +2 -0
  244. package/dist/admin/src/index.d.ts +1 -0
  245. package/dist/admin/src/pages/Home/components/FreeTrialEndedModal.d.ts +1 -0
  246. package/dist/admin/src/pages/Home/components/FreeTrialWelcomeModal.d.ts +1 -0
  247. package/dist/admin/src/services/admin.d.ts +8 -6
  248. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +2 -0
  249. package/dist/ee/server/src/controllers/admin.d.ts +3 -0
  250. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
  251. package/dist/ee/server/src/controllers/index.d.ts +3 -0
  252. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  253. package/dist/ee/server/src/index.d.ts +6 -0
  254. package/dist/ee/server/src/index.d.ts.map +1 -1
  255. package/dist/server/ee/server/src/controllers/admin.js +2 -0
  256. package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
  257. package/dist/server/ee/server/src/controllers/admin.mjs +2 -0
  258. package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
  259. package/dist/server/server/src/controllers/admin.js +6 -0
  260. package/dist/server/server/src/controllers/admin.js.map +1 -1
  261. package/dist/server/server/src/controllers/admin.mjs +6 -0
  262. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  263. package/dist/server/server/src/routes/admin.js +10 -0
  264. package/dist/server/server/src/routes/admin.js.map +1 -1
  265. package/dist/server/server/src/routes/admin.mjs +10 -0
  266. package/dist/server/server/src/routes/admin.mjs.map +1 -1
  267. package/dist/server/server/src/services/content-type.js +10 -15
  268. package/dist/server/server/src/services/content-type.js.map +1 -1
  269. package/dist/server/server/src/services/content-type.mjs +11 -16
  270. package/dist/server/server/src/services/content-type.mjs.map +1 -1
  271. package/dist/server/src/controllers/admin.d.ts +3 -0
  272. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  273. package/dist/server/src/controllers/index.d.ts +3 -0
  274. package/dist/server/src/controllers/index.d.ts.map +1 -1
  275. package/dist/server/src/index.d.ts +3 -0
  276. package/dist/server/src/index.d.ts.map +1 -1
  277. package/dist/server/src/routes/admin.d.ts.map +1 -1
  278. package/dist/server/src/services/content-type.d.ts +1 -1
  279. package/dist/server/src/services/content-type.d.ts.map +1 -1
  280. package/dist/shared/contracts/admin.d.ts +1 -0
  281. package/dist/shared/contracts/admin.d.ts.map +1 -1
  282. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsePropertyMatrix.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Checkbox,\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Typography,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { CaretDown } 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 {\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 = React.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\" alignItems=\"stretch\" 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 = React.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 } = React.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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={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 <Checkbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!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 checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\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<FlexComponent>(Flex)<{ $isCollapsable?: boolean; $isActive?: boolean }>`\n height: ${rowHeight};\n flex: 1;\n\n &:hover {\n ${({ $isCollapsable, theme }) => $isCollapsable && activeStyle(theme)}\n }\n\n ${({ $isCollapsable }) =>\n $isCollapsable &&\n `\n ${CarretIcon} {\n display: flex;\n }\n `}\n ${({ $isActive, theme }) => $isActive && activeStyle(theme)};\n`;\n\nconst CarretIcon = styled(CaretDown)<{ $isActive: boolean }>`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.neutral200};\n }\n\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 = React.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={`3.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 }: React.KeyboardEvent<HTMLDivElement>) =>\n (key === 'Enter' || key === ' ') && handleClickToggleSubLevel(value),\n tabIndex: 0,\n role: 'button',\n })}\n title={label}\n >\n <RowLabel ellipsis>{label}</RowLabel>\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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={\n hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected\n }\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<BoxComponent>(Box)<{ $isVisible?: boolean }>`\n border-left: ${({ $isVisible, theme }) =>\n $isVisible ? `4px solid ${theme.colors.primary200}` : '4px solid transparent'};\n`;\n\nconst RowStyle = styled<FlexComponent>(Flex)<{\n $level: number;\n $isCollapsable?: boolean;\n $isActive?: boolean;\n}>`\n padding-left: ${({ theme }) => theme.spaces[4]};\n width: ${({ $level }) => 145 - $level * 36}px;\n\n &:hover {\n ${({ $isCollapsable, theme }) => $isCollapsable && activeStyle(theme)}\n }\n\n ${({ $isCollapsable }) =>\n $isCollapsable &&\n `\n ${CarretIcon} {\n display: flex;\n }\n `}\n ${({ $isActive, theme }) => $isActive && activeStyle(theme)};\n`;\n\nconst RowLabel = styled<TypographyComponent>(Typography)``;\n\nconst TopTimeline = styled.div`\n padding-top: ${({ theme }) => theme.spaces[2]};\n margin-top: ${({ theme }) => theme.spaces[2]};\n width: 0.4rem;\n background-color: ${({ theme }) => theme.colors.primary200};\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n`;\n\nconst StyledBox = styled<BoxComponent>(Box)`\n transform: translate(-4px, -12px);\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\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\nconst activeStyle = (theme: DefaultTheme) => css`\n color: ${theme.colors.primary600};\n font-weight: ${theme.fontWeights.bold};\n\n ${CarretIcon} {\n path {\n fill: ${theme.colors.primary600};\n }\n }\n`;\n\nexport { CollapsePropertyMatrix };\n"],"names":["CollapsePropertyMatrix","availableActions","childrenForm","isFormDisabled","label","pathToData","propertyName","propertyActions","React","useMemo","map","action","isActionRelatedToCurrentProperty","Array","isArray","applyToProperties","indexOf","isDisplayed","actionId","_jsxs","Flex","display","direction","alignItems","minWidth","_jsx","Header","headers","Box","children","value","required","i","ActionRow","name","isOdd","formatMessage","useIntl","rowToOpen","setRowToOpen","useState","modifiedData","onChangeCollectionTypeLeftActionRowCheckbox","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isActive","recursiveChildren","isCollapsable","length","handleClick","useCallback","prev","handleChangeLeftRowCheckbox","target","hasAllActionsSelected","hasSomeActionsSelected","getRowLabelCheckboxState","_Fragment","Wrapper","$isCollapsable","$isActive","background","RowLabelWithCheckbox","onChange","onClick","someChecked","RequiredSign","CarretIcon","HiddenAction","checkboxName","split","checkboxValue","get","width","cellWidth","position","justifyContent","Checkbox","disabled","join","aria-label","id","defaultMessage","onCheckedChange","checked","data","getCheckboxState","SubActionRow","parentName","pathToDataFromActionRow","recursiveLevel","pathToContentType","propertyToCheck","targetKey","actionIds","reduce","acc","current","push","mainData","styled","rowHeight","theme","activeStyle","CaretDown","colors","neutral200","spaces","handleClickToggleSubLevel","displayedRecursiveChildren","find","paddingLeft","TopTimeline","subChildrenForm","index","isVisible","isArrayType","LeftBorderTimeline","$isVisible","height","StyledBox","Svg","viewBox","fill","xmlns","$color","path","fillRule","clipRule","d","style","flex","RowStyle","$level","CollapseLabel","onKeyDown","key","tabIndex","role","title","RowLabel","ellipsis","propertyLabel","paddingBottom","primary200","Typography","div","svg","firstRowWidth","shrink","variant","textColor","header","toLowerCase","css","primary600","fontWeights","bold"],"mappings":"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"}
1
+ {"version":3,"file":"CollapsePropertyMatrix.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Checkbox,\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Typography,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { CaretDown } 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 {\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 = React.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\" alignItems=\"stretch\" 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 = React.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 } = React.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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={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 <Checkbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!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 checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\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<FlexComponent>(Flex)<{ $isCollapsable?: boolean; $isActive?: boolean }>`\n height: ${rowHeight};\n flex: 1;\n\n &:hover {\n ${({ $isCollapsable, theme }) => $isCollapsable && activeStyle(theme)}\n }\n\n ${({ $isCollapsable }) =>\n $isCollapsable &&\n `\n ${CarretIcon} {\n display: flex;\n }\n `}\n ${({ $isActive, theme }) => $isActive && activeStyle(theme)};\n`;\n\nconst CarretIcon = styled(CaretDown)<{ $isActive: boolean }>`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.neutral200};\n }\n\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 = React.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={`3.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 }: React.KeyboardEvent<HTMLDivElement>) =>\n (key === 'Enter' || key === ' ') && handleClickToggleSubLevel(value),\n tabIndex: 0,\n role: 'button',\n })}\n title={label}\n >\n <RowLabel ellipsis>{label}</RowLabel>\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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value: !!value,\n },\n });\n }}\n checked={\n hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected\n }\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<BoxComponent>(Box)<{ $isVisible?: boolean }>`\n border-left: ${({ $isVisible, theme }) =>\n $isVisible ? `4px solid ${theme.colors.primary200}` : '4px solid transparent'};\n`;\n\nconst RowStyle = styled<FlexComponent>(Flex)<{\n $level: number;\n $isCollapsable?: boolean;\n $isActive?: boolean;\n}>`\n padding-left: ${({ theme }) => theme.spaces[4]};\n width: ${({ $level }) => 145 - $level * 36}px;\n\n &:hover {\n ${({ $isCollapsable, theme }) => $isCollapsable && activeStyle(theme)}\n }\n\n ${({ $isCollapsable }) =>\n $isCollapsable &&\n `\n ${CarretIcon} {\n display: flex;\n }\n `}\n ${({ $isActive, theme }) => $isActive && activeStyle(theme)};\n`;\n\nconst RowLabel = styled<TypographyComponent>(Typography)``;\n\nconst TopTimeline = styled.div`\n padding-top: ${({ theme }) => theme.spaces[2]};\n margin-top: ${({ theme }) => theme.spaces[2]};\n width: 0.4rem;\n background-color: ${({ theme }) => theme.colors.primary200};\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n`;\n\nconst StyledBox = styled<BoxComponent>(Box)`\n transform: translate(-4px, -12px);\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\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\nconst activeStyle = (theme: DefaultTheme) => css`\n color: ${theme.colors.primary600};\n font-weight: ${theme.fontWeights.bold};\n\n ${CarretIcon} {\n path {\n fill: ${theme.colors.primary600};\n }\n }\n`;\n\nexport { CollapsePropertyMatrix };\n"],"names":["CollapsePropertyMatrix","availableActions","childrenForm","isFormDisabled","label","pathToData","propertyName","propertyActions","React","useMemo","map","action","isActionRelatedToCurrentProperty","Array","isArray","applyToProperties","indexOf","isDisplayed","actionId","_jsxs","Flex","display","direction","alignItems","minWidth","_jsx","Header","headers","Box","children","value","required","i","ActionRow","name","isOdd","formatMessage","useIntl","rowToOpen","setRowToOpen","useState","modifiedData","onChangeCollectionTypeLeftActionRowCheckbox","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isActive","recursiveChildren","isCollapsable","length","handleClick","useCallback","prev","handleChangeLeftRowCheckbox","target","hasAllActionsSelected","hasSomeActionsSelected","getRowLabelCheckboxState","_Fragment","Wrapper","$isCollapsable","$isActive","background","RowLabelWithCheckbox","onChange","onClick","someChecked","RequiredSign","CarretIcon","HiddenAction","checkboxName","split","checkboxValue","get","width","cellWidth","position","justifyContent","Checkbox","disabled","join","aria-label","id","defaultMessage","onCheckedChange","checked","data","getCheckboxState","SubActionRow","parentName","pathToDataFromActionRow","recursiveLevel","pathToContentType","propertyToCheck","targetKey","actionIds","reduce","acc","current","push","mainData","styled","rowHeight","theme","activeStyle","CaretDown","colors","neutral200","spaces","handleClickToggleSubLevel","displayedRecursiveChildren","find","paddingLeft","TopTimeline","subChildrenForm","index","isVisible","isArrayType","LeftBorderTimeline","$isVisible","height","StyledBox","Svg","viewBox","fill","xmlns","$color","path","fillRule","clipRule","d","style","flex","RowStyle","$level","CollapseLabel","onKeyDown","key","tabIndex","role","title","RowLabel","ellipsis","propertyLabel","paddingBottom","primary200","Typography","div","svg","firstRowWidth","shrink","variant","textColor","header","toLowerCase","css","primary600","fontWeights","bold"],"mappings":"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"}
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var designSystem = require('@strapi/design-system');
6
6
  var icons = require('@strapi/icons');
7
7
  var reactIntl = require('react-intl');
8
- var styledComponents = require('styled-components');
8
+ var styled = require('styled-components');
9
9
 
10
10
  function _interopNamespaceDefault(e) {
11
11
  var n = Object.create(null);
@@ -44,7 +44,7 @@ const ConditionsButtonImpl = /*#__PURE__*/ React__namespace.forwardRef(({ onClic
44
44
  })
45
45
  });
46
46
  });
47
- const ButtonContainer = styledComponents.styled(designSystem.Box)`
47
+ const ButtonContainer = styled.styled(designSystem.Box)`
48
48
  ${({ $hasConditions, theme })=>$hasConditions && `
49
49
  &:before {
50
50
  content: '';
@@ -62,7 +62,7 @@ const ButtonContainer = styledComponents.styled(designSystem.Box)`
62
62
  * We reference the component directly in other styled-components
63
63
  * and as such we need it to have a className already assigned.
64
64
  * Therefore we wrapped the implementation in a styled function.
65
- */ const ConditionsButton = styledComponents.styled(ConditionsButtonImpl)``;
65
+ */ const ConditionsButton = styled.styled(ConditionsButtonImpl)``;
66
66
 
67
67
  exports.ConditionsButton = ConditionsButton;
68
68
  //# sourceMappingURL=ConditionsButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionsButton.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ConditionsButton.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxComponent, 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 = React.forwardRef<HTMLButtonElement, ConditionsButtonProps>(\n ({ onClick, className, hasConditions = false, variant = 'tertiary' }, ref) => {\n const { formatMessage } = useIntl();\n\n return (\n <ButtonContainer $hasConditions={hasConditions} className={className}>\n <Button variant={variant} startIcon={<Cog />} onClick={onClick} ref={ref} type=\"button\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Button>\n </ButtonContainer>\n );\n }\n);\n\nconst ButtonContainer = styled<BoxComponent>(Box)<{ $hasConditions?: boolean }>`\n ${({ $hasConditions, 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: 2rem;\n background: ${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"],"names":["ConditionsButtonImpl","React","forwardRef","onClick","className","hasConditions","variant","ref","formatMessage","useIntl","_jsx","ButtonContainer","$hasConditions","Button","startIcon","Cog","type","id","defaultMessage","styled","Box","theme","colors","primary600","ConditionsButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAMA,qCAAuBC,gBAAMC,CAAAA,UAAU,CAC3C,CAAC,EAAEC,OAAO,EAAEC,SAAS,EAAEC,gBAAgB,KAAK,EAAEC,OAAU,GAAA,UAAU,EAAE,EAAEC,GAAAA,GAAAA;IACpE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,cAACC,CAAAA,eAAAA,EAAAA;QAAgBC,cAAgBP,EAAAA,aAAAA;QAAeD,SAAWA,EAAAA,SAAAA;AACzD,QAAA,QAAA,gBAAAM,cAACG,CAAAA,mBAAAA,EAAAA;YAAOP,OAASA,EAAAA,OAAAA;AAASQ,YAAAA,SAAAA,gBAAWJ,cAACK,CAAAA,SAAAA,EAAAA,EAAAA,CAAAA;YAAQZ,OAASA,EAAAA,OAAAA;YAASI,GAAKA,EAAAA,GAAAA;YAAKS,IAAK,EAAA,QAAA;sBAC5ER,aAAc,CAAA;gBACbS,EAAI,EAAA,iBAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;;AAIR,CAAA,CAAA;AAGF,MAAMP,eAAAA,GAAkBQ,uBAAqBC,CAAAA,gBAAAA,CAAkC;EAC7E,EAAE,CAAC,EAAER,cAAc,EAAES,KAAK,EAAE,GAC1BT,kBACA;;;;;;;;;AASc,kBAAA,EAAES,KAAMC,CAAAA,MAAM,CAACC,UAAU,CAAC;;AAE1C,EAAA,CAAC;AACH,CAAC;AAED;;;;AAIC,IACKC,MAAAA,gBAAAA,GAAmBL,uBAAOnB,CAAAA,oBAAAA,CAAqB,CAAC;;;;"}
1
+ {"version":3,"file":"ConditionsButton.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ConditionsButton.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, BoxComponent, 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 = React.forwardRef<HTMLButtonElement, ConditionsButtonProps>(\n ({ onClick, className, hasConditions = false, variant = 'tertiary' }, ref) => {\n const { formatMessage } = useIntl();\n\n return (\n <ButtonContainer $hasConditions={hasConditions} className={className}>\n <Button variant={variant} startIcon={<Cog />} onClick={onClick} ref={ref} type=\"button\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Button>\n </ButtonContainer>\n );\n }\n);\n\nconst ButtonContainer = styled<BoxComponent>(Box)<{ $hasConditions?: boolean }>`\n ${({ $hasConditions, 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: 2rem;\n background: ${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"],"names":["ConditionsButtonImpl","React","forwardRef","onClick","className","hasConditions","variant","ref","formatMessage","useIntl","_jsx","ButtonContainer","$hasConditions","Button","startIcon","Cog","type","id","defaultMessage","styled","Box","theme","colors","primary600","ConditionsButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAMA,qCAAuBC,gBAAMC,CAAAA,UAAU,CAC3C,CAAC,EAAEC,OAAO,EAAEC,SAAS,EAAEC,gBAAgB,KAAK,EAAEC,OAAU,GAAA,UAAU,EAAE,EAAEC,GAAAA,GAAAA;IACpE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,cAACC,CAAAA,eAAAA,EAAAA;QAAgBC,cAAgBP,EAAAA,aAAAA;QAAeD,SAAWA,EAAAA,SAAAA;AACzD,QAAA,QAAA,gBAAAM,cAACG,CAAAA,mBAAAA,EAAAA;YAAOP,OAASA,EAAAA,OAAAA;AAASQ,YAAAA,SAAAA,gBAAWJ,cAACK,CAAAA,SAAAA,EAAAA,EAAAA,CAAAA;YAAQZ,OAASA,EAAAA,OAAAA;YAASI,GAAKA,EAAAA,GAAAA;YAAKS,IAAK,EAAA,QAAA;sBAC5ER,aAAc,CAAA;gBACbS,EAAI,EAAA,iBAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;;AAIR,CAAA,CAAA;AAGF,MAAMP,eAAAA,GAAkBQ,aAAqBC,CAAAA,gBAAAA,CAAkC;EAC7E,EAAE,CAAC,EAAER,cAAc,EAAES,KAAK,EAAE,GAC1BT,kBACA;;;;;;;;;AASc,kBAAA,EAAES,KAAMC,CAAAA,MAAM,CAACC,UAAU,CAAC;;AAE1C,EAAA,CAAC;AACH,CAAC;AAED;;;;AAIC,IACKC,MAAAA,gBAAAA,GAAmBL,aAAOnB,CAAAA,oBAAAA,CAAqB,CAAC;;;;"}
@@ -8,7 +8,7 @@ var get = require('lodash/get');
8
8
  var isEmpty = require('lodash/isEmpty');
9
9
  var omit = require('lodash/omit');
10
10
  var reactIntl = require('react-intl');
11
- var styledComponents = require('styled-components');
11
+ var styled = require('styled-components');
12
12
  var strings = require('../../../../../utils/strings.js');
13
13
  var usePermissionsDataManager = require('../hooks/usePermissionsDataManager.js');
14
14
  var constants = require('../utils/constants.js');
@@ -326,10 +326,10 @@ const activeRowStyle = (theme, isActive)=>`
326
326
  ${()=>activeRowStyle(theme, isActive)}
327
327
  }
328
328
  `;
329
- const Wrapper = styledComponents.styled(designSystem.Flex)`
329
+ const Wrapper = styled.styled(designSystem.Flex)`
330
330
  border: 1px solid transparent;
331
331
  `;
332
- const BoxWrapper = styledComponents.styled.div`
332
+ const BoxWrapper = styled.styled.div`
333
333
  display: inline-flex;
334
334
  min-width: 100%;
335
335
  position: relative;
@@ -344,11 +344,11 @@ const BoxWrapper = styledComponents.styled.div`
344
344
  ${({ theme, $isActive })=>activeRowStyle(theme, $isActive)}
345
345
  }
346
346
  `;
347
- const Cell = styledComponents.styled(designSystem.Flex)`
347
+ const Cell = styled.styled(designSystem.Flex)`
348
348
  width: ${constants.cellWidth};
349
349
  position: relative;
350
350
  `;
351
- const Chevron = styledComponents.styled(designSystem.Box)`
351
+ const Chevron = styled.styled(designSystem.Box)`
352
352
  display: none;
353
353
 
354
354
  svg {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTypeCollapses.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Checkbox, Box, BoxComponent, Flex, FlexComponent, Modal } 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 { capitalise } from '../../../../../utils/strings';\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 } 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 alignItems=\"stretch\"\n minWidth=\"100%\"\n borderColor={isActive ? 'primary600' : undefined}\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 { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\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={capitalise(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 tag=\"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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n tag=\"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 <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasConditions ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n </Wrapper>\n <Box bottom=\"10px\" right=\"9px\" position=\"absolute\">\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesConditionButtonHasConditions} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\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 font-weight: ${theme.fontWeights.bold};\n }\n\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled<FlexComponent>(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ $isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n position: relative;\n\n ${ConditionsButton} {\n display: none;\n }\n\n ${({ $isActive, theme }) => $isActive && activeRowStyle(theme, $isActive)}\n\n &:hover {\n ${({ theme, $isActive }) => activeRowStyle(theme, $isActive)}\n }\n`;\n\nconst Cell = styled<FlexComponent>(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled<BoxComponent>(Box)`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n"],"names":["ContentTypeCollapses","actions","isFormDisabled","pathToData","subjects","collapseToOpen","setCollapseToOpen","React","useState","handleClickToggleCollapse","collapseName","nextCollapseToOpen","_jsx","_Fragment","map","uid","label","properties","index","isActive","availableActions","action","isDisplayed","Array","isArray","indexOf","_jsxs","Flex","direction","display","alignItems","minWidth","borderColor","undefined","Collapse","isGrey","onClickToggle","join","propertyLabel","value","children","childrenForm","CollapsePropertyMatrix","propertyName","formatMessage","useIntl","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","mainData","get","split","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","omit","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","checkboxesActions","generateCheckboxesActions","doesConditionButtonHasConditions","some","hasConditions","BoxWrapper","$isActive","Wrapper","height","rowHeight","flex","background","RowLabelWithCheckbox","isCollapsable","capitalise","checkboxName","onChange","onClick","someChecked","Chevron","paddingLeft","ChevronUp","ChevronDown","style","actionId","restAction","HiddenAction","isParentCheckbox","permissionLabel","Cell","justifyContent","Box","tag","position","top","left","width","borderRadius","Checkbox","disabled","name","aria-label","id","defaultMessage","onCheckedChange","target","checked","bottom","right","Modal","Root","open","onOpenChange","prev","Trigger","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","applyToProperties","baseCheckboxNameArray","checkboxNameArray","isEmpty","conditionsValue","baseCheckboxAction","createArrayOfValues","val","pathToConditionsObject","activeRowStyle","theme","colors","primary100","primary600","fontWeights","bold","styled","div","cellWidth"],"mappings":"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"}
1
+ {"version":3,"file":"ContentTypeCollapses.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Checkbox, Box, BoxComponent, Flex, FlexComponent, Modal } 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 { capitalise } from '../../../../../utils/strings';\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 } 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 alignItems=\"stretch\"\n minWidth=\"100%\"\n borderColor={isActive ? 'primary600' : undefined}\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 { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\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={capitalise(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 tag=\"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 <Checkbox\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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n tag=\"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 <Checkbox\n disabled={isFormDisabled}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={hasConditions ? 'indeterminate' : hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n </Wrapper>\n <Box bottom=\"10px\" right=\"9px\" position=\"absolute\">\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesConditionButtonHasConditions} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\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 font-weight: ${theme.fontWeights.bold};\n }\n\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled<FlexComponent>(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ $isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n position: relative;\n\n ${ConditionsButton} {\n display: none;\n }\n\n ${({ $isActive, theme }) => $isActive && activeRowStyle(theme, $isActive)}\n\n &:hover {\n ${({ theme, $isActive }) => activeRowStyle(theme, $isActive)}\n }\n`;\n\nconst Cell = styled<FlexComponent>(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled<BoxComponent>(Box)`\n display: none;\n\n svg {\n width: 1.4rem;\n }\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n"],"names":["ContentTypeCollapses","actions","isFormDisabled","pathToData","subjects","collapseToOpen","setCollapseToOpen","React","useState","handleClickToggleCollapse","collapseName","nextCollapseToOpen","_jsx","_Fragment","map","uid","label","properties","index","isActive","availableActions","action","isDisplayed","Array","isArray","indexOf","_jsxs","Flex","direction","display","alignItems","minWidth","borderColor","undefined","Collapse","isGrey","onClickToggle","join","propertyLabel","value","children","childrenForm","CollapsePropertyMatrix","propertyName","formatMessage","useIntl","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","mainData","get","split","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","omit","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","checkboxesActions","generateCheckboxesActions","doesConditionButtonHasConditions","some","hasConditions","BoxWrapper","$isActive","Wrapper","height","rowHeight","flex","background","RowLabelWithCheckbox","isCollapsable","capitalise","checkboxName","onChange","onClick","someChecked","Chevron","paddingLeft","ChevronUp","ChevronDown","style","actionId","restAction","HiddenAction","isParentCheckbox","permissionLabel","Cell","justifyContent","Box","tag","position","top","left","width","borderRadius","Checkbox","disabled","name","aria-label","id","defaultMessage","onCheckedChange","target","checked","bottom","right","Modal","Root","open","onOpenChange","prev","Trigger","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","applyToProperties","baseCheckboxNameArray","checkboxNameArray","isEmpty","conditionsValue","baseCheckboxAction","createArrayOfValues","val","pathToConditionsObject","activeRowStyle","theme","colors","primary100","primary600","fontWeights","bold","styled","div","cellWidth"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var styledComponents = require('styled-components');
3
+ var styled = require('styled-components');
4
4
  var constants = require('../utils/constants.js');
5
5
 
6
- const HiddenAction = styledComponents.styled.div`
6
+ const HiddenAction = styled.styled.div`
7
7
  width: ${constants.cellWidth};
8
8
  `;
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenAction.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/HiddenAction.tsx"],"sourcesContent":["import { styled } from 'styled-components';\n\nimport { cellWidth } from '../utils/constants';\n\nconst HiddenAction = styled.div`\n width: ${cellWidth};\n`;\n\nexport { HiddenAction };\n"],"names":["HiddenAction","styled","div","cellWidth"],"mappings":";;;;;AAIMA,MAAAA,YAAAA,GAAeC,uBAAOC,CAAAA,GAAG;AACtB,SAAA,EAAEC,mBAAU,CAAA;AACrB;;;;"}
1
+ {"version":3,"file":"HiddenAction.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/HiddenAction.tsx"],"sourcesContent":["import { styled } from 'styled-components';\n\nimport { cellWidth } from '../utils/constants';\n\nconst HiddenAction = styled.div`\n width: ${cellWidth};\n`;\n\nexport { HiddenAction };\n"],"names":["HiddenAction","styled","div","cellWidth"],"mappings":";;;;;AAIMA,MAAAA,YAAAA,GAAeC,aAAOC,CAAAA,GAAG;AACtB,SAAA,EAAEC,mBAAU,CAAA;AACrB;;;;"}
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var designSystem = require('@strapi/design-system');
6
6
  var get = require('lodash/get');
7
7
  var reactIntl = require('react-intl');
8
- var styledComponents = require('styled-components');
8
+ var styled = require('styled-components');
9
9
  var strings = require('../../../../../utils/strings.js');
10
10
  var usePermissionsDataManager = require('../hooks/usePermissionsDataManager.js');
11
11
  var createArrayOfValues = require('../utils/createArrayOfValues.js');
@@ -256,11 +256,11 @@ const SubCategory = ({ actions = [], categoryName, isFormDisabled, subCategoryNa
256
256
  })
257
257
  });
258
258
  };
259
- const Border = styledComponents.styled(designSystem.Box)`
259
+ const Border = styled.styled(designSystem.Box)`
260
260
  align-self: center;
261
261
  border-top: 1px solid ${({ theme })=>theme.colors.neutral150};
262
262
  `;
263
- const CheckboxWrapper = styledComponents.styled.div`
263
+ const CheckboxWrapper = styled.styled.div`
264
264
  position: relative;
265
265
  word-break: keep-all;
266
266
  ${({ $hasConditions, $disabled, theme })=>$hasConditions && `
@@ -1 +1 @@
1
- {"version":3,"file":"PluginsAndSettings.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Modal,\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 return (\n <Box padding={6} background=\"neutral0\">\n <Accordion.Root size=\"M\">\n {layout.map(({ category, categoryId, childrenForm }, index) => {\n return (\n <Row\n key={category}\n childrenForm={childrenForm}\n variant={index % 2 === 1 ? 'primary' : 'secondary'}\n name={category}\n pathToData={[restProps.kind, categoryId]}\n {...restProps}\n />\n );\n })}\n </Accordion.Root>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Row\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RowProps\n extends Pick<Layout[number], 'childrenForm'>,\n Pick<Accordion.HeaderProps, 'variant'> {\n kind: Exclude<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n name: string;\n isFormDisabled?: boolean;\n pathToData: string[];\n}\n\nconst Row = ({\n childrenForm,\n kind,\n name,\n isFormDisabled = false,\n variant,\n pathToData,\n}: RowProps) => {\n const { formatMessage } = useIntl();\n\n const categoryName = name.split('::').pop() ?? '';\n\n return (\n <Accordion.Item value={name}>\n <Accordion.Header variant={variant}>\n <Accordion.Trigger\n caretPosition=\"right\"\n description={`${formatMessage(\n { id: 'Settings.permissions.category', defaultMessage: categoryName },\n { category: categoryName }\n )} ${kind === 'plugins' ? 'plugin' : kind}`}\n >\n {capitalise(categoryName)}\n </Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\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 </Accordion.Content>\n </Accordion.Item>\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 { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\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 // 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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: pathToData.join('..'),\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : 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.Root gap={2} style={{ flex: 1 }}>\n {formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {\n return (\n <Grid.Item col={3} key={action} direction=\"column\" alignItems=\"start\">\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={value}\n >\n {displayName}\n </Checkbox>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesButtonHasCondition} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[categoryName, subCategoryName]}\n actions={formattedActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\n </Flex>\n </Box>\n </>\n );\n};\n\nconst Border = styled<BoxComponent>(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: -0.4rem;\n left: -0.8rem;\n width: 0.6rem;\n height: 0.6rem;\n border-radius: 2rem;\n background: ${$disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\nexport { PluginsAndSettingsPermissions };\n"],"names":["PluginsAndSettingsPermissions","layout","restProps","_jsx","Box","padding","background","Accordion","Root","size","map","category","categoryId","childrenForm","index","Row","variant","name","pathToData","kind","isFormDisabled","formatMessage","useIntl","categoryName","split","pop","_jsxs","Item","value","Header","Trigger","caretPosition","description","id","defaultMessage","capitalise","Content","actions","subCategoryName","subCategoryId","SubCategory","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","React","useState","mainData","get","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","removeConditionKeyFromData","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","formattedActions","action","checkboxName","checkboxValue","conditionValue","hasConditions","createArrayOfValues","some","val","isDisplayed","join","label","displayName","actionId","pathToConditionsObject","datum","doesButtonHasCondition","entries","catName","conditions","_Fragment","Flex","justifyContent","alignItems","paddingRight","Typography","textColor","Border","flex","paddingLeft","Checkbox","disabled","onCheckedChange","target","checked","paddingTop","paddingBottom","Grid","gap","style","col","direction","CheckboxWrapper","$disabled","$hasConditions","Modal","open","onOpenChange","prev","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","styled","theme","colors","neutral150","div","neutral100","primary600"],"mappings":"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"}
1
+ {"version":3,"file":"PluginsAndSettings.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Modal,\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 return (\n <Box padding={6} background=\"neutral0\">\n <Accordion.Root size=\"M\">\n {layout.map(({ category, categoryId, childrenForm }, index) => {\n return (\n <Row\n key={category}\n childrenForm={childrenForm}\n variant={index % 2 === 1 ? 'primary' : 'secondary'}\n name={category}\n pathToData={[restProps.kind, categoryId]}\n {...restProps}\n />\n );\n })}\n </Accordion.Root>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Row\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RowProps\n extends Pick<Layout[number], 'childrenForm'>,\n Pick<Accordion.HeaderProps, 'variant'> {\n kind: Exclude<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n name: string;\n isFormDisabled?: boolean;\n pathToData: string[];\n}\n\nconst Row = ({\n childrenForm,\n kind,\n name,\n isFormDisabled = false,\n variant,\n pathToData,\n}: RowProps) => {\n const { formatMessage } = useIntl();\n\n const categoryName = name.split('::').pop() ?? '';\n\n return (\n <Accordion.Item value={name}>\n <Accordion.Header variant={variant}>\n <Accordion.Trigger\n caretPosition=\"right\"\n description={`${formatMessage(\n { id: 'Settings.permissions.category', defaultMessage: categoryName },\n { category: categoryName }\n )} ${kind === 'plugins' ? 'plugin' : kind}`}\n >\n {capitalise(categoryName)}\n </Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\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 </Accordion.Content>\n </Accordion.Item>\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 { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [isConditionModalOpen, setIsConditionModalOpen] = React.useState(false);\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 // 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 onCheckedChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: pathToData.join('..'),\n value: !!value,\n },\n });\n }}\n checked={hasSomeActionsSelected ? 'indeterminate' : 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.Root gap={2} style={{ flex: 1 }}>\n {formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {\n return (\n <Grid.Item col={3} key={action} direction=\"column\" alignItems=\"start\">\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 onCheckedChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value: !!value,\n },\n });\n }}\n checked={value}\n >\n {displayName}\n </Checkbox>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n <Modal.Root\n open={isConditionModalOpen}\n onOpenChange={() => {\n setIsConditionModalOpen((prev) => !prev);\n }}\n >\n <Modal.Trigger>\n <ConditionsButton hasConditions={doesButtonHasCondition} />\n </Modal.Trigger>\n <ConditionsModal\n headerBreadCrumbs={[categoryName, subCategoryName]}\n actions={formattedActions}\n isFormDisabled={isFormDisabled}\n onClose={() => {\n setIsConditionModalOpen(false);\n }}\n />\n </Modal.Root>\n </Flex>\n </Box>\n </>\n );\n};\n\nconst Border = styled<BoxComponent>(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: -0.4rem;\n left: -0.8rem;\n width: 0.6rem;\n height: 0.6rem;\n border-radius: 2rem;\n background: ${$disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\nexport { PluginsAndSettingsPermissions };\n"],"names":["PluginsAndSettingsPermissions","layout","restProps","_jsx","Box","padding","background","Accordion","Root","size","map","category","categoryId","childrenForm","index","Row","variant","name","pathToData","kind","isFormDisabled","formatMessage","useIntl","categoryName","split","pop","_jsxs","Item","value","Header","Trigger","caretPosition","description","id","defaultMessage","capitalise","Content","actions","subCategoryName","subCategoryId","SubCategory","modifiedData","onChangeParentCheckbox","onChangeSimpleCheckbox","usePermissionsDataManager","isConditionModalOpen","setIsConditionModalOpen","React","useState","mainData","get","dataWithoutCondition","useMemo","Object","keys","reduce","acc","current","removeConditionKeyFromData","hasAllActionsSelected","hasSomeActionsSelected","getCheckboxState","formattedActions","action","checkboxName","checkboxValue","conditionValue","hasConditions","createArrayOfValues","some","val","isDisplayed","join","label","displayName","actionId","pathToConditionsObject","datum","doesButtonHasCondition","entries","catName","conditions","_Fragment","Flex","justifyContent","alignItems","paddingRight","Typography","textColor","Border","flex","paddingLeft","Checkbox","disabled","onCheckedChange","target","checked","paddingTop","paddingBottom","Grid","gap","style","col","direction","CheckboxWrapper","$disabled","$hasConditions","Modal","open","onOpenChange","prev","ConditionsButton","ConditionsModal","headerBreadCrumbs","onClose","styled","theme","colors","neutral150","div","neutral100","primary600"],"mappings":"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"}
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var designSystem = require('@strapi/design-system');
5
5
  var icons = require('@strapi/icons');
6
6
  var reactIntl = require('react-intl');
7
- var styledComponents = require('styled-components');
7
+ var styled = require('styled-components');
8
8
  var Form = require('../../../../../components/Form.js');
9
9
  var useAdminRoles = require('../../../../../hooks/useAdminRoles.js');
10
10
 
@@ -54,7 +54,7 @@ const SelectRoles = ({ disabled })=>{
54
54
  ]
55
55
  });
56
56
  };
57
- const rotation = styledComponents.keyframes`
57
+ const rotation = styled.keyframes`
58
58
  from {
59
59
  transform: rotate(0deg);
60
60
  }
@@ -62,7 +62,7 @@ const rotation = styledComponents.keyframes`
62
62
  transform: rotate(359deg);
63
63
  }
64
64
  `;
65
- const LoadingWrapper = styledComponents.styled.div`
65
+ const LoadingWrapper = styled.styled.div`
66
66
  animation: ${rotation} 2s infinite linear;
67
67
  `;
68
68
  const Loader = ()=>/*#__PURE__*/ jsxRuntime.jsx(LoadingWrapper, {