@strapi/admin 5.48.1 → 5.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/dist/admin/admin/src/StrapiApp.js +33 -20
  2. package/dist/admin/admin/src/StrapiApp.js.map +1 -1
  3. package/dist/admin/admin/src/StrapiApp.mjs +6 -1
  4. package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/ConfirmDialog.js +3 -2
  6. package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
  7. package/dist/admin/admin/src/components/Context.js +4 -3
  8. package/dist/admin/admin/src/components/Context.js.map +1 -1
  9. package/dist/admin/admin/src/components/DescriptionComponentRenderer.js +8 -4
  10. package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
  11. package/dist/admin/admin/src/components/Filters.js +3 -2
  12. package/dist/admin/admin/src/components/Filters.js.map +1 -1
  13. package/dist/admin/admin/src/components/Form.js +9 -5
  14. package/dist/admin/admin/src/components/Form.js.map +1 -1
  15. package/dist/admin/admin/src/components/FormInputs/Date.js +3 -2
  16. package/dist/admin/admin/src/components/FormInputs/Date.js.map +1 -1
  17. package/dist/admin/admin/src/components/FormInputs/Json.js +3 -2
  18. package/dist/admin/admin/src/components/FormInputs/Json.js.map +1 -1
  19. package/dist/admin/admin/src/components/GapDropZone.js +3 -2
  20. package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
  21. package/dist/admin/admin/src/components/GuidedTour/Context.js +3 -2
  22. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
  23. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +3 -2
  24. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
  25. package/dist/admin/admin/src/components/GuidedTour/Tours.js +9 -3
  26. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
  27. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +6 -1
  28. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/LanguageProvider.js +5 -1
  30. package/dist/admin/admin/src/components/LanguageProvider.js.map +1 -1
  31. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +3 -2
  32. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  33. package/dist/admin/admin/src/components/LeftMenu.js +3 -2
  34. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  35. package/dist/admin/admin/src/components/NpsSurvey.js +4 -3
  36. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  37. package/dist/admin/admin/src/components/PageHelpers.js +3 -2
  38. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  39. package/dist/admin/admin/src/components/Pagination.js +3 -2
  40. package/dist/admin/admin/src/components/Pagination.js.map +1 -1
  41. package/dist/admin/admin/src/components/PluginsInitializer.js +3 -2
  42. package/dist/admin/admin/src/components/PluginsInitializer.js.map +1 -1
  43. package/dist/admin/admin/src/components/RelativeTime.js +3 -2
  44. package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
  45. package/dist/admin/admin/src/components/ResizeIndicator.js +3 -2
  46. package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
  47. package/dist/admin/admin/src/components/SearchInput.js +3 -2
  48. package/dist/admin/admin/src/components/SearchInput.js.map +1 -1
  49. package/dist/admin/admin/src/components/Table.js +3 -2
  50. package/dist/admin/admin/src/components/Table.js.map +1 -1
  51. package/dist/admin/admin/src/components/Theme.js +3 -2
  52. package/dist/admin/admin/src/components/Theme.js.map +1 -1
  53. package/dist/admin/admin/src/components/WidgetRoot.js +9 -5
  54. package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
  55. package/dist/admin/admin/src/core/apis/CustomFields.js +14 -10
  56. package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
  57. package/dist/admin/admin/src/core/apis/Widgets.js +8 -4
  58. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  59. package/dist/admin/admin/src/core/apis/router.js +20 -16
  60. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  61. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  62. package/dist/admin/admin/src/features/Auth.js +78 -6
  63. package/dist/admin/admin/src/features/Auth.js.map +1 -1
  64. package/dist/admin/admin/src/features/Auth.mjs +77 -6
  65. package/dist/admin/admin/src/features/Auth.mjs.map +1 -1
  66. package/dist/admin/admin/src/features/BackButton.js +3 -2
  67. package/dist/admin/admin/src/features/BackButton.js.map +1 -1
  68. package/dist/admin/admin/src/features/Configuration.js +3 -2
  69. package/dist/admin/admin/src/features/Configuration.js.map +1 -1
  70. package/dist/admin/admin/src/features/Notifications.js +3 -2
  71. package/dist/admin/admin/src/features/Notifications.js.map +1 -1
  72. package/dist/admin/admin/src/features/Tracking.js +7 -3
  73. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  74. package/dist/admin/admin/src/features/Widgets.js +3 -2
  75. package/dist/admin/admin/src/features/Widgets.js.map +1 -1
  76. package/dist/admin/admin/src/hooks/useAPIErrorHandler.js +3 -2
  77. package/dist/admin/admin/src/hooks/useAPIErrorHandler.js.map +1 -1
  78. package/dist/admin/admin/src/hooks/useAdminRoles.js +3 -2
  79. package/dist/admin/admin/src/hooks/useAdminRoles.js.map +1 -1
  80. package/dist/admin/admin/src/hooks/useControllableState.js +3 -2
  81. package/dist/admin/admin/src/hooks/useControllableState.js.map +1 -1
  82. package/dist/admin/admin/src/hooks/useDebounce.js +3 -2
  83. package/dist/admin/admin/src/hooks/useDebounce.js.map +1 -1
  84. package/dist/admin/admin/src/hooks/useDeviceType.js +3 -2
  85. package/dist/admin/admin/src/hooks/useDeviceType.js.map +1 -1
  86. package/dist/admin/admin/src/hooks/useElementOnScreen.js +3 -2
  87. package/dist/admin/admin/src/hooks/useElementOnScreen.js.map +1 -1
  88. package/dist/admin/admin/src/hooks/useEnterprise.js +3 -2
  89. package/dist/admin/admin/src/hooks/useEnterprise.js.map +1 -1
  90. package/dist/admin/admin/src/hooks/useFetchClient.js +3 -2
  91. package/dist/admin/admin/src/hooks/useFetchClient.js.map +1 -1
  92. package/dist/admin/admin/src/hooks/useForceUpdate.js +3 -2
  93. package/dist/admin/admin/src/hooks/useForceUpdate.js.map +1 -1
  94. package/dist/admin/admin/src/hooks/useIdleSessionLogout.js +85 -15
  95. package/dist/admin/admin/src/hooks/useIdleSessionLogout.js.map +1 -1
  96. package/dist/admin/admin/src/hooks/useIdleSessionLogout.mjs +82 -14
  97. package/dist/admin/admin/src/hooks/useIdleSessionLogout.mjs.map +1 -1
  98. package/dist/admin/admin/src/hooks/useIsMounted.js +3 -2
  99. package/dist/admin/admin/src/hooks/useIsMounted.js.map +1 -1
  100. package/dist/admin/admin/src/hooks/useMediaQuery.js +3 -2
  101. package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -1
  102. package/dist/admin/admin/src/hooks/useMenu.js +7 -3
  103. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  104. package/dist/admin/admin/src/hooks/useOnce.js +3 -2
  105. package/dist/admin/admin/src/hooks/useOnce.js.map +1 -1
  106. package/dist/admin/admin/src/hooks/useRBAC.js +7 -3
  107. package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
  108. package/dist/admin/admin/src/hooks/useSettingsMenu.js +7 -3
  109. package/dist/admin/admin/src/hooks/useSettingsMenu.js.map +1 -1
  110. package/dist/admin/admin/src/hooks/useThrottledCallback.js +5 -1
  111. package/dist/admin/admin/src/hooks/useThrottledCallback.js.map +1 -1
  112. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +11 -5
  113. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  114. package/dist/admin/admin/src/pages/Auth/components/ForgotPassword.js +3 -2
  115. package/dist/admin/admin/src/pages/Auth/components/ForgotPassword.js.map +1 -1
  116. package/dist/admin/admin/src/pages/Auth/components/Login.js +8 -4
  117. package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
  118. package/dist/admin/admin/src/pages/Auth/components/Oops.js +3 -2
  119. package/dist/admin/admin/src/pages/Auth/components/Oops.js.map +1 -1
  120. package/dist/admin/admin/src/pages/Auth/components/Register.js +9 -5
  121. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  122. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +4 -3
  123. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
  124. package/dist/admin/admin/src/pages/Home/HomePage.js +3 -2
  125. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  126. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +8 -4
  127. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -1
  128. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +7 -3
  129. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  130. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +7 -3
  131. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
  132. package/dist/admin/admin/src/pages/ProfilePage.js +8 -4
  133. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  134. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +3 -2
  135. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  136. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +3 -2
  137. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  138. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js +3 -2
  139. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js.map +1 -1
  140. package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.js +3 -2
  141. package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.js.map +1 -1
  142. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js +3 -2
  143. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js.map +1 -1
  144. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js +3 -2
  145. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js.map +1 -1
  146. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js +4 -3
  147. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js.map +1 -1
  148. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +3 -2
  149. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  150. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +7 -2
  151. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
  152. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +5 -1
  153. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  154. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js +6 -2
  155. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.js.map +1 -1
  156. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +4 -3
  157. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  158. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +3 -2
  159. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  160. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +7 -3
  161. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  162. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js +3 -2
  163. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
  164. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +4 -3
  165. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  166. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +4 -3
  167. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
  168. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js +3 -2
  169. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
  170. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +10 -6
  171. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  172. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js +3 -2
  173. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.js.map +1 -1
  174. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js +13 -7
  175. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
  176. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +15 -9
  177. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  178. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js +9 -5
  179. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
  180. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +33 -25
  181. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  182. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +10 -6
  183. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  184. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js +3 -2
  185. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js.map +1 -1
  186. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/difference.js +9 -3
  187. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/difference.js.map +1 -1
  188. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js +8 -3
  189. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
  190. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/layouts.js +6 -2
  191. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/layouts.js.map +1 -1
  192. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.js +8 -3
  193. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.js.map +1 -1
  194. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +4 -3
  195. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  196. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +4 -3
  197. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
  198. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -5
  199. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
  200. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +4 -3
  201. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  202. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js +3 -2
  203. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js.map +1 -1
  204. package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js +4 -3
  205. package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js.map +1 -1
  206. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js +3 -2
  207. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js.map +1 -1
  208. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js +3 -2
  209. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
  210. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +3 -2
  211. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  212. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +3 -2
  213. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  214. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +4 -3
  215. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
  216. package/dist/admin/admin/src/pages/UseCasePage.js +3 -2
  217. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  218. package/dist/admin/admin/src/utils/getFetchClient.js +7 -2
  219. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  220. package/dist/admin/admin/src/utils/locales.js +3 -2
  221. package/dist/admin/admin/src/utils/locales.js.map +1 -1
  222. package/dist/admin/admin/src/utils/objects.js +9 -4
  223. package/dist/admin/admin/src/utils/objects.js.map +1 -1
  224. package/dist/admin/admin/src/utils/rulesEngine.js +5 -1
  225. package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
  226. package/dist/admin/admin/src/utils/urls.js +5 -1
  227. package/dist/admin/admin/src/utils/urls.js.map +1 -1
  228. package/dist/admin/admin/tests/utils.js +3 -2
  229. package/dist/admin/admin/tests/utils.js.map +1 -1
  230. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js +7 -3
  231. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
  232. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js +3 -2
  233. package/dist/admin/ee/admin/src/hooks/useLicenseLimits.js.map +1 -1
  234. package/dist/admin/ee/admin/src/pages/AuthResponse.js +3 -2
  235. package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
  236. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js +3 -2
  237. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
  238. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js +3 -2
  239. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.js.map +1 -1
  240. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js +5 -1
  241. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
  242. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +3 -2
  243. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  244. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js +7 -3
  245. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js.map +1 -1
  246. package/dist/admin/src/StrapiApp.d.ts +7 -1
  247. package/dist/admin/src/core/apis/router.d.ts +1 -2
  248. package/dist/admin/src/hooks/useIdleSessionLogout.d.ts +66 -12
  249. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +5 -1
  250. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
  251. package/dist/server/ee/server/src/controllers/authentication.js +5 -1
  252. package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
  253. package/dist/server/ee/server/src/controllers/user.js +6 -2
  254. package/dist/server/ee/server/src/controllers/user.js.map +1 -1
  255. package/dist/server/ee/server/src/services/auth.js +5 -1
  256. package/dist/server/ee/server/src/services/auth.js.map +1 -1
  257. package/dist/server/ee/server/src/services/user.js +8 -4
  258. package/dist/server/ee/server/src/services/user.js.map +1 -1
  259. package/dist/server/index.js +6 -2
  260. package/dist/server/index.js.map +1 -1
  261. package/dist/server/server/src/ai/services/ai.js +10 -4
  262. package/dist/server/server/src/ai/services/ai.js.map +1 -1
  263. package/dist/server/server/src/controllers/admin.js +9 -4
  264. package/dist/server/server/src/controllers/admin.js.map +1 -1
  265. package/dist/server/server/src/controllers/authentication.js +7 -2
  266. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  267. package/dist/server/server/src/controllers/user.js +3 -2
  268. package/dist/server/server/src/controllers/user.js.map +1 -1
  269. package/dist/server/server/src/controllers/webhooks.js +7 -2
  270. package/dist/server/server/src/controllers/webhooks.js.map +1 -1
  271. package/dist/server/server/src/middlewares/rateLimit.js +7 -2
  272. package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
  273. package/dist/server/server/src/policies/hasPermissions.js +7 -3
  274. package/dist/server/server/src/policies/hasPermissions.js.map +1 -1
  275. package/dist/server/server/src/routes/serve-admin-panel.js +8 -3
  276. package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
  277. package/dist/server/server/src/services/api-token.js +7 -3
  278. package/dist/server/server/src/services/api-token.js.map +1 -1
  279. package/dist/server/server/src/services/auth.js +8 -3
  280. package/dist/server/server/src/services/auth.js.map +1 -1
  281. package/dist/server/server/src/services/content-type.js +6 -2
  282. package/dist/server/server/src/services/content-type.js.map +1 -1
  283. package/dist/server/server/src/services/encryption.js +8 -4
  284. package/dist/server/server/src/services/encryption.js.map +1 -1
  285. package/dist/server/server/src/services/passport.js +6 -2
  286. package/dist/server/server/src/services/passport.js.map +1 -1
  287. package/dist/server/server/src/services/permission/engine.js +5 -1
  288. package/dist/server/server/src/services/permission/engine.js.map +1 -1
  289. package/dist/server/server/src/services/permission/permissions-manager/index.js +5 -1
  290. package/dist/server/server/src/services/permission/permissions-manager/index.js.map +1 -1
  291. package/dist/server/server/src/services/permission/permissions-manager/query-builders.js +14 -10
  292. package/dist/server/server/src/services/permission/permissions-manager/query-builders.js.map +1 -1
  293. package/dist/server/server/src/services/permission/queries.js +5 -1
  294. package/dist/server/server/src/services/permission/queries.js.map +1 -1
  295. package/dist/server/server/src/services/project-settings.js +6 -2
  296. package/dist/server/server/src/services/project-settings.js.map +1 -1
  297. package/dist/server/server/src/services/role.js +8 -4
  298. package/dist/server/server/src/services/role.js.map +1 -1
  299. package/dist/server/server/src/services/token.js +7 -2
  300. package/dist/server/server/src/services/token.js.map +1 -1
  301. package/dist/server/server/src/services/transfer/permission.js +5 -1
  302. package/dist/server/server/src/services/transfer/permission.js.map +1 -1
  303. package/dist/server/server/src/services/transfer/token.js +10 -5
  304. package/dist/server/server/src/services/transfer/token.js.map +1 -1
  305. package/dist/server/server/src/services/user.js +10 -6
  306. package/dist/server/server/src/services/user.js.map +1 -1
  307. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js +5 -1
  308. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
  309. package/dist/server/server/src/validation/common-functions/check-fields-dont-have-duplicates.js +6 -2
  310. package/dist/server/server/src/validation/common-functions/check-fields-dont-have-duplicates.js.map +1 -1
  311. package/dist/server/server/src/validation/common-validators.js +6 -2
  312. package/dist/server/server/src/validation/common-validators.js.map +1 -1
  313. package/dist/server/server/src/validation/policies/hasPermissions.js +6 -2
  314. package/dist/server/server/src/validation/policies/hasPermissions.js.map +1 -1
  315. package/dist/server/shared/utils/session-auth.js +5 -1
  316. package/dist/server/shared/utils/session-auth.js.map +1 -1
  317. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const deleteWebhook = async (id: string) => {\n try {\n const res = await deleteManyWebhooks({\n ids: [id],\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmBulkDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton\n tag={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n to=\"create\"\n size=\"S\"\n fullWidth\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(selected) => selectOneCheckbox(!!selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n )}\n {canDelete && (\n <DeleteActionButton\n onDelete={() => {\n deleteWebhook(webhook.id);\n }}\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmBulkDelete} />\n </Dialog.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteActionButton\n * -----------------------------------------------------------------------------------------------*/\n\ntype DeleteActionButtonProps = {\n onDelete: () => void;\n};\n\nconst DeleteActionButton = ({ onDelete }: DeleteActionButtonProps) => {\n const [showModal, setShowModal] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog\n onConfirm={(e) => {\n e?.stopPropagation();\n onDelete();\n }}\n />\n </Dialog.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","showModal","setShowModal","React","useState","webhooksToDelete","setWebhooksToDelete","permissions","useTypedSelector","state","admin_app","settings","webhooks","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","navigate","useNavigate","isLoading","isRBACLoading","allowedActions","canCreate","canUpdate","canDelete","useRBAC","notifyStatus","useNotifyAT","isWebhooksLoading","error","webhooksError","updateWebhook","deleteManyWebhooks","useWebhooks","useEffect","type","message","id","defaultMessage","enableWebhook","body","res","deleteWebhook","ids","prev","filter","webhookId","confirmBulkDelete","selectAllCheckbox","selected","map","webhook","selectOneCheckbox","numberOfWebhooks","length","webhooksToDeleteLength","_jsx","Page","Loading","_jsxs","_Fragment","Title","name","Main","aria-busy","Layouts","Header","title","subtitle","primaryAction","LinkButton","tag","NavLink","startIcon","Plus","variant","to","size","fullWidth","Action","startActions","Typography","textColor","Button","onClick","Trash","Content","Table","colCount","rowCount","footer","TFooter","icon","Thead","Tr","Th","Checkbox","aria-label","checked","onCheckedChange","width","VisuallyHidden","Tbody","style","cursor","Td","e","stopPropagation","includes","fontWeight","url","Flex","Switch","onLabel","offLabel","isEnabled","enabled","visibleLabels","gap","IconButton","label","Pencil","DeleteActionButton","onDelete","EmptyStateLayout","EmptyDocuments","content","action","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","ProtectedListPage","main","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const deleteWebhook = async (id: string) => {\n try {\n const res = await deleteManyWebhooks({\n ids: [id],\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmBulkDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton\n tag={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n to=\"create\"\n size=\"S\"\n fullWidth\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(selected) => selectOneCheckbox(!!selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n )}\n {canDelete && (\n <DeleteActionButton\n onDelete={() => {\n deleteWebhook(webhook.id);\n }}\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmBulkDelete} />\n </Dialog.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteActionButton\n * -----------------------------------------------------------------------------------------------*/\n\ntype DeleteActionButtonProps = {\n onDelete: () => void;\n};\n\nconst DeleteActionButton = ({ onDelete }: DeleteActionButtonProps) => {\n const [showModal, setShowModal] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog\n onConfirm={(e) => {\n e?.stopPropagation();\n onDelete();\n }}\n />\n </Dialog.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","showModal","setShowModal","React","useState","webhooksToDelete","setWebhooksToDelete","permissions","useTypedSelector","state","admin_app","settings","webhooks","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","navigate","useNavigate","isLoading","isRBACLoading","allowedActions","canCreate","canUpdate","canDelete","useRBAC","notifyStatus","useNotifyAT","isWebhooksLoading","error","webhooksError","updateWebhook","deleteManyWebhooks","useWebhooks","useEffect","type","message","id","defaultMessage","enableWebhook","body","res","deleteWebhook","ids","prev","filter","webhookId","confirmBulkDelete","selectAllCheckbox","selected","map","webhook","selectOneCheckbox","numberOfWebhooks","length","webhooksToDeleteLength","_jsx","Page","Loading","_jsxs","_Fragment","Title","name","Main","aria-busy","Layouts","Header","title","subtitle","primaryAction","LinkButton","tag","NavLink","startIcon","Plus","variant","to","size","fullWidth","Action","startActions","Typography","textColor","Button","onClick","Trash","Content","Table","colCount","rowCount","footer","TFooter","icon","Thead","Tr","Th","Checkbox","aria-label","checked","onCheckedChange","width","VisuallyHidden","Tbody","style","cursor","Td","e","stopPropagation","includes","fontWeight","url","Flex","Switch","onLabel","offLabel","isEnabled","enabled","visibleLabels","gap","IconButton","label","Pencil","DeleteActionButton","onDelete","EmptyStateLayout","EmptyDocuments","content","action","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","ProtectedListPage","main","Protect"],"mappings":"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"}
@@ -9,7 +9,8 @@ var styled = require('styled-components');
9
9
  var Form = require('../../../../../components/Form.js');
10
10
  var String = require('../../../../../components/FormInputs/String.js');
11
11
 
12
- function _interopNamespaceDefault(e) {
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
13
14
  var n = Object.create(null);
14
15
  if (e) {
15
16
  Object.keys(e).forEach(function (k) {
@@ -26,7 +27,7 @@ function _interopNamespaceDefault(e) {
26
27
  return Object.freeze(n);
27
28
  }
28
29
 
29
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
30
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
31
 
31
32
  const AddHeaderButton = styled.styled(designSystem.TextButton)`
32
33
  cursor: pointer;
@@ -1 +1 @@
1
- {"version":3,"file":"HeadersInput.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
1
+ {"version":3,"file":"HeadersInput.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n TextButton,\n ComboboxOption,\n Combobox,\n ComboboxProps,\n IconButton,\n Field as DSField,\n} from '@strapi/design-system';\nimport { Minus, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useField, useForm } from '../../../../../components/Form';\nimport { StringInput } from '../../../../../components/FormInputs/String';\n\nconst AddHeaderButton = styled(TextButton)`\n cursor: pointer;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * HeadersInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface Header {\n key: HTTPHeaders;\n value: string;\n}\n\nconst HeadersInput = () => {\n const { formatMessage } = useIntl();\n\n const addFieldRow = useForm('HeadersInput', (state) => state.addFieldRow);\n const removeFieldRow = useForm('HeadersInput', (state) => state.removeFieldRow);\n const setFieldValue = useForm('HeadersInput', (state) => state.onChange);\n const { value = [] } = useField<Header[]>('headers');\n\n const removeRow = (index: number) => {\n // if we are removing the last row, simply clear it\n if (value.length === 1) {\n setFieldValue('headers', [{ key: '', value: '' }]);\n } else {\n removeFieldRow('headers', index);\n }\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <DSField.Label>\n {formatMessage({\n id: 'Settings.webhooks.form.headers',\n defaultMessage: 'Headers',\n })}\n </DSField.Label>\n <Box padding={8} background=\"neutral100\" hasRadius>\n {value.map((val, index) => {\n return (\n <Grid.Root key={`${index}-${JSON.stringify(val.key)}`} gap={4} padding={2}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <HeaderCombobox\n name={`headers.${index}.key`}\n aria-label={`row ${index + 1} key`}\n label={formatMessage({\n id: 'Settings.webhooks.key',\n defaultMessage: 'Key',\n })}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Flex alignItems=\"flex-end\" gap={2}>\n <Box style={{ flex: 1 }}>\n <StringInput\n name={`headers.${index}.value`}\n aria-label={`row ${index + 1} value`}\n label={formatMessage({\n id: 'Settings.webhooks.value',\n defaultMessage: 'Value',\n })}\n type=\"text\"\n />\n </Box>\n <IconButton\n width=\"4rem\"\n height=\"4rem\"\n onClick={() => removeRow(index)}\n color=\"primary600\"\n label={formatMessage(\n {\n id: 'Settings.webhooks.headers.remove',\n defaultMessage: 'Remove header row {number}',\n },\n { number: index + 1 }\n )}\n type=\"button\"\n >\n <Minus width=\"0.8rem\" />\n </IconButton>\n </Flex>\n </Grid.Item>\n </Grid.Root>\n );\n })}\n <Box paddingTop={4}>\n <AddHeaderButton\n type=\"button\"\n onClick={() => {\n addFieldRow('headers', { key: '', value: '' });\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.create.header',\n defaultMessage: 'Create new header',\n })}\n </AddHeaderButton>\n </Box>\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * HeaderCombobox\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderComboboxProps extends Omit<ComboboxProps, 'children' | 'name'> {\n name: string;\n label: string;\n}\n\nconst HeaderCombobox = ({ name, label, ...restProps }: HeaderComboboxProps) => {\n const [options, setOptions] = React.useState<HTTPHeaders[]>([...HTTP_HEADERS]);\n const { value: headers } = useField<Header[]>('headers');\n const field = useField(name);\n\n React.useEffect(() => {\n const headerOptions = HTTP_HEADERS.filter(\n (key) => !headers?.some((header) => header.key !== field.value && header.key === key)\n );\n\n setOptions(headerOptions);\n }, [headers, field.value]);\n\n const handleChange: ComboboxProps['onChange'] = (value) => {\n field.onChange(name, value);\n };\n\n const handleCreateOption = (value?: string) => {\n setOptions((prev) => [...prev, value as HTTPHeaders]);\n\n if (value) {\n handleChange(value);\n }\n };\n\n return (\n <DSField.Root name={name} error={field.error}>\n <DSField.Label>{label}</DSField.Label>\n <Combobox\n {...restProps}\n onClear={() => handleChange('')}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n placeholder=\"\"\n creatable\n value={field.value}\n >\n {options.map((key) => (\n <ComboboxOption value={key} key={key}>\n {key}\n </ComboboxOption>\n ))}\n </Combobox>\n <DSField.Error />\n </DSField.Root>\n );\n};\n\nconst HTTP_HEADERS = [\n 'A-IM',\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Datetime',\n 'Access-Control-Request-Method',\n 'Access-Control-Request-Headers',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Length',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Max-Forwards',\n 'Origin',\n 'Pragma',\n 'Proxy-Authorization',\n 'Range',\n 'Referer',\n 'TE',\n 'User-Agent',\n 'Upgrade',\n 'Via',\n 'Warning',\n] as const;\n\ntype HTTPHeaders = (typeof HTTP_HEADERS)[number];\n\nexport { HeadersInput };\n"],"names":["AddHeaderButton","styled","TextButton","HeadersInput","formatMessage","useIntl","addFieldRow","useForm","state","removeFieldRow","setFieldValue","onChange","value","useField","removeRow","index","length","key","_jsxs","Flex","direction","alignItems","gap","_jsx","DSField","Label","id","defaultMessage","Box","padding","background","hasRadius","map","val","Grid","Root","Item","xs","col","HeaderCombobox","name","aria-label","label","style","flex","StringInput","type","IconButton","width","height","onClick","color","number","Minus","JSON","stringify","paddingTop","startIcon","Plus","restProps","options","setOptions","React","useState","HTTP_HEADERS","headers","field","useEffect","headerOptions","filter","some","header","handleChange","handleCreateOption","prev","error","Combobox","onClear","onCreateOption","placeholder","creatable","ComboboxOption","Error"],"mappings":"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"}
@@ -15,7 +15,8 @@ var EventsTable = require('./EventsTable.js');
15
15
  var HeadersInput = require('./HeadersInput.js');
16
16
  var TriggerContainer = require('./TriggerContainer.js');
17
17
 
18
- function _interopNamespaceDefault(e) {
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule) return e;
19
20
  var n = Object.create(null);
20
21
  if (e) {
21
22
  Object.keys(e).forEach(function (k) {
@@ -32,8 +33,8 @@ function _interopNamespaceDefault(e) {
32
33
  return Object.freeze(n);
33
34
  }
34
35
 
35
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
36
- var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
36
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
37
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
37
38
 
38
39
  const WebhookForm = ({ handleSubmit, triggerWebhook, isCreating, isTriggering, triggerResponse, data })=>{
39
40
  const { formatMessage } = reactIntl.useIntl();
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookForm.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid } from '@strapi/design-system';\nimport { Check, Play as Publish } from '@strapi/icons';\nimport { IntlShape, useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { TriggerWebhook } from '../../../../../../../shared/contracts/webhooks';\nimport { Form, FormHelpers } from '../../../../../components/Form';\nimport { InputRenderer } from '../../../../../components/FormInputs/Renderer';\nimport { Layouts } from '../../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../../features/BackButton';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\n\nimport { EventTableCE } from './EventsTable';\nimport { HeadersInput } from './HeadersInput';\nimport { TriggerContainer } from './TriggerContainer';\n\nimport type { Modules } from '@strapi/types';\n\ninterface WebhookFormValues {\n name: Modules.WebhookStore.Webhook['name'];\n url: Modules.WebhookStore.Webhook['url'];\n headers: Array<{ key: string; value: string }>;\n events: Modules.WebhookStore.Webhook['events'];\n}\n\ninterface WebhookFormProps {\n data?: Modules.WebhookStore.Webhook;\n handleSubmit: (\n values: WebhookFormValues,\n helpers: FormHelpers<WebhookFormValues>\n ) => Promise<void>;\n isCreating: boolean;\n isTriggering: boolean;\n triggerWebhook: () => void;\n triggerResponse?: TriggerWebhook.Response['data'];\n}\n\nconst WebhookForm = ({\n handleSubmit,\n triggerWebhook,\n isCreating,\n isTriggering,\n triggerResponse,\n data,\n}: WebhookFormProps) => {\n const { formatMessage } = useIntl();\n const [showTriggerResponse, setShowTriggerResponse] = React.useState(false);\n const EventTable = useEnterprise(\n EventTableCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable'\n )\n ).EventsTableEE\n );\n\n /**\n * Map the headers into a form that can be used within the formik form\n */\n const mapHeaders = (headers: Modules.WebhookStore.Webhook['headers']) => {\n if (!Object.keys(headers).length) {\n return [{ key: '', value: '' }];\n }\n\n return Object.entries(headers).map(([key, value]) => ({ key, value }));\n };\n\n // block rendering until the EE component is fully loaded\n if (!EventTable) {\n return null;\n }\n\n return (\n <Form\n initialValues={{\n name: data?.name || '',\n url: data?.url || '',\n headers: mapHeaders(data?.headers || {}),\n events: data?.events || [],\n }}\n method={isCreating ? 'POST' : 'PUT'}\n onSubmit={handleSubmit}\n validationSchema={makeWebhookValidationSchema({ formatMessage })}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n primaryAction={\n <Flex width=\"100%\" gap={2}>\n <Button\n onClick={() => {\n triggerWebhook();\n setShowTriggerResponse(true);\n }}\n variant=\"tertiary\"\n startIcon={<Publish />}\n disabled={isCreating || isTriggering}\n fullWidth\n >\n {formatMessage({\n id: 'Settings.webhooks.trigger',\n defaultMessage: 'Trigger',\n })}\n </Button>\n <Button\n startIcon={<Check />}\n type=\"submit\"\n disabled={!modified}\n loading={isSubmitting}\n fullWidth\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={\n isCreating\n ? formatMessage({\n id: 'Settings.webhooks.create',\n defaultMessage: 'Create a webhook',\n })\n : data?.name\n }\n navigationAction={\n // The back link for mobile works differently; it is placed higher up in the DOM.\n <Box display={{ initial: 'none', medium: 'block' }}>\n <BackButton fallback=\"../webhooks\" />\n </Box>\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n {showTriggerResponse && (\n <TriggerContainer\n isPending={isTriggering}\n response={triggerResponse}\n onCancel={() => setShowTriggerResponse(false)}\n />\n )}\n <Box background=\"neutral0\" padding={8} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Grid.Root gap={6}>\n {[\n {\n label: formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n }),\n name: 'name',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Settings.roles.form.input.url',\n defaultMessage: 'Url',\n }),\n name: 'url',\n required: true,\n size: 12,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <HeadersInput />\n <EventTable />\n </Flex>\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n )}\n </Form>\n );\n};\n\nconst NAME_REGEX = /(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/;\nconst URL_REGEX = /(^$)|((https?:\\/\\/.*)(d*)\\/?(.*))/;\n\nconst makeWebhookValidationSchema = ({ formatMessage }: Pick<IntlShape, 'formatMessage'>) =>\n yup.object().shape({\n name: yup\n .string()\n .nullable()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.name.required',\n defaultMessage: 'Name is required',\n })\n )\n .matches(\n NAME_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.name.regex',\n defaultMessage:\n 'The name must start with a letter and only contain letters, numbers, spaces and underscores',\n })\n ),\n url: yup\n .string()\n .nullable()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.url.required',\n defaultMessage: 'Url is required',\n })\n )\n .matches(\n URL_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.url.regex',\n defaultMessage: 'The value must be a valid Url',\n })\n ),\n headers: yup.lazy((array) => {\n const baseSchema = yup.array();\n\n if (array.length === 1) {\n const { key, value } = array[0];\n\n if (!key && !value) {\n return baseSchema;\n }\n }\n\n return baseSchema.of(\n yup.object().shape({\n key: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.key',\n defaultMessage: 'Key is required',\n })\n )\n .nullable(),\n value: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.value',\n defaultMessage: 'Value is required',\n })\n )\n .nullable(),\n })\n );\n }),\n events: yup.array(),\n });\n\nexport { WebhookForm };\nexport type { WebhookFormValues, WebhookFormProps };\n"],"names":["WebhookForm","handleSubmit","triggerWebhook","isCreating","isTriggering","triggerResponse","data","formatMessage","useIntl","showTriggerResponse","setShowTriggerResponse","React","useState","EventTable","useEnterprise","EventTableCE","EventsTableEE","mapHeaders","headers","Object","keys","length","key","value","entries","map","_jsx","Form","initialValues","name","url","events","method","onSubmit","validationSchema","makeWebhookValidationSchema","isSubmitting","modified","_jsxs","_Fragment","Layouts","Header","primaryAction","Flex","width","gap","Button","onClick","variant","startIcon","Publish","disabled","fullWidth","id","defaultMessage","Check","type","loading","title","navigationAction","Box","display","initial","medium","BackButton","fallback","Content","direction","alignItems","TriggerContainer","isPending","response","onCancel","background","padding","shadow","hasRadius","Grid","Root","label","required","size","field","Item","col","xs","InputRenderer","HeadersInput","NAME_REGEX","URL_REGEX","yup","object","shape","string","nullable","matches","lazy","array","baseSchema","of"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMA,WAAAA,GAAc,CAAC,EACnBC,YAAY,EACZC,cAAc,EACdC,UAAU,EACVC,YAAY,EACZC,eAAe,EACfC,IAAI,EACa,GAAA;IACjB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,mBAAAA,EAAqBC,sBAAAA,CAAuB,GAAGC,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACrE,MAAMC,UAAAA,GAAaC,2BAAAA,CACjBC,wBAAAA,EACA,UAEI,CAAA,MAAM,oDACJ,+FAAA,KACF,EACAC,aAAa,CAAA;AAGnB;;MAGA,MAAMC,aAAa,CAACC,OAAAA,GAAAA;AAClB,QAAA,IAAI,CAACC,MAAAA,CAAOC,IAAI,CAACF,OAAAA,CAAAA,CAASG,MAAM,EAAE;YAChC,OAAO;AAAC,gBAAA;oBAAEC,GAAAA,EAAK,EAAA;oBAAIC,KAAAA,EAAO;AAAG;AAAE,aAAA;AACjC,QAAA;QAEA,OAAOJ,MAAAA,CAAOK,OAAO,CAACN,OAAAA,CAAAA,CAASO,GAAG,CAAC,CAAC,CAACH,GAAAA,EAAKC,KAAAA,CAAM,IAAM;AAAED,gBAAAA,GAAAA;AAAKC,gBAAAA;aAAM,CAAA,CAAA;AACrE,IAAA,CAAA;;AAGA,IAAA,IAAI,CAACV,UAAAA,EAAY;QACf,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEa,cAAA,CAACC,SAAAA,EAAAA;QACCC,aAAAA,EAAe;AACbC,YAAAA,IAAAA,EAAMvB,MAAMuB,IAAAA,IAAQ,EAAA;AACpBC,YAAAA,GAAAA,EAAKxB,MAAMwB,GAAAA,IAAO,EAAA;YAClBZ,OAAAA,EAASD,UAAAA,CAAWX,IAAAA,EAAMY,OAAAA,IAAW,EAAC,CAAA;YACtCa,MAAAA,EAAQzB,IAAAA,EAAMyB,UAAU;AAC1B,SAAA;AACAC,QAAAA,MAAAA,EAAQ7B,aAAa,MAAA,GAAS,KAAA;QAC9B8B,QAAAA,EAAUhC,YAAAA;AACViC,QAAAA,gBAAAA,EAAkBC,2BAAAA,CAA4B;AAAE5B,YAAAA;AAAc,SAAA,CAAA;AAE7D,QAAA,QAAA,EAAA,CAAC,EAAE6B,YAAY,EAAEC,QAAQ,EAAE,iBAC1BC,eAAA,CAAAC,mBAAA,EAAA;;AACE,kCAAAb,cAAA,CAACc,eAAQC,MAAM,EAAA;AACbC,wBAAAA,aAAAA,gBACEJ,eAAA,CAACK,iBAAAA,EAAAA;4BAAKC,KAAAA,EAAM,MAAA;4BAAOC,GAAAA,EAAK,CAAA;;8CACtBnB,cAAA,CAACoB,mBAAAA,EAAAA;oCACCC,OAAAA,EAAS,IAAA;AACP7C,wCAAAA,cAAAA,EAAAA;wCACAQ,sBAAAA,CAAuB,IAAA,CAAA;AACzB,oCAAA,CAAA;oCACAsC,OAAAA,EAAQ,UAAA;AACRC,oCAAAA,SAAAA,gBAAWvB,cAAA,CAACwB,UAAAA,EAAAA,EAAAA,CAAAA;AACZC,oCAAAA,QAAAA,EAAUhD,UAAAA,IAAcC,YAAAA;oCACxBgD,SAAS,EAAA,IAAA;8CAER7C,aAAAA,CAAc;wCACb8C,EAAAA,EAAI,2BAAA;wCACJC,cAAAA,EAAgB;AAClB,qCAAA;;8CAEF5B,cAAA,CAACoB,mBAAAA,EAAAA;AACCG,oCAAAA,SAAAA,gBAAWvB,cAAA,CAAC6B,WAAAA,EAAAA,EAAAA,CAAAA;oCACZC,IAAAA,EAAK,QAAA;AACLL,oCAAAA,QAAAA,EAAU,CAACd,QAAAA;oCACXoB,OAAAA,EAASrB,YAAAA;oCACTgB,SAAS,EAAA,IAAA;8CAER7C,aAAAA,CAAc;wCACb8C,EAAAA,EAAI,aAAA;wCACJC,cAAAA,EAAgB;AAClB,qCAAA;;;;AAINI,wBAAAA,KAAAA,EACEvD,aACII,aAAAA,CAAc;4BACZ8C,EAAAA,EAAI,0BAAA;4BACJC,cAAAA,EAAgB;AAClB,yBAAA,CAAA,GACAhD,IAAAA,EAAMuB,IAAAA;AAEZ8B,wBAAAA,gBAAAA;sCAEEjC,cAAA,CAACkC,gBAAAA,EAAAA;4BAAIC,OAAAA,EAAS;gCAAEC,OAAAA,EAAS,MAAA;gCAAQC,MAAAA,EAAQ;AAAQ,6BAAA;AAC/C,4BAAA,QAAA,gBAAArC,cAAA,CAACsC,qBAAAA,EAAAA;gCAAWC,QAAAA,EAAS;;;;AAI3B,kCAAAvC,cAAA,CAACc,eAAQ0B,OAAO,EAAA;AACd,wBAAA,QAAA,gBAAA5B,eAAA,CAACK,iBAAAA,EAAAA;4BAAKwB,SAAAA,EAAU,QAAA;4BAASC,UAAAA,EAAW,SAAA;4BAAUvB,GAAAA,EAAK,CAAA;;AAChDpC,gCAAAA,mBAAAA,kBACCiB,cAAA,CAAC2C,iCAAAA,EAAAA;oCACCC,SAAAA,EAAWlE,YAAAA;oCACXmE,QAAAA,EAAUlE,eAAAA;AACVmE,oCAAAA,QAAAA,EAAU,IAAM9D,sBAAAA,CAAuB,KAAA;;8CAG3CgB,cAAA,CAACkC,gBAAAA,EAAAA;oCAAIa,UAAAA,EAAW,UAAA;oCAAWC,OAAAA,EAAS,CAAA;oCAAGC,MAAAA,EAAO,cAAA;oCAAeC,SAAS,EAAA,IAAA;AACpE,oCAAA,QAAA,gBAAAtC,eAAA,CAACK,iBAAAA,EAAAA;wCAAKwB,SAAAA,EAAU,QAAA;wCAASC,UAAAA,EAAW,SAAA;wCAAUvB,GAAAA,EAAK,CAAA;;AACjD,0DAAAnB,cAAA,CAACmD,kBAAKC,IAAI,EAAA;gDAACjC,GAAAA,EAAK,CAAA;AACb,gDAAA,QAAA,EAAA;AACC,oDAAA;AACEkC,wDAAAA,KAAAA,EAAOxE,aAAAA,CAAc;4DACnB8C,EAAAA,EAAI,aAAA;4DACJC,cAAAA,EAAgB;AAClB,yDAAA,CAAA;wDACAzB,IAAAA,EAAM,MAAA;wDACNmD,QAAAA,EAAU,IAAA;wDACVC,IAAAA,EAAM,CAAA;wDACNzB,IAAAA,EAAM;AACR,qDAAA;AACA,oDAAA;AACEuB,wDAAAA,KAAAA,EAAOxE,aAAAA,CAAc;4DACnB8C,EAAAA,EAAI,+BAAA;4DACJC,cAAAA,EAAgB;AAClB,yDAAA,CAAA;wDACAzB,IAAAA,EAAM,KAAA;wDACNmD,QAAAA,EAAU,IAAA;wDACVC,IAAAA,EAAM,EAAA;wDACNzB,IAAAA,EAAM;AACR;iDACD,CAAC/B,GAAG,CAAC,CAAC,EAAEwD,IAAI,EAAE,GAAGC,KAAAA,EAAO,iBACvBxD,cAAA,CAACmD,iBAAAA,CAAKM,IAAI,EAAA;wDAERC,GAAAA,EAAKH,IAAAA;wDACLI,EAAAA,EAAI,EAAA;wDACJlB,SAAAA,EAAU,QAAA;wDACVC,UAAAA,EAAW,SAAA;AAEX,wDAAA,QAAA,gBAAA1C,cAAA,CAAC4D,sBAAAA,EAAAA;AAAe,4DAAA,GAAGJ;;AANdA,qDAAAA,EAAAA,KAAAA,CAAMrD,IAAI,CAAA;;0DAUrBH,cAAA,CAAC6D,yBAAAA,EAAAA,EAAAA,CAAAA;0DACD7D,cAAA,CAACb,UAAAA,EAAAA,EAAAA;;;;;;;;;;AASnB;AAEA,MAAM2E,UAAAA,GAAa,iCAAA;AACnB,MAAMC,SAAAA,GAAY,mCAAA;AAElB,MAAMtD,2BAAAA,GAA8B,CAAC,EAAE5B,aAAa,EAAoC,GACtFmF,cAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AACjB/D,QAAAA,IAAAA,EAAM6D,eACHG,MAAM,EAAA,CACNC,QAAQ,EAAA,CACRd,QAAQ,CACPzE,aAAAA,CAAc;YACZ8C,EAAAA,EAAI,4CAAA;YACJC,cAAAA,EAAgB;SAClB,CAAA,CAAA,CAEDyC,OAAO,CACNP,UAAAA,EACAjF,aAAAA,CAAc;YACZ8C,EAAAA,EAAI,yCAAA;YACJC,cAAAA,EACE;AACJ,SAAA,CAAA,CAAA;AAEJxB,QAAAA,GAAAA,EAAK4D,eACFG,MAAM,EAAA,CACNC,QAAQ,EAAA,CACRd,QAAQ,CACPzE,aAAAA,CAAc;YACZ8C,EAAAA,EAAI,2CAAA;YACJC,cAAAA,EAAgB;SAClB,CAAA,CAAA,CAEDyC,OAAO,CACNN,SAAAA,EACAlF,aAAAA,CAAc;YACZ8C,EAAAA,EAAI,wCAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA,CAAA;QAEJpC,OAAAA,EAASwE,cAAAA,CAAIM,IAAI,CAAC,CAACC,KAAAA,GAAAA;YACjB,MAAMC,UAAAA,GAAaR,eAAIO,KAAK,EAAA;YAE5B,IAAIA,KAAAA,CAAM5E,MAAM,KAAK,CAAA,EAAG;gBACtB,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAG0E,KAAK,CAAC,CAAA,CAAE;gBAE/B,IAAI,CAAC3E,GAAAA,IAAO,CAACC,KAAAA,EAAO;oBAClB,OAAO2E,UAAAA;AACT,gBAAA;AACF,YAAA;AAEA,YAAA,OAAOA,WAAWC,EAAE,CAClBT,eAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AACjBtE,gBAAAA,GAAAA,EAAKoE,cAAAA,CACFG,MAAM,EAAA,CACNb,QAAQ,CACPzE,aAAAA,CAAc;oBACZ8C,EAAAA,EAAI,kCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA,CAAA,CAEDwC,QAAQ,EAAA;AACXvE,gBAAAA,KAAAA,EAAOmE,cAAAA,CACJG,MAAM,EAAA,CACNb,QAAQ,CACPzE,aAAAA,CAAc;oBACZ8C,EAAAA,EAAI,oCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA,CAAA,CAEDwC,QAAQ;AACb,aAAA,CAAA,CAAA;AAEJ,QAAA,CAAA,CAAA;AACA/D,QAAAA,MAAAA,EAAQ2D,eAAIO,KAAK;AACnB,KAAA,CAAA;;;;"}
1
+ {"version":3,"file":"WebhookForm.js","sources":["../../../../../../../../../admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid } from '@strapi/design-system';\nimport { Check, Play as Publish } from '@strapi/icons';\nimport { IntlShape, useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { TriggerWebhook } from '../../../../../../../shared/contracts/webhooks';\nimport { Form, FormHelpers } from '../../../../../components/Form';\nimport { InputRenderer } from '../../../../../components/FormInputs/Renderer';\nimport { Layouts } from '../../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../../features/BackButton';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\n\nimport { EventTableCE } from './EventsTable';\nimport { HeadersInput } from './HeadersInput';\nimport { TriggerContainer } from './TriggerContainer';\n\nimport type { Modules } from '@strapi/types';\n\ninterface WebhookFormValues {\n name: Modules.WebhookStore.Webhook['name'];\n url: Modules.WebhookStore.Webhook['url'];\n headers: Array<{ key: string; value: string }>;\n events: Modules.WebhookStore.Webhook['events'];\n}\n\ninterface WebhookFormProps {\n data?: Modules.WebhookStore.Webhook;\n handleSubmit: (\n values: WebhookFormValues,\n helpers: FormHelpers<WebhookFormValues>\n ) => Promise<void>;\n isCreating: boolean;\n isTriggering: boolean;\n triggerWebhook: () => void;\n triggerResponse?: TriggerWebhook.Response['data'];\n}\n\nconst WebhookForm = ({\n handleSubmit,\n triggerWebhook,\n isCreating,\n isTriggering,\n triggerResponse,\n data,\n}: WebhookFormProps) => {\n const { formatMessage } = useIntl();\n const [showTriggerResponse, setShowTriggerResponse] = React.useState(false);\n const EventTable = useEnterprise(\n EventTableCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable'\n )\n ).EventsTableEE\n );\n\n /**\n * Map the headers into a form that can be used within the formik form\n */\n const mapHeaders = (headers: Modules.WebhookStore.Webhook['headers']) => {\n if (!Object.keys(headers).length) {\n return [{ key: '', value: '' }];\n }\n\n return Object.entries(headers).map(([key, value]) => ({ key, value }));\n };\n\n // block rendering until the EE component is fully loaded\n if (!EventTable) {\n return null;\n }\n\n return (\n <Form\n initialValues={{\n name: data?.name || '',\n url: data?.url || '',\n headers: mapHeaders(data?.headers || {}),\n events: data?.events || [],\n }}\n method={isCreating ? 'POST' : 'PUT'}\n onSubmit={handleSubmit}\n validationSchema={makeWebhookValidationSchema({ formatMessage })}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n primaryAction={\n <Flex width=\"100%\" gap={2}>\n <Button\n onClick={() => {\n triggerWebhook();\n setShowTriggerResponse(true);\n }}\n variant=\"tertiary\"\n startIcon={<Publish />}\n disabled={isCreating || isTriggering}\n fullWidth\n >\n {formatMessage({\n id: 'Settings.webhooks.trigger',\n defaultMessage: 'Trigger',\n })}\n </Button>\n <Button\n startIcon={<Check />}\n type=\"submit\"\n disabled={!modified}\n loading={isSubmitting}\n fullWidth\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={\n isCreating\n ? formatMessage({\n id: 'Settings.webhooks.create',\n defaultMessage: 'Create a webhook',\n })\n : data?.name\n }\n navigationAction={\n // The back link for mobile works differently; it is placed higher up in the DOM.\n <Box display={{ initial: 'none', medium: 'block' }}>\n <BackButton fallback=\"../webhooks\" />\n </Box>\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n {showTriggerResponse && (\n <TriggerContainer\n isPending={isTriggering}\n response={triggerResponse}\n onCancel={() => setShowTriggerResponse(false)}\n />\n )}\n <Box background=\"neutral0\" padding={8} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Grid.Root gap={6}>\n {[\n {\n label: formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n }),\n name: 'name',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Settings.roles.form.input.url',\n defaultMessage: 'Url',\n }),\n name: 'url',\n required: true,\n size: 12,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n <HeadersInput />\n <EventTable />\n </Flex>\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n )}\n </Form>\n );\n};\n\nconst NAME_REGEX = /(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/;\nconst URL_REGEX = /(^$)|((https?:\\/\\/.*)(d*)\\/?(.*))/;\n\nconst makeWebhookValidationSchema = ({ formatMessage }: Pick<IntlShape, 'formatMessage'>) =>\n yup.object().shape({\n name: yup\n .string()\n .nullable()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.name.required',\n defaultMessage: 'Name is required',\n })\n )\n .matches(\n NAME_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.name.regex',\n defaultMessage:\n 'The name must start with a letter and only contain letters, numbers, spaces and underscores',\n })\n ),\n url: yup\n .string()\n .nullable()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.url.required',\n defaultMessage: 'Url is required',\n })\n )\n .matches(\n URL_REGEX,\n formatMessage({\n id: 'Settings.webhooks.validation.url.regex',\n defaultMessage: 'The value must be a valid Url',\n })\n ),\n headers: yup.lazy((array) => {\n const baseSchema = yup.array();\n\n if (array.length === 1) {\n const { key, value } = array[0];\n\n if (!key && !value) {\n return baseSchema;\n }\n }\n\n return baseSchema.of(\n yup.object().shape({\n key: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.key',\n defaultMessage: 'Key is required',\n })\n )\n .nullable(),\n value: yup\n .string()\n .required(\n formatMessage({\n id: 'Settings.webhooks.validation.value',\n defaultMessage: 'Value is required',\n })\n )\n .nullable(),\n })\n );\n }),\n events: yup.array(),\n });\n\nexport { WebhookForm };\nexport type { WebhookFormValues, WebhookFormProps };\n"],"names":["WebhookForm","handleSubmit","triggerWebhook","isCreating","isTriggering","triggerResponse","data","formatMessage","useIntl","showTriggerResponse","setShowTriggerResponse","React","useState","EventTable","useEnterprise","EventTableCE","EventsTableEE","mapHeaders","headers","Object","keys","length","key","value","entries","map","_jsx","Form","initialValues","name","url","events","method","onSubmit","validationSchema","makeWebhookValidationSchema","isSubmitting","modified","_jsxs","_Fragment","Layouts","Header","primaryAction","Flex","width","gap","Button","onClick","variant","startIcon","Publish","disabled","fullWidth","id","defaultMessage","Check","type","loading","title","navigationAction","Box","display","initial","medium","BackButton","fallback","Content","direction","alignItems","TriggerContainer","isPending","response","onCancel","background","padding","shadow","hasRadius","Grid","Root","label","required","size","field","Item","col","xs","InputRenderer","HeadersInput","NAME_REGEX","URL_REGEX","yup","object","shape","string","nullable","matches","lazy","array","baseSchema","of"],"mappings":"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"}
@@ -12,7 +12,8 @@ var Auth = require('../features/Auth.js');
12
12
  var Notifications = require('../features/Notifications.js');
