@plumile/backoffice-react 0.1.59

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 (639) hide show
  1. package/LICENSE +21 -0
  2. package/lib/esm/auth/login/AuthPanel.js +28 -0
  3. package/lib/esm/auth/login/AuthPanel.js.map +1 -0
  4. package/lib/esm/auth/login/EmailCapturePanel.js +52 -0
  5. package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -0
  6. package/lib/esm/auth/login/LoginFlow.js +130 -0
  7. package/lib/esm/auth/login/LoginFlow.js.map +1 -0
  8. package/lib/esm/auth/login/MethodChooser.js +51 -0
  9. package/lib/esm/auth/login/MethodChooser.js.map +1 -0
  10. package/lib/esm/auth/login/MfaChallengeForm.js +83 -0
  11. package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -0
  12. package/lib/esm/auth/login/OidcButtons.js +29 -0
  13. package/lib/esm/auth/login/OidcButtons.js.map +1 -0
  14. package/lib/esm/auth/login/PasskeyLoginForm.js +84 -0
  15. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -0
  16. package/lib/esm/auth/login/PasswordLoginPanel.js +37 -0
  17. package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -0
  18. package/lib/esm/auth/login/loginPage.css.js +8 -0
  19. package/lib/esm/auth/login/loginPage.css.js.map +1 -0
  20. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js +9 -0
  21. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js.map +1 -0
  22. package/lib/esm/auth/pages/AcceptInvitationScreen.js +120 -0
  23. package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -0
  24. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js +105 -0
  25. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -0
  26. package/lib/esm/auth/pages/PasswordResetRequestScreen.js +88 -0
  27. package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -0
  28. package/lib/esm/auth/pages/VerifyEmailScreen.js +65 -0
  29. package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -0
  30. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +525 -0
  31. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -0
  32. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js +11 -0
  33. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js.map +1 -0
  34. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +8 -0
  35. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -0
  36. package/lib/esm/components/backoffice/actions/toastViewAction.js +27 -0
  37. package/lib/esm/components/backoffice/actions/toastViewAction.js.map +1 -0
  38. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +60 -0
  39. package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +1 -0
  40. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js +22 -0
  41. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -0
  42. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +41 -0
  43. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -0
  44. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js +31 -0
  45. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js.map +1 -0
  46. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js +8 -0
  47. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js.map +1 -0
  48. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js +24 -0
  49. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js.map +1 -0
  50. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js +20 -0
  51. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js.map +1 -0
  52. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js +18 -0
  53. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js.map +1 -0
  54. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js +49 -0
  55. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js.map +1 -0
  56. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js +11 -0
  57. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js.map +1 -0
  58. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js +115 -0
  59. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js.map +1 -0
  60. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js +33 -0
  61. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js.map +1 -0
  62. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js +18 -0
  63. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js.map +1 -0
  64. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +8 -0
  65. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -0
  66. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +8 -0
  67. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -0
  68. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js +15 -0
  69. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js.map +1 -0
  70. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +8 -0
  71. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -0
  72. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +8 -0
  73. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js.map +1 -0
  74. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +8 -0
  75. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -0
  76. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js +8 -0
  77. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js.map +1 -0
  78. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js +8 -0
  79. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js.map +1 -0
  80. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js +17 -0
  81. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js.map +1 -0
  82. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +21 -0
  83. package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -0
  84. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +43 -0
  85. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -0
  86. package/lib/esm/components/backoffice/filters/EntityFilterValue.js +46 -0
  87. package/lib/esm/components/backoffice/filters/EntityFilterValue.js.map +1 -0
  88. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +51 -0
  89. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -0
  90. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +8 -0
  91. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -0
  92. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +8 -0
  93. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -0
  94. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +8 -0
  95. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -0
  96. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js +10 -0
  97. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js.map +1 -0
  98. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +38 -0
  99. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -0
  100. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js +12 -0
  101. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js.map +1 -0
  102. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js +11 -0
  103. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js.map +1 -0
  104. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js +16 -0
  105. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js.map +1 -0
  106. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +8 -0
  107. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -0
  108. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js +48 -0
  109. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js.map +1 -0
  110. package/lib/esm/components/backoffice/layout/breadcrumb/types.js +0 -0
  111. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +183 -0
  112. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -0
  113. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +18 -0
  114. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -0
  115. package/lib/esm/components/backoffice/layout/sidebarUtils.js +44 -0
  116. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -0
  117. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +7 -0
  118. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -0
  119. package/lib/esm/components/backoffice/list/RowFlagsCell.js +37 -0
  120. package/lib/esm/components/backoffice/list/RowFlagsCell.js.map +1 -0
  121. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +31 -0
  122. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -0
  123. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +8 -0
  124. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -0
  125. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +107 -0
  126. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -0
  127. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +8 -0
  128. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -0
  129. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js +24 -0
  130. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js.map +1 -0
  131. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js +23 -0
  132. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js.map +1 -0
  133. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js +24 -0
  134. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js.map +1 -0
  135. package/lib/esm/components/backoffice/pickers/types.js +0 -0
  136. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js +35 -0
  137. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js.map +1 -0
  138. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js +54 -0
  139. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js.map +1 -0
  140. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +8 -0
  141. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js.map +1 -0
  142. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +8 -0
  143. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -0
  144. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js +24 -0
  145. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js.map +1 -0
  146. package/lib/esm/components/backoffice/routing/BackofficeContentError.js +39 -0
  147. package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -0
  148. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js +47 -0
  149. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js.map +1 -0
  150. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +22 -0
  151. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -0
  152. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js +12 -0
  153. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js.map +1 -0
  154. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +8 -0
  155. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -0
  156. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +8 -0
  157. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -0
  158. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +8 -0
  159. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -0
  160. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +8 -0
  161. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js.map +1 -0
  162. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js +8 -0
  163. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js.map +1 -0
  164. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js +11 -0
  165. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +1 -0
  166. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +446 -0
  167. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -0
  168. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js +40 -0
  169. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js.map +1 -0
  170. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +25 -0
  171. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -0
  172. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +8 -0
  173. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -0
  174. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +8 -0
  175. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -0
  176. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +12 -0
  177. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -0
  178. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +8 -0
  179. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -0
  180. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +40 -0
  181. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -0
  182. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +48 -0
  183. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -0
  184. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +58 -0
  185. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -0
  186. package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js +81 -0
  187. package/lib/esm/components/backoffice/tools/BackofficeToolsPageLayout.js.map +1 -0
  188. package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js +16 -0
  189. package/lib/esm/components/backoffice/tools/BackofficeToolsParamsContext.js.map +1 -0
  190. package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js +56 -0
  191. package/lib/esm/components/backoffice/tools/BackofficeToolsProjectPicker.js.map +1 -0
  192. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +20 -0
  193. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +1 -0
  194. package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js +56 -0
  195. package/lib/esm/components/backoffice/tools/BackofficeToolsScopePicker.js.map +1 -0
  196. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +8 -0
  197. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -0
  198. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +8 -0
  199. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -0
  200. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +8 -0
  201. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -0
  202. package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js +8 -0
  203. package/lib/esm/components/backoffice/tools/backofficeToolsPageLayout.css.js.map +1 -0
  204. package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js +8 -0
  205. package/lib/esm/components/backoffice/tools/backofficeToolsProjectPicker.css.js.map +1 -0
  206. package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js +8 -0
  207. package/lib/esm/components/backoffice/tools/backofficeToolsScopePicker.css.js.map +1 -0
  208. package/lib/esm/filters/filterHelpers.js +36 -0
  209. package/lib/esm/filters/filterHelpers.js.map +1 -0
  210. package/lib/esm/hooks/useAuth.js +439 -0
  211. package/lib/esm/hooks/useAuth.js.map +1 -0
  212. package/lib/esm/hooks/useBackofficeAuth.js +89 -0
  213. package/lib/esm/hooks/useBackofficeAuth.js.map +1 -0
  214. package/lib/esm/hooks/useBackofficeListRefetch.js +40 -0
  215. package/lib/esm/hooks/useBackofficeListRefetch.js.map +1 -0
  216. package/lib/esm/hooks/useBackofficeListUrlState.js +37 -0
  217. package/lib/esm/hooks/useBackofficeListUrlState.js.map +1 -0
  218. package/lib/esm/hooks/useBackofficeLoadMore.js +18 -0
  219. package/lib/esm/hooks/useBackofficeLoadMore.js.map +1 -0
  220. package/lib/esm/hooks/useBackofficeSessionAuth.js +28 -0
  221. package/lib/esm/hooks/useBackofficeSessionAuth.js.map +1 -0
  222. package/lib/esm/hooks/useBackofficeSidebarPins.js +70 -0
  223. package/lib/esm/hooks/useBackofficeSidebarPins.js.map +1 -0
  224. package/lib/esm/hooks/useBackofficeToolsUrlParams.js +15 -0
  225. package/lib/esm/hooks/useBackofficeToolsUrlParams.js.map +1 -0
  226. package/lib/esm/hooks/useSidebarGroupCollapse.js +35 -0
  227. package/lib/esm/hooks/useSidebarGroupCollapse.js.map +1 -0
  228. package/lib/esm/i18n/createI18nInstance.js +62 -0
  229. package/lib/esm/i18n/createI18nInstance.js.map +1 -0
  230. package/lib/esm/i18n/locales/en/backofficeReact.js +249 -0
  231. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -0
  232. package/lib/esm/i18n/locales/en/shared.js +207 -0
  233. package/lib/esm/i18n/locales/en/shared.js.map +1 -0
  234. package/lib/esm/i18n/locales/fr/backofficeReact.js +251 -0
  235. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -0
  236. package/lib/esm/i18n/locales/fr/shared.js +207 -0
  237. package/lib/esm/i18n/locales/fr/shared.js.map +1 -0
  238. package/lib/esm/i18n/mergeResourceLanguages.js +19 -0
  239. package/lib/esm/i18n/mergeResourceLanguages.js.map +1 -0
  240. package/lib/esm/i18n/resources.js +19 -0
  241. package/lib/esm/i18n/resources.js.map +1 -0
  242. package/lib/esm/i18n/useBackofficeFormats.js +23 -0
  243. package/lib/esm/i18n/useBackofficeFormats.js.map +1 -0
  244. package/lib/esm/i18n/useBackofficeReactTranslation.js +9 -0
  245. package/lib/esm/i18n/useBackofficeReactTranslation.js.map +1 -0
  246. package/lib/esm/i18n/useSharedTranslation.js +9 -0
  247. package/lib/esm/i18n/useSharedTranslation.js.map +1 -0
  248. package/lib/esm/index.js +2 -0
  249. package/lib/esm/modules/sharedSchemaTypes.js +0 -0
  250. package/lib/esm/modules/webauthn.js +33 -0
  251. package/lib/esm/modules/webauthn.js.map +1 -0
  252. package/lib/esm/pages/BackofficeAcceptInvitationPage.js +24 -0
  253. package/lib/esm/pages/BackofficeAcceptInvitationPage.js.map +1 -0
  254. package/lib/esm/pages/BackofficeDashboardPage.js +198 -0
  255. package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -0
  256. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +18 -0
  257. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -0
  258. package/lib/esm/pages/BackofficeEntityDetailPage.js +843 -0
  259. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -0
  260. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js +17 -0
  261. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js.map +1 -0
  262. package/lib/esm/pages/BackofficeEntityListPage.js +363 -0
  263. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -0
  264. package/lib/esm/pages/BackofficeLayoutPage.js +141 -0
  265. package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -0
  266. package/lib/esm/pages/BackofficeLoginPage.js +46 -0
  267. package/lib/esm/pages/BackofficeLoginPage.js.map +1 -0
  268. package/lib/esm/pages/BackofficePasswordResetCompletePage.js +59 -0
  269. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  270. package/lib/esm/pages/BackofficePasswordResetRequestPage.js +54 -0
  271. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  272. package/lib/esm/pages/BackofficeToolsOperationPage.js +465 -0
  273. package/lib/esm/pages/BackofficeToolsOperationPage.js.map +1 -0
  274. package/lib/esm/pages/BackofficeVerifyEmailPage.js +59 -0
  275. package/lib/esm/pages/BackofficeVerifyEmailPage.js.map +1 -0
  276. package/lib/esm/pages/backofficeDashboardPage.css.js +8 -0
  277. package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -0
  278. package/lib/esm/pages/backofficeEntityDetailPage.css.js +8 -0
  279. package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -0
  280. package/lib/esm/pages/backofficeEntityListPage.css.js +8 -0
  281. package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -0
  282. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js +11 -0
  283. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -0
  284. package/lib/esm/pages/detail/buildTabsItems.js +10 -0
  285. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -0
  286. package/lib/esm/pages/detail/pageResolution.js +28 -0
  287. package/lib/esm/pages/detail/pageResolution.js.map +1 -0
  288. package/lib/esm/provider/BackofficeConfigContext.js +12 -0
  289. package/lib/esm/provider/BackofficeConfigContext.js.map +1 -0
  290. package/lib/esm/provider/BackofficeProvider.js +142 -0
  291. package/lib/esm/provider/BackofficeProvider.js.map +1 -0
  292. package/lib/esm/provider/entityRegistry.js +91 -0
  293. package/lib/esm/provider/entityRegistry.js.map +1 -0
  294. package/lib/esm/provider/lazyValue.js +14 -0
  295. package/lib/esm/provider/lazyValue.js.map +1 -0
  296. package/lib/esm/provider/types.js +0 -0
  297. package/lib/esm/provider/useBackofficeEntityLoader.js +137 -0
  298. package/lib/esm/provider/useBackofficeEntityLoader.js.map +1 -0
  299. package/lib/esm/provider/useBackofficeLazyValue.js +39 -0
  300. package/lib/esm/provider/useBackofficeLazyValue.js.map +1 -0
  301. package/lib/esm/relay/RelayProvider.js +12 -0
  302. package/lib/esm/relay/RelayProvider.js.map +1 -0
  303. package/lib/esm/relay/createInlineDataReader.js +2 -0
  304. package/lib/esm/relay/createInlineReader.js +7 -0
  305. package/lib/esm/relay/createInlineReader.js.map +1 -0
  306. package/lib/esm/relay/envHelpers.js +46 -0
  307. package/lib/esm/relay/envHelpers.js.map +1 -0
  308. package/lib/esm/relay/environment.js +221 -0
  309. package/lib/esm/relay/environment.js.map +1 -0
  310. package/lib/esm/relay/identityView.js +6 -0
  311. package/lib/esm/relay/identityView.js.map +1 -0
  312. package/lib/esm/relay/mutationResult.js +47 -0
  313. package/lib/esm/relay/mutationResult.js.map +1 -0
  314. package/lib/esm/relay/useRelayEnvironment.js +2 -0
  315. package/lib/esm/router/backofficeAuthPaths.js +13 -0
  316. package/lib/esm/router/backofficeAuthPaths.js.map +1 -0
  317. package/lib/esm/router/createBackofficeRoutes.js +273 -0
  318. package/lib/esm/router/createBackofficeRoutes.js.map +1 -0
  319. package/lib/esm/style.css +2 -0
  320. package/lib/esm/style.js +1 -0
  321. package/lib/types/auth/login/AuthPanel.d.ts +10 -0
  322. package/lib/types/auth/login/AuthPanel.d.ts.map +1 -0
  323. package/lib/types/auth/login/EmailCapturePanel.d.ts +12 -0
  324. package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -0
  325. package/lib/types/auth/login/LoginFlow.d.ts +11 -0
  326. package/lib/types/auth/login/LoginFlow.d.ts.map +1 -0
  327. package/lib/types/auth/login/MethodChooser.d.ts +12 -0
  328. package/lib/types/auth/login/MethodChooser.d.ts.map +1 -0
  329. package/lib/types/auth/login/MfaChallengeForm.d.ts +10 -0
  330. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -0
  331. package/lib/types/auth/login/OidcButtons.d.ts +8 -0
  332. package/lib/types/auth/login/OidcButtons.d.ts.map +1 -0
  333. package/lib/types/auth/login/PasskeyLoginForm.d.ts +12 -0
  334. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -0
  335. package/lib/types/auth/login/PasswordLoginPanel.d.ts +13 -0
  336. package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -0
  337. package/lib/types/auth/login/loginPage.css.d.ts +14 -0
  338. package/lib/types/auth/login/loginPage.css.d.ts.map +1 -0
  339. package/lib/types/auth/login/synchronizeAuthStatusQuery.d.ts +3 -0
  340. package/lib/types/auth/login/synchronizeAuthStatusQuery.d.ts.map +1 -0
  341. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts +11 -0
  342. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -0
  343. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts +12 -0
  344. package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -0
  345. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts +10 -0
  346. package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -0
  347. package/lib/types/auth/pages/VerifyEmailScreen.d.ts +11 -0
  348. package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -0
  349. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts +12 -0
  350. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -0
  351. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts +5 -0
  352. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts.map +1 -0
  353. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts +7 -0
  354. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts.map +1 -0
  355. package/lib/types/components/backoffice/actions/toastViewAction.d.ts +17 -0
  356. package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -0
  357. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts +13 -0
  358. package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts.map +1 -0
  359. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts +8 -0
  360. package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -0
  361. package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts +14 -0
  362. package/lib/types/components/backoffice/detail/BackofficeDetailErrorList.d.ts.map +1 -0
  363. package/lib/types/components/backoffice/detail/BackofficeDetailField.d.ts +13 -0
  364. package/lib/types/components/backoffice/detail/BackofficeDetailField.d.ts.map +1 -0
  365. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.css.d.ts +4 -0
  366. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.css.d.ts.map +1 -0
  367. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.d.ts +10 -0
  368. package/lib/types/components/backoffice/detail/BackofficeDetailFlagTag.d.ts.map +1 -0
  369. package/lib/types/components/backoffice/detail/BackofficeDetailLayout.d.ts +8 -0
  370. package/lib/types/components/backoffice/detail/BackofficeDetailLayout.d.ts.map +1 -0
  371. package/lib/types/components/backoffice/detail/BackofficeDetailPayload.d.ts +10 -0
  372. package/lib/types/components/backoffice/detail/BackofficeDetailPayload.d.ts.map +1 -0
  373. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts +13 -0
  374. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts.map +1 -0
  375. package/lib/types/components/backoffice/detail/BackofficeDetailRelationList.d.ts +7 -0
  376. package/lib/types/components/backoffice/detail/BackofficeDetailRelationList.d.ts.map +1 -0
  377. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts +11 -0
  378. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts.map +1 -0
  379. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts +11 -0
  380. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts.map +1 -0
  381. package/lib/types/components/backoffice/detail/BackofficeDetailTaggedValue.d.ts +12 -0
  382. package/lib/types/components/backoffice/detail/BackofficeDetailTaggedValue.d.ts.map +1 -0
  383. package/lib/types/components/backoffice/detail/backofficeDetailBadgeRow.css.d.ts +2 -0
  384. package/lib/types/components/backoffice/detail/backofficeDetailBadgeRow.css.d.ts.map +1 -0
  385. package/lib/types/components/backoffice/detail/backofficeDetailErrorList.css.d.ts +8 -0
  386. package/lib/types/components/backoffice/detail/backofficeDetailErrorList.css.d.ts.map +1 -0
  387. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts +13 -0
  388. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts.map +1 -0
  389. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts +5 -0
  390. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts.map +1 -0
  391. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts +4 -0
  392. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts.map +1 -0
  393. package/lib/types/components/backoffice/detail/backofficeDetailRelationList.css.d.ts +2 -0
  394. package/lib/types/components/backoffice/detail/backofficeDetailRelationList.css.d.ts.map +1 -0
  395. package/lib/types/components/backoffice/detail/backofficeDetailSection.css.d.ts +6 -0
  396. package/lib/types/components/backoffice/detail/backofficeDetailSection.css.d.ts.map +1 -0
  397. package/lib/types/components/backoffice/detail/backofficeDetailTaggedValue.css.d.ts +3 -0
  398. package/lib/types/components/backoffice/detail/backofficeDetailTaggedValue.css.d.ts.map +1 -0
  399. package/lib/types/components/backoffice/detail/detailPayloadUtils.d.ts +3 -0
  400. package/lib/types/components/backoffice/detail/detailPayloadUtils.d.ts.map +1 -0
  401. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +19 -0
  402. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -0
  403. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts +12 -0
  404. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -0
  405. package/lib/types/components/backoffice/filters/EntityFilterValue.d.ts +14 -0
  406. package/lib/types/components/backoffice/filters/EntityFilterValue.d.ts.map +1 -0
  407. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts +12 -0
  408. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -0
  409. package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts +3 -0
  410. package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts.map +1 -0
  411. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +6 -0
  412. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -0
  413. package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts +2 -0
  414. package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts.map +1 -0
  415. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.d.ts +9 -0
  416. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.d.ts.map +1 -0
  417. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts +8 -0
  418. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts.map +1 -0
  419. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.d.ts +7 -0
  420. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.d.ts.map +1 -0
  421. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts +6 -0
  422. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts.map +1 -0
  423. package/lib/types/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.d.ts +3 -0
  424. package/lib/types/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.d.ts.map +1 -0
  425. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts +7 -0
  426. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts.map +1 -0
  427. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts +21 -0
  428. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts.map +1 -0
  429. package/lib/types/components/backoffice/layout/breadcrumb/types.d.ts +9 -0
  430. package/lib/types/components/backoffice/layout/breadcrumb/types.d.ts.map +1 -0
  431. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +22 -0
  432. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -0
  433. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts +15 -0
  434. package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -0
  435. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts +16 -0
  436. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts.map +1 -0
  437. package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts +4 -0
  438. package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts.map +1 -0
  439. package/lib/types/components/backoffice/list/RowFlagsCell.d.ts +10 -0
  440. package/lib/types/components/backoffice/list/RowFlagsCell.d.ts.map +1 -0
  441. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.d.ts +10 -0
  442. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.d.ts.map +1 -0
  443. package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts +6 -0
  444. package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts.map +1 -0
  445. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +14 -0
  446. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -0
  447. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts +8 -0
  448. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts.map +1 -0
  449. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts +10 -0
  450. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts.map +1 -0
  451. package/lib/types/components/backoffice/pickers/shared/EntityPickerRowBase.d.ts +8 -0
  452. package/lib/types/components/backoffice/pickers/shared/EntityPickerRowBase.d.ts.map +1 -0
  453. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts +11 -0
  454. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts.map +1 -0
  455. package/lib/types/components/backoffice/pickers/types.d.ts +14 -0
  456. package/lib/types/components/backoffice/pickers/types.d.ts.map +1 -0
  457. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts +13 -0
  458. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts.map +1 -0
  459. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts +9 -0
  460. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts.map +1 -0
  461. package/lib/types/components/backoffice/refs/backofficeEntityIdRef.css.d.ts +2 -0
  462. package/lib/types/components/backoffice/refs/backofficeEntityIdRef.css.d.ts.map +1 -0
  463. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts +2 -0
  464. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -0
  465. package/lib/types/components/backoffice/routing/BackofficeContentBoundary.d.ts +7 -0
  466. package/lib/types/components/backoffice/routing/BackofficeContentBoundary.d.ts.map +1 -0
  467. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts +8 -0
  468. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -0
  469. package/lib/types/components/backoffice/routing/BackofficeContentFallback.d.ts +4 -0
  470. package/lib/types/components/backoffice/routing/BackofficeContentFallback.d.ts.map +1 -0
  471. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts +4 -0
  472. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts.map +1 -0
  473. package/lib/types/components/backoffice/routing/BackofficeRoutePendingBar.d.ts +4 -0
  474. package/lib/types/components/backoffice/routing/BackofficeRoutePendingBar.d.ts.map +1 -0
  475. package/lib/types/components/backoffice/routing/backofficeContentBoundary.css.d.ts +2 -0
  476. package/lib/types/components/backoffice/routing/backofficeContentBoundary.css.d.ts.map +1 -0
  477. package/lib/types/components/backoffice/routing/backofficeContentError.css.d.ts +3 -0
  478. package/lib/types/components/backoffice/routing/backofficeContentError.css.d.ts.map +1 -0
  479. package/lib/types/components/backoffice/routing/backofficeContentFallback.css.d.ts +5 -0
  480. package/lib/types/components/backoffice/routing/backofficeContentFallback.css.d.ts.map +1 -0
  481. package/lib/types/components/backoffice/routing/backofficeRouteFallback.css.d.ts +3 -0
  482. package/lib/types/components/backoffice/routing/backofficeRouteFallback.css.d.ts.map +1 -0
  483. package/lib/types/components/backoffice/routing/backofficeRoutePendingBar.css.d.ts +3 -0
  484. package/lib/types/components/backoffice/routing/backofficeRoutePendingBar.css.d.ts.map +1 -0
  485. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts +13 -0
  486. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -0
  487. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +30 -0
  488. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -0
  489. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts +23 -0
  490. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +11 -0
  492. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -0
  493. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts +5 -0
  494. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts.map +1 -0
  495. package/lib/types/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.d.ts +3 -0
  496. package/lib/types/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.d.ts.map +1 -0
  497. package/lib/types/components/backoffice/shared/BackofficeInlineFilterRow.d.ts +8 -0
  498. package/lib/types/components/backoffice/shared/BackofficeInlineFilterRow.d.ts.map +1 -0
  499. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts +2 -0
  500. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts.map +1 -0
  501. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  502. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  503. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  504. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  505. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  506. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  507. package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts +13 -0
  508. package/lib/types/components/backoffice/tools/BackofficeToolsPageLayout.d.ts.map +1 -0
  509. package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts +14 -0
  510. package/lib/types/components/backoffice/tools/BackofficeToolsParamsContext.d.ts.map +1 -0
  511. package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts +8 -0
  512. package/lib/types/components/backoffice/tools/BackofficeToolsProjectPicker.d.ts.map +1 -0
  513. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  514. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  515. package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts +8 -0
  516. package/lib/types/components/backoffice/tools/BackofficeToolsScopePicker.d.ts.map +1 -0
  517. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  518. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  519. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +6 -0
  520. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  521. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  522. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  523. package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts +13 -0
  524. package/lib/types/components/backoffice/tools/backofficeToolsPageLayout.css.d.ts.map +1 -0
  525. package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts +4 -0
  526. package/lib/types/components/backoffice/tools/backofficeToolsProjectPicker.css.d.ts.map +1 -0
  527. package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts +4 -0
  528. package/lib/types/components/backoffice/tools/backofficeToolsScopePicker.css.d.ts.map +1 -0
  529. package/lib/types/filters/filterHelpers.d.ts +5 -0
  530. package/lib/types/filters/filterHelpers.d.ts.map +1 -0
  531. package/lib/types/hooks/useAuth.d.ts +170 -0
  532. package/lib/types/hooks/useAuth.d.ts.map +1 -0
  533. package/lib/types/hooks/useBackofficeAuth.d.ts +3 -0
  534. package/lib/types/hooks/useBackofficeAuth.d.ts.map +1 -0
  535. package/lib/types/hooks/useBackofficeListRefetch.d.ts +17 -0
  536. package/lib/types/hooks/useBackofficeListRefetch.d.ts.map +1 -0
  537. package/lib/types/hooks/useBackofficeListUrlState.d.ts +8 -0
  538. package/lib/types/hooks/useBackofficeListUrlState.d.ts.map +1 -0
  539. package/lib/types/hooks/useBackofficeLoadMore.d.ts +9 -0
  540. package/lib/types/hooks/useBackofficeLoadMore.d.ts.map +1 -0
  541. package/lib/types/hooks/useBackofficeSessionAuth.d.ts +7 -0
  542. package/lib/types/hooks/useBackofficeSessionAuth.d.ts.map +1 -0
  543. package/lib/types/hooks/useBackofficeSidebarPins.d.ts +15 -0
  544. package/lib/types/hooks/useBackofficeSidebarPins.d.ts.map +1 -0
  545. package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts +8 -0
  546. package/lib/types/hooks/useBackofficeToolsUrlParams.d.ts.map +1 -0
  547. package/lib/types/hooks/useSidebarGroupCollapse.d.ts +11 -0
  548. package/lib/types/hooks/useSidebarGroupCollapse.d.ts.map +1 -0
  549. package/lib/types/i18n/createI18nInstance.d.ts +17 -0
  550. package/lib/types/i18n/createI18nInstance.d.ts.map +1 -0
  551. package/lib/types/i18n/mergeResourceLanguages.d.ts +3 -0
  552. package/lib/types/i18n/mergeResourceLanguages.d.ts.map +1 -0
  553. package/lib/types/i18n/resources.d.ts +1010 -0
  554. package/lib/types/i18n/resources.d.ts.map +1 -0
  555. package/lib/types/i18n/useBackofficeFormats.d.ts +7 -0
  556. package/lib/types/i18n/useBackofficeFormats.d.ts.map +1 -0
  557. package/lib/types/i18n/useBackofficeReactTranslation.d.ts +3 -0
  558. package/lib/types/i18n/useBackofficeReactTranslation.d.ts.map +1 -0
  559. package/lib/types/i18n/useSharedTranslation.d.ts +3 -0
  560. package/lib/types/i18n/useSharedTranslation.d.ts.map +1 -0
  561. package/lib/types/index.d.ts +3 -0
  562. package/lib/types/index.d.ts.map +1 -0
  563. package/lib/types/modules/sharedSchemaTypes.d.ts +7 -0
  564. package/lib/types/modules/sharedSchemaTypes.d.ts.map +1 -0
  565. package/lib/types/modules/webauthn.d.ts +6 -0
  566. package/lib/types/modules/webauthn.d.ts.map +1 -0
  567. package/lib/types/pages/BackofficeAcceptInvitationPage.d.ts +4 -0
  568. package/lib/types/pages/BackofficeAcceptInvitationPage.d.ts.map +1 -0
  569. package/lib/types/pages/BackofficeDashboardPage.d.ts +4 -0
  570. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -0
  571. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts +11 -0
  572. package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -0
  573. package/lib/types/pages/BackofficeEntityDetailPage.d.ts +18 -0
  574. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -0
  575. package/lib/types/pages/BackofficeEntityDetailUnknownPageRedirect.d.ts +13 -0
  576. package/lib/types/pages/BackofficeEntityDetailUnknownPageRedirect.d.ts.map +1 -0
  577. package/lib/types/pages/BackofficeEntityListPage.d.ts +10 -0
  578. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -0
  579. package/lib/types/pages/BackofficeLayoutPage.d.ts +17 -0
  580. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -0
  581. package/lib/types/pages/BackofficeLoginPage.d.ts +11 -0
  582. package/lib/types/pages/BackofficeLoginPage.d.ts.map +1 -0
  583. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts +4 -0
  584. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts.map +1 -0
  585. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts +4 -0
  586. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts.map +1 -0
  587. package/lib/types/pages/BackofficeToolsOperationPage.d.ts +9 -0
  588. package/lib/types/pages/BackofficeToolsOperationPage.d.ts.map +1 -0
  589. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts +4 -0
  590. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts.map +1 -0
  591. package/lib/types/pages/backofficeDashboardPage.css.d.ts +5 -0
  592. package/lib/types/pages/backofficeDashboardPage.css.d.ts.map +1 -0
  593. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts +5 -0
  594. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts.map +1 -0
  595. package/lib/types/pages/backofficeEntityListPage.css.d.ts +4 -0
  596. package/lib/types/pages/backofficeEntityListPage.css.d.ts.map +1 -0
  597. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +6 -0
  598. package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -0
  599. package/lib/types/pages/detail/buildTabsItems.d.ts +12 -0
  600. package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -0
  601. package/lib/types/pages/detail/pageResolution.d.ts +20 -0
  602. package/lib/types/pages/detail/pageResolution.d.ts.map +1 -0
  603. package/lib/types/provider/BackofficeConfigContext.d.ts +18 -0
  604. package/lib/types/provider/BackofficeConfigContext.d.ts.map +1 -0
  605. package/lib/types/provider/BackofficeProvider.d.ts +7 -0
  606. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -0
  607. package/lib/types/provider/entityRegistry.d.ts +28 -0
  608. package/lib/types/provider/entityRegistry.d.ts.map +1 -0
  609. package/lib/types/provider/lazyValue.d.ts +7 -0
  610. package/lib/types/provider/lazyValue.d.ts.map +1 -0
  611. package/lib/types/provider/types.d.ts +101 -0
  612. package/lib/types/provider/types.d.ts.map +1 -0
  613. package/lib/types/provider/useBackofficeEntityLoader.d.ts +39 -0
  614. package/lib/types/provider/useBackofficeEntityLoader.d.ts.map +1 -0
  615. package/lib/types/provider/useBackofficeLazyValue.d.ts +13 -0
  616. package/lib/types/provider/useBackofficeLazyValue.d.ts.map +1 -0
  617. package/lib/types/relay/RelayProvider.d.ts +7 -0
  618. package/lib/types/relay/RelayProvider.d.ts.map +1 -0
  619. package/lib/types/relay/createInlineDataReader.d.ts +2 -0
  620. package/lib/types/relay/createInlineDataReader.d.ts.map +1 -0
  621. package/lib/types/relay/createInlineReader.d.ts +4 -0
  622. package/lib/types/relay/createInlineReader.d.ts.map +1 -0
  623. package/lib/types/relay/envHelpers.d.ts +16 -0
  624. package/lib/types/relay/envHelpers.d.ts.map +1 -0
  625. package/lib/types/relay/environment.d.ts +12 -0
  626. package/lib/types/relay/environment.d.ts.map +1 -0
  627. package/lib/types/relay/identityView.d.ts +2 -0
  628. package/lib/types/relay/identityView.d.ts.map +1 -0
  629. package/lib/types/relay/mutationResult.d.ts +51 -0
  630. package/lib/types/relay/mutationResult.d.ts.map +1 -0
  631. package/lib/types/relay/useRelayEnvironment.d.ts +2 -0
  632. package/lib/types/relay/useRelayEnvironment.d.ts.map +1 -0
  633. package/lib/types/router/backofficeAuthPaths.d.ts +3 -0
  634. package/lib/types/router/backofficeAuthPaths.d.ts.map +1 -0
  635. package/lib/types/router/createBackofficeRoutes.d.ts +32 -0
  636. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -0
  637. package/lib/types/style.d.ts +2 -0
  638. package/lib/types/style.d.ts.map +1 -0
  639. package/package.json +138 -0
