@plumile/backoffice-react 0.1.105 → 0.1.106

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 (633) hide show
  1. package/lib/esm/_virtual/_rolldown/runtime.js +7 -0
  2. package/lib/esm/auth/AuthRefreshNotice.js +38 -0
  3. package/lib/esm/auth/AuthRefreshNotice.js.map +1 -0
  4. package/lib/esm/auth/TotpQrCode.js +28 -0
  5. package/lib/esm/auth/TotpQrCode.js.map +1 -0
  6. package/lib/esm/auth/authRefreshNotice.css.js +7 -0
  7. package/lib/esm/auth/authRefreshNotice.css.js.map +1 -0
  8. package/lib/esm/{AuthPanel-BaIRFGbX.js → auth/login/AuthPanel.js} +7 -7
  9. package/lib/esm/auth/login/AuthPanel.js.map +1 -0
  10. package/lib/esm/auth/login/EmailCapturePanel.js +50 -0
  11. package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -0
  12. package/lib/esm/auth/login/LoginFlow.js +130 -0
  13. package/lib/esm/auth/login/LoginFlow.js.map +1 -0
  14. package/lib/esm/auth/login/MethodChooser.js +49 -0
  15. package/lib/esm/auth/login/MethodChooser.js.map +1 -0
  16. package/lib/esm/auth/login/MfaChallengeForm.js +80 -0
  17. package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -0
  18. package/lib/esm/auth/login/OidcButtons.js +29 -0
  19. package/lib/esm/auth/login/OidcButtons.js.map +1 -0
  20. package/lib/esm/auth/login/PasskeyLoginForm.js +81 -0
  21. package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -0
  22. package/lib/esm/auth/login/PasswordLoginPanel.js +37 -0
  23. package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -0
  24. package/lib/esm/auth/login/loginPage.css.js +7 -0
  25. package/lib/esm/auth/login/loginPage.css.js.map +1 -0
  26. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js +10 -0
  27. package/lib/esm/auth/login/synchronizeAuthStatusQuery.js.map +1 -0
  28. package/lib/esm/{AcceptInvitationScreen-VaWXQPHp.js → auth/pages/AcceptInvitationScreen.js} +11 -11
  29. package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -0
  30. package/lib/esm/{PasswordResetCompleteScreen-Cgg96DPo.js → auth/pages/PasswordResetCompleteScreen.js} +10 -10
  31. package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -0
  32. package/lib/esm/{PasswordResetRequestScreen-I1nFvGLd.js → auth/pages/PasswordResetRequestScreen.js} +10 -10
  33. package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -0
  34. package/lib/esm/{VerifyEmailScreen-Br5KyHjg.js → auth/pages/VerifyEmailScreen.js} +7 -7
  35. package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -0
  36. package/lib/esm/{BackofficeEntityActionFormDialog-DrZxuytz.js → components/backoffice/actions/BackofficeEntityActionFormDialog.js} +123 -121
  37. package/lib/esm/{BackofficeEntityActionFormDialog-DrZxuytz.js.map → components/backoffice/actions/BackofficeEntityActionFormDialog.js.map} +1 -1
  38. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js +26 -0
  39. package/lib/esm/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.js.map +1 -0
  40. package/lib/esm/{backofficeEntityActionFormDialog.css-DJgEKwaA.js → components/backoffice/actions/backofficeEntityActionFormDialog.css.js} +3 -2
  41. package/lib/esm/{backofficeEntityActionFormDialog.css-DJgEKwaA.js.map → components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map} +1 -1
  42. package/lib/esm/{toastViewAction-DQYlcGOL.js → components/backoffice/actions/toastViewAction.js} +2 -2
  43. package/lib/esm/{toastViewAction-DQYlcGOL.js.map → components/backoffice/actions/toastViewAction.js.map} +1 -1
  44. package/lib/esm/{buildDataTableColumns-DdmF-EYq.js → components/backoffice/columns/buildDataTableColumns.js} +18 -18
  45. package/lib/esm/{buildDataTableColumns-DdmF-EYq.js.map → components/backoffice/columns/buildDataTableColumns.js.map} +1 -1
  46. package/lib/esm/components/backoffice/detail/BackofficeAuditMetadataPanel.js +31 -0
  47. package/lib/esm/components/backoffice/detail/BackofficeAuditMetadataPanel.js.map +1 -0
  48. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js +22 -0
  49. package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -0
  50. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +40 -0
  51. package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -0
  52. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js +30 -0
  53. package/lib/esm/components/backoffice/detail/BackofficeDetailField.js.map +1 -0
  54. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js +7 -0
  55. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.css.js.map +1 -0
  56. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js +24 -0
  57. package/lib/esm/components/backoffice/detail/BackofficeDetailFlagTag.js.map +1 -0
  58. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js +20 -0
  59. package/lib/esm/components/backoffice/detail/BackofficeDetailLayout.js.map +1 -0
  60. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js +18 -0
  61. package/lib/esm/components/backoffice/detail/BackofficeDetailPayload.js.map +1 -0
  62. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js +56 -0
  63. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationLink.js.map +1 -0
  64. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js +11 -0
  65. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationList.js.map +1 -0
  66. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js +123 -0
  67. package/lib/esm/components/backoffice/detail/BackofficeDetailRelationListBlock.js.map +1 -0
  68. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js +36 -0
  69. package/lib/esm/components/backoffice/detail/BackofficeDetailSection.js.map +1 -0
  70. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js +18 -0
  71. package/lib/esm/components/backoffice/detail/BackofficeDetailTaggedValue.js.map +1 -0
  72. package/lib/esm/components/backoffice/detail/BackofficeEntityRefLink.js +17 -0
  73. package/lib/esm/components/backoffice/detail/BackofficeEntityRefLink.js.map +1 -0
  74. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +72 -0
  75. package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js.map +1 -0
  76. package/lib/esm/components/backoffice/detail/BackofficeEnumLabel.js +11 -0
  77. package/lib/esm/components/backoffice/detail/BackofficeEnumLabel.js.map +1 -0
  78. package/lib/esm/components/backoffice/detail/BackofficeKpiStrip.js +35 -0
  79. package/lib/esm/components/backoffice/detail/BackofficeKpiStrip.js.map +1 -0
  80. package/lib/esm/components/backoffice/detail/BackofficeLifecycleTimelineSection.js +37 -0
  81. package/lib/esm/components/backoffice/detail/BackofficeLifecycleTimelineSection.js.map +1 -0
  82. package/lib/esm/components/backoffice/detail/BackofficePayloadInspectorSection.js +36 -0
  83. package/lib/esm/components/backoffice/detail/BackofficePayloadInspectorSection.js.map +1 -0
  84. package/lib/esm/components/backoffice/detail/BackofficeReferenceValue.js +22 -0
  85. package/lib/esm/components/backoffice/detail/BackofficeReferenceValue.js.map +1 -0
  86. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +43 -0
  87. package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js.map +1 -0
  88. package/lib/esm/components/backoffice/detail/BackofficeScopeStack.js +28 -0
  89. package/lib/esm/components/backoffice/detail/BackofficeScopeStack.js.map +1 -0
  90. package/lib/esm/components/backoffice/detail/BackofficeStatusMetaBadge.js +27 -0
  91. package/lib/esm/components/backoffice/detail/BackofficeStatusMetaBadge.js.map +1 -0
  92. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js +37 -0
  93. package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js.map +1 -0
  94. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +84 -0
  95. package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -0
  96. package/lib/esm/components/backoffice/detail/backofficeAuditMetadataPanel.css.js +7 -0
  97. package/lib/esm/components/backoffice/detail/backofficeAuditMetadataPanel.css.js.map +1 -0
  98. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +7 -0
  99. package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -0
  100. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +7 -0
  101. package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -0
  102. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js +15 -0
  103. package/lib/esm/components/backoffice/detail/backofficeDetailField.css.js.map +1 -0
  104. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +7 -0
  105. package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -0
  106. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js +7 -0
  107. package/lib/esm/components/backoffice/detail/backofficeDetailRelationLink.css.js.map +1 -0
  108. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +7 -0
  109. package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -0
  110. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js +7 -0
  111. package/lib/esm/components/backoffice/detail/backofficeDetailSection.css.js.map +1 -0
  112. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js +7 -0
  113. package/lib/esm/components/backoffice/detail/backofficeDetailTaggedValue.css.js.map +1 -0
  114. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +7 -0
  115. package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js.map +1 -0
  116. package/lib/esm/components/backoffice/detail/backofficeKpiStrip.css.js +7 -0
  117. package/lib/esm/components/backoffice/detail/backofficeKpiStrip.css.js.map +1 -0
  118. package/lib/esm/components/backoffice/detail/backofficeLifecycleTimelineSection.css.js +7 -0
  119. package/lib/esm/components/backoffice/detail/backofficeLifecycleTimelineSection.css.js.map +1 -0
  120. package/lib/esm/components/backoffice/detail/backofficePayloadInspectorSection.css.js +7 -0
  121. package/lib/esm/components/backoffice/detail/backofficePayloadInspectorSection.css.js.map +1 -0
  122. package/lib/esm/components/backoffice/detail/backofficeReferenceValue.css.js +7 -0
  123. package/lib/esm/components/backoffice/detail/backofficeReferenceValue.css.js.map +1 -0
  124. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +7 -0
  125. package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js.map +1 -0
  126. package/lib/esm/components/backoffice/detail/backofficeScopeStack.css.js +7 -0
  127. package/lib/esm/components/backoffice/detail/backofficeScopeStack.css.js.map +1 -0
  128. package/lib/esm/components/backoffice/detail/backofficeStatusMetaBadge.css.js +7 -0
  129. package/lib/esm/components/backoffice/detail/backofficeStatusMetaBadge.css.js.map +1 -0
  130. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +7 -0
  131. package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js.map +1 -0
  132. package/lib/esm/components/backoffice/detail/createBackofficeEntityLinkProps.js +21 -0
  133. package/lib/esm/components/backoffice/detail/createBackofficeEntityLinkProps.js.map +1 -0
  134. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js +17 -0
  135. package/lib/esm/components/backoffice/detail/detailPayloadUtils.js.map +1 -0
  136. package/lib/esm/{BackofficeErrorBoundary-BwRVSDHU.js → components/backoffice/errors/BackofficeErrorBoundary.js} +2 -2
  137. package/lib/esm/{BackofficeErrorBoundary-BwRVSDHU.js.map → components/backoffice/errors/BackofficeErrorBoundary.js.map} +1 -1
  138. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +46 -0
  139. package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -0
  140. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js +67 -0
  141. package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js.map +1 -0
  142. package/lib/esm/components/backoffice/filters/EntityFilterValue.js +46 -0
  143. package/lib/esm/components/backoffice/filters/EntityFilterValue.js.map +1 -0
  144. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +65 -0
  145. package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -0
  146. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +7 -0
  147. package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -0
  148. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +7 -0
  149. package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js.map +1 -0
  150. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +7 -0
  151. package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -0
  152. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +83 -0
  153. package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js.map +1 -0
  154. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +7 -0
  155. package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js.map +1 -0
  156. package/lib/esm/{BackofficePermissionsContext-C2bdxy2z.js → components/backoffice/layout/BackofficePermissionsContext.js} +2 -2
  157. package/lib/esm/{BackofficePermissionsContext-C2bdxy2z.js.map → components/backoffice/layout/BackofficePermissionsContext.js.map} +1 -1
  158. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +7 -0
  159. package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -0
  160. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js +10 -0
  161. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeRightPageLayout.js.map +1 -0
  162. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +69 -0
  163. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -0
  164. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js +12 -0
  165. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortal.js.map +1 -0
  166. package/lib/esm/{BackofficeTopbarPortalContext-Da5XFatM.js → components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js} +2 -2
  167. package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.js.map +1 -0
  168. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js +16 -0
  169. package/lib/esm/components/backoffice/layout/breadcrumb/assertValidBreadcrumb.js.map +1 -0
  170. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +7 -0
  171. package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -0
  172. package/lib/esm/{buildBreadcrumbs-C5St167Y.js → components/backoffice/layout/breadcrumb/buildBreadcrumbs.js} +7 -3
  173. package/lib/esm/components/backoffice/layout/breadcrumb/buildBreadcrumbs.js.map +1 -0
  174. package/lib/esm/components/backoffice/layout/breadcrumb/types.js +0 -0
  175. package/lib/esm/components/backoffice/layout/buildSidebarSections.js +301 -0
  176. package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -0
  177. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +18 -0
  178. package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -0
  179. package/lib/esm/{sidebarUtils-BgCBLJLv.js → components/backoffice/layout/sidebarUtils.js} +32 -22
  180. package/lib/esm/{sidebarUtils-BgCBLJLv.js.map → components/backoffice/layout/sidebarUtils.js.map} +1 -1
  181. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +7 -0
  182. package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -0
  183. package/lib/esm/components/backoffice/list/RowFlagsCell.js +37 -0
  184. package/lib/esm/components/backoffice/list/RowFlagsCell.js.map +1 -0
  185. package/lib/esm/components/backoffice/lists/BackofficeListToolbar.js +33 -0
  186. package/lib/esm/components/backoffice/lists/BackofficeListToolbar.js.map +1 -0
  187. package/lib/esm/components/backoffice/lists/backofficeListToolbar.css.js +13 -0
  188. package/lib/esm/components/backoffice/lists/backofficeListToolbar.css.js.map +1 -0
  189. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +31 -0
  190. package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -0
  191. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +7 -0
  192. package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -0
  193. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +117 -0
  194. package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -0
  195. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +7 -0
  196. package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -0
  197. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js +27 -0
  198. package/lib/esm/components/backoffice/pickers/shared/EntityPickerList.js.map +1 -0
  199. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js +23 -0
  200. package/lib/esm/components/backoffice/pickers/shared/EntityPickerRowBase.js.map +1 -0
  201. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js +28 -0
  202. package/lib/esm/components/backoffice/pickers/shared/EntityPickerShell.js.map +1 -0
  203. package/lib/esm/components/backoffice/pickers/types.js +0 -0
  204. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js +35 -0
  205. package/lib/esm/components/backoffice/refs/BackofficeEntityIdRef.js.map +1 -0
  206. package/lib/esm/components/backoffice/refs/BackofficeEntityLink.js +30 -0
  207. package/lib/esm/components/backoffice/refs/BackofficeEntityLink.js.map +1 -0
  208. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js +65 -0
  209. package/lib/esm/components/backoffice/refs/BackofficeRelatedCountLink.js.map +1 -0
  210. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js +7 -0
  211. package/lib/esm/components/backoffice/refs/backofficeEntityIdRef.css.js.map +1 -0
  212. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +7 -0
  213. package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -0
  214. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js +24 -0
  215. package/lib/esm/components/backoffice/routing/BackofficeContentBoundary.js.map +1 -0
  216. package/lib/esm/components/backoffice/routing/BackofficeContentError.js +27 -0
  217. package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -0
  218. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js +47 -0
  219. package/lib/esm/components/backoffice/routing/BackofficeContentFallback.js.map +1 -0
  220. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +25 -0
  221. package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -0
  222. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js +12 -0
  223. package/lib/esm/components/backoffice/routing/BackofficeRoutePendingBar.js.map +1 -0
  224. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +7 -0
  225. package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -0
  226. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +7 -0
  227. package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -0
  228. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +7 -0
  229. package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -0
  230. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js +7 -0
  231. package/lib/esm/components/backoffice/routing/backofficeRouteFallback.css.js.map +1 -0
  232. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js +7 -0
  233. package/lib/esm/components/backoffice/routing/backofficeRoutePendingBar.css.js.map +1 -0
  234. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js +12 -0
  235. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.js.map +1 -0
  236. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +506 -0
  237. package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -0
  238. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js +40 -0
  239. package/lib/esm/components/backoffice/scaffolds/BackofficeListFilterContext.js.map +1 -0
  240. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +24 -0
  241. package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -0
  242. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +7 -0
  243. package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -0
  244. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +7 -0
  245. package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -0
  246. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js +41 -0
  247. package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js.map +1 -0
  248. package/lib/esm/components/backoffice/shared/BackofficeFormattedCurrency.js +17 -0
  249. package/lib/esm/components/backoffice/shared/BackofficeFormattedCurrency.js.map +1 -0
  250. package/lib/esm/components/backoffice/shared/BackofficeFormattedNumber.js +17 -0
  251. package/lib/esm/components/backoffice/shared/BackofficeFormattedNumber.js.map +1 -0
  252. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +12 -0
  253. package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -0
  254. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +16 -0
  255. package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js.map +1 -0
  256. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +7 -0
  257. package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -0
  258. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +41 -0
  259. package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -0
  260. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +48 -0
  261. package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -0
  262. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +63 -0
  263. package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -0
  264. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js +35 -0
  265. package/lib/esm/components/backoffice/tools/BackofficeToolsQueryBoundary.js.map +1 -0
  266. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +7 -0
  267. package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -0
  268. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +7 -0
  269. package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -0
  270. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +7 -0
  271. package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -0
  272. package/lib/esm/components/backoffice/tools/parseToolJson.js +13 -0
  273. package/lib/esm/components/backoffice/tools/parseToolJson.js.map +1 -0
  274. package/lib/esm/filters/filterHelpers.js +26 -0
  275. package/lib/esm/filters/filterHelpers.js.map +1 -0
  276. package/lib/esm/hooks/useAuth.js +444 -0
  277. package/lib/esm/hooks/useAuth.js.map +1 -0
  278. package/lib/esm/hooks/useBackofficeAuth.js +89 -0
  279. package/lib/esm/hooks/useBackofficeAuth.js.map +1 -0
  280. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js +39 -0
  281. package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js.map +1 -0
  282. package/lib/esm/hooks/useBackofficeListRefetch.js +50 -0
  283. package/lib/esm/hooks/useBackofficeListRefetch.js.map +1 -0
  284. package/lib/esm/{useBackofficeListUrlState-Ca6d7uIN.js → hooks/useBackofficeListUrlState.js} +2 -2
  285. package/lib/esm/hooks/useBackofficeListUrlState.js.map +1 -0
  286. package/lib/esm/hooks/useBackofficeLoadMore.js +18 -0
  287. package/lib/esm/hooks/useBackofficeLoadMore.js.map +1 -0
  288. package/lib/esm/hooks/useBackofficeSessionAuth.js +33 -0
  289. package/lib/esm/hooks/useBackofficeSessionAuth.js.map +1 -0
  290. package/lib/esm/hooks/useBackofficeSidebarPins.js +89 -0
  291. package/lib/esm/hooks/useBackofficeSidebarPins.js.map +1 -0
  292. package/lib/esm/hooks/useConditionalSubscription.js +63 -0
  293. package/lib/esm/hooks/useConditionalSubscription.js.map +1 -0
  294. package/lib/esm/hooks/useCopyToClipboard.js +31 -0
  295. package/lib/esm/hooks/useCopyToClipboard.js.map +1 -0
  296. package/lib/esm/hooks/useInfiniteConnection.js +95 -0
  297. package/lib/esm/hooks/useInfiniteConnection.js.map +1 -0
  298. package/lib/esm/hooks/useRefetchNeededReload.js +23 -0
  299. package/lib/esm/hooks/useRefetchNeededReload.js.map +1 -0
  300. package/lib/esm/hooks/useSidebarGroupCollapse.js +70 -0
  301. package/lib/esm/hooks/useSidebarGroupCollapse.js.map +1 -0
  302. package/lib/esm/i18n/createI18nInstance.js +68 -0
  303. package/lib/esm/i18n/createI18nInstance.js.map +1 -0
  304. package/lib/esm/i18n/locales/en/backofficeReact.js +436 -0
  305. package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -0
  306. package/lib/esm/i18n/locales/fr/backofficeReact.js +439 -0
  307. package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -0
  308. package/lib/esm/i18n/mergeResourceLanguages.js +22 -0
  309. package/lib/esm/i18n/mergeResourceLanguages.js.map +1 -0
  310. package/lib/esm/i18n/resources.js +23 -0
  311. package/lib/esm/i18n/resources.js.map +1 -0
  312. package/lib/esm/i18n/useBackofficeFormats.js +23 -0
  313. package/lib/esm/i18n/useBackofficeFormats.js.map +1 -0
  314. package/lib/esm/i18n/useBackofficeReactTranslation.js +9 -0
  315. package/lib/esm/i18n/useBackofficeReactTranslation.js.map +1 -0
  316. package/lib/esm/i18n/useReviewStatusLabel.js +19 -0
  317. package/lib/esm/i18n/useReviewStatusLabel.js.map +1 -0
  318. package/lib/esm/index.js +73 -0
  319. package/lib/esm/modules/base64.js +21 -0
  320. package/lib/esm/modules/base64.js.map +1 -0
  321. package/lib/esm/modules/formatFileSize.js +28 -0
  322. package/lib/esm/modules/formatFileSize.js.map +1 -0
  323. package/lib/esm/modules/sharedSchemaTypes.js +0 -0
  324. package/lib/esm/modules/webauthn.js +33 -0
  325. package/lib/esm/modules/webauthn.js.map +1 -0
  326. package/lib/esm/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +15 -0
  327. package/lib/esm/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +1 -0
  328. package/lib/esm/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +15 -0
  329. package/lib/esm/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +1 -0
  330. package/lib/esm/node_modules/@babel/runtime/helpers/defineProperty.js +20 -0
  331. package/lib/esm/node_modules/@babel/runtime/helpers/defineProperty.js.map +1 -0
  332. package/lib/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js +13 -0
  333. package/lib/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +1 -0
  334. package/lib/esm/node_modules/@babel/runtime/helpers/iterableToArray.js +13 -0
  335. package/lib/esm/node_modules/@babel/runtime/helpers/iterableToArray.js.map +1 -0
  336. package/lib/esm/node_modules/@babel/runtime/helpers/nonIterableSpread.js +13 -0
  337. package/lib/esm/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +1 -0
  338. package/lib/esm/node_modules/@babel/runtime/helpers/objectSpread2.js +33 -0
  339. package/lib/esm/node_modules/@babel/runtime/helpers/objectSpread2.js.map +1 -0
  340. package/lib/esm/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +19 -0
  341. package/lib/esm/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js.map +1 -0
  342. package/lib/esm/node_modules/@babel/runtime/helpers/toConsumableArray.js +18 -0
  343. package/lib/esm/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +1 -0
  344. package/lib/esm/node_modules/@babel/runtime/helpers/toPrimitive.js +22 -0
  345. package/lib/esm/node_modules/@babel/runtime/helpers/toPrimitive.js.map +1 -0
  346. package/lib/esm/node_modules/@babel/runtime/helpers/toPropertyKey.js +17 -0
  347. package/lib/esm/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +1 -0
  348. package/lib/esm/node_modules/@babel/runtime/helpers/typeof.js +18 -0
  349. package/lib/esm/node_modules/@babel/runtime/helpers/typeof.js.map +1 -0
  350. package/lib/esm/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +19 -0
  351. package/lib/esm/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +1 -0
  352. package/lib/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +80 -0
  353. package/lib/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
  354. package/lib/esm/node_modules/fbjs/lib/areEqual.js +42 -0
  355. package/lib/esm/node_modules/fbjs/lib/areEqual.js.map +1 -0
  356. package/lib/esm/node_modules/invariant/browser.js +30 -0
  357. package/lib/esm/node_modules/invariant/browser.js.map +1 -0
  358. package/lib/esm/node_modules/relay-test-utils/index.js +11 -0
  359. package/lib/esm/node_modules/relay-test-utils/index.js.map +1 -0
  360. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js +288 -0
  361. package/lib/esm/node_modules/relay-test-utils/lib/RelayMockPayloadGenerator.js.map +1 -0
  362. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js +183 -0
  363. package/lib/esm/node_modules/relay-test-utils/lib/RelayModernMockEnvironment.js.map +1 -0
  364. package/lib/esm/node_modules/relay-test-utils/lib/RelayResolverTestUtils.js +19 -0
  365. package/lib/esm/node_modules/relay-test-utils/lib/RelayResolverTestUtils.js.map +1 -0
  366. package/lib/esm/node_modules/relay-test-utils/lib/index.js +21 -0
  367. package/lib/esm/node_modules/relay-test-utils/lib/index.js.map +1 -0
  368. package/lib/esm/node_modules/relay-test-utils/lib/unwrapContainer.js +16 -0
  369. package/lib/esm/node_modules/relay-test-utils/lib/unwrapContainer.js.map +1 -0
  370. package/lib/esm/pages/BackofficeAcceptInvitationPage.js +24 -0
  371. package/lib/esm/pages/BackofficeAcceptInvitationPage.js.map +1 -0
  372. package/lib/esm/pages/BackofficeDashboardPage.helpers.js +18 -0
  373. package/lib/esm/pages/BackofficeDashboardPage.helpers.js.map +1 -0
  374. package/lib/esm/pages/BackofficeDashboardPage.js +266 -0
  375. package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -0
  376. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +18 -0
  377. package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -0
  378. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js +14 -0
  379. package/lib/esm/pages/BackofficeEntityDetailPage.helpers.js.map +1 -0
  380. package/lib/esm/pages/BackofficeEntityDetailPage.js +474 -0
  381. package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -0
  382. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js +414 -0
  383. package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js.map +1 -0
  384. package/lib/esm/{BackofficeEntityDetailUnknownPageRedirect-Iu4R3WvX.js → pages/BackofficeEntityDetailUnknownPageRedirect.js} +3 -3
  385. package/lib/esm/pages/BackofficeEntityDetailUnknownPageRedirect.js.map +1 -0
  386. package/lib/esm/pages/BackofficeEntityListPage.helpers.js +37 -0
  387. package/lib/esm/pages/BackofficeEntityListPage.helpers.js.map +1 -0
  388. package/lib/esm/pages/BackofficeEntityListPage.js +381 -0
  389. package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -0
  390. package/lib/esm/{BackofficeHubPage-DOePQ8Fc.js → pages/BackofficeHubPage.js} +29 -28
  391. package/lib/esm/pages/BackofficeHubPage.js.map +1 -0
  392. package/lib/esm/pages/BackofficeLayoutPage.js +273 -0
  393. package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -0
  394. package/lib/esm/pages/BackofficeLoginPage.js +47 -0
  395. package/lib/esm/pages/BackofficeLoginPage.js.map +1 -0
  396. package/lib/esm/{BackofficePasswordResetCompletePage-Cit5sdDm.js → pages/BackofficePasswordResetCompletePage.js} +16 -15
  397. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  398. package/lib/esm/{BackofficePasswordResetRequestPage-B_TurHev.js → pages/BackofficePasswordResetRequestPage.js} +12 -12
  399. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  400. package/lib/esm/{BackofficeVerifyEmailPage-DQbFIob1.js → pages/BackofficeVerifyEmailPage.js} +16 -15
  401. package/lib/esm/pages/BackofficeVerifyEmailPage.js.map +1 -0
  402. package/lib/esm/pages/backofficeDashboardPage.css.js +7 -0
  403. package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -0
  404. package/lib/esm/pages/backofficeEntityDetailPage.css.js +7 -0
  405. package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -0
  406. package/lib/esm/pages/backofficeEntityListPage.css.js +7 -0
  407. package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -0
  408. package/lib/esm/pages/dashboard/DashboardMetricGroup.js +25 -0
  409. package/lib/esm/pages/dashboard/DashboardMetricGroup.js.map +1 -0
  410. package/lib/esm/pages/dashboard/DashboardPanel.js +15 -0
  411. package/lib/esm/pages/dashboard/DashboardPanel.js.map +1 -0
  412. package/lib/esm/pages/dashboard/DashboardQuickActions.js +27 -0
  413. package/lib/esm/pages/dashboard/DashboardQuickActions.js.map +1 -0
  414. package/lib/esm/pages/dashboard/DashboardStatusList.js +28 -0
  415. package/lib/esm/pages/dashboard/DashboardStatusList.js.map +1 -0
  416. package/lib/esm/pages/dashboard/dashboardMetricGroup.css.js +8 -0
  417. package/lib/esm/pages/dashboard/dashboardMetricGroup.css.js.map +1 -0
  418. package/lib/esm/pages/dashboard/dashboardPanel.css.js +7 -0
  419. package/lib/esm/pages/dashboard/dashboardPanel.css.js.map +1 -0
  420. package/lib/esm/pages/dashboard/dashboardQuickActions.css.js +7 -0
  421. package/lib/esm/pages/dashboard/dashboardQuickActions.css.js.map +1 -0
  422. package/lib/esm/pages/dashboard/dashboardStatusList.css.js +7 -0
  423. package/lib/esm/pages/dashboard/dashboardStatusList.css.js.map +1 -0
  424. package/lib/esm/{BackofficeEntityDetailLayoutContext-C5G-PH28.js → pages/detail/BackofficeEntityDetailLayoutContext.js} +2 -2
  425. package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -0
  426. package/lib/esm/pages/detail/buildTabsItems.js +10 -0
  427. package/lib/esm/pages/detail/buildTabsItems.js.map +1 -0
  428. package/lib/esm/{pageResolution-CUaTq4Ql.js → pages/detail/pageResolution.js} +2 -2
  429. package/lib/esm/pages/detail/pageResolution.js.map +1 -0
  430. package/lib/esm/provider/BackofficeConfigContext.js +12 -0
  431. package/lib/esm/provider/BackofficeConfigContext.js.map +1 -0
  432. package/lib/esm/provider/BackofficeProvider.js +171 -0
  433. package/lib/esm/provider/BackofficeProvider.js.map +1 -0
  434. package/lib/esm/provider/entityRegistry.js +95 -0
  435. package/lib/esm/provider/entityRegistry.js.map +1 -0
  436. package/lib/esm/provider/lazyValue.js +14 -0
  437. package/lib/esm/provider/lazyValue.js.map +1 -0
  438. package/lib/esm/provider/types.js +0 -0
  439. package/lib/esm/provider/useBackofficeEntityLoader.js +141 -0
  440. package/lib/esm/provider/useBackofficeEntityLoader.js.map +1 -0
  441. package/lib/esm/{useBackofficeLazyValue-CW9xfRzQ.js → provider/useBackofficeLazyValue.js} +15 -7
  442. package/lib/esm/provider/useBackofficeLazyValue.js.map +1 -0
  443. package/lib/esm/relay/RelayProvider.js +13 -0
  444. package/lib/esm/relay/RelayProvider.js.map +1 -0
  445. package/lib/esm/relay/connectionUtils.js +19 -0
  446. package/lib/esm/relay/connectionUtils.js.map +1 -0
  447. package/lib/esm/relay/createInlineDataReader.js +2 -0
  448. package/lib/esm/relay/createInlineReader.js +7 -0
  449. package/lib/esm/relay/createInlineReader.js.map +1 -0
  450. package/lib/esm/relay/envHelpers.js +55 -0
  451. package/lib/esm/relay/envHelpers.js.map +1 -0
  452. package/lib/esm/{environment-DQfVyWHJ.js → relay/environment.js} +90 -100
  453. package/lib/esm/relay/environment.js.map +1 -0
  454. package/lib/esm/relay/identityView.js +6 -0
  455. package/lib/esm/relay/identityView.js.map +1 -0
  456. package/lib/esm/{mutationResult-C2Vb_vPt.js → relay/mutationResult.js} +2 -2
  457. package/lib/esm/relay/mutationResult.js.map +1 -0
  458. package/lib/esm/{useRelayEnvironment-vQ86aW-n.js → relay/useRelayEnvironment.js} +2 -2
  459. package/lib/esm/relay/useRelayEnvironment.js.map +1 -0
  460. package/lib/esm/{backofficeAuthPaths-2hHNn8D3.js → router/backofficeAuthPaths.js} +2 -2
  461. package/lib/esm/router/backofficeAuthPaths.js.map +1 -0
  462. package/lib/esm/router/createBackofficeRoutes.js +322 -0
  463. package/lib/esm/router/createBackofficeRoutes.js.map +1 -0
  464. package/lib/esm/storybook/relay/RelayStory.css.js +7 -0
  465. package/lib/esm/storybook/relay/RelayStory.css.js.map +1 -0
  466. package/lib/esm/storybook/relay/RelayStory.js +86 -0
  467. package/lib/esm/storybook/relay/RelayStory.js.map +1 -0
  468. package/lib/esm/storybook/relay/mockResolvers.js +99 -0
  469. package/lib/esm/storybook/relay/mockResolvers.js.map +1 -0
  470. package/lib/esm/storybook/relay/relay-test-utils.d.js +0 -0
  471. package/lib/esm/style.css +1 -1
  472. package/lib/esm/style.js +1 -0
  473. package/lib/esm/subscriptions/useCursorResumableSubscription.js +29 -0
  474. package/lib/esm/subscriptions/useCursorResumableSubscription.js.map +1 -0
  475. package/lib/types/auth/AuthRefreshNotice.d.ts +14 -0
  476. package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -0
  477. package/lib/types/auth/TotpQrCode.d.ts +17 -0
  478. package/lib/types/auth/TotpQrCode.d.ts.map +1 -0
  479. package/lib/types/auth/authRefreshNotice.css.d.ts +4 -0
  480. package/lib/types/auth/authRefreshNotice.css.d.ts.map +1 -0
  481. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts +19 -0
  482. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts.map +1 -0
  483. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts +15 -0
  484. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts.map +1 -0
  485. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts +34 -0
  486. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -0
  487. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts +9 -0
  488. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts.map +1 -0
  489. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts +17 -0
  490. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts +20 -0
  492. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts.map +1 -0
  493. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts +15 -0
  494. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts.map +1 -0
  495. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts +9 -0
  496. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts.map +1 -0
  497. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +17 -0
  498. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -0
  499. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts +13 -0
  500. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts.map +1 -0
  501. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts +13 -0
  502. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts.map +1 -0
  503. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts +18 -0
  504. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -0
  505. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +31 -0
  506. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -0
  507. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts +5 -0
  508. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts.map +1 -0
  509. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts +12 -0
  510. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts.map +1 -0
  511. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts +5 -0
  512. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts.map +1 -0
  513. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts +3 -0
  514. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts.map +1 -0
  515. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts +4 -0
  516. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts.map +1 -0
  517. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts +3 -0
  518. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts.map +1 -0
  519. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts +6 -0
  520. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts.map +1 -0
  521. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts +5 -0
  522. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts.map +1 -0
  523. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts +2 -0
  524. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts.map +1 -0
  525. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts +7 -0
  526. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts.map +1 -0
  527. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts +30 -0
  528. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts.map +1 -0
  529. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts +12 -0
  530. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts.map +1 -0
  531. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts +12 -0
  532. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts.map +1 -0
  533. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts +11 -0
  534. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts.map +1 -0
  535. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts +15 -0
  536. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts.map +1 -0
  537. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts +11 -0
  538. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts.map +1 -0
  539. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts +9 -0
  540. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts.map +1 -0
  541. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts +9 -0
  542. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts.map +1 -0
  543. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  544. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  545. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  546. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  547. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  548. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  549. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  550. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  551. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  552. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  553. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +7 -0
  554. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  555. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  556. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  557. package/lib/types/components/backoffice/tools/parseToolJson.d.ts +2 -0
  558. package/lib/types/components/backoffice/tools/parseToolJson.d.ts.map +1 -0
  559. package/lib/types/hooks/useInfiniteConnection.d.ts +37 -0
  560. package/lib/types/hooks/useInfiniteConnection.d.ts.map +1 -0
  561. package/lib/types/i18n/resources.d.ts +54 -0
  562. package/lib/types/i18n/resources.d.ts.map +1 -1
  563. package/lib/types/index.d.ts +28 -0
  564. package/lib/types/index.d.ts.map +1 -1
  565. package/lib/types/relay/connectionUtils.d.ts +10 -0
  566. package/lib/types/relay/connectionUtils.d.ts.map +1 -0
  567. package/lib/types/storybook/relay/RelayStory.css.d.ts +5 -0
  568. package/lib/types/storybook/relay/RelayStory.css.d.ts.map +1 -0
  569. package/lib/types/storybook/relay/RelayStory.d.ts +35 -0
  570. package/lib/types/storybook/relay/RelayStory.d.ts.map +1 -0
  571. package/lib/types/storybook/relay/mockResolvers.d.ts +3 -0
  572. package/lib/types/storybook/relay/mockResolvers.d.ts.map +1 -0
  573. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts +16 -0
  574. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts.map +1 -0
  575. package/package.json +24 -9
  576. package/lib/esm/AcceptInvitationScreen-VaWXQPHp.js.map +0 -1
  577. package/lib/esm/AuthPanel-BaIRFGbX.js.map +0 -1
  578. package/lib/esm/BackofficeAcceptInvitationPage-tpfBfhT9.js +0 -24
  579. package/lib/esm/BackofficeAcceptInvitationPage-tpfBfhT9.js.map +0 -1
  580. package/lib/esm/BackofficeDashboardPage-D5W36DY-.js +0 -329
  581. package/lib/esm/BackofficeDashboardPage-D5W36DY-.js.map +0 -1
  582. package/lib/esm/BackofficeDetailPayload-CZcsDv2w.js +0 -98
  583. package/lib/esm/BackofficeDetailPayload-CZcsDv2w.js.map +0 -1
  584. package/lib/esm/BackofficeEntityDetailLayoutContext-C5G-PH28.js.map +0 -1
  585. package/lib/esm/BackofficeEntityDetailLayoutPage-BSgGBzSL.js +0 -18
  586. package/lib/esm/BackofficeEntityDetailLayoutPage-BSgGBzSL.js.map +0 -1
  587. package/lib/esm/BackofficeEntityDetailPage-LB1uEJVM.js +0 -1061
  588. package/lib/esm/BackofficeEntityDetailPage-LB1uEJVM.js.map +0 -1
  589. package/lib/esm/BackofficeEntityDetailUnknownPageRedirect-Iu4R3WvX.js.map +0 -1
  590. package/lib/esm/BackofficeEntityListPage-D_zL-qRb.js +0 -432
  591. package/lib/esm/BackofficeEntityListPage-D_zL-qRb.js.map +0 -1
  592. package/lib/esm/BackofficeHubPage-DOePQ8Fc.js.map +0 -1
  593. package/lib/esm/BackofficeHubTemplate-C6K55egX.js +0 -82
  594. package/lib/esm/BackofficeHubTemplate-C6K55egX.js.map +0 -1
  595. package/lib/esm/BackofficeLayoutPage-Bq2bKkYF.js +0 -783
  596. package/lib/esm/BackofficeLayoutPage-Bq2bKkYF.js.map +0 -1
  597. package/lib/esm/BackofficeListToolbar-loFfIPtP.js +0 -109
  598. package/lib/esm/BackofficeListToolbar-loFfIPtP.js.map +0 -1
  599. package/lib/esm/BackofficeLoginPage-DIlcOueK.js +0 -46
  600. package/lib/esm/BackofficeLoginPage-DIlcOueK.js.map +0 -1
  601. package/lib/esm/BackofficePasswordResetCompletePage-Cit5sdDm.js.map +0 -1
  602. package/lib/esm/BackofficePasswordResetRequestPage-B_TurHev.js.map +0 -1
  603. package/lib/esm/BackofficeRightPageLayout-CfNkrMvH.js +0 -83
  604. package/lib/esm/BackofficeRightPageLayout-CfNkrMvH.js.map +0 -1
  605. package/lib/esm/BackofficeTopbarPortalContext-Da5XFatM.js.map +0 -1
  606. package/lib/esm/BackofficeVerifyEmailPage-DQbFIob1.js.map +0 -1
  607. package/lib/esm/EntityIdPickerDialog-BSn0v3bv.js +0 -340
  608. package/lib/esm/EntityIdPickerDialog-BSn0v3bv.js.map +0 -1
  609. package/lib/esm/LazyBackofficeEntityActionFormDialog-oRd_WHAK.js +0 -670
  610. package/lib/esm/LazyBackofficeEntityActionFormDialog-oRd_WHAK.js.map +0 -1
  611. package/lib/esm/PasswordResetCompleteScreen-Cgg96DPo.js.map +0 -1
  612. package/lib/esm/PasswordResetRequestScreen-I1nFvGLd.js.map +0 -1
  613. package/lib/esm/VerifyEmailScreen-Br5KyHjg.js.map +0 -1
  614. package/lib/esm/backoffice-react.js +0 -1925
  615. package/lib/esm/backoffice-react.js.map +0 -1
  616. package/lib/esm/backofficeAuthPaths-2hHNn8D3.js.map +0 -1
  617. package/lib/esm/buildBreadcrumbs-C5St167Y.js.map +0 -1
  618. package/lib/esm/environment-DQfVyWHJ.js.map +0 -1
  619. package/lib/esm/loginPage.css-B7Io_DuU.js +0 -6
  620. package/lib/esm/loginPage.css-B7Io_DuU.js.map +0 -1
  621. package/lib/esm/mutationResult-C2Vb_vPt.js.map +0 -1
  622. package/lib/esm/pageResolution-CUaTq4Ql.js.map +0 -1
  623. package/lib/esm/synchronizeAuthStatusQuery-DNJR5MfH.js +0 -323
  624. package/lib/esm/synchronizeAuthStatusQuery-DNJR5MfH.js.map +0 -1
  625. package/lib/esm/useAuth-CWf8ZspF.js +0 -548
  626. package/lib/esm/useAuth-CWf8ZspF.js.map +0 -1
  627. package/lib/esm/useBackofficeAuth-Da7FPNys.js +0 -89
  628. package/lib/esm/useBackofficeAuth-Da7FPNys.js.map +0 -1
  629. package/lib/esm/useBackofficeLazyValue-CW9xfRzQ.js.map +0 -1
  630. package/lib/esm/useBackofficeListUrlState-Ca6d7uIN.js.map +0 -1
  631. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js +0 -18
  632. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js.map +0 -1
  633. package/lib/esm/useRelayEnvironment-vQ86aW-n.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasskeyLoginForm.js","names":[],"sources":["../../../../src/auth/login/PasskeyLoginForm.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n useCallback,\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { Button, FormError, FormField } from '@plumile/ui';\n\nimport type { UseAuthReturn } from '../../hooks/useAuth.js';\n\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n auth: Pick<\n UseAuthReturn,\n | 'loginWithPasskey'\n | 'isLoading'\n | 'error'\n | 'emailHint'\n | 'nextStep'\n | 'beginAuthentication'\n | 'lockedUntil'\n | 'availableMethods'\n >;\n onSuccess: () => void;\n defaultEmail?: string;\n isAttemptingPasskey?: boolean;\n onShowMethods?: () => void;\n};\n\nexport const PasskeyLoginForm = ({\n auth,\n onSuccess,\n defaultEmail,\n isAttemptingPasskey = false,\n onShowMethods,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [email, setEmail] = useState(auth.emailHint ?? '');\n const [localError, setLocalError] = useState<string | null>(null);\n\n useEffect(() => {\n if (auth.emailHint != null && auth.emailHint !== '') {\n setEmail(auth.emailHint);\n } else if (defaultEmail != null && defaultEmail !== '') {\n setEmail(defaultEmail);\n }\n }, [auth.emailHint, defaultEmail]);\n\n const handleSubmit = useCallback(\n async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setLocalError(null);\n\n if (email.trim() === '') {\n setLocalError(t('auth.passkey.errors.emailRequired'));\n return;\n }\n\n try {\n const result = await auth.beginAuthentication(email.trim());\n if (Array.isArray(result.methods) && result.methods.length === 0) {\n const lockedUntilMessage =\n result.lockedUntil != null\n ? t('auth.passkey.errors.lockedWithTime', {\n time: new Date(result.lockedUntil).toLocaleString(),\n })\n : t('auth.passkey.errors.locked');\n setLocalError(lockedUntilMessage);\n return;\n }\n if (\n Array.isArray(result.methods) &&\n !result.methods.includes('PASSKEY')\n ) {\n setLocalError(t('auth.passkey.errors.notAvailable'));\n return;\n }\n\n const status = await auth.loginWithPasskey({ email: email.trim() });\n if (status === 'success') {\n onSuccess();\n }\n } catch {\n setLocalError(t('auth.passkey.errors.failed'));\n }\n },\n [auth, email, onSuccess, t],\n );\n\n const formError = localError;\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n <form className={styles.formSurface} onSubmit={handleSubmit} noValidate>\n <div className={styles.stack}>\n <p className={styles.helper}>{t('auth.passkey.helper')}</p>\n {formError != null ? <FormError>{formError}</FormError> : null}\n <FormField\n label={t('auth.passkey.form.emailLabel')}\n name=\"passkey-email\"\n type=\"email\"\n value={email}\n onChange={(event) => {\n setEmail(event.target.value);\n setLocalError(null);\n }}\n placeholder={t('auth.passkey.form.emailPlaceholder')}\n autoComplete=\"email\"\n required\n />\n </div>\n <div className={styles.actionsRow}>\n <Button type=\"submit\" variant=\"primary\" isLoading={auth.isLoading}>\n {isAttemptingPasskey\n ? t('auth.passkey.actions.submitting')\n : t('auth.passkey.actions.submit')}\n </Button>\n {onShowMethods != null ? (\n <button\n type=\"button\"\n className={styles.inlineLink}\n onClick={onShowMethods}\n >\n {t('auth.passkey.actions.showMethods')}\n </button>\n ) : null}\n </div>\n </form>\n );\n};\n"],"mappings":";;;;;;AAkCA,IAAa,KAAoB,EAC/B,SACA,cACA,iBACA,yBAAsB,IACtB,uBACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,CAAC,GAAO,KAAY,EAAS,EAAK,aAAa,GAAG,EAClD,CAAC,GAAY,KAAiB,EAAwB,KAAK;CAEjE,QAAgB;EACd,AAAI,EAAK,aAAa,QAAQ,EAAK,cAAc,KAC/C,EAAS,EAAK,UAAU,GACf,KAAgB,QAAQ,MAAiB,MAClD,EAAS,EAAa;IAEvB,CAAC,EAAK,WAAW,EAAa,CAAC;CAElC,IAAM,IAAe,EACnB,OAAO,MAAsC;EAI3C,IAHA,EAAM,gBAAgB,EACtB,EAAc,KAAK,EAEf,EAAM,MAAM,KAAK,IAAI;GACvB,EAAc,EAAE,oCAAoC,CAAC;GACrD;;EAGF,IAAI;GACF,IAAM,IAAS,MAAM,EAAK,oBAAoB,EAAM,MAAM,CAAC;GAC3D,IAAI,MAAM,QAAQ,EAAO,QAAQ,IAAI,EAAO,QAAQ,WAAW,GAAG;IAOhE,EALE,EAAO,eAAe,OAIlB,EAAE,6BAA6B,GAH/B,EAAE,sCAAsC,EACtC,MAAM,IAAI,KAAK,EAAO,YAAY,CAAC,gBAAgB,EACpD,CAAC,CAEyB;IACjC;;GAEF,IACE,MAAM,QAAQ,EAAO,QAAQ,IAC7B,CAAC,EAAO,QAAQ,SAAS,UAAU,EACnC;IACA,EAAc,EAAE,mCAAmC,CAAC;IACpD;;GAIF,AAAI,MADiB,EAAK,iBAAiB,EAAE,OAAO,EAAM,MAAM,EAAE,CAAC,KACpD,aACb,GAAW;UAEP;GACN,EAAc,EAAE,6BAA6B,CAAC;;IAGlD;EAAC;EAAM;EAAO;EAAW;EAAE,CAC5B,EAEK,IAAY;CAElB,OAEE,kBAAC,QAAD;EAAM,WAAW;EAAoB,UAAU;EAAc,YAAA;YAA7D,CACE,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,KAAD;KAAG,WAAW;eAAgB,EAAE,sBAAsB;KAAK,CAAA;IAC1D,KAAa,OAA4C,OAArC,kBAAC,GAAD,EAAA,UAAY,GAAsB,CAAA;IACvD,kBAAC,GAAD;KACE,OAAO,EAAE,+BAA+B;KACxC,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;MAEnB,AADA,EAAS,EAAM,OAAO,MAAM,EAC5B,EAAc,KAAK;;KAErB,aAAa,EAAE,qCAAqC;KACpD,cAAa;KACb,UAAA;KACA,CAAA;IACE;MACN,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,GAAD;IAAQ,MAAK;IAAS,SAAQ;IAAU,WAAW,EAAK;cAElD,EADH,IACK,oCACA,8BAA8B;IAC7B,CAAA,EACR,KAAiB,OAQd,OAPF,kBAAC,UAAD;IACE,MAAK;IACL,WAAW;IACX,SAAS;cAER,EAAE,mCAAmC;IAC/B,CAAA,CAEP;KACD"}
