@plumile/backoffice-react 0.2.3 → 0.2.6
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.
- package/README.md +14 -3
- package/lib/esm/auth/AuthRefreshNotice.js +21 -18
- package/lib/esm/auth/AuthRefreshNotice.js.map +1 -1
- package/lib/esm/auth/TotpQrCode.js +20 -12
- package/lib/esm/auth/TotpQrCode.js.map +1 -1
- package/lib/esm/auth/authRefreshNotice.css.js +2 -1
- package/lib/esm/auth/authRefreshNotice.css.js.map +1 -1
- package/lib/esm/auth/login/AuthPanel.js.map +1 -1
- package/lib/esm/auth/login/EmailCapturePanel.js +26 -28
- package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -1
- package/lib/esm/auth/login/LoginFlow.js +11 -11
- package/lib/esm/auth/login/LoginFlow.js.map +1 -1
- package/lib/esm/auth/login/MethodChooser.js +18 -16
- package/lib/esm/auth/login/MethodChooser.js.map +1 -1
- package/lib/esm/auth/login/MfaChallengeForm.js +47 -52
- package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -1
- package/lib/esm/auth/login/OidcButtons.js +3 -2
- package/lib/esm/auth/login/OidcButtons.js.map +1 -1
- package/lib/esm/auth/login/PasskeyLoginForm.js +13 -15
- package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -1
- package/lib/esm/auth/login/PasswordLoginPanel.js +8 -8
- package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -1
- package/lib/esm/auth/login/loginPage.css.js +1 -1
- package/lib/esm/auth/login/loginPage.css.js.map +1 -1
- package/lib/esm/auth/pages/AcceptInvitationScreen.js +80 -75
- package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -1
- package/lib/esm/auth/pages/PasswordResetCompleteScreen.js +31 -31
- package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -1
- package/lib/esm/auth/pages/PasswordResetRequestScreen.js +33 -29
- package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -1
- package/lib/esm/auth/pages/VerifyEmailScreen.js +42 -40
- package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -1
- package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +202 -210
- package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -1
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +1 -1
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -1
- package/lib/esm/components/backoffice/actions/toastViewAction.js.map +1 -1
- package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js +36 -30
- package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js.map +1 -1
- package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js +1 -1
- package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js.map +1 -1
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +36 -33
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +24 -20
- package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js +7 -8
- package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +49 -45
- package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js.map +1 -1
- package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +1 -1
- package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -1
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +1 -1
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -1
- package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js +15 -15
- package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js.map +1 -1
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +53 -65
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -1
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +1 -1
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -1
- package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +1 -1
- package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js.map +1 -1
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +2 -2
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -1
- package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +6 -6
- package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js.map +1 -1
- package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +1 -1
- package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +1 -1
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +3 -3
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js +152 -172
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -1
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +2 -5
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -1
- package/lib/esm/components/backoffice/layout/sidebarUtils.js +1 -1
- package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -1
- package/lib/esm/components/backoffice/links/BackofficeLinkContent.js +1 -1
- package/lib/esm/components/backoffice/links/backofficeLink.css.js +1 -1
- package/lib/esm/components/backoffice/links/backofficeLink.css.js.map +1 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +1 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -1
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +1 -1
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -1
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +1 -1
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -1
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +93 -82
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -1
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +1 -1
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -1
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +1 -1
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js +6 -3
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -1
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +7 -7
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js +3 -2
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +314 -309
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js +2 -2
- package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js.map +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -1
- package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +5 -5
- package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js.map +1 -1
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +1 -1
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +12 -12
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +3 -2
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +15 -19
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -1
- package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js +17 -9
- package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js.map +1 -1
- package/lib/esm/hooks/useCopyToClipboard.js +1 -1
- package/lib/esm/hooks/useCopyToClipboard.js.map +1 -1
- package/lib/esm/i18n/locales/en/backofficeReact.js +21 -2
- package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -1
- package/lib/esm/i18n/locales/fr/backofficeReact.js +21 -2
- package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -1
- package/lib/esm/pages/BackofficeDashboardPage.js +42 -41
- package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -1
- package/lib/esm/pages/BackofficeDashboardWidgetContent.js +291 -255
- package/lib/esm/pages/BackofficeDashboardWidgetContent.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +47 -49
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailPage.js +111 -105
- package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js +213 -213
- package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListDataPage.js +101 -83
- package/lib/esm/pages/BackofficeEntityListDataPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListPage.helpers.js +10 -4
- package/lib/esm/pages/BackofficeEntityListPage.helpers.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListPage.js +55 -54
- package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListRouteContext.js.map +1 -1
- package/lib/esm/pages/BackofficeHubPage.js +1 -1
- package/lib/esm/pages/BackofficeHubPage.js.map +1 -1
- package/lib/esm/pages/BackofficeLayoutPage.js +64 -56
- package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -1
- package/lib/esm/pages/backofficeDashboardPage.css.js +1 -1
- package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -1
- package/lib/esm/pages/backofficeEntityDetailPage.css.js +1 -1
- package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -1
- package/lib/esm/pages/backofficeEntityListPage.css.js +1 -1
- package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -1
- package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -1
- package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js +11 -11
- package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js.map +1 -1
- package/lib/esm/pages/detail/buildTabsItems.js.map +1 -1
- package/lib/esm/provider/BackofficeProvider.js +41 -39
- package/lib/esm/provider/BackofficeProvider.js.map +1 -1
- package/lib/esm/router/createBackofficeRoutes.js +23 -23
- package/lib/esm/router/createBackofficeRoutes.js.map +1 -1
- package/lib/esm/storybook/backofficeDashboardPageStory.css.js +6 -0
- package/lib/esm/storybook/backofficeDashboardPageStory.css.js.map +1 -0
- package/lib/esm/storybook/relay/RelayStory.css.js +1 -1
- package/lib/esm/storybook/relay/RelayStory.css.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/types/auth/AuthRefreshNotice.d.ts +5 -1
- package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -1
- package/lib/types/auth/TotpQrCode.d.ts +2 -1
- package/lib/types/auth/TotpQrCode.d.ts.map +1 -1
- package/lib/types/auth/authRefreshNotice.css.d.ts.map +1 -1
- package/lib/types/auth/login/AuthPanel.d.ts.map +1 -1
- package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -1
- package/lib/types/auth/login/LoginFlow.d.ts.map +1 -1
- package/lib/types/auth/login/MethodChooser.d.ts.map +1 -1
- package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
- package/lib/types/auth/login/OidcButtons.d.ts.map +1 -1
- package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -1
- package/lib/types/auth/login/loginPage.css.d.ts.map +1 -1
- package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -1
- package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts +3 -3
- package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
- package/lib/types/components/backoffice/actions/toastViewAction.d.ts +1 -1
- package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -1
- package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts +2 -1
- package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts.map +1 -1
- package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts +2 -2
- package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +1 -1
- package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +1 -1
- package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -1
- package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +1 -1
- package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +0 -1
- package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/hub/backofficeHubTemplate.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +2 -2
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts +1 -1
- package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -1
- package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +3 -3
- package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
- package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +2 -2
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -1
- package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -1
- package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts +1 -2
- package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts.map +1 -1
- package/lib/types/i18n/resources.d.ts +44 -2
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeDashboardWidgetContent.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListDataPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts +9 -9
- package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListRouteContext.d.ts +2 -2
- package/lib/types/pages/BackofficeEntityListRouteContext.d.ts.map +1 -1
- package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
- package/lib/types/pages/backofficeEntityListPage.css.d.ts.map +1 -1
- package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +1 -1
- package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -1
- package/lib/types/pages/detail/buildTabsItems.d.ts +1 -1
- package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/lib/types/provider/types.d.ts +2 -0
- package/lib/types/provider/types.d.ts.map +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts +0 -1
- package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
- package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts +2 -0
- package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts.map +1 -0
- package/package.json +17 -17
- package/lib/esm/components/backoffice/technical/TechnicalIdentifierValue.js +0 -2
- package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts +0 -2
- package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts.map +0 -1
|
@@ -1,85 +1,80 @@
|
|
|
1
1
|
import { actionsRow as e, formSurface as t, helper as n, inlineLink as r, stack as i } from "./loginPage.css.js";
|
|
2
2
|
import { useBackofficeReactTranslation as a } from "../../i18n/useBackofficeReactTranslation.js";
|
|
3
3
|
import { useCallback as o, useEffect as s, useState as c } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { FormField as p } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
|
|
8
|
-
import { Form as m } from "@plumile/ui/atomic/molecules/form/Form.js";
|
|
4
|
+
import { Form as l, FormField as u } from "@plumile/ui";
|
|
5
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
6
|
+
import { Button as p } from "@plumile/ui/button";
|
|
9
7
|
//#region src/auth/login/MfaChallengeForm.tsx
|
|
10
|
-
var
|
|
11
|
-
let { t:
|
|
8
|
+
var m = ({ auth: m, onSuccess: h, onBack: g }) => {
|
|
9
|
+
let { t: _ } = a(), [v, y] = c(""), [b, x] = c(null);
|
|
12
10
|
s(() => {
|
|
13
|
-
|
|
14
|
-
}, [
|
|
15
|
-
let
|
|
16
|
-
e.preventDefault(),
|
|
17
|
-
let t =
|
|
11
|
+
m.clearError(), x(null);
|
|
12
|
+
}, [m]);
|
|
13
|
+
let S = o(async (e) => {
|
|
14
|
+
e.preventDefault(), x(null);
|
|
15
|
+
let t = v.trim();
|
|
18
16
|
if (t.length < 4) {
|
|
19
|
-
|
|
17
|
+
x(_("auth.mfa.errors.shortCode"));
|
|
20
18
|
return;
|
|
21
19
|
}
|
|
22
20
|
try {
|
|
23
21
|
let e = { code: t };
|
|
24
|
-
await
|
|
22
|
+
await m.completeMfa(e), h();
|
|
25
23
|
} catch {
|
|
26
|
-
|
|
24
|
+
x(_("auth.mfa.errors.verificationFailed"));
|
|
27
25
|
}
|
|
28
26
|
}, [
|
|
27
|
+
m,
|
|
28
|
+
v,
|
|
29
29
|
h,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}, [C]);
|
|
36
|
-
return /* @__PURE__ */ u(m, {
|
|
30
|
+
_
|
|
31
|
+
]), C = m.emailHint == null ? _("auth.mfa.helper.default") : _("auth.mfa.helper.withEmail", { email: m.emailHint }), w = o((e) => {
|
|
32
|
+
S(e).catch(() => {});
|
|
33
|
+
}, [S]);
|
|
34
|
+
return /* @__PURE__ */ f(l, {
|
|
37
35
|
className: t,
|
|
38
|
-
onSubmit:
|
|
36
|
+
onSubmit: w,
|
|
39
37
|
noValidate: !0,
|
|
40
38
|
initialFocus: "first-form-control",
|
|
41
|
-
children: [/* @__PURE__ */
|
|
39
|
+
children: [/* @__PURE__ */ f("div", {
|
|
42
40
|
className: i,
|
|
43
|
-
children: [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
value
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
})
|
|
61
|
-
]
|
|
62
|
-
}), /* @__PURE__ */ u("div", {
|
|
41
|
+
children: [/* @__PURE__ */ d("p", {
|
|
42
|
+
className: n,
|
|
43
|
+
children: C
|
|
44
|
+
}), /* @__PURE__ */ d(u, {
|
|
45
|
+
label: _("auth.mfa.form.label"),
|
|
46
|
+
error: b,
|
|
47
|
+
name: "code",
|
|
48
|
+
type: "text",
|
|
49
|
+
value: v,
|
|
50
|
+
onChange: (e) => {
|
|
51
|
+
y(e.target.value), x(null);
|
|
52
|
+
},
|
|
53
|
+
placeholder: _("auth.mfa.form.placeholder"),
|
|
54
|
+
autoComplete: "one-time-code",
|
|
55
|
+
required: !0
|
|
56
|
+
})]
|
|
57
|
+
}), /* @__PURE__ */ f("div", {
|
|
63
58
|
className: e,
|
|
64
|
-
children: [/* @__PURE__ */
|
|
59
|
+
children: [/* @__PURE__ */ d(p, {
|
|
65
60
|
type: "button",
|
|
66
|
-
variant: "
|
|
61
|
+
variant: "plain",
|
|
67
62
|
size: "small",
|
|
68
63
|
className: r,
|
|
69
64
|
onClick: () => {
|
|
70
|
-
|
|
65
|
+
m.reset(), g();
|
|
71
66
|
},
|
|
72
|
-
children:
|
|
73
|
-
}), /* @__PURE__ */
|
|
67
|
+
children: _("auth.mfa.actions.back")
|
|
68
|
+
}), /* @__PURE__ */ d(p, {
|
|
74
69
|
type: "submit",
|
|
75
70
|
size: "large",
|
|
76
|
-
|
|
77
|
-
children:
|
|
71
|
+
loading: m.isLoading,
|
|
72
|
+
children: _("auth.mfa.actions.submit")
|
|
78
73
|
})]
|
|
79
74
|
})]
|
|
80
75
|
});
|
|
81
76
|
};
|
|
82
77
|
//#endregion
|
|
83
|
-
export {
|
|
78
|
+
export { m as MfaChallengeForm };
|
|
84
79
|
|
|
85
80
|
//# sourceMappingURL=MfaChallengeForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MfaChallengeForm.js","names":[],"sources":["../../../../src/auth/login/MfaChallengeForm.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"MfaChallengeForm.js","names":[],"sources":["../../../../src/auth/login/MfaChallengeForm.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { Button } from '@plumile/ui/button';\nimport { FormField, Form } 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 handleSubmitEvent = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n handleSubmit(event).catch(() => {\n return undefined;\n });\n },\n [handleSubmit],\n );\n\n return (\n <Form\n className={styles.formSurface}\n onSubmit={handleSubmitEvent}\n noValidate\n initialFocus=\"first-form-control\"\n >\n <div className={styles.stack}>\n <p className={styles.helper}>{helper}</p>\n <FormField\n label={t('auth.mfa.form.label')}\n error={localError}\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 required\n />\n </div>\n <div className={styles.actionsRow}>\n <Button\n type=\"button\"\n variant=\"plain\"\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\" loading={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,EAA8B,GACtC,CAAC,GAAM,KAAW,EAAS,EAAE,GAC7B,CAAC,GAAY,KAAiB,EAAwB,IAAI;CAGhE,QAAgB;EAEd,AADA,EAAK,WAAW,GAChB,EAAc,IAAI;CACpB,GAAG,CAAC,CAAI,CAAC;CAET,IAAM,IAAe,EACnB,OAAO,MAAsC;EAE3C,AADA,EAAM,eAAe,GACrB,EAAc,IAAI;EAElB,IAAM,IAAU,EAAK,KAAK;EAC1B,IAAI,EAAQ,SAAS,GAAG;GACtB,EAAc,EAAE,2BAA2B,CAAC;GAC5C;EACF;EAEA,IAAI;GACF,IAAM,IAA+B,EACnC,MAAM,EACR;GAEA,AADA,MAAM,EAAK,YAAY,CAAW,GAClC,EAAU;EACZ,QAAQ;GACN,EAAc,EAAE,oCAAoC,CAAC;EACvD;CACF,GACA;EAAC;EAAM;EAAM;EAAW;CAAC,CAC3B,GAEM,IACJ,EAAK,aAAa,OAEd,EAAE,yBAAyB,IAD3B,EAAE,6BAA6B,EAAE,OAAO,EAAK,UAAU,CAAC,GAGxD,IAAoB,GACvB,MAAsC;EACrC,EAAa,CAAK,CAAC,CAAC,YAAY,CAEhC,CAAC;CACH,GACA,CAAC,CAAY,CACf;CAEA,OACE,kBAAC,GAAD;EACE,WAAW;EACX,UAAU;EACV,YAAA;EACA,cAAa;EAJf,UAAA,CAME,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,kBAAC,KAAD;IAAG,WAAW;IAAgB,UAAA;GAAU,CAAA,GACxC,kBAAC,GAAD;IACE,OAAO,EAAE,qBAAqB;IAC9B,OAAO;IACP,MAAK;IACL,MAAK;IACL,OAAO;IACP,WAAW,MAAU;KAEnB,AADA,EAAQ,EAAM,OAAO,KAAK,GAC1B,EAAc,IAAI;IACpB;IACA,aAAa,EAAE,2BAA2B;IAC1C,cAAa;IACb,UAAA;GACD,CAAA,CACE;EACL,CAAA,GAAA,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,kBAAC,GAAD;IACE,MAAK;IACL,SAAQ;IACR,MAAK;IACL,WAAW;IACX,eAAe;KAEb,AADA,EAAK,MAAM,GACX,EAAO;IACT;IAEC,UAAA,EAAE,uBAAuB;GACpB,CAAA,GACR,kBAAC,GAAD;IAAQ,MAAK;IAAS,MAAK;IAAQ,SAAS,EAAK;IAC9C,UAAA,EAAE,yBAAyB;GACtB,CAAA,CACL;EACD,CAAA,CAAA;;AAEV"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { brandGhostButton as e, stack as t } from "./loginPage.css.js";
|
|
2
2
|
import { useBackofficeReactTranslation as n } from "../../i18n/useBackofficeReactTranslation.js";
|
|
3
3
|
import { jsx as r } from "react/jsx-runtime";
|
|
4
|
-
import { Button as i } from "@plumile/ui/
|
|
4
|
+
import { Button as i } from "@plumile/ui/button";
|
|
5
5
|
//#region src/auth/login/OidcButtons.tsx
|
|
6
6
|
var a = "/auth/oidc/start", o = ({ providers: o }) => {
|
|
7
7
|
let { t: s } = n();
|
|
@@ -13,11 +13,12 @@ var a = "/auth/oidc/start", o = ({ providers: o }) => {
|
|
|
13
13
|
let o = t.toLowerCase();
|
|
14
14
|
return /* @__PURE__ */ r(i, {
|
|
15
15
|
type: "button",
|
|
16
|
-
variant: "
|
|
16
|
+
variant: "soft",
|
|
17
17
|
className: e,
|
|
18
18
|
onClick: () => {
|
|
19
19
|
window.location.assign(`${a}?provider=${o}`);
|
|
20
20
|
},
|
|
21
|
+
tone: "neutral",
|
|
21
22
|
children: n
|
|
22
23
|
}, t);
|
|
23
24
|
})
|
|
@@ -1 +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/
|
|
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/button';\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=\"soft\"\n className={styles.brandGhostButton}\n onClick={() => {\n window.location.assign(\n `${OIDC_START_PATH}?provider=${providerName}`,\n );\n }}\n tone=\"neutral\"\n >\n {label}\n </Button>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AASA,IAAM,IAAkB,oBAMX,KAAe,EAAE,mBAA2C;CACvE,IAAM,EAAE,SAAM,EAA8B;CAM5C,OAJI,EAAU,WAAW,IAChB,OAIP,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,EAAU,KAAK,MAAa;GAC3B,IAAI,IAAQ,EAAE,2BAA2B;GACzC,AAAI,MAAa,WACf,IAAQ,EAAE,0BAA0B,IAC3B,MAAa,YACtB,IAAQ,EAAE,yBAAyB;GAErC,IAAM,IAAe,EAAS,YAAY;GAC1C,OACE,kBAAC,GAAD;IAEE,MAAK;IACL,SAAQ;IACR,WAAW;IACX,eAAe;KACb,OAAO,SAAS,OACd,GAAG,EAAgB,YAAY,GACjC;IACF;IACA,MAAK;IAEJ,UAAA;GACK,GAZD,CAYC;EAEZ,CAAC;CACE,CAAA;AAET"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { actionsRow as e, formSurface as t, helper as n, inlineLink as r, stack as i } from "./loginPage.css.js";
|
|
2
2
|
import { useBackofficeReactTranslation as a } from "../../i18n/useBackofficeReactTranslation.js";
|
|
3
3
|
import { useCallback as o, useEffect as s, useState as c } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { FormField as p } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
|
|
8
|
-
import { Form as m } from "@plumile/ui/atomic/molecules/form/Form.js";
|
|
4
|
+
import { Form as l, FormError as u, FormField as d } from "@plumile/ui";
|
|
5
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
6
|
+
import { Button as m } from "@plumile/ui/button";
|
|
9
7
|
//#region src/auth/login/PasskeyLoginForm.tsx
|
|
10
8
|
var h = ({ auth: h, onSuccess: g, defaultEmail: _, isAttemptingPasskey: v = !1, onShowMethods: y }) => {
|
|
11
9
|
let { t: b } = a(), [x, S] = c(h.emailHint ?? ""), [C, w] = c(null);
|
|
@@ -40,20 +38,20 @@ var h = ({ auth: h, onSuccess: g, defaultEmail: _, isAttemptingPasskey: v = !1,
|
|
|
40
38
|
]), E = C, D = o((e) => {
|
|
41
39
|
T(e).catch(() => {});
|
|
42
40
|
}, [T]);
|
|
43
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */ p(l, {
|
|
44
42
|
className: t,
|
|
45
43
|
onSubmit: D,
|
|
46
44
|
noValidate: !0,
|
|
47
45
|
initialFocus: "first-form-control",
|
|
48
|
-
children: [/* @__PURE__ */
|
|
46
|
+
children: [/* @__PURE__ */ p("div", {
|
|
49
47
|
className: i,
|
|
50
48
|
children: [
|
|
51
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ f("p", {
|
|
52
50
|
className: n,
|
|
53
51
|
children: b("auth.passkey.helper")
|
|
54
52
|
}),
|
|
55
|
-
E == null ? null : /* @__PURE__ */
|
|
56
|
-
/* @__PURE__ */
|
|
53
|
+
E == null ? null : /* @__PURE__ */ f(u, { children: E }),
|
|
54
|
+
/* @__PURE__ */ f(d, {
|
|
57
55
|
label: b("auth.passkey.form.emailLabel"),
|
|
58
56
|
name: "passkey-email",
|
|
59
57
|
type: "email",
|
|
@@ -66,14 +64,14 @@ var h = ({ auth: h, onSuccess: g, defaultEmail: _, isAttemptingPasskey: v = !1,
|
|
|
66
64
|
required: !0
|
|
67
65
|
})
|
|
68
66
|
]
|
|
69
|
-
}), /* @__PURE__ */
|
|
67
|
+
}), /* @__PURE__ */ p("div", {
|
|
70
68
|
className: e,
|
|
71
|
-
children: [/* @__PURE__ */
|
|
69
|
+
children: [/* @__PURE__ */ f(m, {
|
|
72
70
|
type: "submit",
|
|
73
|
-
variant: "
|
|
74
|
-
|
|
71
|
+
variant: "solid",
|
|
72
|
+
loading: h.isLoading,
|
|
75
73
|
children: b(v ? "auth.passkey.actions.submitting" : "auth.passkey.actions.submit")
|
|
76
|
-
}), y == null ? null : /* @__PURE__ */
|
|
74
|
+
}), y == null ? null : /* @__PURE__ */ f("button", {
|
|
77
75
|
type: "button",
|
|
78
76
|
className: r,
|
|
79
77
|
onClick: y,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeyLoginForm.js","names":[],"sources":["../../../../src/auth/login/PasskeyLoginForm.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"PasskeyLoginForm.js","names":[],"sources":["../../../../src/auth/login/PasskeyLoginForm.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n} from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { Button } from '@plumile/ui/button';\nimport { FormError, FormField, Form } from '@plumile/ui';\n\nimport type { UseAuthReturn } from '../../hooks/useAuth.js';\n\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n auth: Pick<\n UseAuthReturn,\n | 'loginWithPasskey'\n | 'isLoading'\n | 'error'\n | 'emailHint'\n | 'nextStep'\n | 'beginAuthentication'\n | 'lockedUntil'\n | 'availableMethods'\n >;\n onSuccess: () => void;\n defaultEmail?: string;\n isAttemptingPasskey?: boolean;\n onShowMethods?: () => void;\n};\n\nexport const PasskeyLoginForm = ({\n auth,\n onSuccess,\n defaultEmail,\n isAttemptingPasskey = false,\n onShowMethods,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [email, setEmail] = useState(auth.emailHint ?? '');\n const [localError, setLocalError] = useState<string | null>(null);\n\n useEffect(() => {\n if (auth.emailHint != null && auth.emailHint !== '') {\n setEmail(auth.emailHint);\n } else if (defaultEmail != null && defaultEmail !== '') {\n setEmail(defaultEmail);\n }\n }, [auth.emailHint, defaultEmail]);\n\n const handleSubmit = useCallback(\n async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setLocalError(null);\n\n if (email.trim() === '') {\n setLocalError(t('auth.passkey.errors.emailRequired'));\n return;\n }\n\n try {\n const result = await auth.beginAuthentication(email.trim());\n if (Array.isArray(result.methods) && result.methods.length === 0) {\n const lockedUntilMessage =\n result.lockedUntil != null\n ? t('auth.passkey.errors.lockedWithTime', {\n time: new Date(result.lockedUntil).toLocaleString(),\n })\n : t('auth.passkey.errors.locked');\n setLocalError(lockedUntilMessage);\n return;\n }\n if (\n Array.isArray(result.methods) &&\n !result.methods.includes('PASSKEY')\n ) {\n setLocalError(t('auth.passkey.errors.notAvailable'));\n return;\n }\n\n const status = await auth.loginWithPasskey({ email: email.trim() });\n if (status === 'success') {\n onSuccess();\n }\n } catch {\n setLocalError(t('auth.passkey.errors.failed'));\n }\n },\n [auth, email, onSuccess, t],\n );\n\n const formError = localError;\n\n const handleSubmitEvent = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n handleSubmit(event).catch(() => {\n return undefined;\n });\n },\n [handleSubmit],\n );\n\n return (\n <Form\n className={styles.formSurface}\n onSubmit={handleSubmitEvent}\n noValidate\n initialFocus=\"first-form-control\"\n >\n <div className={styles.stack}>\n <p className={styles.helper}>{t('auth.passkey.helper')}</p>\n {formError != null ? <FormError>{formError}</FormError> : null}\n <FormField\n label={t('auth.passkey.form.emailLabel')}\n name=\"passkey-email\"\n type=\"email\"\n value={email}\n onChange={(event) => {\n setEmail(event.target.value);\n setLocalError(null);\n }}\n placeholder={t('auth.passkey.form.emailPlaceholder')}\n autoComplete=\"email\"\n required\n />\n </div>\n <div className={styles.actionsRow}>\n <Button type=\"submit\" variant=\"solid\" loading={auth.isLoading}>\n {isAttemptingPasskey\n ? t('auth.passkey.actions.submitting')\n : t('auth.passkey.actions.submit')}\n </Button>\n {onShowMethods != null ? (\n <button\n type=\"button\"\n className={styles.inlineLink}\n onClick={onShowMethods}\n >\n {t('auth.passkey.actions.showMethods')}\n </button>\n ) : null}\n </div>\n </Form>\n );\n};\n"],"mappings":";;;;;;;AAkCA,IAAa,KAAoB,EAC/B,SACA,cACA,iBACA,yBAAsB,IACtB,uBACwB;CACxB,IAAM,EAAE,SAAM,EAA8B,GACtC,CAAC,GAAO,KAAY,EAAS,EAAK,aAAa,EAAE,GACjD,CAAC,GAAY,KAAiB,EAAwB,IAAI;CAEhE,QAAgB;EACd,AAAI,EAAK,aAAa,QAAQ,EAAK,cAAc,KAC/C,EAAS,EAAK,SAAS,IACd,KAAgB,QAAQ,MAAiB,MAClD,EAAS,CAAY;CAEzB,GAAG,CAAC,EAAK,WAAW,CAAY,CAAC;CAEjC,IAAM,IAAe,EACnB,OAAO,MAAsC;EAI3C,IAHA,EAAM,eAAe,GACrB,EAAc,IAAI,GAEd,EAAM,KAAK,MAAM,IAAI;GACvB,EAAc,EAAE,mCAAmC,CAAC;GACpD;EACF;EAEA,IAAI;GACF,IAAM,IAAS,MAAM,EAAK,oBAAoB,EAAM,KAAK,CAAC;GAC1D,IAAI,MAAM,QAAQ,EAAO,OAAO,KAAK,EAAO,QAAQ,WAAW,GAAG;IAChE,IAAM,IACJ,EAAO,eAAe,OAIlB,EAAE,4BAA4B,IAH9B,EAAE,sCAAsC,EACtC,MAAM,IAAI,KAAK,EAAO,WAAW,CAAC,CAAC,eAAe,EACpD,CAAC;IAEP,EAAc,CAAkB;IAChC;GACF;GACA,IACE,MAAM,QAAQ,EAAO,OAAO,KAC5B,CAAC,EAAO,QAAQ,SAAS,SAAS,GAClC;IACA,EAAc,EAAE,kCAAkC,CAAC;IACnD;GACF;GAGA,AAAI,MADiB,EAAK,iBAAiB,EAAE,OAAO,EAAM,KAAK,EAAE,CAAC,MACnD,aACb,EAAU;EAEd,QAAQ;GACN,EAAc,EAAE,4BAA4B,CAAC;EAC/C;CACF,GACA;EAAC;EAAM;EAAO;EAAW;CAAC,CAC5B,GAEM,IAAY,GAEZ,IAAoB,GACvB,MAAsC;EACrC,EAAa,CAAK,CAAC,CAAC,YAAY,CAEhC,CAAC;CACH,GACA,CAAC,CAAY,CACf;CAEA,OACE,kBAAC,GAAD;EACE,WAAW;EACX,UAAU;EACV,YAAA;EACA,cAAa;EAJf,UAAA,CAME,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA;IACE,kBAAC,KAAD;KAAG,WAAW;KAAgB,UAAA,EAAE,qBAAqB;IAAK,CAAA;IACzD,KAAa,OAA4C,OAArC,kBAAC,GAAD,EAAA,UAAY,EAAqB,CAAA;IACtD,kBAAC,GAAD;KACE,OAAO,EAAE,8BAA8B;KACvC,MAAK;KACL,MAAK;KACL,OAAO;KACP,WAAW,MAAU;MAEnB,AADA,EAAS,EAAM,OAAO,KAAK,GAC3B,EAAc,IAAI;KACpB;KACA,aAAa,EAAE,oCAAoC;KACnD,cAAa;KACb,UAAA;IACD,CAAA;GACE;EACL,CAAA,GAAA,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,kBAAC,GAAD;IAAQ,MAAK;IAAS,SAAQ;IAAQ,SAAS,EAAK;IACjD,UACG,EADH,IACK,oCACA,6BAA6B;GAC7B,CAAA,GACP,KAAiB,OAQd,OAPF,kBAAC,UAAD;IACE,MAAK;IACL,WAAW;IACX,SAAS;IAER,UAAA,EAAE,kCAAkC;GAC/B,CAAA,CAEP;EACD,CAAA,CAAA;;AAEV"}
|
|
@@ -2,31 +2,31 @@ import { actionsRow as e, formSurface as t, inlineLink as n } from "./loginPage.
|
|
|
2
2
|
import { AuthPanel as r } from "./AuthPanel.js";
|
|
3
3
|
import { useBackofficeReactTranslation as i } from "../../i18n/useBackofficeReactTranslation.js";
|
|
4
4
|
import { OidcButtons as a } from "./OidcButtons.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { LoginForm as o } from "@plumile/ui";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
7
|
//#region src/auth/login/PasswordLoginPanel.tsx
|
|
8
8
|
var l = ({ auth: l, defaultEmail: u, onForgotPassword: d, onSuccess: f, providers: p }) => {
|
|
9
9
|
let { t: m } = i();
|
|
10
|
-
return /* @__PURE__ */
|
|
10
|
+
return /* @__PURE__ */ s(r, {
|
|
11
11
|
title: m("auth.passwordLogin.title"),
|
|
12
|
-
children: /* @__PURE__ */
|
|
12
|
+
children: /* @__PURE__ */ c("div", {
|
|
13
13
|
className: t,
|
|
14
14
|
children: [
|
|
15
|
-
/* @__PURE__ */ o
|
|
15
|
+
/* @__PURE__ */ s(o, {
|
|
16
16
|
auth: l,
|
|
17
17
|
onSuccess: f,
|
|
18
18
|
defaultEmail: u
|
|
19
19
|
}),
|
|
20
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ s("div", {
|
|
21
21
|
className: e,
|
|
22
|
-
children: /* @__PURE__ */
|
|
22
|
+
children: /* @__PURE__ */ s("button", {
|
|
23
23
|
type: "button",
|
|
24
24
|
className: n,
|
|
25
25
|
onClick: d,
|
|
26
26
|
children: m("auth.passwordLogin.forgotPassword")
|
|
27
27
|
})
|
|
28
28
|
}),
|
|
29
|
-
/* @__PURE__ */
|
|
29
|
+
/* @__PURE__ */ s(a, { providers: p })
|
|
30
30
|
]
|
|
31
31
|
})
|
|
32
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordLoginPanel.js","names":[],"sources":["../../../../src/auth/login/PasswordLoginPanel.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { LoginForm
|
|
1
|
+
{"version":3,"file":"PasswordLoginPanel.js","names":[],"sources":["../../../../src/auth/login/PasswordLoginPanel.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport { useBackofficeReactTranslation } from '../../i18n/useBackofficeReactTranslation.js';\n\nimport { LoginForm, type LoginFormAuthAdapter } from '@plumile/ui';\n\nimport type { OidcProviderKind } from '../../modules/sharedSchemaTypes.js';\n\nimport { AuthPanel } from './AuthPanel.js';\nimport { OidcButtons } from './OidcButtons.js';\nimport * as styles from './loginPage.css.js';\n\ntype Props = {\n auth: LoginFormAuthAdapter;\n defaultEmail: string;\n onForgotPassword: () => void;\n onSuccess: () => void;\n providers: readonly OidcProviderKind[];\n};\n\nexport const PasswordLoginPanel = ({\n auth,\n defaultEmail,\n onForgotPassword,\n onSuccess,\n providers,\n}: Props): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n return (\n <AuthPanel title={t('auth.passwordLogin.title')}>\n <div className={styles.formSurface}>\n <LoginForm\n auth={auth}\n onSuccess={onSuccess}\n defaultEmail={defaultEmail}\n />\n <div className={styles.actionsRow}>\n <button\n type=\"button\"\n className={styles.inlineLink}\n onClick={onForgotPassword}\n >\n {t('auth.passwordLogin.forgotPassword')}\n </button>\n </div>\n <OidcButtons providers={providers} />\n </div>\n </AuthPanel>\n );\n};\n"],"mappings":";;;;;;;AAmBA,IAAa,KAAsB,EACjC,SACA,iBACA,qBACA,cACA,mBACwB;CACxB,IAAM,EAAE,SAAM,EAA8B;CAC5C,OACE,kBAAC,GAAD;EAAW,OAAO,EAAE,0BAA0B;EAC5C,UAAA,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA;IACE,kBAAC,GAAD;KACQ;KACK;KACG;IACf,CAAA;IACD,kBAAC,OAAD;KAAK,WAAW;KACd,UAAA,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,SAAS;MAER,UAAA,EAAE,mCAAmC;KAChC,CAAA;IACL,CAAA;IACL,kBAAC,GAAD,EAAwB,aAAY,CAAA;GACjC;;CACI,CAAA;AAEf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
//#region src/auth/login/loginPage.css.ts
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "txvbqb5lr txvbqb6m5 txvbqb6s9", t = "txvbqb5lr txvbqb6m5 txvbqbl9n", n = "txvbqbe7 txvbqb6nj txvbqb1rt txvbqb1r2", r = "txvbqb2nn txvbqbe7 txvbqb5lr txvbqb6rp txvbqbawl txvbqb8qj", i = "txvbqbb5 txvbqb84l txvbqb1cl txvbqbn8 txvbqbg5", a = "txvbqb2nn txvbqb5lr txvbqb1cu txvbqb6rz txvbqb8ov txvbqbaw1", o = "w8yhmy0 txvbqb8n txvbqbk9 txvbqbmv txvbqbet txvbqbv txvbqb1d5 txvbqbf4t txvbqb3f txvbqb7n txvbqb78 txvbqb7y txvbqbod5 txvbqbpw9", s = "txvbqb12r txvbqb12b txvbqb13j txvbqb138 txvbqbirn txvbqbjhh", c = "txvbqb5lr txvbqb6m5 txvbqb6s9", l = "txvbqbl9n", u = "txvbqb1rt txvbqb6od txvbqb1d6 txvbqbet txvbqb1nz", d = "txvbqbawb", f = "w8yhmy1 txvbqbj4 txvbqblh txvbqbmx txvbqbet txvbqbb3 txvbqb7n txvbqb76 txvbqb7y";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { a as actionsRow, c as block, f as brandGhostButton, r as divider, i as dividerLine, d as footer, t as formSurface, l as fullWidth, n as helper, o as inlineLink, s as panel, u as panelTitle, e as stack };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginPage.css.js","names":[],"sources":["../../../../src/auth/login/loginPage.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles
|
|
1
|
+
{"version":3,"file":"loginPage.css.js","names":[],"sources":["../../../../src/auth/login/loginPage.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles, vars } from '@plumile/ui/theme';\n\nexport const stack = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const formSurface = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n width: 'full',\n});\n\nexport const helper = sprinkles({\n color: 'textSecondary',\n fontSize: 'sm',\n margin: 0,\n lineHeight: 1.6,\n});\n\nexport const divider = sprinkles({\n alignItems: 'center',\n color: 'textSecondary',\n display: 'flex',\n gap: 2,\n marginTop: 5,\n marginBottom: 3,\n});\n\nexport const dividerLine = sprinkles({\n backgroundColor: 'tonePrimaryBorder',\n height: 'px',\n flex: 1,\n borderRadius: 'full',\n opacity: 35,\n});\n\nexport const actionsRow = sprinkles({\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n gap: 3,\n justifyContent: 'space-between',\n marginTop: 3,\n});\n\nexport const inlineLink = style([\n sprinkles({\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'none',\n color: 'tonePrimaryText',\n cursor: 'pointer',\n fontWeight: 'semibold',\n padding: 0,\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n color: { hover: 'tonePrimaryText' },\n textDecoration: { hover: 'underline' },\n }),\n]);\n\nexport const panel = sprinkles({\n borderTopLeftRadius: 'none',\n borderTopRightRadius: 'none',\n borderBottomLeftRadius: '2xl',\n borderBottomRightRadius: '2xl',\n paddingX: 6,\n paddingY: 6,\n});\n\nexport const block = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n});\n\nexport const fullWidth = sprinkles({\n width: 'full',\n});\n\nexport const panelTitle = sprinkles({\n margin: 0,\n fontSize: 'xl',\n fontWeight: 'bold',\n color: 'tonePrimaryText',\n letterSpacing: 'tight',\n});\n\nexport const footer = sprinkles({\n marginTop: 4,\n});\n\nexport const brandGhostButton = style([\n sprinkles({\n borderColor: 'tonePrimaryBorder',\n borderWidth: 'px',\n borderStyle: 'solid',\n color: 'tonePrimaryText',\n backgroundColor: 'tonePrimarySurface',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: vars.colors.tonePrimarySurface,\n color: vars.colors.tonePrimaryText,\n borderColor: vars.colors.tonePrimaryBorder,\n },\n },\n },\n]);\n"],"mappings":""}
|
|
@@ -1,122 +1,127 @@
|
|
|
1
|
-
import { formSurface as e, helper as t
|
|
2
|
-
import { AuthPanel as
|
|
3
|
-
import { useBackofficeReactTranslation as
|
|
4
|
-
import { MfaChallengeForm as
|
|
5
|
-
import { useCallback as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { FormField as p } from "@plumile/ui/atomic/molecules/form_field/FormField.js";
|
|
10
|
-
import { Form as m } from "@plumile/ui/atomic/molecules/form/Form.js";
|
|
11
|
-
import { AuthLayout as h } from "@plumile/ui/atomic/templates/auth_layout/AuthLayout.js";
|
|
1
|
+
import { formSurface as e, helper as t } from "../login/loginPage.css.js";
|
|
2
|
+
import { AuthPanel as n } from "../login/AuthPanel.js";
|
|
3
|
+
import { useBackofficeReactTranslation as r } from "../../i18n/useBackofficeReactTranslation.js";
|
|
4
|
+
import { MfaChallengeForm as i } from "../login/MfaChallengeForm.js";
|
|
5
|
+
import { useCallback as a, useMemo as o, useState as s } from "react";
|
|
6
|
+
import { AuthLayout as c, Form as l, FormError as u, FormField as d } from "@plumile/ui";
|
|
7
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
8
|
+
import { Button as m } from "@plumile/ui/button";
|
|
12
9
|
//#region src/auth/pages/AcceptInvitationScreen.tsx
|
|
13
|
-
var
|
|
14
|
-
let { t:
|
|
15
|
-
if (e.preventDefault(), M === "") {
|
|
16
|
-
|
|
10
|
+
var h = ({ auth: h, onSuccessRedirect: g, onBackToLogin: _, token: v }) => {
|
|
11
|
+
let { t: y } = r(), { acceptInvitation: b } = h, [x, S] = s("idle"), [C, w] = s(""), [T, E] = s(""), [D, O] = s(!1), [k, A] = s(null), [j, M] = s(null), N = o(() => v ?? (typeof window > "u" ? "" : new URLSearchParams(window.location.search).get("token") ?? ""), [v]), P = a((e) => {
|
|
12
|
+
if (e.preventDefault(), M(null), N === "") {
|
|
13
|
+
A(y("auth.acceptInvitation.errors.missingToken")), S("error");
|
|
17
14
|
return;
|
|
18
15
|
}
|
|
19
|
-
if (
|
|
20
|
-
|
|
16
|
+
if (C === "") {
|
|
17
|
+
A(y("auth.acceptInvitation.errors.passwordPolicyViolation")), M("password"), S("error");
|
|
21
18
|
return;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
if (T === "") {
|
|
21
|
+
A(y("auth.acceptInvitation.errors.passwordMismatch")), M("passwordConfirmation"), S("error");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (C !== T) {
|
|
25
|
+
A(y("auth.acceptInvitation.errors.passwordMismatch")), M("passwordConfirmation"), S("error");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
S("pending"), A(null), O(!0), b({
|
|
29
|
+
token: N,
|
|
30
|
+
password: C,
|
|
31
|
+
passwordConfirmation: T
|
|
27
32
|
}).then((e) => {
|
|
28
33
|
if (e === "mfa-required") {
|
|
29
|
-
|
|
34
|
+
S("mfa");
|
|
30
35
|
return;
|
|
31
36
|
}
|
|
32
|
-
|
|
37
|
+
S("completed"), g();
|
|
33
38
|
}).catch(() => {
|
|
34
|
-
|
|
39
|
+
S("error"), A(y("auth.acceptInvitation.errors.default"));
|
|
35
40
|
}).finally(() => {
|
|
36
|
-
|
|
41
|
+
O(!1);
|
|
37
42
|
});
|
|
38
43
|
}, [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
]),
|
|
46
|
-
|
|
47
|
-
}, [
|
|
48
|
-
|
|
44
|
+
b,
|
|
45
|
+
g,
|
|
46
|
+
C,
|
|
47
|
+
T,
|
|
48
|
+
N,
|
|
49
|
+
y
|
|
50
|
+
]), F = a(() => {
|
|
51
|
+
S("completed"), g();
|
|
52
|
+
}, [g]), I = a(() => {
|
|
53
|
+
S("idle"), A(null), M(null), O(!1);
|
|
49
54
|
}, []);
|
|
50
|
-
if (
|
|
51
|
-
title:
|
|
52
|
-
subtitle:
|
|
53
|
-
children: /* @__PURE__ */
|
|
54
|
-
auth:
|
|
55
|
-
onSuccess:
|
|
55
|
+
if (x === "mfa") return /* @__PURE__ */ f(c, {
|
|
56
|
+
title: y("auth.acceptInvitation.mfaTitle"),
|
|
57
|
+
subtitle: y("auth.acceptInvitation.mfaSubtitle"),
|
|
58
|
+
children: /* @__PURE__ */ f(i, {
|
|
59
|
+
auth: h,
|
|
60
|
+
onSuccess: F,
|
|
56
61
|
onBack: () => {
|
|
57
|
-
|
|
62
|
+
h.reset(), I();
|
|
58
63
|
}
|
|
59
64
|
})
|
|
60
65
|
});
|
|
61
|
-
let
|
|
62
|
-
return
|
|
63
|
-
className:
|
|
64
|
-
children:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}) : /* @__PURE__ */ l(r, {
|
|
69
|
-
description: b("auth.acceptInvitation.subtitle"),
|
|
70
|
-
children: /* @__PURE__ */ u(m, {
|
|
66
|
+
let L;
|
|
67
|
+
return L = x === "completed" ? /* @__PURE__ */ f(n, { children: /* @__PURE__ */ f("p", {
|
|
68
|
+
className: t,
|
|
69
|
+
children: y("auth.acceptInvitation.status.success")
|
|
70
|
+
}) }) : /* @__PURE__ */ f(n, {
|
|
71
|
+
description: y("auth.acceptInvitation.subtitle"),
|
|
72
|
+
children: /* @__PURE__ */ p(l, {
|
|
71
73
|
className: e,
|
|
72
|
-
onSubmit:
|
|
74
|
+
onSubmit: P,
|
|
73
75
|
noValidate: !0,
|
|
74
76
|
initialFocus: "first-form-control",
|
|
75
77
|
children: [
|
|
76
|
-
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
label:
|
|
78
|
+
k != null && j == null ? /* @__PURE__ */ f(u, { children: k }) : null,
|
|
79
|
+
/* @__PURE__ */ f(d, {
|
|
80
|
+
label: y("auth.acceptInvitation.form.passwordLabel"),
|
|
81
|
+
error: j === "password" ? k : null,
|
|
79
82
|
name: "password",
|
|
80
83
|
type: "password",
|
|
81
|
-
value:
|
|
84
|
+
value: C,
|
|
82
85
|
onChange: (e) => {
|
|
83
|
-
|
|
86
|
+
w(e.target.value), A(null), M(null), x === "error" && S("idle");
|
|
84
87
|
},
|
|
85
|
-
placeholder:
|
|
88
|
+
placeholder: y("auth.acceptInvitation.form.passwordPlaceholder"),
|
|
86
89
|
autoComplete: "new-password",
|
|
87
90
|
required: !0
|
|
88
91
|
}),
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
label:
|
|
92
|
+
/* @__PURE__ */ f(d, {
|
|
93
|
+
label: y("auth.acceptInvitation.form.confirmLabel"),
|
|
94
|
+
error: j === "passwordConfirmation" ? k : null,
|
|
91
95
|
name: "password-confirmation",
|
|
92
96
|
type: "password",
|
|
93
|
-
value:
|
|
97
|
+
value: T,
|
|
94
98
|
onChange: (e) => {
|
|
95
|
-
|
|
99
|
+
E(e.target.value), A(null), M(null), x === "error" && S("idle");
|
|
96
100
|
},
|
|
97
|
-
placeholder:
|
|
101
|
+
placeholder: y("auth.acceptInvitation.form.confirmPlaceholder"),
|
|
98
102
|
autoComplete: "new-password",
|
|
99
103
|
required: !0
|
|
100
104
|
}),
|
|
101
|
-
/* @__PURE__ */
|
|
105
|
+
/* @__PURE__ */ f(m, {
|
|
102
106
|
type: "submit",
|
|
103
|
-
|
|
104
|
-
children:
|
|
107
|
+
loading: D,
|
|
108
|
+
children: y(x === "pending" ? "auth.acceptInvitation.status.workingButton" : "auth.acceptInvitation.form.submit")
|
|
105
109
|
}),
|
|
106
|
-
/* @__PURE__ */
|
|
110
|
+
/* @__PURE__ */ f(m, {
|
|
107
111
|
type: "button",
|
|
108
|
-
variant: "
|
|
109
|
-
onClick:
|
|
110
|
-
|
|
112
|
+
variant: "soft",
|
|
113
|
+
onClick: _,
|
|
114
|
+
tone: "neutral",
|
|
115
|
+
children: y("auth.acceptInvitation.actions.backToLogin")
|
|
111
116
|
})
|
|
112
117
|
]
|
|
113
118
|
})
|
|
114
|
-
}), /* @__PURE__ */
|
|
115
|
-
title:
|
|
116
|
-
children:
|
|
119
|
+
}), /* @__PURE__ */ f(c, {
|
|
120
|
+
title: y("auth.acceptInvitation.title"),
|
|
121
|
+
children: L
|
|
117
122
|
});
|
|
118
123
|
};
|
|
119
124
|
//#endregion
|
|
120
|
-
export {
|
|
125
|
+
export { h as AcceptInvitationScreen };
|
|
121
126
|
|
|
122
127
|
//# sourceMappingURL=AcceptInvitationScreen.js.map
|