@plumile/backoffice-react 0.1.104 → 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 (757) 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-B1IPafwD.js → auth/pages/AcceptInvitationScreen.js} +13 -13
  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/components/backoffice/actions/BackofficeEntityActionFormDialog.js +591 -0
  37. package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -0
  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/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +7 -0
  41. package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -0
  42. package/lib/esm/{toastViewAction-DJkv_4p9.js → components/backoffice/actions/toastViewAction.js} +2 -2
  43. package/lib/esm/{toastViewAction-DJkv_4p9.js.map → components/backoffice/actions/toastViewAction.js.map} +1 -1
  44. package/lib/esm/{buildDataTableColumns-DGPjPK4N.js → components/backoffice/columns/buildDataTableColumns.js} +18 -18
  45. package/lib/esm/{buildDataTableColumns-DGPjPK4N.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-CmWwudBU.js → components/backoffice/layout/BackofficePermissionsContext.js} +2 -2
  157. package/lib/esm/{BackofficePermissionsContext-CmWwudBU.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-CphoSrZD.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-C9cyiXb7.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/components/backoffice/layout/sidebarUtils.js +98 -0
  180. package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -0
  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-D4fx5O7u.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-xupMeril.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/pages/BackofficeHubPage.js +122 -0
  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-OApMUiOi.js → pages/BackofficePasswordResetCompletePage.js} +17 -17
  397. package/lib/esm/pages/BackofficePasswordResetCompletePage.js.map +1 -0
  398. package/lib/esm/{BackofficePasswordResetRequestPage-DPDImb37.js → pages/BackofficePasswordResetRequestPage.js} +14 -15
  399. package/lib/esm/pages/BackofficePasswordResetRequestPage.js.map +1 -0
  400. package/lib/esm/{BackofficeVerifyEmailPage-DHuSOxDf.js → pages/BackofficeVerifyEmailPage.js} +17 -17
  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-DeuH5PCW.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-hAQA5C6S.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-CoIAK-5N.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-CcQMY13J.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-2KMmkBLv.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/auth/login/LoginFlow.d.ts.map +1 -1
  482. package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
  483. package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
  484. package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
  485. package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
  486. package/lib/types/components/backoffice/actions/LazyBackofficeEntityActionFormDialog.d.ts.map +1 -1
  487. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts +4 -0
  488. package/lib/types/components/backoffice/actions/backofficeEntityActionFormDialog.css.d.ts.map +1 -1
  489. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts +19 -0
  490. package/lib/types/components/backoffice/detail/BackofficeAuditMetadataPanel.d.ts.map +1 -0
  491. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts +3 -5
  492. package/lib/types/components/backoffice/detail/BackofficeDetailRelationLink.d.ts.map +1 -1
  493. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts +3 -4
  494. package/lib/types/components/backoffice/detail/BackofficeDetailRelationListBlock.d.ts.map +1 -1
  495. package/lib/types/components/backoffice/detail/BackofficeDetailSection.d.ts.map +1 -1
  496. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts +15 -0
  497. package/lib/types/components/backoffice/detail/BackofficeEntityRefLink.d.ts.map +1 -0
  498. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts +34 -0
  499. package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -0
  500. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts +9 -0
  501. package/lib/types/components/backoffice/detail/BackofficeEnumLabel.d.ts.map +1 -0
  502. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts +17 -0
  503. package/lib/types/components/backoffice/detail/BackofficeKpiStrip.d.ts.map +1 -0
  504. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts +20 -0
  505. package/lib/types/components/backoffice/detail/BackofficeLifecycleTimelineSection.d.ts.map +1 -0
  506. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts +15 -0
  507. package/lib/types/components/backoffice/detail/BackofficePayloadInspectorSection.d.ts.map +1 -0
  508. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts +9 -0
  509. package/lib/types/components/backoffice/detail/BackofficeReferenceValue.d.ts.map +1 -0
  510. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +17 -0
  511. package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -0
  512. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts +13 -0
  513. package/lib/types/components/backoffice/detail/BackofficeScopeStack.d.ts.map +1 -0
  514. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts +13 -0
  515. package/lib/types/components/backoffice/detail/BackofficeStatusMetaBadge.d.ts.map +1 -0
  516. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts +18 -0
  517. package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -0
  518. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +31 -0
  519. package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -0
  520. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts +5 -0
  521. package/lib/types/components/backoffice/detail/backofficeAuditMetadataPanel.css.d.ts.map +1 -0
  522. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts +1 -0
  523. package/lib/types/components/backoffice/detail/backofficeDetailField.css.d.ts.map +1 -1
  524. package/lib/types/components/backoffice/detail/backofficeDetailLayout.css.d.ts.map +1 -1
  525. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts +2 -0
  526. package/lib/types/components/backoffice/detail/backofficeDetailRelationLink.css.d.ts.map +1 -1
  527. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts +12 -0
  528. package/lib/types/components/backoffice/detail/backofficeEntitySummaryHeader.css.d.ts.map +1 -0
  529. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts +5 -0
  530. package/lib/types/components/backoffice/detail/backofficeKpiStrip.css.d.ts.map +1 -0
  531. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts +3 -0
  532. package/lib/types/components/backoffice/detail/backofficeLifecycleTimelineSection.css.d.ts.map +1 -0
  533. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts +4 -0
  534. package/lib/types/components/backoffice/detail/backofficePayloadInspectorSection.css.d.ts.map +1 -0
  535. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts +3 -0
  536. package/lib/types/components/backoffice/detail/backofficeReferenceValue.css.d.ts.map +1 -0
  537. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts +6 -0
  538. package/lib/types/components/backoffice/detail/backofficeRelationsSummaryGrid.css.d.ts.map +1 -0
  539. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts +5 -0
  540. package/lib/types/components/backoffice/detail/backofficeScopeStack.css.d.ts.map +1 -0
  541. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts +2 -0
  542. package/lib/types/components/backoffice/detail/backofficeStatusMetaBadge.css.d.ts.map +1 -0
  543. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts +7 -0
  544. package/lib/types/components/backoffice/detail/backofficeUsageCostBreakdown.css.d.ts.map +1 -0
  545. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts +30 -0
  546. package/lib/types/components/backoffice/detail/createBackofficeEntityLinkProps.d.ts.map +1 -0
  547. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts +12 -0
  548. package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.stories.d.ts.map +1 -0
  549. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts +4 -4
  550. package/lib/types/components/backoffice/filters/BackofficeFilterAction.d.ts.map +1 -1
  551. package/lib/types/components/backoffice/filters/DeferredFilterSearchInput.d.ts +13 -0
  552. package/lib/types/components/backoffice/filters/DeferredFilterSearchInput.d.ts.map +1 -0
  553. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts +4 -0
  554. package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
  555. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts +12 -0
  556. package/lib/types/components/backoffice/filters/EntityIdFilterField.stories.d.ts.map +1 -0
  557. package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts +3 -0
  558. package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts.map +1 -0
  559. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +3 -0
  560. package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -1
  561. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.d.ts +36 -0
  562. package/lib/types/components/backoffice/hub/BackofficeHubTemplate.d.ts.map +1 -0
  563. package/lib/types/{pages/backofficeHubPage.css.d.ts → components/backoffice/hub/backofficeHubTemplate.css.d.ts} +5 -3
  564. package/lib/types/components/backoffice/hub/backofficeHubTemplate.css.d.ts.map +1 -0
  565. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.d.ts.map +1 -1
  566. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts +2 -0
  567. package/lib/types/components/backoffice/layout/breadcrumb/BackofficeTopbarPortalContext.d.ts.map +1 -1
  568. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts +3 -0
  569. package/lib/types/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.d.ts.map +1 -1
  570. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts +2 -2
  571. package/lib/types/components/backoffice/layout/breadcrumb/buildBreadcrumbs.d.ts.map +1 -1
  572. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +1 -0
  573. package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
  574. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts +2 -1
  575. package/lib/types/components/backoffice/layout/sidebarUtils.d.ts.map +1 -1
  576. package/lib/types/components/backoffice/lists/BackofficeListToolbar.d.ts +16 -0
  577. package/lib/types/components/backoffice/lists/BackofficeListToolbar.d.ts.map +1 -0
  578. package/lib/types/components/backoffice/lists/backofficeListToolbar.css.d.ts +16 -0
  579. package/lib/types/components/backoffice/lists/backofficeListToolbar.css.d.ts.map +1 -0
  580. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts +11 -0
  581. package/lib/types/components/backoffice/overview/BackofficeOverviewLayout.stories.d.ts.map +1 -0
  582. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +1 -1
  583. package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
  584. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts +2 -0
  585. package/lib/types/components/backoffice/pickers/entityIdPickerDialog.css.d.ts.map +1 -1
  586. package/lib/types/components/backoffice/pickers/shared/EntityPickerList.d.ts.map +1 -1
  587. package/lib/types/components/backoffice/pickers/shared/EntityPickerShell.d.ts.map +1 -1
  588. package/lib/types/components/backoffice/pickers/types.d.ts +1 -1
  589. package/lib/types/components/backoffice/pickers/types.d.ts.map +1 -1
  590. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts +4 -4
  591. package/lib/types/components/backoffice/refs/BackofficeEntityIdRef.d.ts.map +1 -1
  592. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts +15 -0
  593. package/lib/types/components/backoffice/refs/BackofficeEntityLink.d.ts.map +1 -0
  594. package/lib/types/components/backoffice/refs/BackofficeRelatedCountLink.d.ts.map +1 -1
  595. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts +2 -0
  596. package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -1
  597. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts +1 -1
  598. package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
  599. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts +4 -0
  600. package/lib/types/components/backoffice/routing/BackofficeRouteFallback.d.ts.map +1 -1
  601. package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailScaffold.d.ts.map +1 -1
  602. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +10 -6
  603. package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
  604. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts +3 -3
  605. package/lib/types/components/backoffice/scaffolds/BackofficeListFilterContext.d.ts.map +1 -1
  606. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts +11 -0
  607. package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.stories.d.ts.map +1 -0
  608. package/lib/types/components/backoffice/scaffolds/backofficeEntityListScaffold.css.d.ts.map +1 -1
  609. package/lib/types/components/backoffice/shared/BackofficeFilterableCell.d.ts +13 -0
  610. package/lib/types/components/backoffice/shared/BackofficeFilterableCell.d.ts.map +1 -0
  611. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts +9 -0
  612. package/lib/types/components/backoffice/shared/BackofficeFormattedCurrency.d.ts.map +1 -0
  613. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts +9 -0
  614. package/lib/types/components/backoffice/shared/BackofficeFormattedNumber.d.ts.map +1 -0
  615. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts +12 -0
  616. package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -0
  617. package/lib/types/components/backoffice/shared/backofficeInlineFilterRow.css.d.ts.map +1 -1
  618. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts +11 -0
  619. package/lib/types/components/backoffice/tools/BackofficeToolsDocPanel.d.ts.map +1 -0
  620. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts +8 -0
  621. package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -0
  622. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts +15 -0
  623. package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -0
  624. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts +7 -0
  625. package/lib/types/components/backoffice/tools/BackofficeToolsQueryBoundary.d.ts.map +1 -0
  626. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts +8 -0
  627. package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -0
  628. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts +7 -0
  629. package/lib/types/components/backoffice/tools/backofficeToolsForm.css.d.ts.map +1 -0
  630. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts +4 -0
  631. package/lib/types/components/backoffice/tools/backofficeToolsJsonForm.css.d.ts.map +1 -0
  632. package/lib/types/components/backoffice/tools/parseToolJson.d.ts +2 -0
  633. package/lib/types/components/backoffice/tools/parseToolJson.d.ts.map +1 -0
  634. package/lib/types/filters/filterHelpers.d.ts +3 -3
  635. package/lib/types/filters/filterHelpers.d.ts.map +1 -1
  636. package/lib/types/hooks/useAuth.d.ts.map +1 -1
  637. package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts.map +1 -1
  638. package/lib/types/hooks/useBackofficeListRefetch.d.ts +7 -3
  639. package/lib/types/hooks/useBackofficeListRefetch.d.ts.map +1 -1
  640. package/lib/types/hooks/useBackofficeListUrlState.d.ts +2 -2
  641. package/lib/types/hooks/useBackofficeListUrlState.d.ts.map +1 -1
  642. package/lib/types/hooks/useInfiniteConnection.d.ts +37 -0
  643. package/lib/types/hooks/useInfiniteConnection.d.ts.map +1 -0
  644. package/lib/types/i18n/resources.d.ts +138 -7
  645. package/lib/types/i18n/resources.d.ts.map +1 -1
  646. package/lib/types/index.d.ts +31 -0
  647. package/lib/types/index.d.ts.map +1 -1
  648. package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
  649. package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
  650. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +3 -8
  651. package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
  652. package/lib/types/pages/BackofficeEntityListPage.d.ts +2 -2
  653. package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
  654. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts +8 -4
  655. package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
  656. package/lib/types/pages/BackofficeHubPage.d.ts.map +1 -1
  657. package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
  658. package/lib/types/pages/BackofficePasswordResetCompletePage.d.ts.map +1 -1
  659. package/lib/types/pages/BackofficePasswordResetRequestPage.d.ts.map +1 -1
  660. package/lib/types/pages/BackofficeVerifyEmailPage.d.ts.map +1 -1
  661. package/lib/types/pages/backofficeDashboardPage.css.d.ts +1 -14
  662. package/lib/types/pages/backofficeDashboardPage.css.d.ts.map +1 -1
  663. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts +2 -0
  664. package/lib/types/pages/backofficeEntityDetailPage.css.d.ts.map +1 -1
  665. package/lib/types/pages/dashboard/DashboardMetricGroup.d.ts +14 -0
  666. package/lib/types/pages/dashboard/DashboardMetricGroup.d.ts.map +1 -0
  667. package/lib/types/pages/dashboard/DashboardPanel.d.ts +9 -0
  668. package/lib/types/pages/dashboard/DashboardPanel.d.ts.map +1 -0
  669. package/lib/types/pages/dashboard/DashboardQuickActions.d.ts +13 -0
  670. package/lib/types/pages/dashboard/DashboardQuickActions.d.ts.map +1 -0
  671. package/lib/types/pages/dashboard/DashboardStatusList.d.ts +13 -0
  672. package/lib/types/pages/dashboard/DashboardStatusList.d.ts.map +1 -0
  673. package/lib/types/pages/dashboard/dashboardMetricGroup.css.d.ts +4 -0
  674. package/lib/types/pages/dashboard/dashboardMetricGroup.css.d.ts.map +1 -0
  675. package/lib/types/pages/dashboard/dashboardPanel.css.d.ts +2 -0
  676. package/lib/types/pages/dashboard/dashboardPanel.css.d.ts.map +1 -0
  677. package/lib/types/pages/dashboard/dashboardQuickActions.css.d.ts +5 -0
  678. package/lib/types/pages/dashboard/dashboardQuickActions.css.d.ts.map +1 -0
  679. package/lib/types/pages/dashboard/dashboardStatusList.css.d.ts +6 -0
  680. package/lib/types/pages/dashboard/dashboardStatusList.css.d.ts.map +1 -0
  681. package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
  682. package/lib/types/provider/types.d.ts +5 -1
  683. package/lib/types/provider/types.d.ts.map +1 -1
  684. package/lib/types/relay/connectionUtils.d.ts +10 -0
  685. package/lib/types/relay/connectionUtils.d.ts.map +1 -0
  686. package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
  687. package/lib/types/storybook/relay/RelayStory.css.d.ts +5 -0
  688. package/lib/types/storybook/relay/RelayStory.css.d.ts.map +1 -0
  689. package/lib/types/storybook/relay/RelayStory.d.ts +35 -0
  690. package/lib/types/storybook/relay/RelayStory.d.ts.map +1 -0
  691. package/lib/types/storybook/relay/mockResolvers.d.ts +3 -0
  692. package/lib/types/storybook/relay/mockResolvers.d.ts.map +1 -0
  693. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts +16 -0
  694. package/lib/types/subscriptions/useCursorResumableSubscription.d.ts.map +1 -0
  695. package/package.json +24 -9
  696. package/lib/esm/AcceptInvitationScreen-B1IPafwD.js.map +0 -1
  697. package/lib/esm/AuthPanel-BaIRFGbX.js.map +0 -1
  698. package/lib/esm/BackofficeAcceptInvitationPage-BfRsORii.js +0 -24
  699. package/lib/esm/BackofficeAcceptInvitationPage-BfRsORii.js.map +0 -1
  700. package/lib/esm/BackofficeDashboardPage-CZAcZwRc.js +0 -344
  701. package/lib/esm/BackofficeDashboardPage-CZAcZwRc.js.map +0 -1
  702. package/lib/esm/BackofficeDetailPayload-P61MDRLE.js +0 -94
  703. package/lib/esm/BackofficeDetailPayload-P61MDRLE.js.map +0 -1
  704. package/lib/esm/BackofficeEntityActionFormDialog-BgMuhyU8.js +0 -512
  705. package/lib/esm/BackofficeEntityActionFormDialog-BgMuhyU8.js.map +0 -1
  706. package/lib/esm/BackofficeEntityDetailLayoutContext-DeuH5PCW.js.map +0 -1
  707. package/lib/esm/BackofficeEntityDetailLayoutPage-Duc_DcIV.js +0 -18
  708. package/lib/esm/BackofficeEntityDetailLayoutPage-Duc_DcIV.js.map +0 -1
  709. package/lib/esm/BackofficeEntityDetailPage-ChxBrqz8.js +0 -1053
  710. package/lib/esm/BackofficeEntityDetailPage-ChxBrqz8.js.map +0 -1
  711. package/lib/esm/BackofficeEntityDetailUnknownPageRedirect-xupMeril.js.map +0 -1
  712. package/lib/esm/BackofficeEntityListPage-BACvfX6c.js +0 -404
  713. package/lib/esm/BackofficeEntityListPage-BACvfX6c.js.map +0 -1
  714. package/lib/esm/BackofficeHubPage-BsUXulN0.js +0 -136
  715. package/lib/esm/BackofficeHubPage-BsUXulN0.js.map +0 -1
  716. package/lib/esm/BackofficeLayoutPage-r6dXo9SI.js +0 -699
  717. package/lib/esm/BackofficeLayoutPage-r6dXo9SI.js.map +0 -1
  718. package/lib/esm/BackofficeLoginPage-BMPhO1cr.js +0 -46
  719. package/lib/esm/BackofficeLoginPage-BMPhO1cr.js.map +0 -1
  720. package/lib/esm/BackofficePasswordResetCompletePage-OApMUiOi.js.map +0 -1
  721. package/lib/esm/BackofficePasswordResetRequestPage-DPDImb37.js.map +0 -1
  722. package/lib/esm/BackofficeRightPageLayout-BZb7LhT-.js +0 -53
  723. package/lib/esm/BackofficeRightPageLayout-BZb7LhT-.js.map +0 -1
  724. package/lib/esm/BackofficeTopbarPortalContext-CphoSrZD.js.map +0 -1
  725. package/lib/esm/BackofficeVerifyEmailPage-DHuSOxDf.js.map +0 -1
  726. package/lib/esm/EntityFilterValue-BWUdPBwp.js +0 -78
  727. package/lib/esm/EntityFilterValue-BWUdPBwp.js.map +0 -1
  728. package/lib/esm/EntityIdPickerDialog-Yhmr-WsV.js +0 -308
  729. package/lib/esm/EntityIdPickerDialog-Yhmr-WsV.js.map +0 -1
  730. package/lib/esm/LazyBackofficeEntityActionFormDialog-uyYFFJGM.js +0 -522
  731. package/lib/esm/LazyBackofficeEntityActionFormDialog-uyYFFJGM.js.map +0 -1
  732. package/lib/esm/PasswordResetCompleteScreen-Cgg96DPo.js.map +0 -1
  733. package/lib/esm/PasswordResetRequestScreen-I1nFvGLd.js.map +0 -1
  734. package/lib/esm/VerifyEmailScreen-Br5KyHjg.js.map +0 -1
  735. package/lib/esm/backoffice-react.js +0 -1687
  736. package/lib/esm/backoffice-react.js.map +0 -1
  737. package/lib/esm/backofficeAuthPaths-2KMmkBLv.js.map +0 -1
  738. package/lib/esm/buildBreadcrumbs-C9cyiXb7.js.map +0 -1
  739. package/lib/esm/environment-DQfVyWHJ.js.map +0 -1
  740. package/lib/esm/loginPage.css-B7Io_DuU.js +0 -6
  741. package/lib/esm/loginPage.css-B7Io_DuU.js.map +0 -1
  742. package/lib/esm/mutationResult-CcQMY13J.js.map +0 -1
  743. package/lib/esm/pageResolution-hAQA5C6S.js.map +0 -1
  744. package/lib/esm/sidebarUtils-BZETlHea.js +0 -74
  745. package/lib/esm/sidebarUtils-BZETlHea.js.map +0 -1
  746. package/lib/esm/synchronizeAuthStatusQuery-BoPKMrP1.js +0 -324
  747. package/lib/esm/synchronizeAuthStatusQuery-BoPKMrP1.js.map +0 -1
  748. package/lib/esm/useAuth-CheTnq60.js +0 -544
  749. package/lib/esm/useAuth-CheTnq60.js.map +0 -1
  750. package/lib/esm/useBackofficeAuth-DVAXNAjP.js +0 -89
  751. package/lib/esm/useBackofficeAuth-DVAXNAjP.js.map +0 -1
  752. package/lib/esm/useBackofficeLazyValue-CoIAK-5N.js.map +0 -1
  753. package/lib/esm/useBackofficeListUrlState-D4fx5O7u.js.map +0 -1
  754. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js +0 -18
  755. package/lib/esm/useBackofficeReactTranslation-Btt58EIo.js.map +0 -1
  756. package/lib/esm/useRelayEnvironment-vQ86aW-n.js.map +0 -1
  757. package/lib/types/pages/backofficeHubPage.css.d.ts.map +0 -1