13
13
  var UnauthenticatedLayout = require('../layouts/UnauthenticatedLayout.js');
14
14
 
15
- function _interopNamespaceDefault(e) {
15
+ function _interopNamespace(e) {
16
+ if (e && e.__esModule) return e;
16
17
  var n = Object.create(null);
17
18
  if (e) {
18
19
  Object.keys(e).forEach(function (k) {
@@ -29,7 +30,7 @@ function _interopNamespaceDefault(e) {
29
30
  return Object.freeze(n);
30
31
  }
31
32
 
32
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
33
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
34
 
34
35
  const options = [
35
36
  {
@@ -1 +1 @@
1
- {"version":3,"file":"UseCasePage.js","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch(`${process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'}/register`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput\n type=\"text\"\n value={otherRole}\n onChange={(e) => setOtherRole(e.target.value)}\n />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","process","env","STRAPI_ANALYTICS_URL","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
1
+ {"version":3,"file":"UseCasePage.js","sources":["../../../../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch(`${process.env.STRAPI_ANALYTICS_URL || 'https://analytics.strapi.io'}/register`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput\n type=\"text\"\n value={otherRole}\n onChange={(e) => setOtherRole(e.target.value)}\n />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["options","intlLabel","id","defaultMessage","value","UseCasePage","toggleNotification","useNotification","location","useLocation","navigate","useNavigate","formatMessage","useIntl","role","setRole","React","useState","otherRole","setOtherRole","firstname","email","useAuth","state","user","hasAdmin","parse","search","ignoreQueryPrefix","isOther","handleSubmit","event","skipPersona","preventDefault","fetch","process","env","STRAPI_ANALYTICS_URL","method","headers","body","JSON","stringify","username","firstAdmin","Boolean","persona","undefined","type","message","err","_jsx","UnauthenticatedLayout","_jsxs","Main","labelledBy","LayoutContent","form","onSubmit","e","Flex","direction","paddingBottom","Logo","Box","paddingTop","width","Typography","textAlign","variant","tag","alignItems","gap","Field","Root","name","Label","SingleSelect","onChange","map","SingleSelectOption","TextInput","target","Button","size","fullWidth","disabled","justifyContent","TextButton","onClick","PrivateUseCasePage","PrivateRoute"],"mappings":"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"}
@@ -4,6 +4,11 @@ var pipe = require('lodash/fp/pipe');
4
4
  var qs = require('qs');
5
5
  var cookies = require('./cookies.js');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var pipe__default = /*#__PURE__*/_interopDefault(pipe);
10
+ var qs__default = /*#__PURE__*/_interopDefault(qs);
11
+
7
12
  const STORAGE_KEYS = {
8
13
  TOKEN: 'jwtToken'};
9
14
  /**
@@ -282,7 +287,7 @@ const getToken = ()=>{
282
287
  * TODO V6: Encoding should be enabled in this step
283
288
  * So the rest of the app doesn't have to worry about it,
284
289
  * It's considered a breaking change because it impacts any API request, including the user's custom code
285
- */ const serializedParams = qs.stringify(params, {
290
+ */ const serializedParams = qs__default.default.stringify(params, {
286
291
  encode: false
287
292
  });
288
293
  if (serializedParams) {
@@ -298,7 +303,7 @@ const getToken = ()=>{
298
303
  /**
299
304
  * We use the factory method because the options
300
305
  * are unique to the individual request
301
- */ const makeCreateRequestUrl = (options)=>pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));
306
+ */ const makeCreateRequestUrl = (options)=>pipe__default.default(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));
302
307
  const fetchClient = {
303
308
  get: async (url, options)=>{
304
309
  const createRequestUrl = makeCreateRequestUrl(options);