@strapi/admin 4.6.0-beta.1 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/.browserslistrc +3 -0
  2. package/admin/src/components/ConfigurationsProvider/index.js +21 -18
  3. package/admin/src/components/ConfigurationsProvider/reducer.js +1 -0
  4. package/admin/src/components/GlobalStyle/index.js +0 -6
  5. package/admin/src/components/GuidedTour/Modal/components/Content.js +7 -2
  6. package/admin/src/components/LeftMenu/index.js +60 -53
  7. package/admin/src/components/Notifications/Notification/index.js +25 -3
  8. package/admin/src/components/Notifications/reducer.js +1 -0
  9. package/admin/src/components/UnauthenticatedLogo/index.js +1 -1
  10. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +8 -6
  11. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +4 -0
  12. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +1 -1
  13. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +5 -6
  14. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +30 -6
  15. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +18 -6
  16. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +2 -1
  17. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +2 -1
  18. package/admin/src/content-manager/components/FieldComponent/index.js +6 -4
  19. package/admin/src/content-manager/components/Hint/index.js +4 -17
  20. package/admin/src/content-manager/components/InputUID/index.js +3 -14
  21. package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +22 -27
  22. package/admin/src/content-manager/components/RelationInput/RelationInput.js +6 -8
  23. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +6 -1
  24. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +10 -6
  25. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +17 -6
  26. package/admin/src/content-manager/components/RelationInputDataManager/utils/select.js +5 -5
  27. package/admin/src/content-manager/components/RepeatableComponent/index.js +18 -23
  28. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +19 -28
  29. package/admin/src/content-manager/components/Wysiwyg/index.js +4 -8
  30. package/admin/src/content-manager/hooks/useCallbackRef.js +23 -0
  31. package/admin/src/content-manager/hooks/useDragAndDrop.js +1 -1
  32. package/admin/src/content-manager/hooks/useKeyboardDragAndDrop.js +10 -2
  33. package/admin/src/content-manager/hooks/useRelation/useRelation.js +9 -6
  34. package/admin/src/content-manager/pages/App/LeftMenu/index.js +5 -12
  35. package/admin/src/content-manager/pages/App/LeftMenu/utils/index.js +1 -0
  36. package/admin/src/content-manager/pages/App/LeftMenu/utils/matchByTitle.js +24 -0
  37. package/admin/src/content-manager/pages/EditView/Header/index.js +1 -1
  38. package/admin/src/content-manager/pages/EditView/{Informations → Information}/index.js +55 -39
  39. package/admin/src/content-manager/pages/EditView/{Informations → Information}/utils/getUnits.js +0 -0
  40. package/admin/src/content-manager/pages/EditView/index.js +3 -3
  41. package/admin/src/content-manager/pages/ListSettingsView/index.js +3 -5
  42. package/admin/src/content-manager/utils/getMaxTempKey.js +4 -2
  43. package/admin/src/content-manager/utils/paths.js +37 -0
  44. package/admin/src/core/store/configureStore.js +22 -4
  45. package/admin/src/core/utils/axiosInstance.js +4 -2
  46. package/admin/src/hooks/index.js +0 -1
  47. package/admin/src/hooks/useSettingsMenu/init.js +2 -18
  48. package/admin/src/hooks/useSettingsMenu/utils/adminLinks.js +4 -0
  49. package/admin/src/hooks/useSettingsMenu/utils/customAdminLinks.js +1 -0
  50. package/admin/src/hooks/useSettingsMenu/utils/defaultAdminLinks.js +21 -0
  51. package/admin/src/index.js +3 -3
  52. package/admin/src/pages/App/index.js +8 -3
  53. package/admin/src/pages/ProfilePage/index.js +1 -1
  54. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +142 -0
  55. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/{Form → CustomizationInfos}/init.js +3 -0
  56. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/{Form → CustomizationInfos}/reducer.js +20 -0
  57. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +21 -17
  58. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +68 -42
  59. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +5 -1
  60. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +1 -1
  61. package/admin/src/permissions/defaultPermissions.js +8 -0
  62. package/admin/src/translations/ca.json +2 -3
  63. package/admin/src/translations/dk.json +2 -2
  64. package/admin/src/translations/en.json +63 -16
  65. package/admin/src/translations/es.json +2 -2
  66. package/admin/src/translations/fr.json +2 -2
  67. package/admin/src/translations/hu.json +197 -2
  68. package/admin/src/translations/ja.json +2 -2
  69. package/admin/src/translations/nl.json +2 -2
  70. package/admin/src/translations/zh-Hans.json +1 -1
  71. package/admin/src/translations/zh.json +11 -3
  72. package/build/2607.ce06608e.chunk.js +66 -0
  73. package/build/2743.dea372fb.chunk.js +42 -0
  74. package/build/3075.03ebe93d.chunk.js +115 -0
  75. package/build/3632.963ac97d.chunk.js +138 -0
  76. package/build/4318.8cb388a5.chunk.js +30 -0
  77. package/build/4656.a0d43cca.chunk.js +159 -0
  78. package/build/5015.8e3fe50b.chunk.js +6 -0
  79. package/build/5910.a5374848.chunk.js +209 -0
  80. package/build/8633.4af74a50.chunk.js +1 -0
  81. package/build/9641.a311b612.chunk.js +276 -0
  82. package/build/9707.62831b4d.chunk.js +101 -0
  83. package/build/Admin-authenticatedApp.50dc27f9.chunk.js +75 -0
  84. package/build/Admin_InternalErrorPage.157152a8.chunk.js +1 -0
  85. package/build/Admin_homePage.79ab880c.chunk.js +77 -0
  86. package/build/Admin_marketplace.eabf21b2.chunk.js +26 -0
  87. package/build/Admin_pluginsPage.953e796b.chunk.js +6 -0
  88. package/build/Admin_profilePage.5c2efda5.chunk.js +15 -0
  89. package/build/Admin_settingsPage.19cfb9ca.chunk.js +178 -0
  90. package/build/Upload_ConfigureTheView.3f2b6e6a.chunk.js +1 -0
  91. package/build/admin-app.34295b50.chunk.js +112 -0
  92. package/build/admin-edit-roles-page.d50d9654.chunk.js +1 -0
  93. package/build/admin-edit-users.912b856d.chunk.js +10 -0
  94. package/build/admin-users.e36e7111.chunk.js +11 -0
  95. package/build/api-tokens-create-page.0e686c30.chunk.js +1 -0
  96. package/build/api-tokens-edit-page.d6c7487b.chunk.js +1 -0
  97. package/build/api-tokens-list-page.1cd86136.chunk.js +16 -0
  98. package/build/ar-json.932794f7.chunk.js +1 -0
  99. package/build/audit-logs-settings-page.308a6250.chunk.js +1 -0
  100. package/build/ca-json.f6a0f472.chunk.js +1 -0
  101. package/build/codemirror-addon-closebrackets.71aa4bbd.chunk.js +2 -0
  102. package/build/codemirror-addon-lint-js.405f70fb.chunk.js +1 -0
  103. package/build/codemirror-addon-lint.8487ad3d.chunk.js +1 -0
  104. package/build/codemirror-addon-mark-selection.1928c849.chunk.js +1 -0
  105. package/build/{codemirror-css.4e2bbed3.chunk.js → codemirror-css.359a2a4b.chunk.js} +2 -3
  106. package/build/codemirror-javacript.af237b68.chunk.js +1 -0
  107. package/build/codemirror-theme.2fe63a16.chunk.js +33 -0
  108. package/build/content-manager.851f40ce.chunk.js +1170 -0
  109. package/build/content-type-builder-list-view.4243b2b1.chunk.js +198 -0
  110. package/build/content-type-builder-translation-ar-json.56d8fcf4.chunk.js +1 -0
  111. package/build/content-type-builder-translation-cs-json.a5b299ca.chunk.js +1 -0
  112. package/build/content-type-builder-translation-de-json.0979cccb.chunk.js +1 -0
  113. package/build/content-type-builder-translation-dk-json.e05583e9.chunk.js +1 -0
  114. package/build/content-type-builder-translation-en-json.e577d595.chunk.js +1 -0
  115. package/build/content-type-builder-translation-es-json.fe4daad8.chunk.js +1 -0
  116. package/build/content-type-builder-translation-fr-json.b1eb52f6.chunk.js +1 -0
  117. package/build/content-type-builder-translation-id-json.ee3b36bb.chunk.js +1 -0
  118. package/build/content-type-builder-translation-it-json.13b3c26a.chunk.js +1 -0
  119. package/build/content-type-builder-translation-ja-json.9be0d5b2.chunk.js +1 -0
  120. package/build/content-type-builder-translation-ko-json.8a274be5.chunk.js +1 -0
  121. package/build/content-type-builder-translation-ms-json.2d29c1e0.chunk.js +1 -0
  122. package/build/content-type-builder-translation-nl-json.40bbc562.chunk.js +1 -0
  123. package/build/content-type-builder-translation-pl-json.24a34349.chunk.js +1 -0
  124. package/build/content-type-builder-translation-pt-BR-json.97f71a9d.chunk.js +1 -0
  125. package/build/content-type-builder-translation-pt-json.ddb44f8c.chunk.js +1 -0
  126. package/build/content-type-builder-translation-ru-json.54d11230.chunk.js +1 -0
  127. package/build/content-type-builder-translation-sk-json.626c9493.chunk.js +1 -0
  128. package/build/content-type-builder-translation-sv-json.59f5e1e5.chunk.js +1 -0
  129. package/build/content-type-builder-translation-th-json.6fe3ed55.chunk.js +1 -0
  130. package/build/content-type-builder-translation-tr-json.cea4d226.chunk.js +1 -0
  131. package/build/content-type-builder-translation-uk-json.c4524247.chunk.js +1 -0
  132. package/build/content-type-builder-translation-zh-Hans-json.52a30266.chunk.js +1 -0
  133. package/build/content-type-builder-translation-zh-json.faedd610.chunk.js +1 -0
  134. package/build/content-type-builder.365b6bf4.chunk.js +125 -0
  135. package/build/cs-json.79879fb6.chunk.js +1 -0
  136. package/build/de-json.30e1f35b.chunk.js +1 -0
  137. package/build/dk-json.e6d9ffa4.chunk.js +1 -0
  138. package/build/email-settings-page.379552b1.chunk.js +15 -0
  139. package/build/email-translation-ar-json.88304564.chunk.js +1 -0
  140. package/build/email-translation-cs-json.6eaeec6a.chunk.js +1 -0
  141. package/build/email-translation-de-json.1b334230.chunk.js +1 -0
  142. package/build/email-translation-dk-json.85402492.chunk.js +1 -0
  143. package/build/email-translation-en-json.4211d4d0.chunk.js +1 -0
  144. package/build/email-translation-es-json.0b6b1006.chunk.js +1 -0
  145. package/build/email-translation-fr-json.78be2787.chunk.js +1 -0
  146. package/build/email-translation-id-json.c97239fe.chunk.js +1 -0
  147. package/build/email-translation-it-json.a2ed8c78.chunk.js +1 -0
  148. package/build/email-translation-ja-json.63eebd02.chunk.js +1 -0
  149. package/build/email-translation-ko-json.4de49b23.chunk.js +1 -0
  150. package/build/email-translation-ms-json.7390477e.chunk.js +1 -0
  151. package/build/email-translation-nl-json.377bdd9f.chunk.js +1 -0
  152. package/build/email-translation-pl-json.97d0db97.chunk.js +1 -0
  153. package/build/email-translation-pt-BR-json.81cca553.chunk.js +1 -0
  154. package/build/email-translation-pt-json.2a2a0643.chunk.js +1 -0
  155. package/build/email-translation-ru-json.6bce37dd.chunk.js +1 -0
  156. package/build/email-translation-sk-json.53da2fcd.chunk.js +1 -0
  157. package/build/email-translation-th-json.660fa9a8.chunk.js +1 -0
  158. package/build/email-translation-tr-json.e6c0f8fc.chunk.js +1 -0
  159. package/build/email-translation-uk-json.bd1fb6bf.chunk.js +1 -0
  160. package/build/email-translation-vi-json.9fb7e6d7.chunk.js +1 -0
  161. package/build/email-translation-zh-Hans-json.c6841563.chunk.js +1 -0
  162. package/build/email-translation-zh-json.7a2232ea.chunk.js +1 -0
  163. package/build/en-json.38d182e5.chunk.js +1 -0
  164. package/build/es-json.e275481d.chunk.js +1 -0
  165. package/build/fr-json.78545ef8.chunk.js +1 -0
  166. package/build/gu-json.676518f2.chunk.js +1 -0
  167. package/build/he-json.ad22e8cc.chunk.js +1 -0
  168. package/build/hi-json.19b51c09.chunk.js +1 -0
  169. package/build/highlight.js.26ef649f.chunk.js +85 -0
  170. package/build/hu-json.f947088f.chunk.js +1 -0
  171. package/build/i18n-settings-page.3ab28b1a.chunk.js +65 -0
  172. package/build/i18n-translation-de-json.362384a6.chunk.js +1 -0
  173. package/build/i18n-translation-dk-json.89401417.chunk.js +1 -0
  174. package/build/i18n-translation-en-json.60af6722.chunk.js +1 -0
  175. package/build/i18n-translation-es-json.87b494d1.chunk.js +1 -0
  176. package/build/i18n-translation-fr-json.57ddc77e.chunk.js +1 -0
  177. package/build/i18n-translation-ko-json.ef4f9471.chunk.js +1 -0
  178. package/build/i18n-translation-pl-json.dfac513d.chunk.js +1 -0
  179. package/build/i18n-translation-tr-json.10f0600d.chunk.js +1 -0
  180. package/build/i18n-translation-zh-Hans-json.757ce62d.chunk.js +1 -0
  181. package/build/i18n-translation-zh-json.bef2dc07.chunk.js +1 -0
  182. package/build/id-json.504daa84.chunk.js +1 -0
  183. package/build/index.html +1 -1
  184. package/build/it-json.2fd90f4d.chunk.js +1 -0
  185. package/build/ja-json.c9f12d0b.chunk.js +1 -0
  186. package/build/ko-json.ef463065.chunk.js +1 -0
  187. package/build/main.9f31732e.js +4454 -0
  188. package/build/ml-json.490f666c.chunk.js +1 -0
  189. package/build/ms-json.db87d8d3.chunk.js +1 -0
  190. package/build/nl-json.c416295a.chunk.js +1 -0
  191. package/build/no-json.1a2258ba.chunk.js +1 -0
  192. package/build/pl-json.8cf0c871.chunk.js +1 -0
  193. package/build/pt-BR-json.51fab8d0.chunk.js +1 -0
  194. package/build/pt-json.62927d1e.chunk.js +1 -0
  195. package/build/ru-json.3b411a39.chunk.js +1 -0
  196. package/build/runtime~main.2b8e2318.js +2 -0
  197. package/build/sa-json.f3fa5407.chunk.js +1 -0
  198. package/build/sk-json.9ec60d9f.chunk.js +1 -0
  199. package/build/sso-settings-page.b64a44e8.chunk.js +41 -0
  200. package/build/sv-json.c6b0c237.chunk.js +1 -0
  201. package/build/th-json.6e68155c.chunk.js +1 -0
  202. package/build/tr-json.9f41dc08.chunk.js +1 -0
  203. package/build/uk-json.b2fcd567.chunk.js +1 -0
  204. package/build/upload-settings.6c26ff37.chunk.js +89 -0
  205. package/build/upload-translation-ca-json.57954414.chunk.js +1 -0
  206. package/build/upload-translation-de-json.420c943b.chunk.js +1 -0
  207. package/build/upload-translation-dk-json.bbb2fa05.chunk.js +1 -0
  208. package/build/upload-translation-en-json.8b7573ce.chunk.js +1 -0
  209. package/build/upload-translation-es-json.ba2eb03a.chunk.js +1 -0
  210. package/build/upload-translation-fr-json.84429734.chunk.js +1 -0
  211. package/build/upload-translation-he-json.0a830937.chunk.js +1 -0
  212. package/build/upload-translation-it-json.e87d7966.chunk.js +1 -0
  213. package/build/upload-translation-ja-json.44b88e7a.chunk.js +1 -0
  214. package/build/upload-translation-ko-json.a52eab64.chunk.js +1 -0
  215. package/build/upload-translation-ms-json.74f6d746.chunk.js +1 -0
  216. package/build/upload-translation-pl-json.426f31c9.chunk.js +1 -0
  217. package/build/upload-translation-pt-BR-json.d1704f0b.chunk.js +1 -0
  218. package/build/upload-translation-pt-json.6b937fdf.chunk.js +1 -0
  219. package/build/upload-translation-ru-json.675f6b93.chunk.js +1 -0
  220. package/build/upload-translation-sk-json.483a18f6.chunk.js +1 -0
  221. package/build/upload-translation-th-json.3847dae0.chunk.js +1 -0
  222. package/build/upload-translation-tr-json.74117e5c.chunk.js +1 -0
  223. package/build/upload-translation-uk-json.9950466a.chunk.js +1 -0
  224. package/build/upload-translation-zh-Hans-json.3da5cf56.chunk.js +1 -0
  225. package/build/upload-translation-zh-json.e1dd6eb2.chunk.js +1 -0
  226. package/build/upload.2c69d238.chunk.js +38 -0
  227. package/build/users-advanced-settings-page.c4270682.chunk.js +13 -0
  228. package/build/users-email-settings-page.60422a2f.chunk.js +28 -0
  229. package/build/users-permissions-translation-ar-json.7d87d54d.chunk.js +1 -0
  230. package/build/users-permissions-translation-cs-json.7e23424a.chunk.js +1 -0
  231. package/build/users-permissions-translation-de-json.a6fb670f.chunk.js +1 -0
  232. package/build/users-permissions-translation-dk-json.60e50f48.chunk.js +1 -0
  233. package/build/users-permissions-translation-en-json.4b302272.chunk.js +1 -0
  234. package/build/users-permissions-translation-es-json.35007573.chunk.js +1 -0
  235. package/build/users-permissions-translation-fr-json.7e55bbbb.chunk.js +1 -0
  236. package/build/users-permissions-translation-id-json.a5a0fb59.chunk.js +1 -0
  237. package/build/users-permissions-translation-it-json.0705465d.chunk.js +1 -0
  238. package/build/users-permissions-translation-ja-json.891fe76e.chunk.js +1 -0
  239. package/build/users-permissions-translation-ko-json.357d7a33.chunk.js +1 -0
  240. package/build/users-permissions-translation-ms-json.c83f87c4.chunk.js +1 -0
  241. package/build/users-permissions-translation-nl-json.c9f92a3c.chunk.js +1 -0
  242. package/build/users-permissions-translation-pl-json.0a7287d1.chunk.js +1 -0
  243. package/build/users-permissions-translation-pt-BR-json.1b6d2920.chunk.js +1 -0
  244. package/build/users-permissions-translation-pt-json.a7eda429.chunk.js +1 -0
  245. package/build/users-permissions-translation-ru-json.20e177db.chunk.js +1 -0
  246. package/build/users-permissions-translation-sk-json.7f37180f.chunk.js +1 -0
  247. package/build/users-permissions-translation-sv-json.17187818.chunk.js +1 -0
  248. package/build/users-permissions-translation-th-json.1e9c0247.chunk.js +1 -0
  249. package/build/users-permissions-translation-tr-json.2bd7ff98.chunk.js +1 -0
  250. package/build/users-permissions-translation-uk-json.6a0a1572.chunk.js +1 -0
  251. package/build/users-permissions-translation-vi-json.6722a8a2.chunk.js +1 -0
  252. package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +1 -0
  253. package/build/users-permissions-translation-zh-json.7978eaa6.chunk.js +1 -0
  254. package/build/users-providers-settings-page.e1834060.chunk.js +104 -0
  255. package/build/users-roles-settings-page.3ef35132.chunk.js +30 -0
  256. package/build/vi-json.f08d7d03.chunk.js +1 -0
  257. package/build/webhook-edit-page.c0080dc1.chunk.js +75 -0
  258. package/build/webhook-list-page.f75ba3f2.chunk.js +42 -0
  259. package/build/zh-Hans-json.9c0eac99.chunk.js +1 -0
  260. package/build/zh-json.f88f563d.chunk.js +1 -0
  261. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +17 -0
  262. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +111 -0
  263. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +22 -0
  264. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +56 -0
  265. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +35 -0
  266. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +88 -0
  267. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js +24 -0
  268. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +98 -0
  269. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +36 -0
  270. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +38 -0
  271. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js +12 -0
  272. package/ee/admin/pages/SettingsPage/{SingleSignOn → pages/SingleSignOn}/index.js +3 -3
  273. package/ee/admin/pages/SettingsPage/{SingleSignOn → pages/SingleSignOn}/utils/schema.js +0 -0
  274. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +28 -16
  275. package/ee/server/bootstrap.js +8 -20
  276. package/ee/server/config/admin-actions.js +32 -0
  277. package/ee/server/controllers/audit-logs.js +24 -0
  278. package/ee/server/controllers/authentication/middlewares.js +2 -1
  279. package/ee/server/controllers/index.js +1 -0
  280. package/ee/server/destroy.js +12 -0
  281. package/ee/server/index.js +2 -0
  282. package/ee/server/register.js +15 -0
  283. package/ee/server/routes/index.js +94 -10
  284. package/ee/server/services/audit-logs.js +153 -0
  285. package/ee/server/services/passport/sso.js +13 -1
  286. package/ee/server/services/passport.js +1 -4
  287. package/ee/server/validation/audit-logs.js +18 -0
  288. package/package.json +20 -15
  289. package/server/controllers/admin.js +3 -2
  290. package/server/controllers/authentication.js +8 -1
  291. package/server/index.js +2 -0
  292. package/server/middlewares/index.js +7 -0
  293. package/server/middlewares/rateLimit.js +43 -0
  294. package/server/register.js +9 -0
  295. package/server/routes/authentication.js +12 -1
  296. package/server/routes/roles.js +0 -8
  297. package/server/services/permission/queries.js +12 -3
  298. package/server/services/project-settings.js +10 -6
  299. package/server/services/role.js +11 -2
  300. package/server/services/user.js +25 -3
  301. package/server/validation/project-settings.js +19 -10
  302. package/strapi-server.js +1 -1
  303. package/webpack.config.js +7 -4
  304. package/admin/src/core/store/createReducer.js +0 -5
  305. package/admin/src/hooks/useFetchClient/index.js +0 -23
  306. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +0 -85
  307. package/admin/src/utils/fetchClient.js +0 -45
  308. package/admin/src/utils/getFetchClient.js +0 -10
  309. package/build/2235.06c13219.chunk.js +0 -106
  310. package/build/2598.962797b2.chunk.js +0 -159
  311. package/build/4318.0bbd3f4b.chunk.js +0 -30
  312. package/build/4958.7c118f5e.chunk.js +0 -276
  313. package/build/5015.f080b64e.chunk.js +0 -6
  314. package/build/5052.712419ea.chunk.js +0 -65
  315. package/build/7295.04ac49dc.chunk.js +0 -114
  316. package/build/805.ddcead70.chunk.js +0 -138
  317. package/build/8633.59223842.chunk.js +0 -1
  318. package/build/874.bde3ea04.chunk.js +0 -104
  319. package/build/9159.ac968e72.chunk.js +0 -169
  320. package/build/9707.77e475ee.chunk.js +0 -101
  321. package/build/Admin-authenticatedApp.9dd415b8.chunk.js +0 -72
  322. package/build/Admin_InternalErrorPage.e0317a5e.chunk.js +0 -1
  323. package/build/Admin_homePage.8945f71a.chunk.js +0 -77
  324. package/build/Admin_marketplace.ed754a4a.chunk.js +0 -26
  325. package/build/Admin_pluginsPage.67728975.chunk.js +0 -6
  326. package/build/Admin_profilePage.60ab80bb.chunk.js +0 -15
  327. package/build/Admin_settingsPage.9ce40fed.chunk.js +0 -178
  328. package/build/Upload_ConfigureTheView.7cb2a3fd.chunk.js +0 -1
  329. package/build/admin-app.d8fc7c4d.chunk.js +0 -112
  330. package/build/admin-edit-roles-page.f407538c.chunk.js +0 -1
  331. package/build/admin-edit-users.5547b126.chunk.js +0 -10
  332. package/build/admin-users.4b6b47f8.chunk.js +0 -11
  333. package/build/api-tokens-create-page.dd4ddfcb.chunk.js +0 -1
  334. package/build/api-tokens-edit-page.821c5a6c.chunk.js +0 -1
  335. package/build/api-tokens-list-page.50519ed7.chunk.js +0 -16
  336. package/build/ar-json.3489463d.chunk.js +0 -1
  337. package/build/ca-json.07ae0f2c.chunk.js +0 -1
  338. package/build/codemirror-addon-closebrackets.c0f97916.chunk.js +0 -2
  339. package/build/codemirror-addon-lint-js.7c35dcb0.chunk.js +0 -1
  340. package/build/codemirror-addon-lint.505ff1d4.chunk.js +0 -1
  341. package/build/codemirror-addon-mark-selection.653e904d.chunk.js +0 -1
  342. package/build/codemirror-javacript.41bdefda.chunk.js +0 -1
  343. package/build/codemirror-theme.a82cae4e.chunk.js +0 -34
  344. package/build/content-manager.f2214e32.chunk.js +0 -1166
  345. package/build/content-type-builder-list-view.4aea46fa.chunk.js +0 -198
  346. package/build/content-type-builder-translation-ar-json.142327af.chunk.js +0 -1
  347. package/build/content-type-builder-translation-cs-json.4aafb972.chunk.js +0 -1
  348. package/build/content-type-builder-translation-de-json.a52482c7.chunk.js +0 -1
  349. package/build/content-type-builder-translation-dk-json.a8616510.chunk.js +0 -1
  350. package/build/content-type-builder-translation-en-json.1d9a3c14.chunk.js +0 -1
  351. package/build/content-type-builder-translation-es-json.c3ea46fb.chunk.js +0 -1
  352. package/build/content-type-builder-translation-fr-json.aa6eeea8.chunk.js +0 -1
  353. package/build/content-type-builder-translation-id-json.7c00a32a.chunk.js +0 -1
  354. package/build/content-type-builder-translation-it-json.a906b389.chunk.js +0 -1
  355. package/build/content-type-builder-translation-ja-json.87f71930.chunk.js +0 -1
  356. package/build/content-type-builder-translation-ko-json.3fb7ddc8.chunk.js +0 -1
  357. package/build/content-type-builder-translation-ms-json.963a1a01.chunk.js +0 -1
  358. package/build/content-type-builder-translation-nl-json.c46c8f30.chunk.js +0 -1
  359. package/build/content-type-builder-translation-pl-json.9b2993b2.chunk.js +0 -1
  360. package/build/content-type-builder-translation-pt-BR-json.6d255441.chunk.js +0 -1
  361. package/build/content-type-builder-translation-pt-json.96a31576.chunk.js +0 -1
  362. package/build/content-type-builder-translation-ru-json.cf8d7c5c.chunk.js +0 -1
  363. package/build/content-type-builder-translation-sk-json.3a6defe0.chunk.js +0 -1
  364. package/build/content-type-builder-translation-sv-json.c608b9ca.chunk.js +0 -1
  365. package/build/content-type-builder-translation-th-json.c96a2d3f.chunk.js +0 -1
  366. package/build/content-type-builder-translation-tr-json.949e22eb.chunk.js +0 -1
  367. package/build/content-type-builder-translation-uk-json.d8c0b6dd.chunk.js +0 -1
  368. package/build/content-type-builder-translation-zh-Hans-json.92a27f59.chunk.js +0 -1
  369. package/build/content-type-builder-translation-zh-json.b79513e4.chunk.js +0 -1
  370. package/build/content-type-builder.8a9a77f9.chunk.js +0 -127
  371. package/build/cropper-css.12fe038c.chunk.js +0 -306
  372. package/build/cs-json.ce49da5c.chunk.js +0 -1
  373. package/build/de-json.6b3e1894.chunk.js +0 -1
  374. package/build/dk-json.144c6a8e.chunk.js +0 -1
  375. package/build/email-settings-page.c6e62f6b.chunk.js +0 -15
  376. package/build/email-translation-ar-json.c624512d.chunk.js +0 -1
  377. package/build/email-translation-cs-json.cb18caab.chunk.js +0 -1
  378. package/build/email-translation-de-json.54743260.chunk.js +0 -1
  379. package/build/email-translation-dk-json.f323fe4e.chunk.js +0 -1
  380. package/build/email-translation-en-json.ebad8943.chunk.js +0 -1
  381. package/build/email-translation-es-json.9021417d.chunk.js +0 -1
  382. package/build/email-translation-fr-json.9f125db0.chunk.js +0 -1
  383. package/build/email-translation-id-json.3bcae5f5.chunk.js +0 -1
  384. package/build/email-translation-it-json.6ffd1774.chunk.js +0 -1
  385. package/build/email-translation-ja-json.72b3f73c.chunk.js +0 -1
  386. package/build/email-translation-ko-json.e61d4e7a.chunk.js +0 -1
  387. package/build/email-translation-ms-json.b2b11e05.chunk.js +0 -1
  388. package/build/email-translation-nl-json.5349635f.chunk.js +0 -1
  389. package/build/email-translation-pl-json.a03bcf98.chunk.js +0 -1
  390. package/build/email-translation-pt-BR-json.2c98ab20.chunk.js +0 -1
  391. package/build/email-translation-pt-json.159505ab.chunk.js +0 -1
  392. package/build/email-translation-ru-json.d508cf3e.chunk.js +0 -1
  393. package/build/email-translation-sk-json.fa1fd4b3.chunk.js +0 -1
  394. package/build/email-translation-th-json.989cfecc.chunk.js +0 -1
  395. package/build/email-translation-tr-json.8aa034bb.chunk.js +0 -1
  396. package/build/email-translation-uk-json.0396a803.chunk.js +0 -1
  397. package/build/email-translation-vi-json.c0d8c414.chunk.js +0 -1
  398. package/build/email-translation-zh-Hans-json.8172da08.chunk.js +0 -1
  399. package/build/email-translation-zh-json.62b1c6fe.chunk.js +0 -1
  400. package/build/en-json.1abdade9.chunk.js +0 -1
  401. package/build/es-json.6d123a82.chunk.js +0 -1
  402. package/build/fr-json.28ab54cb.chunk.js +0 -1
  403. package/build/gu-json.9a50ea64.chunk.js +0 -1
  404. package/build/he-json.72f18790.chunk.js +0 -1
  405. package/build/hi-json.0301b7ba.chunk.js +0 -1
  406. package/build/highlight.js.af2de364.chunk.js +0 -86
  407. package/build/hu-json.c4b641bb.chunk.js +0 -1
  408. package/build/i18n-settings-page.ee572037.chunk.js +0 -1
  409. package/build/i18n-translation-de-json.92534555.chunk.js +0 -1
  410. package/build/i18n-translation-dk-json.54f410ca.chunk.js +0 -1
  411. package/build/i18n-translation-en-json.760250ae.chunk.js +0 -1
  412. package/build/i18n-translation-es-json.488206ae.chunk.js +0 -1
  413. package/build/i18n-translation-fr-json.b401aa34.chunk.js +0 -1
  414. package/build/i18n-translation-ko-json.b2d90a83.chunk.js +0 -1
  415. package/build/i18n-translation-pl-json.cea5bf23.chunk.js +0 -1
  416. package/build/i18n-translation-tr-json.34ca9d61.chunk.js +0 -1
  417. package/build/i18n-translation-zh-Hans-json.560a98e3.chunk.js +0 -1
  418. package/build/i18n-translation-zh-json.eeebb849.chunk.js +0 -1
  419. package/build/id-json.86035797.chunk.js +0 -1
  420. package/build/it-json.bbdc8993.chunk.js +0 -1
  421. package/build/ja-json.1c9eeeec.chunk.js +0 -1
  422. package/build/ko-json.e1f66398.chunk.js +0 -1
  423. package/build/main.91f6e21e.js +0 -4099
  424. package/build/ml-json.963c889f.chunk.js +0 -1
  425. package/build/ms-json.ed51e902.chunk.js +0 -1
  426. package/build/nl-json.26f39180.chunk.js +0 -1
  427. package/build/no-json.a58c28bd.chunk.js +0 -1
  428. package/build/pl-json.249626b3.chunk.js +0 -1
  429. package/build/pt-BR-json.2b72b1d6.chunk.js +0 -1
  430. package/build/pt-json.cd67ba86.chunk.js +0 -1
  431. package/build/ru-json.8830286f.chunk.js +0 -1
  432. package/build/runtime~main.447b0382.js +0 -2
  433. package/build/sa-json.44e95991.chunk.js +0 -1
  434. package/build/sk-json.2af48064.chunk.js +0 -1
  435. package/build/sso-settings-page.91924df1.chunk.js +0 -41
  436. package/build/sv-json.fb1081ff.chunk.js +0 -1
  437. package/build/th-json.a67309b1.chunk.js +0 -1
  438. package/build/tr-json.eac8bd79.chunk.js +0 -1
  439. package/build/uk-json.c4cd2e24.chunk.js +0 -1
  440. package/build/upload-settings.326cd9fd.chunk.js +0 -89
  441. package/build/upload-translation-ca-json.db8ed7ba.chunk.js +0 -1
  442. package/build/upload-translation-de-json.00cbbc08.chunk.js +0 -1
  443. package/build/upload-translation-dk-json.c787a6be.chunk.js +0 -1
  444. package/build/upload-translation-en-json.32cf9aff.chunk.js +0 -1
  445. package/build/upload-translation-es-json.0f90db48.chunk.js +0 -1
  446. package/build/upload-translation-fr-json.e21c0c7a.chunk.js +0 -1
  447. package/build/upload-translation-he-json.4ce77b7b.chunk.js +0 -1
  448. package/build/upload-translation-it-json.5ce11e0b.chunk.js +0 -1
  449. package/build/upload-translation-ja-json.22afae44.chunk.js +0 -1
  450. package/build/upload-translation-ko-json.392002fb.chunk.js +0 -1
  451. package/build/upload-translation-ms-json.0605d6da.chunk.js +0 -1
  452. package/build/upload-translation-pl-json.136eedb6.chunk.js +0 -1
  453. package/build/upload-translation-pt-BR-json.95686cfb.chunk.js +0 -1
  454. package/build/upload-translation-pt-json.5c452b48.chunk.js +0 -1
  455. package/build/upload-translation-ru-json.37bd1546.chunk.js +0 -1
  456. package/build/upload-translation-sk-json.fe86c53b.chunk.js +0 -1
  457. package/build/upload-translation-th-json.9e1fda51.chunk.js +0 -1
  458. package/build/upload-translation-tr-json.b173223a.chunk.js +0 -1
  459. package/build/upload-translation-uk-json.1328cb3e.chunk.js +0 -1
  460. package/build/upload-translation-zh-Hans-json.37a2981e.chunk.js +0 -1
  461. package/build/upload-translation-zh-json.ac5711de.chunk.js +0 -1
  462. package/build/upload.2977cb13.chunk.js +0 -38
  463. package/build/users-advanced-settings-page.0c0b8230.chunk.js +0 -13
  464. package/build/users-email-settings-page.18d4a475.chunk.js +0 -28
  465. package/build/users-permissions-translation-ar-json.e8123ed2.chunk.js +0 -1
  466. package/build/users-permissions-translation-cs-json.e6649c5f.chunk.js +0 -1
  467. package/build/users-permissions-translation-de-json.c3628843.chunk.js +0 -1
  468. package/build/users-permissions-translation-dk-json.bad0b786.chunk.js +0 -1
  469. package/build/users-permissions-translation-en-json.aeab388a.chunk.js +0 -1
  470. package/build/users-permissions-translation-es-json.152a923f.chunk.js +0 -1
  471. package/build/users-permissions-translation-fr-json.172aa69f.chunk.js +0 -1
  472. package/build/users-permissions-translation-id-json.5aadd143.chunk.js +0 -1
  473. package/build/users-permissions-translation-it-json.7d377480.chunk.js +0 -1
  474. package/build/users-permissions-translation-ja-json.4967badf.chunk.js +0 -1
  475. package/build/users-permissions-translation-ko-json.6bd0ae22.chunk.js +0 -1
  476. package/build/users-permissions-translation-ms-json.ea8a2baf.chunk.js +0 -1
  477. package/build/users-permissions-translation-nl-json.d638c4ce.chunk.js +0 -1
  478. package/build/users-permissions-translation-pl-json.c6a02992.chunk.js +0 -1
  479. package/build/users-permissions-translation-pt-BR-json.f6791a86.chunk.js +0 -1
  480. package/build/users-permissions-translation-pt-json.38afed04.chunk.js +0 -1
  481. package/build/users-permissions-translation-ru-json.319d51ef.chunk.js +0 -1
  482. package/build/users-permissions-translation-sk-json.ba1cd385.chunk.js +0 -1
  483. package/build/users-permissions-translation-sv-json.370d6eee.chunk.js +0 -1
  484. package/build/users-permissions-translation-th-json.68873214.chunk.js +0 -1
  485. package/build/users-permissions-translation-tr-json.9bebc250.chunk.js +0 -1
  486. package/build/users-permissions-translation-uk-json.63eaa01c.chunk.js +0 -1
  487. package/build/users-permissions-translation-vi-json.dccc02fc.chunk.js +0 -1
  488. package/build/users-permissions-translation-zh-Hans-json.c3fd301b.chunk.js +0 -1
  489. package/build/users-permissions-translation-zh-json.1fea833f.chunk.js +0 -1
  490. package/build/users-providers-settings-page.25dd858e.chunk.js +0 -1
  491. package/build/users-roles-settings-page.8482a999.chunk.js +0 -30
  492. package/build/vi-json.f7890025.chunk.js +0 -1
  493. package/build/webhook-edit-page.dcc3d145.chunk.js +0 -75
  494. package/build/webhook-list-page.894e6959.chunk.js +0 -42
  495. package/build/zh-Hans-json.21617c24.chunk.js +0 -1
  496. package/build/zh-json.2ecc6b99.chunk.js +0 -1
  497. package/ee/server/routes/features-routes.js +0 -46