@@ -0,0 +1,37 @@
1
+ import { actionsRow as e, formSurface as t, inlineLink as n } from "./loginPage.css.js";
2
+ import { AuthPanel as r } from "./AuthPanel.js";
3
+ import { useBackofficeReactTranslation as i } from "../../i18n/useBackofficeReactTranslation.js";
4
+ import { OidcButtons as a } from "./OidcButtons.js";
5
+ import { LoginForm as o } from "@plumile/ui";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ //#region src/auth/login/PasswordLoginPanel.tsx
8
+ var l = ({ auth: l, defaultEmail: u, onForgotPassword: d, onSuccess: f, providers: p }) => {
9
+ let { t: m } = i();
10
+ return /* @__PURE__ */ s(r, {
11
+ title: m("auth.passwordLogin.title"),
12
+ children: /* @__PURE__ */ c("div", {
13
+ className: t,
14
+ children: [
15
+ /* @__PURE__ */ s(o, {
16
+ auth: l,
17
+ onSuccess: f,
18
+ defaultEmail: u
19
+ }),
20
+ /* @__PURE__ */ s("div", {
21
+ className: e,
22
+ children: /* @__PURE__ */ s("button", {
23
+ type: "button",
24
+ className: n,
25
+ onClick: d,
26
+ children: m("auth.passwordLogin.forgotPassword")
27
+ })
28
+ }),
29
+ /* @__PURE__ */ s(a, { providers: p })
30
+ ]
31
+ })
32
+ });
33
+ };
34
+ //#endregion
35
+ export { l as PasswordLoginPanel };
36
+
37
+ //# sourceMappingURL=PasswordLoginPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordLoginPanel.js","names":[],"sources":["../../../../src/auth/login/PasswordLoginPanel.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { LoginForm, type LoginFormAuthAdapter } from '@plumile/ui';\n\nimport type { OidcProviderKind } from '../../modules/sharedSchemaTypes.js';\n\nimport { AuthPanel } from './AuthPanel.js';\nimport { OidcButtons } from './OidcButtons.js';\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n auth: LoginFormAuthAdapter;\n defaultEmail: string;\n onForgotPassword: () => void;\n onSuccess: () => void;\n providers: readonly OidcProviderKind[];\n};\n\nexport const PasswordLoginPanel = ({\n auth,\n defaultEmail,\n onForgotPassword,\n onSuccess,\n providers,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n return (\n <AuthPanel title={t('auth.passwordLogin.title')}>\n <div className={styles.formSurface}>\n <LoginForm\n auth={auth}\n onSuccess={onSuccess}\n defaultEmail={defaultEmail}\n />\n <div className={styles.actionsRow}>\n <button\n type=\"button\"\n className={styles.inlineLink}\n onClick={onForgotPassword}\n >\n {t('auth.passwordLogin.forgotPassword')}\n </button>\n </div>\n <OidcButtons providers={providers} />\n </div>\n </AuthPanel>\n );\n};\n"],"mappings":";;;;;;;AAmBA,IAAa,KAAsB,EACjC,SACA,iBACA,qBACA,cACA,mBACwB;CACxB,IAAM,EAAE,SAAM,GAA+B;CAC7C,OACE,kBAAC,GAAD;EAAW,OAAO,EAAE,2BAA2B;YAC7C,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,GAAD;KACQ;KACK;KACG;KACd,CAAA;IACF,kBAAC,OAAD;KAAK,WAAW;eACd,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,SAAS;gBAER,EAAE,oCAAoC;MAChC,CAAA;KACL,CAAA;IACN,kBAAC,GAAD,EAAwB,cAAa,CAAA;IACjC;;EACI,CAAA"}
@@ -0,0 +1,7 @@
1
+ /* empty css */
2
+ //#region src/auth/login/loginPage.css.ts
3
+ var e = "txvbqb9ip txvbqbai7 txvbqbaop", t = "txvbqb9ip txvbqbai7 txvbqbu7g", n = "txvbqbvbd txvbqb8y txvbqbfcp txvbqbf5y", r = "txvbqbcp txvbqbvbd txvbqb9ip txvbqbao7 txvbqbhyy txvbqbg0p", i = "txvbqbv5h txvbqbcgp txvbqb9my txvbqb1t7 txvbqbvbx", a = "txvbqbcp txvbqb9ip txvbqbajy txvbqbaog txvbqbdpp txvbqbhyg", o = "w8yhmy0 txvbqbvaz txvbqbamp txvbqb78 txvbqb6x txvbqb7k", s = "txvbqbnwy txvbqbok7 txvbqbp7g txvbqblz7 txvbqb767 txvbqb73g txvbqb7d7 txvbqb7ag", c = "txvbqb9ip txvbqbai7 txvbqbaop", l = "txvbqbu7g", u = "txvbqbfcp txvbqb9p txvbqbamy txvbqbvaz txvbqbee7", d = "txvbqbhyp", f = "w8yhmy1 txvbqb107 txvbqb1dg txvbqb1qg txvbqbvaz txvbqbv5t txvbqb78 txvbqb6w txvbqb7k";
4
+ //#endregion
5
+ export { a as actionsRow, c as block, f as brandGhostButton, r as divider, i as dividerLine, d as footer, t as formSurface, l as fullWidth, n as helper, o as inlineLink, s as panel, u as panelTitle, e as stack };
6
+
7
+ //# sourceMappingURL=loginPage.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loginPage.css.js","names":[],"sources":["../../../../src/auth/login/loginPage.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui';\n\nexport const stack = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const formSurface = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n width: 'full',\n});\n\nexport const helper = sprinkles({\n color: 'brandDarkGray',\n fontSize: 'sm',\n margin: 0,\n lineHeight: 1.6,\n});\n\nexport const divider = sprinkles({\n alignItems: 'center',\n color: 'brandDarkGray',\n display: 'flex',\n gap: 2,\n marginTop: 5,\n marginBottom: 3,\n});\n\nexport const dividerLine = sprinkles({\n backgroundColor: 'brandPrimaryRed',\n height: 'px',\n flex: 1,\n borderRadius: 'full',\n opacity: 35,\n});\n\nexport const actionsRow = sprinkles({\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n gap: 3,\n justifyContent: 'space-between',\n marginTop: 3,\n});\n\nexport const inlineLink = style([\n sprinkles({\n color: 'brandPrimaryRed',\n fontWeight: 'semibold',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n background: 'transparent',\n borderWidth: 0,\n borderStyle: 'none',\n cursor: 'pointer',\n padding: 0,\n textDecoration: 'none',\n ':hover': {\n color: vars.colors.brandSecondaryOrange,\n textDecoration: 'underline',\n },\n },\n]);\n\nexport const panel = sprinkles({\n borderTopLeftRadius: 'none',\n borderTopRightRadius: 'none',\n borderBottomLeftRadius: '2xl',\n borderBottomRightRadius: '2xl',\n paddingX: 6,\n paddingY: 6,\n});\n\nexport const block = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const fullWidth = sprinkles({\n width: 'full',\n});\n\nexport const panelTitle = sprinkles({\n margin: 0,\n fontSize: 'xl',\n fontWeight: 'bold',\n color: 'brandPrimaryRed',\n letterSpacing: 'tight',\n});\n\nexport const footer = sprinkles({\n marginTop: 4,\n});\n\nexport const brandGhostButton = style([\n sprinkles({\n borderColor: 'brandPrimaryRed',\n borderWidth: 'px',\n borderStyle: 'solid',\n color: 'brandPrimaryRed',\n backgroundColor: 'brandLightGray',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: `color-mix(in srgb, ${vars.colors.brandPrimaryRed} 8%, transparent)`,\n color: vars.colors.brandSecondaryOrange,\n borderColor: vars.colors.brandSecondaryOrange,\n },\n },\n },\n]);\n"],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import e from "relay-runtime";
2
+ //#region src/auth/login/synchronizeAuthStatusQuery.ts
3
+ var { fetchQuery: t } = e;
4
+ async function n(e, n) {
5
+ return (await t(e, n, {}, { fetchPolicy: "network-only" }).toPromise())?.isLoggedIn === !0;
6
+ }
7
+ //#endregion
8
+ export { n as synchronizeAuthStatusQuery };
9
+
10
+ //# sourceMappingURL=synchronizeAuthStatusQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronizeAuthStatusQuery.js","names":[],"sources":["../../../../src/auth/login/synchronizeAuthStatusQuery.ts"],"sourcesContent":["import RelayRuntime, {\n type GraphQLTaggedNode,\n type IEnvironment,\n type OperationType,\n} from 'relay-runtime';\n\nconst { fetchQuery } = RelayRuntime;\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":";;AAMA,IAAM,EAAE,YAAA,MAAe;AAUvB,eAAsB,EACpB,GACA,GACkB;CAUlB,QAFoB,MAPG,EACrB,GACA,GACA,EAAE,EACF,EAAE,aAAa,gBAAgB,CAChC,CAAC,WAAW,GAGT,eACkB"}
@@ -1,13 +1,13 @@
1
- import { t as e } from "./useBackofficeReactTranslation-Btt58EIo.js";
2
- import { a as t, d as n, s as r } from "./loginPage.css-B7Io_DuU.js";
3
- import { o as i } from "./useAuth-CWf8ZspF.js";
4
- import { t as a } from "./AuthPanel-BaIRFGbX.js";
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 { useBackofficeReactTranslation as i } from "../../i18n/useBackofficeReactTranslation.js";
4
+ import { MfaChallengeForm as a } from "../login/MfaChallengeForm.js";
5
5
  import { useCallback as o, useMemo as s, useState as c } from "react";
