@strapi/admin 5.49.0 → 5.50.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 (626) hide show
  1. package/dist/admin/admin/src/components/ConfirmDialog.js +2 -2
  2. package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
  3. package/dist/admin/admin/src/components/ContentBox.js +3 -3
  4. package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
  5. package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -8
  6. package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
  7. package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs +8 -8
  8. package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/ErrorElement.js +100 -5
  10. package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
  11. package/dist/admin/admin/src/components/ErrorElement.mjs +99 -4
  12. package/dist/admin/admin/src/components/ErrorElement.mjs.map +1 -1
  13. package/dist/admin/admin/src/components/Form.js +41 -27
  14. package/dist/admin/admin/src/components/Form.js.map +1 -1
  15. package/dist/admin/admin/src/components/Form.mjs +41 -27
  16. package/dist/admin/admin/src/components/Form.mjs.map +1 -1
  17. package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
  18. package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
  19. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
  20. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
  21. package/dist/admin/admin/src/components/FormInputs/Date.js +1 -1
  22. package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
  23. package/dist/admin/admin/src/components/FormInputs/Date.mjs +1 -1
  24. package/dist/admin/admin/src/components/FormInputs/Date.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/FormInputs/Email.js.map +1 -1
  26. package/dist/admin/admin/src/components/FormInputs/Email.mjs.map +1 -1
  27. package/dist/admin/admin/src/components/FormInputs/Enumeration.js +4 -1
  28. package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
  29. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +4 -1
  30. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
  31. package/dist/admin/admin/src/components/FormInputs/Json.js +2 -1
  32. package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
  33. package/dist/admin/admin/src/components/FormInputs/Json.mjs +2 -1
  34. package/dist/admin/admin/src/components/FormInputs/Json.mjs.map +1 -1
  35. package/dist/admin/admin/src/components/FormInputs/Password.js.map +1 -1
  36. package/dist/admin/admin/src/components/FormInputs/Password.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/FormInputs/Renderer.js +18 -26
  38. package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
  39. package/dist/admin/admin/src/components/FormInputs/Renderer.mjs +20 -28
  40. package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
  42. package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
  43. package/dist/admin/admin/src/components/FormInputs/Textarea.js.map +1 -1
  44. package/dist/admin/admin/src/components/FormInputs/Textarea.mjs.map +1 -1
  45. package/dist/admin/admin/src/components/GapDropZone.js +2 -2
  46. package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
  47. package/dist/admin/admin/src/components/GradientBadge.js +3 -3
  48. package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
  49. package/dist/admin/admin/src/components/GuidedTour/Overview.js +8 -8
  50. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  51. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +4 -4
  52. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
  53. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
  54. package/dist/admin/admin/src/components/GuidedTour/Tours.js +2 -2
  55. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
  56. package/dist/admin/admin/src/components/Layouts/ActionLayout.js +2 -2
  57. package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
  58. package/dist/admin/admin/src/components/Layouts/GridLayout.js +2 -2
  59. package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
  60. package/dist/admin/admin/src/components/Layouts/Layout.js +4 -4
  61. package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
  62. package/dist/admin/admin/src/components/LazyOutlet.js +57 -0
  63. package/dist/admin/admin/src/components/LazyOutlet.js.map +1 -0
  64. package/dist/admin/admin/src/components/LazyOutlet.mjs +35 -0
  65. package/dist/admin/admin/src/components/LazyOutlet.mjs.map +1 -0
  66. package/dist/admin/admin/src/components/LeftMenu.js +3 -3
  67. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  68. package/dist/admin/admin/src/components/MainNav/MainNav.js +2 -2
  69. package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
  70. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +4 -4
  71. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
  72. package/dist/admin/admin/src/components/MainNav/NavBrand.js +2 -2
  73. package/dist/admin/admin/src/components/MainNav/NavBrand.js.map +1 -1
  74. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +3 -3
  75. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -1
  76. package/dist/admin/admin/src/components/MainNav/NavLink.js +8 -8
  77. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  78. package/dist/admin/admin/src/components/MainNav/NavUser.js +17 -7
  79. package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
  80. package/dist/admin/admin/src/components/MainNav/NavUser.mjs +10 -0
  81. package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
  82. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +3 -3
  83. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
  84. package/dist/admin/admin/src/components/NpsSurvey.js +2 -2
  85. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  86. package/dist/admin/admin/src/components/RelativeTime.js +3 -2
  87. package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
  88. package/dist/admin/admin/src/components/RelativeTime.mjs +3 -2
  89. package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
  90. package/dist/admin/admin/src/components/ResizeIndicator.js +6 -6
  91. package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
  92. package/dist/admin/admin/src/components/SubNav.js +11 -9
  93. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  94. package/dist/admin/admin/src/components/SubNav.mjs +4 -2
  95. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  96. package/dist/admin/admin/src/components/Table.js +9 -5
  97. package/dist/admin/admin/src/components/Table.js.map +1 -1
  98. package/dist/admin/admin/src/components/Table.mjs +6 -2
  99. package/dist/admin/admin/src/components/Table.mjs.map +1 -1
  100. package/dist/admin/admin/src/components/Theme.js +2 -2
  101. package/dist/admin/admin/src/components/Theme.js.map +1 -1
  102. package/dist/admin/admin/src/components/UnauthenticatedLogo.js +2 -2
  103. package/dist/admin/admin/src/components/UnauthenticatedLogo.js.map +1 -1
  104. package/dist/admin/admin/src/components/UpsellBanner.js +3 -3
  105. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  106. package/dist/admin/admin/src/components/WidgetRoot.js +4 -7
  107. package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
  108. package/dist/admin/admin/src/components/WidgetRoot.mjs +1 -1
  109. package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
  110. package/dist/admin/admin/src/components/Widgets.js +5 -5
  111. package/dist/admin/admin/src/components/Widgets.js.map +1 -1
  112. package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
  113. package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
  114. package/dist/admin/admin/src/core/apis/Widgets.js +1 -1
  115. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  116. package/dist/admin/admin/src/core/apis/Widgets.mjs +1 -1
  117. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  118. package/dist/admin/admin/src/core/apis/router.js +19 -17
  119. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  120. package/dist/admin/admin/src/core/apis/router.mjs +19 -17
  121. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  122. package/dist/admin/admin/src/core/store/configure.js.map +1 -1
  123. package/dist/admin/admin/src/core/store/configure.mjs.map +1 -1
  124. package/dist/admin/admin/src/core/utils/createHook.js.map +1 -1
  125. package/dist/admin/admin/src/core/utils/createHook.mjs.map +1 -1
  126. package/dist/admin/admin/src/features/Tracking.js +3 -1
  127. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  128. package/dist/admin/admin/src/features/Tracking.mjs +3 -1
  129. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  130. package/dist/admin/admin/src/features/Widgets.js.map +1 -1
  131. package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
  132. package/dist/admin/admin/src/hooks/useMediaQuery.js +4 -4
  133. package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
  134. package/dist/admin/admin/src/hooks/useMenu.js +5 -3
  135. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  136. package/dist/admin/admin/src/hooks/useMenu.mjs +5 -3
  137. package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
  138. package/dist/admin/admin/src/hooks/useQueryParams.js +0 -1
  139. package/dist/admin/admin/src/hooks/useQueryParams.js.map +1 -1
  140. package/dist/admin/admin/src/hooks/useQueryParams.mjs +0 -1
  141. package/dist/admin/admin/src/hooks/useQueryParams.mjs.map +1 -1
  142. package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
  143. package/dist/admin/admin/src/hooks/useThrottledCallback.mjs.map +1 -1
  144. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +5 -3
  145. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  146. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +5 -3
  147. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  148. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +3 -3
  149. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
  150. package/dist/admin/admin/src/pages/Auth/AuthPage.js +3 -2
  151. package/dist/admin/admin/src/pages/Auth/AuthPage.js.map +1 -1
  152. package/dist/admin/admin/src/pages/Auth/AuthPage.mjs +3 -2
  153. package/dist/admin/admin/src/pages/Auth/AuthPage.mjs.map +1 -1
  154. package/dist/admin/admin/src/pages/Auth/components/Register.js +17 -9
  155. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  156. package/dist/admin/admin/src/pages/Auth/components/Register.mjs +15 -7
  157. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  158. package/dist/admin/admin/src/pages/Home/HomePage.js +2 -2
  159. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  160. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +3 -6
  161. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
  162. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +1 -1
  163. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -1
  164. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +4 -8
  165. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  166. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +1 -1
  167. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  168. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +4 -8
  169. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
  170. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +1 -1
  171. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
  172. package/dist/admin/admin/src/pages/SessionsPage.js +318 -0
  173. package/dist/admin/admin/src/pages/SessionsPage.js.map +1 -0
  174. package/dist/admin/admin/src/pages/SessionsPage.mjs +296 -0
  175. package/dist/admin/admin/src/pages/SessionsPage.mjs.map +1 -0
  176. package/dist/admin/admin/src/pages/Settings/Layout.js +4 -1
  177. package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
  178. package/dist/admin/admin/src/pages/Settings/Layout.mjs +5 -2
  179. package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
  180. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +2 -2
  181. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  182. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  183. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +2 -2
  184. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  185. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +2 -2
  186. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  187. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +2 -2
  188. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
  189. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +2 -2
  190. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
  191. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +4 -4
  192. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  193. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
  194. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.mjs.map +1 -1
  195. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -2
  196. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  197. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +1 -2
  198. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  199. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +2 -2
  200. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  201. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +9 -2
  202. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  203. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +7 -0
  204. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
  205. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +7 -1
  206. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
  207. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +7 -1
  208. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
  209. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js +2 -2
  210. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.js.map +1 -1
  211. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +44 -10
  212. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  213. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs +34 -0
  214. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
  215. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -3
  216. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
  217. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -5
  218. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  219. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js +2 -2
  220. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/HiddenAction.js.map +1 -1
  221. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +38 -2
  222. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  223. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +38 -2
  224. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  225. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +3 -3
  226. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  227. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.js.map +1 -1
  228. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.mjs.map +1 -1
  229. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js +18 -1
  230. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
  231. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs +18 -1
  232. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
  233. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js +59 -0
  234. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.js.map +1 -0
  235. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs +52 -0
  236. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.mjs.map +1 -0
  237. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  238. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  239. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js +3 -3
  240. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
  241. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +2 -2
  242. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
  243. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +2 -2
  244. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  245. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
  246. package/dist/admin/admin/src/router.js +9 -0
  247. package/dist/admin/admin/src/router.js.map +1 -1
  248. package/dist/admin/admin/src/router.mjs +9 -0
  249. package/dist/admin/admin/src/router.mjs.map +1 -1
  250. package/dist/admin/admin/src/services/auth.js +43 -2
  251. package/dist/admin/admin/src/services/auth.js.map +1 -1
  252. package/dist/admin/admin/src/services/auth.mjs +41 -3
  253. package/dist/admin/admin/src/services/auth.mjs.map +1 -1
  254. package/dist/admin/admin/src/translations/en.json.js +22 -0
  255. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  256. package/dist/admin/admin/src/translations/en.json.mjs +22 -0
  257. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  258. package/dist/admin/admin/src/translations/ja.json.js +726 -237
  259. package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
  260. package/dist/admin/admin/src/translations/ja.json.mjs +723 -238
  261. package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
  262. package/dist/admin/admin/src/translations/languageNativeNames.js +1 -0
  263. package/dist/admin/admin/src/translations/languageNativeNames.js.map +1 -1
  264. package/dist/admin/admin/src/translations/languageNativeNames.mjs +1 -0
  265. package/dist/admin/admin/src/translations/languageNativeNames.mjs.map +1 -1
  266. package/dist/admin/admin/src/translations/pl.json.js +22 -0
  267. package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
  268. package/dist/admin/admin/src/translations/pl.json.mjs +22 -0
  269. package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
  270. package/dist/admin/admin/src/utils/arrays.js.map +1 -1
  271. package/dist/admin/admin/src/utils/arrays.mjs.map +1 -1
  272. package/dist/admin/admin/src/utils/baseQuery.js +1 -1
  273. package/dist/admin/admin/src/utils/baseQuery.js.map +1 -1
  274. package/dist/admin/admin/src/utils/baseQuery.mjs +1 -1
  275. package/dist/admin/admin/src/utils/baseQuery.mjs.map +1 -1
  276. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  277. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  278. package/dist/admin/admin/src/utils/objects.js +43 -11
  279. package/dist/admin/admin/src/utils/objects.js.map +1 -1
  280. package/dist/admin/admin/src/utils/objects.mjs +43 -11
  281. package/dist/admin/admin/src/utils/objects.mjs.map +1 -1
  282. package/dist/admin/admin/src/utils/once.js.map +1 -1
  283. package/dist/admin/admin/src/utils/once.mjs.map +1 -1
  284. package/dist/admin/admin/src/utils/retryDynamicImport.js +85 -0
  285. package/dist/admin/admin/src/utils/retryDynamicImport.js.map +1 -0
  286. package/dist/admin/admin/src/utils/retryDynamicImport.mjs +80 -0
  287. package/dist/admin/admin/src/utils/retryDynamicImport.mjs.map +1 -0
  288. package/dist/admin/admin/src/utils/rulesEngine.js +2 -1
  289. package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
  290. package/dist/admin/admin/src/utils/rulesEngine.mjs +2 -1
  291. package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
  292. package/dist/admin/admin/src/utils/shims.js.map +1 -1
  293. package/dist/admin/admin/src/utils/shims.mjs.map +1 -1
  294. package/dist/admin/admin/src/utils/widgetVisibility.js +16 -1
  295. package/dist/admin/admin/src/utils/widgetVisibility.js.map +1 -1
  296. package/dist/admin/admin/src/utils/widgetVisibility.mjs +14 -2
  297. package/dist/admin/admin/src/utils/widgetVisibility.mjs.map +1 -1
  298. package/dist/admin/admin/tests/server.js +25 -0
  299. package/dist/admin/admin/tests/server.js.map +1 -1
  300. package/dist/admin/admin/tests/server.mjs +25 -0
  301. package/dist/admin/admin/tests/server.mjs.map +1 -1
  302. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js +2 -2
  303. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
  304. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +2 -2
  305. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
  306. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs +2 -2
  307. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
  308. package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js +2 -2
  309. package/dist/admin/ee/admin/src/pages/AuthPage/components/Login.js.map +1 -1
  310. package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js +2 -2
  311. package/dist/admin/ee/admin/src/pages/AuthPage/components/Providers.js.map +1 -1
  312. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js +3 -3
  313. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
  314. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +3 -3
  315. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
  316. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
  317. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
  318. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.js.map +1 -1
  319. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.mjs.map +1 -1
  320. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +2 -2
  321. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
  322. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  323. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
  324. package/dist/admin/index.js +2 -0
  325. package/dist/admin/index.js.map +1 -1
  326. package/dist/admin/index.mjs +1 -0
  327. package/dist/admin/index.mjs.map +1 -1
  328. package/dist/admin/src/StrapiApp.d.ts +7 -7
  329. package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +2 -1
  330. package/dist/admin/src/components/Form.d.ts +14 -12
  331. package/dist/admin/src/components/FormInputs/Boolean.d.ts +0 -1
  332. package/dist/admin/src/components/FormInputs/Checkbox.d.ts +0 -1
  333. package/dist/admin/src/components/FormInputs/DateTime.d.ts +0 -1
  334. package/dist/admin/src/components/FormInputs/Email.d.ts +0 -1
  335. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +0 -1
  336. package/dist/admin/src/components/FormInputs/Number.d.ts +0 -1
  337. package/dist/admin/src/components/FormInputs/Password.d.ts +0 -1
  338. package/dist/admin/src/components/FormInputs/Renderer.d.ts +1 -2
  339. package/dist/admin/src/components/FormInputs/String.d.ts +0 -1
  340. package/dist/admin/src/components/FormInputs/Textarea.d.ts +0 -1
  341. package/dist/admin/src/components/FormInputs/Time.d.ts +0 -1
  342. package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +0 -1
  343. package/dist/admin/src/components/GuidedTour/Steps/Step.d.ts +1 -1
  344. package/dist/admin/src/components/LazyOutlet.d.ts +20 -0
  345. package/dist/admin/src/components/MainNav/MainNav.d.ts +1 -1
  346. package/dist/admin/src/components/MainNav/NavUser.d.ts +0 -1
  347. package/dist/admin/src/components/SubNav.d.ts +6 -7
  348. package/dist/admin/src/components/Table.d.ts +3 -2
  349. package/dist/admin/src/core/apis/Plugin.d.ts +2 -2
  350. package/dist/admin/src/core/apis/Widgets.d.ts +0 -1
  351. package/dist/admin/src/core/apis/router.d.ts +1 -1
  352. package/dist/admin/src/core/store/configure.d.ts +2 -2
  353. package/dist/admin/src/core/utils/createHook.d.ts +7 -7
  354. package/dist/admin/src/features/AppInfo.d.ts +1 -2
  355. package/dist/admin/src/features/StrapiApp.d.ts +1 -2
  356. package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +1 -1
  357. package/dist/admin/src/hooks/useAdminRoles.d.ts +3 -3
  358. package/dist/admin/src/hooks/useFetchClient.d.ts +1 -1
  359. package/dist/admin/src/hooks/useMenu.d.ts +1 -1
  360. package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
  361. package/dist/admin/src/hooks/useQueryParams.d.ts +3 -2
  362. package/dist/admin/src/hooks/useThrottledCallback.d.ts +1 -2
  363. package/dist/admin/src/index.d.ts +1 -0
  364. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +2 -2
  365. package/dist/admin/src/pages/SessionsPage.d.ts +2 -0
  366. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +1 -1
  367. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +2 -3
  368. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -2
  369. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +0 -1
  370. package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +2 -0
  371. package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +1 -1
  372. package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +1 -1
  373. package/dist/admin/src/pages/Settings/pages/Roles/utils/localePermissionValidation.d.ts +5 -0
  374. package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +3 -1
  375. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +8 -8
  376. package/dist/admin/src/reducer.d.ts +1 -1
  377. package/dist/admin/src/services/admin.d.ts +8 -8
  378. package/dist/admin/src/services/api.d.ts +1 -1
  379. package/dist/admin/src/services/apiTokens.d.ts +3 -3
  380. package/dist/admin/src/services/auth.d.ts +29 -27
  381. package/dist/admin/src/services/contentApi.d.ts +2 -2
  382. package/dist/admin/src/services/contentManager.d.ts +1 -1
  383. package/dist/admin/src/services/homepage.d.ts +3 -3
  384. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  385. package/dist/admin/src/services/users.d.ts +15 -15
  386. package/dist/admin/src/services/webhooks.d.ts +4 -4
  387. package/dist/admin/src/translations/languageNativeNames.d.ts +1 -0
  388. package/dist/admin/src/utils/arrays.d.ts +1 -1
  389. package/dist/admin/src/utils/baseQuery.d.ts +1 -1
  390. package/dist/admin/src/utils/getFetchClient.d.ts +7 -7
  391. package/dist/admin/src/utils/locales.d.ts +0 -1
  392. package/dist/admin/src/utils/objects.d.ts +6 -4
  393. package/dist/admin/src/utils/once.d.ts +1 -1
  394. package/dist/admin/src/utils/retryDynamicImport.d.ts +19 -0
  395. package/dist/admin/src/utils/shims.d.ts +1 -1
  396. package/dist/admin/src/utils/widgetVisibility.d.ts +11 -0
  397. package/dist/admin/tests/store.d.ts +4 -4
  398. package/dist/admin/tests/utils.d.ts +5 -5
  399. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +1 -1
  400. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +2 -1
  401. package/dist/ee/admin/src/services/ai.d.ts +5 -5
  402. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  403. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +1 -1
  404. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -1
  405. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +3 -3
  406. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
  407. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +2 -2
  408. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -1
  409. package/dist/ee/server/src/bootstrap.d.ts.map +1 -1
  410. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +30 -31
  411. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -1
  412. package/dist/ee/server/src/controllers/index.d.ts +1 -2
  413. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  414. package/dist/ee/server/src/controllers/user.d.ts +1 -1
  415. package/dist/ee/server/src/destroy.d.ts.map +1 -1
  416. package/dist/ee/server/src/index.d.ts +2 -3
  417. package/dist/ee/server/src/index.d.ts.map +1 -1
  418. package/dist/ee/server/src/register.d.ts.map +1 -1
  419. package/dist/ee/server/src/routes/utils.d.ts.map +1 -1
  420. package/dist/ee/server/src/services/auth.d.ts.map +1 -1
  421. package/dist/ee/server/src/services/index.d.ts +1 -1
  422. package/dist/ee/server/src/services/metrics.d.ts.map +1 -1
  423. package/dist/ee/server/src/services/passport/sso.d.ts.map +1 -1
  424. package/dist/ee/server/src/services/persist-tables.d.ts +1 -1
  425. package/dist/ee/server/src/services/persist-tables.d.ts.map +1 -1
  426. package/dist/ee/server/src/services/role.d.ts.map +1 -1
  427. package/dist/ee/server/src/services/user.d.ts.map +1 -1
  428. package/dist/ee/server/src/utils/index.d.ts.map +1 -1
  429. package/dist/ee/server/src/utils/sso-lock.d.ts.map +1 -1
  430. package/dist/ee/server/src/validation/authentication.d.ts +2 -2
  431. package/dist/ee/server/src/validation/role.d.ts +6 -6
  432. package/dist/ee/server/src/validation/role.d.ts.map +1 -1
  433. package/dist/ee/server/src/validation/user.d.ts.map +1 -1
  434. package/dist/server/server/src/content-types/session.js +6 -0
  435. package/dist/server/server/src/content-types/session.js.map +1 -1
  436. package/dist/server/server/src/content-types/session.mjs +6 -0
  437. package/dist/server/server/src/content-types/session.mjs.map +1 -1
  438. package/dist/server/server/src/controllers/admin.js.map +1 -1
  439. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  440. package/dist/server/server/src/controllers/authenticated-session.js +61 -0
  441. package/dist/server/server/src/controllers/authenticated-session.js.map +1 -0
  442. package/dist/server/server/src/controllers/authenticated-session.mjs +59 -0
  443. package/dist/server/server/src/controllers/authenticated-session.mjs.map +1 -0
  444. package/dist/server/server/src/controllers/authentication.js +11 -4
  445. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  446. package/dist/server/server/src/controllers/authentication.mjs +12 -5
  447. package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
  448. package/dist/server/server/src/controllers/index.js +2 -0
  449. package/dist/server/server/src/controllers/index.js.map +1 -1
  450. package/dist/server/server/src/controllers/index.mjs +2 -0
  451. package/dist/server/server/src/controllers/index.mjs.map +1 -1
  452. package/dist/server/server/src/controllers/role.js +2 -4
  453. package/dist/server/server/src/controllers/role.js.map +1 -1
  454. package/dist/server/server/src/controllers/role.mjs +2 -4
  455. package/dist/server/server/src/controllers/role.mjs.map +1 -1
  456. package/dist/server/server/src/routes/serve-admin-panel.js +1 -1
  457. package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
  458. package/dist/server/server/src/routes/serve-admin-panel.mjs +1 -1
  459. package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
  460. package/dist/server/server/src/routes/users.js +12 -26
  461. package/dist/server/server/src/routes/users.js.map +1 -1
  462. package/dist/server/server/src/routes/users.mjs +12 -26
  463. package/dist/server/server/src/routes/users.mjs.map +1 -1
  464. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +0 -2
  465. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
  466. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +0 -2
  467. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
  468. package/dist/server/server/src/services/permission/sections-builder/handlers.js +9 -2
  469. package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
  470. package/dist/server/server/src/services/permission/sections-builder/handlers.mjs +9 -2
  471. package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
  472. package/dist/server/server/src/services/role.js +7 -2
  473. package/dist/server/server/src/services/role.js.map +1 -1
  474. package/dist/server/server/src/services/role.mjs +7 -2
  475. package/dist/server/server/src/services/role.mjs.map +1 -1
  476. package/dist/server/server/src/strategies/admin.js +4 -0
  477. package/dist/server/server/src/strategies/admin.js.map +1 -1
  478. package/dist/server/server/src/strategies/admin.mjs +4 -0
  479. package/dist/server/server/src/strategies/admin.mjs.map +1 -1
  480. package/dist/server/server/src/validation/common-validators.js +19 -11
  481. package/dist/server/server/src/validation/common-validators.js.map +1 -1
  482. package/dist/server/server/src/validation/common-validators.mjs +19 -11
  483. package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
  484. package/dist/server/server/src/validation/permission.js +1 -1
  485. package/dist/server/server/src/validation/permission.js.map +1 -1
  486. package/dist/server/server/src/validation/permission.mjs +1 -1
  487. package/dist/server/server/src/validation/permission.mjs.map +1 -1
  488. package/dist/server/server/src/validation/role.js +2 -2
  489. package/dist/server/server/src/validation/role.js.map +1 -1
  490. package/dist/server/server/src/validation/role.mjs +2 -2
  491. package/dist/server/server/src/validation/role.mjs.map +1 -1
  492. package/dist/server/src/ai/controllers/ai.d.ts +3 -3
  493. package/dist/server/src/ai/services/ai.d.ts.map +1 -1
  494. package/dist/server/src/bootstrap.d.ts.map +1 -1
  495. package/dist/server/src/config/admin-conditions.d.ts +2 -2
  496. package/dist/server/src/config/admin-conditions.d.ts.map +1 -1
  497. package/dist/server/src/content-types/index.d.ts +6 -0
  498. package/dist/server/src/content-types/index.d.ts.map +1 -1
  499. package/dist/server/src/content-types/session.d.ts +6 -0
  500. package/dist/server/src/content-types/session.d.ts.map +1 -1
  501. package/dist/server/src/controllers/admin-token.d.ts +5 -5
  502. package/dist/server/src/controllers/api-token.d.ts +1 -1
  503. package/dist/server/src/controllers/authenticated-session.d.ts +8 -0
  504. package/dist/server/src/controllers/authenticated-session.d.ts.map +1 -0
  505. package/dist/server/src/controllers/authenticated-user.d.ts +1 -1
  506. package/dist/server/src/controllers/authentication.d.ts +4 -4
  507. package/dist/server/src/controllers/authentication.d.ts.map +1 -1
  508. package/dist/server/src/controllers/formatters/conditions.d.ts +0 -1
  509. package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -1
  510. package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts.map +1 -1
  511. package/dist/server/src/controllers/homepage.d.ts +2 -2
  512. package/dist/server/src/controllers/homepage.d.ts.map +1 -1
  513. package/dist/server/src/controllers/index.d.ts +33 -43
  514. package/dist/server/src/controllers/index.d.ts.map +1 -1
  515. package/dist/server/src/controllers/role.d.ts +4 -4
  516. package/dist/server/src/controllers/transfer/runner.d.ts +4 -4
  517. package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -1
  518. package/dist/server/src/controllers/transfer/token.d.ts +1 -1
  519. package/dist/server/src/controllers/user.d.ts +2 -2
  520. package/dist/server/src/controllers/webhooks.d.ts +4 -4
  521. package/dist/server/src/domain/action/index.d.ts +4 -65
  522. package/dist/server/src/domain/action/index.d.ts.map +1 -1
  523. package/dist/server/src/domain/action/provider.d.ts +30 -3
  524. package/dist/server/src/domain/action/provider.d.ts.map +1 -1
  525. package/dist/server/src/domain/condition/index.d.ts.map +1 -1
  526. package/dist/server/src/domain/condition/provider.d.ts +19 -2
  527. package/dist/server/src/domain/condition/provider.d.ts.map +1 -1
  528. package/dist/server/src/domain/permission/index.d.ts +0 -1
  529. package/dist/server/src/domain/permission/index.d.ts.map +1 -1
  530. package/dist/server/src/domain/user.d.ts.map +1 -1
  531. package/dist/server/src/index.d.ts +51 -63
  532. package/dist/server/src/index.d.ts.map +1 -1
  533. package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -1
  534. package/dist/server/src/middlewares/index.d.ts +0 -1
  535. package/dist/server/src/middlewares/index.d.ts.map +1 -1
  536. package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
  537. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  538. package/dist/server/src/policies/index.d.ts.map +1 -1
  539. package/dist/server/src/policies/isAuthenticatedAdmin.d.ts.map +1 -1
  540. package/dist/server/src/policies/isTelemetryEnabled.d.ts.map +1 -1
  541. package/dist/server/src/register.d.ts.map +1 -1
  542. package/dist/server/src/routes/index.d.ts +0 -1
  543. package/dist/server/src/routes/index.d.ts.map +1 -1
  544. package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
  545. package/dist/server/src/routes/transfer.d.ts +0 -1
  546. package/dist/server/src/routes/transfer.d.ts.map +1 -1
  547. package/dist/server/src/routes/users.d.ts.map +1 -1
  548. package/dist/server/src/services/action.d.ts.map +1 -1
  549. package/dist/server/src/services/api-token.d.ts +5 -6
  550. package/dist/server/src/services/api-token.d.ts.map +1 -1
  551. package/dist/server/src/services/auth.d.ts.map +1 -1
  552. package/dist/server/src/services/condition.d.ts.map +1 -1
  553. package/dist/server/src/services/content-type.d.ts.map +1 -1
  554. package/dist/server/src/services/encryption.d.ts.map +1 -1
  555. package/dist/server/src/services/homepage.d.ts.map +1 -1
  556. package/dist/server/src/services/index.d.ts +12 -21
  557. package/dist/server/src/services/index.d.ts.map +1 -1
  558. package/dist/server/src/services/metrics.d.ts.map +1 -1
  559. package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -1
  560. package/dist/server/src/services/passport.d.ts +0 -1
  561. package/dist/server/src/services/passport.d.ts.map +1 -1
  562. package/dist/server/src/services/permission/engine.d.ts +1 -2
  563. package/dist/server/src/services/permission/engine.d.ts.map +1 -1
  564. package/dist/server/src/services/permission/permissions-manager/index.d.ts +5 -5
  565. package/dist/server/src/services/permission/permissions-manager/index.d.ts.map +1 -1
  566. package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -1
  567. package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts.map +1 -1
  568. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts +3 -3
  569. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  570. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  571. package/dist/server/src/services/permission/queries.d.ts.map +1 -1
  572. package/dist/server/src/services/permission/sections-builder/builder.d.ts +4 -4
  573. package/dist/server/src/services/permission/sections-builder/builder.d.ts.map +1 -1
  574. package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
  575. package/dist/server/src/services/permission/sections-builder/index.d.ts +4 -4
  576. package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -1
  577. package/dist/server/src/services/permission/sections-builder/utils.d.ts +0 -1
  578. package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -1
  579. package/dist/server/src/services/permission.d.ts +13 -38
  580. package/dist/server/src/services/permission.d.ts.map +1 -1
  581. package/dist/server/src/services/project-settings.d.ts +2 -4
  582. package/dist/server/src/services/project-settings.d.ts.map +1 -1
  583. package/dist/server/src/services/role.d.ts +7 -1
  584. package/dist/server/src/services/role.d.ts.map +1 -1
  585. package/dist/server/src/services/token.d.ts +1 -1
  586. package/dist/server/src/services/token.d.ts.map +1 -1
  587. package/dist/server/src/services/transfer/token.d.ts +11 -11
  588. package/dist/server/src/services/transfer/token.d.ts.map +1 -1
  589. package/dist/server/src/services/user.d.ts +3 -3
  590. package/dist/server/src/services/user.d.ts.map +1 -1
  591. package/dist/server/src/strategies/admin-token.d.ts +4 -4
  592. package/dist/server/src/strategies/admin-token.d.ts.map +1 -1
  593. package/dist/server/src/strategies/admin.d.ts.map +1 -1
  594. package/dist/server/src/strategies/api-token-utils.d.ts.map +1 -1
  595. package/dist/server/src/strategies/content-api-token.d.ts.map +1 -1
  596. package/dist/server/src/strategies/data-transfer.d.ts.map +1 -1
  597. package/dist/server/src/utils/normalize-email.d.ts.map +1 -1
  598. package/dist/server/src/validation/action-provider.d.ts +2 -2
  599. package/dist/server/src/validation/action-provider.d.ts.map +1 -1
  600. package/dist/server/src/validation/admin-tokens.d.ts +2 -2
  601. package/dist/server/src/validation/api-tokens.d.ts +4 -4
  602. package/dist/server/src/validation/authentication/forgot-password.d.ts +1 -1
  603. package/dist/server/src/validation/authentication/login.d.ts +1 -1
  604. package/dist/server/src/validation/authentication/register.d.ts +6 -6
  605. package/dist/server/src/validation/authentication/register.d.ts.map +1 -1
  606. package/dist/server/src/validation/authentication/reset-password.d.ts +1 -1
  607. package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts.map +1 -1
  608. package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts.map +1 -1
  609. package/dist/server/src/validation/common-validators.d.ts.map +1 -1
  610. package/dist/server/src/validation/permission.d.ts +6 -6
  611. package/dist/server/src/validation/permission.d.ts.map +1 -1
  612. package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -2
  613. package/dist/server/src/validation/project-settings.d.ts +6 -6
  614. package/dist/server/src/validation/role.d.ts +8 -8
  615. package/dist/server/src/validation/role.d.ts.map +1 -1
  616. package/dist/server/src/validation/transfer/token.d.ts +4 -4
  617. package/dist/server/src/validation/user.d.ts +8 -8
  618. package/dist/shared/contracts/permissions.d.ts +1 -0
  619. package/dist/shared/contracts/permissions.d.ts.map +1 -1
  620. package/dist/shared/contracts/sessions.d.ts +62 -0
  621. package/dist/shared/contracts/sessions.d.ts.map +1 -0
  622. package/dist/shared/contracts/shared.d.ts +1 -1
  623. package/dist/shared/contracts/shared.d.ts.map +1 -1
  624. package/dist/shared/utils/session-auth.d.ts +1 -1
  625. package/dist/shared/utils/session-auth.d.ts.map +1 -1
  626. package/package.json +12 -12