@@ -44,9 +44,12 @@ const deleteByRolesIds = async (rolesIds) => {
44
44
  * @returns {Promise<array>}
45
45
  */
46
46
  const deleteByIds = async (ids) => {
47
+ const result = [];
47
48
  for (const id of ids) {
48
- await strapi.query('admin::permission').delete({ where: { id } });
49
+ const queryResult = await strapi.query('admin::permission').delete({ where: { id } });
50
+ result.push(queryResult);
49
51
  }
52
+ strapi.eventHub.emit('permission.delete', { permissions: result });
50
53
  };
51
54
 
52
55
  /**
@@ -61,7 +64,10 @@ const createMany = async (permissions) => {
61
64
  createdPermissions.push(newPerm);
62
65
  }
63
66
 
64
- return permissionDomain.toPermission(createdPermissions);
67
+ const permissionsToReturn = permissionDomain.toPermission(createdPermissions);
68
+ strapi.eventHub.emit('permission.create', { permissions: permissionsToReturn });
69
+
70
+ return permissionsToReturn;
65
71
  };
66
72
 
67
73
  /**
@@ -75,7 +81,10 @@ const update = async (params, attributes) => {
75
81
  .query('admin::permission')
76
82
  .update({ where: params, data: attributes });
77
83
 
78
- return permissionDomain.toPermission(updatedPermission);
84
+ const permissionToReturn = permissionDomain.toPermission(updatedPermission);
85
+ strapi.eventHub.emit('permission.update', { permissions: permissionToReturn });
86
+
87
+ return permissionToReturn;
79
88
  };
80
89
 
81
90
  /**
@@ -3,10 +3,7 @@
3
3
  const fs = require('fs');
4
4
  const { pick } = require('lodash');
5
5
 
6
- const PROJECT_SETTINGS_FILE_INPUTS = ['menuLogo'];
7
- const DEFAULT_PROJECT_SETTINGS = {
8
- menuLogo: null,
9
- };
6
+ const PROJECT_SETTINGS_FILE_INPUTS = ['menuLogo', 'authLogo'];
10
7
 
11
8
  const parseFilesData = async (files) => {
12
9
  const formatedFilesData = {};
@@ -52,8 +49,15 @@ const parseFilesData = async (files) => {
52
49
 
53
50
  const getProjectSettings = async () => {
54
51
  const store = strapi.store({ type: 'core', name: 'admin' });
52
+
53
+ // Returns an object with file inputs names as key and null as value
54
+ const defaultProjectSettings = PROJECT_SETTINGS_FILE_INPUTS.reduce((prev, cur) => {
55
+ prev[cur] = null;
56
+ return prev;
57
+ }, {});
58
+
55
59
  const projectSettings = {
56
- ...DEFAULT_PROJECT_SETTINGS,
60
+ ...defaultProjectSettings,
57
61
  ...(await store.get({ key: 'project-settings' })),
58
62
  };
59
63
 
@@ -133,7 +137,7 @@ const updateProjectSettings = async (newSettings) => {
133
137
  }
134
138
 
135
139
  // If the user input is undefined reuse previous setting (do not update field)
136
- if (!newSettings[inputName]) {
140
+ if (!newSettings[inputName] && previousSettings) {
137
141
  newSettings[inputName] = previousSettings[inputName];
138
142
  return;
139
143
  }
@@ -64,7 +64,10 @@ const create = async (attributes) => {
64
64
  code: attributes.code || autoGeneratedCode,
65
65
  };
66
66
 
67
- return strapi.query('admin::role').create({ data: rolesWithCode });
67
+ const result = await strapi.query('admin::role').create({ data: rolesWithCode });
68
+ strapi.eventHub.emit('role.create', { role: sanitizeRole(result) });
69
+
70
+ return result;
68
71
  };
69
72
 
70
73
  /**
@@ -137,7 +140,12 @@ const update = async (params, attributes) => {
137
140
  }
138
141
  }
139
142
 
140
- return strapi.query('admin::role').update({ where: params, data: sanitizedAttributes });
143
+ const result = await strapi
144
+ .query('admin::role')
145
+ .update({ where: params, data: sanitizedAttributes });
146
+ strapi.eventHub.emit('role.update', { role: sanitizeRole(result) });
147
+
148
+ return result;
141
149
  };
142
150
 
143
151
  /**
@@ -194,6 +202,7 @@ const deleteByIds = async (ids = []) => {
194
202
  const deletedRole = await strapi.query('admin::role').delete({ where: { id } });
195
203
 
196
204
  if (deletedRole) {
205
+ strapi.eventHub.emit('role.delete', { role: deletedRole });
197
206
  deletedRoles.push(deletedRole);
198
207
  }
199
208
  }
@@ -43,6 +43,8 @@ const create = async (attributes) => {
43
43
 
44
44
  getService('metrics').sendDidInviteUser();
45
45
 
46
+ strapi.eventHub.emit('user.create', { user: sanitizeUser(createdUser) });
47
+
46
48
  return createdUser;
47
49
  };
48
50
 
@@ -76,7 +78,7 @@ const updateById = async (id, attributes) => {
76
78
  if (_.has(attributes, 'password')) {
77
79
  const hashedPassword = await getService('auth').hashPassword(attributes.password);
78
80
 
79
- return strapi.query('admin::user').update({
81
+ const updatedUser = await strapi.query('admin::user').update({
80
82
  where: { id },
81
83
  data: {
82
84
  ...attributes,
@@ -84,13 +86,23 @@ const updateById = async (id, attributes) => {
84
86
  },
85
87
  populate: ['roles'],
86
88
  });
89
+
90
+ strapi.eventHub.emit('user.update', { user: sanitizeUser(updatedUser) });
91
+
92
+ return updatedUser;
87
93
  }
88
94
 
89
- return strapi.query('admin::user').update({
95
+ const updatedUser = await strapi.query('admin::user').update({
90
96
  where: { id },
91
97
  data: attributes,
92
98
  populate: ['roles'],
93
99
  });
100
+
101
+ if (updatedUser) {
102
+ strapi.eventHub.emit('user.update', { user: sanitizeUser(updatedUser) });
103
+ }
104
+
105
+ return updatedUser;
94
106
  };
95
107
 
96
108
  /**
@@ -226,7 +238,13 @@ const deleteById = async (id) => {
226
238
  }
227
239
  }
228
240
 
229
- return strapi.query('admin::user').delete({ where: { id }, populate: ['roles'] });
241
+ const deletedUser = await strapi
242
+ .query('admin::user')
243
+ .delete({ where: { id }, populate: ['roles'] });
244
+
245
+ strapi.eventHub.emit('user.delete', { user: sanitizeUser(deletedUser) });
246
+
247
+ return deletedUser;
230
248
  };
231
249
 
232
250
  /** Delete a user
@@ -257,6 +275,10 @@ const deleteByIds = async (ids) => {
257
275
  deletedUsers.push(deletedUser);
258
276
  }
259
277
 
278
+ strapi.eventHub.emit('user.delete', {
279
+ users: deletedUsers.map((deletedUser) => sanitizeUser(deletedUser)),
280
+ });
281
+
260
282
  return deletedUsers;
261
283
  };
262
284
 
@@ -10,26 +10,35 @@ const ALLOWED_IMAGE_FILE_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'];
10
10
  const updateProjectSettings = yup
11
11
  .object({
12
12
  menuLogo: yup.string(),
13
+ authLogo: yup.string(),
13
14
  })
14
15
  .noUnknown();
15
16
 
17
+ const updateProjectSettingsLogo = yup.object({
18
+ name: yup.string(),
19
+ type: yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES),
20
+ size: yup.number().max(MAX_IMAGE_FILE_SIZE),
21
+ });
22
+
16
23
  const updateProjectSettingsFiles = yup
17
24
  .object({
18
- menuLogo: yup.object({
19
- name: yup.string(),
20
- type: yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES),
21
- size: yup.number().max(MAX_IMAGE_FILE_SIZE),
22
- }),
25
+ menuLogo: updateProjectSettingsLogo,
26
+ authLogo: updateProjectSettingsLogo,
23
27
  })
24
28
  .noUnknown();
25
29
 
26
- const updateProjectSettingsImagesDimensions = yup.object({
27
- menuLogo: yup.object({
28
- width: yup.number().max(MAX_IMAGE_WIDTH),
29
- height: yup.number().max(MAX_IMAGE_HEIGHT),
30
- }),
30
+ const logoDimensions = yup.object({
31
+ width: yup.number().max(MAX_IMAGE_WIDTH),
32
+ height: yup.number().max(MAX_IMAGE_HEIGHT),
31
33
  });
32
34
 
35
+ const updateProjectSettingsImagesDimensions = yup
36
+ .object({
37
+ menuLogo: logoDimensions,
38
+ authLogo: logoDimensions,
39
+ })
40
+ .noUnknown();
41
+
33
42
  module.exports = {
34
43
  validateUpdateProjectSettings: validateYupSchemaSync(updateProjectSettings),
35
44
  validateUpdateProjectSettingsFiles: validateYupSchemaSync(updateProjectSettingsFiles),
package/strapi-server.js CHANGED
@@ -8,7 +8,7 @@ const mergeRoutes = (a, b, key) => {
8
8
  return _.isArray(a) && _.isArray(b) && key === 'routes' ? a.concat(b) : undefined;
9
9
  };
10
10
 
11
- if (process.env.STRAPI_DISABLE_EE !== 'true' && strapi.EE) {
11
+ if (strapi.EE) {
12
12
  const eeAdmin = require('./ee/strapi-server');
13
13
 
14
14
  module.exports = _.mergeWith({}, admin, eeAdmin, mergeRoutes);
package/webpack.config.js CHANGED
@@ -10,6 +10,7 @@ const { ESBuildMinifyPlugin } = require('esbuild-loader');
10
10
  const WebpackBar = require('webpackbar');
11
11
  const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
12
12
  const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
13
+ const browserslistToEsbuild = require('browserslist-to-esbuild');
13
14
 
14
15
  const alias = require('./webpack.alias');
15
16
  const getClientEnvironment = require('./env');
@@ -52,6 +53,8 @@ module.exports = ({
52
53
 
53
54
  const excludeRegex = createPluginsExcludePath(pluginsPath);
54
55
 
56
+ const buildTarget = browserslistToEsbuild();
57
+
55
58
  return {
56
59
  mode: isProduction ? 'production' : 'development',
57
60
  bail: !!isProduction,
@@ -72,7 +75,7 @@ module.exports = ({
72
75
  minimize: optimize,
73
76
  minimizer: [
74
77
  new ESBuildMinifyPlugin({
75
- target: 'es2015',
78
+ target: buildTarget,
76
79
  css: true, // Apply minification to CSS assets
77
80
  }),
78
81
  ],
@@ -88,7 +91,7 @@ module.exports = ({
88
91
  exclude: excludeRegex,
89
92
  options: {
90
93
  loader: 'tsx',
91
- target: 'es2015',
94
+ target: buildTarget,
92
95
  },
93
96
  },
94
97
  {
@@ -152,7 +155,7 @@ module.exports = ({
152
155
  loader: require.resolve('esbuild-loader'),
153
156
  options: {
154
157
  loader: 'jsx',
155
- target: 'es2015',
158
+ target: buildTarget,
156
159
  },
157
160
  },
158
161
  },
@@ -165,7 +168,7 @@ module.exports = ({
165
168
  loader: require.resolve('esbuild-loader'),
166
169
  options: {
167
170
  loader: 'jsx',
168
- target: 'es2015',
171
+ target: buildTarget,
169
172
  },
170
173
  },
171
174
  },
@@ -1,5 +0,0 @@
1
- import { combineReducers } from 'redux';
2
-
3
- const createReducer = (reducers) => combineReducers(reducers);
4
-
5
- export default createReducer;
@@ -1,23 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- import { getFetchClient } from '../../utils/getFetchClient';
3
-
4
- const useFetchClient = () => {
5
- const controller = useRef(null);
6
-
7
- if (controller.current === null) {
8
- controller.current = new AbortController();
9
- }
10
- useEffect(() => {
11
- return () => {
12
- controller.current.abort();
13
- };
14
- }, []);
15
-
16
- const defaultOptions = {
17
- signal: controller.current.signal,
18
- };
19
-
20
- return getFetchClient(defaultOptions);
21
- };
22
-
23
- export default useFetchClient;
@@ -1,85 +0,0 @@
1
- import React, { useReducer, forwardRef, useImperativeHandle } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useIntl } from 'react-intl';
4
- import { useTracking } from '@strapi/helper-plugin';
5
- import { Grid, GridItem } from '@strapi/design-system/Grid';
6
- import { Box } from '@strapi/design-system/Box';
7
- import { Typography } from '@strapi/design-system/Typography';
8
- import LogoInput from '../LogoInput';
9
- import { useConfigurations } from '../../../../../../hooks';
10
- import reducer, { initialState } from './reducer';
11
- import init from './init';
12
-
13
- const Form = forwardRef(({ projectSettingsStored }, ref) => {
14
- const { formatMessage } = useIntl();
15
- const { trackUsage } = useTracking();
16
- const {
17
- logos: { menu },
18
- } = useConfigurations();
19
- const [{ menuLogo }, dispatch] = useReducer(reducer, initialState, () =>
20
- init(initialState, projectSettingsStored)
21
- );
22
-
23
- const handleChangeMenuLogo = (asset) => {
24
- dispatch({
25
- type: 'SET_CUSTOM_MENU_LOGO',
26
- value: asset,
27
- });
28
- };
29
-
30
- const handleResetMenuLogo = () => {
31
- trackUsage('didClickResetLogo');
32
-
33
- dispatch({
34
- type: 'RESET_CUSTOM_MENU_LOGO',
35
- });
36
- };
37
-
38
- useImperativeHandle(ref, () => ({
39
- getValues: () => ({ menuLogo: menuLogo.submit }),
40
- }));
41
-
42
- return (
43
- <Box
44
- hasRadius
45
- background="neutral0"
46
- shadow="tableShadow"
47
- paddingTop={6}
48
- paddingBottom={6}
49
- paddingRight={7}
50
- paddingLeft={7}
51
- >
52
- <Typography variant="delta" as="h3">
53
- {formatMessage({
54
- id: 'Settings.application.customization',
55
- defaultMessage: 'Customization',
56
- })}
57
- </Typography>
58
- <Grid paddingTop={4}>
59
- <GridItem col={6} s={12}>
60
- <LogoInput
61
- onChangeLogo={handleChangeMenuLogo}
62
- customLogo={menuLogo.display}
63
- defaultLogo={menu.default}
64
- onResetMenuLogo={handleResetMenuLogo}
65
- />
66
- </GridItem>
67
- </Grid>
68
- </Box>
69
- );
70
- });
71
-
72
- Form.defaultProps = {
73
- projectSettingsStored: null,
74
- };
75
-
76
- Form.propTypes = {
77
- projectSettingsStored: PropTypes.shape({
78
- menuLogo: PropTypes.shape({
79
- url: PropTypes.string,
80
- name: PropTypes.string,
81
- }),
82
- }),
83
- };
84
-
85
- export default Form;
@@ -1,45 +0,0 @@
1
- import axios from 'axios';
2
- import { auth } from '@strapi/helper-plugin';
3
-
4
- export const reqInterceptor = async (config) => {
5
- config.headers = {
6
- Authorization: `Bearer ${auth.getToken()}`,
7
- Accept: 'application/json',
8
- 'Content-Type': 'application/json',
9
- };
10
-
11
- return config;
12
- };
13
-
14
- export const reqErrorInterceptor = (error) => {
15
- return Promise.reject(error);
16
- };
17
-
18
- export const resInterceptor = (response) => response;
19
-
20
- export const resErrorInterceptor = (error) => {
21
- // whatever you want to do with the error
22
- if (error?.response?.status === 401) {
23
- auth.clearAppStorage();
24
- window.location.reload();
25
- }
26
-
27
- throw error;
28
- };
29
-
30
- export const addInterceptors = (instance) => {
31
- instance.interceptors.request.use(reqInterceptor, reqErrorInterceptor);
32
-
33
- instance.interceptors.response.use(resInterceptor, resErrorInterceptor);
34
- };
35
-
36
- export const fetchClient = ({ baseURL }) => {
37
- const instance = axios.create({
38
- baseURL,
39
- });
40
- addInterceptors(instance);
41
-
42
- return instance;
43
- };
44
-
45
- export default fetchClient({ baseURL: process.env.STRAPI_ADMIN_BACKEND_URL });
@@ -1,10 +0,0 @@
1
- import instance from './fetchClient';
2
-
3
- export const getFetchClient = (defaultOptions = {}) => {
4
- return {
5
- get: (url, config) => instance.get(url, { ...defaultOptions, ...config }),
6
- put: (url, data, config) => instance.put(url, data, { ...defaultOptions, ...config }),
7
- post: (url, data, config) => instance.post(url, data, { ...defaultOptions, ...config }),
8
- del: (url, config) => instance.delete(url, { ...defaultOptions, ...config }),
9
- };
10
- };
@@ -1,106 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2235],{88058:(x,h,a)=>{var r=a(87650);function o(l,f){var v=l==null?0:l.length;return!!v&&r(l,f,0)>-1}x.exports=o},37431:x=>{function h(a,r,o){for(var l=-1,f=a==null?0:a.length;++l<f;)if(o(r,a[l]))return!0;return!1}x.exports=h},23089:(x,h,a)=>{var r=a(61712),o=r("length");x.exports=o},60528:x=>{function h(a,r,o,l){for(var f=a.length,v=o+(l?1:-1);l?v--:++v<f;)if(r(a[v],v,a))return v;return-1}x.exports=h},87650:(x,h,a)=>{var r=a(60528),o=a(25556),l=a(54256);function f(v,s,y){return s===s?l(v,s,y):r(v,o,y)}x.exports=f},25556:x=>{function h(a){return a!==a}x.exports=h},84351:(x,h,a)=>{var r=a(61124),o=a(88058),l=a(37431),f=a(30555),v=a(58491),s=a(66350),y=200;function O(n,e,t){var E=-1,c=o,u=n.length,d=!0,i=[],m=i;if(t)d=!1,c=l;else if(u>=y){var g=e?null:v(n);if(g)return s(g);d=!1,c=f,m=new r}else m=e?[]:i;e:for(;++E<u;){var C=n[E],p=e?e(C):C;if(C=t||C!==0?C:0,d&&p===p){for(var w=m.length;w--;)if(m[w]===p)continue e;e&&m.push(p),i.push(C)}else c(m,p,t)||(m!==i&&m.push(p),i.push(C))}return i}x.exports=O},58491:(x,h,a)=>{var r=a(69902),o=a(13581),l=a(66350),f=1/0,v=r&&1/l(new r([,-0]))[1]==f?function(s){return new r(s)}:o;x.exports=v},54256:x=>{function h(a,r,o){for(var l=o-1,f=a.length;++l<f;)if(a[l]===r)return l;return-1}x.exports=h},38788:(x,h,a)=>{var r=a(23089),o=a(34327),l=a(71286);function f(v){return o(v)?l(v):r(v)}x.exports=f},71286:x=>{var h="\\ud800-\\udfff",a="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",l=a+r+o,f="\\ufe0e\\ufe0f",v="["+h+"]",s="["+l+"]",y="\\ud83c[\\udffb-\\udfff]",O="(?:"+s+"|"+y+")",n="[^"+h+"]",e="(?:\\ud83c[\\udde6-\\uddff]){2}",t="[\\ud800-\\udbff][\\udc00-\\udfff]",E="\\u200d",c=O+"?",u="["+f+"]?",d="(?:"+E+"(?:"+[n,e,t].join("|")+")"+u+c+")*",i=u+c+d,m="(?:"+[n+s+"?",s,e,t,v].join("|")+")",g=RegExp(y+"(?="+y+")|"+m+i,"g");function C(p){for(var w=g.lastIndex=0;g.test(p);)++w;return w}x.exports=C},13581:x=>{function h(){}x.exports=h},59578:(x,h,a)=>{var r=a(41119);function o(l){return r(l).toLowerCase()}x.exports=o},98178:(x,h,a)=>{"use strict";a.d(h,{P1:()=>n});var r="NOT_FOUND";function o(t){var E;return{get:function(u){return E&&t(E.key,u)?E.value:r},put:function(u,d){E={key:u,value:d}},getEntries:function(){return E?[E]:[]},clear:function(){E=void 0}}}function l(t,E){var c=[];function u(g){var C=c.findIndex(function(w){return E(g,w.key)});if(C>-1){var p=c[C];return C>0&&(c.splice(C,1),c.unshift(p)),p.value}return r}function d(g,C){u(g)===r&&(c.unshift({key:g,value:C}),c.length>t&&c.pop())}function i(){return c}function m(){c=[]}return{get:u,put:d,getEntries:i,clear:m}}var f=function(E,c){return E===c};function v(t){return function(c,u){if(c===null||u===null||c.length!==u.length)return!1;for(var d=c.length,i=0;i<d;i++)if(!t(c[i],u[i]))return!1;return!0}}function s(t,E){var c=typeof E=="object"?E:{equalityCheck:E},u=c.equalityCheck,d=u===void 0?f:u,i=c.maxSize,m=i===void 0?1:i,g=c.resultEqualityCheck,C=v(d),p=m===1?o(C):l(m,C);function w(){var j=p.get(arguments);if(j===r){if(j=t.apply(null,arguments),g){var M=p.getEntries(),S=M.find(function(I){return g(I.value,j)});S&&(j=S.value)}p.put(arguments,j)}return j}return w.clearCache=function(){return p.clear()},w}function y(t){var E=Array.isArray(t[0])?t[0]:t;if(!E.every(function(u){return typeof u=="function"})){var c=E.map(function(u){return typeof u=="function"?"function "+(u.name||"unnamed")+"()":typeof u}).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+c+"]")}return E}function O(t){for(var E=arguments.length,c=new Array(E>1?E-1:0),u=1;u<E;u++)c[u-1]=arguments[u];var d=function(){for(var m=arguments.length,g=new Array(m),C=0;C<m;C++)g[C]=arguments[C];var p=0,w,j={memoizeOptions:void 0},M=g.pop();if(typeof M=="object"&&(j=M,M=g.pop()),typeof M!="function")throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof M+"]");var S=j,I=S.memoizeOptions,D=I===void 0?c:I,W=Array.isArray(D)?D:[D],T=y(g),K=t.apply(void 0,[function(){return p++,M.apply(null,arguments)}].concat(W)),A=t(function(){for(var $=[],U=T.length,L=0;L<U;L++)$.push(T[L].apply(null,arguments));return w=K.apply(null,$),w});return Object.assign(A,{resultFunc:M,memoizedResultFunc:K,dependencies:T,lastResult:function(){return w},recomputations:function(){return p},resetRecomputations:function(){return p=0}}),A};return d}var n=O(s),e=function(E,c){if(c===void 0&&(c=n),typeof E!="object")throw new Error("createStructuredSelector expects first argument to be an object "+("where each property is a selector, instead received a "+typeof E));var u=Object.keys(E),d=c(u.map(function(i){return E[i]}),function(){for(var i=arguments.length,m=new Array(i),g=0;g<i;g++)m[g]=arguments[g];return m.reduce(function(C,p,w){return C[u[w]]=p,C},{})});return d}},9139:(x,h,a)=>{"use strict";a.d(h,{s:()=>H});var r=a(32735),o=a(83292),l=a(60216),f=a(78542),v=a(59002),s=a(87107),y=a(76437),O=a(67014),n=a(47851),e=a(27677),t=a(36320),E=a(7563),c=a(30350),u=a(88860),d=a(3685),i=a(62345),m=a(76144),g=Object.defineProperty,C=Object.defineProperties,p=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,S=(b,P,z)=>P in b?g(b,P,{enumerable:!0,configurable:!0,writable:!0,value:z}):b[P]=z,I=(b,P)=>{for(var z in P||(P={}))j.call(P,z)&&S(b,z,P[z]);if(w)for(var z of w(P))M.call(P,z)&&S(b,z,P[z]);return b},D=(b,P)=>C(b,p(P)),W=(b,P)=>{var z={};for(var R in b)j.call(b,R)&&P.indexOf(R)<0&&(z[R]=b[R]);if(b!=null&&w)for(var R of w(b))P.indexOf(R)<0&&M.call(b,R)&&(z[R]=b[R]);return z};const T=o.default.label`
2
- position: relative;
3
- display: inline-block;
4
- z-index: 0;
5
- width: 100%;
6
- `,K=(0,o.default)(i.x)`
7
- cursor: ${({disabled:b})=>b?"not-allowed":void 0};
8
- // Masks the background of each value
9
- overflow: hidden;
10
- flex-wrap: wrap;
11
-
12
- ${(0,c.k3)()}
13
- `,A=(0,o.default)(t.k).attrs({hasRadius:!0})`
14
- background-color: ${({theme:b,checked:P,disabled:z})=>P?z?b.colors.neutral200:b.colors.neutral0:"transparent"};
15
- border: 1px solid
16
- ${({theme:b,checked:P,disabled:z})=>P&&P!==null?z?b.colors.neutral300:b.colors.neutral200:z?b.colors.neutral150:b.colors.neutral100};
17
- position: relative;
18
- user-select: none;
19
- z-index: 2;
20
- flex: 1 1 50%;
21
- /**
22
- We declare the defined value because we want the height of the input when
23
- the values are in a row to be 40px. But defining a height on the label
24
- would break the input when it wraps.
25
- */
26
- padding-top: ${({size:b})=>`${b==="S"?"2px":"6px"}`};
27
- padding-bottom: ${({size:b})=>`${b==="S"?"2px":"6px"}`};
28
- `,F=o.default.input`
29
- height: 100%;
30
- left: 0;
31
- opacity: 0;
32
- position: absolute;
33
- top: 0;
34
- z-index: 1;
35
- width: 100%;
36
- `,$=r.forwardRef((b,P)=>{var z=b,{size:R,onLabel:X,offLabel:q,children:J,checked:B,disabled:k,onChange:ee}=z,te=W(z,["size","onLabel","offLabel","children","checked","disabled","onChange"]);const{name:G,required:Y}=(0,m.U)(),Z="neutral600";let re=!B&&B!==null?"danger700":Z,Q=B?"primary600":Z;const ce=ae=>{k||ee(ae)};return r.createElement(T,null,r.createElement(d.T,null,J),r.createElement(K,{hasRadius:!0,disabled:k,padding:1,display:"flex",background:k?"neutral150":"neutral100",borderStyle:"solid",borderWidth:"1px",borderColor:"neutral200"},r.createElement(A,{size:R,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:B===null?!1:!B,disabled:k},r.createElement(u.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:k?"neutral700":re},q)),r.createElement(A,{size:R,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:B===null?!1:B,disabled:k},r.createElement(u.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:k?"neutral700":Q},X)),r.createElement(F,D(I({type:"checkbox","aria-disabled":k,onChange:ae=>ce(ae),name:G,ref:P,"aria-required":Y},te),{checked:!(B===null||!B)}))))});$.displayName="ToggleCheckbox",$.defaultProps={disabled:!1,checked:!1,onChange:void 0,size:"M"},$.propTypes={checked:l.bool,children:l.string.isRequired,disabled:l.bool,offLabel:l.string.isRequired,onChange:l.func,onLabel:l.string.isRequired,size:l.oneOf(Object.keys(f.J.input))};var U=Object.defineProperty,L=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,V=(b,P,z)=>P in b?U(b,P,{enumerable:!0,configurable:!0,writable:!0,value:z}):b[P]=z,ne=(b,P)=>{for(var z in P||(P={}))N.call(P,z)&&V(b,z,P[z]);if(L)for(var z of L(P))_.call(P,z)&&V(b,z,P[z]);return b},le=(b,P)=>{var z={};for(var R in b)N.call(b,R)&&P.indexOf(R)<0&&(z[R]=b[R]);if(b!=null&&L)for(var R of L(b))P.indexOf(R)<0&&_.call(b,R)&&(z[R]=b[R]);return z};const oe=(0,o.default)(s.g)`
37
- max-width: 320px;
38
- `,ie=(0,o.default)(E.A)`
39
- align-self: flex-end;
40
- margin-left: auto;
41
- `,H=b=>{var P=b,{disabled:z,size:R,error:X,hint:q,label:J,name:B,labelAction:k,required:ee,id:te,onClear:G,clearLabel:Y,checked:Z}=P,re=le(P,["disabled","size","error","hint","label","name","labelAction","required","id","onClear","clearLabel","checked"]);const Q=(0,v.M)("toggleinput",te);return r.createElement(oe,{name:B,hint:q,error:X,id:Q,required:ee},r.createElement(e.K,{spacing:1},r.createElement(t.k,null,r.createElement(y.Q,{action:k},J),Y&&G&&Z!==null&&!z&&r.createElement(ie,{onClick:G},Y)),r.createElement($,ne({id:Q,size:R,checked:Z,disabled:z},re),J),r.createElement(O.J,null),r.createElement(n.c,null)))};H.displayName="ToggleInput",H.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"},H.propTypes={checked:l.bool,clearLabel:l.string,disabled:l.bool,error:l.string,hint:l.oneOfType([l.string,l.node,l.arrayOf(l.node)]),id:l.string,label:l.string,labelAction:l.node,name:l.string,onClear:l.func,required:l.bool,size:l.oneOf(Object.keys(f.J.input))}},90700:(x,h,a)=>{"use strict";a.d(h,{m:()=>u});var r=a(32735),o=a(83292),l=a(60216),f=a(15335),v=Object.defineProperty,s=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,n=(d,i,m)=>i in d?v(d,i,{enumerable:!0,configurable:!0,writable:!0,value:m}):d[i]=m,e=(d,i)=>{for(var m in i||(i={}))y.call(i,m)&&n(d,m,i[m]);if(s)for(var m of s(i))O.call(i,m)&&n(d,m,i[m]);return d},t=(d,i)=>{var m={};for(var g in d)y.call(d,g)&&i.indexOf(g)<0&&(m[g]=d[g]);if(d!=null&&s)for(var g of s(d))i.indexOf(g)<0&&O.call(d,g)&&(m[g]=d[g]);return m};const E=`${232/16}rem`,c=(0,o.default)(f.r)`
42
- width: ${E};
43
- background: ${({theme:d})=>d.colors.neutral100};
44
- position: sticky;
45
- top: 0;
46
- height: 100vh;
47
- overflow-y: auto;
48
- border-right: 1px solid ${({theme:d})=>d.colors.neutral200};
49
- z-index: 1;
50
- `,u=d=>{var i=d,{ariaLabel:m}=i,g=t(i,["ariaLabel"]);return r.createElement(c,e({"aria-label":m,as:"nav"},g))};u.propTypes={ariaLabel:l.string.isRequired}},8598:(x,h,a)=>{"use strict";a.d(h,{p:()=>i});var r=a(32735),o=a(60216),l=a(83292),f=a(6792),v=a(36320),s=a(88860),y=a(50563),O=a(62345),n=a(9026),e=a(61774),t=a(89252),E=a(59002);const c=m=>{const g=(0,r.useRef)();return(0,r.useEffect)(()=>{g.current=m}),g.current};var u=a(94486);const d=(0,l.default)(n.i)`
51
- width: ${24/16}rem;
52
- background-color: ${({theme:m})=>m.colors.neutral200};
53
- `,i=({as:m,label:g,searchLabel:C,searchable:p,onChange:w,value:j,onClear:M,onSubmit:S,id:I})=>{const[D,W]=(0,r.useState)(!1),T=c(D),K=(0,E.M)("subnav-searchbar-clear",I),A=(0,r.useRef)(),F=(0,r.useRef)();(0,r.useEffect)(()=>{D&&A.current&&A.current.focus(),T&&!D&&F.current&&F.current.focus()},[D,T]);const $=()=>{W(_=>!_)},U=_=>{M(_),A.current.focus()},L=_=>{var V;((V=_.relatedTarget)==null?void 0:V.id)!==K&&W(!1)},N=_=>{_.key===u.y.ESCAPE&&W(!1)};return D?r.createElement(O.x,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4},r.createElement(t.U,null,r.createElement(e.w,{name:"searchbar",value:j,onChange:w,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:N,ref:A,onBlur:L,onClear:U,onSubmit:S,clearLabel:"Clear",size:"S"},C)),r.createElement(O.x,{paddingLeft:2,paddingTop:4},r.createElement(d,null))):r.createElement(O.x,{paddingLeft:6,paddingTop:6,paddingBottom:2,paddingRight:4},r.createElement(v.k,{justifyContent:"space-between",alignItems:"flex-start"},r.createElement(s.Z,{variant:"beta",as:m},g),p&&r.createElement(y.h,{ref:F,onClick:$,label:C,icon:r.createElement(f.default,null)})),r.createElement(O.x,{paddingTop:4},r.createElement(d,null)))};i.defaultProps={as:"h2",searchable:!1,onChange(){},onClear(){},onSubmit(){},value:"",searchLabel:"",id:void 0},i.propTypes={as:o.string,id:o.string,label:o.string.isRequired,onChange:o.func,onClear:o.func,onSubmit:o.func,searchLabel:o.string,searchable:o.bool,value:o.string}},66618:(x,h,a)=>{"use strict";a.d(h,{E:()=>C});var r=a(32735),o=a(60216),l=a(83292),f=a(56243),v=a(62345),s=a(88860),y=a(36320),O=a(62499),n=Object.defineProperty,e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,c=(p,w,j)=>w in p?n(p,w,{enumerable:!0,configurable:!0,writable:!0,value:j}):p[w]=j,u=(p,w)=>{for(var j in w||(w={}))t.call(w,j)&&c(p,j,w[j]);if(e)for(var j of e(w))E.call(w,j)&&c(p,j,w[j]);return p},d=(p,w)=>{var j={};for(var M in p)t.call(p,M)&&w.indexOf(M)<0&&(j[M]=p[M]);if(p!=null&&e)for(var M of e(p))w.indexOf(M)<0&&E.call(p,M)&&(j[M]=p[M]);return j};const i=(0,l.default)(v.x)`
54
- display: flex;
55
- align-items: center;
56
- justify-content: space-between;
57
- text-decoration: none;
58
- color: ${({theme:p})=>p.colors.neutral800};
59
- svg > * {
60
- fill: ${({theme:p})=>p.colors.neutral600};
61
- }
62
-
63
- &.active {
64
- ${({theme:p})=>`
65
- background-color: ${p.colors.primary100};
66
- border-right: 2px solid ${p.colors.primary600};
67
- svg > * {
68
- fill: ${p.colors.primary700};
69
- }
70
- ${s.Z} {
71
- color: ${p.colors.primary700};
72
- font-weight: 500;
73
- }
74
- `}
75
- }
76
-
77
- &:focus-visible {
78
- outline-offset: -2px;
79
- }
80
- `,m=(0,l.default)(f.default)`
81
- width: ${12/16}rem;
82
- height: ${4/16}rem;
83
- * {
84
- fill: ${({theme:p,$active:w})=>w?p.colors.primary600:p.colors.neutral600};
85
- }
86
- `,g=l.default.div`
87
- svg {
88
- height: ${12/16}rem;
89
- width: ${12/16}rem;
90
- }
91
- `,C=r.forwardRef((p,w)=>{var j=p,{children:M,icon:S,withBullet:I,as:D,isSubSectionChild:W}=j,T=d(j,["children","icon","withBullet","as","isSubSectionChild"]);return r.createElement(i,u({as:D,icon:S,background:"neutral100",paddingLeft:W?9:7,paddingBottom:2,paddingTop:2,ref:w},T),r.createElement(y.k,null,S?r.createElement(g,null,S):r.createElement(m,null),r.createElement(v.x,{paddingLeft:2},r.createElement(s.Z,{as:"span"},M))),I&&r.createElement(v.x,{as:y.k,paddingRight:4},r.createElement(m,{$active:!0})))});C.displayName="SubNavLink",C.defaultProps={as:O.f,icon:null,isSubSectionChild:!1,withBullet:!1},C.propTypes={as:o.elementType,children:o.node.isRequired,icon:o.element,isSubSectionChild:o.bool,withBullet:o.bool}},79318:(x,h,a)=>{"use strict";a.d(h,{D:()=>d});var r=a(32735),o=a(60216),l=a(83292),f=a(62345),v=a(6518),s=a(27677),y=a(16899),O=a(88860),n=a(36320);const e=(0,l.default)(n.k)`
92
- border: none;
93
- padding: 0;
94
- background: transparent;
95
- `,t=l.default.div`
96
- display: flex;
97
- align-items: center;
98
- transform: rotateX(${({rotated:i})=>i?"0deg":"180deg"});
99
- `,E=({collapsable:i,label:m,onClick:g,ariaExpanded:C,ariaControls:p})=>i?r.createElement(e,{as:"button",onClick:g,"aria-expanded":C,"aria-controls":p,textAlign:"left"},r.createElement(f.x,{paddingRight:1},r.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},m)),i&&r.createElement(t,{rotated:C},r.createElement(y.default,{"aria-hidden":!0}))):r.createElement(e,null,r.createElement(f.x,{paddingRight:1},r.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},m)));E.defaultProps={ariaControls:null,ariaExpanded:null,collapsable:!1,onClick(){}},E.propTypes={ariaControls:o.string,ariaExpanded:o.bool,collapsable:o.bool,label:o.string.isRequired,onClick:o.func};var c=a(59002);const u=(0,l.default)(f.x)`
100
- svg {
101
- height: ${4/16}rem;
102
- path {
103
- fill: ${({theme:i})=>i.colors.neutral500};
104
- }
105
- }
106
- `,d=({collapsable:i,label:m,badgeLabel:g,children:C,id:p})=>{const[w,j]=(0,r.useState)(!0),M=(0,c.M)("subnav-list",p),S=()=>{j(I=>!I)};return r.createElement(s.K,{spacing:1},r.createElement(u,{paddingLeft:6,paddingTop:2,paddingBottom:2,paddingRight:4},r.createElement(f.x,{position:"relative",paddingRight:g?6:0},r.createElement(E,{onClick:S,ariaExpanded:w,ariaControls:M,collapsable:i,label:m}),g&&r.createElement(v.C,{backgroundColor:"neutral150",textColor:"neutral600",position:"absolute",right:0,top:"50%",transform:"translateY(-50%)"},g))),(!i||w)&&r.createElement("ol",{id:M},r.Children.map(C,(I,D)=>r.createElement("li",{key:D},I))))};d.defaultProps={badgeLabel:null,collapsable:!1,id:void 0},d.propTypes={badgeLabel:o.string,children:o.node.isRequired,collapsable:o.bool,id:o.string,label:o.string.isRequired}},77013:(x,h,a)=>{"use strict";a.d(h,{Z:()=>E});var r=a(32735),o=a(60216),l=a(27677),f=a(62345),v=Object.defineProperty,s=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,n=(c,u,d)=>u in c?v(c,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[u]=d,e=(c,u)=>{for(var d in u||(u={}))y.call(u,d)&&n(c,d,u[d]);if(s)for(var d of s(u))O.call(u,d)&&n(c,d,u[d]);return c},t=(c,u)=>{var d={};for(var i in c)y.call(c,i)&&u.indexOf(i)<0&&(d[i]=c[i]);if(c!=null&&s)for(var i of s(c))u.indexOf(i)<0&&O.call(c,i)&&(d[i]=c[i]);return d};const E=c=>{var u=c,{children:d}=u,i=t(u,["children"]);return r.createElement(f.x,{paddingTop:2,paddingBottom:4},r.createElement(l.K,e({as:"ol",spacing:2},i),r.Children.map(d,(m,g)=>r.createElement("li",{key:g},m))))};E.propTypes={children:o.node.isRequired}},73779:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#EAFBE7",stroke:"#C6F0C2"}),r.createElement("path",{d:"M19.5 7h-7A4.505 4.505 0 008 11.5c0 2.481 2.019 4.5 4.5 4.5h7c2.481 0 4.5-2.019 4.5-4.5S21.981 7 19.5 7zm0 8a3.5 3.5 0 110-7 3.5 3.5 0 010 7z",fill:"#328048"}))}},1176:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#F6F6F9",stroke:"#DCDCE4"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.535 8.768c0 .116-.011.229-.032.339l3.013 1.776 2.985-1.76a1.768 1.768 0 11.519.93l-2.982 1.757v2.477a1.768 1.768 0 11-1.048-.044v-2.435l-2.997-1.767a1.768 1.768 0 11.542-1.274z",fill:"#666687"}),r.createElement("path",{d:"M13.503 9.107l-.05-.01-.006.035.03.018.026-.043zm3.013 1.776l-.025.043.025.014.025-.014-.025-.043zm2.985-1.76l.025.044.031-.018-.007-.035-.05.01zm.518.93l.035-.036-.027-.026-.033.02.026.042zm-2.98 1.757l-.026-.043-.025.014v.029h.05zm0 2.477h-.05v.035l.032.012.017-.047zm-1.049-.044l.013.048.037-.01v-.038h-.05zm0-2.435h.05v-.029l-.024-.014-.026.043zm-2.997-1.767l.025-.043-.033-.019-.027.027.035.035zm.559-.925c.022-.113.033-.23.033-.348h-.1c0 .112-.01.223-.031.33l.098.018zm2.99 1.723l-3.014-1.775-.05.086 3.013 1.775.05-.086zm2.933-1.758l-2.984 1.758.05.086 2.985-1.758-.05-.086zm-.06-.313c0 .125.013.247.037.366l.098-.02a1.723 1.723 0 01-.035-.346h-.1zm1.818-1.818a1.818 1.818 0 00-1.818 1.818h.1c0-.949.769-1.718 1.718-1.718v-.1zm1.817 1.818a1.818 1.818 0 00-1.817-1.818v.1c.948 0 1.717.769 1.717 1.718h.1zm-1.817 1.817a1.818 1.818 0 001.817-1.817h-.1c0 .948-.769 1.717-1.717 1.717v.1zm-1.248-.495c.326.307.765.495 1.248.495v-.1c-.457 0-.872-.178-1.18-.468l-.068.073zm-2.921 1.763l2.98-1.757-.05-.086-2.981 1.757.05.086zm.024 2.434V11.81h-.1v2.477h.1zm-.067.047a1.718 1.718 0 011.14 1.618h.1c0-.79-.503-1.46-1.206-1.712l-.034.094zm1.14 1.618c0 .948-.77 1.717-1.718 1.717v.1a1.817 1.817 0 001.817-1.817h-.1zm-1.718 1.717a1.718 1.718 0 01-1.718-1.717h-.1c0 1.004.814 1.817 1.818 1.817v-.1zm-1.718-1.717c0-.797.543-1.467 1.278-1.66l-.026-.098a1.818 1.818 0 00-1.352 1.758h.1zm1.215-4.144v2.435h.1v-2.435h-.1zm-2.973-1.723l2.998 1.766.05-.086-2.997-1.767-.05.087zm-1.2.5c.49 0 .934-.193 1.26-.507l-.069-.072c-.309.296-.728.48-1.19.48v.1zM9.95 8.768c0 1.003.814 1.817 1.818 1.817v-.1a1.718 1.718 0 01-1.718-1.717h-.1zm1.818-1.818A1.818 1.818 0 009.95 8.768h.1c0-.949.769-1.718 1.717-1.718v-.1zm1.817 1.818a1.818 1.818 0 00-1.818-1.818v.1c.95 0 1.718.769 1.718 1.718h.1z",fill:"#666687"}))}},88675:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("path",{d:"M.5 3A2.5 2.5 0 013 .5h26A2.5 2.5 0 0131.5 3v18a2.5 2.5 0 01-2.5 2.5H3A2.5 2.5 0 01.5 21V3z",fill:"#FDF4DC",stroke:"#FAE7B9"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11.934 7.495V6h1.45v1.495h5.232V6h1.45v1.495h.314c1.385 0 1.602.249 1.62 1.463V16.5c0 1.062-.096 1.5-1.4 1.5h-9.19c-1.306 0-1.41-.318-1.41-1.607V9.105c.018-1.025.117-1.61 1.5-1.61h.434zm-.774 8.687c0 .406.123.433.388.433h8.953c.265 0 .34-.007.34-.413v-6.087c-.008-.314-.11-.369-.316-.369h-9.072c-.206 0-.296.045-.293.287v6.15z",fill:"#D9822F"}))}},15431:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#F6F6F9",stroke:"#DCDCE4"}),r.createElement("path",{d:"M20.573 8c-1.484 0-2.666.745-3.397 1.37l-.026.023-.416.452.919 1.51.68-.682c.711-.6 1.506-.93 2.24-.93 1.48 0 2.685 1.171 2.685 2.612 0 1.44-1.205 2.613-2.685 2.613-2.25 0-3.78-2.974-3.795-3.004C16.69 11.784 14.75 8 11.428 8 8.985 8 7 9.954 7 12.355c0 2.401 1.986 4.355 4.427 4.355 1.196 0 2.373-.476 3.404-1.376l.022-.02.413-.45-.919-1.51-.683.686c-.712.616-1.465.928-2.237.928-1.48 0-2.685-1.172-2.685-2.613 0-1.44 1.205-2.613 2.685-2.613 2.25 0 3.78 2.974 3.795 3.004.088.18 2.028 3.964 5.35 3.964 2.442 0 4.428-1.954 4.428-4.355C25 9.954 23.014 8 20.573 8z",fill:"#666687"}))}},22348:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#FCECEA",stroke:"#F5C0B8"}),r.createElement("path",{d:"M16.767 17.49c.724 0 1.428-.089 1.962-.253v-1.093c-.383.143-1.128.239-1.86.239-2.905 0-4.744-1.764-4.744-4.546v-.014c0-2.734 1.839-4.641 4.484-4.641 2.598 0 4.307 1.62 4.307 4.088v.013c0 1.402-.444 2.304-1.135 2.304-.417 0-.656-.287-.656-.772V9.157h-1.38v.82h-.124c-.273-.608-.868-.97-1.6-.97-1.367 0-2.296 1.135-2.296 2.789v.014c0 1.73.943 2.884 2.365 2.884.793 0 1.353-.362 1.64-1.052h.123l.007.04c.158.636.78 1.033 1.62 1.033 1.655 0 2.687-1.367 2.687-3.534v-.014c0-3.008-2.242-5.072-5.517-5.072-3.418 0-5.776 2.324-5.776 5.694v.014c0 3.431 2.331 5.687 5.893 5.687zm-.342-4.053c-.718 0-1.149-.602-1.149-1.586v-.014c0-.991.431-1.586 1.156-1.586.724 0 1.182.608 1.182 1.586v.014c0 .977-.458 1.585-1.19 1.585z",fill:"#D02B20"}))}},7184:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#F6ECFC",stroke:"#E0C1F4"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.167 7a1.167 1.167 0 100 2.333 1.167 1.167 0 000-2.333zm0 4.03a1.167 1.167 0 100 2.334 1.167 1.167 0 000-2.334zM9 16.23a1.167 1.167 0 112.333 0 1.167 1.167 0 01-2.333 0zm4.005-9.02a.4.4 0 00-.4.4v1.11c0 .22.18.4.4.4H22.6a.4.4 0 00.4-.4V7.61a.4.4 0 00-.4-.4h-9.594zm-.399 4.432a.4.4 0 01.4-.4H22.6c.22 0 .4.18.4.4v1.11a.4.4 0 01-.4.4h-9.594a.4.4 0 01-.4-.4v-1.11zm.4 3.63a.4.4 0 00-.4.4v1.11c0 .22.18.4.4.4H22.6a.4.4 0 00.4-.4v-1.11a.4.4 0 00-.4-.4h-9.594z",fill:"#9736E8"}))}},872:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#EAF5FF",stroke:"#B8E1FF"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.243 11.907v.157c.835.093 1.287.516 1.287 1.223V14.5c0 .693.236.959.855.959h.216V16.5h-.364c-1.459 0-2.078-.56-2.078-1.857v-.973c0-.722-.314-.992-1.159-1.002v-1.366c.84-.005 1.16-.275 1.16-1.002v-.968c0-1.282.618-1.832 2.077-1.832h.364v1.041h-.216c-.624 0-.855.266-.855.958v1.184c0 .713-.452 1.135-1.287 1.224zm15.804.181v-.157c-.835-.088-1.287-.51-1.287-1.223V9.495c0-.693-.236-.954-.855-.954h-.216V7.5h.363c1.454 0 2.073.56 2.073 1.852v.973c0 .722.32.997 1.165 1.002v1.366c-.845.005-1.165.28-1.165 1.002v.973c0 1.282-.613 1.832-2.073 1.832h-.363v-1.046h.216c.619 0 .855-.26.855-.954v-1.188c0-.708.452-1.13 1.287-1.224zM13.15 13a1 1 0 100-2 1 1 0 000 2zm4-1a1 1 0 11-2 0 1 1 0 012 0zm2 1a1 1 0 100-2 1 1 0 000 2z",fill:"#0C75AF"}))}},43475:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#F6ECFC",stroke:"#E0C1F4"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 8.759a2 2 0 00-2-2h-8c-1.105 0-2 .902-2 2.006v6.068a2 2 0 00.985 1.724l3.66-3.74 3.31 3.381 1.471-1.502 1.731 1.769c.51-.363.843-.958.843-1.632V8.76zM18.5 9c-.84 0-1.5.66-1.5 1.5s.66 1.5 1.5 1.5 1.5-.66 1.5-1.5S19.34 9 18.5 9z",fill:"#9736E8"}))}},32031:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#FCECEA",stroke:"#F5C0B8"}),r.createElement("path",{d:"M9.815 16h1.475V8.954H9.82L8 10.22v1.328l1.729-1.201h.087V16zm3.394 0h5.083v-1.187h-3.106v-.112l1.304-1.216c1.284-1.186 1.7-1.85 1.7-2.651v-.015c0-1.215-1.016-2.046-2.466-2.046-1.543 0-2.598.928-2.598 2.28l.005.02h1.362v-.024c0-.67.474-1.128 1.162-1.128.674 0 1.084.42 1.084 1.02v.015c0 .493-.268.85-1.26 1.812l-2.27 2.24V16zm9.067.156c1.646 0 2.744-.864 2.744-2.143v-.01c0-.957-.683-1.563-1.733-1.66v-.03c.825-.17 1.47-.742 1.47-1.62v-.01c0-1.123-.977-1.885-2.49-1.885-1.48 0-2.471.82-2.574 2.08l-.005.059h1.358l.005-.044c.058-.586.522-.962 1.216-.962.693 0 1.098.361 1.098.947v.01c0 .571-.478.962-1.22.962h-.787v1.05h.806c.855 0 1.357.37 1.357 1.044v.01c0 .596-.493 1.016-1.245 1.016-.761 0-1.264-.39-1.328-.938l-.005-.053h-1.41l.004.063c.098 1.26 1.148 2.114 2.74 2.114z",fill:"#D02B20"}))}},82512:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("path",{d:"M.5 3A2.5 2.5 0 013 .5h26A2.5 2.5 0 0131.5 3v18a2.5 2.5 0 01-2.5 2.5H3A2.5 2.5 0 01.5 21V3z",fill:"#F0F0FF",stroke:"#D9D8FF"}),r.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.375 16.316c.417-.407.625-.904.625-1.492 0-.589-.206-1.089-.618-1.5l-1.53-1.53a2.042 2.042 0 00-1.5-.617 2.06 2.06 0 00-1.529.646l-.646-.646c.43-.422.646-.934.646-1.537a2.03 2.03 0 00-.61-1.493l-1.515-1.522a2.014 2.014 0 00-1.5-.625 2.03 2.03 0 00-1.492.61l-1.081 1.074A2.006 2.006 0 0010 9.176c0 .589.206 1.089.618 1.5l1.53 1.53c.41.412.91.617 1.5.617a2.06 2.06 0 001.529-.646l.646.646a2.069 2.069 0 00-.646 1.537c0 .588.203 1.086.61 1.493l1.514 1.522c.407.417.907.625 1.5.625a2.03 2.03 0 001.493-.61l1.081-1.074zm-5.956-6.678a.68.68 0 00-.205-.5l-1.515-1.522a.68.68 0 00-.5-.206.71.71 0 00-.5.199l-1.081 1.073a.672.672 0 00-.206.493.68.68 0 00.206.5l1.53 1.53a.678.678 0 00.5.198.71.71 0 00.529-.228l-.14-.136a4.46 4.46 0 01-.158-.158 1.756 1.756 0 01-.11-.14.593.593 0 01-.122-.39.68.68 0 01.206-.5.68.68 0 01.5-.206.59.59 0 01.39.121c.064.047.11.084.14.111.03.027.082.08.158.158l.136.14a.713.713 0 00.242-.537zm5.168 5.187a.68.68 0 00-.206-.5l-1.529-1.53a.68.68 0 00-.5-.205.7.7 0 00-.53.235l.14.136c.079.076.132.129.159.158.027.03.063.076.11.14a.591.591 0 01.121.39.681.681 0 01-.206.5.681.681 0 01-.5.206.591.591 0 01-.39-.121 1.746 1.746 0 01-.14-.111 4.395 4.395 0 01-.157-.158 20.642 20.642 0 00-.136-.14.714.714 0 00-.037 1.037l1.515 1.522a.678.678 0 00.5.198.708.708 0 00.5-.19l1.08-1.074a.672.672 0 00.206-.493z",fill:"#4945FF"}))}},83218:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("rect",{x:.5,y:.5,width:31,height:23,rx:2.5,fill:"#EAFBE7",stroke:"#C6F0C2"}),r.createElement("path",{d:"M8.62 16h1.857l.627-2.05h2.982l.627 2.05h1.863l-2.941-8.455h-2.08L8.619 16zm3.925-6.768h.105l1.032 3.393h-2.174l1.037-3.393zM21.65 16.1c1.612 0 2.62-1.26 2.62-3.323v-.011c0-2.075-.985-3.323-2.62-3.323-.884 0-1.605.434-1.933 1.137h-.106V7.082h-1.71V16h1.71v-1.002h.106c.334.697 1.02 1.102 1.933 1.102zm-.585-1.418c-.903 0-1.471-.715-1.471-1.899v-.011c0-1.184.574-1.91 1.47-1.91.903 0 1.465.726 1.465 1.904v.011c0 1.19-.556 1.905-1.465 1.905z",fill:"#328048"}))}},17757:(x,h,a)=>{"use strict";a.d(h,{Z:()=>O});var r=a(32735),o=Object.defineProperty,l=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,s=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,y=(n,e)=>{for(var t in e||(e={}))f.call(e,t)&&s(n,t,e[t]);if(l)for(var t of l(e))v.call(e,t)&&s(n,t,e[t]);return n};function O(n){return r.createElement("svg",y({width:"1em",height:"1em",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),r.createElement("path",{d:"M.5 3A2.5 2.5 0 013 .5h26A2.5 2.5 0 0131.5 3v18a2.5 2.5 0 01-2.5 2.5H3A2.5 2.5 0 01.5 21V3z",fill:"#F0F0FF",stroke:"#D9D8FF"}),r.createElement("path",{d:"M14.907 9.438c0 .375 0 .738.118 1.078-1.243 1.46-4.526 5.317-4.832 5.611a.582.582 0 00-.193.433c0 .245.15.481.277.614.19.2 1.004.952 1.154.808.444-.433.533-.548.715-.727.274-.268-.029-.816.066-1.039.096-.222.197-.265.361-.3.165-.034.456.084.684.087.24.003.369-.098.548-.265.144-.133.248-.257.25-.45.007-.26-.368-.603-.089-.877.28-.274.684.178.981.144.297-.035.658-.447.695-.623.038-.176-.337-.629-.28-.886.02-.086.197-.288.33-.317.132-.029.72.199.853.17.162-.034.35-.205.502-.3.447.193.854.271 1.376.271C20.4 12.87 22 11.33 22 9.432 22 7.534 20.399 6 18.423 6s-3.516 1.54-3.516 3.438zm5.247-.669a.923.923 0 11-1.847 0 .923.923 0 011.847 0z",fill:"#4945FF"}))}}}]);