@@ -0,0 +1,9 @@
1
+ import { fetchQuery as e } from "relay-runtime";
2
+ //#region src/auth/login/synchronizeAuthStatusQuery.ts
3
+ async function t(t, n) {
4
+ return (await e(t, n, {}, { fetchPolicy: "network-only" }).toPromise())?.isLoggedIn === !0;
5
+ }
6
+ //#endregion
7
+ export { t as synchronizeAuthStatusQuery };
8
+
9
+ //# sourceMappingURL=synchronizeAuthStatusQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronizeAuthStatusQuery.js","names":[],"sources":["../../../../src/auth/login/synchronizeAuthStatusQuery.ts"],"sourcesContent":["import {\n fetchQuery,\n type GraphQLTaggedNode,\n type IEnvironment,\n type OperationType,\n} from 'relay-runtime';\n\ntype AuthStatusQueryResponse = {\n readonly isLoggedIn?: boolean | null;\n};\n\n/**\n * Forces a fresh auth-status read from network to avoid stale cache guards\n * right after login mutations complete.\n */\nexport async function synchronizeAuthStatusQuery<TQuery extends OperationType>(\n environment: IEnvironment,\n query: GraphQLTaggedNode,\n): Promise<boolean> {\n const response = await fetchQuery<TQuery>(\n environment,\n query,\n {},\n { fetchPolicy: 'network-only' },\n ).toPromise();\n\n const isLoggedIn = (response as AuthStatusQueryResponse | null | undefined)\n ?.isLoggedIn;\n return isLoggedIn === true;\n}\n"],"mappings":";;AAeA,eAAsB,EACpB,GACA,GACkB;AAUlB,SATiB,MAAM,EACrB,GACA,GACA,EAAE,EACF,EAAE,aAAa,gBAAgB,CAChC,CAAC,WAAW,GAGT,eACkB"}
@@ -0,0 +1,120 @@
1
+ import { formSurface as e, helper as t, stack as n } from "../login/loginPage.css.js";
2
+ import { AuthPanel as r } from "../login/AuthPanel.js";
3
+ import { useSharedTranslation as i } from "../../i18n/useSharedTranslation.js";
4
+ import { MfaChallengeForm as a } from "../login/MfaChallengeForm.js";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ import { Button as c } from "@plumile/ui";
7
+ import { FormField as l } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
8
+ import { FormError as u } from "@plumile/ui/atomic/molecules/form_error/FormError.js";
9
+ import { useCallback as d, useMemo as f, useState as p } from "react";
10
+ import { AuthLayout as m } from "@plumile/ui/atomic/templates/auth_layout/AuthLayout.js";
11
+ //#region src/auth/pages/AcceptInvitationScreen.tsx
12
+ var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
13
+ let { t: y } = i(), { acceptInvitation: b } = h, [x, S] = p("idle"), [C, w] = p(""), [T, E] = p(""), [D, O] = p(!1), [k, A] = p(null), j = f(() => v ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [v]), M = d((e) => {
14
+ if (e.preventDefault(), j === "") {
15
+ A(y("auth.acceptInvitation.errors.missingToken")), S("error");
16
+ return;
17
+ }
18
+ if (C !== T) {
19
+ A(y("auth.acceptInvitation.errors.passwordMismatch")), S("error");
20
+ return;
21
+ }
22
+ S("pending"), A(null), O(!0), b({
23
+ token: j,
24
+ password: C,
25
+ passwordConfirmation: T
26
+ }).then((e) => {
27
+ if (e === "mfa-required") {
28
+ S("mfa");
29
+ return;
30
+ }
31
+ S("completed"), g();
32
+ }).catch((e) => {
33
+ S("error"), e instanceof Error ? A(e.message) : A(typeof e == "string" ? e : y("auth.acceptInvitation.errors.default"));
34
+ }).finally(() => {
35
+ O(!1);
36
+ });
37
+ }, [
38
+ b,
39
+ g,
40
+ C,
41
+ T,
42
+ j,
43
+ y
44
+ ]), N = d(() => {
45
+ S("completed"), g();
46
+ }, [g]), P = d(() => {
47
+ S("idle"), A(null), O(!1);
48
+ }, []);
49
+ if (x === "mfa") return /* @__PURE__ */ o(m, {
50
+ title: y("auth.acceptInvitation.mfaTitle"),
51
+ subtitle: y("auth.acceptInvitation.mfaSubtitle"),
52
+ children: /* @__PURE__ */ o(a, {
53
+ auth: h,
54
+ onSuccess: N,
55
+ onBack: () => {
56
+ h.reset(), P();
57
+ }
58
+ })
59
+ });
60
+ let F;
61
+ return F = x === "completed" ? /* @__PURE__ */ o("div", {
62
+ className: n,
63
+ children: /* @__PURE__ */ o("p", {
64
+ className: t,
65
+ children: y("auth.acceptInvitation.status.success")
66
+ })
67
+ }) : /* @__PURE__ */ o(r, {
68
+ description: y("auth.acceptInvitation.subtitle"),
69
+ children: /* @__PURE__ */ s("form", {
70
+ className: e,
71
+ onSubmit: M,
72
+ noValidate: !0,
73
+ children: [
74
+ k == null ? null : /* @__PURE__ */ o(u, { children: k }),
75
+ /* @__PURE__ */ o(l, {
76
+ label: y("auth.acceptInvitation.form.passwordLabel"),
77
+ name: "password",
78
+ type: "password",
79
+ value: C,
80
+ onChange: (e) => {
81
+ w(e.target.value), A(null), x === "error" && S("idle");
82
+ },
83
+ placeholder: y("auth.acceptInvitation.form.passwordPlaceholder"),
84
+ autoComplete: "new-password",
85
+ required: !0
86
+ }),
87
+ /* @__PURE__ */ o(l, {
88
+ label: y("auth.acceptInvitation.form.confirmLabel"),
89
+ name: "password-confirmation",
90
+ type: "password",
91
+ value: T,
92
+ onChange: (e) => {
93
+ E(e.target.value), A(null), x === "error" && S("idle");
94
+ },
95
+ placeholder: y("auth.acceptInvitation.form.confirmPlaceholder"),
96
+ autoComplete: "new-password",
97
+ required: !0
98
+ }),
99
+ /* @__PURE__ */ o(c, {
100
+ type: "submit",
101
+ isLoading: D,
102
+ children: y(x === "pending" ? "auth.acceptInvitation.status.workingButton" : "auth.acceptInvitation.form.submit")
103
+ }),
104
+ /* @__PURE__ */ o(c, {
105
+ type: "button",
106
+ variant: "secondary",
107
+ onClick: _,
108
+ children: y("auth.acceptInvitation.actions.backToLogin")
109
+ })
110
+ ]
111
+ })
112
+ }), /* @__PURE__ */ o(m, {
113
+ title: y("auth.acceptInvitation.title"),
114
+ children: F
115
+ });
116
+ };
117
+ //#endregion
118
+ export { h as AcceptInvitationScreen };
119
+
120
+ //# sourceMappingURL=AcceptInvitationScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptInvitationScreen.js","names":[],"sources":["../../../../src/auth/pages/AcceptInvitationScreen.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n useCallback,\n useMemo,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useSharedTranslation } from '../../i18n/useSharedTranslation.js';\n\nimport { AuthLayout } from '@plumile/ui/atomic/templates/auth_layout/AuthLayout.js';\nimport { Button } from '@plumile/ui';\nimport { FormError } from '@plumile/ui/atomic/molecules/form_error/FormError.js';\nimport { FormField } from '@plumile/ui/atomic/molecules/form_field/FormField.js';\n\nimport type { UseAuthReturn } from '../../hooks/useAuth.js';\nimport { MfaChallengeForm } from '../login/MfaChallengeForm.js';\nimport AuthPanel from '../login/AuthPanel.js';\nimport * as styles from '../login/loginPage.css.js';\n\ntype AcceptanceState = 'pending' | 'mfa' | 'completed' | 'error' | 'idle';\n\ntype Props = {\n auth: UseAuthReturn;\n onSuccessRedirect: () => void;\n onBackToLogin: () => void;\n token?: string;\n};\n\nexport const AcceptInvitationScreen = ({\n auth,\n onSuccessRedirect,\n onBackToLogin,\n token,\n}: Props): JSX.Element => {\n const { t } = useSharedTranslation();\n const { acceptInvitation } = auth;\n const [status, setStatus] = useState<AcceptanceState>('idle');\n const [password, setPassword] = useState('');\n const [passwordConfirmation, setPasswordConfirmation] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n\n const resolvedToken = useMemo(() => {\n if (token != null) {\n return token;\n }\n if (typeof window === 'undefined') {\n return '';\n }\n const params = new URLSearchParams(window.location.search);\n return params.get('token') ?? '';\n }, [token]);\n\n const handleSubmit = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n if (resolvedToken === '') {\n setErrorMessage(t('auth.acceptInvitation.errors.missingToken'));\n setStatus('error');\n return;\n }\n\n if (password !== passwordConfirmation) {\n setErrorMessage(t('auth.acceptInvitation.errors.passwordMismatch'));\n setStatus('error');\n return;\n }\n\n setStatus('pending');\n setErrorMessage(null);\n setIsSubmitting(true);\n\n // eslint-disable-next-line no-void\n void acceptInvitation({\n token: resolvedToken,\n password,\n passwordConfirmation,\n })\n .then((result) => {\n if (result === 'mfa-required') {\n setStatus('mfa');\n return;\n }\n setStatus('completed');\n onSuccessRedirect();\n })\n .catch((error) => {\n setStatus('error');\n if (error instanceof Error) {\n setErrorMessage(error.message);\n } else if (typeof error === 'string') {\n setErrorMessage(error);\n } else {\n setErrorMessage(t('auth.acceptInvitation.errors.default'));\n }\n })\n .finally(() => {\n setIsSubmitting(false);\n });\n },\n [\n acceptInvitation,\n onSuccessRedirect,\n password,\n passwordConfirmation,\n resolvedToken,\n t,\n ],\n );\n\n const handleMfaSuccess = useCallback(() => {\n setStatus('completed');\n onSuccessRedirect();\n }, [onSuccessRedirect]);\n\n const handleRetry = useCallback(() => {\n setStatus('idle');\n setErrorMessage(null);\n setIsSubmitting(false);\n }, []);\n\n if (status === 'mfa') {\n return (\n <AuthLayout\n title={t('auth.acceptInvitation.mfaTitle')}\n subtitle={t('auth.acceptInvitation.mfaSubtitle')}\n >\n <MfaChallengeForm\n auth={auth}\n onSuccess={handleMfaSuccess}\n onBack={() => {\n auth.reset();\n handleRetry();\n }}\n />\n </AuthLayout>\n );\n }\n\n let content: JSX.Element;\n if (status === 'completed') {\n content = (\n <div className={styles.stack}>\n <p className={styles.helper}>\n {t('auth.acceptInvitation.status.success')}\n </p>\n </div>\n );\n } else {\n content = (\n <AuthPanel description={t('auth.acceptInvitation.subtitle')}>\n <form className={styles.formSurface} onSubmit={handleSubmit} noValidate>\n {errorMessage != null ? <FormError>{errorMessage}</FormError> : null}\n <FormField\n label={t('auth.acceptInvitation.form.passwordLabel')}\n name=\"password\"\n type=\"password\"\n value={password}\n onChange={(event) => {\n setPassword(event.target.value);\n setErrorMessage(null);\n if (status === 'error') {\n setStatus('idle');\n }\n }}\n placeholder={t('auth.acceptInvitation.form.passwordPlaceholder')}\n autoComplete=\"new-password\"\n required\n />\n <FormField\n label={t('auth.acceptInvitation.form.confirmLabel')}\n name=\"password-confirmation\"\n type=\"password\"\n value={passwordConfirmation}\n onChange={(event) => {\n setPasswordConfirmation(event.target.value);\n setErrorMessage(null);\n if (status === 'error') {\n setStatus('idle');\n }\n }}\n placeholder={t('auth.acceptInvitation.form.confirmPlaceholder')}\n autoComplete=\"new-password\"\n required\n />\n <Button type=\"submit\" isLoading={isSubmitting}>\n {status === 'pending'\n ? t('auth.acceptInvitation.status.workingButton')\n : t('auth.acceptInvitation.form.submit')}\n </Button>\n <Button type=\"button\" variant=\"secondary\" onClick={onBackToLogin}>\n {t('auth.acceptInvitation.actions.backToLogin')}\n </Button>\n </form>\n </AuthPanel>\n );\n }\n\n return (\n <AuthLayout title={t('auth.acceptInvitation.title')}>{content}</AuthLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;AA6BA,IAAa,KAA0B,EACrC,SACA,sBACA,kBACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAAsB,EAC9B,EAAE,wBAAqB,GACvB,CAAC,GAAQ,KAAa,EAA0B,OAAO,EACvD,CAAC,GAAU,KAAe,EAAS,GAAG,EACtC,CAAC,GAAsB,KAA2B,EAAS,GAAG,EAC9D,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAc,KAAmB,EAAwB,KAAK,EAE/D,IAAgB,QAChB,MAGA,OAAO,SAAW,MACb,KAEM,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC,EAEL,IAAe,GAClB,MAAsC;AAErC,MADA,EAAM,gBAAgB,EAClB,MAAkB,IAAI;AAExB,GADA,EAAgB,EAAE,4CAA4C,CAAC,EAC/D,EAAU,QAAQ;AAClB;;AAGF,MAAI,MAAa,GAAsB;AAErC,GADA,EAAgB,EAAE,gDAAgD,CAAC,EACnE,EAAU,QAAQ;AAClB;;AAQG,EALL,EAAU,UAAU,EACpB,EAAgB,KAAK,EACrB,EAAgB,GAAK,EAGhB,EAAiB;GACpB,OAAO;GACP;GACA;GACD,CAAC,CACC,MAAM,MAAW;AAChB,OAAI,MAAW,gBAAgB;AAC7B,MAAU,MAAM;AAChB;;AAGF,GADA,EAAU,YAAY,EACtB,GAAmB;IACnB,CACD,OAAO,MAAU;AAEhB,GADA,EAAU,QAAQ,EACd,aAAiB,QACnB,EAAgB,EAAM,QAAQ,GAE9B,EADS,OAAO,KAAU,WACV,IAEA,EAAE,uCAAuC,CAAC;IAE5D,CACD,cAAc;AACb,KAAgB,GAAM;IACtB;IAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF,EAEK,IAAmB,QAAkB;AAEzC,EADA,EAAU,YAAY,EACtB,GAAmB;IAClB,CAAC,EAAkB,CAAC,EAEjB,IAAc,QAAkB;AAGpC,EAFA,EAAU,OAAO,EACjB,EAAgB,KAAK,EACrB,EAAgB,GAAM;IACrB,EAAE,CAAC;AAEN,KAAI,MAAW,MACb,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,iCAAiC;EAC1C,UAAU,EAAE,oCAAoC;YAEhD,kBAAC,GAAD;GACQ;GACN,WAAW;GACX,cAAc;AAEZ,IADA,EAAK,OAAO,EACZ,GAAa;;GAEf,CAAA;EACS,CAAA;CAIjB,IAAI;AA2DJ,QA1DA,AASE,IATE,MAAW,cAEX,kBAAC,OAAD;EAAK,WAAW;YACd,kBAAC,KAAD;GAAG,WAAW;aACX,EAAE,uCAAuC;GACxC,CAAA;EACA,CAAA,GAIN,kBAAC,GAAD;EAAW,aAAa,EAAE,iCAAiC;YACzD,kBAAC,QAAD;GAAM,WAAW;GAAoB,UAAU;GAAc,YAAA;aAA7D;IACG,KAAgB,OAA+C,OAAxC,kBAAC,GAAD,EAAA,UAAY,GAAyB,CAAA;IAC7D,kBAAC,GAAD;KACE,OAAO,EAAE,2CAA2C;KACpD,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;AAGnB,MAFA,EAAY,EAAM,OAAO,MAAM,EAC/B,EAAgB,KAAK,EACjB,MAAW,WACb,EAAU,OAAO;;KAGrB,aAAa,EAAE,iDAAiD;KAChE,cAAa;KACb,UAAA;KACA,CAAA;IACF,kBAAC,GAAD;KACE,OAAO,EAAE,0CAA0C;KACnD,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;AAGnB,MAFA,EAAwB,EAAM,OAAO,MAAM,EAC3C,EAAgB,KAAK,EACjB,MAAW,WACb,EAAU,OAAO;;KAGrB,aAAa,EAAE,gDAAgD;KAC/D,cAAa;KACb,UAAA;KACA,CAAA;IACF,kBAAC,GAAD;KAAQ,MAAK;KAAS,WAAW;eAE3B,EADH,MAAW,YACN,+CACA,oCAAoC;KACnC,CAAA;IACT,kBAAC,GAAD;KAAQ,MAAK;KAAS,SAAQ;KAAY,SAAS;eAChD,EAAE,4CAA4C;KACxC,CAAA;IACJ;;EACG,CAAA,EAKd,kBAAC,GAAD;EAAY,OAAO,EAAE,8BAA8B;YAAG;EAAqB,CAAA"}
@@ -0,0 +1,105 @@
1
+ import { brandGhostButton as e, formSurface as t, helper as n } from "../login/loginPage.css.js";
2
+ import { AuthPanel as r } from "../login/AuthPanel.js";
3
+ import { useSharedTranslation as i } from "../../i18n/useSharedTranslation.js";
4
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ import { Button as s } from "@plumile/ui";
6
+ import { FormField as c } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
7
+ import { FormError as l } from "@plumile/ui/atomic/molecules/form_error/FormError.js";
8
+ import { useCallback as u, useMemo as d, useState as f } from "react";
9
+ import { AuthLayout as p } from "@plumile/ui/atomic/templates/auth_layout/AuthLayout.js";
10
+ //#region src/auth/pages/PasswordResetCompleteScreen.tsx
11
+ var m = 8, h = ({ onBackToLogin: h, onCompletePasswordReset: g, token: _ }) => {
12
+ let { t: v } = i(), [y, b] = f(""), [x, S] = f(""), [C, w] = f("idle"), [T, E] = f(null), [D, O] = f(!1), k = d(() => _ ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [_]), A = u((e) => {
13
+ if (e.preventDefault(), E(null), k === "") {
14
+ E(v("auth.passwordResetComplete.errors.missingToken"));
15
+ return;
16
+ }
17
+ if (y.length < m) {
18
+ E(v("auth.passwordResetComplete.errors.minLength", { minLength: m }));
19
+ return;
20
+ }
21
+ if (y !== x) {
22
+ E(v("auth.passwordResetComplete.errors.mismatch"));
23
+ return;
24
+ }
25
+ O(!0), g({
26
+ newPassword: y,
27
+ token: k
28
+ }).then((e) => {
29
+ e ? w("completed") : E(v("auth.passwordResetComplete.errors.invalid"));
30
+ }).catch((e) => {
31
+ E(e instanceof Error ? e.message : v("auth.passwordResetComplete.errors.invalid"));
32
+ }).finally(() => {
33
+ O(!1);
34
+ });
35
+ }, [
36
+ g,
37
+ y,
38
+ x,
39
+ k,
40
+ v
41
+ ]), j;
42
+ return j = C === "completed" ? /* @__PURE__ */ a(r, {
43
+ title: v("auth.passwordResetComplete.success.title"),
44
+ description: v("auth.passwordResetComplete.success.description"),
45
+ footer: /* @__PURE__ */ a(s, {
46
+ type: "button",
47
+ variant: "secondary",
48
+ className: e,
49
+ onClick: h,
50
+ children: v("auth.passwordResetComplete.success.action")
51
+ }),
52
+ children: /* @__PURE__ */ a("p", {
53
+ className: n,
54
+ children: v("auth.passwordResetComplete.success.helper")
55
+ })
56
+ }) : /* @__PURE__ */ a(r, {
57
+ title: v("auth.passwordResetComplete.form.title"),
58
+ description: v("auth.passwordResetComplete.form.description"),
59
+ children: /* @__PURE__ */ o("form", {
60
+ className: t,
61
+ onSubmit: A,
62
+ noValidate: !0,
63
+ children: [
64
+ T == null ? null : /* @__PURE__ */ a(l, { children: T }),
65
+ /* @__PURE__ */ a(c, {
66
+ label: v("auth.passwordResetComplete.form.passwordLabel"),
67
+ name: "new-password",
68
+ type: "password",
69
+ value: y,
70
+ onChange: (e) => {
71
+ b(e.target.value), E(null);
72
+ },
73
+ placeholder: v("auth.passwordResetComplete.form.passwordPlaceholder"),
74
+ autoComplete: "new-password",
75
+ required: !0
76
+ }),
77
+ /* @__PURE__ */ a(c, {
78
+ label: v("auth.passwordResetComplete.form.confirmLabel"),
79
+ name: "confirm-password",
80
+ type: "password",
81
+ value: x,
82
+ onChange: (e) => {
83
+ S(e.target.value), E(null);
84
+ },
85
+ placeholder: v("auth.passwordResetComplete.form.confirmPlaceholder"),
86
+ autoComplete: "new-password",
87
+ required: !0
88
+ }),
89
+ /* @__PURE__ */ a(s, {
90
+ type: "submit",
91
+ isLoading: D,
92
+ children: v("auth.passwordResetComplete.form.submit")
93
+ })
94
+ ]
95
+ })
96
+ }), /* @__PURE__ */ a(p, {
97
+ title: v("auth.passwordResetComplete.title"),
98
+ subtitle: v("auth.passwordResetComplete.subtitle"),
99
+ children: j
100
+ });
101
+ };
102
+ //#endregion
103
+ export { h as PasswordResetCompleteScreen };
104
+
105
+ //# sourceMappingURL=PasswordResetCompleteScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordResetCompleteScreen.js","names":[],"sources":["../../../../src/auth/pages/PasswordResetCompleteScreen.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n useCallback,\n useMemo,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useSharedTranslation } from '../../i18n/useSharedTranslation.js';\n\nimport { AuthLayout } from '@plumile/ui/atomic/templates/auth_layout/AuthLayout.js';\nimport { FormField } from '@plumile/ui/atomic/molecules/form_field/FormField.js';\nimport { Button } from '@plumile/ui';\nimport { FormError } from '@plumile/ui/atomic/molecules/form_error/FormError.js';\n\nimport * as styles from '../login/loginPage.css.js';\nimport AuthPanel from '../login/AuthPanel.js';\n\nconst MIN_PASSWORD_LENGTH = 8;\n\ntype Props = {\n onBackToLogin: () => void;\n onCompletePasswordReset: (input: {\n newPassword: string;\n token: string;\n }) => Promise<boolean>;\n token?: string;\n};\n\nexport const PasswordResetCompleteScreen = ({\n onBackToLogin,\n onCompletePasswordReset,\n token,\n}: Props): JSX.Element => {\n const { t } = useSharedTranslation();\n const [password, setPassword] = useState('');\n const [passwordConfirm, setPasswordConfirm] = useState('');\n const [status, setStatus] = useState<'idle' | 'completed'>('idle');\n const [error, setError] = useState<string | null>(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const resolvedToken = useMemo(() => {\n if (token != null) {\n return token;\n }\n if (typeof window === 'undefined') {\n return '';\n }\n const params = new URLSearchParams(window.location.search);\n return params.get('token') ?? '';\n }, [token]);\n\n const handleSubmit = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setError(null);\n\n if (resolvedToken === '') {\n setError(t('auth.passwordResetComplete.errors.missingToken'));\n return;\n }\n\n if (password.length < MIN_PASSWORD_LENGTH) {\n setError(\n t('auth.passwordResetComplete.errors.minLength', {\n minLength: MIN_PASSWORD_LENGTH,\n }),\n );\n return;\n }\n\n if (password !== passwordConfirm) {\n setError(t('auth.passwordResetComplete.errors.mismatch'));\n return;\n }\n\n setIsSubmitting(true);\n // TODO: fix that !\n // eslint-disable-next-line no-void\n void onCompletePasswordReset({\n newPassword: password,\n token: resolvedToken,\n })\n .then((success) => {\n if (success) {\n setStatus('completed');\n } else {\n setError(t('auth.passwordResetComplete.errors.invalid'));\n }\n })\n .catch((mutationError) => {\n setError(\n mutationError instanceof Error\n ? mutationError.message\n : t('auth.passwordResetComplete.errors.invalid'),\n );\n })\n .finally(() => {\n setIsSubmitting(false);\n });\n },\n [onCompletePasswordReset, password, passwordConfirm, resolvedToken, t],\n );\n\n let content: JSX.Element;\n if (status === 'completed') {\n content = (\n <AuthPanel\n title={t('auth.passwordResetComplete.success.title')}\n description={t('auth.passwordResetComplete.success.description')}\n footer={\n <Button\n type=\"button\"\n variant=\"secondary\"\n className={styles.brandGhostButton}\n onClick={onBackToLogin}\n >\n {t('auth.passwordResetComplete.success.action')}\n </Button>\n }\n >\n <p className={styles.helper}>\n {t('auth.passwordResetComplete.success.helper')}\n </p>\n </AuthPanel>\n );\n } else {\n content = (\n <AuthPanel\n title={t('auth.passwordResetComplete.form.title')}\n description={t('auth.passwordResetComplete.form.description')}\n >\n <form className={styles.formSurface} onSubmit={handleSubmit} noValidate>\n {error != null ? <FormError>{error}</FormError> : null}\n <FormField\n label={t('auth.passwordResetComplete.form.passwordLabel')}\n name=\"new-password\"\n type=\"password\"\n value={password}\n onChange={(event) => {\n setPassword(event.target.value);\n setError(null);\n }}\n placeholder={t(\n 'auth.passwordResetComplete.form.passwordPlaceholder',\n )}\n autoComplete=\"new-password\"\n required\n />\n <FormField\n label={t('auth.passwordResetComplete.form.confirmLabel')}\n name=\"confirm-password\"\n type=\"password\"\n value={passwordConfirm}\n onChange={(event) => {\n setPasswordConfirm(event.target.value);\n setError(null);\n }}\n placeholder={t(\n 'auth.passwordResetComplete.form.confirmPlaceholder',\n )}\n autoComplete=\"new-password\"\n required\n />\n <Button type=\"submit\" isLoading={isSubmitting}>\n {t('auth.passwordResetComplete.form.submit')}\n </Button>\n </form>\n </AuthPanel>\n );\n }\n\n return (\n <AuthLayout\n title={t('auth.passwordResetComplete.title')}\n subtitle={t('auth.passwordResetComplete.subtitle')}\n >\n {content}\n </AuthLayout>\n );\n};\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,IAAsB,GAWf,KAA+B,EAC1C,kBACA,4BACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAAsB,EAC9B,CAAC,GAAU,KAAe,EAAS,GAAG,EACtC,CAAC,GAAiB,KAAsB,EAAS,GAAG,EACpD,CAAC,GAAQ,KAAa,EAA+B,OAAO,EAC5D,CAAC,GAAO,KAAY,EAAwB,KAAK,EACjD,CAAC,GAAc,KAAmB,EAAS,GAAM,EAEjD,IAAgB,QAChB,MAGA,OAAO,SAAW,MACb,KAEM,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC,EAEL,IAAe,GAClB,MAAsC;AAIrC,MAHA,EAAM,gBAAgB,EACtB,EAAS,KAAK,EAEV,MAAkB,IAAI;AACxB,KAAS,EAAE,iDAAiD,CAAC;AAC7D;;AAGF,MAAI,EAAS,SAAS,GAAqB;AACzC,KACE,EAAE,+CAA+C,EAC/C,WAAW,GACZ,CAAC,CACH;AACD;;AAGF,MAAI,MAAa,GAAiB;AAChC,KAAS,EAAE,6CAA6C,CAAC;AACzD;;AAMG,EAHL,EAAgB,GAAK,EAGhB,EAAwB;GAC3B,aAAa;GACb,OAAO;GACR,CAAC,CACC,MAAM,MAAY;AACjB,GAAI,IACF,EAAU,YAAY,GAEtB,EAAS,EAAE,4CAA4C,CAAC;IAE1D,CACD,OAAO,MAAkB;AACxB,KACE,aAAyB,QACrB,EAAc,UACd,EAAE,4CAA4C,CACnD;IACD,CACD,cAAc;AACb,KAAgB,GAAM;IACtB;IAEN;EAAC;EAAyB;EAAU;EAAiB;EAAe;EAAE,CACvE,EAEG;AAoEJ,QAnEA,AAsBE,IAtBE,MAAW,cAEX,kBAAC,GAAD;EACE,OAAO,EAAE,2CAA2C;EACpD,aAAa,EAAE,iDAAiD;EAChE,QACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,WAAW;GACX,SAAS;aAER,EAAE,4CAA4C;GACxC,CAAA;YAGX,kBAAC,KAAD;GAAG,WAAW;aACX,EAAE,4CAA4C;GAC7C,CAAA;EACM,CAAA,GAIZ,kBAAC,GAAD;EACE,OAAO,EAAE,wCAAwC;EACjD,aAAa,EAAE,8CAA8C;YAE7D,kBAAC,QAAD;GAAM,WAAW;GAAoB,UAAU;GAAc,YAAA;aAA7D;IACG,KAAS,OAAwC,OAAjC,kBAAC,GAAD,EAAA,UAAY,GAAkB,CAAA;IAC/C,kBAAC,GAAD;KACE,OAAO,EAAE,gDAAgD;KACzD,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;AAEnB,MADA,EAAY,EAAM,OAAO,MAAM,EAC/B,EAAS,KAAK;;KAEhB,aAAa,EACX,sDACD;KACD,cAAa;KACb,UAAA;KACA,CAAA;IACF,kBAAC,GAAD;KACE,OAAO,EAAE,+CAA+C;KACxD,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;AAEnB,MADA,EAAmB,EAAM,OAAO,MAAM,EACtC,EAAS,KAAK;;KAEhB,aAAa,EACX,qDACD;KACD,cAAa;KACb,UAAA;KACA,CAAA;IACF,kBAAC,GAAD;KAAQ,MAAK;KAAS,WAAW;eAC9B,EAAE,yCAAyC;KACrC,CAAA;IACJ;;EACG,CAAA,EAKd,kBAAC,GAAD;EACE,OAAO,EAAE,mCAAmC;EAC5C,UAAU,EAAE,sCAAsC;YAEjD;EACU,CAAA"}
@@ -0,0 +1,88 @@
1
+ import { formSurface as e, helper as t } from "../login/loginPage.css.js";
2
+ import { AuthPanel as n } from "../login/AuthPanel.js";
3
+ import { useSharedTranslation as r } from "../../i18n/useSharedTranslation.js";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { Button as o } from "@plumile/ui";
6
+ import { FormField as s } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
7
+ import { FormError as c } from "@plumile/ui/atomic/molecules/form_error/FormError.js";
8
+ import { useCallback as l, useMemo as u, useState as d } from "react";
9
+ import { AuthLayout as f } from "@plumile/ui/atomic/templates/auth_layout/AuthLayout.js";
10
+ //#region src/auth/pages/PasswordResetRequestScreen.tsx
11
+ var p = ({ onStartPasswordReset: p }) => {
12
+ let { i18n: m, t: h } = r(), [g, _] = d(""), [v, y] = d("idle"), [b, x] = d(null), [S, C] = d(!1), w = u(() => {
13
+ let e = m.language.trim();
14
+ if (e !== "") return e;
15
+ if (!(typeof navigator > "u")) return navigator.language;
16
+ }, [m.language]), T = l((e) => {
17
+ if (e.preventDefault(), x(null), g.trim() === "") {
18
+ x(h("auth.passwordResetRequest.errors.emailRequired"));
19
+ return;
20
+ }
21
+ C(!0), p({
22
+ email: g.trim(),
23
+ locale: w
24
+ }).then((e) => {
25
+ e ? y("sent") : x(h("auth.passwordResetRequest.errors.startFailed"));
26
+ }).catch((e) => {
27
+ x(e instanceof Error ? e.message : h("auth.passwordResetRequest.errors.startFailed"));
28
+ }).finally(() => {
29
+ C(!1);
30
+ });
31
+ }, [
32
+ g,
33
+ w,
34
+ p,
35
+ h
36
+ ]), E;
37
+ return E = v === "sent" ? /* @__PURE__ */ i(n, {
38
+ title: h("auth.passwordResetRequest.sent.title"),
39
+ description: h("auth.passwordResetRequest.sent.description", { email: g }),
40
+ footer: /* @__PURE__ */ i(o, {
41
+ type: "button",
42
+ variant: "secondary",
43
+ onClick: () => {
44
+ y("idle");
45
+ },
46
+ children: h("auth.passwordResetRequest.sent.action")
47
+ }),
48
+ children: /* @__PURE__ */ i("p", {
49
+ className: t,
50
+ children: h("auth.passwordResetRequest.sent.helper")
51
+ })
52
+ }) : /* @__PURE__ */ i(n, {
53
+ description: h("auth.passwordResetRequest.form.description"),
54
+ children: /* @__PURE__ */ a("form", {
55
+ className: e,
56
+ onSubmit: T,
57
+ noValidate: !0,
58
+ children: [
59
+ b == null ? null : /* @__PURE__ */ i(c, { children: b }),
60
+ /* @__PURE__ */ i(s, {
61
+ label: h("auth.passwordResetRequest.form.emailLabel"),
62
+ name: "email",
63
+ type: "email",
64
+ value: g,
65
+ onChange: (e) => {
66
+ _(e.target.value), x(null);
67
+ },
68
+ placeholder: h("auth.passwordResetRequest.form.emailPlaceholder"),
69
+ autoComplete: "email",
70
+ autoFocus: !0,
71
+ required: !0
72
+ }),
73
+ /* @__PURE__ */ i(o, {
74
+ type: "submit",
75
+ isLoading: S,
76
+ children: h("auth.passwordResetRequest.form.submit")
77
+ })
78
+ ]
79
+ })
80
+ }), /* @__PURE__ */ i(f, {
81
+ title: h("auth.passwordResetRequest.title"),
82
+ children: E
83
+ });
84
+ };
85
+ //#endregion
86
+ export { p as PasswordResetRequestScreen };
87
+
88
+ //# sourceMappingURL=PasswordResetRequestScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordResetRequestScreen.js","names":[],"sources":["../../../../src/auth/pages/PasswordResetRequestScreen.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n useCallback,\n useMemo,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useSharedTranslation } from '../../i18n/useSharedTranslation.js';\n\nimport { AuthLayout } from '@plumile/ui/atomic/templates/auth_layout/AuthLayout.js';\nimport { FormField } from '@plumile/ui/atomic/molecules/form_field/FormField.js';\nimport { Button } from '@plumile/ui';\nimport { FormError } from '@plumile/ui/atomic/molecules/form_error/FormError.js';\n\nimport * as styles from '../login/loginPage.css.js';\nimport AuthPanel from '../login/AuthPanel.js';\n\ntype Props = {\n onStartPasswordReset: (input: {\n email: string;\n locale?: string;\n }) => Promise<boolean>;\n};\n\nexport const PasswordResetRequestScreen = ({\n onStartPasswordReset,\n}: Props): JSX.Element => {\n const { i18n, t } = useSharedTranslation();\n const [email, setEmail] = useState('');\n const [status, setStatus] = useState<'idle' | 'sent'>('idle');\n const [error, setError] = useState<string | null>(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const locale = useMemo(() => {\n const language = i18n.language.trim();\n if (language !== '') {\n return language;\n }\n if (typeof navigator === 'undefined') {\n return undefined;\n }\n return navigator.language;\n }, [i18n.language]);\n\n const handleSubmit = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setError(null);\n\n if (email.trim() === '') {\n setError(t('auth.passwordResetRequest.errors.emailRequired'));\n return;\n }\n\n setIsSubmitting(true);\n onStartPasswordReset({\n email: email.trim(),\n locale,\n })\n .then((success) => {\n if (success) {\n setStatus('sent');\n } else {\n setError(t('auth.passwordResetRequest.errors.startFailed'));\n }\n })\n .catch((mutationError) => {\n setError(\n mutationError instanceof Error\n ? mutationError.message\n : t('auth.passwordResetRequest.errors.startFailed'),\n );\n })\n .finally(() => {\n setIsSubmitting(false);\n });\n },\n [email, locale, onStartPasswordReset, t],\n );\n\n let content: JSX.Element;\n if (status === 'sent') {\n content = (\n <AuthPanel\n title={t('auth.passwordResetRequest.sent.title')}\n description={t('auth.passwordResetRequest.sent.description', { email })}\n footer={\n <Button\n type=\"button\"\n variant=\"secondary\"\n onClick={() => {\n setStatus('idle');\n }}\n >\n {t('auth.passwordResetRequest.sent.action')}\n </Button>\n }\n >\n <p className={styles.helper}>\n {t('auth.passwordResetRequest.sent.helper')}\n </p>\n </AuthPanel>\n );\n } else {\n content = (\n <AuthPanel description={t('auth.passwordResetRequest.form.description')}>\n <form className={styles.formSurface} onSubmit={handleSubmit} noValidate>\n {error != null ? <FormError>{error}</FormError> : null}\n <FormField\n label={t('auth.passwordResetRequest.form.emailLabel')}\n name=\"email\"\n type=\"email\"\n value={email}\n onChange={(event) => {\n setEmail(event.target.value);\n setError(null);\n }}\n placeholder={t('auth.passwordResetRequest.form.emailPlaceholder')}\n autoComplete=\"email\"\n autoFocus\n required\n />\n <Button type=\"submit\" isLoading={isSubmitting}>\n {t('auth.passwordResetRequest.form.submit')}\n </Button>\n </form>\n </AuthPanel>\n );\n }\n\n return (\n <AuthLayout title={t('auth.passwordResetRequest.title')}>\n {content}\n </AuthLayout>\n );\n};\n"],"mappings":";;;;;;;;;;AAyBA,IAAa,KAA8B,EACzC,8BACwB;CACxB,IAAM,EAAE,SAAM,SAAM,GAAsB,EACpC,CAAC,GAAO,KAAY,EAAS,GAAG,EAChC,CAAC,GAAQ,KAAa,EAA0B,OAAO,EACvD,CAAC,GAAO,KAAY,EAAwB,KAAK,EACjD,CAAC,GAAc,KAAmB,EAAS,GAAM,EAEjD,IAAS,QAAc;EAC3B,IAAM,IAAW,EAAK,SAAS,MAAM;AACrC,MAAI,MAAa,GACf,QAAO;AAEL,eAAO,YAAc,KAGzB,QAAO,UAAU;IAChB,CAAC,EAAK,SAAS,CAAC,EAEb,IAAe,GAClB,MAAsC;AAIrC,MAHA,EAAM,gBAAgB,EACtB,EAAS,KAAK,EAEV,EAAM,MAAM,KAAK,IAAI;AACvB,KAAS,EAAE,iDAAiD,CAAC;AAC7D;;AAIF,EADA,EAAgB,GAAK,EACrB,EAAqB;GACnB,OAAO,EAAM,MAAM;GACnB;GACD,CAAC,CACC,MAAM,MAAY;AACjB,GAAI,IACF,EAAU,OAAO,GAEjB,EAAS,EAAE,+CAA+C,CAAC;IAE7D,CACD,OAAO,MAAkB;AACxB,KACE,aAAyB,QACrB,EAAc,UACd,EAAE,+CAA+C,CACtD;IACD,CACD,cAAc;AACb,KAAgB,GAAM;IACtB;IAEN;EAAC;EAAO;EAAQ;EAAsB;EAAE,CACzC,EAEG;AAkDJ,QAjDA,AAuBE,IAvBE,MAAW,SAEX,kBAAC,GAAD;EACE,OAAO,EAAE,uCAAuC;EAChD,aAAa,EAAE,8CAA8C,EAAE,UAAO,CAAC;EACvE,QACE,kBAAC,GAAD;GACE,MAAK;GACL,SAAQ;GACR,eAAe;AACb,MAAU,OAAO;;aAGlB,EAAE,wCAAwC;GACpC,CAAA;YAGX,kBAAC,KAAD;GAAG,WAAW;aACX,EAAE,wCAAwC;GACzC,CAAA;EACM,CAAA,GAIZ,kBAAC,GAAD;EAAW,aAAa,EAAE,6CAA6C;YACrE,kBAAC,QAAD;GAAM,WAAW;GAAoB,UAAU;GAAc,YAAA;aAA7D;IACG,KAAS,OAAwC,OAAjC,kBAAC,GAAD,EAAA,UAAY,GAAkB,CAAA;IAC/C,kBAAC,GAAD;KACE,OAAO,EAAE,4CAA4C;KACrD,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;AAEnB,MADA,EAAS,EAAM,OAAO,MAAM,EAC5B,EAAS,KAAK;;KAEhB,aAAa,EAAE,kDAAkD;KACjE,cAAa;KACb,WAAA;KACA,UAAA;KACA,CAAA;IACF,kBAAC,GAAD;KAAQ,MAAK;KAAS,WAAW;eAC9B,EAAE,wCAAwC;KACpC,CAAA;IACJ;;EACG,CAAA,EAKd,kBAAC,GAAD;EAAY,OAAO,EAAE,kCAAkC;YACpD;EACU,CAAA"}
@@ -0,0 +1,65 @@
1
+ import { helper as e, stack as t } from "../login/loginPage.css.js";
2
+ import { useSharedTranslation as n } from "../../i18n/useSharedTranslation.js";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ import { Button as a } from "@plumile/ui";
5
+ import { FormError as o } from "@plumile/ui/atomic/molecules/form_error/FormError.js";
6
+ import { useEffect as s, useMemo as c, useState as l } from "react";
7
+ import { AuthLayout as u } from "@plumile/ui/atomic/templates/auth_layout/AuthLayout.js";
8
+ //#region src/auth/pages/VerifyEmailScreen.tsx
9
+ var d = ({ onBackToLogin: d, onVerifyEmail: f, token: p }) => {
10
+ let { t: m } = n(), [h, g] = l("pending"), [_, v] = l(null), y = c(() => p ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [p]);
11
+ s(() => {
12
+ if (y === "") {
13
+ g("error"), v(m("auth.verifyEmail.errors.missingToken"));
14
+ return;
15
+ }
16
+ f({ token: y }).then((e) => {
17
+ e ? g("success") : (g("error"), v(m("auth.verifyEmail.errors.invalid")));
18
+ }).catch((e) => {
19
+ g("error"), v(e instanceof Error ? e.message : m("auth.verifyEmail.errors.invalid"));
20
+ });
21
+ }, [
22
+ f,
23
+ y,
24
+ m
25
+ ]);
26
+ let b;
27
+ return b = h === "success" ? /* @__PURE__ */ i("div", {
28
+ className: t,
29
+ children: [/* @__PURE__ */ r("p", {
30
+ className: e,
31
+ children: m("auth.verifyEmail.status.success")
32
+ }), /* @__PURE__ */ r(a, {
33
+ type: "button",
34
+ variant: "secondary",
35
+ onClick: d,
36
+ children: m("auth.verifyEmail.actions.continue")
37
+ })]
38
+ }) : h === "error" ? /* @__PURE__ */ i("div", {
39
+ className: t,
40
+ children: [_ == null ? null : /* @__PURE__ */ r(o, { children: _ }), /* @__PURE__ */ r(a, {
41
+ type: "button",
42
+ variant: "secondary",
43
+ onClick: d,
44
+ children: m("auth.verifyEmail.actions.return")
45
+ })]
46
+ }) : /* @__PURE__ */ i("div", {
47
+ className: t,
48
+ children: [/* @__PURE__ */ r("p", {
49
+ className: e,
50
+ children: m("auth.verifyEmail.status.verifying")
51
+ }), /* @__PURE__ */ r(a, {
52
+ type: "button",
53
+ isLoading: !0,
54
+ children: m("auth.verifyEmail.status.verifyingButton")
55
+ })]
56
+ }), /* @__PURE__ */ r(u, {
57
+ title: m("auth.verifyEmail.title"),
58
+ subtitle: m("auth.verifyEmail.subtitle"),
59
+ children: b
60
+ });
61
+ };
62
+ //#endregion
63
+ export { d as VerifyEmailScreen };
64
+
65
+ //# sourceMappingURL=VerifyEmailScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerifyEmailScreen.js","names":[],"sources":["../../../../src/auth/pages/VerifyEmailScreen.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport { useEffect, useMemo, useState, type JSX } from 'react';\nimport { useSharedTranslation } from '../../i18n/useSharedTranslation.js';\n\nimport { AuthLayout } from '@plumile/ui/atomic/templates/auth_layout/AuthLayout.js';\nimport { Button } from '@plumile/ui';\nimport { FormError } from '@plumile/ui/atomic/molecules/form_error/FormError.js';\n\nimport * as styles from '../login/loginPage.css.js';\n\ntype VerificationState = 'pending' | 'success' | 'error';\n\ntype Props = {\n onBackToLogin: () => void;\n onVerifyEmail: (input: { token: string }) => Promise<boolean>;\n token?: string;\n};\n\nexport const VerifyEmailScreen = ({\n onBackToLogin,\n onVerifyEmail,\n token,\n}: Props): JSX.Element => {\n const { t } = useSharedTranslation();\n const [state, setState] = useState<VerificationState>('pending');\n const [error, setError] = useState<string | null>(null);\n\n const resolvedToken = useMemo(() => {\n if (token != null) {\n return token;\n }\n if (typeof window === 'undefined') {\n return '';\n }\n const params = new URLSearchParams(window.location.search);\n return params.get('token') ?? '';\n }, [token]);\n\n useEffect(() => {\n if (resolvedToken === '') {\n setState('error');\n setError(t('auth.verifyEmail.errors.missingToken'));\n return;\n }\n\n // TODO: fix that !\n // eslint-disable-next-line no-void\n void onVerifyEmail({ token: resolvedToken })\n .then((success) => {\n if (success) {\n setState('success');\n } else {\n setState('error');\n setError(t('auth.verifyEmail.errors.invalid'));\n }\n })\n .catch((mutationError) => {\n setState('error');\n setError(\n mutationError instanceof Error\n ? mutationError.message\n : t('auth.verifyEmail.errors.invalid'),\n );\n });\n }, [onVerifyEmail, resolvedToken, t]);\n\n let content: JSX.Element;\n if (state === 'success') {\n content = (\n <div className={styles.stack}>\n <p className={styles.helper}>{t('auth.verifyEmail.status.success')}</p>\n <Button type=\"button\" variant=\"secondary\" onClick={onBackToLogin}>\n {t('auth.verifyEmail.actions.continue')}\n </Button>\n </div>\n );\n } else if (state === 'error') {\n content = (\n <div className={styles.stack}>\n {error != null ? <FormError>{error}</FormError> : null}\n <Button type=\"button\" variant=\"secondary\" onClick={onBackToLogin}>\n {t('auth.verifyEmail.actions.return')}\n </Button>\n </div>\n );\n } else {\n content = (\n <div className={styles.stack}>\n <p className={styles.helper}>\n {t('auth.verifyEmail.status.verifying')}\n </p>\n <Button type=\"button\" isLoading>\n {t('auth.verifyEmail.status.verifyingButton')}\n </Button>\n </div>\n );\n }\n\n return (\n <AuthLayout\n title={t('auth.verifyEmail.title')}\n subtitle={t('auth.verifyEmail.subtitle')}\n >\n {content}\n </AuthLayout>\n );\n};\n"],"mappings":";;;;;;;;AAkBA,IAAa,KAAqB,EAChC,kBACA,kBACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAAsB,EAC9B,CAAC,GAAO,KAAY,EAA4B,UAAU,EAC1D,CAAC,GAAO,KAAY,EAAwB,KAAK,EAEjD,IAAgB,QAChB,MAGA,OAAO,SAAW,MACb,KAEM,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC;AAEX,SAAgB;AACd,MAAI,MAAkB,IAAI;AAExB,GADA,EAAS,QAAQ,EACjB,EAAS,EAAE,uCAAuC,CAAC;AACnD;;AAKG,IAAc,EAAE,OAAO,GAAe,CAAC,CACzC,MAAM,MAAY;AACjB,GAAI,IACF,EAAS,UAAU,IAEnB,EAAS,QAAQ,EACjB,EAAS,EAAE,kCAAkC,CAAC;IAEhD,CACD,OAAO,MAAkB;AAExB,GADA,EAAS,QAAQ,EACjB,EACE,aAAyB,QACrB,EAAc,UACd,EAAE,kCAAkC,CACzC;IACD;IACH;EAAC;EAAe;EAAe;EAAE,CAAC;CAErC,IAAI;AAgCJ,QA/BA,AAmBE,IAnBE,MAAU,YAEV,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,KAAD;GAAG,WAAW;aAAgB,EAAE,kCAAkC;GAAK,CAAA,EACvE,kBAAC,GAAD;GAAQ,MAAK;GAAS,SAAQ;GAAY,SAAS;aAChD,EAAE,oCAAoC;GAChC,CAAA,CACL;MAEC,MAAU,UAEjB,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACG,KAAS,OAAwC,OAAjC,kBAAC,GAAD,EAAA,UAAY,GAAkB,CAAA,EAC/C,kBAAC,GAAD;GAAQ,MAAK;GAAS,SAAQ;GAAY,SAAS;aAChD,EAAE,kCAAkC;GAC9B,CAAA,CACL;MAIN,kBAAC,OAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,KAAD;GAAG,WAAW;aACX,EAAE,oCAAoC;GACrC,CAAA,EACJ,kBAAC,GAAD;GAAQ,MAAK;GAAS,WAAA;aACnB,EAAE,0CAA0C;GACtC,CAAA,CACL;KAKR,kBAAC,GAAD;EACE,OAAO,EAAE,yBAAyB;EAClC,UAAU,EAAE,4BAA4B;YAEvC;EACU,CAAA"}