@@ -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 styled = require('styled-components');
8
+ var styledComponents = require('styled-components');
9
9
 
10
10
  function _interopNamespace(e) {
11
11
  if (e && e.__esModule) return e;
@@ -123,7 +123,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
123
123
  ]
124
124
  });
125
125
  };
126
- const StyledWarning = styled.styled(icons.WarningCircle)`
126
+ const StyledWarning = styledComponents.styled(icons.WarningCircle)`
127
127
  width: 24px;
128
128
  height: 24px;
129
129
 
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","sources":["../../../../../admin/src/components/ConfirmDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, ButtonProps, Dialog } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialog\n * -----------------------------------------------------------------------------------------------*/\ninterface ConfirmDialogProps extends Pick<ButtonProps, 'variant'>, Pick<Dialog.BodyProps, 'icon'> {\n onConfirm?: (e?: React.MouseEvent<HTMLButtonElement>) => Promise<void> | void;\n onCancel?: (e?: React.MouseEvent<HTMLButtonElement>) => Promise<void> | void;\n children?: React.ReactNode;\n endAction?: React.ReactNode;\n startAction?: React.ReactNode;\n title?: React.ReactNode;\n}\n\n/**\n * @beta\n * @public\n * @description A simple confirm dialog that out of the box can be used to confirm an action.\n * The component can additionally be customised if required e.g. the footer actions can be\n * completely replaced, but cannot be removed. Passing a string as the children prop will render\n * the string as the body of the dialog. If you need more control over the body, you can pass a\n * custom component as the children prop.\n * @example\n * ```tsx\n * import { Dialog } from '@strapi/design-system';\n *\n * const DeleteAction = ({ id }) => {\n * const [isOpen, setIsOpen] = React.useState(false);\n *\n * const [delete] = useDeleteMutation()\n * const handleConfirm = async () => {\n * await delete(id)\n * setIsOpen(false)\n * }\n *\n * return (\n * <Dialog.Root open={isOpen} onOpenChange={setIsOpen}>\n * <Dialog.Trigger>\n * <Button>Delete</Button>\n * </Dialog.Trigger>\n * <ConfirmDialog onConfirm={handleConfirm} />\n * </Dialog.Root>\n * )\n * }\n * ```\n */\nconst ConfirmDialog = ({\n children,\n icon = <StyledWarning />,\n onConfirm,\n onCancel,\n variant = 'danger-light',\n startAction,\n endAction,\n title,\n}: ConfirmDialogProps) => {\n const { formatMessage } = useIntl();\n const [isConfirming, setIsConfirming] = React.useState(false);\n\n const content =\n children ||\n formatMessage({\n id: 'app.confirm.body',\n defaultMessage: 'Are you sure?',\n });\n\n const handleConfirm = async (e: React.MouseEvent<HTMLButtonElement>) => {\n if (!onConfirm) {\n return;\n }\n\n try {\n setIsConfirming(true);\n await onConfirm(e);\n } finally {\n setIsConfirming(false);\n }\n };\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n {title ||\n formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body icon={icon}>{content}</Dialog.Body>\n <Dialog.Footer>\n {startAction || (\n <Dialog.Cancel>\n <Button\n fullWidth\n variant=\"tertiary\"\n onClick={(e) => {\n e.stopPropagation();\n if (onCancel) {\n onCancel(e);\n }\n }}\n >\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n )}\n {endAction || (\n <Dialog.Action>\n <Button fullWidth onClick={handleConfirm} variant={variant} loading={isConfirming}>\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Action>\n )}\n </Dialog.Footer>\n </Dialog.Content>\n );\n};\n\nconst StyledWarning = styled(WarningCircle)`\n width: 24px;\n height: 24px;\n\n path {\n fill: ${({ theme }) => theme.colors.danger600};\n }\n`;\n\nexport { ConfirmDialog };\nexport type { ConfirmDialogProps };\n"],"names":["ConfirmDialog","children","icon","_jsx","StyledWarning","onConfirm","onCancel","variant","startAction","endAction","title","formatMessage","useIntl","isConfirming","setIsConfirming","React","useState","content","id","defaultMessage","handleConfirm","e","_jsxs","Dialog","Content","Header","Body","Footer","Cancel","Button","fullWidth","onClick","stopPropagation","Action","loading","styled","WarningCircle","theme","colors","danger600"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCA,MAAMA,gBAAgB,CAAC,EACrBC,QAAQ,EACRC,IAAAA,iBAAOC,cAAA,CAACC,aAAAA,EAAAA,EAAAA,CAAgB,EACxBC,SAAS,EACTC,QAAQ,EACRC,UAAU,cAAc,EACxBC,WAAW,EACXC,SAAS,EACTC,KAAK,EACc,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,YAAAA,EAAcC,eAAAA,CAAgB,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAEvD,MAAMC,OAAAA,GACJhB,YACAU,aAAAA,CAAc;QACZO,EAAAA,EAAI,kBAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEF,IAAA,MAAMC,gBAAgB,OAAOC,CAAAA,GAAAA;AAC3B,QAAA,IAAI,CAAChB,SAAAA,EAAW;AACd,YAAA;AACF,QAAA;QAEA,IAAI;YACFS,eAAAA,CAAgB,IAAA,CAAA;AAChB,YAAA,MAAMT,SAAAA,CAAUgB,CAAAA,CAAAA;QAClB,CAAA,QAAU;YACRP,eAAAA,CAAgB,KAAA,CAAA;AAClB,QAAA;AACF,IAAA,CAAA;IAEA,qBACEQ,eAAA,CAACC,oBAAOC,OAAO,EAAA;;AACb,0BAAArB,cAAA,CAACoB,oBAAOE,MAAM,EAAA;AACXf,gBAAAA,QAAAA,EAAAA,KAAAA,IACCC,aAAAA,CAAc;oBACZO,EAAAA,EAAI,oCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;;AAEJ,0BAAAhB,cAAA,CAACoB,oBAAOG,IAAI,EAAA;gBAACxB,IAAAA,EAAMA,IAAAA;AAAOe,gBAAAA,QAAAA,EAAAA;;AAC1B,0BAAAK,eAAA,CAACC,oBAAOI,MAAM,EAAA;;oBACXnB,WAAAA,kBACCL,cAAA,CAACoB,oBAAOK,MAAM,EAAA;AACZ,wBAAA,QAAA,gBAAAzB,cAAA,CAAC0B,mBAAAA,EAAAA;4BACCC,SAAS,EAAA,IAAA;4BACTvB,OAAAA,EAAQ,UAAA;AACRwB,4BAAAA,OAAAA,EAAS,CAACV,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEW,eAAe,EAAA;AACjB,gCAAA,IAAI1B,QAAAA,EAAU;oCACZA,QAAAA,CAASe,CAAAA,CAAAA;AACX,gCAAA;AACF,4BAAA,CAAA;sCAECV,aAAAA,CAAc;gCACbO,EAAAA,EAAI,8BAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA;;;oBAILV,SAAAA,kBACCN,cAAA,CAACoB,oBAAOU,MAAM,EAAA;AACZ,wBAAA,QAAA,gBAAA9B,cAAA,CAAC0B,mBAAAA,EAAAA;4BAAOC,SAAS,EAAA,IAAA;4BAACC,OAAAA,EAASX,aAAAA;4BAAeb,OAAAA,EAASA,OAAAA;4BAAS2B,OAAAA,EAASrB,YAAAA;sCAClEF,aAAAA,CAAc;gCACbO,EAAAA,EAAI,+BAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA;;;;;;;AAOd;AAEA,MAAMf,aAAAA,GAAgB+B,aAAAA,CAAOC,mBAAAA,CAAc;;;;;UAKjC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,SAAS,CAAC;;AAElD,CAAC;;;;"}
1
+ {"version":3,"file":"ConfirmDialog.js","sources":["../../../../../admin/src/components/ConfirmDialog.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, ButtonProps, Dialog } from '@strapi/design-system';\nimport { WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/* -------------------------------------------------------------------------------------------------\n * ConfirmDialog\n * -----------------------------------------------------------------------------------------------*/\ninterface ConfirmDialogProps extends Pick<ButtonProps, 'variant'>, Pick<Dialog.BodyProps, 'icon'> {\n onConfirm?: (e?: React.MouseEvent<HTMLButtonElement>) => Promise<void> | void;\n onCancel?: (e?: React.MouseEvent<HTMLButtonElement>) => Promise<void> | void;\n children?: React.ReactNode;\n endAction?: React.ReactNode;\n startAction?: React.ReactNode;\n title?: React.ReactNode;\n}\n\n/**\n * @beta\n * @public\n * @description A simple confirm dialog that out of the box can be used to confirm an action.\n * The component can additionally be customised if required e.g. the footer actions can be\n * completely replaced, but cannot be removed. Passing a string as the children prop will render\n * the string as the body of the dialog. If you need more control over the body, you can pass a\n * custom component as the children prop.\n * @example\n * ```tsx\n * import { Dialog } from '@strapi/design-system';\n *\n * const DeleteAction = ({ id }) => {\n * const [isOpen, setIsOpen] = React.useState(false);\n *\n * const [delete] = useDeleteMutation()\n * const handleConfirm = async () => {\n * await delete(id)\n * setIsOpen(false)\n * }\n *\n * return (\n * <Dialog.Root open={isOpen} onOpenChange={setIsOpen}>\n * <Dialog.Trigger>\n * <Button>Delete</Button>\n * </Dialog.Trigger>\n * <ConfirmDialog onConfirm={handleConfirm} />\n * </Dialog.Root>\n * )\n * }\n * ```\n */\nconst ConfirmDialog = ({\n children,\n icon = <StyledWarning />,\n onConfirm,\n onCancel,\n variant = 'danger-light',\n startAction,\n endAction,\n title,\n}: ConfirmDialogProps) => {\n const { formatMessage } = useIntl();\n const [isConfirming, setIsConfirming] = React.useState(false);\n\n const content =\n children ||\n formatMessage({\n id: 'app.confirm.body',\n defaultMessage: 'Are you sure?',\n });\n\n const handleConfirm = async (e: React.MouseEvent<HTMLButtonElement>) => {\n if (!onConfirm) {\n return;\n }\n\n try {\n setIsConfirming(true);\n await onConfirm(e);\n } finally {\n setIsConfirming(false);\n }\n };\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n {title ||\n formatMessage({\n id: 'app.components.ConfirmDialog.title',\n defaultMessage: 'Confirmation',\n })}\n </Dialog.Header>\n <Dialog.Body icon={icon}>{content}</Dialog.Body>\n <Dialog.Footer>\n {startAction || (\n <Dialog.Cancel>\n <Button\n fullWidth\n variant=\"tertiary\"\n onClick={(e) => {\n e.stopPropagation();\n if (onCancel) {\n onCancel(e);\n }\n }}\n >\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Dialog.Cancel>\n )}\n {endAction || (\n <Dialog.Action>\n <Button fullWidth onClick={handleConfirm} variant={variant} loading={isConfirming}>\n {formatMessage({\n id: 'app.components.Button.confirm',\n defaultMessage: 'Confirm',\n })}\n </Button>\n </Dialog.Action>\n )}\n </Dialog.Footer>\n </Dialog.Content>\n );\n};\n\nconst StyledWarning = styled(WarningCircle)`\n width: 24px;\n height: 24px;\n\n path {\n fill: ${({ theme }) => theme.colors.danger600};\n }\n`;\n\nexport { ConfirmDialog };\nexport type { ConfirmDialogProps };\n"],"names":["ConfirmDialog","children","icon","_jsx","StyledWarning","onConfirm","onCancel","variant","startAction","endAction","title","formatMessage","useIntl","isConfirming","setIsConfirming","React","useState","content","id","defaultMessage","handleConfirm","e","_jsxs","Dialog","Content","Header","Body","Footer","Cancel","Button","fullWidth","onClick","stopPropagation","Action","loading","styled","WarningCircle","theme","colors","danger600"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCA,MAAMA,gBAAgB,CAAC,EACrBC,QAAQ,EACRC,IAAAA,iBAAOC,cAAA,CAACC,aAAAA,EAAAA,EAAAA,CAAgB,EACxBC,SAAS,EACTC,QAAQ,EACRC,UAAU,cAAc,EACxBC,WAAW,EACXC,SAAS,EACTC,KAAK,EACc,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,YAAAA,EAAcC,eAAAA,CAAgB,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAEvD,MAAMC,OAAAA,GACJhB,YACAU,aAAAA,CAAc;QACZO,EAAAA,EAAI,kBAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEF,IAAA,MAAMC,gBAAgB,OAAOC,CAAAA,GAAAA;AAC3B,QAAA,IAAI,CAAChB,SAAAA,EAAW;AACd,YAAA;AACF,QAAA;QAEA,IAAI;YACFS,eAAAA,CAAgB,IAAA,CAAA;AAChB,YAAA,MAAMT,SAAAA,CAAUgB,CAAAA,CAAAA;QAClB,CAAA,QAAU;YACRP,eAAAA,CAAgB,KAAA,CAAA;AAClB,QAAA;AACF,IAAA,CAAA;IAEA,qBACEQ,eAAA,CAACC,oBAAOC,OAAO,EAAA;;AACb,0BAAArB,cAAA,CAACoB,oBAAOE,MAAM,EAAA;AACXf,gBAAAA,QAAAA,EAAAA,KAAAA,IACCC,aAAAA,CAAc;oBACZO,EAAAA,EAAI,oCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;;AAEJ,0BAAAhB,cAAA,CAACoB,oBAAOG,IAAI,EAAA;gBAACxB,IAAAA,EAAMA,IAAAA;AAAOe,gBAAAA,QAAAA,EAAAA;;AAC1B,0BAAAK,eAAA,CAACC,oBAAOI,MAAM,EAAA;;oBACXnB,WAAAA,kBACCL,cAAA,CAACoB,oBAAOK,MAAM,EAAA;AACZ,wBAAA,QAAA,gBAAAzB,cAAA,CAAC0B,mBAAAA,EAAAA;4BACCC,SAAS,EAAA,IAAA;4BACTvB,OAAAA,EAAQ,UAAA;AACRwB,4BAAAA,OAAAA,EAAS,CAACV,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEW,eAAe,EAAA;AACjB,gCAAA,IAAI1B,QAAAA,EAAU;oCACZA,QAAAA,CAASe,CAAAA,CAAAA;AACX,gCAAA;AACF,4BAAA,CAAA;sCAECV,aAAAA,CAAc;gCACbO,EAAAA,EAAI,8BAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA;;;oBAILV,SAAAA,kBACCN,cAAA,CAACoB,oBAAOU,MAAM,EAAA;AACZ,wBAAA,QAAA,gBAAA9B,cAAA,CAAC0B,mBAAAA,EAAAA;4BAAOC,SAAS,EAAA,IAAA;4BAACC,OAAAA,EAASX,aAAAA;4BAAeb,OAAAA,EAASA,OAAAA;4BAAS2B,OAAAA,EAASrB,YAAAA;sCAClEF,aAAAA,CAAc;gCACbO,EAAAA,EAAI,+BAAA;gCACJC,cAAAA,EAAgB;AAClB,6BAAA;;;;;;;AAOd;AAEA,MAAMf,aAAAA,GAAgB+B,uBAAAA,CAAOC,mBAAAA,CAAc;;;;;UAKjC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,SAAS,CAAC;;AAElD,CAAC;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var designSystem = require('@strapi/design-system');
5
- var styled = require('styled-components');
5
+ var styledComponents = require('styled-components');
6
6
 
7
7
  const ContentBox = ({ title, subtitle, icon, iconBackground, endAction, titleEllipsis = false })=>{
8
8
  if (title && title.length > 70 && titleEllipsis) {
@@ -44,7 +44,7 @@ const ContentBox = ({ title, subtitle, icon, iconBackground, endAction, titleEll
44
44
  ]
45
45
  });
46
46
  };
47
- const IconWrapper = styled.styled(designSystem.Flex)`
47
+ const IconWrapper = styledComponents.styled(designSystem.Flex)`
48
48
  margin-right: ${({ theme })=>theme.spaces[6]};
49
49
 
50
50
  svg {
@@ -52,7 +52,7 @@ const IconWrapper = styled.styled(designSystem.Flex)`
52
52
  height: 3.2rem;
53
53
  }
54
54
  `;
55
- const TypographyWordBreak = styled.styled(designSystem.Typography)`
55
+ const TypographyWordBreak = styledComponents.styled(designSystem.Typography)`
56
56
  color: ${({ theme })=>theme.colors.neutral800};
57
57
  word-break: break-all;
58
58
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBox.js","sources":["../../../../../admin/src/components/ContentBox.tsx"],"sourcesContent":["import {\n Flex,\n FlexComponent,\n FlexProps,\n Typography,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface ContentBoxProps {\n title?: string;\n subtitle?: string;\n icon?: FlexProps['children'];\n iconBackground?: FlexProps['background'];\n endAction?: FlexProps['children'];\n titleEllipsis?: boolean;\n}\n\nconst ContentBox = ({\n title,\n subtitle,\n icon,\n iconBackground,\n endAction,\n titleEllipsis = false,\n}: ContentBoxProps) => {\n if (title && title.length > 70 && titleEllipsis) {\n title = `${title.substring(0, 70)}...`;\n }\n\n return (\n <Flex shadow=\"tableShadow\" hasRadius padding={6} background=\"neutral0\">\n <IconWrapper background={iconBackground} hasRadius padding={3}>\n {icon}\n </IconWrapper>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={endAction ? 0 : 1}>\n <Flex>\n <TypographyWordBreak fontWeight=\"semiBold\" variant=\"pi\">\n {title}\n </TypographyWordBreak>\n {endAction}\n </Flex>\n <Typography textColor=\"neutral600\">{subtitle}</Typography>\n </Flex>\n </Flex>\n );\n};\n\nconst IconWrapper = styled<FlexComponent>(Flex)`\n margin-right: ${({ theme }) => theme.spaces[6]};\n\n svg {\n width: 3.2rem;\n height: 3.2rem;\n }\n`;\n\nconst TypographyWordBreak = styled<TypographyComponent>(Typography)`\n color: ${({ theme }) => theme.colors.neutral800};\n word-break: break-all;\n`;\n\nexport { ContentBox };\nexport type { ContentBoxProps };\n"],"names":["ContentBox","title","subtitle","icon","iconBackground","endAction","titleEllipsis","length","substring","_jsxs","Flex","shadow","hasRadius","padding","background","_jsx","IconWrapper","direction","alignItems","gap","TypographyWordBreak","fontWeight","variant","Typography","textColor","styled","theme","spaces","colors","neutral800"],"mappings":";;;;;;AAkBA,MAAMA,UAAAA,GAAa,CAAC,EAClBC,KAAK,EACLC,QAAQ,EACRC,IAAI,EACJC,cAAc,EACdC,SAAS,EACTC,aAAAA,GAAgB,KAAK,EACL,GAAA;AAChB,IAAA,IAAIL,KAAAA,IAASA,KAAAA,CAAMM,MAAM,GAAG,MAAMD,aAAAA,EAAe;AAC/CL,QAAAA,KAAAA,GAAQ,GAAGA,KAAAA,CAAMO,SAAS,CAAC,CAAA,EAAG,EAAA,CAAA,CAAI,GAAG,CAAC;AACxC,IAAA;AAEA,IAAA,qBACEC,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,MAAAA,EAAO,aAAA;QAAcC,SAAS,EAAA,IAAA;QAACC,OAAAA,EAAS,CAAA;QAAGC,UAAAA,EAAW,UAAA;;0BAC1DC,cAAA,CAACC,WAAAA,EAAAA;gBAAYF,UAAAA,EAAYV,cAAAA;gBAAgBQ,SAAS,EAAA,IAAA;gBAACC,OAAAA,EAAS,CAAA;AACzDV,gBAAAA,QAAAA,EAAAA;;0BAEHM,eAAA,CAACC,iBAAAA,EAAAA;gBAAKO,SAAAA,EAAU,QAAA;gBAASC,UAAAA,EAAW,SAAA;AAAUC,gBAAAA,GAAAA,EAAKd,YAAY,CAAA,GAAI,CAAA;;kCACjEI,eAAA,CAACC,iBAAAA,EAAAA;;0CACCK,cAAA,CAACK,mBAAAA,EAAAA;gCAAoBC,UAAAA,EAAW,UAAA;gCAAWC,OAAAA,EAAQ,IAAA;AAChDrB,gCAAAA,QAAAA,EAAAA;;AAEFI,4BAAAA;;;kCAEHU,cAAA,CAACQ,uBAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;AAActB,wBAAAA,QAAAA,EAAAA;;;;;;AAI5C;AAEA,MAAMc,WAAAA,GAAcS,aAAAA,CAAsBf,iBAAAA,CAAK;gBAC/B,EAAE,CAAC,EAAEgB,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;AAMjD,CAAC;AAED,MAAMP,mBAAAA,GAAsBK,aAAAA,CAA4BF,uBAAAA,CAAW;SAC1D,EAAE,CAAC,EAAEG,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACC,UAAU,CAAC;;AAElD,CAAC;;;;"}
1
+ {"version":3,"file":"ContentBox.js","sources":["../../../../../admin/src/components/ContentBox.tsx"],"sourcesContent":["import {\n Flex,\n FlexComponent,\n FlexProps,\n Typography,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface ContentBoxProps {\n title?: string;\n subtitle?: string;\n icon?: FlexProps['children'];\n iconBackground?: FlexProps['background'];\n endAction?: FlexProps['children'];\n titleEllipsis?: boolean;\n}\n\nconst ContentBox = ({\n title,\n subtitle,\n icon,\n iconBackground,\n endAction,\n titleEllipsis = false,\n}: ContentBoxProps) => {\n if (title && title.length > 70 && titleEllipsis) {\n title = `${title.substring(0, 70)}...`;\n }\n\n return (\n <Flex shadow=\"tableShadow\" hasRadius padding={6} background=\"neutral0\">\n <IconWrapper background={iconBackground} hasRadius padding={3}>\n {icon}\n </IconWrapper>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={endAction ? 0 : 1}>\n <Flex>\n <TypographyWordBreak fontWeight=\"semiBold\" variant=\"pi\">\n {title}\n </TypographyWordBreak>\n {endAction}\n </Flex>\n <Typography textColor=\"neutral600\">{subtitle}</Typography>\n </Flex>\n </Flex>\n );\n};\n\nconst IconWrapper = styled<FlexComponent>(Flex)`\n margin-right: ${({ theme }) => theme.spaces[6]};\n\n svg {\n width: 3.2rem;\n height: 3.2rem;\n }\n`;\n\nconst TypographyWordBreak = styled<TypographyComponent>(Typography)`\n color: ${({ theme }) => theme.colors.neutral800};\n word-break: break-all;\n`;\n\nexport { ContentBox };\nexport type { ContentBoxProps };\n"],"names":["ContentBox","title","subtitle","icon","iconBackground","endAction","titleEllipsis","length","substring","_jsxs","Flex","shadow","hasRadius","padding","background","_jsx","IconWrapper","direction","alignItems","gap","TypographyWordBreak","fontWeight","variant","Typography","textColor","styled","theme","spaces","colors","neutral800"],"mappings":";;;;;;AAkBA,MAAMA,UAAAA,GAAa,CAAC,EAClBC,KAAK,EACLC,QAAQ,EACRC,IAAI,EACJC,cAAc,EACdC,SAAS,EACTC,aAAAA,GAAgB,KAAK,EACL,GAAA;AAChB,IAAA,IAAIL,KAAAA,IAASA,KAAAA,CAAMM,MAAM,GAAG,MAAMD,aAAAA,EAAe;AAC/CL,QAAAA,KAAAA,GAAQ,GAAGA,KAAAA,CAAMO,SAAS,CAAC,CAAA,EAAG,EAAA,CAAA,CAAI,GAAG,CAAC;AACxC,IAAA;AAEA,IAAA,qBACEC,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,MAAAA,EAAO,aAAA;QAAcC,SAAS,EAAA,IAAA;QAACC,OAAAA,EAAS,CAAA;QAAGC,UAAAA,EAAW,UAAA;;0BAC1DC,cAAA,CAACC,WAAAA,EAAAA;gBAAYF,UAAAA,EAAYV,cAAAA;gBAAgBQ,SAAS,EAAA,IAAA;gBAACC,OAAAA,EAAS,CAAA;AACzDV,gBAAAA,QAAAA,EAAAA;;0BAEHM,eAAA,CAACC,iBAAAA,EAAAA;gBAAKO,SAAAA,EAAU,QAAA;gBAASC,UAAAA,EAAW,SAAA;AAAUC,gBAAAA,GAAAA,EAAKd,YAAY,CAAA,GAAI,CAAA;;kCACjEI,eAAA,CAACC,iBAAAA,EAAAA;;0CACCK,cAAA,CAACK,mBAAAA,EAAAA;gCAAoBC,UAAAA,EAAW,UAAA;gCAAWC,OAAAA,EAAQ,IAAA;AAChDrB,gCAAAA,QAAAA,EAAAA;;AAEFI,4BAAAA;;;kCAEHU,cAAA,CAACQ,uBAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;AAActB,wBAAAA,QAAAA,EAAAA;;;;;;AAI5C;AAEA,MAAMc,WAAAA,GAAcS,uBAAAA,CAAsBf,iBAAAA,CAAK;gBAC/B,EAAE,CAAC,EAAEgB,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;AAMjD,CAAC;AAED,MAAMP,mBAAAA,GAAsBK,uBAAAA,CAA4BF,uBAAAA,CAAW;SAC1D,EAAE,CAAC,EAAEG,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACC,UAAU,CAAC;;AAElD,CAAC;;;;"}
@@ -93,7 +93,7 @@ var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
93
93
  children: [
94
94
  descriptions.map((description)=>{
95
95
  const key = getCompId(description);
96
- return /*#__PURE__*/ jsxRuntime.jsx(Description, {
96
+ return /*#__PURE__*/ jsxRuntime.jsx(MemoizedDescription, {
97
97
  id: key,
98
98
  description: description,
99
99
  props: props,
@@ -109,7 +109,7 @@ var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
109
109
  * this means they can use react hooks in them. It also means we need to render them
110
110
  * within a component, however because they return an object of data we can't add that
111
111
  * to the react tree, instead we push it back out to the parent.
112
- */ const Description = /*#__PURE__*/ React__namespace.memo(({ description, id, props, update })=>{
112
+ */ const Description = ({ description, id, props, update })=>{
113
113
  const comp = description(props);
114
114
  useShallowCompareEffect(()=>{
115
115
  update(id, comp);
@@ -118,16 +118,16 @@ var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
118
118
  };
119
119
  }, comp);
120
120
  return null;
121
- }, (prev, next)=>isEqual__default.default(prev.props, next.props));
122
- /* -------------------------------------------------------------------------------------------------
123
- * Helpers
124
- * -----------------------------------------------------------------------------------------------*/ const ids = new WeakMap();
121
+ };
122
+ const MemoizedDescription = /*#__PURE__*/ React__namespace.memo(Description, (prev, next)=>isEqual__default.default(prev.props, next.props));
123
+ const ids = new WeakMap();
125
124
  let counter = 0;
126
125
  function getCompId(comp) {
127
- const cachedId = ids.get(comp);
126
+ const cachedComponent = comp;
127
+ const cachedId = ids.get(cachedComponent);
128
128
  if (cachedId) return cachedId;
129
129
  const id = `${comp.name || comp.displayName || '<anonymous>'}-${counter++}`;
130
- ids.set(comp, id);
130
+ ids.set(cachedComponent, id);
131
131
  return id;
132
132
  }
133
133
  const useShallowCompareMemoize = (value)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionComponentRenderer.js","sources":["../../../../../admin/src/components/DescriptionComponentRenderer.tsx"],"sourcesContent":["/**\n * This component will render DescriptionComponents that return objects e.g. `cm.apis.addEditViewPanel`\n * these descriptions are still treated like components because users can use react hooks in them.\n *\n * Rendering them normally by mapping etc. causes mutliple render issues.\n */\n\nimport * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport { useForceUpdate } from '../hooks/useForceUpdate';\nimport { useThrottledCallback } from '../hooks/useThrottledCallback';\nimport { cancelIdleCallback, requestIdleCallback } from '../utils/shims';\n\ninterface DescriptionComponent<Props, Description> {\n (props: Props): Description | null;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * DescriptionComponentRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionComponentRendererProps<Props = any, Description = any> {\n children: (descriptions: Array<Description & { id: string }>) => React.ReactNode;\n descriptions: DescriptionComponent<Props, Description>[];\n props: Props;\n}\n\n/**\n * @internal\n *\n * @description This component takes an array of DescriptionComponents, which are react components that return objects as opposed to JSX.\n * We render these in their own isolated memoized component and use an update function to push the data back out to the parent.\n * Saving it in a ref, and then \"forcing\" an update of the parent component to render the children of this component with the new data.\n *\n * The DescriptionCompoonents can take props and use react hooks hence why we render them as if they were a component. The update\n * function is throttled and managed to avoid erroneous updates where we could wait a single tick to update the entire UI, which\n * creates less \"popping\" from functions being called in rapid succession.\n */\nconst DescriptionComponentRenderer = <Props, Description>({\n children,\n props,\n descriptions,\n}: DescriptionComponentRendererProps<Props, Description>) => {\n const statesRef = React.useRef<Record<string, { value: Description & { id: string } }>>({});\n const [tick, forceUpdate] = useForceUpdate();\n\n const requestHandle = React.useRef<number | null>(null);\n const requestUpdate = React.useCallback(() => {\n if (requestHandle.current) {\n cancelIdleCallback(requestHandle.current);\n }\n\n requestHandle.current = requestIdleCallback(() => {\n requestHandle.current = null;\n\n forceUpdate();\n });\n }, [forceUpdate]);\n\n /**\n * This will avoid us calling too many react updates in a short space of time.\n */\n const throttledRequestUpdate = useThrottledCallback(requestUpdate, 60, { trailing: true });\n\n const update = React.useCallback<DescriptionProps<Props, Description>['update']>(\n (id, description) => {\n if (description === null) {\n delete statesRef.current[id];\n } else {\n const current = statesRef.current[id];\n statesRef.current[id] = { ...current, value: { ...description, id } };\n }\n\n throttledRequestUpdate();\n },\n [throttledRequestUpdate]\n );\n\n const ids = React.useMemo(\n () => descriptions.map((description) => getCompId(description)),\n [descriptions]\n );\n\n const states = React.useMemo(\n () =>\n ids\n .map((id) => statesRef.current[id]?.value)\n .filter((state) => state !== null && state !== undefined),\n /**\n * we leave tick in the deps to ensure the memo is recalculated when the `update` function is called.\n * the `ids` will most likely be stable unless we get new actions, but we can't respond to the Description\n * Component changing the ref data in any other way.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [ids, tick]\n );\n\n return (\n <>\n {descriptions.map((description) => {\n const key = getCompId(description);\n return (\n <Description key={key} id={key} description={description} props={props} update={update} />\n );\n })}\n {children(states)}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Description\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionProps<Props, Description> {\n description: DescriptionComponent<Props, Description>;\n id: string;\n props: Props;\n update: (id: string, value: Description | null) => void;\n}\n\n/**\n * Descriptions are objects, but to create the object, we allow users to create components,\n * this means they can use react hooks in them. It also means we need to render them\n * within a component, however because they return an object of data we can't add that\n * to the react tree, instead we push it back out to the parent.\n */\nconst Description = React.memo(\n ({ description, id, props, update }: DescriptionProps<any, any>) => {\n const comp = description(props);\n\n useShallowCompareEffect(() => {\n update(id, comp);\n\n return () => {\n update(id, null);\n };\n }, comp);\n\n return null;\n },\n (prev, next) => isEqual(prev.props, next.props)\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Helpers\n * -----------------------------------------------------------------------------------------------*/\n\nconst ids = new WeakMap<DescriptionComponent<any, any>, string>();\n\nlet counter = 0;\n\nfunction getCompId<T, K>(comp: DescriptionComponent<T, K>): string {\n const cachedId = ids.get(comp);\n\n if (cachedId) return cachedId;\n\n const id = `${comp.name || (comp as any).displayName || '<anonymous>'}-${counter++}`;\n\n ids.set(comp, id);\n\n return id;\n}\n\nconst useShallowCompareMemoize = <T,>(value: T): Array<T | undefined> => {\n const ref = React.useRef<T | undefined>(undefined);\n\n if (!isEqual(value, ref.current)) {\n ref.current = value;\n }\n\n return [ref.current];\n};\n\nconst useShallowCompareEffect = (callback: React.EffectCallback, dependencies?: unknown) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- the linter isn't able to see that deps are properly handled here\n React.useEffect(callback, useShallowCompareMemoize(dependencies));\n};\n\nexport { DescriptionComponentRenderer };\nexport type { DescriptionComponentRendererProps, DescriptionComponent };\n"],"names":["DescriptionComponentRenderer","children","props","descriptions","statesRef","React","useRef","tick","forceUpdate","useForceUpdate","requestHandle","requestUpdate","useCallback","current","cancelIdleCallback","requestIdleCallback","throttledRequestUpdate","useThrottledCallback","trailing","update","id","description","value","ids","useMemo","map","getCompId","states","filter","state","undefined","_jsxs","_Fragment","key","_jsx","Description","memo","comp","useShallowCompareEffect","prev","next","isEqual","WeakMap","counter","cachedId","get","name","displayName","set","useShallowCompareMemoize","ref","callback","dependencies","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"DescriptionComponentRenderer.js","sources":["../../../../../admin/src/components/DescriptionComponentRenderer.tsx"],"sourcesContent":["/**\n * This component will render DescriptionComponents that return objects e.g. `cm.apis.addEditViewPanel`\n * these descriptions are still treated like components because users can use react hooks in them.\n *\n * Rendering them normally by mapping etc. causes mutliple render issues.\n */\n\nimport * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport { useForceUpdate } from '../hooks/useForceUpdate';\nimport { useThrottledCallback } from '../hooks/useThrottledCallback';\nimport { cancelIdleCallback, requestIdleCallback } from '../utils/shims';\n\ninterface DescriptionComponent<Props, Description> {\n (props: Props): Description | null;\n displayName?: string;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * DescriptionComponentRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionComponentRendererProps<Props = unknown, Description = unknown> {\n children: (descriptions: Array<Description & { id: string }>) => React.ReactNode;\n descriptions: DescriptionComponent<Props, Description>[];\n props: Props;\n}\n\n/**\n * @internal\n *\n * @description This component takes an array of DescriptionComponents, which are react components that return objects as opposed to JSX.\n * We render these in their own isolated memoized component and use an update function to push the data back out to the parent.\n * Saving it in a ref, and then \"forcing\" an update of the parent component to render the children of this component with the new data.\n *\n * The DescriptionCompoonents can take props and use react hooks hence why we render them as if they were a component. The update\n * function is throttled and managed to avoid erroneous updates where we could wait a single tick to update the entire UI, which\n * creates less \"popping\" from functions being called in rapid succession.\n */\nconst DescriptionComponentRenderer = <Props, Description>({\n children,\n props,\n descriptions,\n}: DescriptionComponentRendererProps<Props, Description>) => {\n const statesRef = React.useRef<Record<string, { value: Description & { id: string } }>>({});\n const [tick, forceUpdate] = useForceUpdate();\n\n const requestHandle = React.useRef<number | null>(null);\n const requestUpdate = React.useCallback(() => {\n if (requestHandle.current) {\n cancelIdleCallback(requestHandle.current);\n }\n\n requestHandle.current = requestIdleCallback(() => {\n requestHandle.current = null;\n\n forceUpdate();\n });\n }, [forceUpdate]);\n\n /**\n * This will avoid us calling too many react updates in a short space of time.\n */\n const throttledRequestUpdate = useThrottledCallback(requestUpdate, 60, { trailing: true });\n\n const update = React.useCallback<DescriptionProps<Props, Description>['update']>(\n (id, description) => {\n if (description === null) {\n delete statesRef.current[id];\n } else {\n const current = statesRef.current[id];\n statesRef.current[id] = { ...current, value: { ...description, id } };\n }\n\n throttledRequestUpdate();\n },\n [throttledRequestUpdate]\n );\n\n const ids = React.useMemo(\n () => descriptions.map((description) => getCompId(description)),\n [descriptions]\n );\n\n const states = React.useMemo(\n () =>\n ids\n .map((id) => statesRef.current[id]?.value)\n .filter((state) => state !== null && state !== undefined),\n /**\n * we leave tick in the deps to ensure the memo is recalculated when the `update` function is called.\n * the `ids` will most likely be stable unless we get new actions, but we can't respond to the Description\n * Component changing the ref data in any other way.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [ids, tick]\n );\n\n return (\n <>\n {descriptions.map((description) => {\n const key = getCompId(description);\n return (\n <MemoizedDescription\n key={key}\n id={key}\n description={description}\n props={props}\n update={update}\n />\n );\n })}\n {children(states)}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Description\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionProps<Props, Description> {\n description: DescriptionComponent<Props, Description>;\n id: string;\n props: Props;\n update: (id: string, value: Description | null) => void;\n}\n\n/**\n * Descriptions are objects, but to create the object, we allow users to create components,\n * this means they can use react hooks in them. It also means we need to render them\n * within a component, however because they return an object of data we can't add that\n * to the react tree, instead we push it back out to the parent.\n */\nconst Description = <Props, Description>({\n description,\n id,\n props,\n update,\n}: DescriptionProps<Props, Description>) => {\n const comp = description(props);\n\n useShallowCompareEffect(() => {\n update(id, comp);\n\n return () => {\n update(id, null);\n };\n }, comp);\n\n return null;\n};\n\nconst MemoizedDescription = React.memo(Description, (prev, next) =>\n isEqual(prev.props, next.props)\n) as typeof Description;\n\n/* -------------------------------------------------------------------------------------------------\n * Helpers\n * -----------------------------------------------------------------------------------------------*/\n\ntype CachedDescriptionComponent = DescriptionComponent<unknown, unknown>;\n\nconst ids = new WeakMap<CachedDescriptionComponent, string>();\n\nlet counter = 0;\n\nfunction getCompId<T, K>(comp: DescriptionComponent<T, K>): string {\n const cachedComponent = comp as CachedDescriptionComponent;\n const cachedId = ids.get(cachedComponent);\n\n if (cachedId) return cachedId;\n\n const id = `${comp.name || comp.displayName || '<anonymous>'}-${counter++}`;\n\n ids.set(cachedComponent, id);\n\n return id;\n}\n\nconst useShallowCompareMemoize = <T,>(value: T): Array<T | undefined> => {\n const ref = React.useRef<T | undefined>(undefined);\n\n if (!isEqual(value, ref.current)) {\n ref.current = value;\n }\n\n return [ref.current];\n};\n\nconst useShallowCompareEffect = (callback: React.EffectCallback, dependencies?: unknown) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- the linter isn't able to see that deps are properly handled here\n React.useEffect(callback, useShallowCompareMemoize(dependencies));\n};\n\nexport { DescriptionComponentRenderer };\nexport type { DescriptionComponentRendererProps, DescriptionComponent };\n"],"names":["DescriptionComponentRenderer","children","props","descriptions","statesRef","React","useRef","tick","forceUpdate","useForceUpdate","requestHandle","requestUpdate","useCallback","current","cancelIdleCallback","requestIdleCallback","throttledRequestUpdate","useThrottledCallback","trailing","update","id","description","value","ids","useMemo","map","getCompId","states","filter","state","undefined","_jsxs","_Fragment","key","_jsx","MemoizedDescription","Description","comp","useShallowCompareEffect","memo","prev","next","isEqual","WeakMap","counter","cachedComponent","cachedId","get","name","displayName","set","useShallowCompareMemoize","ref","callback","dependencies","useEffect"],"mappings":"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"}
@@ -68,7 +68,7 @@ import { cancelIdleCallback as _cancelIdleCallback, requestIdleCallback as _requ
68
68
  children: [
69
69
  descriptions.map((description)=>{
70
70
  const key = getCompId(description);
71
- return /*#__PURE__*/ jsx(Description, {
71
+ return /*#__PURE__*/ jsx(MemoizedDescription, {
72
72
  id: key,
73
73
  description: description,
74
74
  props: props,
@@ -84,7 +84,7 @@ import { cancelIdleCallback as _cancelIdleCallback, requestIdleCallback as _requ
84
84
  * this means they can use react hooks in them. It also means we need to render them
85
85
  * within a component, however because they return an object of data we can't add that
86
86
  * to the react tree, instead we push it back out to the parent.
87
- */ const Description = /*#__PURE__*/ React.memo(({ description, id, props, update })=>{
87
+ */ const Description = ({ description, id, props, update })=>{
88
88
  const comp = description(props);
89
89
  useShallowCompareEffect(()=>{
90
90
  update(id, comp);
@@ -93,16 +93,16 @@ import { cancelIdleCallback as _cancelIdleCallback, requestIdleCallback as _requ
93
93
  };
94
94
  }, comp);
95
95
  return null;
96
- }, (prev, next)=>isEqual(prev.props, next.props));
97
- /* -------------------------------------------------------------------------------------------------
98
- * Helpers
99
- * -----------------------------------------------------------------------------------------------*/ const ids = new WeakMap();
96
+ };
97
+ const MemoizedDescription = /*#__PURE__*/ React.memo(Description, (prev, next)=>isEqual(prev.props, next.props));
98
+ const ids = new WeakMap();
100
99
  let counter = 0;
101
100
  function getCompId(comp) {
102
- const cachedId = ids.get(comp);
101
+ const cachedComponent = comp;
102
+ const cachedId = ids.get(cachedComponent);
103
103
  if (cachedId) return cachedId;
104
104
  const id = `${comp.name || comp.displayName || '<anonymous>'}-${counter++}`;
105
- ids.set(comp, id);
105
+ ids.set(cachedComponent, id);
106
106
  return id;
107
107
  }
108
108
  const useShallowCompareMemoize = (value)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionComponentRenderer.mjs","sources":["../../../../../admin/src/components/DescriptionComponentRenderer.tsx"],"sourcesContent":["/**\n * This component will render DescriptionComponents that return objects e.g. `cm.apis.addEditViewPanel`\n * these descriptions are still treated like components because users can use react hooks in them.\n *\n * Rendering them normally by mapping etc. causes mutliple render issues.\n */\n\nimport * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport { useForceUpdate } from '../hooks/useForceUpdate';\nimport { useThrottledCallback } from '../hooks/useThrottledCallback';\nimport { cancelIdleCallback, requestIdleCallback } from '../utils/shims';\n\ninterface DescriptionComponent<Props, Description> {\n (props: Props): Description | null;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * DescriptionComponentRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionComponentRendererProps<Props = any, Description = any> {\n children: (descriptions: Array<Description & { id: string }>) => React.ReactNode;\n descriptions: DescriptionComponent<Props, Description>[];\n props: Props;\n}\n\n/**\n * @internal\n *\n * @description This component takes an array of DescriptionComponents, which are react components that return objects as opposed to JSX.\n * We render these in their own isolated memoized component and use an update function to push the data back out to the parent.\n * Saving it in a ref, and then \"forcing\" an update of the parent component to render the children of this component with the new data.\n *\n * The DescriptionCompoonents can take props and use react hooks hence why we render them as if they were a component. The update\n * function is throttled and managed to avoid erroneous updates where we could wait a single tick to update the entire UI, which\n * creates less \"popping\" from functions being called in rapid succession.\n */\nconst DescriptionComponentRenderer = <Props, Description>({\n children,\n props,\n descriptions,\n}: DescriptionComponentRendererProps<Props, Description>) => {\n const statesRef = React.useRef<Record<string, { value: Description & { id: string } }>>({});\n const [tick, forceUpdate] = useForceUpdate();\n\n const requestHandle = React.useRef<number | null>(null);\n const requestUpdate = React.useCallback(() => {\n if (requestHandle.current) {\n cancelIdleCallback(requestHandle.current);\n }\n\n requestHandle.current = requestIdleCallback(() => {\n requestHandle.current = null;\n\n forceUpdate();\n });\n }, [forceUpdate]);\n\n /**\n * This will avoid us calling too many react updates in a short space of time.\n */\n const throttledRequestUpdate = useThrottledCallback(requestUpdate, 60, { trailing: true });\n\n const update = React.useCallback<DescriptionProps<Props, Description>['update']>(\n (id, description) => {\n if (description === null) {\n delete statesRef.current[id];\n } else {\n const current = statesRef.current[id];\n statesRef.current[id] = { ...current, value: { ...description, id } };\n }\n\n throttledRequestUpdate();\n },\n [throttledRequestUpdate]\n );\n\n const ids = React.useMemo(\n () => descriptions.map((description) => getCompId(description)),\n [descriptions]\n );\n\n const states = React.useMemo(\n () =>\n ids\n .map((id) => statesRef.current[id]?.value)\n .filter((state) => state !== null && state !== undefined),\n /**\n * we leave tick in the deps to ensure the memo is recalculated when the `update` function is called.\n * the `ids` will most likely be stable unless we get new actions, but we can't respond to the Description\n * Component changing the ref data in any other way.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [ids, tick]\n );\n\n return (\n <>\n {descriptions.map((description) => {\n const key = getCompId(description);\n return (\n <Description key={key} id={key} description={description} props={props} update={update} />\n );\n })}\n {children(states)}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Description\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionProps<Props, Description> {\n description: DescriptionComponent<Props, Description>;\n id: string;\n props: Props;\n update: (id: string, value: Description | null) => void;\n}\n\n/**\n * Descriptions are objects, but to create the object, we allow users to create components,\n * this means they can use react hooks in them. It also means we need to render them\n * within a component, however because they return an object of data we can't add that\n * to the react tree, instead we push it back out to the parent.\n */\nconst Description = React.memo(\n ({ description, id, props, update }: DescriptionProps<any, any>) => {\n const comp = description(props);\n\n useShallowCompareEffect(() => {\n update(id, comp);\n\n return () => {\n update(id, null);\n };\n }, comp);\n\n return null;\n },\n (prev, next) => isEqual(prev.props, next.props)\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Helpers\n * -----------------------------------------------------------------------------------------------*/\n\nconst ids = new WeakMap<DescriptionComponent<any, any>, string>();\n\nlet counter = 0;\n\nfunction getCompId<T, K>(comp: DescriptionComponent<T, K>): string {\n const cachedId = ids.get(comp);\n\n if (cachedId) return cachedId;\n\n const id = `${comp.name || (comp as any).displayName || '<anonymous>'}-${counter++}`;\n\n ids.set(comp, id);\n\n return id;\n}\n\nconst useShallowCompareMemoize = <T,>(value: T): Array<T | undefined> => {\n const ref = React.useRef<T | undefined>(undefined);\n\n if (!isEqual(value, ref.current)) {\n ref.current = value;\n }\n\n return [ref.current];\n};\n\nconst useShallowCompareEffect = (callback: React.EffectCallback, dependencies?: unknown) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- the linter isn't able to see that deps are properly handled here\n React.useEffect(callback, useShallowCompareMemoize(dependencies));\n};\n\nexport { DescriptionComponentRenderer };\nexport type { DescriptionComponentRendererProps, DescriptionComponent };\n"],"names":["DescriptionComponentRenderer","children","props","descriptions","statesRef","React","useRef","tick","forceUpdate","useForceUpdate","requestHandle","requestUpdate","useCallback","current","cancelIdleCallback","requestIdleCallback","throttledRequestUpdate","useThrottledCallback","trailing","update","id","description","value","ids","useMemo","map","getCompId","states","filter","state","undefined","_jsxs","_Fragment","key","_jsx","Description","memo","comp","useShallowCompareEffect","prev","next","isEqual","WeakMap","counter","cachedId","get","name","displayName","set","useShallowCompareMemoize","ref","callback","dependencies","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"DescriptionComponentRenderer.mjs","sources":["../../../../../admin/src/components/DescriptionComponentRenderer.tsx"],"sourcesContent":["/**\n * This component will render DescriptionComponents that return objects e.g. `cm.apis.addEditViewPanel`\n * these descriptions are still treated like components because users can use react hooks in them.\n *\n * Rendering them normally by mapping etc. causes mutliple render issues.\n */\n\nimport * as React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport { useForceUpdate } from '../hooks/useForceUpdate';\nimport { useThrottledCallback } from '../hooks/useThrottledCallback';\nimport { cancelIdleCallback, requestIdleCallback } from '../utils/shims';\n\ninterface DescriptionComponent<Props, Description> {\n (props: Props): Description | null;\n displayName?: string;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * DescriptionComponentRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionComponentRendererProps<Props = unknown, Description = unknown> {\n children: (descriptions: Array<Description & { id: string }>) => React.ReactNode;\n descriptions: DescriptionComponent<Props, Description>[];\n props: Props;\n}\n\n/**\n * @internal\n *\n * @description This component takes an array of DescriptionComponents, which are react components that return objects as opposed to JSX.\n * We render these in their own isolated memoized component and use an update function to push the data back out to the parent.\n * Saving it in a ref, and then \"forcing\" an update of the parent component to render the children of this component with the new data.\n *\n * The DescriptionCompoonents can take props and use react hooks hence why we render them as if they were a component. The update\n * function is throttled and managed to avoid erroneous updates where we could wait a single tick to update the entire UI, which\n * creates less \"popping\" from functions being called in rapid succession.\n */\nconst DescriptionComponentRenderer = <Props, Description>({\n children,\n props,\n descriptions,\n}: DescriptionComponentRendererProps<Props, Description>) => {\n const statesRef = React.useRef<Record<string, { value: Description & { id: string } }>>({});\n const [tick, forceUpdate] = useForceUpdate();\n\n const requestHandle = React.useRef<number | null>(null);\n const requestUpdate = React.useCallback(() => {\n if (requestHandle.current) {\n cancelIdleCallback(requestHandle.current);\n }\n\n requestHandle.current = requestIdleCallback(() => {\n requestHandle.current = null;\n\n forceUpdate();\n });\n }, [forceUpdate]);\n\n /**\n * This will avoid us calling too many react updates in a short space of time.\n */\n const throttledRequestUpdate = useThrottledCallback(requestUpdate, 60, { trailing: true });\n\n const update = React.useCallback<DescriptionProps<Props, Description>['update']>(\n (id, description) => {\n if (description === null) {\n delete statesRef.current[id];\n } else {\n const current = statesRef.current[id];\n statesRef.current[id] = { ...current, value: { ...description, id } };\n }\n\n throttledRequestUpdate();\n },\n [throttledRequestUpdate]\n );\n\n const ids = React.useMemo(\n () => descriptions.map((description) => getCompId(description)),\n [descriptions]\n );\n\n const states = React.useMemo(\n () =>\n ids\n .map((id) => statesRef.current[id]?.value)\n .filter((state) => state !== null && state !== undefined),\n /**\n * we leave tick in the deps to ensure the memo is recalculated when the `update` function is called.\n * the `ids` will most likely be stable unless we get new actions, but we can't respond to the Description\n * Component changing the ref data in any other way.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [ids, tick]\n );\n\n return (\n <>\n {descriptions.map((description) => {\n const key = getCompId(description);\n return (\n <MemoizedDescription\n key={key}\n id={key}\n description={description}\n props={props}\n update={update}\n />\n );\n })}\n {children(states)}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Description\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DescriptionProps<Props, Description> {\n description: DescriptionComponent<Props, Description>;\n id: string;\n props: Props;\n update: (id: string, value: Description | null) => void;\n}\n\n/**\n * Descriptions are objects, but to create the object, we allow users to create components,\n * this means they can use react hooks in them. It also means we need to render them\n * within a component, however because they return an object of data we can't add that\n * to the react tree, instead we push it back out to the parent.\n */\nconst Description = <Props, Description>({\n description,\n id,\n props,\n update,\n}: DescriptionProps<Props, Description>) => {\n const comp = description(props);\n\n useShallowCompareEffect(() => {\n update(id, comp);\n\n return () => {\n update(id, null);\n };\n }, comp);\n\n return null;\n};\n\nconst MemoizedDescription = React.memo(Description, (prev, next) =>\n isEqual(prev.props, next.props)\n) as typeof Description;\n\n/* -------------------------------------------------------------------------------------------------\n * Helpers\n * -----------------------------------------------------------------------------------------------*/\n\ntype CachedDescriptionComponent = DescriptionComponent<unknown, unknown>;\n\nconst ids = new WeakMap<CachedDescriptionComponent, string>();\n\nlet counter = 0;\n\nfunction getCompId<T, K>(comp: DescriptionComponent<T, K>): string {\n const cachedComponent = comp as CachedDescriptionComponent;\n const cachedId = ids.get(cachedComponent);\n\n if (cachedId) return cachedId;\n\n const id = `${comp.name || comp.displayName || '<anonymous>'}-${counter++}`;\n\n ids.set(cachedComponent, id);\n\n return id;\n}\n\nconst useShallowCompareMemoize = <T,>(value: T): Array<T | undefined> => {\n const ref = React.useRef<T | undefined>(undefined);\n\n if (!isEqual(value, ref.current)) {\n ref.current = value;\n }\n\n return [ref.current];\n};\n\nconst useShallowCompareEffect = (callback: React.EffectCallback, dependencies?: unknown) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- the linter isn't able to see that deps are properly handled here\n React.useEffect(callback, useShallowCompareMemoize(dependencies));\n};\n\nexport { DescriptionComponentRenderer };\nexport type { DescriptionComponentRendererProps, DescriptionComponent };\n"],"names":["DescriptionComponentRenderer","children","props","descriptions","statesRef","React","useRef","tick","forceUpdate","useForceUpdate","requestHandle","requestUpdate","useCallback","current","cancelIdleCallback","requestIdleCallback","throttledRequestUpdate","useThrottledCallback","trailing","update","id","description","value","ids","useMemo","map","getCompId","states","filter","state","undefined","_jsxs","_Fragment","key","_jsx","MemoizedDescription","Description","comp","useShallowCompareEffect","memo","prev","next","isEqual","WeakMap","counter","cachedComponent","cachedId","get","name","displayName","set","useShallowCompareMemoize","ref","callback","dependencies","useEffect"],"mappings":"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"}
@@ -5,9 +5,10 @@ var designSystem = require('@strapi/design-system');
5
5
  var icons = require('@strapi/icons');
6
6
  var reactIntl = require('react-intl');
7
7
  var reactRouterDom = require('react-router-dom');
8
- var styled = require('styled-components');
8
+ var styledComponents = require('styled-components');
9
9
  var theme = require('../constants/theme.js');
10
10
  var useClipboard = require('../hooks/useClipboard.js');
11
+ var retryDynamicImport = require('../utils/retryDynamicImport.js');
11
12
 
12
13
  /**
13
14
  * @description this stops the app from going white, and instead shows the error message.
@@ -18,13 +19,103 @@ var useClipboard = require('../hooks/useClipboard.js');
18
19
  const { copy } = useClipboard.useClipboard();
19
20
  if (error instanceof Error) {
20
21
  console.error(error);
21
- const handleClick = async ()=>{
22
+ const handleCopy = async ()=>{
22
23
  await copy(`
23
24
  \`\`\`
24
25
  ${error.stack}
25
26
  \`\`\`
26
27
  `);
27
28
  };
29
+ if (retryDynamicImport.isChunkLoadError(error)) {
30
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Main, {
31
+ height: "100%",
32
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
33
+ alignItems: "center",
34
+ height: "100%",
35
+ justifyContent: "center",
36
+ paddingLeft: theme.RESPONSIVE_DEFAULT_SPACING,
37
+ paddingRight: theme.RESPONSIVE_DEFAULT_SPACING,
38
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
39
+ gap: 7,
40
+ padding: {
41
+ initial: 6,
42
+ small: 7,
43
+ medium: 8
44
+ },
45
+ direction: "column",
46
+ width: "100%",
47
+ maxWidth: "512px",
48
+ shadow: "tableShadow",
49
+ borderColor: "neutral150",
50
+ background: "neutral0",
51
+ hasRadius: true,
52
+ children: [
53
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
54
+ direction: "column",
55
+ gap: 2,
56
+ children: [
57
+ /*#__PURE__*/ jsxRuntime.jsx(icons.Clock, {
58
+ width: "32px",
59
+ height: "32px",
60
+ fill: "primary600"
61
+ }),
62
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
63
+ fontSize: 4,
64
+ fontWeight: "bold",
65
+ textAlign: "center",
66
+ children: formatMessage({
67
+ id: 'app.error.chunk.title',
68
+ defaultMessage: "This screen couldn't be loaded"
69
+ })
70
+ }),
71
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
72
+ variant: "omega",
73
+ textAlign: "center",
74
+ children: formatMessage({
75
+ id: 'app.error.chunk.message',
76
+ defaultMessage: 'The admin could not load a screen. This often happens when the server is starting or the connection was interrupted. Reload the page to try again. If you recently deployed, you may need a full refresh to load the latest version.'
77
+ })
78
+ })
79
+ ]
80
+ }),
81
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
82
+ gap: 4,
83
+ direction: "column",
84
+ width: "100%",
85
+ children: [
86
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
87
+ onClick: ()=>window.location.reload(),
88
+ fullWidth: true,
89
+ children: formatMessage({
90
+ id: 'app.error.chunk.reload',
91
+ defaultMessage: 'Reload the page'
92
+ })
93
+ }),
94
+ /*#__PURE__*/ jsxRuntime.jsx(StyledAlert, {
95
+ onClose: ()=>{},
96
+ width: "100%",
97
+ closeLabel: "",
98
+ variant: "warning",
99
+ children: /*#__PURE__*/ jsxRuntime.jsx(ChunkErrorType, {
100
+ children: error.message
101
+ })
102
+ }),
103
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
104
+ onClick: handleCopy,
105
+ variant: "tertiary",
106
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Duplicate, {}),
107
+ children: formatMessage({
108
+ id: 'app.error.copy',
109
+ defaultMessage: 'Copy to clipboard'
110
+ })
111
+ })
112
+ ]
113
+ })
114
+ ]
115
+ })
116
+ })
117
+ });
118
+ }
28
119
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Main, {
29
120
  height: "100%",
30
121
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
@@ -99,7 +190,7 @@ ${error.stack}
99
190
  })
100
191
  }),
101
192
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
102
- onClick: handleClick,
193
+ onClick: handleCopy,
103
194
  variant: "tertiary",
104
195
  startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Duplicate, {}),
105
196
  children: formatMessage({
@@ -116,7 +207,7 @@ ${error.stack}
116
207
  }
117
208
  throw error;
118
209
  };
119
- const StyledAlert = styled.styled(designSystem.Alert)`
210
+ const StyledAlert = styledComponents.styled(designSystem.Alert)`
120
211
  & > div:first-child {
121
212
  display: none;
122
213
  }
@@ -125,10 +216,14 @@ const StyledAlert = styled.styled(designSystem.Alert)`
125
216
  display: none;
126
217
  }
127
218
  `;
128
- const ErrorType = styled.styled(designSystem.Typography)`
219
+ const ErrorType = styledComponents.styled(designSystem.Typography)`
129
220
  word-break: break-all;
130
221
  color: ${({ theme })=>theme.colors.danger600};
131
222
  `;
223
+ const ChunkErrorType = styledComponents.styled(designSystem.Typography)`
224
+ word-break: break-all;
225
+ color: ${({ theme })=>theme.colors.warning600};
226
+ `;
132
227
 
133
228
  exports.ErrorElement = ErrorElement;
134
229
  //# sourceMappingURL=ErrorElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorElement.js","sources":["../../../../../admin/src/components/ErrorElement.tsx"],"sourcesContent":["import {\n Alert,\n Button,\n Flex,\n Main,\n Typography,\n Link,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { Duplicate, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useRouteError } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../constants/theme';\nimport { useClipboard } from '../hooks/useClipboard';\n\n/**\n * @description this stops the app from going white, and instead shows the error message.\n * But it could be improved for sure.\n */\nconst ErrorElement = () => {\n const error = useRouteError();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n if (error instanceof Error) {\n console.error(error);\n\n const handleClick = async () => {\n await copy(`\n\\`\\`\\`\n${error.stack}\n\\`\\`\\`\n `);\n };\n\n return (\n <Main height=\"100%\">\n <Flex\n alignItems=\"center\"\n height=\"100%\"\n justifyContent=\"center\"\n paddingLeft={RESPONSIVE_DEFAULT_SPACING}\n paddingRight={RESPONSIVE_DEFAULT_SPACING}\n >\n <Flex\n gap={7}\n padding={{\n initial: 6,\n small: 7,\n medium: 8,\n }}\n direction=\"column\"\n width=\"100%\"\n maxWidth=\"512px\"\n shadow=\"tableShadow\"\n borderColor=\"neutral150\"\n background=\"neutral0\"\n hasRadius\n >\n <Flex direction=\"column\" gap={2}>\n <WarningCircle width=\"32px\" height=\"32px\" fill=\"danger600\" />\n <Typography fontSize={4} fontWeight=\"bold\" textAlign=\"center\">\n {formatMessage({\n id: 'app.error',\n defaultMessage: 'Something went wrong',\n })}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\">\n {formatMessage(\n {\n id: 'app.error.message',\n defaultMessage: `It seems like there is a bug in your instance, but we've got you covered. Please notify your technical team so they can investigate the source of the problem and report the issue to us by opening a bug report on {link}.`,\n },\n {\n link: (\n <Link\n isExternal\n // hack to get rid of the current endIcon, which should be removable by using `null`.\n endIcon\n href=\"https://github.com/strapi/strapi/issues/new?assignees=&labels=&projects=&template=BUG_REPORT.md\"\n >{`Strapi's GitHub`}</Link>\n ),\n }\n )}\n </Typography>\n </Flex>\n {/* the Alert component needs to make its close button optional as well as the icon. */}\n <Flex gap={4} direction=\"column\" width=\"100%\">\n <StyledAlert onClose={() => {}} width=\"100%\" closeLabel=\"\" variant=\"danger\">\n <ErrorType>{error.message}</ErrorType>\n </StyledAlert>\n <Button onClick={handleClick} variant=\"tertiary\" startIcon={<Duplicate />}>\n {formatMessage({\n id: 'app.error.copy',\n defaultMessage: 'Copy to clipboard',\n })}\n </Button>\n </Flex>\n </Flex>\n </Flex>\n </Main>\n );\n }\n\n throw error;\n};\n\nconst StyledAlert = styled(Alert)`\n & > div:first-child {\n display: none;\n }\n\n & > button {\n display: none;\n }\n`;\n\nconst ErrorType = styled<TypographyComponent>(Typography)`\n word-break: break-all;\n color: ${({ theme }) => theme.colors.danger600};\n`;\n\nexport { ErrorElement };\n"],"names":["ErrorElement","error","useRouteError","formatMessage","useIntl","copy","useClipboard","Error","console","handleClick","stack","_jsx","Main","height","Flex","alignItems","justifyContent","paddingLeft","RESPONSIVE_DEFAULT_SPACING","paddingRight","_jsxs","gap","padding","initial","small","medium","direction","width","maxWidth","shadow","borderColor","background","hasRadius","WarningCircle","fill","Typography","fontSize","fontWeight","textAlign","id","defaultMessage","variant","link","Link","isExternal","endIcon","href","StyledAlert","onClose","closeLabel","ErrorType","message","Button","onClick","startIcon","Duplicate","styled","Alert","theme","colors","danger600"],"mappings":"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"}
1
+ {"version":3,"file":"ErrorElement.js","sources":["../../../../../admin/src/components/ErrorElement.tsx"],"sourcesContent":["import {\n Alert,\n Button,\n Flex,\n Main,\n Typography,\n Link,\n TypographyComponent,\n} from '@strapi/design-system';\nimport { Clock, Duplicate, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useRouteError } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { RESPONSIVE_DEFAULT_SPACING } from '../constants/theme';\nimport { useClipboard } from '../hooks/useClipboard';\nimport { isChunkLoadError } from '../utils/retryDynamicImport';\n\n/**\n * @description this stops the app from going white, and instead shows the error message.\n * But it could be improved for sure.\n */\nconst ErrorElement = () => {\n const error = useRouteError();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n if (error instanceof Error) {\n console.error(error);\n\n const handleCopy = async () => {\n await copy(`\n\\`\\`\\`\n${error.stack}\n\\`\\`\\`\n `);\n };\n\n if (isChunkLoadError(error)) {\n return (\n <Main height=\"100%\">\n <Flex\n alignItems=\"center\"\n height=\"100%\"\n justifyContent=\"center\"\n paddingLeft={RESPONSIVE_DEFAULT_SPACING}\n paddingRight={RESPONSIVE_DEFAULT_SPACING}\n >\n <Flex\n gap={7}\n padding={{\n initial: 6,\n small: 7,\n medium: 8,\n }}\n direction=\"column\"\n width=\"100%\"\n maxWidth=\"512px\"\n shadow=\"tableShadow\"\n borderColor=\"neutral150\"\n background=\"neutral0\"\n hasRadius\n >\n <Flex direction=\"column\" gap={2}>\n <Clock width=\"32px\" height=\"32px\" fill=\"primary600\" />\n <Typography fontSize={4} fontWeight=\"bold\" textAlign=\"center\">\n {formatMessage({\n id: 'app.error.chunk.title',\n defaultMessage: \"This screen couldn't be loaded\",\n })}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\">\n {formatMessage({\n id: 'app.error.chunk.message',\n defaultMessage:\n 'The admin could not load a screen. This often happens when the server is starting or the connection was interrupted. Reload the page to try again. If you recently deployed, you may need a full refresh to load the latest version.',\n })}\n </Typography>\n </Flex>\n <Flex gap={4} direction=\"column\" width=\"100%\">\n <Button onClick={() => window.location.reload()} fullWidth>\n {formatMessage({\n id: 'app.error.chunk.reload',\n defaultMessage: 'Reload the page',\n })}\n </Button>\n <StyledAlert onClose={() => {}} width=\"100%\" closeLabel=\"\" variant=\"warning\">\n <ChunkErrorType>{error.message}</ChunkErrorType>\n </StyledAlert>\n <Button onClick={handleCopy} variant=\"tertiary\" startIcon={<Duplicate />}>\n {formatMessage({\n id: 'app.error.copy',\n defaultMessage: 'Copy to clipboard',\n })}\n </Button>\n </Flex>\n </Flex>\n </Flex>\n </Main>\n );\n }\n\n return (\n <Main height=\"100%\">\n <Flex\n alignItems=\"center\"\n height=\"100%\"\n justifyContent=\"center\"\n paddingLeft={RESPONSIVE_DEFAULT_SPACING}\n paddingRight={RESPONSIVE_DEFAULT_SPACING}\n >\n <Flex\n gap={7}\n padding={{\n initial: 6,\n small: 7,\n medium: 8,\n }}\n direction=\"column\"\n width=\"100%\"\n maxWidth=\"512px\"\n shadow=\"tableShadow\"\n borderColor=\"neutral150\"\n background=\"neutral0\"\n hasRadius\n >\n <Flex direction=\"column\" gap={2}>\n <WarningCircle width=\"32px\" height=\"32px\" fill=\"danger600\" />\n <Typography fontSize={4} fontWeight=\"bold\" textAlign=\"center\">\n {formatMessage({\n id: 'app.error',\n defaultMessage: 'Something went wrong',\n })}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\">\n {formatMessage(\n {\n id: 'app.error.message',\n defaultMessage: `It seems like there is a bug in your instance, but we've got you covered. Please notify your technical team so they can investigate the source of the problem and report the issue to us by opening a bug report on {link}.`,\n },\n {\n link: (\n <Link\n isExternal\n // hack to get rid of the current endIcon, which should be removable by using `null`.\n endIcon\n href=\"https://github.com/strapi/strapi/issues/new?assignees=&labels=&projects=&template=BUG_REPORT.md\"\n >{`Strapi's GitHub`}</Link>\n ),\n }\n )}\n </Typography>\n </Flex>\n {/* the Alert component needs to make its close button optional as well as the icon. */}\n <Flex gap={4} direction=\"column\" width=\"100%\">\n <StyledAlert onClose={() => {}} width=\"100%\" closeLabel=\"\" variant=\"danger\">\n <ErrorType>{error.message}</ErrorType>\n </StyledAlert>\n <Button onClick={handleCopy} variant=\"tertiary\" startIcon={<Duplicate />}>\n {formatMessage({\n id: 'app.error.copy',\n defaultMessage: 'Copy to clipboard',\n })}\n </Button>\n </Flex>\n </Flex>\n </Flex>\n </Main>\n );\n }\n\n throw error;\n};\n\nconst StyledAlert = styled(Alert)`\n & > div:first-child {\n display: none;\n }\n\n & > button {\n display: none;\n }\n`;\n\nconst ErrorType = styled<TypographyComponent>(Typography)`\n word-break: break-all;\n color: ${({ theme }) => theme.colors.danger600};\n`;\n\nconst ChunkErrorType = styled<TypographyComponent>(Typography)`\n word-break: break-all;\n color: ${({ theme }) => theme.colors.warning600};\n`;\n\nexport { ErrorElement };\n"],"names":["ErrorElement","error","useRouteError","formatMessage","useIntl","copy","useClipboard","Error","console","handleCopy","stack","isChunkLoadError","_jsx","Main","height","Flex","alignItems","justifyContent","paddingLeft","RESPONSIVE_DEFAULT_SPACING","paddingRight","_jsxs","gap","padding","initial","small","medium","direction","width","maxWidth","shadow","borderColor","background","hasRadius","Clock","fill","Typography","fontSize","fontWeight","textAlign","id","defaultMessage","variant","Button","onClick","window","location","reload","fullWidth","StyledAlert","onClose","closeLabel","ChunkErrorType","message","startIcon","Duplicate","WarningCircle","link","Link","isExternal","endIcon","href","ErrorType","styled","Alert","theme","colors","danger600","warning600"],"mappings":";;;;;;;;;;;;AAkBA;;;AAGC,UACKA,YAAAA,GAAe,IAAA;AACnB,IAAA,MAAMC,KAAAA,GAAQC,4BAAAA,EAAAA;IACd,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,IAAI,EAAE,GAAGC,yBAAAA,EAAAA;AAEjB,IAAA,IAAIL,iBAAiBM,KAAAA,EAAO;AAC1BC,QAAAA,OAAAA,CAAQP,KAAK,CAACA,KAAAA,CAAAA;AAEd,QAAA,MAAMQ,UAAAA,GAAa,UAAA;AACjB,YAAA,MAAMJ,KAAK;;AAEjB,EAAEJ,KAAAA,CAAMS,KAAK;;MAEP,CAAC,CAAA;AACH,QAAA,CAAA;AAEA,QAAA,IAAIC,oCAAiBV,KAAAA,CAAAA,EAAQ;AAC3B,YAAA,qBACEW,cAAA,CAACC,iBAAAA,EAAAA;gBAAKC,MAAAA,EAAO,MAAA;AACX,gBAAA,QAAA,gBAAAF,cAAA,CAACG,iBAAAA,EAAAA;oBACCC,UAAAA,EAAW,QAAA;oBACXF,MAAAA,EAAO,MAAA;oBACPG,cAAAA,EAAe,QAAA;oBACfC,WAAAA,EAAaC,gCAAAA;oBACbC,YAAAA,EAAcD,gCAAAA;AAEd,oBAAA,QAAA,gBAAAE,eAAA,CAACN,iBAAAA,EAAAA;wBACCO,GAAAA,EAAK,CAAA;wBACLC,OAAAA,EAAS;4BACPC,OAAAA,EAAS,CAAA;4BACTC,KAAAA,EAAO,CAAA;4BACPC,MAAAA,EAAQ;AACV,yBAAA;wBACAC,SAAAA,EAAU,QAAA;wBACVC,KAAAA,EAAM,MAAA;wBACNC,QAAAA,EAAS,OAAA;wBACTC,MAAAA,EAAO,aAAA;wBACPC,WAAAA,EAAY,YAAA;wBACZC,UAAAA,EAAW,UAAA;wBACXC,SAAS,EAAA,IAAA;;0CAETZ,eAAA,CAACN,iBAAAA,EAAAA;gCAAKY,SAAAA,EAAU,QAAA;gCAASL,GAAAA,EAAK,CAAA;;kDAC5BV,cAAA,CAACsB,WAAAA,EAAAA;wCAAMN,KAAAA,EAAM,MAAA;wCAAOd,MAAAA,EAAO,MAAA;wCAAOqB,IAAAA,EAAK;;kDACvCvB,cAAA,CAACwB,uBAAAA,EAAAA;wCAAWC,QAAAA,EAAU,CAAA;wCAAGC,UAAAA,EAAW,MAAA;wCAAOC,SAAAA,EAAU,QAAA;kDAClDpC,aAAAA,CAAc;4CACbqC,EAAAA,EAAI,uBAAA;4CACJC,cAAAA,EAAgB;AAClB,yCAAA;;kDAEF7B,cAAA,CAACwB,uBAAAA,EAAAA;wCAAWM,OAAAA,EAAQ,OAAA;wCAAQH,SAAAA,EAAU,QAAA;kDACnCpC,aAAAA,CAAc;4CACbqC,EAAAA,EAAI,yBAAA;4CACJC,cAAAA,EACE;AACJ,yCAAA;;;;0CAGJpB,eAAA,CAACN,iBAAAA,EAAAA;gCAAKO,GAAAA,EAAK,CAAA;gCAAGK,SAAAA,EAAU,QAAA;gCAASC,KAAAA,EAAM,MAAA;;kDACrChB,cAAA,CAAC+B,mBAAAA,EAAAA;AAAOC,wCAAAA,OAAAA,EAAS,IAAMC,MAAAA,CAAOC,QAAQ,CAACC,MAAM,EAAA;wCAAIC,SAAS,EAAA,IAAA;kDACvD7C,aAAAA,CAAc;4CACbqC,EAAAA,EAAI,wBAAA;4CACJC,cAAAA,EAAgB;AAClB,yCAAA;;kDAEF7B,cAAA,CAACqC,WAAAA,EAAAA;AAAYC,wCAAAA,OAAAA,EAAS,IAAA,CAAO,CAAA;wCAAGtB,KAAAA,EAAM,MAAA;wCAAOuB,UAAAA,EAAW,EAAA;wCAAGT,OAAAA,EAAQ,SAAA;AACjE,wCAAA,QAAA,gBAAA9B,cAAA,CAACwC,cAAAA,EAAAA;AAAgBnD,4CAAAA,QAAAA,EAAAA,KAAAA,CAAMoD;;;kDAEzBzC,cAAA,CAAC+B,mBAAAA,EAAAA;wCAAOC,OAAAA,EAASnC,UAAAA;wCAAYiC,OAAAA,EAAQ,UAAA;AAAWY,wCAAAA,SAAAA,gBAAW1C,cAAA,CAAC2C,eAAAA,EAAAA,EAAAA,CAAAA;kDACzDpD,aAAAA,CAAc;4CACbqC,EAAAA,EAAI,gBAAA;4CACJC,cAAAA,EAAgB;AAClB,yCAAA;;;;;;;;AAOd,QAAA;AAEA,QAAA,qBACE7B,cAAA,CAACC,iBAAAA,EAAAA;YAAKC,MAAAA,EAAO,MAAA;AACX,YAAA,QAAA,gBAAAF,cAAA,CAACG,iBAAAA,EAAAA;gBACCC,UAAAA,EAAW,QAAA;gBACXF,MAAAA,EAAO,MAAA;gBACPG,cAAAA,EAAe,QAAA;gBACfC,WAAAA,EAAaC,gCAAAA;gBACbC,YAAAA,EAAcD,gCAAAA;AAEd,gBAAA,QAAA,gBAAAE,eAAA,CAACN,iBAAAA,EAAAA;oBACCO,GAAAA,EAAK,CAAA;oBACLC,OAAAA,EAAS;wBACPC,OAAAA,EAAS,CAAA;wBACTC,KAAAA,EAAO,CAAA;wBACPC,MAAAA,EAAQ;AACV,qBAAA;oBACAC,SAAAA,EAAU,QAAA;oBACVC,KAAAA,EAAM,MAAA;oBACNC,QAAAA,EAAS,OAAA;oBACTC,MAAAA,EAAO,aAAA;oBACPC,WAAAA,EAAY,YAAA;oBACZC,UAAAA,EAAW,UAAA;oBACXC,SAAS,EAAA,IAAA;;sCAETZ,eAAA,CAACN,iBAAAA,EAAAA;4BAAKY,SAAAA,EAAU,QAAA;4BAASL,GAAAA,EAAK,CAAA;;8CAC5BV,cAAA,CAAC4C,mBAAAA,EAAAA;oCAAc5B,KAAAA,EAAM,MAAA;oCAAOd,MAAAA,EAAO,MAAA;oCAAOqB,IAAAA,EAAK;;8CAC/CvB,cAAA,CAACwB,uBAAAA,EAAAA;oCAAWC,QAAAA,EAAU,CAAA;oCAAGC,UAAAA,EAAW,MAAA;oCAAOC,SAAAA,EAAU,QAAA;8CAClDpC,aAAAA,CAAc;wCACbqC,EAAAA,EAAI,WAAA;wCACJC,cAAAA,EAAgB;AAClB,qCAAA;;8CAEF7B,cAAA,CAACwB,uBAAAA,EAAAA;oCAAWM,OAAAA,EAAQ,OAAA;oCAAQH,SAAAA,EAAU,QAAA;8CACnCpC,aAAAA,CACC;wCACEqC,EAAAA,EAAI,mBAAA;wCACJC,cAAAA,EAAgB,CAAC,2NAA2N;qCAC9O,EACA;AACEgB,wCAAAA,IAAAA,gBACE7C,cAAA,CAAC8C,iBAAAA,EAAAA;4CACCC,UAAU,EAAA,IAAA;;4CAEVC,OAAO,EAAA,IAAA;4CACPC,IAAAA,EAAK,iGAAA;AACL,4CAAA,QAAA,EAAA,CAAC,eAAe;;AAEtB,qCAAA;;;;sCAKNxC,eAAA,CAACN,iBAAAA,EAAAA;4BAAKO,GAAAA,EAAK,CAAA;4BAAGK,SAAAA,EAAU,QAAA;4BAASC,KAAAA,EAAM,MAAA;;8CACrChB,cAAA,CAACqC,WAAAA,EAAAA;AAAYC,oCAAAA,OAAAA,EAAS,IAAA,CAAO,CAAA;oCAAGtB,KAAAA,EAAM,MAAA;oCAAOuB,UAAAA,EAAW,EAAA;oCAAGT,OAAAA,EAAQ,QAAA;AACjE,oCAAA,QAAA,gBAAA9B,cAAA,CAACkD,SAAAA,EAAAA;AAAW7D,wCAAAA,QAAAA,EAAAA,KAAAA,CAAMoD;;;8CAEpBzC,cAAA,CAAC+B,mBAAAA,EAAAA;oCAAOC,OAAAA,EAASnC,UAAAA;oCAAYiC,OAAAA,EAAQ,UAAA;AAAWY,oCAAAA,SAAAA,gBAAW1C,cAAA,CAAC2C,eAAAA,EAAAA,EAAAA,CAAAA;8CACzDpD,aAAAA,CAAc;wCACbqC,EAAAA,EAAI,gBAAA;wCACJC,cAAAA,EAAgB;AAClB,qCAAA;;;;;;;;AAOd,IAAA;IAEA,MAAMxC,KAAAA;AACR;AAEA,MAAMgD,WAAAA,GAAcc,uBAAAA,CAAOC,kBAAAA,CAAM;;;;;;;;AAQjC,CAAC;AAED,MAAMF,SAAAA,GAAYC,uBAAAA,CAA4B3B,uBAAAA,CAAW;;SAEhD,EAAE,CAAC,EAAE6B,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,SAAS,CAAC;AACjD,CAAC;AAED,MAAMf,cAAAA,GAAiBW,uBAAAA,CAA4B3B,uBAAAA,CAAW;;SAErD,EAAE,CAAC,EAAE6B,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC;AAClD,CAAC;;;;"}