6
6
  import { AuthLayout as l, Button as u, FormError as d, FormField as f } from "@plumile/ui";
7
7
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
8
8
  //#region src/auth/pages/AcceptInvitationScreen.tsx
9
9
  var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
10
- let { t: y } = e(), { acceptInvitation: b } = h, [x, S] = c("idle"), [C, w] = c(""), [T, E] = c(""), [D, O] = c(!1), [k, A] = c(null), j = s(() => v ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [v]), M = o((e) => {
10
+ let { t: y } = i(), { acceptInvitation: b } = h, [x, S] = c("idle"), [C, w] = c(""), [T, E] = c(""), [D, O] = c(!1), [k, A] = c(null), j = s(() => v ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [v]), M = o((e) => {
11
11
  if (e.preventDefault(), j === "") {
12
12
  A(y("auth.acceptInvitation.errors.missingToken")), S("error");
13
13
  return;
@@ -46,7 +46,7 @@ var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
46
46
  if (x === "mfa") return /* @__PURE__ */ p(l, {
47
47
  title: y("auth.acceptInvitation.mfaTitle"),
48
48
  subtitle: y("auth.acceptInvitation.mfaSubtitle"),
49
- children: /* @__PURE__ */ p(i, {
49
+ children: /* @__PURE__ */ p(a, {
50
50
  auth: h,
51
51
  onSuccess: N,
52
52
  onBack: () => {
@@ -58,13 +58,13 @@ var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
58
58
  return F = x === "completed" ? /* @__PURE__ */ p("div", {
59
59
  className: n,
60
60
  children: /* @__PURE__ */ p("p", {
61
- className: r,
61
+ className: t,
62
62
  children: y("auth.acceptInvitation.status.success")
63
63
  })
64
- }) : /* @__PURE__ */ p(a, {
64
+ }) : /* @__PURE__ */ p(r, {
65
65
  description: y("auth.acceptInvitation.subtitle"),
66
66
  children: /* @__PURE__ */ m("form", {
67
- className: t,
67
+ className: e,
68
68
  onSubmit: M,
69
69
  noValidate: !0,
70
70
  children: [
@@ -112,6 +112,6 @@ var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
112
112
  });
113
113
  };
114
114
  //#endregion
115
- export { h as t };
115
+ export { h as AcceptInvitationScreen };
116
116
 
117
- //# sourceMappingURL=AcceptInvitationScreen-VaWXQPHp.js.map
117
+ //# 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 { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { AuthLayout, Button, FormError, FormField } from '@plumile/ui';\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 } = useBackofficeReactTranslation();\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(() => {\n setStatus('error');\n setErrorMessage(t('auth.acceptInvitation.errors.default'));\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":";;;;;;;;AA0BA,IAAa,KAA0B,EACrC,SACA,sBACA,kBACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,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,KAGF,IADY,gBAAgB,OAAO,SAAS,OAC5C,CAAO,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC,EAEL,IAAe,GAClB,MAAsC;EAErC,IADA,EAAM,gBAAgB,EAClB,MAAkB,IAAI;GAExB,AADA,EAAgB,EAAE,4CAA4C,CAAC,EAC/D,EAAU,QAAQ;GAClB;;EAGF,IAAI,MAAa,GAAsB;GAErC,AADA,EAAgB,EAAE,gDAAgD,CAAC,EACnE,EAAU,QAAQ;GAClB;;EAQF,AALA,EAAU,UAAU,EACpB,EAAgB,KAAK,EACrB,EAAgB,GAAK,EAGrB,EAAsB;GACpB,OAAO;GACP;GACA;GACD,CAAC,CACC,MAAM,MAAW;GAChB,IAAI,MAAW,gBAAgB;IAC7B,EAAU,MAAM;IAChB;;GAGF,AADA,EAAU,YAAY,EACtB,GAAmB;IACnB,CACD,YAAY;GAEX,AADA,EAAU,QAAQ,EAClB,EAAgB,EAAE,uCAAuC,CAAC;IAC1D,CACD,cAAc;GACb,EAAgB,GAAM;IACtB;IAEN;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF,EAEK,IAAmB,QAAkB;EAEzC,AADA,EAAU,YAAY,EACtB,GAAmB;IAClB,CAAC,EAAkB,CAAC,EAEjB,IAAc,QAAkB;EAGpC,AAFA,EAAU,OAAO,EACjB,EAAgB,KAAK,EACrB,EAAgB,GAAM;IACrB,EAAE,CAAC;CAEN,IAAI,MAAW,OACb,OACE,kBAAC,GAAD;EACE,OAAO,EAAE,iCAAiC;EAC1C,UAAU,EAAE,oCAAoC;YAEhD,kBAAC,GAAD;GACQ;GACN,WAAW;GACX,cAAc;IAEZ,AADA,EAAK,OAAO,EACZ,GAAa;;GAEf,CAAA;EACS,CAAA;CAIjB,IAAI;CA2DJ,OA1DA,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;MAGnB,AAFA,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;MAGnB,AAFA,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"}
@@ -1,12 +1,12 @@
1
- import { t as e } from "./useBackofficeReactTranslation-Btt58EIo.js";
2
- import { a as t, r as n, s as r } from "./loginPage.css-B7Io_DuU.js";
3
- import { t as i } from "./AuthPanel-BaIRFGbX.js";
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 { useBackofficeReactTranslation as i } from "../../i18n/useBackofficeReactTranslation.js";
4
4
  import { useCallback as a, useMemo as o, useState as s } from "react";
5
5
  import { AuthLayout as c, Button as l, FormError as u, FormField as d } from "@plumile/ui";
6
6
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  //#region src/auth/pages/PasswordResetCompleteScreen.tsx
8
8
  var m = 8, h = ({ onBackToLogin: h, onCompletePasswordReset: g, token: _ }) => {
9
- let { t: v } = e(), [y, b] = s(""), [x, S] = s(""), [C, w] = s("idle"), [T, E] = s(null), [D, O] = s(!1), k = o(() => _ ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [_]), A = a((e) => {
9
+ let { t: v } = i(), [y, b] = s(""), [x, S] = s(""), [C, w] = s("idle"), [T, E] = s(null), [D, O] = s(!1), k = o(() => _ ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [_]), A = a((e) => {
10
10
  if (e.preventDefault(), E(null), k === "") {
11
11
  E(v("auth.passwordResetComplete.errors.missingToken"));
12
12
  return;
@@ -38,21 +38,21 @@ var m = 8, h = ({ onBackToLogin: h, onCompletePasswordReset: g, token: _ }) => {
38
38
  k,
39
39
  v
40
40
  ]), j;
41
- return j = C === "completed" ? /* @__PURE__ */ f(i, {
41
+ return j = C === "completed" ? /* @__PURE__ */ f(r, {
42
42
  title: v("auth.passwordResetComplete.success.title"),
43
43
  description: v("auth.passwordResetComplete.success.description"),
44
44
  footer: /* @__PURE__ */ f(l, {
45
45
  type: "button",
46
46
  variant: "secondary",
47
- className: n,
47
+ className: e,
48
48
  onClick: h,
49
49
  children: v("auth.passwordResetComplete.success.action")
50
50
  }),
51
51
  children: /* @__PURE__ */ f("p", {
52
- className: r,
52
+ className: n,
53
53
  children: v("auth.passwordResetComplete.success.helper")
54
54
  })
55
- }) : /* @__PURE__ */ f(i, {
55
+ }) : /* @__PURE__ */ f(r, {
56
56
  title: v("auth.passwordResetComplete.form.title"),
57
57
  description: v("auth.passwordResetComplete.form.description"),
58
58
  children: /* @__PURE__ */ p("form", {
@@ -99,6 +99,6 @@ var m = 8, h = ({ onBackToLogin: h, onCompletePasswordReset: g, token: _ }) => {
99
99
  });
100
100
  };
101
101
  //#endregion
102
- export { h as t };
102
+ export { h as PasswordResetCompleteScreen };
103
103
 
104
- //# sourceMappingURL=PasswordResetCompleteScreen-Cgg96DPo.js.map
104
+ //# 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 { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { AuthLayout, Button, FormError, FormField } from '@plumile/ui';\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 } = useBackofficeReactTranslation();\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\n const completePasswordReset = async (): Promise<void> => {\n try {\n const success = await onCompletePasswordReset({\n newPassword: password,\n token: resolvedToken,\n });\n if (success) {\n setStatus('completed');\n } else {\n setError(t('auth.passwordResetComplete.errors.invalid'));\n }\n } catch (mutationError) {\n setError(\n mutationError instanceof Error\n ? mutationError.message\n : t('auth.passwordResetComplete.errors.invalid'),\n );\n } finally {\n setIsSubmitting(false);\n }\n };\n\n completePasswordReset().catch(() => {\n return undefined;\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":";;;;;;;AAeA,IAAM,IAAsB,GAWf,KAA+B,EAC1C,kBACA,4BACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,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,KAGF,IADY,gBAAgB,OAAO,SAAS,OAC5C,CAAO,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC,EAEL,IAAe,GAClB,MAAsC;EAIrC,IAHA,EAAM,gBAAgB,EACtB,EAAS,KAAK,EAEV,MAAkB,IAAI;GACxB,EAAS,EAAE,iDAAiD,CAAC;GAC7D;;EAGF,IAAI,EAAS,SAAS,GAAqB;GACzC,EACE,EAAE,+CAA+C,EAC/C,WAAW,GACZ,CAAC,CACH;GACD;;EAGF,IAAI,MAAa,GAAiB;GAChC,EAAS,EAAE,6CAA6C,CAAC;GACzD;;EA2BF,AAxBA,EAAgB,GAAK,GAwBrB,YAtByD;GACvD,IAAI;IAKF,AAAI,MAJkB,EAAwB;KAC5C,aAAa;KACb,OAAO;KACR,CAAC,GAEA,EAAU,YAAY,GAEtB,EAAS,EAAE,4CAA4C,CAAC;YAEnD,GAAe;IACtB,EACE,aAAyB,QACrB,EAAc,UACd,EAAE,4CAA4C,CACnD;aACO;IACR,EAAgB,GAAM;;MAIH,CAAC,YAAY,GAElC;IAEJ;EAAC;EAAyB;EAAU;EAAiB;EAAe;EAAE,CACvE,EAEG;CAoEJ,OAnEA,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;MAEnB,AADA,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;MAEnB,AADA,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"}
@@ -1,12 +1,12 @@
1
- import { t as e } from "./useBackofficeReactTranslation-Btt58EIo.js";
2
- import { a as t, s as n } from "./loginPage.css-B7Io_DuU.js";
3
- import { t as r } from "./AuthPanel-BaIRFGbX.js";
1
+ import { formSurface as e, helper as t } from "../login/loginPage.css.js";
2
+ import { AuthPanel as n } from "../login/AuthPanel.js";
3
+ import { useBackofficeReactTranslation as r } from "../../i18n/useBackofficeReactTranslation.js";
4
4
  import { useCallback as i, useMemo as a, useState as o } from "react";
5
5
  import { AuthLayout as s, Button as c, FormError as l, FormField as u } from "@plumile/ui";
6
6
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
7
  //#region src/auth/pages/PasswordResetRequestScreen.tsx
8
8
  var p = ({ onStartPasswordReset: p }) => {
9
- let { i18n: m, t: h } = e(), [g, _] = o(""), [v, y] = o("idle"), [b, x] = o(null), [S, C] = o(!1), w = a(() => {
9
+ let { i18n: m, t: h } = r(), [g, _] = o(""), [v, y] = o("idle"), [b, x] = o(null), [S, C] = o(!1), w = a(() => {
10
10
  let e = m.language.trim();
11
11
  if (e !== "") return e;
12
12
  if (!(typeof navigator > "u")) return navigator.language;
@@ -31,7 +31,7 @@ var p = ({ onStartPasswordReset: p }) => {
31
31
  p,
32
32
  h
33
33
  ]), E;
34
- return E = v === "sent" ? /* @__PURE__ */ d(r, {
34
+ return E = v === "sent" ? /* @__PURE__ */ d(n, {
35
35
  title: h("auth.passwordResetRequest.sent.title"),
36
36
  description: h("auth.passwordResetRequest.sent.description", { email: g }),
37
37
  footer: /* @__PURE__ */ d(c, {
@@ -43,13 +43,13 @@ var p = ({ onStartPasswordReset: p }) => {
43
43
  children: h("auth.passwordResetRequest.sent.action")
44
44
  }),
45
45
  children: /* @__PURE__ */ d("p", {
46
- className: n,
46
+ className: t,
47
47
  children: h("auth.passwordResetRequest.sent.helper")
48
48
  })
49
- }) : /* @__PURE__ */ d(r, {
49
+ }) : /* @__PURE__ */ d(n, {
50
50
  description: h("auth.passwordResetRequest.form.description"),
51
51
  children: /* @__PURE__ */ f("form", {
52
- className: t,
52
+ className: e,
53
53
  onSubmit: T,
54
54
  noValidate: !0,
55
55
  children: [
@@ -80,6 +80,6 @@ var p = ({ onStartPasswordReset: p }) => {
80
80
  });
81
81
  };
82
82
  //#endregion
83
- export { p as t };
83
+ export { p as PasswordResetRequestScreen };
84
84
 
85
- //# sourceMappingURL=PasswordResetRequestScreen-I1nFvGLd.js.map
85
+ //# 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 { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { AuthLayout, Button, FormError, FormField } from '@plumile/ui';\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 } = useBackofficeReactTranslation();\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":";;;;;;;AAsBA,IAAa,KAA8B,EACzC,8BACwB;CACxB,IAAM,EAAE,SAAM,SAAM,GAA+B,EAC7C,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;EACrC,IAAI,MAAa,IACf,OAAO;EAEL,aAAO,YAAc,MAGzB,OAAO,UAAU;IAChB,CAAC,EAAK,SAAS,CAAC,EAEb,IAAe,GAClB,MAAsC;EAIrC,IAHA,EAAM,gBAAgB,EACtB,EAAS,KAAK,EAEV,EAAM,MAAM,KAAK,IAAI;GACvB,EAAS,EAAE,iDAAiD,CAAC;GAC7D;;EAIF,AADA,EAAgB,GAAK,EACrB,EAAqB;GACnB,OAAO,EAAM,MAAM;GACnB;GACD,CAAC,CACC,MAAM,MAAY;GACjB,AAAI,IACF,EAAU,OAAO,GAEjB,EAAS,EAAE,+CAA+C,CAAC;IAE7D,CACD,OAAO,MAAkB;GACxB,EACE,aAAyB,QACrB,EAAc,UACd,EAAE,+CAA+C,CACtD;IACD,CACD,cAAc;GACb,EAAgB,GAAM;IACtB;IAEN;EAAC;EAAO;EAAQ;EAAsB;EAAE,CACzC,EAEG;CAkDJ,OAjDA,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;IACb,EAAU,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;MAEnB,AADA,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"}
@@ -1,11 +1,11 @@
1
- import { t as e } from "./useBackofficeReactTranslation-Btt58EIo.js";
2
- import { d as t, s as n } from "./loginPage.css-B7Io_DuU.js";
1
+ import { helper as e, stack as t } from "../login/loginPage.css.js";
2
+ import { useBackofficeReactTranslation as n } from "../../i18n/useBackofficeReactTranslation.js";
3
3
  import { useEffect as r, useMemo as i, useState as a } from "react";
4
4
  import { AuthLayout as o, Button as s, FormError as c } from "@plumile/ui";
5
5
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
6
  //#region src/auth/pages/VerifyEmailScreen.tsx
7
7
  var d = ({ onBackToLogin: d, onVerifyEmail: f, token: p }) => {
8
- let { t: m } = e(), [h, g] = a("pending"), [_, v] = a(null), y = i(() => p ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [p]);
8
+ let { t: m } = n(), [h, g] = a("pending"), [_, v] = a(null), y = i(() => p ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [p]);
9
9
  r(() => {
10
10
  if (y === "") {
11
11
  g("error"), v(m("auth.verifyEmail.errors.missingToken"));
@@ -27,7 +27,7 @@ var d = ({ onBackToLogin: d, onVerifyEmail: f, token: p }) => {
27
27
  return b = h === "success" ? /* @__PURE__ */ u("div", {
28
28
  className: t,
29
29
  children: [/* @__PURE__ */ l("p", {
30
- className: n,
30
+ className: e,
31
31
  children: m("auth.verifyEmail.status.success")
32
32
  }), /* @__PURE__ */ l(s, {
33
33
  type: "button",
@@ -46,7 +46,7 @@ var d = ({ onBackToLogin: d, onVerifyEmail: f, token: p }) => {
46
46
  }) : /* @__PURE__ */ u("div", {
47
47
  className: t,
48
48
  children: [/* @__PURE__ */ l("p", {
49
- className: n,
49
+ className: e,
50
50
  children: m("auth.verifyEmail.status.verifying")
51
51
  }), /* @__PURE__ */ l(s, {
52
52
  type: "button",
@@ -60,6 +60,6 @@ var d = ({ onBackToLogin: d, onVerifyEmail: f, token: p }) => {
60
60
  });
61
61
  };
62
62
  //#endregion
63
- export { d as t };
63
+ export { d as VerifyEmailScreen };
64
64
 
65
- //# sourceMappingURL=VerifyEmailScreen-Br5KyHjg.js.map
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 { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { AuthLayout, Button, FormError } from '@plumile/ui';\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 } = useBackofficeReactTranslation();\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 const verifyEmail = async (): Promise<void> => {\n try {\n const success = await onVerifyEmail({ token: resolvedToken });\n if (success) {\n setState('success');\n } else {\n setState('error');\n setError(t('auth.verifyEmail.errors.invalid'));\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 };\n\n verifyEmail().catch(() => {\n return undefined;\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":";;;;;;AAgBA,IAAa,KAAqB,EAChC,kBACA,kBACA,eACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,CAAC,GAAO,KAAY,EAA4B,UAAU,EAC1D,CAAC,GAAO,KAAY,EAAwB,KAAK,EAEjD,IAAgB,QAChB,MAGA,OAAO,SAAW,MACb,KAGF,IADY,gBAAgB,OAAO,SAAS,OAC5C,CAAO,IAAI,QAAQ,IAAI,KAC7B,CAAC,EAAM,CAAC;CAEX,QAAgB;EACd,IAAI,MAAkB,IAAI;GAExB,AADA,EAAS,QAAQ,EACjB,EAAS,EAAE,uCAAuC,CAAC;GACnD;;EAsBF,aAnB+C;GAC7C,IAAI;IAEF,AAAI,MADkB,EAAc,EAAE,OAAO,GAAe,CAAC,GAE3D,EAAS,UAAU,IAEnB,EAAS,QAAQ,EACjB,EAAS,EAAE,kCAAkC,CAAC;YAEzC,GAAe;IAEtB,AADA,EAAS,QAAQ,EACjB,EACE,aAAyB,QACrB,EAAc,UACd,EAAE,kCAAkC,CACzC;;MAIQ,CAAC,YAAY,GAExB;IACD;EAAC;EAAe;EAAe;EAAE,CAAC;CAErC,IAAI;CAgCJ,OA/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"}