@@ -0,0 +1,7 @@
1
+ //#region \0rolldown/runtime.js
2
+ var e = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), t = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
3
+ if (typeof require < "u") return require.apply(this, arguments);
4
+ throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
5
+ });
6
+ //#endregion
7
+ export { e as __commonJSMin, t as __require };
@@ -0,0 +1,38 @@
1
+ import { indicator as e, root as t, text as n } from "./authRefreshNotice.css.js";
2
+ import { useSyncExternalStore as r } from "react";
3
+ import { addAuthRefreshStateListener as i, getAuthRefreshState as a } from "@plumile/auth";
4
+ import { cx as o } from "@plumile/ui";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/auth/AuthRefreshNotice.tsx
7
+ var l = (e) => i(() => {
8
+ e();
9
+ }), u = () => a(), d = () => r(l, u, u), f = ({ messages: r, className: i }) => {
10
+ let a = d();
11
+ return a.status === "temporarily_unavailable" ? /* @__PURE__ */ c("div", {
12
+ className: o(t, i),
13
+ role: "status",
14
+ "aria-live": "polite",
15
+ children: [/* @__PURE__ */ s("span", {
16
+ className: e,
17
+ "aria-hidden": "true"
18
+ }), /* @__PURE__ */ s("p", {
19
+ className: n,
20
+ children: r.temporarilyUnavailable
21
+ })]
22
+ }) : a.status === "session_expired" ? /* @__PURE__ */ c("div", {
23
+ className: o(t, i),
24
+ role: "status",
25
+ "aria-live": "polite",
26
+ children: [/* @__PURE__ */ s("span", {
27
+ className: e,
28
+ "aria-hidden": "true"
29
+ }), /* @__PURE__ */ s("p", {
30
+ className: n,
31
+ children: r.sessionExpired
32
+ })]
33
+ }) : null;
34
+ };
35
+ //#endregion
36
+ export { f as AuthRefreshNotice, f as default, d as useAuthRefreshStateSnapshot };
37
+
38
+ //# sourceMappingURL=AuthRefreshNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthRefreshNotice.js","names":[],"sources":["../../../src/auth/AuthRefreshNotice.tsx"],"sourcesContent":["import { useSyncExternalStore, type JSX } from 'react';\n\nimport {\n addAuthRefreshStateListener,\n getAuthRefreshState,\n type AuthRefreshState,\n} from '@plumile/auth';\nimport { cx } from '@plumile/ui';\n\nimport * as styles from './authRefreshNotice.css.js';\n\nexport type AuthRefreshNoticeMessages = {\n temporarilyUnavailable: string;\n sessionExpired: string;\n};\n\nexport type AuthRefreshNoticeProps = {\n messages: AuthRefreshNoticeMessages;\n className?: string;\n};\n\nconst subscribe = (onStoreChange: () => void): (() => void) => {\n return addAuthRefreshStateListener(() => {\n onStoreChange();\n });\n};\n\nconst getSnapshot = (): AuthRefreshState => {\n return getAuthRefreshState();\n};\n\nexport const useAuthRefreshStateSnapshot = (): AuthRefreshState => {\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n};\n\nexport const AuthRefreshNotice = ({\n messages,\n className,\n}: AuthRefreshNoticeProps): JSX.Element | null => {\n const state = useAuthRefreshStateSnapshot();\n\n if (state.status === 'temporarily_unavailable') {\n return (\n <div\n className={cx(styles.root, className)}\n role=\"status\"\n aria-live=\"polite\"\n >\n <span className={styles.indicator} aria-hidden=\"true\" />\n <p className={styles.text}>{messages.temporarilyUnavailable}</p>\n </div>\n );\n }\n\n if (state.status === 'session_expired') {\n return (\n <div\n className={cx(styles.root, className)}\n role=\"status\"\n aria-live=\"polite\"\n >\n <span className={styles.indicator} aria-hidden=\"true\" />\n <p className={styles.text}>{messages.sessionExpired}</p>\n </div>\n );\n }\n\n return null;\n};\n\nexport default AuthRefreshNotice;\n"],"mappings":";;;;;;AAqBA,IAAM,KAAa,MACV,QAAkC;CACvC,GAAe;EACf,EAGE,UACG,GAAqB,EAGjB,UACJ,EAAqB,GAAW,GAAa,EAAY,EAGrD,KAAqB,EAChC,aACA,mBACgD;CAChD,IAAM,IAAQ,GAA6B;CA4B3C,OA1BI,EAAM,WAAW,4BAEjB,kBAAC,OAAD;EACE,WAAW,EAAG,GAAa,EAAU;EACrC,MAAK;EACL,aAAU;YAHZ,CAKE,kBAAC,QAAD;GAAM,WAAW;GAAkB,eAAY;GAAS,CAAA,EACxD,kBAAC,KAAD;GAAG,WAAW;aAAc,EAAS;GAA2B,CAAA,CAC5D;MAIN,EAAM,WAAW,oBAEjB,kBAAC,OAAD;EACE,WAAW,EAAG,GAAa,EAAU;EACrC,MAAK;EACL,aAAU;YAHZ,CAKE,kBAAC,QAAD;GAAM,WAAW;GAAkB,eAAY;GAAS,CAAA,EACxD,kBAAC,KAAD;GAAG,WAAW;aAAc,EAAS;GAAmB,CAAA,CACpD;MAIH"}
@@ -0,0 +1,28 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import t from "react-qr-code";
3
+ //#region src/auth/TotpQrCode.tsx
4
+ function n({ secret: e, issuer: t, accountName: n, algorithm: r = "SHA1", digits: i = 6, period: a = 30 }) {
5
+ let o = n ?? t, s = new URLSearchParams({
6
+ secret: e,
7
+ issuer: t,
8
+ algorithm: r,
9
+ digits: String(i),
10
+ period: String(a)
11
+ });
12
+ return `otpauth://totp/${encodeURIComponent(o)}?${s.toString()}`;
13
+ }
14
+ var r = ({ secret: r, issuer: i, accountName: a, otpauthUrl: o, size: s = 220, algorithm: c, digits: l, period: u }) => /* @__PURE__ */ e(t, {
15
+ value: o ?? n({
16
+ secret: r,
17
+ issuer: i,
18
+ accountName: a,
19
+ algorithm: c,
20
+ digits: l,
21
+ period: u
22
+ }),
23
+ size: s
24
+ });
25
+ //#endregion
26
+ export { r as TotpQrCode, r as default, n as buildTotpOtpAuthUri };
27
+
28
+ //# sourceMappingURL=TotpQrCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotpQrCode.js","names":[],"sources":["../../../src/auth/TotpQrCode.tsx"],"sourcesContent":["import type { JSX } from 'react';\nimport QRCode from 'react-qr-code';\n\nexport type BuildTotpOtpAuthUriOptions = {\n secret: string;\n issuer: string;\n accountName?: string;\n algorithm?: string;\n digits?: number;\n period?: number;\n};\n\nexport type TotpQrCodeProps = BuildTotpOtpAuthUriOptions & {\n otpauthUrl?: string;\n size?: number;\n};\n\n/**\n *\n */\nexport function buildTotpOtpAuthUri({\n secret,\n issuer,\n accountName,\n algorithm = 'SHA1',\n digits = 6,\n period = 30,\n}: BuildTotpOtpAuthUriOptions): string {\n const label = accountName ?? issuer;\n const params = new URLSearchParams({\n secret,\n issuer,\n algorithm,\n digits: String(digits),\n period: String(period),\n });\n\n return `otpauth://totp/${encodeURIComponent(label)}?${params.toString()}`;\n}\n\nexport const TotpQrCode = ({\n secret,\n issuer,\n accountName,\n otpauthUrl,\n size = 220,\n algorithm,\n digits,\n period,\n}: TotpQrCodeProps): JSX.Element => {\n const otpAuthUri =\n otpauthUrl ??\n buildTotpOtpAuthUri({\n secret,\n issuer,\n accountName,\n algorithm,\n digits,\n period,\n });\n\n return <QRCode value={otpAuthUri} size={size} />;\n};\n\nexport default TotpQrCode;\n"],"mappings":";;;AAoBA,SAAgB,EAAoB,EAClC,WACA,WACA,gBACA,eAAY,QACZ,YAAS,GACT,YAAS,MAC4B;CACrC,IAAM,IAAQ,KAAe,GACvB,IAAS,IAAI,gBAAgB;EACjC;EACA;EACA;EACA,QAAQ,OAAO,EAAO;EACtB,QAAQ,OAAO,EAAO;EACvB,CAAC;CAEF,OAAO,kBAAkB,mBAAmB,EAAM,CAAC,GAAG,EAAO,UAAU;;AAGzE,IAAa,KAAc,EACzB,WACA,WACA,gBACA,eACA,UAAO,KACP,cACA,WACA,gBAaO,kBAAC,GAAD;CAAQ,OAVb,KACA,EAAoB;EAClB;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEoC;CAAQ,CAAA"}
@@ -0,0 +1,7 @@
1
+ /* empty css */
2
+ //#region src/auth/authRefreshNotice.css.ts
3
+ var e = "tc0xii0 txvbqbptp txvbqb9ip txvbqbcp txvbqbaog txvbqb8y txvbqbuwp", t = "tc0xii1", n = "txvbqbfcp";
4
+ //#endregion
5
+ export { t as indicator, e as root, n as text };
6
+
7
+ //# sourceMappingURL=authRefreshNotice.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authRefreshNotice.css.js","names":[],"sources":["../../../src/auth/authRefreshNotice.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles, vars } from '@plumile/ui';\n\nexport const root = style([\n sprinkles({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n gap: 3,\n fontSize: 'sm',\n zIndex: 50,\n }),\n {\n left: '16px',\n right: '16px',\n bottom: '16px',\n maxWidth: '720px',\n margin: '0 auto',\n padding: '10px 14px',\n color: vars.colors.text,\n backgroundColor: vars.colors.white,\n border: `1px solid ${vars.colors.borderStrong}`,\n boxShadow: vars.boxShadow.lg,\n },\n]);\n\nexport const indicator = style({\n flex: '0 0 auto',\n width: '8px',\n height: '8px',\n borderRadius: '999px',\n backgroundColor: vars.colors.warning,\n});\n\nexport const text = sprinkles({\n margin: 0,\n});\n"],"mappings":""}
@@ -1,28 +1,28 @@
1
- import { i as e, l as t, n, s as r, u as i } from "./loginPage.css-B7Io_DuU.js";
1
+ import { block as e, footer as t, helper as n, panel as r, panelTitle as i } from "./loginPage.css.js";
2
2
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
3
3
  //#region src/auth/login/AuthPanel.tsx
