@wildo-ai/saas-frontend-lib 1.1.5 → 1.1.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/dist/esm/components/actions/action-bar.d.ts +15 -0
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +15 -0
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +97 -7
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +8 -3
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js +5 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +1 -4
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js +1 -3
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts +7 -0
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js +13 -7
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +32 -33
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +18 -20
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +2 -3
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts +13 -16
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js +18 -15
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js +2 -2
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js +2 -2
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts +33 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js +34 -5
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js +2 -2
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js +1 -0
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +15 -1
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js +11 -0
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +12 -2
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js +3 -2
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js +8 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +18 -4
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +61 -3
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +7 -5
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +11 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +36 -11
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts +6 -0
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +23 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +35 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +47 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +124 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts +8 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +46 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -0
- package/dist/esm/components/feedback/resource-empty-state.d.ts +21 -8
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js +56 -26
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts +29 -7
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +231 -101
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +57 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js +4 -4
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -5
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts +2 -2
- package/dist/esm/components/form/Form.js +2 -2
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +28 -3
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +43 -14
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts +3 -0
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +60 -21
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts +6 -3
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js +3 -2
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +5 -4
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +148 -55
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts +30 -0
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js +30 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts +79 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts.map +1 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js +203 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js.map +1 -0
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js +11 -0
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js +2 -2
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts +7 -0
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +13 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.d.ts +58 -0
- package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.js +34 -6
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js +60 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts +0 -12
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +34 -13
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +46 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +73 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.js +64 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -0
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +8 -1
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js +4 -0
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts +31 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.js +81 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -0
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +14 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +14 -0
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +22 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +1 -22
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts +11 -0
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts +11 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js +15 -3
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js +2 -2
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +18 -20
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +7 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +4 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +18 -2
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +82 -10
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +8 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +8 -2
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js +6 -2
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +31 -16
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js +23 -8
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +2 -2
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts +13 -0
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +55 -28
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js +41 -20
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js +1 -2
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts +9 -4
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js +30 -11
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +4 -2
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +6 -2
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js +30 -14
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +14 -198
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts +2 -2
- package/dist/esm/components/resources/ResourceLayout_Update.js +2 -2
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +69 -39
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts +32 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.js +130 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.js.map +1 -0
- package/dist/esm/components/resources/collection-create-placement.utils.d.ts +32 -0
- package/dist/esm/components/resources/collection-create-placement.utils.d.ts.map +1 -0
- package/dist/esm/components/resources/collection-create-placement.utils.js +37 -0
- package/dist/esm/components/resources/collection-create-placement.utils.js.map +1 -0
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts +8 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js +49 -2
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +22 -0
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js +85 -2
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts +14 -0
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js +22 -0
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js +3 -0
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +33 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js +3 -0
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js +28 -2
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts +70 -0
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js +157 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +6 -0
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js +13 -2
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js +2 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +61 -15
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +24 -2
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +69 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +18 -19
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js +5 -4
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts +5 -0
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js +12 -3
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +43 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +129 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +34 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js +9 -11
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js +3 -2
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts +4 -2
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js +21 -3
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js +5 -10
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +58 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +243 -40
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +67 -6
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js +19 -11
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +4 -2
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +3 -0
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js +16 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +59 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.js +136 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts +5 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js +5 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts +50 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.js +72 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.js.map +1 -0
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js +2 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts +86 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +187 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -0
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts +5 -2
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js +5 -2
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +18 -9
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +1 -0
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts +10 -0
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js +28 -5
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js +38 -0
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +15 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +47 -13
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +25 -2
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +16 -25
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts +11 -3
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js +14 -8
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.js +2 -0
- package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +29 -229
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +29 -327
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +17 -27
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +28 -48
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +21 -11
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +4 -4
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +17 -0
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +17 -0
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +10 -10
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +221 -6
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +8 -0
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +1 -0
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +10 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +9 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +30 -19
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js +9 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js +5 -4
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts +2 -2
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js +4 -4
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +23 -5
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +110 -43
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +89 -15
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts +2 -0
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js +2 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +5 -2
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts +63 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js +131 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts +61 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js +178 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts +52 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.js +144 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +22 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +23 -3
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts +55 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js +65 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +63 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +100 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -0
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +45 -7
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +112 -28
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +32 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.js +91 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -0
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js +3 -2
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +22 -8
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +21 -9
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +5 -3
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js +5 -3
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts +2 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +2 -1
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js +7 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +19 -1
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +15 -2
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +183 -20
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +2 -2
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts +7 -15
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js +8 -26
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts +12 -3
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js +3 -2
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts +42 -0
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +89 -5
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts +2 -0
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js +2 -0
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts +78 -0
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +264 -16
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +8 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +137 -30
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +2 -0
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -0
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.d.ts +46 -0
- package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-cascade.js +222 -0
- package/dist/esm/core/navigation/navigation-cascade.js.map +1 -0
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +21 -2
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts +71 -0
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-controller-internals.js +84 -0
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -0
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +86 -2
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +242 -124
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +170 -8
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +121 -2
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +102 -6
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +283 -34
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts +0 -10
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +0 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +0 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +28 -157
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +211 -1189
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts +174 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.js +977 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -0
- package/dist/esm/core/navigation/useOverlayTitle.d.ts +13 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js +15 -10
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts +43 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.js +44 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -0
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts +83 -0
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-collapse-migration.js +116 -0
- package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -0
- package/dist/esm/core/navigation/zone-collapse.d.ts +51 -0
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-collapse.js +59 -0
- package/dist/esm/core/navigation/zone-collapse.js.map +1 -0
- package/dist/esm/core/navigation/zone-emphasis.d.ts +3 -0
- package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-emphasis.js +26 -4
- package/dist/esm/core/navigation/zone-emphasis.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +22 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.js +25 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js +53 -18
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +3 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts +22 -0
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +72 -3
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts +28 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js +86 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js.map +1 -0
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +38 -3
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +57 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +4 -2
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +30 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +47 -4
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js +22 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts +22 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js +25 -2
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +113 -13
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js +173 -20
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts +11 -0
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js +7 -0
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +3 -2
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +13 -5
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +6 -0
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js +90 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +139 -16
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +110 -11
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js +3 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +10 -0
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +8 -0
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +7 -0
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js +9 -2
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts +59 -0
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -0
- package/dist/esm/core/resources/useOperationDirectExecution.js +278 -0
- package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -0
- package/dist/esm/core/resources/useResourceOperationActions.d.ts +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js +69 -22
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts +8 -6
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js +3 -2
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +23 -2
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +4 -2
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts +12 -2
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +5 -2
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +25 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js +37 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +21 -2
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +51 -4
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts +11 -0
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js +70 -22
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js +10 -2
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +72 -8
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +7 -0
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.js +8 -2
- package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts +30 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.js +38 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.js.map +1 -0
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +10 -6
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts +20 -0
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js +39 -5
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js +22 -2
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +6 -6
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js +3 -3
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/index.d.ts +10 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +19 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.d.ts +43 -0
- package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -0
- package/dist/esm/testing/app-shell-placement-coverage.js +114 -0
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -0
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +5 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing.d.ts +1 -0
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js +1 -0
- package/dist/esm/testing.js.map +1 -1
- package/package.json +9 -7
- package/dist/esm/core/navigation/useIsStackEntryActive.js +0 -15
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth_Main.js","sourceRoot":"","sources":["../../../../../src/components/auth/Auth_Main.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useMemo, useState, useCallback, useEffect, useRef } from 'react';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport { FrontendComponentType, UserAuthLabel } from '@wildo-ai/presets-components-models';\nimport { ValidationMode } from '@wildo-ai/zod-decorators';\nimport {\n AuthMethod,\n AuthSessionPurpose,\n getEnabledFirstFactorMethods,\n getEnabledMethods,\n AuthIdentifyFormDtoSchema,\n type AuthIdentifyFormDto,\n type AvailableMethod,\n type AuthenticationResponse,\n} from '@wildo-ai/saas-models';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAuthSession } from '~wildo-frontend-lib/core/security/useAuthSession';\nimport { PasskeyAutofillExpiredError, PasskeySignInMediation } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { browserSupportsWebAuthnAutofill, WebAuthnAbortService } from '@simplewebauthn/browser';\nimport { organizationOnboardingNavigationTarget } from '~wildo-frontend-lib/core/security/organization-onboarding.frontend.utils';\nimport { useResolvedAuthConfig } from '~wildo-frontend-lib/core/security/useResolvedAuthConfig';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { AutomatedForm } from '~wildo-frontend-lib/components/form/automated/AutomatedForm';\nimport { Button, ButtonLabelOverflow, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { FormLayout } from '~wildo-frontend-lib/components/resources/skeleton/FormLayout';\nimport { FormField } from '~wildo-frontend-lib/components/form/automated/FormField';\nimport { SubmitButton } from '~wildo-frontend-lib/components/resources/skeleton/SubmitButton';\nimport { Heading } from '~wildo-frontend-lib/components/typography/heading';\nimport { Text } from '~wildo-frontend-lib/components/typography/text';\nimport { Link } from '~wildo-frontend-lib/components/typography/link';\nimport { Alert, AlertDescription } from '~wildo-frontend-lib/components/overlays/containers/alert';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n appendAuthRedirectToPath,\n extractAuthRedirectFromSearch,\n resolvePostAuthRedirect,\n} from '~wildo-frontend-lib/core/security/auth-redirect.frontend.utils';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { collectFrontendProviderDisplayLabelKeys } from '~wildo-frontend-lib/core/external-providers/frontend-provider-display-label.frontend.utils';\nimport { resolveOAuthProviderDisplayLabel, resolvePublicOAuthProviderEntries } from '~wildo-frontend-lib/components/auth/utils/oauth-provider-display-label.frontend.utils';\n\nimport { OAuthProvidersSection, SSO_PROVIDER_BRAND_META } from '~wildo-frontend-lib/components/auth/utils/OAuthProvidersSection';\nimport { useMfaContinuationNavigation } from '~wildo-frontend-lib/components/auth/utils/useMfaContinuationNavigation';\nimport { LabeledDivider } from '~wildo-frontend-lib/components/auth/utils/LabeledDivider';\nimport { AUTH_METHOD_COMPONENTS, type AuthMethodComponentProps } from '~wildo-frontend-lib/components/auth/methods/auth-method-components';\nimport { resolveAuthMethodChoiceLabel } from '~wildo-frontend-lib/components/auth/methods/auth-method-presentation';\nimport { AuthMethodChoiceList } from '~wildo-frontend-lib/components/auth/utils/AuthMethodChoiceList';\nimport { AuthMethodIcon } from '~wildo-frontend-lib/components/auth/utils/AuthMethodIcon';\n\nimport { ComponentPresetProps } from '~wildo-frontend-lib/core/components-registry/component-registry.frontend.schemas'\nimport { createComponentResolver } from '~wildo-frontend-lib/core/components-registry/component-resolver.frontend.helper'\nimport { CorePresetNames } from '@wildo-ai/presets-components-models'\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('Auth_Main');\nlogger.setDebugTypeLogging('Auth_Main', false);\n\n/**\n * Self-sufficient template for the email identification form.\n * Reads auth error from `useUserOrgs()`, labels from `useI18n()`.\n */\nconst IdentifyFormTemplate: React.FC = () => {\n const { auth } = useUserOrgs();\n const { tComponent, isReady } = useI18n({\n component: FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH,\n });\n const t = (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, key);\n\n if (!isReady) return null;\n\n return (\n <FormLayout>\n <FormField name=\"email\" />\n\n {auth.error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{auth.error}</AlertDescription>\n </Alert>\n )}\n\n <SubmitButton\n label={t(UserAuthLabel.CONTINUE)}\n submittingLabel=\"…\"\n fullWidth\n />\n </FormLayout>\n );\n};\n\n/**\n * Resolve once the sign-in email field carrying the `webauthn` autocomplete token is in the document.\n *\n * Passkey autofill must start AFTER that input exists: the browser attaches its passkey list to it, and\n * the WebAuthn helper refuses to start a conditional request without one. The form renders\n * asynchronously (it waits for its labels), so this polls one frame at a time, bounded, and answers\n * `null` if the field never appears — autofill is then simply not offered.\n */\nfunction waitForPasskeyAutofillField(timeoutMs: number): Promise<Element | null> {\n const selector = 'input[autocomplete~=\"webauthn\"]';\n return new Promise((resolve) => {\n const deadline = Date.now() + timeoutMs;\n const probe = () => {\n const field = document.querySelector(selector);\n if (field || Date.now() >= deadline) {\n resolve(field);\n return;\n }\n requestAnimationFrame(probe);\n };\n probe();\n });\n}\n\n/** How long the page waits for the email field before giving up on offering passkey autofill. */\nconst PASSKEY_AUTOFILL_FIELD_WAIT_MS = 3000;\n\n// --- Contract ---\nexport interface PublicLayoutPreset_UserAuth_DefaultProps {\n}\n\nexport const PublicLayoutPreset_UserAuth_Default = ({}: PublicLayoutPreset_UserAuth_DefaultProps): React.JSX.Element => {\n const { auth, identifyByEmail, initiateOAuth2Login } = useUserOrgs();\n const { signInWithPasskey } = useAuthSession();\n const { frontendProviderRegistry } = useApplication();\n const resolvedAuth = useResolvedAuthConfig();\n const location = useLocation();\n const enabledSocialOAuth2Providers = useMemo(() => {\n return resolvePublicOAuthProviderEntries({\n publicProviders: resolvedAuth.globalAuth?.socialOAuth2Providers,\n frontendProviderRegistry,\n });\n }, [frontendProviderRegistry, resolvedAuth.globalAuth?.socialOAuth2Providers]);\n const socialOAuth2ProviderLabelKeys = useMemo(() => {\n return collectFrontendProviderDisplayLabelKeys(\n enabledSocialOAuth2Providers.map((provider) => provider.displayNameLabelKey),\n );\n }, [enabledSocialOAuth2Providers]);\n const { t: translate, tComponent, isReady } = useI18n({\n component: FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH,\n keys: socialOAuth2ProviderLabelKeys,\n });\n\n const t = (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, key);\n const publicRoutes = CommonRoutePaths;\n const postAuthRedirect = useMemo(\n () => resolvePostAuthRedirect(location.search),\n [location.search],\n );\n const authRedirectTarget = useMemo(\n () => extractAuthRedirectFromSearch(location.search),\n [location.search],\n );\n const redirectedAuthError = useMemo(() => {\n const searchParams = new URLSearchParams(location.search);\n return searchParams.get('reason') ?? searchParams.get('error');\n }, [location.search]);\n const passwordLostHref = useMemo(\n () => appendAuthRedirectToPath(publicRoutes.passwordLost, authRedirectTarget),\n [authRedirectTarget, publicRoutes.passwordLost],\n );\n const registerHref = useMemo(\n () => appendAuthRedirectToPath(publicRoutes.register, authRedirectTarget),\n [authRedirectTarget, publicRoutes.register],\n );\n\n const [activeMethod, setActiveMethod] = useState<AuthMethod | null>(null);\n\n // Shared with the registration screen (#972), so a session owing a second factor is routed one way.\n useMfaContinuationNavigation({\n mfaRequired: auth.mfaRequired,\n mfaSessionId: auth.mfaSessionId,\n usableSecondFactorMethods: auth.usableSecondFactorMethods,\n email: auth.identification?.email,\n authRedirectTarget,\n });\n\n const hasIdentification = !!auth.identification;\n const sessionId = auth.identification?.sessionId || '';\n const email = auth.identification?.email || '';\n\n const availableFirstFactorMethods: AvailableMethod[] = useMemo(() => {\n if (!hasIdentification || !auth.identification?.userExists) return [];\n const methods = auth.identification?.firstFactorMethods || [];\n // Rendered in the order the server sent (#1218). The backend orders by `AUTH_METHOD_PRECEDENCE` and computes\n // `defaultFirstFactorMethod` as the head of that same list, so re-sorting here would put a different method first\n // from the one the server named as the default — which is exactly what it used to do for an SSO-routed domain.\n return methods.filter((m) => AUTH_METHOD_COMPONENTS[m.method as AuthMethod]);\n }, [hasIdentification, auth.identification]);\n\n const defaultMethod = useMemo(() => {\n if (availableFirstFactorMethods.length === 0) return null;\n const defaultFromBackend = auth.identification?.defaultFirstFactorMethod as AuthMethod | undefined;\n if (defaultFromBackend && AUTH_METHOD_COMPONENTS[defaultFromBackend]) return defaultFromBackend;\n return availableFirstFactorMethods[0].method as AuthMethod;\n }, [availableFirstFactorMethods, auth.identification?.defaultFirstFactorMethod]);\n\n const currentActiveMethod = activeMethod || defaultMethod;\n const alternativeMethods = availableFirstFactorMethods.filter(\n (m) => m.method !== currentActiveMethod\n );\n\n /*\n * Does the person's organization REQUIRE the method currently shown? (#1220)\n *\n * `enforcedFirstFactor` is set by the backend only where an enterprise connection declares\n * `enforcement.requireSSO`. Until #1220 this arrived as a `required` boolean that NOTHING here read\n * — a claim on the wire that no surface checked — and it could not safely be read, because the same\n * field was also set on any method that can serve as a second factor whenever the user type demands\n * MFA. Consuming that would have announced a passkey as a mandatory first factor.\n *\n * Read on the ACTIVE method rather than on the list, because the notice explains the thing the\n * person is looking at. The interesting case is the one where alternatives exist beside it: a tenant\n * that allows a password fallback, or that names break-glass accounts and therefore keeps the\n * password field for EVERY address at the domain so the list cannot be read as an oracle for who\n * those accounts are. There the two methods look like peers and are not.\n */\n const activeMethodIsOrganizationEnforced = availableFirstFactorMethods.some(\n (m) => m.method === currentActiveMethod && m.enforcedFirstFactor,\n );\n\n const handleOAuth2Click = async (providerRef: string) => {\n try {\n await initiateOAuth2Login(providerRef, authRedirectTarget);\n } catch {\n // Error is already handled in AuthSessionContext\n }\n };\n\n const handleIdentify = async (data: AuthIdentifyFormDto) => {\n await identifyByEmail(data.email);\n };\n\n const handleFirstFactorSuccess = useCallback((_response: AuthenticationResponse) => {\n // Token storage and MFA redirect are handled by AuthSessionContext\n // and the authenticateWithPassword flow respectively.\n // Nothing to do here — the auth state update triggers re-renders\n // and the MFA redirect is handled at the page level.\n }, []);\n\n const handleFirstFactorError = useCallback((_error: string) => {\n // Errors are displayed within each method component\n }, []);\n\n const hasSocialOAuth2Providers = enabledSocialOAuth2Providers.length > 0;\n const showIdentifyForm = !hasIdentification || !auth.identification?.userExists;\n const showPreIdentifyOAuth = hasSocialOAuth2Providers && showIdentifyForm;\n\n /*\n * The identifier step is the door to EVERY method reached by saying who you are, so it is offered\n * when ANY identify-reachable method is enabled — not when PASSWORD is (#1219). Gating it on the\n * password made a user type that signs in by magic link unable to sign in at all: the email address\n * is the one thing that sign-in needs, and the page hid the field that collects it.\n *\n * The password INPUT stays gated on the password, and by a stronger authority than this map: it is a\n * Phase-2 method component, rendered only for a method the identify RESPONSE returned for this\n * person. So nothing below has to re-decide it.\n *\n * `EXTERNAL_OAUTH2` counts only when a social provider actually resolves, mirroring\n * `_buildAvailableMethodObject`, which returns null for it when the application configures none.\n *\n * An UNRESOLVED policy offers the step. The identifier form is not an access control — the backend\n * decides what a person may use, and refuses on its own — so treating \"I do not know yet\" as\n * \"closed\" would lock the whole sign-in page over a config the page had not loaded, while\n * protecting nothing.\n */\n const identifyReachableMethods = useMemo(() => {\n const methods = getEnabledFirstFactorMethods(resolvedAuth.userTypeAuth?.authMethodsEnabled);\n if (!hasSocialOAuth2Providers) methods.delete(AuthMethod.EXTERNAL_OAUTH2);\n return methods;\n }, [hasSocialOAuth2Providers, resolvedAuth.userTypeAuth?.authMethodsEnabled]);\n const isIdentifierStepOffered = !resolvedAuth.userTypeAuth?.authMethodsEnabled || identifyReachableMethods.size > 0;\n\n const showDivider = showPreIdentifyOAuth && isIdentifierStepOffered;\n\n /*\n * Username-less passkey sign-in is offered before any email is typed, when the application enables\n * passkeys for this frontend's user type and the browser speaks WebAuthn. Not during re-authentication:\n * a re-proof must be the SAME person, and a discoverable ceremony lets the device pick any account.\n */\n // Read through the shared helper: `authMethodsEnabled` accepts both `true` and `{ enabled: true }`, and the\n // backend decides with the same helper, so the page must not offer less than the server accepts.\n const isPasskeySignInOffered = getEnabledMethods(resolvedAuth.userTypeAuth?.authMethodsEnabled).has(AuthMethod.PASSKEY)\n && auth.purpose !== AuthSessionPurpose.REAUTH\n && typeof window !== 'undefined'\n && !!window.PublicKeyCredential;\n /*\n * The page offers NO way in: no identifier step, no passkey button, no social provider (#1255).\n *\n * Without this it rendered the heading and subtitle and then nothing — the one alert below that\n * could speak is gated on `auth.error`, and with no form nothing can produce an error. The three\n * terms are exactly the three entry points rendered in the identify phase, so a passkey-only or\n * social-only type is not a dead end and gets no notice. An UNRESOLVED policy offers the identifier\n * step (see `isIdentifierStepOffered`), so this never flashes while the config is loading.\n */\n const offersNoEntryPoint = showIdentifyForm && !isIdentifierStepOffered && !isPasskeySignInOffered && !showPreIdentifyOAuth;\n /*\n * While a ceremony the person started with the button is open, autofill must not restart: starting a\n * WebAuthn request aborts the pending one, so a restart timed after the button would close the picker\n * the person is looking at. When the button ceremony ends — refused or cancelled; a success leaves the\n * page — `autofillEpoch` moves and the autofill effect starts a fresh wait.\n */\n const buttonCeremonyLiveRef = useRef(false);\n const [autofillEpoch, setAutofillEpoch] = useState(0);\n\n const handlePasskeySignInClick = useCallback(async () => {\n buttonCeremonyLiveRef.current = true;\n try {\n await signInWithPasskey(PasskeySignInMediation.MODAL);\n } catch {\n // Already reported: the context puts the user-facing message on `auth.error`, which the email\n // form renders. Caught here only so a refused ceremony is not an unhandled rejection.\n } finally {\n buttonCeremonyLiveRef.current = false;\n setAutofillEpoch((epoch) => epoch + 1);\n }\n }, [signInWithPasskey]);\n\n /*\n * Passkey AUTOFILL: while the email form is on screen, a conditional passkey request waits for the\n * person to pick a passkey from the email field's autofill list. It is cancelled when the form goes\n * away (an email was submitted, or sign-in completed), and a modal request started by the button\n * replaces it — the WebAuthn helper aborts the pending one itself.\n */\n /*\n * The latest `signInWithPasskey`, read through a ref so the autofill effect does NOT re-run when the\n * callback's identity changes. The effect's cleanup cancels the one global WebAuthn ceremony, so a\n * re-run triggered by an unrelated context re-render would cancel a ceremony the person started with\n * the button, and open a second session for nothing.\n */\n const signInWithPasskeyRef = useRef(signInWithPasskey);\n signInWithPasskeyRef.current = signInWithPasskey;\n\n useEffect(() => {\n if (!isReady || !showIdentifyForm || !isPasskeySignInOffered) return undefined;\n let cancelled = false;\n void (async () => {\n if (!(await browserSupportsWebAuthnAutofill())) return;\n const field = await waitForPasskeyAutofillField(PASSKEY_AUTOFILL_FIELD_WAIT_MS);\n // One waiting request at a time, restarted only when its challenge ran out. Anything else ends the\n // loop: the page moved on, the button began its own ceremony, or a picked passkey failed (already\n // reported on `auth.error`). An idle sign-in tab therefore costs one options call per sign-in window\n // (the `expiresInSeconds` the server answered), which is what the per-IP limit on the options door is\n // sized against.\n while (!cancelled) {\n try {\n await signInWithPasskeyRef.current(PasskeySignInMediation.CONDITIONAL);\n return;\n } catch (error) {\n if (!(error instanceof PasskeyAutofillExpiredError) || buttonCeremonyLiveRef.current) return;\n }\n }\n })();\n return () => {\n cancelled = true;\n WebAuthnAbortService.cancelCeremony();\n };\n }, [isReady, showIdentifyForm, isPasskeySignInOffered, autofillEpoch]);\n\n useEffect(() => {\n logDebug(\n `Render isReady=${isReady} accessToken=${auth.accessToken ? 'yes' : 'no'} authLoading=${auth.isLoading ? 'yes' : 'no'} identification=${hasIdentification ? 'yes' : 'no'} showIdentify=${showIdentifyForm ? 'yes' : 'no'} activeMethod=${currentActiveMethod ?? 'none'}`,\n );\n }, [isReady, auth.accessToken, auth.isLoading, hasIdentification, showIdentifyForm, currentActiveMethod]);\n\n // Parked at organization onboarding (#1090): the organization is the only step left, whatever this screen was doing.\n const organizationOnboardingTarget = organizationOnboardingNavigationTarget(auth, authRedirectTarget);\n if (organizationOnboardingTarget) {\n return <Navigate to={organizationOnboardingTarget} replace />;\n }\n\n if (auth.accessToken) {\n return <Navigate to={postAuthRedirect} replace />;\n }\n\n if (!isReady) return null;\n\n /*\n * ONE element owns the vertical rhythm of the screen. Every block used to bring its own margin, so\n * whichever pair nobody had thought about got none — the \"Forgot password?\" link sat flush against the\n * last alternative-method button (measured: 0px). The container spaces every adjacent pair, including\n * ones a future phase adds.\n *\n * `space-y-group` (block flow) and NOT `flex flex-col gap-group`, because of `LabeledDivider`'s own\n * `my-group`. In block flow the sibling margin and the divider's margin COLLAPSE, so an \"or\" divider\n * gets one group-step each side — the spacing it has on the registration and invitation screens, which\n * are block flow too. A flex gap does not collapse with margins and gave this screen twice that.\n */\n return (\n <div className=\"space-y-group\">\n <div className=\"text-center space-y-item-xs\">\n <Heading>\n {auth.purpose === AuthSessionPurpose.REAUTH\n ? t(UserAuthLabel.REAUTH_TITLE)\n : t(UserAuthLabel.TITLE)}\n </Heading>\n <Text className=\"max-w-sm mx-auto\">\n {auth.purpose === AuthSessionPurpose.REAUTH\n ? t(UserAuthLabel.REAUTH_SUB_TITLE)\n : t(UserAuthLabel.SUB_TITLE)}\n </Text>\n </div>\n\n {showPreIdentifyOAuth && (\n <OAuthProvidersSection\n providers={enabledSocialOAuth2Providers}\n onProviderClick={handleOAuth2Click}\n isLoading={auth.isLoading}\n continueWithLabel={t(UserAuthLabel.CONTINUE_WITH)}\n translate={translate}\n dividerLabel={t(UserAuthLabel.DIVIDER_OR)}\n showDivider={showDivider}\n />\n )}\n\n {!auth.error && redirectedAuthError && (\n <Alert variant=\"destructive\">\n <AlertDescription>{redirectedAuthError}</AlertDescription>\n </Alert>\n )}\n\n {/* Phase 1: Identification — email input before any method is shown */}\n {showIdentifyForm && isIdentifierStepOffered && (\n <AutomatedForm\n key=\"identify\"\n schema={AuthIdentifyFormDtoSchema}\n defaultValues={{ email: '' }}\n onSubmit={handleIdentify}\n validationMode={ValidationMode.ON_BLUR}\n disabled={auth.isLoading}\n labels={{\n fields: { email: t(UserAuthLabel.EMAIL_ADDRESS) },\n }}\n layoutTemplate={IdentifyFormTemplate}\n />\n )}\n\n {/* Phase 1b: Username-less passkey sign-in — the device offers the person's accounts */}\n {showIdentifyForm && isPasskeySignInOffered && (\n <>\n <LabeledDivider label={t(UserAuthLabel.DIVIDER_OR)} />\n <Button\n variant={ButtonVariants_Variant.OUTLINE}\n className=\"w-full\"\n labelOverflow={ButtonLabelOverflow.WRAP}\n onClick={handlePasskeySignInClick}\n disabled={auth.isLoading}\n data-passkey-sign-in=\"\"\n >\n <AuthMethodIcon method={AuthMethod.PASSKEY} />\n {t(UserAuthLabel.PASSKEY_SIGN_IN)}\n </Button>\n </>\n )}\n\n {/* Phase 2: After identification — render active first-factor method */}\n {currentActiveMethod && !showIdentifyForm && (() => {\n const MethodComponent = AUTH_METHOD_COMPONENTS[currentActiveMethod];\n if (!MethodComponent) return null;\n const methodConfig = availableFirstFactorMethods.find((m) => m.method === currentActiveMethod);\n if (!methodConfig) return null;\n\n const props: AuthMethodComponentProps = {\n sessionId,\n email,\n methodConfig,\n onSuccess: handleFirstFactorSuccess,\n onError: handleFirstFactorError,\n factorLevel: 'first',\n isLoading: auth.isLoading,\n t,\n authRedirectTarget,\n };\n\n return <MethodComponent {...props} />;\n })()}\n\n {/*\n The enforcement notice belongs with the alternatives, not with the method above: on its own an\n enforced method needs no explanation — it is simply how you sign in. What needs explaining is\n why a password field is sitting underneath one.\n */}\n {activeMethodIsOrganizationEnforced && alternativeMethods.length > 0 && !showIdentifyForm && (\n <Text>{t(UserAuthLabel.ORGANIZATION_ENFORCED_METHOD)}</Text>\n )}\n\n {/* Phase 3: Alternative methods — shown as buttons below the active method */}\n {alternativeMethods.length > 0 && !showIdentifyForm && (\n <>\n <LabeledDivider label={t(UserAuthLabel.OTHER_METHODS_DIVIDER)} />\n\n <AuthMethodChoiceList\n methods={alternativeMethods.map((method) => method.method as AuthMethod)}\n /*\n * Named by the PROVIDER where the descriptor names one — \"Continue with Google\", the same\n * words the pre-identify buttons and the active enterprise method already use. The\n * descriptor is looked up rather than passed through the list's props because the list is\n * shared with the second-factor and enrollment choosers, which have no descriptors; the\n * naming data belongs to this surface, not to the list.\n *\n * `find` by method is sound because `identify` emits at most ONE entry per method — a\n * method standing for several providers carries them in its own `oauth2ProviderRefs`,\n * which is exactly the case the resolver declines to name.\n */\n labelFor={(method) => resolveAuthMethodChoiceLabel(method, {\n offeredMethod: alternativeMethods.find((candidate) => candidate.method === method),\n socialProviders: enabledSocialOAuth2Providers,\n continueWithTemplate: t(UserAuthLabel.CONTINUE_WITH),\n translateLabel: (label) => t(label),\n resolveSocialProviderLabel: (provider) => resolveOAuthProviderDisplayLabel({\n providerRef: provider.providerRef,\n displayName: provider.displayName,\n displayNameLabelKey: provider.displayNameLabelKey,\n brandLabel: SSO_PROVIDER_BRAND_META[provider.providerRef]?.label,\n translate,\n }),\n })}\n onSelect={setActiveMethod}\n disabled={auth.isLoading}\n />\n </>\n )}\n\n {offersNoEntryPoint && (\n <Alert data-auth-no-entry-point=\"\">\n <AlertDescription>{t(UserAuthLabel.NO_SIGN_IN_METHOD_AVAILABLE)}</AlertDescription>\n </Alert>\n )}\n\n {/* No identifier form to carry it: the error has nowhere else to be read. */}\n {!isIdentifierStepOffered && !hasIdentification && auth.error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{auth.error}</AlertDescription>\n </Alert>\n )}\n\n {/*\n Navigation AWAY from this form (recover a password, create an account) is a different group\n from the actions above it, so it sits one extra group-step apart rather than at the plain gap.\n */}\n <div className=\"text-center space-y-item pt-group\">\n {/*\n Password recovery belongs to the PASSWORD step, and to no other (#1220).\n \n This used to render on `hasIdentification && userExists`, and `userExists` is hard-wired\n `true` on every identify response for enumeration safety — so it reduced to \"any address that\n has been typed\". It offered recovery to an account with no password at all, and to a domain\n routed to its own identity provider, where the link leads somewhere the person's credential\n does not live. It also sat in a sibling element outside the method-render block, so no branch\n could have conditioned it on the active method.\n \n Gated on the ACTIVE method rather than on `PASSWORD` merely being offered: someone who has\n switched to a passkey is not looking at a password field, and recovery beside it is an answer\n to a question they did not ask.\n */}\n {currentActiveMethod === AuthMethod.PASSWORD && !showIdentifyForm && (\n <Text>\n <Link href={passwordLostHref}>{t(UserAuthLabel.FORGOT_PASSWORD)}</Link>\n </Text>\n )}\n\n {auth.purpose !== AuthSessionPurpose.REAUTH\n && resolvedAuth.registrationConfig.publicRegistrationAvailable && (\n <Text>\n {t(UserAuthLabel.NO_ACCOUNT)}{' '}\n <Link href={registerHref}>{t(UserAuthLabel.SIGNUP_LINK)}</Link>\n </Text>\n )}\n </div>\n </div>\n );\n};\n\nexport function Auth_Main({ preset = CorePresetNames.DEFAULT, ...props }: PublicLayoutPreset_UserAuth_DefaultProps & ComponentPresetProps): React.JSX.Element {\n const Component = createComponentResolver<PublicLayoutPreset_UserAuth_DefaultProps>(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, 'Auth_Main')(preset);\n logDebug(`Resolve wrapper preset=${preset} component=${Component.displayName ?? Component.name ?? 'anonymous'}`);\n return <Component {...props} />;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Auth_Main.js","sourceRoot":"","sources":["../../../../../src/components/auth/Auth_Main.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useMemo, useState, useCallback, useEffect, useRef } from 'react';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport { FrontendComponentType, UserAuthLabel } from '@wildo-ai/presets-components-models';\nimport { ValidationMode } from '@wildo-ai/zod-decorators';\nimport {\n AuthMethod,\n AuthSessionPurpose,\n getEnabledFirstFactorMethods,\n getEnabledMethods,\n AuthIdentifyFormDtoSchema,\n type AuthIdentifyFormDto,\n type AvailableMethod,\n type AuthenticationResponse,\n} from '@wildo-ai/saas-models';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAuthSession } from '~wildo-frontend-lib/core/security/useAuthSession';\nimport { PasskeyAutofillExpiredError, PasskeySignInMediation } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { browserSupportsWebAuthnAutofill, WebAuthnAbortService } from '@simplewebauthn/browser';\nimport { organizationOnboardingNavigationTarget } from '~wildo-frontend-lib/core/security/organization-onboarding.frontend.utils';\nimport { useResolvedAuthConfig } from '~wildo-frontend-lib/core/security/useResolvedAuthConfig';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { AutomatedForm } from '~wildo-frontend-lib/components/form/automated/AutomatedForm';\nimport { Button, ButtonLabelOverflow, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { FormLayout } from '~wildo-frontend-lib/components/resources/skeleton/FormLayout';\nimport { FormField } from '~wildo-frontend-lib/components/form/automated/FormField';\nimport { SubmitButton } from '~wildo-frontend-lib/components/resources/skeleton/SubmitButton';\nimport { Heading } from '~wildo-frontend-lib/components/typography/heading';\nimport { Text } from '~wildo-frontend-lib/components/typography/text';\nimport { Link } from '~wildo-frontend-lib/components/typography/link';\nimport { Alert, AlertDescription } from '~wildo-frontend-lib/components/overlays/containers/alert';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n appendAuthRedirectToPath,\n extractAuthRedirectFromSearch,\n resolvePostAuthRedirect,\n} from '~wildo-frontend-lib/core/security/auth-redirect.frontend.utils';\nimport { collectFrontendProviderDisplayLabelKeys } from '~wildo-frontend-lib/core/external-providers/frontend-provider-display-label.frontend.utils';\nimport { resolveOAuthProviderDisplayLabel, resolvePublicOAuthProviderEntries } from '~wildo-frontend-lib/components/auth/utils/oauth-provider-display-label.frontend.utils';\n\nimport { OAuthProvidersSection, SSO_PROVIDER_BRAND_META } from '~wildo-frontend-lib/components/auth/utils/OAuthProvidersSection';\nimport { useMfaContinuationNavigation } from '~wildo-frontend-lib/components/auth/utils/useMfaContinuationNavigation';\nimport { LabeledDivider } from '~wildo-frontend-lib/components/auth/utils/LabeledDivider';\nimport { AUTH_METHOD_COMPONENTS, type AuthMethodComponentProps } from '~wildo-frontend-lib/components/auth/methods/auth-method-components';\nimport { resolveAuthMethodChoiceLabel } from '~wildo-frontend-lib/components/auth/methods/auth-method-presentation';\nimport { AuthMethodChoiceList } from '~wildo-frontend-lib/components/auth/utils/AuthMethodChoiceList';\nimport { AuthMethodIcon } from '~wildo-frontend-lib/components/auth/utils/AuthMethodIcon';\n\nimport { ComponentPresetProps } from '~wildo-frontend-lib/core/components-registry/component-registry.frontend.schemas'\nimport { createComponentResolver } from '~wildo-frontend-lib/core/components-registry/component-resolver.frontend.helper'\nimport { CorePresetNames } from '@wildo-ai/presets-components-models'\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('Auth_Main');\nlogger.setDebugTypeLogging('Auth_Main', false);\n\n/**\n * Self-sufficient template for the email identification form.\n * Reads auth error from `useUserOrgs()`, labels from `useI18n()`.\n */\nconst IdentifyFormTemplate: React.FC = () => {\n const { auth } = useUserOrgs();\n const { tComponent, isReady } = useI18n({\n component: FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH,\n });\n const t = (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, key);\n\n if (!isReady) return null;\n\n return (\n <FormLayout>\n <FormField name=\"email\" />\n\n {auth.error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{auth.error}</AlertDescription>\n </Alert>\n )}\n\n <SubmitButton\n label={t(UserAuthLabel.CONTINUE)}\n submittingLabel=\"…\"\n fullWidth\n />\n </FormLayout>\n );\n};\n\n/**\n * Resolve once the sign-in email field carrying the `webauthn` autocomplete token is in the document.\n *\n * Passkey autofill must start AFTER that input exists: the browser attaches its passkey list to it, and\n * the WebAuthn helper refuses to start a conditional request without one. The form renders\n * asynchronously (it waits for its labels), so this polls one frame at a time, bounded, and answers\n * `null` if the field never appears — autofill is then simply not offered.\n */\nfunction waitForPasskeyAutofillField(timeoutMs: number): Promise<Element | null> {\n const selector = 'input[autocomplete~=\"webauthn\"]';\n return new Promise((resolve) => {\n const deadline = Date.now() + timeoutMs;\n const probe = () => {\n const field = document.querySelector(selector);\n if (field || Date.now() >= deadline) {\n resolve(field);\n return;\n }\n requestAnimationFrame(probe);\n };\n probe();\n });\n}\n\n/** How long the page waits for the email field before giving up on offering passkey autofill. */\nconst PASSKEY_AUTOFILL_FIELD_WAIT_MS = 3000;\n\n// --- Contract ---\nexport interface PublicLayoutPreset_UserAuth_DefaultProps {\n}\n\nexport const PublicLayoutPreset_UserAuth_Default = ({}: PublicLayoutPreset_UserAuth_DefaultProps): React.JSX.Element => {\n const { auth, identifyByEmail, initiateOAuth2Login } = useUserOrgs();\n const { signInWithPasskey } = useAuthSession();\n const resolvedAuth = useResolvedAuthConfig();\n const location = useLocation();\n const enabledSocialOAuth2Providers = useMemo(() => {\n return resolvePublicOAuthProviderEntries({\n publicProviders: resolvedAuth.globalAuth?.socialOAuth2Providers,\n });\n }, [resolvedAuth.globalAuth?.socialOAuth2Providers]);\n const socialOAuth2ProviderLabelKeys = useMemo(() => {\n return collectFrontendProviderDisplayLabelKeys(\n enabledSocialOAuth2Providers.map((provider) => provider.displayNameLabelKey),\n );\n }, [enabledSocialOAuth2Providers]);\n const { t: translate, tComponent, isReady } = useI18n({\n component: FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH,\n keys: socialOAuth2ProviderLabelKeys,\n });\n\n const t = (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, key);\n const publicRoutes = CommonRoutePaths;\n const postAuthRedirect = useMemo(\n () => resolvePostAuthRedirect(location.search),\n [location.search],\n );\n const authRedirectTarget = useMemo(\n () => extractAuthRedirectFromSearch(location.search),\n [location.search],\n );\n const redirectedAuthError = useMemo(() => {\n const searchParams = new URLSearchParams(location.search);\n return searchParams.get('reason') ?? searchParams.get('error');\n }, [location.search]);\n const passwordLostHref = useMemo(\n () => appendAuthRedirectToPath(publicRoutes.passwordLost, authRedirectTarget),\n [authRedirectTarget, publicRoutes.passwordLost],\n );\n const registerHref = useMemo(\n () => appendAuthRedirectToPath(publicRoutes.register, authRedirectTarget),\n [authRedirectTarget, publicRoutes.register],\n );\n\n const [activeMethod, setActiveMethod] = useState<AuthMethod | null>(null);\n\n // Shared with the registration screen (#972), so a session owing a second factor is routed one way.\n useMfaContinuationNavigation({\n mfaRequired: auth.mfaRequired,\n mfaSessionId: auth.mfaSessionId,\n usableSecondFactorMethods: auth.usableSecondFactorMethods,\n email: auth.identification?.email,\n authRedirectTarget,\n });\n\n const hasIdentification = !!auth.identification;\n const sessionId = auth.identification?.sessionId || '';\n const email = auth.identification?.email || '';\n\n const availableFirstFactorMethods: AvailableMethod[] = useMemo(() => {\n if (!hasIdentification || !auth.identification?.userExists) return [];\n const methods = auth.identification?.firstFactorMethods || [];\n // Rendered in the order the server sent (#1218). The backend orders by `AUTH_METHOD_PRECEDENCE` and computes\n // `defaultFirstFactorMethod` as the head of that same list, so re-sorting here would put a different method first\n // from the one the server named as the default — which is exactly what it used to do for an SSO-routed domain.\n return methods.filter((m) => AUTH_METHOD_COMPONENTS[m.method as AuthMethod]);\n }, [hasIdentification, auth.identification]);\n\n const defaultMethod = useMemo(() => {\n if (availableFirstFactorMethods.length === 0) return null;\n const defaultFromBackend = auth.identification?.defaultFirstFactorMethod as AuthMethod | undefined;\n if (defaultFromBackend && AUTH_METHOD_COMPONENTS[defaultFromBackend]) return defaultFromBackend;\n return availableFirstFactorMethods[0].method as AuthMethod;\n }, [availableFirstFactorMethods, auth.identification?.defaultFirstFactorMethod]);\n\n const currentActiveMethod = activeMethod || defaultMethod;\n const alternativeMethods = availableFirstFactorMethods.filter(\n (m) => m.method !== currentActiveMethod\n );\n\n /*\n * Does the person's organization REQUIRE the method currently shown? (#1220)\n *\n * `enforcedFirstFactor` is set by the backend only where an enterprise connection declares\n * `enforcement.requireSSO`. Until #1220 this arrived as a `required` boolean that NOTHING here read\n * — a claim on the wire that no surface checked — and it could not safely be read, because the same\n * field was also set on any method that can serve as a second factor whenever the user type demands\n * MFA. Consuming that would have announced a passkey as a mandatory first factor.\n *\n * Read on the ACTIVE method rather than on the list, because the notice explains the thing the\n * person is looking at. The interesting case is the one where alternatives exist beside it: a tenant\n * that allows a password fallback, or that names break-glass accounts and therefore keeps the\n * password field for EVERY address at the domain so the list cannot be read as an oracle for who\n * those accounts are. There the two methods look like peers and are not.\n */\n const activeMethodIsOrganizationEnforced = availableFirstFactorMethods.some(\n (m) => m.method === currentActiveMethod && m.enforcedFirstFactor,\n );\n\n const handleOAuth2Click = async (providerRef: string) => {\n try {\n await initiateOAuth2Login(providerRef, authRedirectTarget);\n } catch {\n // Error is already handled in AuthSessionContext\n }\n };\n\n const handleIdentify = async (data: AuthIdentifyFormDto) => {\n await identifyByEmail(data.email);\n };\n\n const handleFirstFactorSuccess = useCallback((_response: AuthenticationResponse) => {\n // Token storage and MFA redirect are handled by AuthSessionContext\n // and the authenticateWithPassword flow respectively.\n // Nothing to do here — the auth state update triggers re-renders\n // and the MFA redirect is handled at the page level.\n }, []);\n\n const handleFirstFactorError = useCallback((_error: string) => {\n // Errors are displayed within each method component\n }, []);\n\n const hasSocialOAuth2Providers = enabledSocialOAuth2Providers.length > 0;\n const showIdentifyForm = !hasIdentification || !auth.identification?.userExists;\n const showPreIdentifyOAuth = hasSocialOAuth2Providers && showIdentifyForm;\n\n /*\n * The identifier step is the door to EVERY method reached by saying who you are, so it is offered\n * when ANY identify-reachable method is enabled — not when PASSWORD is (#1219). Gating it on the\n * password made a user type that signs in by magic link unable to sign in at all: the email address\n * is the one thing that sign-in needs, and the page hid the field that collects it.\n *\n * The password INPUT stays gated on the password, and by a stronger authority than this map: it is a\n * Phase-2 method component, rendered only for a method the identify RESPONSE returned for this\n * person. So nothing below has to re-decide it.\n *\n * `EXTERNAL_OAUTH2` counts only when a social provider actually resolves, mirroring\n * `_buildAvailableMethodObject`, which returns null for it when the application configures none.\n *\n * An UNRESOLVED policy offers the step. The identifier form is not an access control — the backend\n * decides what a person may use, and refuses on its own — so treating \"I do not know yet\" as\n * \"closed\" would lock the whole sign-in page over a config the page had not loaded, while\n * protecting nothing.\n */\n const identifyReachableMethods = useMemo(() => {\n const methods = getEnabledFirstFactorMethods(resolvedAuth.userTypeAuth?.authMethodsEnabled);\n if (!hasSocialOAuth2Providers) methods.delete(AuthMethod.EXTERNAL_OAUTH2);\n return methods;\n }, [hasSocialOAuth2Providers, resolvedAuth.userTypeAuth?.authMethodsEnabled]);\n const isIdentifierStepOffered = !resolvedAuth.userTypeAuth?.authMethodsEnabled || identifyReachableMethods.size > 0;\n\n const showDivider = showPreIdentifyOAuth && isIdentifierStepOffered;\n\n /*\n * Username-less passkey sign-in is offered before any email is typed, when the application enables\n * passkeys for this frontend's user type and the browser speaks WebAuthn. Not during re-authentication:\n * a re-proof must be the SAME person, and a discoverable ceremony lets the device pick any account.\n */\n // Read through the shared helper: `authMethodsEnabled` accepts both `true` and `{ enabled: true }`, and the\n // backend decides with the same helper, so the page must not offer less than the server accepts.\n const isPasskeySignInOffered = getEnabledMethods(resolvedAuth.userTypeAuth?.authMethodsEnabled).has(AuthMethod.PASSKEY)\n && auth.purpose !== AuthSessionPurpose.REAUTH\n && typeof window !== 'undefined'\n && !!window.PublicKeyCredential;\n /*\n * The page offers NO way in: no identifier step, no passkey button, no social provider (#1255).\n *\n * Without this it rendered the heading and subtitle and then nothing — the one alert below that\n * could speak is gated on `auth.error`, and with no form nothing can produce an error. The three\n * terms are exactly the three entry points rendered in the identify phase, so a passkey-only or\n * social-only type is not a dead end and gets no notice. An UNRESOLVED policy offers the identifier\n * step (see `isIdentifierStepOffered`), so this never flashes while the config is loading.\n */\n const offersNoEntryPoint = showIdentifyForm && !isIdentifierStepOffered && !isPasskeySignInOffered && !showPreIdentifyOAuth;\n /*\n * While a ceremony the person started with the button is open, autofill must not restart: starting a\n * WebAuthn request aborts the pending one, so a restart timed after the button would close the picker\n * the person is looking at. When the button ceremony ends — refused or cancelled; a success leaves the\n * page — `autofillEpoch` moves and the autofill effect starts a fresh wait.\n */\n const buttonCeremonyLiveRef = useRef(false);\n const [autofillEpoch, setAutofillEpoch] = useState(0);\n\n const handlePasskeySignInClick = useCallback(async () => {\n buttonCeremonyLiveRef.current = true;\n try {\n await signInWithPasskey(PasskeySignInMediation.MODAL);\n } catch {\n // Already reported: the context puts the user-facing message on `auth.error`, which the email\n // form renders. Caught here only so a refused ceremony is not an unhandled rejection.\n } finally {\n buttonCeremonyLiveRef.current = false;\n setAutofillEpoch((epoch) => epoch + 1);\n }\n }, [signInWithPasskey]);\n\n /*\n * Passkey AUTOFILL: while the email form is on screen, a conditional passkey request waits for the\n * person to pick a passkey from the email field's autofill list. It is cancelled when the form goes\n * away (an email was submitted, or sign-in completed), and a modal request started by the button\n * replaces it — the WebAuthn helper aborts the pending one itself.\n */\n /*\n * The latest `signInWithPasskey`, read through a ref so the autofill effect does NOT re-run when the\n * callback's identity changes. The effect's cleanup cancels the one global WebAuthn ceremony, so a\n * re-run triggered by an unrelated context re-render would cancel a ceremony the person started with\n * the button, and open a second session for nothing.\n */\n const signInWithPasskeyRef = useRef(signInWithPasskey);\n signInWithPasskeyRef.current = signInWithPasskey;\n\n useEffect(() => {\n if (!isReady || !showIdentifyForm || !isPasskeySignInOffered) return undefined;\n let cancelled = false;\n void (async () => {\n if (!(await browserSupportsWebAuthnAutofill())) return;\n const field = await waitForPasskeyAutofillField(PASSKEY_AUTOFILL_FIELD_WAIT_MS);\n // One waiting request at a time, restarted only when its challenge ran out. Anything else ends the\n // loop: the page moved on, the button began its own ceremony, or a picked passkey failed (already\n // reported on `auth.error`). An idle sign-in tab therefore costs one options call per sign-in window\n // (the `expiresInSeconds` the server answered), which is what the per-IP limit on the options door is\n // sized against.\n while (!cancelled) {\n try {\n await signInWithPasskeyRef.current(PasskeySignInMediation.CONDITIONAL);\n return;\n } catch (error) {\n if (!(error instanceof PasskeyAutofillExpiredError) || buttonCeremonyLiveRef.current) return;\n }\n }\n })();\n return () => {\n cancelled = true;\n WebAuthnAbortService.cancelCeremony();\n };\n }, [isReady, showIdentifyForm, isPasskeySignInOffered, autofillEpoch]);\n\n useEffect(() => {\n logDebug(\n `Render isReady=${isReady} accessToken=${auth.accessToken ? 'yes' : 'no'} authLoading=${auth.isLoading ? 'yes' : 'no'} identification=${hasIdentification ? 'yes' : 'no'} showIdentify=${showIdentifyForm ? 'yes' : 'no'} activeMethod=${currentActiveMethod ?? 'none'}`,\n );\n }, [isReady, auth.accessToken, auth.isLoading, hasIdentification, showIdentifyForm, currentActiveMethod]);\n\n // Parked at organization onboarding (#1090): the organization is the only step left, whatever this screen was doing.\n const organizationOnboardingTarget = organizationOnboardingNavigationTarget(auth, authRedirectTarget);\n if (organizationOnboardingTarget) {\n return <Navigate to={organizationOnboardingTarget} replace />;\n }\n\n if (auth.accessToken) {\n return <Navigate to={postAuthRedirect} replace />;\n }\n\n if (!isReady) return null;\n\n /*\n * ONE element owns the vertical rhythm of the screen. Every block used to bring its own margin, so\n * whichever pair nobody had thought about got none — the \"Forgot password?\" link sat flush against the\n * last alternative-method button (measured: 0px). The container spaces every adjacent pair, including\n * ones a future phase adds.\n *\n * `space-y-group` (block flow) and NOT `flex flex-col gap-group`, because of `LabeledDivider`'s own\n * `my-group`. In block flow the sibling margin and the divider's margin COLLAPSE, so an \"or\" divider\n * gets one group-step each side — the spacing it has on the registration and invitation screens, which\n * are block flow too. A flex gap does not collapse with margins and gave this screen twice that.\n */\n return (\n <div className=\"space-y-group\">\n <div className=\"text-center space-y-item-xs\">\n <Heading>\n {auth.purpose === AuthSessionPurpose.REAUTH\n ? t(UserAuthLabel.REAUTH_TITLE)\n : t(UserAuthLabel.TITLE)}\n </Heading>\n <Text className=\"max-w-sm mx-auto\">\n {auth.purpose === AuthSessionPurpose.REAUTH\n ? t(UserAuthLabel.REAUTH_SUB_TITLE)\n : t(UserAuthLabel.SUB_TITLE)}\n </Text>\n </div>\n\n {showPreIdentifyOAuth && (\n <OAuthProvidersSection\n providers={enabledSocialOAuth2Providers}\n onProviderClick={handleOAuth2Click}\n isLoading={auth.isLoading}\n continueWithLabel={t(UserAuthLabel.CONTINUE_WITH)}\n translate={translate}\n dividerLabel={t(UserAuthLabel.DIVIDER_OR)}\n showDivider={showDivider}\n />\n )}\n\n {!auth.error && redirectedAuthError && (\n <Alert variant=\"destructive\">\n <AlertDescription>{redirectedAuthError}</AlertDescription>\n </Alert>\n )}\n\n {/* Phase 1: Identification — email input before any method is shown */}\n {showIdentifyForm && isIdentifierStepOffered && (\n <AutomatedForm\n key=\"identify\"\n schema={AuthIdentifyFormDtoSchema}\n defaultValues={{ email: '' }}\n onSubmit={handleIdentify}\n validationMode={ValidationMode.ON_BLUR}\n disabled={auth.isLoading}\n labels={{\n fields: { email: t(UserAuthLabel.EMAIL_ADDRESS) },\n }}\n layoutTemplate={IdentifyFormTemplate}\n />\n )}\n\n {/* Phase 1b: Username-less passkey sign-in — the device offers the person's accounts */}\n {showIdentifyForm && isPasskeySignInOffered && (\n <>\n <LabeledDivider label={t(UserAuthLabel.DIVIDER_OR)} />\n <Button\n variant={ButtonVariants_Variant.OUTLINE}\n className=\"w-full\"\n labelOverflow={ButtonLabelOverflow.WRAP}\n onClick={handlePasskeySignInClick}\n disabled={auth.isLoading}\n data-passkey-sign-in=\"\"\n >\n <AuthMethodIcon method={AuthMethod.PASSKEY} />\n {t(UserAuthLabel.PASSKEY_SIGN_IN)}\n </Button>\n </>\n )}\n\n {/* Phase 2: After identification — render active first-factor method */}\n {currentActiveMethod && !showIdentifyForm && (() => {\n const MethodComponent = AUTH_METHOD_COMPONENTS[currentActiveMethod];\n if (!MethodComponent) return null;\n const methodConfig = availableFirstFactorMethods.find((m) => m.method === currentActiveMethod);\n if (!methodConfig) return null;\n\n const props: AuthMethodComponentProps = {\n sessionId,\n email,\n methodConfig,\n onSuccess: handleFirstFactorSuccess,\n onError: handleFirstFactorError,\n factorLevel: 'first',\n isLoading: auth.isLoading,\n t,\n authRedirectTarget,\n };\n\n return <MethodComponent {...props} />;\n })()}\n\n {/*\n The enforcement notice belongs with the alternatives, not with the method above: on its own an\n enforced method needs no explanation — it is simply how you sign in. What needs explaining is\n why a password field is sitting underneath one.\n */}\n {activeMethodIsOrganizationEnforced && alternativeMethods.length > 0 && !showIdentifyForm && (\n <Text>{t(UserAuthLabel.ORGANIZATION_ENFORCED_METHOD)}</Text>\n )}\n\n {/* Phase 3: Alternative methods — shown as buttons below the active method */}\n {alternativeMethods.length > 0 && !showIdentifyForm && (\n <>\n <LabeledDivider label={t(UserAuthLabel.OTHER_METHODS_DIVIDER)} />\n\n <AuthMethodChoiceList\n methods={alternativeMethods.map((method) => method.method as AuthMethod)}\n /*\n * Named by the PROVIDER where the descriptor names one — \"Continue with Google\", the same\n * words the pre-identify buttons and the active enterprise method already use. The\n * descriptor is looked up rather than passed through the list's props because the list is\n * shared with the second-factor and enrollment choosers, which have no descriptors; the\n * naming data belongs to this surface, not to the list.\n *\n * `find` by method is sound because `identify` emits at most ONE entry per method — a\n * method standing for several providers carries them in its own `oauth2ProviderRefs`,\n * which is exactly the case the resolver declines to name.\n */\n labelFor={(method) => resolveAuthMethodChoiceLabel(method, {\n offeredMethod: alternativeMethods.find((candidate) => candidate.method === method),\n socialProviders: enabledSocialOAuth2Providers,\n continueWithTemplate: t(UserAuthLabel.CONTINUE_WITH),\n translateLabel: (label) => t(label),\n resolveSocialProviderLabel: (provider) => resolveOAuthProviderDisplayLabel({\n providerRef: provider.providerRef,\n displayName: provider.displayName,\n displayNameLabelKey: provider.displayNameLabelKey,\n brandLabel: SSO_PROVIDER_BRAND_META[provider.providerRef]?.label,\n translate,\n }),\n })}\n onSelect={setActiveMethod}\n disabled={auth.isLoading}\n />\n </>\n )}\n\n {offersNoEntryPoint && (\n <Alert data-auth-no-entry-point=\"\">\n <AlertDescription>{t(UserAuthLabel.NO_SIGN_IN_METHOD_AVAILABLE)}</AlertDescription>\n </Alert>\n )}\n\n {/* No identifier form to carry it: the error has nowhere else to be read. */}\n {!isIdentifierStepOffered && !hasIdentification && auth.error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{auth.error}</AlertDescription>\n </Alert>\n )}\n\n {/*\n Navigation AWAY from this form (recover a password, create an account) is a different group\n from the actions above it, so it sits one extra group-step apart rather than at the plain gap.\n */}\n <div className=\"text-center space-y-item pt-group\">\n {/*\n Password recovery belongs to the PASSWORD step, and to no other (#1220).\n \n This used to render on `hasIdentification && userExists`, and `userExists` is hard-wired\n `true` on every identify response for enumeration safety — so it reduced to \"any address that\n has been typed\". It offered recovery to an account with no password at all, and to a domain\n routed to its own identity provider, where the link leads somewhere the person's credential\n does not live. It also sat in a sibling element outside the method-render block, so no branch\n could have conditioned it on the active method.\n \n Gated on the ACTIVE method rather than on `PASSWORD` merely being offered: someone who has\n switched to a passkey is not looking at a password field, and recovery beside it is an answer\n to a question they did not ask.\n */}\n {currentActiveMethod === AuthMethod.PASSWORD && !showIdentifyForm && (\n <Text>\n <Link href={passwordLostHref}>{t(UserAuthLabel.FORGOT_PASSWORD)}</Link>\n </Text>\n )}\n\n {auth.purpose !== AuthSessionPurpose.REAUTH\n && resolvedAuth.registrationConfig.publicRegistrationAvailable && (\n <Text>\n {t(UserAuthLabel.NO_ACCOUNT)}{' '}\n <Link href={registerHref}>{t(UserAuthLabel.SIGNUP_LINK)}</Link>\n </Text>\n )}\n </div>\n </div>\n );\n};\n\nexport function Auth_Main({ preset = CorePresetNames.DEFAULT, ...props }: PublicLayoutPreset_UserAuth_DefaultProps & ComponentPresetProps): React.JSX.Element {\n const Component = createComponentResolver<PublicLayoutPreset_UserAuth_DefaultProps>(FrontendComponentType.PUBLIC_LAYOUTS_USER_AUTH, 'Auth_Main')(preset);\n logDebug(`Resolve wrapper preset=${preset} component=${Component.displayName ?? Component.name ?? 'anonymous'}`);\n return <Component {...props} />;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth_Register.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/Auth_Register.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAmDjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AA4JxH,MAAM,WAAW,4CAA4C;CAC5D;AAED,eAAO,MAAM,uCAAuC,GAAI,IAAI,4CAA4C,KAAG,KAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Auth_Register.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/Auth_Register.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAmDjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AA4JxH,MAAM,WAAW,4CAA4C;CAC5D;AAED,eAAO,MAAM,uCAAuC,GAAI,IAAI,4CAA4C,KAAG,KAAK,CAAC,GAAG,CAAC,OAqqBpH,CAAC;AAyCF,wBAAgB,aAAa,CAAC,EAAE,MAAgC,EAAE,GAAG,KAAK,EAAE,EAAE,4CAA4C,GAAG,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoBpK"}
|
|
@@ -105,7 +105,7 @@ export const PublicLayoutPreset_UserRegister_Default = ({}) => {
|
|
|
105
105
|
const { auth, initiateOAuth2Login } = useUserOrgs();
|
|
106
106
|
const { registerAccount } = useAuthSession();
|
|
107
107
|
const toUserFacingErrorMessage = useUserFacingErrorMessage();
|
|
108
|
-
const { appConfig
|
|
108
|
+
const { appConfig } = useApplication();
|
|
109
109
|
const [governedDocumentsAccepted, setGovernedDocumentsAccepted] = useState(false);
|
|
110
110
|
/*
|
|
111
111
|
* The reading EVIDENCE lives here, beside the act, and not inside the form — `AutomatedForm` is
|
|
@@ -226,10 +226,8 @@ export const PublicLayoutPreset_UserRegister_Default = ({}) => {
|
|
|
226
226
|
}
|
|
227
227
|
return resolvePublicOAuthProviderEntries({
|
|
228
228
|
publicProviders: resolvedAuth.globalAuth?.socialOAuth2Providers,
|
|
229
|
-
frontendProviderRegistry,
|
|
230
229
|
});
|
|
231
230
|
}, [
|
|
232
|
-
frontendProviderRegistry,
|
|
233
231
|
resolvedAuth.globalAuth?.socialOAuth2Providers,
|
|
234
232
|
resolvedAuth.registrationConfig.allowedMethods,
|
|
235
233
|
]);
|