@dnb/eufemia 10.51.2 → 10.52.0
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/CHANGELOG.md +44 -0
- package/cjs/components/autocomplete/Autocomplete.js +4 -0
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
- package/cjs/components/form-status/FormStatus.d.ts +5 -0
- package/cjs/components/icon/Icon.d.ts +2 -1
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.d.ts +14 -0
- package/cjs/components/number-format/NumberUtils.js +7 -8
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.css +3 -1
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.scss +4 -2
- package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
- package/cjs/extensions/forms/DataContext/Context.d.ts +5 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +86 -77
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +112 -23
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +25 -0
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +26 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.js +45 -0
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js +12 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js +17 -0
- package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Snapshot/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Snapshot/index.js +27 -0
- package/cjs/extensions/forms/Form/Snapshot/index.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +26 -14
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/clearData.js +2 -5
- package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +3 -2
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/index.js +14 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +30 -17
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
- package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js +33 -0
- package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/ItemNo/index.js +27 -0
- package/cjs/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/index.js +7 -0
- package/cjs/extensions/forms/Iterate/index.js.map +1 -1
- package/cjs/extensions/forms/Tools/Log.d.ts +7 -2
- package/cjs/extensions/forms/Tools/Log.js +36 -4
- package/cjs/extensions/forms/Tools/Log.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -7
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +11 -6
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +4 -4
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +4 -4
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +6 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +9 -4
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +6 -1
- package/cjs/extensions/forms/constants/locales/en-US.js +2 -1
- package/cjs/extensions/forms/constants/locales/en-US.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +12 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +9 -4
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataContext.d.ts +6 -0
- package/cjs/extensions/forms/hooks/useDataContext.js +31 -0
- package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -0
- package/cjs/extensions/forms/hooks/useExternalValue.js +12 -6
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +82 -43
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useSnapshot.d.ts +9 -0
- package/cjs/extensions/forms/hooks/useSnapshot.js +87 -0
- package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -0
- package/cjs/extensions/forms/hooks/useValueProps.js +6 -1
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/types.d.ts +4 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +3 -1
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +3 -2
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/properties.d.ts +1 -0
- package/cjs/style/themes/theme-eiendom/properties.js +3 -2
- package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.d.ts +1 -0
- package/cjs/style/themes/theme-sbanken/properties.js +3 -2
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +9 -8
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/properties.d.ts +1 -0
- package/cjs/style/themes/theme-ui/properties.js +3 -2
- package/cjs/style/themes/theme-ui/properties.js.map +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +3 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/components/autocomplete/Autocomplete.js +4 -0
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
- package/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
- package/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
- package/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
- package/components/form-status/FormStatus.d.ts +5 -0
- package/components/icon/Icon.d.ts +2 -1
- package/components/icon/Icon.js.map +1 -1
- package/components/logo/Logo.js.map +1 -1
- package/components/number-format/NumberUtils.d.ts +14 -0
- package/components/number-format/NumberUtils.js +7 -8
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/skeleton/style/dnb-skeleton.css +3 -1
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/skeleton/style/dnb-skeleton.scss +4 -2
- package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
- package/es/components/autocomplete/Autocomplete.js +4 -0
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
- package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
- package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
- package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
- package/es/components/form-status/FormStatus.d.ts +5 -0
- package/es/components/icon/Icon.d.ts +2 -1
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/number-format/NumberUtils.d.ts +14 -0
- package/es/components/number-format/NumberUtils.js +7 -8
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/skeleton/style/dnb-skeleton.css +3 -1
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/skeleton/style/dnb-skeleton.scss +4 -2
- package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
- package/es/extensions/forms/DataContext/Context.d.ts +5 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +84 -75
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
- package/es/extensions/forms/Form/Isolation/Isolation.js +28 -3
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
- package/es/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
- package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
- package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
- package/es/extensions/forms/Form/Snapshot/index.d.ts +2 -0
- package/es/extensions/forms/Form/Snapshot/index.js +3 -0
- package/es/extensions/forms/Form/Snapshot/index.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +26 -14
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/clearData.js +2 -5
- package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +1 -0
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +2 -0
- package/es/extensions/forms/Form/index.js +2 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +3 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
- package/es/extensions/forms/Iterate/ItemNo/ItemNo.js +22 -0
- package/es/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
- package/es/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/ItemNo/index.js +3 -0
- package/es/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
- package/es/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
- package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +43 -16
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/index.d.ts +1 -0
- package/es/extensions/forms/Iterate/index.js +1 -0
- package/es/extensions/forms/Iterate/index.js.map +1 -1
- package/es/extensions/forms/Tools/Log.d.ts +7 -2
- package/es/extensions/forms/Tools/Log.js +26 -3
- package/es/extensions/forms/Tools/Log.js.map +1 -1
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
- package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/es/extensions/forms/Value/ValueDocs.js +5 -0
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +67 -23
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +4 -4
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +4 -4
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +6 -1
- package/es/extensions/forms/constants/locales/en-GB.js +9 -4
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +6 -1
- package/es/extensions/forms/constants/locales/en-US.js +2 -1
- package/es/extensions/forms/constants/locales/en-US.js.map +1 -1
- package/es/extensions/forms/constants/locales/index.d.ts +12 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +9 -4
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataContext.d.ts +6 -0
- package/es/extensions/forms/hooks/useDataContext.js +24 -0
- package/es/extensions/forms/hooks/useDataContext.js.map +1 -0
- package/es/extensions/forms/hooks/useExternalValue.js +12 -6
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +83 -44
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useSnapshot.d.ts +9 -0
- package/es/extensions/forms/hooks/useSnapshot.js +73 -0
- package/es/extensions/forms/hooks/useSnapshot.js.map +1 -0
- package/es/extensions/forms/hooks/useValueProps.js +6 -1
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/types.d.ts +4 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +3 -1
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +3 -2
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/properties.d.ts +1 -0
- package/es/style/themes/theme-eiendom/properties.js +3 -2
- package/es/style/themes/theme-eiendom/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.d.ts +1 -0
- package/es/style/themes/theme-sbanken/properties.js +3 -2
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +9 -8
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/properties.d.ts +1 -0
- package/es/style/themes/theme-ui/properties.js +3 -2
- package/es/style/themes/theme-ui/properties.js.map +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +3 -1
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +5 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
- package/extensions/forms/DataContext/Provider/Provider.js +86 -77
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
- package/extensions/forms/Form/Isolation/Isolation.js +29 -3
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
- package/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
- package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
- package/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
- package/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
- package/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
- package/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
- package/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
- package/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
- package/extensions/forms/Form/Snapshot/index.d.ts +2 -0
- package/extensions/forms/Form/Snapshot/index.js +3 -0
- package/extensions/forms/Form/Snapshot/index.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +26 -14
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/clearData.js +2 -5
- package/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +1 -0
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +2 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +3 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
- package/extensions/forms/Iterate/ItemNo/ItemNo.js +23 -0
- package/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
- package/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
- package/extensions/forms/Iterate/ItemNo/index.js +3 -0
- package/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
- package/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
- package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/index.d.ts +1 -0
- package/extensions/forms/Iterate/index.js +1 -0
- package/extensions/forms/Iterate/index.js.map +1 -1
- package/extensions/forms/Tools/Log.d.ts +7 -2
- package/extensions/forms/Tools/Log.js +30 -3
- package/extensions/forms/Tools/Log.js.map +1 -1
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
- package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
- package/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/extensions/forms/Value/ValueDocs.js +5 -0
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
- package/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
- package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +4 -4
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +4 -4
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +6 -1
- package/extensions/forms/constants/locales/en-GB.js +9 -4
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +6 -1
- package/extensions/forms/constants/locales/en-US.js +2 -1
- package/extensions/forms/constants/locales/en-US.js.map +1 -1
- package/extensions/forms/constants/locales/index.d.ts +12 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
- package/extensions/forms/constants/locales/nb-NO.js +9 -4
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataContext.d.ts +6 -0
- package/extensions/forms/hooks/useDataContext.js +25 -0
- package/extensions/forms/hooks/useDataContext.js.map +1 -0
- package/extensions/forms/hooks/useExternalValue.js +12 -6
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +83 -44
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useSnapshot.d.ts +9 -0
- package/extensions/forms/hooks/useSnapshot.js +81 -0
- package/extensions/forms/hooks/useSnapshot.js.map +1 -0
- package/extensions/forms/hooks/useValueProps.js +6 -1
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/types.d.ts +4 -0
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js +1 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +3 -1
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -2
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/properties.d.ts +1 -0
- package/style/themes/theme-eiendom/properties.js +3 -2
- package/style/themes/theme-eiendom/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.d.ts +1 -0
- package/style/themes/theme-sbanken/properties.js +3 -2
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +9 -8
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/properties.d.ts +1 -0
- package/style/themes/theme-ui/properties.js +3 -2
- package/style/themes/theme-ui/properties.js.map +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +3 -1
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +3 -2
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -19,6 +19,7 @@ import DataContext, { defaultContextState } from '../../DataContext/Context';
|
|
|
19
19
|
import Handler from '../../Form/Handler/Handler';
|
|
20
20
|
import { useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
21
21
|
import useHandleLayoutEffect from './useHandleLayoutEffect';
|
|
22
|
+
import useStepAnimation from './useStepAnimation';
|
|
22
23
|
import useVisibility from '../../Form/Visibility/useVisibility';
|
|
23
24
|
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
24
25
|
function WizardContainer(props) {
|
|
@@ -54,6 +55,10 @@ function WizardContainer(props) {
|
|
|
54
55
|
const errorOnStepRef = useRef({});
|
|
55
56
|
const stepElementRef = useRef();
|
|
56
57
|
const preventNextStepRef = useRef(false);
|
|
58
|
+
const stepsRef = useRef({});
|
|
59
|
+
const tmpStepsRef = useRef({});
|
|
60
|
+
const updateTitlesRef = useRef();
|
|
61
|
+
const prerenderFieldPropsRef = useRef({});
|
|
57
62
|
const sharedStateRef = useRef();
|
|
58
63
|
sharedStateRef.current = useSharedState(hasContext && id ? id + '-wizard' : undefined);
|
|
59
64
|
errorOnStepRef.current[activeIndexRef.current] = showAllErrors;
|
|
@@ -61,24 +66,47 @@ function WizardContainer(props) {
|
|
|
61
66
|
let shouldPrevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
62
67
|
preventNextStepRef.current = shouldPrevent;
|
|
63
68
|
}, []);
|
|
69
|
+
const getStepChangeOptions = useCallback(index => {
|
|
70
|
+
var _stepsRef$current$ind;
|
|
71
|
+
const previousIndex = activeIndexRef.current;
|
|
72
|
+
const options = {
|
|
73
|
+
preventNavigation,
|
|
74
|
+
previousStep: {
|
|
75
|
+
index: previousIndex
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const id = (_stepsRef$current$ind = stepsRef.current[index]) === null || _stepsRef$current$ind === void 0 ? void 0 : _stepsRef$current$ind.id;
|
|
79
|
+
if (id) {
|
|
80
|
+
var _stepsRef$current$pre;
|
|
81
|
+
const previousId = (_stepsRef$current$pre = stepsRef.current[previousIndex]) === null || _stepsRef$current$pre === void 0 ? void 0 : _stepsRef$current$pre.id;
|
|
82
|
+
Object.assign(options, {
|
|
83
|
+
id
|
|
84
|
+
});
|
|
85
|
+
Object.assign(options.previousStep, {
|
|
86
|
+
id: previousId
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return options;
|
|
90
|
+
}, [preventNavigation]);
|
|
64
91
|
const callOnStepChange = useCallback(async (index, mode) => {
|
|
65
92
|
if (isAsync(onStepChange)) {
|
|
66
|
-
return await onStepChange(index, mode,
|
|
67
|
-
preventNavigation
|
|
68
|
-
});
|
|
93
|
+
return await onStepChange(index, mode, getStepChangeOptions(index));
|
|
69
94
|
}
|
|
70
|
-
return onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(index, mode,
|
|
71
|
-
|
|
72
|
-
});
|
|
73
|
-
}, [onStepChange, preventNavigation]);
|
|
95
|
+
return onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(index, mode, getStepChangeOptions(index));
|
|
96
|
+
}, [getStepChangeOptions, onStepChange]);
|
|
74
97
|
const {
|
|
75
98
|
setFocus,
|
|
76
99
|
scrollToTop,
|
|
77
100
|
isInteractionRef
|
|
78
101
|
} = useHandleLayoutEffect({
|
|
79
|
-
activeIndexRef,
|
|
80
102
|
stepElementRef
|
|
81
103
|
});
|
|
104
|
+
const executeLayoutAnimationRef = useRef();
|
|
105
|
+
useStepAnimation({
|
|
106
|
+
activeIndexRef,
|
|
107
|
+
stepElementRef,
|
|
108
|
+
executeLayoutAnimationRef
|
|
109
|
+
});
|
|
82
110
|
const handleLayoutEffect = useCallback(() => {
|
|
83
111
|
if (!omitFocusManagement) {
|
|
84
112
|
setFocus();
|
|
@@ -103,11 +131,12 @@ function WizardContainer(props) {
|
|
|
103
131
|
onSubmit: async () => {
|
|
104
132
|
if (!skipStepChangeCallFromHook) {
|
|
105
133
|
var _sharedStateRef$curre, _sharedStateRef$curre2, _sharedStateRef$curre3;
|
|
106
|
-
(_sharedStateRef$curre = sharedStateRef.current) === null || _sharedStateRef$curre === void 0 ? void 0 : (_sharedStateRef$curre2 = _sharedStateRef$curre.data) === null || _sharedStateRef$curre2 === void 0 ? void 0 : (_sharedStateRef$curre3 = _sharedStateRef$curre2.onStepChange) === null || _sharedStateRef$curre3 === void 0 ? void 0 : _sharedStateRef$curre3.call(_sharedStateRef$curre2, index, mode,
|
|
107
|
-
|
|
108
|
-
|
|
134
|
+
(_sharedStateRef$curre = sharedStateRef.current) === null || _sharedStateRef$curre === void 0 ? void 0 : (_sharedStateRef$curre2 = _sharedStateRef$curre.data) === null || _sharedStateRef$curre2 === void 0 ? void 0 : (_sharedStateRef$curre3 = _sharedStateRef$curre2.onStepChange) === null || _sharedStateRef$curre3 === void 0 ? void 0 : _sharedStateRef$curre3.call(_sharedStateRef$curre2, index, mode, getStepChangeOptions(index));
|
|
135
|
+
}
|
|
136
|
+
let result = undefined;
|
|
137
|
+
if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
|
|
138
|
+
result = await callOnStepChange(index, mode);
|
|
109
139
|
}
|
|
110
|
-
const result = skipStepChangeCall || skipStepChangeCallBeforeMounted && !isInteractionRef.current ? undefined : await callOnStepChange(index, mode);
|
|
111
140
|
setFormState('abort');
|
|
112
141
|
if (!skipErrorCheck) {
|
|
113
142
|
setShowAllErrors(errorOnStepRef.current[index]);
|
|
@@ -121,7 +150,7 @@ function WizardContainer(props) {
|
|
|
121
150
|
return result;
|
|
122
151
|
}
|
|
123
152
|
});
|
|
124
|
-
}, [callOnStepChange, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange,
|
|
153
|
+
}, [callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
|
|
125
154
|
const setActiveIndex = useCallback((index, options) => {
|
|
126
155
|
if (index === activeIndexRef.current) {
|
|
127
156
|
return;
|
|
@@ -162,9 +191,6 @@ function WizardContainer(props) {
|
|
|
162
191
|
}
|
|
163
192
|
}, [handleNext]);
|
|
164
193
|
(_dataContext$setHandl = dataContext.setHandleSubmit) === null || _dataContext$setHandl === void 0 ? void 0 : _dataContext$setHandl.call(dataContext, handleSubmit);
|
|
165
|
-
const titlesRef = useRef({});
|
|
166
|
-
const updateTitlesRef = useRef();
|
|
167
|
-
const prerenderFieldPropsRef = useRef({});
|
|
168
194
|
const {
|
|
169
195
|
check
|
|
170
196
|
} = useVisibility();
|
|
@@ -174,7 +200,7 @@ function WizardContainer(props) {
|
|
|
174
200
|
id,
|
|
175
201
|
activeIndex,
|
|
176
202
|
stepElementRef,
|
|
177
|
-
|
|
203
|
+
stepsRef,
|
|
178
204
|
updateTitlesRef,
|
|
179
205
|
activeIndexRef,
|
|
180
206
|
totalStepsRef,
|
|
@@ -196,7 +222,20 @@ function WizardContainer(props) {
|
|
|
196
222
|
useLayoutEffect(() => {
|
|
197
223
|
var _updateTitlesRef$curr;
|
|
198
224
|
(_updateTitlesRef$curr = updateTitlesRef.current) === null || _updateTitlesRef$curr === void 0 ? void 0 : _updateTitlesRef$curr.call(updateTitlesRef);
|
|
199
|
-
}, [
|
|
225
|
+
}, [stepsRef.current]);
|
|
226
|
+
const stepsLengthDidChange = useCallback(() => {
|
|
227
|
+
const count = Object.keys(stepsRef.current).length;
|
|
228
|
+
const tmpCount = Object.keys(tmpStepsRef.current).length;
|
|
229
|
+
return count !== 0 && tmpCount !== 0 && count !== tmpCount;
|
|
230
|
+
}, []);
|
|
231
|
+
useLayoutEffect(() => {
|
|
232
|
+
if (stepsLengthDidChange()) {
|
|
233
|
+
var _executeLayoutAnimati;
|
|
234
|
+
callOnStepChange(activeIndexRef.current, 'stepListModified');
|
|
235
|
+
(_executeLayoutAnimati = executeLayoutAnimationRef.current) === null || _executeLayoutAnimati === void 0 ? void 0 : _executeLayoutAnimati.call(executeLayoutAnimationRef);
|
|
236
|
+
}
|
|
237
|
+
tmpStepsRef.current = stepsRef.current;
|
|
238
|
+
}, [stepsRef.current, callOnStepChange, stepsLengthDidChange]);
|
|
200
239
|
if (!hasContext) {
|
|
201
240
|
warn('You may wrap Wizard.Container in Form.Handler');
|
|
202
241
|
return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {
|
|
@@ -231,7 +270,7 @@ function DisplaySteps(_ref4) {
|
|
|
231
270
|
const {
|
|
232
271
|
id,
|
|
233
272
|
activeIndexRef,
|
|
234
|
-
|
|
273
|
+
stepsRef,
|
|
235
274
|
updateTitlesRef
|
|
236
275
|
} = useContext(WizardContext) || {};
|
|
237
276
|
updateTitlesRef.current = () => {
|
|
@@ -245,26 +284,31 @@ function DisplaySteps(_ref4) {
|
|
|
245
284
|
}), React.createElement(StepIndicator, {
|
|
246
285
|
bottom: true,
|
|
247
286
|
current_step: activeIndexRef.current,
|
|
248
|
-
data: Object.values(
|
|
287
|
+
data: Object.values(stepsRef.current).map(_ref5 => {
|
|
288
|
+
let {
|
|
289
|
+
title
|
|
290
|
+
} = _ref5;
|
|
291
|
+
return title;
|
|
292
|
+
}),
|
|
249
293
|
mode: mode,
|
|
250
294
|
no_animation: noAnimation,
|
|
251
295
|
on_change: handleChange,
|
|
252
296
|
sidebar_id: sidebar_id
|
|
253
297
|
}));
|
|
254
298
|
}
|
|
255
|
-
function IterateOverSteps(
|
|
299
|
+
function IterateOverSteps(_ref6) {
|
|
256
300
|
let {
|
|
257
301
|
children
|
|
258
|
-
} =
|
|
302
|
+
} = _ref6;
|
|
259
303
|
const {
|
|
260
304
|
check,
|
|
261
|
-
|
|
305
|
+
stepsRef,
|
|
262
306
|
activeIndexRef,
|
|
263
307
|
totalStepsRef,
|
|
264
308
|
prerenderFieldProps,
|
|
265
309
|
prerenderFieldPropsRef
|
|
266
310
|
} = useContext(WizardContext);
|
|
267
|
-
|
|
311
|
+
stepsRef.current = {};
|
|
268
312
|
let incrementIndex = -1;
|
|
269
313
|
const childrenArray = React.Children.map(children, child => {
|
|
270
314
|
if (React.isValidElement(child)) {
|
|
@@ -288,7 +332,10 @@ function IterateOverSteps(_ref5) {
|
|
|
288
332
|
}
|
|
289
333
|
incrementIndex++;
|
|
290
334
|
const index = incrementIndex;
|
|
291
|
-
|
|
335
|
+
stepsRef.current[index] = {
|
|
336
|
+
id: child.props.id,
|
|
337
|
+
title: child.props.title !== undefined ? convertJsxToString(child.props.title) : 'Title missing'
|
|
338
|
+
};
|
|
292
339
|
const key = `${index}-${activeIndexRef.current}`;
|
|
293
340
|
const clone = props => React.cloneElement(child, props);
|
|
294
341
|
if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
|
|
@@ -314,10 +361,10 @@ function IterateOverSteps(_ref5) {
|
|
|
314
361
|
totalStepsRef.current = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length;
|
|
315
362
|
return childrenArray;
|
|
316
363
|
}
|
|
317
|
-
function PrerenderFieldPropsOfOtherSteps(
|
|
364
|
+
function PrerenderFieldPropsOfOtherSteps(_ref7) {
|
|
318
365
|
let {
|
|
319
366
|
prerenderFieldPropsRef
|
|
320
|
-
} =
|
|
367
|
+
} = _ref7;
|
|
321
368
|
const hasRenderedRef = useRef(true);
|
|
322
369
|
if (!hasRenderedRef.current) {
|
|
323
370
|
return null;
|
|
@@ -330,18 +377,18 @@ function PrerenderFieldPropsOfOtherSteps(_ref6) {
|
|
|
330
377
|
key: i
|
|
331
378
|
})))));
|
|
332
379
|
}
|
|
333
|
-
function WizardPortal(
|
|
380
|
+
function WizardPortal(_ref8) {
|
|
334
381
|
let {
|
|
335
382
|
children
|
|
336
|
-
} =
|
|
383
|
+
} = _ref8;
|
|
337
384
|
if (typeof document !== 'undefined') {
|
|
338
385
|
return ReactDOM.createPortal(children, document.body);
|
|
339
386
|
}
|
|
340
387
|
}
|
|
341
|
-
function PrerenderFieldPropsProvider(
|
|
388
|
+
function PrerenderFieldPropsProvider(_ref9) {
|
|
342
389
|
let {
|
|
343
390
|
children
|
|
344
|
-
} =
|
|
391
|
+
} = _ref9;
|
|
345
392
|
const {
|
|
346
393
|
data,
|
|
347
394
|
setFieldProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","errorOnStepRef","stepElementRef","preventNextStepRef","sharedStateRef","current","undefined","preventNavigation","shouldPrevent","arguments","length","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","titlesRef","updateTitlesRef","prerenderFieldPropsRef","check","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","_ref5","incrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","title","key","clone","cloneElement","document","_ref6","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref7","createPortal","body","_ref8","setFieldProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, { preventNavigation })\n }\n\n return onStepChange?.(index, mode, { preventNavigation })\n },\n [onStepChange, preventNavigation]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode, {\n preventNavigation,\n })\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n preventNavigation,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const titlesRef = useRef({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, titlesRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(titlesRef.current)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n titlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing'\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n totalStepsRef.current = childrenArray?.length\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n hasContext: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","errorOnStepRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","sharedStateRef","current","undefined","preventNavigation","shouldPrevent","arguments","length","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","sidebar_id","Sidebar","bottom","values","map","_ref5","title","no_animation","on_change","_ref6","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","key","clone","cloneElement","document","_ref7","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref8","createPortal","body","_ref9","setFieldProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport useStepAnimation from './useStepAnimation'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>({})\n const tmpStepsRef = useRef<Steps>({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const getStepChangeOptions: (index: StepIndex) => OnStepChangeOptions =\n useCallback(\n (index) => {\n const previousIndex = activeIndexRef.current\n const options = {\n preventNavigation,\n previousStep: { index: previousIndex },\n }\n\n const id = stepsRef.current[index]?.id\n if (id) {\n const previousId = stepsRef.current[previousIndex]?.id\n Object.assign(options, { id })\n Object.assign(options.previousStep, { id: previousId })\n }\n\n return options\n },\n [preventNavigation]\n )\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: OnStepsChangeMode) => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, getStepChangeOptions(index))\n }\n\n return onStepChange?.(index, mode, getStepChangeOptions(index))\n },\n [getStepChangeOptions, onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({\n stepElementRef,\n })\n\n const executeLayoutAnimationRef = useRef<() => void>()\n useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(\n index,\n mode,\n getStepChangeOptions(index)\n )\n }\n\n let result = undefined\n\n if (\n !skipStepChangeCall &&\n !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ) {\n result = await callOnStepChange(index, mode)\n }\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current])\n\n const stepsLengthDidChange = useCallback(() => {\n const count = Object.keys(stepsRef.current).length\n const tmpCount = Object.keys(tmpStepsRef.current).length\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via activeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n tmpStepsRef.current = stepsRef.current\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current, callOnStepChange, stepsLengthDidChange])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, stepsRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(stepsRef.current).map(({ title }) => title)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n stepsRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n stepsRef.current[index] = {\n id: child.props.id,\n title:\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing',\n }\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n totalStepsRef.current = childrenArray?.length\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n hasContext: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export const WizardContainerProperties = {
|
|
|
47
47
|
};
|
|
48
48
|
export const WizardContainerEvents = {
|
|
49
49
|
onStepChange: {
|
|
50
|
-
doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (
|
|
50
|
+
doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (or `stepListModified` when a step gets replaced) as the second argument, and as the third parameter an options object containing a `preventNavigation` function, an `id` if given on the `Wizard.Step` and a `previousStep` object containing the previous `index` (and `id` if given on the `Wizard.Step`). When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',
|
|
51
51
|
type: 'function',
|
|
52
52
|
status: 'optional'
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainerDocs.js","names":["WizardContainerProperties","initialActiveIndex","doc","type","status","mode","variant","omitScrollManagement","omitFocusManagement","sidebarId","noAnimation","children","WizardContainerEvents","onStepChange"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const WizardContainerProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the wizard. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n omitScrollManagement: {\n doc: 'True to omit scroll management.',\n type: 'boolean',\n status: 'optional',\n },\n omitFocusManagement: {\n doc: 'True to omit focus management.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const WizardContainerEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (
|
|
1
|
+
{"version":3,"file":"WizardContainerDocs.js","names":["WizardContainerProperties","initialActiveIndex","doc","type","status","mode","variant","omitScrollManagement","omitFocusManagement","sidebarId","noAnimation","children","WizardContainerEvents","onStepChange"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const WizardContainerProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the wizard. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n omitScrollManagement: {\n doc: 'True to omit scroll management.',\n type: 'boolean',\n status: 'optional',\n },\n omitFocusManagement: {\n doc: 'True to omit focus management.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const WizardContainerEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (or `stepListModified` when a step gets replaced) as the second argument, and as the third parameter an options object containing a `preventNavigation` function, an `id` if given on the `Wizard.Step` and a `previousStep` object containing the previous `index` (and `id` if given on the `Wizard.Step`). When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAA+C,GAAG;EAC7DC,kBAAkB,EAAE;IAClBC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,6EAA6E;IAClFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,oBAAoB,EAAE;IACpBL,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,mBAAmB,EAAE;IACnBN,GAAG,EAAE,gCAAgC;IACrCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;IACRT,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMQ,qBAA2C,GAAG;EACzDC,YAAY,EAAE;IACZX,GAAG,EAAE,mtBAAmtB;IACxtBC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
-
import useStepAnimation from './useStepAnimation';
|
|
5
4
|
export default function useHandleLayoutEffect(_ref) {
|
|
6
5
|
let {
|
|
7
|
-
activeIndexRef,
|
|
8
6
|
stepElementRef
|
|
9
7
|
} = _ref;
|
|
10
8
|
const isInteractionRef = useRef(false);
|
|
@@ -15,10 +13,6 @@ export default function useHandleLayoutEffect(_ref) {
|
|
|
15
13
|
}, delay);
|
|
16
14
|
return () => clearTimeout(timeout);
|
|
17
15
|
});
|
|
18
|
-
useStepAnimation({
|
|
19
|
-
activeIndexRef,
|
|
20
|
-
stepElementRef
|
|
21
|
-
});
|
|
22
16
|
const action = useCallback(fn => {
|
|
23
17
|
window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
|
|
24
18
|
isInteractionRef.current && fn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHandleLayoutEffect.js","names":["useCallback","useEffect","useRef","
|
|
1
|
+
{"version":3,"file":"useHandleLayoutEffect.js","names":["useCallback","useEffect","useRef","useHandleLayoutEffect","_ref","stepElementRef","isInteractionRef","delay","process","env","NODE_ENV","timeout","setTimeout","current","clearTimeout","action","fn","window","requestAnimationFrame","setFocus","_stepElementRef$curre","_stepElementRef$curre2","focus","call","preventScroll","scrollToTop","_stepElementRef$curre3","_stepElementRef$curre4","scrollIntoView"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useHandleLayoutEffect.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\n\nexport default function useHandleLayoutEffect({ stepElementRef }) {\n const isInteractionRef = useRef(false)\n\n useEffect(() => {\n // Ensure we delay the mounting before layout effect is handled\n const delay = process.env.NODE_ENV === 'test' ? 8 : 100\n const timeout = setTimeout(() => {\n isInteractionRef.current = true\n }, delay)\n return () => clearTimeout(timeout)\n })\n\n const action = useCallback((fn: () => void) => {\n // Wait for the next render cycle\n window.requestAnimationFrame(() =>\n // Wait for the new stepElementRef to be set\n window.requestAnimationFrame(() => {\n isInteractionRef.current && fn()\n })\n )\n }, [])\n\n const setFocus = useCallback(() => {\n action(() => {\n stepElementRef.current?.focus?.({\n preventScroll: true,\n })\n })\n }, [action, stepElementRef])\n\n const scrollToTop = useCallback(() => {\n action(() => {\n stepElementRef.current?.scrollIntoView?.()\n })\n }, [action, stepElementRef])\n\n return { setFocus, scrollToTop, isInteractionRef }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEtD,eAAe,SAASC,qBAAqBA,CAAAC,IAAA,EAAqB;EAAA,IAApB;IAAEC;EAAe,CAAC,GAAAD,IAAA;EAC9D,MAAME,gBAAgB,GAAGJ,MAAM,CAAC,KAAK,CAAC;EAEtCD,SAAS,CAAC,MAAM;IAEd,MAAMM,KAAK,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG;IACvD,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BN,gBAAgB,CAACO,OAAO,GAAG,IAAI;IACjC,CAAC,EAAEN,KAAK,CAAC;IACT,OAAO,MAAMO,YAAY,CAACH,OAAO,CAAC;EACpC,CAAC,CAAC;EAEF,MAAMI,MAAM,GAAGf,WAAW,CAAEgB,EAAc,IAAK;IAE7CC,MAAM,CAACC,qBAAqB,CAAC,MAE3BD,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCZ,gBAAgB,CAACO,OAAO,IAAIG,EAAE,CAAC,CAAC;IAClC,CAAC,CACH,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,QAAQ,GAAGnB,WAAW,CAAC,MAAM;IACjCe,MAAM,CAAC,MAAM;MAAA,IAAAK,qBAAA,EAAAC,sBAAA;MACX,CAAAD,qBAAA,GAAAf,cAAc,CAACQ,OAAO,cAAAO,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,KAAK,cAAAD,sBAAA,uBAA7BA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAAgC;QAC9BI,aAAa,EAAE;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,MAAMoB,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpCe,MAAM,CAAC,MAAM;MAAA,IAAAW,sBAAA,EAAAC,sBAAA;MACX,CAAAD,sBAAA,GAAArB,cAAc,CAACQ,OAAO,cAAAa,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,cAAc,cAAAD,sBAAA,uBAAtCA,sBAAA,CAAAJ,IAAA,CAAAG,sBAAyC,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,EAAE,CAACX,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,OAAO;IAAEc,QAAQ;IAAEM,WAAW;IAAEnB;EAAiB,CAAC;AACpD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export default function useStepAnimation({ activeIndexRef, stepElementRef, }: {
|
|
1
|
+
export default function useStepAnimation({ activeIndexRef, stepElementRef, executeLayoutAnimationRef, }: {
|
|
2
2
|
activeIndexRef: any;
|
|
3
3
|
stepElementRef: any;
|
|
4
|
+
executeLayoutAnimationRef: any;
|
|
4
5
|
}): void;
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import React, { useEffect, useRef } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, useRef } from 'react';
|
|
4
4
|
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
5
5
|
export default function useStepAnimation(_ref) {
|
|
6
6
|
let {
|
|
7
7
|
activeIndexRef,
|
|
8
|
-
stepElementRef
|
|
8
|
+
stepElementRef,
|
|
9
|
+
executeLayoutAnimationRef
|
|
9
10
|
} = _ref;
|
|
10
11
|
const activeIndex = activeIndexRef.current;
|
|
11
12
|
const indexRef = useRef(activeIndex);
|
|
12
13
|
useEffect(() => {
|
|
13
14
|
indexRef.current = activeIndex;
|
|
14
15
|
}, [activeIndex]);
|
|
15
|
-
|
|
16
|
-
if (activeIndex === indexRef.current) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
16
|
+
const executeLayoutAnimation = useCallback(() => {
|
|
19
17
|
window.requestAnimationFrame(() => {
|
|
20
18
|
try {
|
|
21
19
|
const elements = stepElementRef.current.querySelectorAll('.dnb-forms-step > *, .dnb-forms-button-row > *');
|
|
@@ -25,6 +23,13 @@ export default function useStepAnimation(_ref) {
|
|
|
25
23
|
});
|
|
26
24
|
} catch (error) {}
|
|
27
25
|
});
|
|
28
|
-
}, [
|
|
26
|
+
}, [stepElementRef]);
|
|
27
|
+
executeLayoutAnimationRef.current = executeLayoutAnimation;
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
if (activeIndex === indexRef.current) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
executeLayoutAnimation();
|
|
33
|
+
}, [activeIndex, executeLayoutAnimation]);
|
|
29
34
|
}
|
|
30
35
|
//# sourceMappingURL=useStepAnimation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStepAnimation.js","names":["React","useEffect","useRef","useLayoutEffect","window","useStepAnimation","_ref","activeIndexRef","stepElementRef","activeIndex","current","indexRef","requestAnimationFrame","elements","querySelectorAll","forEach","element","i","style","setProperty","String","classList","add","error"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useStepAnimation.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStepAnimation({\n activeIndexRef,\n stepElementRef,\n}) {\n const activeIndex = activeIndexRef.current\n const indexRef = useRef(activeIndex)\n\n useEffect(() => {\n indexRef.current = activeIndex\n }, [activeIndex])\n\n
|
|
1
|
+
{"version":3,"file":"useStepAnimation.js","names":["React","useCallback","useEffect","useRef","useLayoutEffect","window","useStepAnimation","_ref","activeIndexRef","stepElementRef","executeLayoutAnimationRef","activeIndex","current","indexRef","executeLayoutAnimation","requestAnimationFrame","elements","querySelectorAll","forEach","element","i","style","setProperty","String","classList","add","error"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useStepAnimation.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n}) {\n const activeIndex = activeIndexRef.current\n const indexRef = useRef(activeIndex)\n\n useEffect(() => {\n indexRef.current = activeIndex\n }, [activeIndex])\n\n const executeLayoutAnimation = useCallback(() => {\n // Wait until \"stepElementRef.current = currentElementRef.current\" is set\n // So we actually get the correct elements when useStep is called,\n // as it rerenders the children\n window.requestAnimationFrame(() => {\n try {\n const elements: Array<HTMLElement> =\n stepElementRef.current.querySelectorAll(\n '.dnb-forms-step > *, .dnb-forms-button-row > *'\n )\n elements.forEach((element, i) => {\n element.style.setProperty('--element-index', String(i + 1))\n element.classList.add('appear-fx')\n })\n } catch (error) {\n //\n }\n })\n }, [stepElementRef])\n executeLayoutAnimationRef.current = executeLayoutAnimation\n\n useLayoutEffect(() => {\n // Use layout effect to compare the active step before we update the cached indexRef\n // This way we don't have an animation on the first render, but only on a step change.\n if (activeIndex === indexRef.current) {\n return // stop here\n }\n\n executeLayoutAnimation()\n }, [activeIndex, executeLayoutAnimation])\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAG7D,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGL,KAAK,CAACE,SAAS,GAAGF,KAAK,CAACI,eAAe;AAEzE,eAAe,SAASE,gBAAgBA,CAAAC,IAAA,EAIrC;EAAA,IAJsC;IACvCC,cAAc;IACdC,cAAc;IACdC;EACF,CAAC,GAAAH,IAAA;EACC,MAAMI,WAAW,GAAGH,cAAc,CAACI,OAAO;EAC1C,MAAMC,QAAQ,GAAGV,MAAM,CAACQ,WAAW,CAAC;EAEpCT,SAAS,CAAC,MAAM;IACdW,QAAQ,CAACD,OAAO,GAAGD,WAAW;EAChC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMG,sBAAsB,GAAGb,WAAW,CAAC,MAAM;IAI/CI,MAAM,CAACU,qBAAqB,CAAC,MAAM;MACjC,IAAI;QACF,MAAMC,QAA4B,GAChCP,cAAc,CAACG,OAAO,CAACK,gBAAgB,CACrC,gDACF,CAAC;QACHD,QAAQ,CAACE,OAAO,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;UAC/BD,OAAO,CAACE,KAAK,CAACC,WAAW,CAAC,iBAAiB,EAAEC,MAAM,CAACH,CAAC,GAAG,CAAC,CAAC,CAAC;UAC3DD,OAAO,CAACK,SAAS,CAACC,GAAG,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,KAAK,EAAE,CAEhB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACjB,cAAc,CAAC,CAAC;EACpBC,yBAAyB,CAACE,OAAO,GAAGE,sBAAsB;EAE1DV,eAAe,CAAC,MAAM;IAGpB,IAAIO,WAAW,KAAKE,QAAQ,CAACD,OAAO,EAAE;MACpC;IACF;IAEAE,sBAAsB,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACH,WAAW,EAAEG,sBAAsB,CAAC,CAAC;AAC3C"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { EventReturnWithStateObject } from '../../types';
|
|
3
3
|
import { VisibleWhen } from '../../Form/Visibility';
|
|
4
|
-
export type
|
|
4
|
+
export type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified';
|
|
5
|
+
export type OnStepChangeOptions = {
|
|
5
6
|
preventNavigation: (shouldPrevent?: boolean) => void;
|
|
6
|
-
|
|
7
|
+
id?: string;
|
|
8
|
+
previousStep: {
|
|
9
|
+
index: StepIndex;
|
|
10
|
+
id?: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type OnStepChange = (index: StepIndex, mode: OnStepsChangeMode, options: OnStepChangeOptions) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
7
14
|
export type StepIndex = number;
|
|
15
|
+
export type Steps = Record<string, {
|
|
16
|
+
title: string;
|
|
17
|
+
id: string;
|
|
18
|
+
}>;
|
|
8
19
|
export type SetActiveIndexOptions = {
|
|
9
20
|
skipStepChangeCall?: boolean;
|
|
10
21
|
skipStepChangeCallBeforeMounted?: boolean;
|
|
@@ -16,7 +27,7 @@ export interface WizardContextState {
|
|
|
16
27
|
totalSteps?: number;
|
|
17
28
|
activeIndex?: StepIndex;
|
|
18
29
|
stepElementRef?: React.MutableRefObject<HTMLElement>;
|
|
19
|
-
|
|
30
|
+
stepsRef?: React.MutableRefObject<Steps>;
|
|
20
31
|
updateTitlesRef?: React.MutableRefObject<() => void>;
|
|
21
32
|
activeIndexRef?: React.MutableRefObject<StepIndex>;
|
|
22
33
|
totalStepsRef?: React.MutableRefObject<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\n\nexport type
|
|
1
|
+
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\n\nexport type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified'\nexport type OnStepChangeOptions = {\n preventNavigation: (shouldPrevent?: boolean) => void\n id?: string\n previousStep: {\n index: StepIndex\n id?: string\n }\n}\nexport type OnStepChange = (\n index: StepIndex,\n mode: OnStepsChangeMode,\n options: OnStepChangeOptions\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type Steps = Record<string, { title: string; id: string }>\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n stepsRef?: React.MutableRefObject<Steps>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n totalStepsRef?: React.MutableRefObject<number>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAyDzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
|
|
@@ -25,13 +25,13 @@ function Step(props) {
|
|
|
25
25
|
const {
|
|
26
26
|
check,
|
|
27
27
|
activeIndex,
|
|
28
|
-
|
|
28
|
+
stepsRef,
|
|
29
29
|
stepElementRef
|
|
30
30
|
} = useContext(WizardContext) || {};
|
|
31
31
|
const ariaLabel = useMemo(() => {
|
|
32
|
-
var _ref,
|
|
33
|
-
return (_ref = !prerenderFieldProps && (
|
|
34
|
-
}, [index, prerenderFieldProps, title,
|
|
32
|
+
var _ref, _stepsRef$current;
|
|
33
|
+
return (_ref = !prerenderFieldProps && (stepsRef === null || stepsRef === void 0 ? void 0 : (_stepsRef$current = stepsRef.current) === null || _stepsRef$current === void 0 ? void 0 : _stepsRef$current[index])) !== null && _ref !== void 0 ? _ref : convertJsxToString(title);
|
|
34
|
+
}, [index, prerenderFieldProps, title, stepsRef]);
|
|
35
35
|
const currentElementRef = useRef();
|
|
36
36
|
useLayoutEffect(() => {
|
|
37
37
|
if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {
|