4
4
  var s = ({ title: s, description: c, children: l, footer: u }) => /* @__PURE__ */ a("div", {
5
- className: t,
5
+ className: r,
6
6
  children: /* @__PURE__ */ o("div", {
7
- className: n,
7
+ className: e,
8
8
  children: [
9
9
  s == null ? null : /* @__PURE__ */ a("h2", {
10
10
  className: i,
11
11
  children: s
12
12
  }),
13
13
  c == null ? null : /* @__PURE__ */ a("p", {
14
- className: r,
14
+ className: n,
15
15
  children: c
16
16
  }),
17
17
  l,
18
18
  u == null ? null : /* @__PURE__ */ a("div", {
19
- className: e,
19
+ className: t,
20
20
  children: u
21
21
  })
22
22
  ]
23
23
  })
24
24
  });
25
25
  //#endregion
26
- export { s as t };
26
+ export { s as AuthPanel, s as default };
27
27
 
28
- //# sourceMappingURL=AuthPanel-BaIRFGbX.js.map
28
+ //# sourceMappingURL=AuthPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthPanel.js","names":[],"sources":["../../../../src/auth/login/AuthPanel.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n title?: string;\n description?: string;\n children: ReactNode;\n footer?: ReactNode;\n};\n\nexport const AuthPanel = ({\n title,\n description,\n children,\n footer,\n}: Props): JSX.Element => {\n return (\n <div className={styles.panel}>\n <div className={styles.block}>\n {title != null ? <h2 className={styles.panelTitle}>{title}</h2> : null}\n {description != null ? (\n <p className={styles.helper}>{description}</p>\n ) : null}\n {children}\n {footer != null ? <div className={styles.footer}>{footer}</div> : null}\n </div>\n </div>\n );\n};\n\nexport default AuthPanel;\n"],"mappings":";;;AAYA,IAAa,KAAa,EACxB,UACA,gBACA,aACA,QAAA,QAGE,kBAAC,OAAD;CAAK,WAAW;WACd,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACG,KAAS,OAAwD,OAAjD,kBAAC,MAAD;IAAI,WAAW;cAAoB;IAAW,CAAA;GAC9D,KAAe,OAEZ,OADF,kBAAC,KAAD;IAAG,WAAW;cAAgB;IAAgB,CAAA;GAE/C;GACA,KAAU,OAAuD,OAAhD,kBAAC,OAAD;IAAK,WAAW;cAAgB;IAAa,CAAA;GAC3D;;CACF,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { actionsRow as e, formSurface as t, helper as n, inlineLink as r } from "./loginPage.css.js";
2
+ import { AuthPanel as i } from "./AuthPanel.js";
3
+ import { useBackofficeReactTranslation as a } from "../../i18n/useBackofficeReactTranslation.js";
4
+ import { Button as o, FormError as s, FormField as c } from "@plumile/ui";
5
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ //#region src/auth/login/EmailCapturePanel.tsx
7
+ var d = ({ email: d, errorMessage: f, isLoading: p, onEmailChange: m, onContinue: h, onForgotPassword: g }) => {
8
+ let { t: _ } = a();
9
+ return /* @__PURE__ */ l(i, { children: /* @__PURE__ */ u("div", {
10
+ className: t,
11
+ children: [
12
+ /* @__PURE__ */ l("p", {
13
+ className: n,
14
+ children: _("auth.emailCapture.description")
15
+ }),
16
+ f != null && /* @__PURE__ */ l(s, { children: f }),
17
+ /* @__PURE__ */ l(c, {
18
+ label: _("auth.emailCapture.emailLabel"),
19
+ name: "email",
20
+ type: "email",
21
+ value: d,
22
+ onChange: (e) => {
23
+ m(e.target.value);
24
+ },
25
+ placeholder: _("auth.emailCapture.emailPlaceholder"),
26
+ autoComplete: "email",
27
+ required: !0
28
+ }),
29
+ /* @__PURE__ */ u("div", {
30
+ className: e,
31
+ children: [/* @__PURE__ */ l(o, {
32
+ type: "button",
33
+ variant: "primary",
34
+ onClick: h,
35
+ isLoading: p,
36
+ children: _("auth.emailCapture.continue")
37
+ }), /* @__PURE__ */ l("button", {
38
+ type: "button",
39
+ className: r,
40
+ onClick: g,
41
+ children: _("auth.emailCapture.forgotPassword")
42
+ })]
43
+ })
44
+ ]
45
+ }) });
46
+ };
47
+ //#endregion
48
+ export { d as EmailCapturePanel };
49
+
50
+ //# sourceMappingURL=EmailCapturePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailCapturePanel.js","names":[],"sources":["../../../../src/auth/login/EmailCapturePanel.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { Button, FormError, FormField } from '@plumile/ui';\n\nimport { AuthPanel } from './AuthPanel.js';\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n email: string;\n errorMessage: string | null;\n isLoading: boolean;\n onEmailChange: (value: string) => void;\n onContinue: () => void;\n onForgotPassword: () => void;\n};\n\nexport const EmailCapturePanel = ({\n email,\n errorMessage,\n isLoading,\n onEmailChange,\n onContinue,\n onForgotPassword,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n return (\n <AuthPanel>\n <div className={styles.formSurface}>\n <p className={styles.helper}>{t('auth.emailCapture.description')}</p>\n {errorMessage != null && <FormError>{errorMessage}</FormError>}\n <FormField\n label={t('auth.emailCapture.emailLabel')}\n name=\"email\"\n type=\"email\"\n value={email}\n onChange={(event) => {\n onEmailChange(event.target.value);\n }}\n placeholder={t('auth.emailCapture.emailPlaceholder')}\n autoComplete=\"email\"\n required\n />\n <div className={styles.actionsRow}>\n <Button\n type=\"button\"\n variant=\"primary\"\n onClick={onContinue}\n isLoading={isLoading}\n >\n {t('auth.emailCapture.continue')}\n </Button>\n <button\n type=\"button\"\n className={styles.inlineLink}\n onClick={onForgotPassword}\n >\n {t('auth.emailCapture.forgotPassword')}\n </button>\n </div>\n </div>\n </AuthPanel>\n );\n};\n"],"mappings":";;;;;;AAiBA,IAAa,KAAqB,EAChC,UACA,iBACA,cACA,kBACA,eACA,0BACwB;CACxB,IAAM,EAAE,SAAM,GAA+B;CAC7C,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACE,kBAAC,KAAD;IAAG,WAAW;cAAgB,EAAE,gCAAgC;IAAK,CAAA;GACpE,KAAgB,QAAQ,kBAAC,GAAD,EAAA,UAAY,GAAyB,CAAA;GAC9D,kBAAC,GAAD;IACE,OAAO,EAAE,+BAA+B;IACxC,MAAK;IACL,MAAK;IACL,OAAO;IACP,WAAW,MAAU;KACnB,EAAc,EAAM,OAAO,MAAM;;IAEnC,aAAa,EAAE,qCAAqC;IACpD,cAAa;IACb,UAAA;IACA,CAAA;GACF,kBAAC,OAAD;IAAK,WAAW;cAAhB,CACE,kBAAC,GAAD;KACE,MAAK;KACL,SAAQ;KACR,SAAS;KACE;eAEV,EAAE,6BAA6B;KACzB,CAAA,EACT,kBAAC,UAAD;KACE,MAAK;KACL,WAAW;KACX,SAAS;eAER,EAAE,mCAAmC;KAC/B,CAAA,CACL;;GACF;KACI,CAAA"}
@@ -0,0 +1,130 @@
1
+ import { AuthPanel as e } from "./AuthPanel.js";
2
+ import { useBackofficeReactTranslation as t } from "../../i18n/useBackofficeReactTranslation.js";
3
+ import { EmailCapturePanel as n } from "./EmailCapturePanel.js";
4
+ import { MfaChallengeForm as r } from "./MfaChallengeForm.js";
5
+ import { PasskeyLoginForm as i } from "./PasskeyLoginForm.js";
6
+ import { MethodChooser as a } from "./MethodChooser.js";
7
+ import { PasswordLoginPanel as o } from "./PasswordLoginPanel.js";
8
+ import { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
9
+ import { AuthLayout as f } from "@plumile/ui";
10
+ import { jsx as p } from "react/jsx-runtime";
11
+ //#region src/auth/login/LoginFlow.tsx
12
+ var m = ({ auth: m, oidcProviders: h, onLoginSuccess: g, onForgotPassword: _ }) => {
13
+ let { t: v } = t(), [y, b] = d(""), [x, S] = d([]), [C, w] = d(null), [T, E] = d("email"), [D, O] = d(!1), [k, A] = d(null), j = u(!0), M = l(() => ({
14
+ ...m,
15
+ beginAuthentication: async (e) => {
16
+ let t = await m.beginAuthentication(e);
17
+ return b(e), S(t.methods), w(t.lockedUntil), t;
18
+ }
19
+ }), [m]), N = s(({ force: e } = { force: !1 }) => {
20
+ !e && m.nextStep === "TOTP" || g();
21
+ }, [m.nextStep, g]), P = m.nextStep === "TOTP" || T === "mfa", F = v(P ? "auth.loginFlow.title.mfa" : "auth.loginFlow.title.default"), I = v(P ? "auth.loginFlow.subtitle.mfa" : "auth.loginFlow.subtitle.default"), L = s(async (e) => {
22
+ A(null);
23
+ try {
24
+ let t = e.trim(), n = await m.beginAuthentication(t);
25
+ b(t), S(n.methods), w(n.lockedUntil), n.methods.some((e) => e === "PASSKEY") ? E("passkey") : n.methods.includes("PASSWORD") ? E("password") : E("methods");
26
+ } catch {
27
+ A(v("auth.loginFlow.errors.tryAgain"));
28
+ }
29
+ }, [m, v]);
30
+ c(() => {
31
+ j.current = !0;
32
+ let e = y.trim();
33
+ return T === "passkey" && !D && e !== "" && (O(!0), (async () => {
34
+ try {
35
+ let t = await M.loginWithPasskey({ email: e });
36
+ if (!j.current) return;
37
+ if (t === "success") {
38
+ N();
39
+ return;
40
+ }
41
+ if (t === "mfa-required") {
42
+ E("mfa");
43
+ return;
44
+ }
45
+ E("methods"), A(v("auth.loginFlow.errors.passkeyUnavailable"));
46
+ } catch {
47
+ if (!j.current) return;
48
+ A(v("auth.loginFlow.errors.passkeyUnavailable")), E("methods");
49
+ }
50
+ })().catch(() => {})), () => {
51
+ j.current = !1;
52
+ };
53
+ }, [
54
+ y,
55
+ N,
56
+ D,
57
+ M,
58
+ v,
59
+ T
60
+ ]);
61
+ let R;
62
+ return R = P ? /* @__PURE__ */ p(e, { children: /* @__PURE__ */ p(r, {
63
+ auth: m,
64
+ onSuccess: () => {
65
+ N({ force: !0 });
66
+ },
67
+ onBack: () => {
68
+ m.reset(), E("email");
69
+ }
70
+ }) }) : T === "passkey" ? /* @__PURE__ */ p(e, {
71
+ title: v("auth.loginFlow.passkey.title"),
72
+ description: v("auth.loginFlow.passkey.description", { email: y }),
73
+ children: /* @__PURE__ */ p(i, {
74
+ auth: M,
75
+ onSuccess: N,
76
+ onShowMethods: () => {
77
+ E("methods");
78
+ },
79
+ defaultEmail: y,
80
+ isAttemptingPasskey: m.isLoading
81
+ })
82
+ }) : T === "methods" ? /* @__PURE__ */ p(e, {
83
+ title: v("auth.loginFlow.methods.title"),
84
+ children: /* @__PURE__ */ p(a, {
85
+ email: y,
86
+ methods: x,
87
+ lockedUntil: C,
88
+ onSelect: (e) => {
89
+ if (e === "PASSKEY") {
90
+ E("passkey");
91
+ return;
92
+ }
93
+ e === "PASSWORD" && E("password");
94
+ },
95
+ onBack: () => {
96
+ E("email");
97
+ }
98
+ })
99
+ }) : T === "password" ? /* @__PURE__ */ p(o, {
100
+ auth: M,
101
+ defaultEmail: y,
102
+ onForgotPassword: _,
103
+ onSuccess: N,
104
+ providers: h
105
+ }) : /* @__PURE__ */ p(n, {
106
+ email: y,
107
+ errorMessage: k,
108
+ isLoading: m.isLoading,
109
+ onEmailChange: (e) => {
110
+ b(e), A(null);
111
+ },
112
+ onContinue: () => {
113
+ let e = y.trim();
114
+ if (e === "") {
115
+ A(v("auth.loginFlow.errors.emailRequired"));
116
+ return;
117
+ }
118
+ L(e).catch(() => {});
119
+ },
120
+ onForgotPassword: _
121
+ }), /* @__PURE__ */ p(f, {
122
+ title: F,
123
+ subtitle: I,
124
+ children: R
125
+ });
126
+ };
127
+ //#endregion
128
+ export { m as LoginFlow };
129
+
130
+ //# sourceMappingURL=LoginFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginFlow.js","names":[],"sources":["../../../../src/auth/login/LoginFlow.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport {\n type JSX,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { AuthLayout } from '@plumile/ui';\n\nimport type {\n AuthMethod,\n OidcProviderKind,\n} from '../../modules/sharedSchemaTypes.js';\nimport type { UseAuthReturn } from '../../hooks/useAuth.js';\n\nimport { MfaChallengeForm } from './MfaChallengeForm.js';\nimport { PasskeyLoginForm } from './PasskeyLoginForm.js';\nimport { MethodChooser } from './MethodChooser.js';\nimport AuthPanel from './AuthPanel.js';\nimport { EmailCapturePanel } from './EmailCapturePanel.js';\nimport { PasswordLoginPanel } from './PasswordLoginPanel.js';\n\nexport type LoginFlowProps = {\n auth: UseAuthReturn;\n oidcProviders: readonly OidcProviderKind[];\n onLoginSuccess: () => void;\n onForgotPassword: () => void;\n};\n\ntype View = 'email' | 'passkey' | 'methods' | 'password' | 'mfa';\n\nexport const LoginFlow = ({\n auth,\n oidcProviders,\n onLoginSuccess,\n onForgotPassword,\n}: LoginFlowProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [email, setEmail] = useState('');\n const [methods, setMethods] = useState<readonly AuthMethod[]>([]);\n const [lockedUntil, setLockedUntil] = useState<string | null>(null);\n const [view, setView] = useState<View>('email');\n const [hasTriedPasskey, setHasTriedPasskey] = useState(false);\n const [localError, setLocalError] = useState<string | null>(null);\n const passkeyAttemptActive = useRef(true);\n\n const loginAdapter = useMemo(() => {\n return {\n ...auth,\n beginAuthentication: async (inputEmail: string) => {\n const result = await auth.beginAuthentication(inputEmail);\n setEmail(inputEmail);\n setMethods(result.methods);\n setLockedUntil(result.lockedUntil);\n return result;\n },\n };\n }, [auth]);\n\n const handleLoginSuccess = useCallback(\n ({ force } = { force: false }) => {\n if (!force && auth.nextStep === 'TOTP') {\n return;\n }\n onLoginSuccess();\n },\n [auth.nextStep, onLoginSuccess],\n );\n\n const isMfaStep = auth.nextStep === 'TOTP' || view === 'mfa';\n const title = isMfaStep\n ? t('auth.loginFlow.title.mfa')\n : t('auth.loginFlow.title.default');\n const subtitle = isMfaStep\n ? t('auth.loginFlow.subtitle.mfa')\n : t('auth.loginFlow.subtitle.default');\n\n const startFlowForEmail = useCallback(\n async (inputEmail: string) => {\n setLocalError(null);\n try {\n const trimmed = inputEmail.trim();\n const result = await auth.beginAuthentication(trimmed);\n setEmail(trimmed);\n setMethods(result.methods);\n setLockedUntil(result.lockedUntil);\n const hasPasskey = result.methods.some((method) => {\n return method === 'PASSKEY';\n });\n\n if (hasPasskey) {\n setView('passkey');\n } else if (result.methods.includes('PASSWORD')) {\n setView('password');\n } else {\n setView('methods');\n }\n } catch {\n setLocalError(t('auth.loginFlow.errors.tryAgain'));\n }\n },\n [auth, t],\n );\n\n useEffect(() => {\n passkeyAttemptActive.current = true;\n const trimmedEmail = email.trim();\n const shouldAttempt =\n view === 'passkey' && !hasTriedPasskey && trimmedEmail !== '';\n\n if (shouldAttempt) {\n setHasTriedPasskey(true);\n const runPasskeyLogin = async () => {\n try {\n const status = await loginAdapter.loginWithPasskey({\n email: trimmedEmail,\n });\n\n if (!passkeyAttemptActive.current) {\n return;\n }\n\n if (status === 'success') {\n handleLoginSuccess();\n return;\n }\n\n if (status === 'mfa-required') {\n setView('mfa');\n return;\n }\n\n setView('methods');\n setLocalError(t('auth.loginFlow.errors.passkeyUnavailable'));\n } catch {\n if (!passkeyAttemptActive.current) {\n return;\n }\n\n setLocalError(t('auth.loginFlow.errors.passkeyUnavailable'));\n setView('methods');\n }\n };\n runPasskeyLogin().catch(() => {\n // Errors are handled inside runPasskeyLogin; ignore any unexpected rethrow.\n });\n }\n\n return () => {\n passkeyAttemptActive.current = false;\n };\n }, [email, handleLoginSuccess, hasTriedPasskey, loginAdapter, t, view]);\n\n let content: JSX.Element;\n\n if (isMfaStep) {\n content = (\n <AuthPanel>\n <MfaChallengeForm\n auth={auth}\n onSuccess={() => {\n handleLoginSuccess({ force: true });\n }}\n onBack={() => {\n auth.reset();\n setView('email');\n }}\n />\n </AuthPanel>\n );\n } else if (view === 'passkey') {\n content = (\n <AuthPanel\n title={t('auth.loginFlow.passkey.title')}\n description={t('auth.loginFlow.passkey.description', { email })}\n >\n <PasskeyLoginForm\n auth={loginAdapter}\n onSuccess={handleLoginSuccess}\n onShowMethods={() => {\n setView('methods');\n }}\n defaultEmail={email}\n isAttemptingPasskey={auth.isLoading}\n />\n </AuthPanel>\n );\n } else if (view === 'methods') {\n content = (\n <AuthPanel title={t('auth.loginFlow.methods.title')}>\n <MethodChooser\n email={email}\n methods={methods}\n lockedUntil={lockedUntil}\n onSelect={(method) => {\n if (method === 'PASSKEY') {\n setView('passkey');\n return;\n }\n if (method === 'PASSWORD') {\n setView('password');\n }\n }}\n onBack={() => {\n setView('email');\n }}\n />\n </AuthPanel>\n );\n } else if (view === 'password') {\n content = (\n <PasswordLoginPanel\n auth={loginAdapter}\n defaultEmail={email}\n onForgotPassword={onForgotPassword}\n onSuccess={handleLoginSuccess}\n providers={oidcProviders}\n />\n );\n } else {\n // email capture only\n content = (\n <EmailCapturePanel\n email={email}\n errorMessage={localError}\n isLoading={auth.isLoading}\n onEmailChange={(value) => {\n setEmail(value);\n setLocalError(null);\n }}\n onContinue={() => {\n const trimmed = email.trim();\n if (trimmed === '') {\n setLocalError(t('auth.loginFlow.errors.emailRequired'));\n return;\n }\n startFlowForEmail(trimmed).catch(() => {\n // startFlowForEmail handles its own errors.\n });\n }}\n onForgotPassword={onForgotPassword}\n />\n );\n }\n\n return (\n <AuthLayout title={title} subtitle={subtitle}>\n {content}\n </AuthLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;AAmCA,IAAa,KAAa,EACxB,SACA,kBACA,mBACA,0BACiC;CACjC,IAAM,EAAE,SAAM,GAA+B,EACvC,CAAC,GAAO,KAAY,EAAS,GAAG,EAChC,CAAC,GAAS,KAAc,EAAgC,EAAE,CAAC,EAC3D,CAAC,GAAa,KAAkB,EAAwB,KAAK,EAC7D,CAAC,GAAM,KAAW,EAAe,QAAQ,EACzC,CAAC,GAAiB,KAAsB,EAAS,GAAM,EACvD,CAAC,GAAY,KAAiB,EAAwB,KAAK,EAC3D,IAAuB,EAAO,GAAK,EAEnC,IAAe,SACZ;EACL,GAAG;EACH,qBAAqB,OAAO,MAAuB;GACjD,IAAM,IAAS,MAAM,EAAK,oBAAoB,EAAW;GAIzD,OAHA,EAAS,EAAW,EACpB,EAAW,EAAO,QAAQ,EAC1B,EAAe,EAAO,YAAY,EAC3B;;EAEV,GACA,CAAC,EAAK,CAAC,EAEJ,IAAqB,GACxB,EAAE,aAAU,EAAE,OAAO,IAAO,KAAK;EAC5B,CAAC,KAAS,EAAK,aAAa,UAGhC,GAAgB;IAElB,CAAC,EAAK,UAAU,EAAe,CAChC,EAEK,IAAY,EAAK,aAAa,UAAU,MAAS,OACjD,IACF,EADU,IACR,6BACA,+BAA+B,EAC/B,IACF,EADa,IACX,gCACA,kCAAkC,EAElC,IAAoB,EACxB,OAAO,MAAuB;EAC5B,EAAc,KAAK;EACnB,IAAI;GACF,IAAM,IAAU,EAAW,MAAM,EAC3B,IAAS,MAAM,EAAK,oBAAoB,EAAQ;GAQtD,AAPA,EAAS,EAAQ,EACjB,EAAW,EAAO,QAAQ,EAC1B,EAAe,EAAO,YAAY,EACf,EAAO,QAAQ,MAAM,MAC/B,MAAW,UAGhB,GACF,EAAQ,UAAU,GACT,EAAO,QAAQ,SAAS,WAAW,GAC5C,EAAQ,WAAW,GAEnB,EAAQ,UAAU;UAEd;GACN,EAAc,EAAE,iCAAiC,CAAC;;IAGtD,CAAC,GAAM,EAAE,CACV;CAED,QAAgB;EACd,EAAqB,UAAU;EAC/B,IAAM,IAAe,EAAM,MAAM;EA0CjC,OAxCE,MAAS,aAAa,CAAC,KAAmB,MAAiB,OAG3D,EAAmB,GAAK,GAgCxB,YA/BoC;GAClC,IAAI;IACF,IAAM,IAAS,MAAM,EAAa,iBAAiB,EACjD,OAAO,GACR,CAAC;IAEF,IAAI,CAAC,EAAqB,SACxB;IAGF,IAAI,MAAW,WAAW;KACxB,GAAoB;KACpB;;IAGF,IAAI,MAAW,gBAAgB;KAC7B,EAAQ,MAAM;KACd;;IAIF,AADA,EAAQ,UAAU,EAClB,EAAc,EAAE,2CAA2C,CAAC;WACtD;IACN,IAAI,CAAC,EAAqB,SACxB;IAIF,AADA,EAAc,EAAE,2CAA2C,CAAC,EAC5D,EAAQ,UAAU;;MAGL,CAAC,YAAY,GAE5B,SAGS;GACX,EAAqB,UAAU;;IAEhC;EAAC;EAAO;EAAoB;EAAiB;EAAc;EAAG;EAAK,CAAC;CAEvE,IAAI;CA4FJ,OA1FA,AAkEE,IAlEE,IAEA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACQ;EACN,iBAAiB;GACf,EAAmB,EAAE,OAAO,IAAM,CAAC;;EAErC,cAAc;GAEZ,AADA,EAAK,OAAO,EACZ,EAAQ,QAAQ;;EAElB,CAAA,EACQ,CAAA,GAEL,MAAS,YAEhB,kBAAC,GAAD;EACE,OAAO,EAAE,+BAA+B;EACxC,aAAa,EAAE,sCAAsC,EAAE,UAAO,CAAC;YAE/D,kBAAC,GAAD;GACE,MAAM;GACN,WAAW;GACX,qBAAqB;IACnB,EAAQ,UAAU;;GAEpB,cAAc;GACd,qBAAqB,EAAK;GAC1B,CAAA;EACQ,CAAA,GAEL,MAAS,YAEhB,kBAAC,GAAD;EAAW,OAAO,EAAE,+BAA+B;YACjD,kBAAC,GAAD;GACS;GACE;GACI;GACb,WAAW,MAAW;IACpB,IAAI,MAAW,WAAW;KACxB,EAAQ,UAAU;KAClB;;IAEF,AAAI,MAAW,cACb,EAAQ,WAAW;;GAGvB,cAAc;IACZ,EAAQ,QAAQ;;GAElB,CAAA;EACQ,CAAA,GAEL,MAAS,aAEhB,kBAAC,GAAD;EACE,MAAM;EACN,cAAc;EACI;EAClB,WAAW;EACX,WAAW;EACX,CAAA,GAKF,kBAAC,GAAD;EACS;EACP,cAAc;EACd,WAAW,EAAK;EAChB,gBAAgB,MAAU;GAExB,AADA,EAAS,EAAM,EACf,EAAc,KAAK;;EAErB,kBAAkB;GAChB,IAAM,IAAU,EAAM,MAAM;GAC5B,IAAI,MAAY,IAAI;IAClB,EAAc,EAAE,sCAAsC,CAAC;IACvD;;GAEF,EAAkB,EAAQ,CAAC,YAAY,GAErC;;EAEc;EAClB,CAAA,EAKJ,kBAAC,GAAD;EAAmB;EAAiB;YACjC;EACU,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { brandGhostButton as e, formSurface as t, fullWidth as n, helper as r, inlineLink as i, stack as a } from "./loginPage.css.js";
2
+ import { useBackofficeReactTranslation as o } from "../../i18n/useBackofficeReactTranslation.js";
3
+ import { Button as s, FormError as c, cx as l } from "@plumile/ui";
4
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import { Trans as f } from "react-i18next";
6
+ //#region src/auth/login/MethodChooser.tsx
7
+ var p = ({ email: p, methods: m, lockedUntil: h, onSelect: g, onBack: _ }) => {
8
+ let { t: v } = o(), y = m.length === 0, b = h == null ? v("auth.methodChooser.locked") : v("auth.methodChooser.lockedWithTime", { time: new Date(h).toLocaleString() }), x = m.map((t) => {
9
+ let r = t === "PASSKEY" ? v("auth.methodChooser.methods.passkey") : t === "PASSWORD" ? v("auth.methodChooser.methods.password") : v("auth.methodChooser.methods.other", { method: t.toLowerCase() });
10
+ return /* @__PURE__ */ u(s, {
11
+ type: "button",
12
+ variant: "secondary",
13
+ onClick: () => {
14
+ g(t);
15
+ },
16
+ className: l(n, e),
17
+ children: r
18
+ }, t);
19
+ });
20
+ return /* @__PURE__ */ u("div", {
21
+ className: t,
22
+ children: /* @__PURE__ */ d("div", {
23
+ className: a,
24
+ children: [
25
+ /* @__PURE__ */ u("p", {
26
+ className: r,
27
+ children: /* @__PURE__ */ u(f, {
28
+ i18nKey: "auth.methodChooser.prompt",
29
+ values: { email: p },
30
+ components: { strong: /* @__PURE__ */ u("strong", {}) }
31
+ })
32
+ }),
33
+ y ? /* @__PURE__ */ u(c, { children: b }) : null,
34
+ y ? null : x,
35
+ /* @__PURE__ */ u(s, {
36
+ type: "button",
37
+ variant: "text",
38
+ onClick: _,
39
+ className: i,
40
+ children: v("auth.methodChooser.actions.back")
41
+ })
42
+ ]
43
+ })
44
+ });
45
+ };
46
+ //#endregion
47
+ export { p as MethodChooser };
48
+
49
+ //# sourceMappingURL=MethodChooser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodChooser.js","names":[],"sources":["../../../../src/auth/login/MethodChooser.tsx"],"sourcesContent":["/* eslint-disable no-ternary */\nimport { type JSX } from 'react';\nimport { Trans } from 'react-i18next';\nimport { Button, FormError, cx } from '@plumile/ui';\n\nimport type { AuthMethod } from '../../modules/sharedSchemaTypes.js';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n email: string;\n methods: readonly AuthMethod[];\n lockedUntil: string | null;\n onSelect: (method: AuthMethod) => void;\n onBack: () => void;\n};\n\nexport const MethodChooser = ({\n email,\n methods,\n lockedUntil,\n onSelect,\n onBack,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const isLocked = methods.length === 0;\n const lockedMessage =\n lockedUntil != null\n ? t('auth.methodChooser.lockedWithTime', {\n time: new Date(lockedUntil).toLocaleString(),\n })\n : t('auth.methodChooser.locked');\n\n const methodButtons = methods.map((method) => {\n const label =\n method === 'PASSKEY'\n ? t('auth.methodChooser.methods.passkey')\n : method === 'PASSWORD'\n ? t('auth.methodChooser.methods.password')\n : t('auth.methodChooser.methods.other', {\n method: method.toLowerCase(),\n });\n return (\n <Button\n key={method}\n type=\"button\"\n variant=\"secondary\"\n onClick={() => {\n onSelect(method);\n }}\n className={cx(styles.fullWidth, styles.brandGhostButton)}\n >\n {label}\n </Button>\n );\n });\n\n return (\n <div className={styles.formSurface}>\n <div className={styles.stack}>\n <p className={styles.helper}>\n <Trans\n i18nKey=\"auth.methodChooser.prompt\"\n values={{ email }}\n components={{ strong: <strong /> }}\n />\n </p>\n {isLocked ? <FormError>{lockedMessage}</FormError> : null}\n {!isLocked ? methodButtons : null}\n <Button\n type=\"button\"\n variant=\"text\"\n onClick={onBack}\n className={styles.inlineLink}\n >\n {t('auth.methodChooser.actions.back')}\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;AAkBA,IAAa,KAAiB,EAC5B,UACA,YACA,gBACA,aACA,gBACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,IAAW,EAAQ,WAAW,GAC9B,IACJ,KAAe,OAIX,EAAE,4BAA4B,GAH9B,EAAE,qCAAqC,EACrC,MAAM,IAAI,KAAK,EAAY,CAAC,gBAAgB,EAC7C,CAAC,EAGF,IAAgB,EAAQ,KAAK,MAAW;EAC5C,IAAM,IACJ,MAAW,YACP,EAAE,qCAAqC,GACvC,MAAW,aACT,EAAE,sCAAsC,GACxC,EAAE,oCAAoC,EACpC,QAAQ,EAAO,aAAa,EAC7B,CAAC;EACV,OACE,kBAAC,GAAD;GAEE,MAAK;GACL,SAAQ;GACR,eAAe;IACb,EAAS,EAAO;;GAElB,WAAW,EAAG,GAAkB,EAAwB;aAEvD;GACM,EATF,EASE;GAEX;CAEF,OACE,kBAAC,OAAD;EAAK,WAAW;YACd,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,KAAD;KAAG,WAAW;eACZ,kBAAC,GAAD;MACE,SAAQ;MACR,QAAQ,EAAE,UAAO;MACjB,YAAY,EAAE,QAAQ,kBAAC,UAAD,EAAU,CAAA,EAAE;MAClC,CAAA;KACA,CAAA;IACH,IAAW,kBAAC,GAAD,EAAA,UAAY,GAA0B,CAAA,GAAG;IACnD,IAA2B,OAAhB;IACb,kBAAC,GAAD;KACE,MAAK;KACL,SAAQ;KACR,SAAS;KACT,WAAW;eAEV,EAAE,kCAAkC;KAC9B,CAAA;IACL;;EACF,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { actionsRow as e, formSurface as t, helper as n, inlineLink as r, stack as i } from "./loginPage.css.js";
2
+ import { useBackofficeReactTranslation as a } from "../../i18n/useBackofficeReactTranslation.js";
3
+ import { useCallback as o, useEffect as s, useState as c } from "react";
4
+ import { Button as l, FormError as u, FormField as d } from "@plumile/ui";
5
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ //#region src/auth/login/MfaChallengeForm.tsx
7
+ var m = ({ auth: m, onSuccess: h, onBack: g }) => {
8
+ let { t: _ } = a(), [v, y] = c(""), [b, x] = c(null);
9
+ s(() => {
10
+ m.clearError(), x(null);
11
+ }, [m]);
12
+ let S = o(async (e) => {
13
+ e.preventDefault(), x(null);
14
+ let t = v.trim();
15
+ if (t.length < 4) {
16
+ x(_("auth.mfa.errors.shortCode"));
17
+ return;
18
+ }
19
+ try {
20
+ let e = { code: t };
21
+ await m.completeMfa(e), h();
22
+ } catch {
23
+ x(_("auth.mfa.errors.verificationFailed"));
24
+ }
25
+ }, [
26
+ m,
27
+ v,
28
+ h,
29
+ _
30
+ ]), C = m.emailHint == null ? _("auth.mfa.helper.default") : _("auth.mfa.helper.withEmail", { email: m.emailHint }), w = b;
31
+ return /* @__PURE__ */ p("form", {
32
+ className: t,
33
+ onSubmit: S,
34
+ noValidate: !0,
35
+ children: [/* @__PURE__ */ p("div", {
36
+ className: i,
37
+ children: [
38
+ /* @__PURE__ */ f("p", {
39
+ className: n,
40
+ children: C
41
+ }),
42
+ w == null ? null : /* @__PURE__ */ f(u, { children: w }),
43
+ /* @__PURE__ */ f(d, {
44
+ label: _("auth.mfa.form.label"),
45
+ name: "code",
46
+ type: "text",
47
+ value: v,
48
+ onChange: (e) => {
49
+ y(e.target.value), x(null);
50
+ },
51
+ placeholder: _("auth.mfa.form.placeholder"),
52
+ autoComplete: "one-time-code",
53
+ autoFocus: !0,
54
+ required: !0
55
+ })
56
+ ]
57
+ }), /* @__PURE__ */ p("div", {
58
+ className: e,
59
+ children: [/* @__PURE__ */ f(l, {
60
+ type: "button",
61
+ variant: "text",
62
+ size: "small",
63
+ className: r,
64
+ onClick: () => {
65
+ m.reset(), g();
66
+ },
67
+ children: _("auth.mfa.actions.back")
68
+ }), /* @__PURE__ */ f(l, {
69
+ type: "submit",
70
+ size: "large",
71
+ isLoading: m.isLoading,
72
+ children: _("auth.mfa.actions.submit")
73
+ })]
74
+ })]
75
+ });
76
+ };
77
+ //#endregion
78
+ export { m as MfaChallengeForm };
79
+
80
+ //# sourceMappingURL=MfaChallengeForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MfaChallengeForm.js","names":[],"sources":["../../../../src/auth/login/MfaChallengeForm.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 { TotpCredentials, UseAuthReturn } from '../../hooks/useAuth.js';\n\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n auth: Pick<\n UseAuthReturn,\n 'completeMfa' | 'isLoading' | 'error' | 'emailHint' | 'reset' | 'clearError'\n >;\n onSuccess: () => void;\n onBack: () => void;\n};\n\nexport const MfaChallengeForm = ({\n auth,\n onSuccess,\n onBack,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [code, setCode] = useState('');\n const [localError, setLocalError] = useState<string | null>(null);\n\n // Clear any stale errors when the MFA form is shown\n useEffect(() => {\n auth.clearError();\n setLocalError(null);\n }, [auth]);\n\n const handleSubmit = useCallback(\n async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setLocalError(null);\n\n const trimmed = code.trim();\n if (trimmed.length < 4) {\n setLocalError(t('auth.mfa.errors.shortCode'));\n return;\n }\n\n try {\n const credentials: TotpCredentials = {\n code: trimmed,\n };\n await auth.completeMfa(credentials);\n onSuccess();\n } catch {\n setLocalError(t('auth.mfa.errors.verificationFailed'));\n }\n },\n [auth, code, onSuccess, t],\n );\n\n const helper =\n auth.emailHint != null\n ? t('auth.mfa.helper.withEmail', { email: auth.emailHint })\n : t('auth.mfa.helper.default');\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}>{helper}</p>\n {formError != null ? <FormError>{formError}</FormError> : null}\n <FormField\n label={t('auth.mfa.form.label')}\n name=\"code\"\n type=\"text\"\n value={code}\n onChange={(event) => {\n setCode(event.target.value);\n setLocalError(null);\n }}\n placeholder={t('auth.mfa.form.placeholder')}\n autoComplete=\"one-time-code\"\n autoFocus\n required\n />\n </div>\n <div className={styles.actionsRow}>\n <Button\n type=\"button\"\n variant=\"text\"\n size=\"small\"\n className={styles.inlineLink}\n onClick={() => {\n auth.reset();\n onBack();\n }}\n >\n {t('auth.mfa.actions.back')}\n </Button>\n <Button type=\"submit\" size=\"large\" isLoading={auth.isLoading}>\n {t('auth.mfa.actions.submit')}\n </Button>\n </div>\n </form>\n );\n};\n"],"mappings":";;;;;;AAyBA,IAAa,KAAoB,EAC/B,SACA,cACA,gBACwB;CACxB,IAAM,EAAE,SAAM,GAA+B,EACvC,CAAC,GAAM,KAAW,EAAS,GAAG,EAC9B,CAAC,GAAY,KAAiB,EAAwB,KAAK;CAGjE,QAAgB;EAEd,AADA,EAAK,YAAY,EACjB,EAAc,KAAK;IAClB,CAAC,EAAK,CAAC;CAEV,IAAM,IAAe,EACnB,OAAO,MAAsC;EAE3C,AADA,EAAM,gBAAgB,EACtB,EAAc,KAAK;EAEnB,IAAM,IAAU,EAAK,MAAM;EAC3B,IAAI,EAAQ,SAAS,GAAG;GACtB,EAAc,EAAE,4BAA4B,CAAC;GAC7C;;EAGF,IAAI;GACF,IAAM,IAA+B,EACnC,MAAM,GACP;GAED,AADA,MAAM,EAAK,YAAY,EAAY,EACnC,GAAW;UACL;GACN,EAAc,EAAE,qCAAqC,CAAC;;IAG1D;EAAC;EAAM;EAAM;EAAW;EAAE,CAC3B,EAEK,IACJ,EAAK,aAAa,OAEd,EAAE,0BAA0B,GAD5B,EAAE,6BAA6B,EAAE,OAAO,EAAK,WAAW,CAAC,EAGzD,IAAY;CAElB,OAEE,kBAAC,QAAD;EAAM,WAAW;EAAoB,UAAU;EAAc,YAAA;YAA7D,CACE,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,KAAD;KAAG,WAAW;eAAgB;KAAW,CAAA;IACxC,KAAa,OAA4C,OAArC,kBAAC,GAAD,EAAA,UAAY,GAAsB,CAAA;IACvD,kBAAC,GAAD;KACE,OAAO,EAAE,sBAAsB;KAC/B,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;MAEnB,AADA,EAAQ,EAAM,OAAO,MAAM,EAC3B,EAAc,KAAK;;KAErB,aAAa,EAAE,4BAA4B;KAC3C,cAAa;KACb,WAAA;KACA,UAAA;KACA,CAAA;IACE;MACN,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,GAAD;IACE,MAAK;IACL,SAAQ;IACR,MAAK;IACL,WAAW;IACX,eAAe;KAEb,AADA,EAAK,OAAO,EACZ,GAAQ;;cAGT,EAAE,wBAAwB;IACpB,CAAA,EACT,kBAAC,GAAD;IAAQ,MAAK;IAAS,MAAK;IAAQ,WAAW,EAAK;cAChD,EAAE,0BAA0B;IACtB,CAAA,CACL;KACD"}
@@ -0,0 +1,29 @@
1
+ import { brandGhostButton as e, stack as t } from "./loginPage.css.js";
2
+ import { useBackofficeReactTranslation as n } from "../../i18n/useBackofficeReactTranslation.js";
3
+ import { Button as r } from "@plumile/ui";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ //#region src/auth/login/OidcButtons.tsx
6
+ var a = "/auth/oidc/start", o = ({ providers: o }) => {
7
+ let { t: s } = n();
8
+ return o.length === 0 ? null : /* @__PURE__ */ i("div", {
9
+ className: t,
10
+ children: o.map((t) => {
11
+ let n = s("auth.oidc.buttons.generic");
12
+ t === "GOOGLE" ? n = s("auth.oidc.buttons.google") : t === "APPLE" && (n = s("auth.oidc.buttons.apple"));
13
+ let o = t.toLowerCase();
14
+ return /* @__PURE__ */ i(r, {
15
+ type: "button",
16
+ variant: "secondary",
17
+ className: e,
18
+ onClick: () => {
19
+ window.location.assign(`${a}?provider=${o}`);
20
+ },
21
+ children: n
22
+ }, t);
23
+ })
24
+ });
25
+ };
26
+ //#endregion
27
+ export { o as OidcButtons };
28
+
29
+ //# sourceMappingURL=OidcButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OidcButtons.js","names":[],"sources":["../../../../src/auth/login/OidcButtons.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { Button } from '@plumile/ui';\n\nimport type { OidcProviderKind } from '../../modules/sharedSchemaTypes.js';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './loginPage.css.js';\n\nconst OIDC_START_PATH = '/auth/oidc/start';\n\ntype Props = {\n providers: readonly OidcProviderKind[];\n};\n\nexport const OidcButtons = ({ providers }: Props): JSX.Element | null => {\n const { t } = useBackofficeReactTranslation();\n\n if (providers.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.stack}>\n {providers.map((provider) => {\n let label = t('auth.oidc.buttons.generic');\n if (provider === 'GOOGLE') {\n label = t('auth.oidc.buttons.google');\n } else if (provider === 'APPLE') {\n label = t('auth.oidc.buttons.apple');\n }\n const providerName = provider.toLowerCase();\n return (\n <Button\n key={provider}\n type=\"button\"\n variant=\"secondary\"\n className={styles.brandGhostButton}\n onClick={() => {\n window.location.assign(\n `${OIDC_START_PATH}?provider=${providerName}`,\n );\n }}\n >\n {label}\n </Button>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AASA,IAAM,IAAkB,oBAMX,KAAe,EAAE,mBAA2C;CACvE,IAAM,EAAE,SAAM,GAA+B;CAM7C,OAJI,EAAU,WAAW,IAChB,OAIP,kBAAC,OAAD;EAAK,WAAW;YACb,EAAU,KAAK,MAAa;GAC3B,IAAI,IAAQ,EAAE,4BAA4B;GAC1C,AAAI,MAAa,WACf,IAAQ,EAAE,2BAA2B,GAC5B,MAAa,YACtB,IAAQ,EAAE,0BAA0B;GAEtC,IAAM,IAAe,EAAS,aAAa;GAC3C,OACE,kBAAC,GAAD;IAEE,MAAK;IACL,SAAQ;IACR,WAAW;IACX,eAAe;KACb,OAAO,SAAS,OACd,GAAG,EAAgB,YAAY,IAChC;;cAGF;IACM,EAXF,EAWE;IAEX;EACE,CAAA"}
@@ -0,0 +1,81 @@
1
+ import { actionsRow as e, formSurface as t, helper as n, inlineLink as r, stack as i } from "./loginPage.css.js";
2
+ import { useBackofficeReactTranslation as a } from "../../i18n/useBackofficeReactTranslation.js";
3
+ import { useCallback as o, useEffect as s, useState as c } from "react";
4
+ import { Button as l, FormError as u, FormField as d } from "@plumile/ui";
5
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ //#region src/auth/login/PasskeyLoginForm.tsx
7
+ var m = ({ auth: m, onSuccess: h, defaultEmail: g, isAttemptingPasskey: _ = !1, onShowMethods: v }) => {
8
+ let { t: y } = a(), [b, x] = c(m.emailHint ?? ""), [S, C] = c(null);
9
+ s(() => {
10
+ m.emailHint != null && m.emailHint !== "" ? x(m.emailHint) : g != null && g !== "" && x(g);
11
+ }, [m.emailHint, g]);
12
+ let w = o(async (e) => {
13
+ if (e.preventDefault(), C(null), b.trim() === "") {
14
+ C(y("auth.passkey.errors.emailRequired"));
15
+ return;
16
+ }
17
+ try {
18
+ let e = await m.beginAuthentication(b.trim());
19
+ if (Array.isArray(e.methods) && e.methods.length === 0) {
20
+ C(e.lockedUntil == null ? y("auth.passkey.errors.locked") : y("auth.passkey.errors.lockedWithTime", { time: new Date(e.lockedUntil).toLocaleString() }));
21
+ return;
22
+ }
23
+ if (Array.isArray(e.methods) && !e.methods.includes("PASSKEY")) {
24
+ C(y("auth.passkey.errors.notAvailable"));
25
+ return;
26
+ }
27
+ await m.loginWithPasskey({ email: b.trim() }) === "success" && h();
28
+ } catch {
29
+ C(y("auth.passkey.errors.failed"));
30
+ }
31
+ }, [
32
+ m,
33
+ b,
34
+ h,
35
+ y
36
+ ]), T = S;
37
+ return /* @__PURE__ */ p("form", {
38
+ className: t,
39
+ onSubmit: w,
40
+ noValidate: !0,
41
+ children: [/* @__PURE__ */ p("div", {
42
+ className: i,
43
+ children: [
44
+ /* @__PURE__ */ f("p", {
45
+ className: n,
46
+ children: y("auth.passkey.helper")
47
+ }),
48
+ T == null ? null : /* @__PURE__ */ f(u, { children: T }),
49
+ /* @__PURE__ */ f(d, {
50
+ label: y("auth.passkey.form.emailLabel"),
51
+ name: "passkey-email",
52
+ type: "email",
53
+ value: b,
54
+ onChange: (e) => {
55
+ x(e.target.value), C(null);
56
+ },
57
+ placeholder: y("auth.passkey.form.emailPlaceholder"),
58
+ autoComplete: "email",
59
+ required: !0
60
+ })
61
+ ]
62
+ }), /* @__PURE__ */ p("div", {
63
+ className: e,
64
+ children: [/* @__PURE__ */ f(l, {
65
+ type: "submit",
66
+ variant: "primary",
67
+ isLoading: m.isLoading,
68
+ children: y(_ ? "auth.passkey.actions.submitting" : "auth.passkey.actions.submit")
69
+ }), v == null ? null : /* @__PURE__ */ f("button", {
70
+ type: "button",
71
+ className: r,
72
+ onClick: v,
73
+ children: y("auth.passkey.actions.showMethods")
74
+ })]
75
+ })]
76
+ });
77
+ };
78
+ //#endregion
79
+ export { m as PasskeyLoginForm };
80
+
81
+ //# sourceMappingURL=PasskeyLoginForm.js.map