@dnb/eufemia 10.68.1 → 10.69.1
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 +53 -0
- package/cjs/components/autocomplete/Autocomplete.js +1 -1
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/global-error/GlobalError.d.ts +1 -1
- package/cjs/components/global-error/GlobalError.js +1 -1
- package/cjs/components/global-error/GlobalError.js.map +1 -1
- package/cjs/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/cjs/components/global-error/GlobalErrorDocs.js +64 -0
- package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/cjs/components/info-card/InfoCard.d.ts +4 -0
- package/cjs/components/info-card/InfoCard.js +29 -25
- package/cjs/components/info-card/InfoCard.js.map +1 -1
- package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
- package/cjs/components/info-card/InfoCardDocs.js +101 -0
- package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
- package/cjs/components/info-card/style/dnb-info-card.css +5 -0
- package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
- package/cjs/components/info-card/style/dnb-info-card.scss +7 -0
- package/cjs/components/number-format/NumberFormat.js +4 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.d.ts +3 -0
- package/cjs/components/number-format/NumberUtils.js +5 -4
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/table/TableClickableHead.js +14 -3
- package/cjs/components/table/TableClickableHead.js.map +1 -1
- package/cjs/components/table/TableTr.js +4 -4
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
- package/cjs/components/table/table-accordion/TableAccordionHead.js +27 -20
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.js +7 -4
- package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +2 -3
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -41
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/Currency.d.ts +9 -1
- package/cjs/extensions/forms/Field/Currency/Currency.js +8 -3
- package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +289 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +36 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/SelectCurrency/index.js +28 -0
- package/cjs/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Value/Currency/Currency.d.ts +7 -1
- package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
- package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js +37 -0
- package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
- package/cjs/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/SelectCurrency/index.js +28 -0
- package/cjs/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
- package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
- package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js +32 -0
- package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
- package/cjs/extensions/forms/Value/index.d.ts +1 -0
- package/cjs/extensions/forms/Value/index.js +7 -0
- package/cjs/extensions/forms/Value/index.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/DisplaySteps.js +10 -5
- package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +38 -32
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -57
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/constants/allCurrencies.d.ts +1786 -0
- package/cjs/extensions/forms/constants/allCurrencies.js +1447 -0
- package/cjs/extensions/forms/constants/allCurrencies.js.map +1 -0
- package/cjs/extensions/forms/constants/countries.d.ts +4023 -4
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/currencies.d.ts +716 -0
- package/cjs/extensions/forms/constants/currencies.js +12 -0
- package/cjs/extensions/forms/constants/currencies.js.map +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +5 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +5 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js +5 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +32 -23
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/types.d.ts +4 -4
- package/cjs/extensions/forms/types.js.map +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 +5 -0
- 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/themes/theme-eiendom/eiendom-theme-components.css +5 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +5 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/components/autocomplete/Autocomplete.js +1 -1
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/global-error/GlobalError.d.ts +1 -1
- package/components/global-error/GlobalError.js +1 -1
- package/components/global-error/GlobalError.js.map +1 -1
- package/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/components/global-error/GlobalErrorDocs.js +58 -0
- package/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/components/info-card/InfoCard.d.ts +4 -0
- package/components/info-card/InfoCard.js +26 -25
- package/components/info-card/InfoCard.js.map +1 -1
- package/components/info-card/InfoCardDocs.d.ts +3 -0
- package/components/info-card/InfoCardDocs.js +95 -0
- package/components/info-card/InfoCardDocs.js.map +1 -0
- package/components/info-card/style/dnb-info-card.css +5 -0
- package/components/info-card/style/dnb-info-card.min.css +1 -1
- package/components/info-card/style/dnb-info-card.scss +7 -0
- package/components/number-format/NumberFormat.js +4 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/NumberUtils.d.ts +3 -0
- package/components/number-format/NumberUtils.js +5 -4
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/table/TableClickableHead.js +12 -3
- package/components/table/TableClickableHead.js.map +1 -1
- package/components/table/TableTr.js +4 -4
- package/components/table/TableTr.js.map +1 -1
- package/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
- package/components/table/table-accordion/TableAccordionHead.js +28 -21
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/components/table/table-navigation/TableNavigationHead.js +4 -4
- package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/components/tabs/Tabs.js +2 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/upload/UploadFileList.js +2 -3
- package/components/upload/UploadFileList.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +1 -1
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/global-error/GlobalError.d.ts +1 -1
- package/es/components/global-error/GlobalError.js +1 -1
- package/es/components/global-error/GlobalError.js.map +1 -1
- package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/es/components/global-error/GlobalErrorDocs.js +58 -0
- package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/es/components/info-card/InfoCard.d.ts +4 -0
- package/es/components/info-card/InfoCard.js +26 -25
- package/es/components/info-card/InfoCard.js.map +1 -1
- package/es/components/info-card/InfoCardDocs.d.ts +3 -0
- package/es/components/info-card/InfoCardDocs.js +95 -0
- package/es/components/info-card/InfoCardDocs.js.map +1 -0
- package/es/components/info-card/style/dnb-info-card.css +5 -0
- package/es/components/info-card/style/dnb-info-card.min.css +1 -1
- package/es/components/info-card/style/dnb-info-card.scss +7 -0
- package/es/components/number-format/NumberFormat.js +4 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/NumberUtils.d.ts +3 -0
- package/es/components/number-format/NumberUtils.js +5 -4
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/table/TableClickableHead.js +12 -3
- package/es/components/table/TableClickableHead.js.map +1 -1
- package/es/components/table/TableTr.js +4 -4
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
- package/es/components/table/table-accordion/TableAccordionHead.js +28 -21
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.js +4 -4
- package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/es/components/tabs/Tabs.js +2 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/upload/UploadFileList.js +2 -3
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +21 -29
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Currency/Currency.d.ts +9 -1
- package/es/extensions/forms/Field/Currency/Currency.js +8 -3
- package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +263 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
- package/es/extensions/forms/Field/SelectCurrency/index.js +3 -0
- package/es/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Value/Currency/Currency.d.ts +7 -1
- package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
- package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
- package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
- package/es/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
- package/es/extensions/forms/Value/SelectCurrency/index.js +3 -0
- package/es/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
- package/es/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
- package/es/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
- package/es/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
- package/es/extensions/forms/Value/index.d.ts +1 -0
- package/es/extensions/forms/Value/index.js +1 -0
- package/es/extensions/forms/Value/index.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/DisplaySteps.js +10 -5
- package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +37 -31
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -58
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +64 -22
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/constants/allCurrencies.d.ts +1786 -0
- package/es/extensions/forms/constants/allCurrencies.js +1440 -0
- package/es/extensions/forms/constants/allCurrencies.js.map +1 -0
- package/es/extensions/forms/constants/countries.d.ts +4023 -4
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/currencies.d.ts +716 -0
- package/es/extensions/forms/constants/currencies.js +5 -0
- package/es/extensions/forms/constants/currencies.js.map +1 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/es/extensions/forms/constants/locales/en-GB.js +5 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/es/extensions/forms/constants/locales/index.d.ts +10 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +5 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
- package/es/extensions/forms/constants/locales/sv-SE.js +5 -0
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +32 -23
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +1 -1
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/types.d.ts +4 -4
- package/es/extensions/forms/types.js.map +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 +5 -0
- 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/themes/theme-eiendom/eiendom-theme-components.css +5 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +5 -0
- package/es/style/themes/theme-ui/ui-theme-components.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 +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +2 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +35 -41
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Currency/Currency.d.ts +9 -1
- package/extensions/forms/Field/Currency/Currency.js +8 -3
- package/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
- package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +275 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
- package/extensions/forms/Field/SelectCurrency/index.js +3 -0
- package/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Value/Currency/Currency.d.ts +7 -1
- package/extensions/forms/Value/Currency/Currency.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
- package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
- package/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
- package/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
- package/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
- package/extensions/forms/Value/SelectCurrency/index.js +3 -0
- package/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
- package/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
- package/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
- package/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
- package/extensions/forms/Value/index.d.ts +1 -0
- package/extensions/forms/Value/index.js +1 -0
- package/extensions/forms/Value/index.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/DisplaySteps.js +10 -5
- package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/extensions/forms/Wizard/Container/IterateOverSteps.js +38 -31
- package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +107 -58
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
- package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/extensions/forms/Wizard/Step/Step.js +66 -22
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/constants/allCurrencies.d.ts +1786 -0
- package/extensions/forms/constants/allCurrencies.js +1441 -0
- package/extensions/forms/constants/allCurrencies.js.map +1 -0
- package/extensions/forms/constants/countries.d.ts +4023 -4
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/currencies.d.ts +716 -0
- package/extensions/forms/constants/currencies.js +6 -0
- package/extensions/forms/constants/currencies.js.map +1 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/extensions/forms/constants/locales/en-GB.js +5 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/extensions/forms/constants/locales/index.d.ts +10 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/extensions/forms/constants/locales/nb-NO.js +5 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
- package/extensions/forms/constants/locales/sv-SE.js +5 -0
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +32 -23
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +1 -1
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/types.d.ts +4 -4
- package/extensions/forms/types.js.map +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 +5 -0
- 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/themes/theme-eiendom/eiendom-theme-components.css +5 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +5 -0
- package/style/themes/theme-ui/ui-theme-components.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 +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","classnames","Space","warn","isAsync","useId","WizardContext","DataContext","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","keepInDOM","validationMode","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","stepStatusRef","fieldErrorRef","visitedStepsRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","bypassOnNavigation","sharedStateRef","current","undefined","setStepState","index","state","hasFieldErrorInStep","Object","values","some","i","hasError","revealError","path","activeIndex","hasErrorInActiveStep","currentState","includes","preventNavigation","shouldPrevent","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","preventSubmit","setHandleSubmit","check","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","length","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","_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 classnames from 'classnames'\nimport { Space } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport type {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n InternalFieldError,\n InternalStepStatus,\n InternalStepStatuses,\n InternalVisitedSteps,\n} from '../Context/types'\nimport DataContext from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\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'\nimport { DisplaySteps } from './DisplaySteps'\nimport { IterateOverSteps } from './IterateOverSteps'\nimport { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps'\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 will not unmount the steps when navigating back and forth.\n */\n keepInDOM?: 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 * Determines if and how the validation will be bypassed.\n */\n validationMode?: 'bypassOnNavigation'\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 keepInDOM,\n validationMode,\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 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 stepStatusRef = useRef<InternalStepStatuses>({})\n const fieldErrorRef = useRef<InternalFieldError>({})\n const visitedStepsRef = useRef<InternalVisitedSteps>({})\n const elementRef = useRef<HTMLElement>()\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 const bypassOnNavigation = validationMode === 'bypassOnNavigation'\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 ? createReferenceKey(id, 'wizard') : undefined\n )\n\n visitedStepsRef.current[activeIndexRef.current] = true\n\n const setStepState = useCallback(\n (index: number, state: InternalStepStatus) => {\n stepStatusRef.current[index] = state\n },\n []\n )\n const hasFieldErrorInStep = useCallback((index: StepIndex) => {\n return Object.values(fieldErrorRef.current).some(\n ({ index: i, hasError }) => {\n return i === index && hasError\n }\n )\n }, [])\n const revealError: WizardContextState['revealError'] = useCallback(\n (index, path, hasError) => {\n fieldErrorRef.current[path] = { index, hasError }\n\n if (hasFieldErrorInStep(index)) {\n setStepState(index, 'error')\n }\n },\n [hasFieldErrorInStep, setStepState]\n )\n\n const activeIndex = activeIndexRef.current\n const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex)\n useMemo(() => {\n const currentState = stepStatusRef.current[activeIndex]\n if (\n !hasErrorInActiveStep &&\n ['error', 'valid'].includes(currentState)\n ) {\n setStepState(activeIndex, 'valid')\n } else {\n setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined)\n }\n }, [activeIndex, hasErrorInActiveStep, setStepState])\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({ elementRef, stepElementRef })\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 async ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n let didSubmit = false\n const 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 // Set the \"showAllErrors\" to the step we got to\n setShowAllErrors(\n bypassOnNavigation\n ? false\n : stepStatusRef.current[index] === 'error'\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 didSubmit = true\n\n return result\n }\n\n await handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: bypassOnNavigation ? () => null : onSubmit,\n })\n\n if (!didSubmit) {\n if (bypassOnNavigation) {\n await onSubmit()\n } else {\n // In case steps were visited before, or they use the \"keepInDOM\" prop,\n // we need to check the step status, because other steps may report an error,\n // so the user will not be able to navigate to the next step,\n // because the form contains errors. Thats why onSubmit will not be called via handleSubmitCall.\n const state = stepStatusRef.current[activeIndexRef.current]\n if (mode === 'next' && state === 'valid') {\n await onSubmit()\n }\n }\n }\n },\n [\n bypassOnNavigation,\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(\n current_step,\n mode === 'loose' ? { skipErrorCheck: true } : undefined\n )\n },\n [mode, setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleUnknownStepsState = useCallback(() => {\n const index = activeIndexRef.current\n for (let i = 0; i < totalStepsRef.current; i++) {\n // - Check if the step was visited before,\n // - if, not check if the step has already an state,\n // - if, not check if the step is before the active step and and below.\n // - Only then set the state to \"unknown\"\n if (\n !visitedStepsRef.current[i] &&\n stepStatusRef.current[i] === undefined &&\n i < index &&\n i !== index\n ) {\n setStepState(i, 'unknown')\n }\n }\n }, [setStepState])\n\n const hasInvalidStepsState: WizardContextState['hasInvalidStepsState'] =\n useCallback((forStates) => {\n const steps = Object.values(stepStatusRef.current)\n return (forStates || ['unknown', 'error']).some((state) =>\n steps.includes(state)\n )\n }, [])\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n handleUnknownStepsState()\n\n // - If there is an unknown step state, we need to prevent the submit\n if (hasInvalidStepsState()) {\n return preventSubmit()\n }\n\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleUnknownStepsState, hasInvalidStepsState, handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n initialActiveIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n stepStatusRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n }\n }, [\n id,\n activeIndex,\n initialActiveIndex,\n prerenderFieldProps,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\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 includeWhen)\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 innerRef={elementRef}\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 && !keepInDOM && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","useEffect","classnames","Space","warn","isAsync","useId","WizardContext","DataContext","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","useLayoutEffect","window","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","keepInDOM","validationMode","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","submitCountRef","visitedStepsRef","Map","fieldErrorRef","storeStepStateRef","hasErrorInOtherStepRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","stepIndexRef","updateTitlesRef","prerenderFieldPropsRef","bypassOnNavigation","sharedStateRef","current","undefined","hasFieldErrorInStep","index","Array","from","values","some","i","hasError","setStepAsVisited","set","writeStepsState","forStates","result","existingState","get","includes","state","hasInvalidStepsState","setFieldError","path","preventNavigation","shouldPrevent","getStepChangeOptions","_stepsRef$current$get","previousIndex","options","previousStep","_stepsRef$current$get2","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleSubmit","preventSubmit","setHandleSubmit","check","mapOverChildrenRef","enableMapOverChildren","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","tmpCount","count","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport type {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n InternalFieldError,\n InternalVisitedSteps,\n InternalStepStatus,\n InternalStepStatuses,\n} from '../Context/types'\nimport DataContext from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\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'\nimport { DisplaySteps } from './DisplaySteps'\nimport { IterateOverSteps } from './IterateOverSteps'\nimport { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps'\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 will not unmount the steps when navigating back and forth.\n */\n keepInDOM?: 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 * Determines if and how the validation will be bypassed.\n */\n validationMode?: 'bypassOnNavigation'\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 keepInDOM,\n validationMode,\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 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 submitCountRef = useRef(0)\n const visitedStepsRef = useRef<InternalVisitedSteps>(new Map())\n const fieldErrorRef = useRef<InternalFieldError>(new Map())\n const storeStepStateRef = useRef<InternalStepStatuses>(new Map())\n const hasErrorInOtherStepRef = useRef<boolean>(false)\n const elementRef = useRef<HTMLElement>()\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>(new Map())\n const tmpStepsRef = useRef<number>()\n const stepIndexRef = useRef<number>(-1)\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const bypassOnNavigation = validationMode === 'bypassOnNavigation'\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 ? createReferenceKey(id, 'wizard') : undefined\n )\n\n const hasFieldErrorInStep = useCallback((index: StepIndex) => {\n return Array.from(fieldErrorRef.current.values()).some(\n ({ index: i, hasError }) => {\n return i === index && hasError\n }\n )\n }, [])\n\n const setStepAsVisited = useCallback((index: StepIndex) => {\n visitedStepsRef.current.set(index, true)\n }, [])\n\n useEffect(() => {\n if (!initialActiveIndex) {\n setStepAsVisited(activeIndexRef.current)\n }\n }, [initialActiveIndex, setStepAsVisited])\n\n /**\n * - This method is used to check if a step (or any step) has an invalid state.\n *\n * If a step was not visited before, it will be set to \"unknown\".\n * If a step was visited before, but has an invalid state, it will be set to \"error\".\n * If an index is given, it will check if the step, with the given index, has an invalid state.\n */\n const writeStepsState: WizardContextState['writeStepsState'] =\n useCallback(\n (index = undefined, forStates = ['unknown', 'error']) => {\n for (let i = 0; i < totalStepsRef.current; i++) {\n if (index !== undefined && index !== i) {\n continue\n }\n\n let result: InternalStepStatus = undefined\n const existingState = storeStepStateRef.current.get(i)\n\n if (forStates.includes('unknown')) {\n const state =\n i < activeIndexRef.current &&\n visitedStepsRef.current.get(i) === undefined\n if (state) {\n result = 'unknown'\n }\n }\n\n if (forStates.includes('error')) {\n const state = hasFieldErrorInStep(i)\n if (state) {\n result = 'error'\n } else if (existingState === 'error') {\n if (i === activeIndexRef.current) {\n result = undefined\n } else {\n result = existingState\n }\n }\n }\n\n storeStepStateRef.current.set(i, result)\n }\n },\n [hasFieldErrorInStep]\n )\n\n const hasInvalidStepsState: WizardContextState['hasInvalidStepsState'] =\n useCallback((index = undefined, forStates = ['unknown', 'error']) => {\n for (let i = 0; i < totalStepsRef.current; i++) {\n if (index !== undefined && index !== i) {\n continue\n }\n\n const state = storeStepStateRef.current.get(i)\n\n if (forStates.includes('unknown')) {\n if (state === 'unknown') {\n return true\n }\n }\n\n if (forStates.includes('error')) {\n if (state === 'error') {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n const setFieldError: WizardContextState['setFieldError'] = useCallback(\n (index, path, hasError) => {\n fieldErrorRef.current.set(path, { index, hasError })\n },\n []\n )\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.get(index)?.id\n if (id) {\n const previousId = stepsRef.current.get(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({ elementRef, stepElementRef })\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 async ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n let didSubmit = false\n const 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 // Set the \"showAllErrors\" to the step we got to\n setShowAllErrors(\n bypassOnNavigation\n ? false\n : hasInvalidStepsState(index, ['error'])\n )\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n setStepAsVisited(activeIndexRef.current)\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n didSubmit = true\n\n return result\n }\n\n await handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: bypassOnNavigation ? () => null : onSubmit,\n })\n\n if (!didSubmit) {\n if (bypassOnNavigation) {\n await onSubmit()\n } else {\n if (mode === 'next') {\n // First we need to write the steps state for the current active index.\n writeStepsState(activeIndexRef.current, ['error'])\n\n // In case steps were visited before, or they use the \"keepInDOM\" prop,\n // we need to check the step status, because other steps may report an error,\n // so the user will not be able to navigate to the next step,\n // because the form contains errors. Thats why onSubmit will not be called via handleSubmitCall.\n if (!hasInvalidStepsState(activeIndexRef.current)) {\n await onSubmit()\n }\n }\n }\n }\n },\n [\n bypassOnNavigation,\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n hasInvalidStepsState,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n setStepAsVisited,\n writeStepsState,\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(\n current_step,\n mode === 'loose' ? { skipErrorCheck: true } : undefined\n )\n },\n [mode, 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 submitCountRef.current += 1\n\n // - If there is an unknown step state, we need to prevent the submit\n if (hasInvalidStepsState()) {\n return preventSubmit()\n }\n\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [hasInvalidStepsState, handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n // NB: useVisibility needs to be imported here,\n // because it need the outer context to be available.\n const { check } = useVisibility()\n\n // This is used to map over the children and to give them the correct index,\n // in case it could be given properly, like if no id or title was given in React.StrictMode.\n const mapOverChildrenRef = useRef(false)\n const enableMapOverChildren = useCallback(() => {\n mapOverChildrenRef.current = true\n }, [])\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n initialActiveIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n stepIndexRef,\n totalStepsRef,\n submitCountRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n hasErrorInOtherStepRef,\n keepInDOM,\n enableMapOverChildren,\n mapOverChildrenRef,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n writeStepsState,\n setFieldError,\n handleNext,\n setFormError,\n } satisfies WizardContextState\n }, [\n id,\n activeIndex,\n initialActiveIndex,\n prerenderFieldProps,\n keepInDOM,\n enableMapOverChildren,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n writeStepsState,\n setFieldError,\n handleNext,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\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 tmpCount = tmpStepsRef.current\n if (tmpCount === undefined) {\n return false\n }\n const count = totalStepsRef.current\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via includeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n\n tmpStepsRef.current = totalStepsRef.current\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n totalStepsRef.current, // Include the totalStepsRef.current to trigger the useEffect on change\n callOnStepChange,\n stepsLengthDidChange,\n ])\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 innerRef={elementRef}\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 && !keepInDOM && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,SAAS,QACJ,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,KAAK,QAAQ,wBAAwB;AAC9C,SAASC,IAAI,QAAQ,qCAAqC;AAC1D,SAASC,OAAO,QAAQ,oCAAoC;AAC5D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,OAAOC,aAAa,MAEb,0BAA0B;AAajC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,OAAO,MAAM,4BAA4B;AAChD,SAEEC,kBAAkB,EAClBC,cAAc,QACT,2CAA2C;AAClD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,OAAOC,aAAa,MAAM,qCAAqC;AAC/D,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,+BAA+B,QAAQ,mCAAmC;AAGnF,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGxB,KAAK,CAACM,SAAS,GAAGN,KAAK,CAACuB,eAAe;AAoEzE,SAASE,eAAeA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA;EACrC,MAAM;MACJC,SAAS;MACTC,EAAE,EAAEC,MAAM;MACVC,IAAI,GAAG,QAAQ;MACfC,kBAAkB,GAAG,CAAC;MACtBC,oBAAoB;MACpBC,mBAAmB;MACnBC,YAAY;MACZC,QAAQ;MACRC,WAAW,GAAG,IAAI;MAClBC,mBAAmB,GAAG,IAAI;MAC1BC,SAAS;MACTC,cAAc;MACdC,OAAO,GAAG,SAAS;MACnBC;IAEF,CAAC,GAAGhB,KAAK;IADJiB,IAAI,GAAAC,wBAAA,CACLlB,KAAK,EAAAmB,SAAA;EAET,MAAMC,WAAW,GAAG7C,UAAU,CAACY,WAAW,CAAC;EAC3C,MAAM;IACJkC,UAAU;IACVC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,WAAW;EAEf,MAAMjB,EAAE,GAAGlB,KAAK,CAACmB,MAAM,CAAC;EACxB,MAAM,GAAGsB,WAAW,CAAC,GAAGhD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMiD,cAAc,GAAGlD,MAAM,CAAY6B,kBAAkB,CAAC;EAC5D,MAAMsB,aAAa,GAAGnD,MAAM,CAASoD,GAAG,CAAC;EACzC,MAAMC,cAAc,GAAGrD,MAAM,CAAC,CAAC,CAAC;EAChC,MAAMsD,eAAe,GAAGtD,MAAM,CAAuB,IAAIuD,GAAG,CAAC,CAAC,CAAC;EAC/D,MAAMC,aAAa,GAAGxD,MAAM,CAAqB,IAAIuD,GAAG,CAAC,CAAC,CAAC;EAC3D,MAAME,iBAAiB,GAAGzD,MAAM,CAAuB,IAAIuD,GAAG,CAAC,CAAC,CAAC;EACjE,MAAMG,sBAAsB,GAAG1D,MAAM,CAAU,KAAK,CAAC;EACrD,MAAM2D,UAAU,GAAG3D,MAAM,CAAc,CAAC;EACxC,MAAM4D,cAAc,GAAG5D,MAAM,CAAc,CAAC;EAC5C,MAAM6D,kBAAkB,GAAG7D,MAAM,CAAC,KAAK,CAAC;EACxC,MAAM8D,QAAQ,GAAG9D,MAAM,CAAQ,IAAIuD,GAAG,CAAC,CAAC,CAAC;EACzC,MAAMQ,WAAW,GAAG/D,MAAM,CAAS,CAAC;EACpC,MAAMgE,YAAY,GAAGhE,MAAM,CAAS,CAAC,CAAC,CAAC;EACvC,MAAMiE,eAAe,GAAGjE,MAAM,CAAa,CAAC;EAC5C,MAAMkE,sBAAsB,GAAGlE,MAAM,CAEnC,CAAC,CAAC,CAAC;EAEL,MAAMmE,kBAAkB,GAAG9B,cAAc,KAAK,oBAAoB;EAGlE,MAAM+B,cAAc,GAClBpE,MAAM,CAIJ,CAAC;EACLoE,cAAc,CAACC,OAAO,GAAGxD,cAAc,CACrC+B,UAAU,IAAIlB,EAAE,GAAGd,kBAAkB,CAACc,EAAE,EAAE,QAAQ,CAAC,GAAG4C,SACxD,CAAC;EAED,MAAMC,mBAAmB,GAAGxE,WAAW,CAAEyE,KAAgB,IAAK;IAC5D,OAAOC,KAAK,CAACC,IAAI,CAAClB,aAAa,CAACa,OAAO,CAACM,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CACpD,CAAC;MAAEJ,KAAK,EAAEK,CAAC;MAAEC;IAAS,CAAC,KAAK;MAC1B,OAAOD,CAAC,KAAKL,KAAK,IAAIM,QAAQ;IAChC,CACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGhF,WAAW,CAAEyE,KAAgB,IAAK;IACzDlB,eAAe,CAACe,OAAO,CAACW,GAAG,CAACR,KAAK,EAAE,IAAI,CAAC;EAC1C,CAAC,EAAE,EAAE,CAAC;EAENrE,SAAS,CAAC,MAAM;IACd,IAAI,CAAC0B,kBAAkB,EAAE;MACvBkD,gBAAgB,CAAC7B,cAAc,CAACmB,OAAO,CAAC;IAC1C;EACF,CAAC,EAAE,CAACxC,kBAAkB,EAAEkD,gBAAgB,CAAC,CAAC;EAS1C,MAAME,eAAsD,GAC1DlF,WAAW,CACT,CAACyE,KAAK,GAAGF,SAAS,EAAEY,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK;IACvD,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG1B,aAAa,CAACkB,OAAO,EAAEQ,CAAC,EAAE,EAAE;MAC9C,IAAIL,KAAK,KAAKF,SAAS,IAAIE,KAAK,KAAKK,CAAC,EAAE;QACtC;MACF;MAEA,IAAIM,MAA0B,GAAGb,SAAS;MAC1C,MAAMc,aAAa,GAAG3B,iBAAiB,CAACY,OAAO,CAACgB,GAAG,CAACR,CAAC,CAAC;MAEtD,IAAIK,SAAS,CAACI,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,MAAMC,KAAK,GACTV,CAAC,GAAG3B,cAAc,CAACmB,OAAO,IAC1Bf,eAAe,CAACe,OAAO,CAACgB,GAAG,CAACR,CAAC,CAAC,KAAKP,SAAS;QAC9C,IAAIiB,KAAK,EAAE;UACTJ,MAAM,GAAG,SAAS;QACpB;MACF;MAEA,IAAID,SAAS,CAACI,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,MAAMC,KAAK,GAAGhB,mBAAmB,CAACM,CAAC,CAAC;QACpC,IAAIU,KAAK,EAAE;UACTJ,MAAM,GAAG,OAAO;QAClB,CAAC,MAAM,IAAIC,aAAa,KAAK,OAAO,EAAE;UACpC,IAAIP,CAAC,KAAK3B,cAAc,CAACmB,OAAO,EAAE;YAChCc,MAAM,GAAGb,SAAS;UACpB,CAAC,MAAM;YACLa,MAAM,GAAGC,aAAa;UACxB;QACF;MACF;MAEA3B,iBAAiB,CAACY,OAAO,CAACW,GAAG,CAACH,CAAC,EAAEM,MAAM,CAAC;IAC1C;EACF,CAAC,EACD,CAACZ,mBAAmB,CACtB,CAAC;EAEH,MAAMiB,oBAAgE,GACpEzF,WAAW,CAAC,CAACyE,KAAK,GAAGF,SAAS,EAAEY,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK;IACnE,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG1B,aAAa,CAACkB,OAAO,EAAEQ,CAAC,EAAE,EAAE;MAC9C,IAAIL,KAAK,KAAKF,SAAS,IAAIE,KAAK,KAAKK,CAAC,EAAE;QACtC;MACF;MAEA,MAAMU,KAAK,GAAG9B,iBAAiB,CAACY,OAAO,CAACgB,GAAG,CAACR,CAAC,CAAC;MAE9C,IAAIK,SAAS,CAACI,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,IAAIC,KAAK,KAAK,SAAS,EAAE;UACvB,OAAO,IAAI;QACb;MACF;MAEA,IAAIL,SAAS,CAACI,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,IAAIC,KAAK,KAAK,OAAO,EAAE;UACrB,OAAO,IAAI;QACb;MACF;IACF;IAEA,OAAO,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;EAER,MAAME,aAAkD,GAAG1F,WAAW,CACpE,CAACyE,KAAK,EAAEkB,IAAI,EAAEZ,QAAQ,KAAK;IACzBtB,aAAa,CAACa,OAAO,CAACW,GAAG,CAACU,IAAI,EAAE;MAAElB,KAAK;MAAEM;IAAS,CAAC,CAAC;EACtD,CAAC,EACD,EACF,CAAC;EAED,MAAMa,iBAAiB,GAAG5F,WAAW,CAAC,CAAC6F,aAAa,GAAG,IAAI,KAAK;IAC9D/B,kBAAkB,CAACQ,OAAO,GAAGuB,aAAa;EAC5C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,oBAA+D,GACnE9F,WAAW,CACRyE,KAAK,IAAK;IAAA,IAAAsB,qBAAA;IACT,MAAMC,aAAa,GAAG7C,cAAc,CAACmB,OAAO;IAC5C,MAAM2B,OAAO,GAAG;MACdL,iBAAiB;MACjBM,YAAY,EAAE;QAAEzB,KAAK,EAAEuB;MAAc;IACvC,CAAC;IAED,MAAMrE,EAAE,IAAAoE,qBAAA,GAAGhC,QAAQ,CAACO,OAAO,CAACgB,GAAG,CAACb,KAAK,CAAC,cAAAsB,qBAAA,uBAA3BA,qBAAA,CAA6BpE,EAAE;IAC1C,IAAIA,EAAE,EAAE;MAAA,IAAAwE,sBAAA;MACN,MAAMC,UAAU,IAAAD,sBAAA,GAAGpC,QAAQ,CAACO,OAAO,CAACgB,GAAG,CAACU,aAAa,CAAC,cAAAG,sBAAA,uBAAnCA,sBAAA,CAAqCxE,EAAE;MAC1D0E,MAAM,CAACC,MAAM,CAACL,OAAO,EAAE;QAAEtE;MAAG,CAAC,CAAC;MAC9B0E,MAAM,CAACC,MAAM,CAACL,OAAO,CAACC,YAAY,EAAE;QAAEvE,EAAE,EAAEyE;MAAW,CAAC,CAAC;IACzD;IAEA,OAAOH,OAAO;EAChB,CAAC,EACD,CAACL,iBAAiB,CACpB,CAAC;EAEH,MAAMW,gBAAgB,GAAGvG,WAAW,CAClC,OAAOyE,KAAgB,EAAE5C,IAAuB,KAAK;IACnD,IAAIrB,OAAO,CAACyB,YAAY,CAAC,EAAE;MACzB,OAAO,MAAMA,YAAY,CAACwC,KAAK,EAAE5C,IAAI,EAAEiE,oBAAoB,CAACrB,KAAK,CAAC,CAAC;IACrE;IAEA,OAAOxC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwC,KAAK,EAAE5C,IAAI,EAAEiE,oBAAoB,CAACrB,KAAK,CAAC,CAAC;EACjE,CAAC,EACD,CAACqB,oBAAoB,EAAE7D,YAAY,CACrC,CAAC;EAED,MAAM;IAAEuE,QAAQ;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAC/C3F,qBAAqB,CAAC;IAAE6C,UAAU;IAAEC;EAAe,CAAC,CAAC;EAEvD,MAAM8C,yBAAyB,GAAG1G,MAAM,CAAa,CAAC;EACtDe,gBAAgB,CAAC;IACfmC,cAAc;IACdU,cAAc;IACd8C;EACF,CAAC,CAAC;EAEF,MAAMC,kBAAkB,GAAG5G,WAAW,CAAC,MAAM;IAC3C,IAAI,CAACgC,mBAAmB,EAAE;MACxBwE,QAAQ,CAAC,CAAC;IACZ;IACA,IAAI,CAACzE,oBAAoB,EAAE;MACzB0E,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAAC1E,oBAAoB,EAAEC,mBAAmB,EAAEwE,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAEtE,MAAMI,gBAAgB,GAAG7G,WAAW,CAClC,OAAO;IACLyE,KAAK;IACLqC,cAAc;IACdC,kBAAkB;IAClBC,+BAA+B;IAC/BC,0BAA0B;IAC1BpF;EAIsB,CAAC,KAAK;IAC5B,IAAIqF,SAAS,GAAG,KAAK;IACrB,MAAMC,QAAQ,GAAG,MAAAA,CAAA,KAAY;MAC3B,IAAI,CAACF,0BAA0B,EAAE;QAAA,IAAAG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QAC/B,CAAAF,qBAAA,GAAA/C,cAAc,CAACC,OAAO,cAAA8C,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,IAAI,cAAAF,sBAAA,wBAAAC,sBAAA,GAA5BD,sBAAA,CAA8BpF,YAAY,cAAAqF,sBAAA,uBAA1CA,sBAAA,CAAAE,IAAA,CAAAH,sBAAA,EACE5C,KAAK,EACL5C,IAAI,EACJiE,oBAAoB,CAACrB,KAAK,CAC5B,CAAC;MACH;MAEA,IAAIW,MAAM,GAAGb,SAAS;MAEtB,IACE,CAACwC,kBAAkB,IACnB,EAAEC,+BAA+B,IAAI,CAACN,gBAAgB,CAACpC,OAAO,CAAC,EAC/D;QACAc,MAAM,GAAG,MAAMmB,gBAAgB,CAAC9B,KAAK,EAAE5C,IAAI,CAAC;MAC9C;MAGAiB,YAAY,CAAC,OAAO,CAAC;MAGrBE,gBAAgB,CACdoB,kBAAkB,GACd,KAAK,GACLqB,oBAAoB,CAAChB,KAAK,EAAE,CAAC,OAAO,CAAC,CAC3C,CAAC;MAED,IAAI,CAACX,kBAAkB,CAACQ,OAAO,IAAI,EAAEc,MAAM,YAAYqC,KAAK,CAAC,EAAE;QAC7Db,kBAAkB,CAAC,CAAC;QAEpBzD,cAAc,CAACmB,OAAO,GAAGG,KAAK;QAC9BO,gBAAgB,CAAC7B,cAAc,CAACmB,OAAO,CAAC;QACxCpB,WAAW,CAAC,CAAC;MACf;MAEAY,kBAAkB,CAACQ,OAAO,GAAG,KAAK;MAClC4C,SAAS,GAAG,IAAI;MAEhB,OAAO9B,MAAM;IACf,CAAC;IAED,MAAMrC,gBAAgB,CAAC;MACrB+D,cAAc;MACdY,mBAAmB,EAAEZ,cAAc;MACnCa,mBAAmB,EAAEnH,OAAO,CAACyB,YAAY,CAAC;MAC1CkF,QAAQ,EAAE/C,kBAAkB,GAAG,MAAM,IAAI,GAAG+C;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACD,SAAS,EAAE;MACd,IAAI9C,kBAAkB,EAAE;QACtB,MAAM+C,QAAQ,CAAC,CAAC;MAClB,CAAC,MAAM;QACL,IAAItF,IAAI,KAAK,MAAM,EAAE;UAEnBqD,eAAe,CAAC/B,cAAc,CAACmB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;UAMlD,IAAI,CAACmB,oBAAoB,CAACtC,cAAc,CAACmB,OAAO,CAAC,EAAE;YACjD,MAAM6C,QAAQ,CAAC,CAAC;UAClB;QACF;MACF;IACF;EACF,CAAC,EACD,CACE/C,kBAAkB,EAClBmC,gBAAgB,EAChBT,oBAAoB,EACpBc,kBAAkB,EAClB7D,gBAAgB,EAChB0C,oBAAoB,EACpBiB,gBAAgB,EAChBzE,YAAY,EACZa,YAAY,EACZE,gBAAgB,EAChBgC,gBAAgB,EAChBE,eAAe,CAEnB,CAAC;EAED,MAAM0C,cAAc,GAAG5H,WAAW,CAChC,CAACyE,KAAgB,EAAEwB,OAA+B,KAAK;IACrD,IAAIxB,KAAK,KAAKtB,cAAc,CAACmB,OAAO,EAAE;MACpC;IACF;IAEA,MAAMzC,IAAI,GAAG4C,KAAK,GAAGtB,cAAc,CAACmB,OAAO,GAAG,MAAM,GAAG,UAAU;IAEjEuC,gBAAgB,CAAAgB,aAAA;MACdpD,KAAK;MACLqC,cAAc,EAAEjF,IAAI,KAAK,UAAU;MACnCA;IAAI,GACDoE,OAAO,CACX,CAAC;EACJ,CAAC,EACD,CAACY,gBAAgB,CACnB,CAAC;EAED,MAAMiB,cAAc,GAAG9H,WAAW,CAAC,MAAM;IACvC4H,cAAc,CAACzE,cAAc,CAACmB,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACsD,cAAc,CAAC,CAAC;EAEpB,MAAMG,UAAU,GAAG/H,WAAW,CAAC,MAAM;IACnC4H,cAAc,CAACzE,cAAc,CAACmB,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACsD,cAAc,CAAC,CAAC;EAEpB,MAAMI,YAAY,GAAGhI,WAAW,CAC9B,CAAC;IAAEiI;EAAa,CAAC,KAAK;IACpBL,cAAc,CACZK,YAAY,EACZpG,IAAI,KAAK,OAAO,GAAG;MAAEiF,cAAc,EAAE;IAAK,CAAC,GAAGvC,SAChD,CAAC;EACH,CAAC,EACD,CAAC1C,IAAI,EAAE+F,cAAc,CACvB,CAAC;EAED,MAAMM,YAAY,GAAGlI,WAAW,CAC7BmI,KAAY,IAAK;IAChBlF,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;MAAEkF;IAAM,CAAC,CAAC;EAC7B,CAAC,EACD,CAAClF,cAAc,CACjB,CAAC;EAED,MAAMmF,YAAY,GAAGpI,WAAW,CAC9B,CAAC;IAAEqI;EAAc,CAAC,KAAK;IACrB/E,cAAc,CAACgB,OAAO,IAAI,CAAC;IAG3B,IAAImB,oBAAoB,CAAC,CAAC,EAAE;MAC1B,OAAO4C,aAAa,CAAC,CAAC;IACxB;IAEA,IAAIlF,cAAc,CAACmB,OAAO,GAAG,CAAC,GAAGlB,aAAa,CAACkB,OAAO,EAAE;MACtDyD,UAAU,CAAC,CAAC;MACZM,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EACD,CAAC5C,oBAAoB,EAAEsC,UAAU,CACnC,CAAC;EACD,CAAAtG,qBAAA,GAAAmB,WAAW,CAAC0F,eAAe,cAAA7G,qBAAA,uBAA3BA,qBAAA,CAAA+F,IAAA,CAAA5E,WAAW,EAAmBwF,YAAY,CAAC;EAI3C,MAAM;IAAEG;EAAM,CAAC,GAAGtH,aAAa,CAAC,CAAC;EAIjC,MAAMuH,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC;EACxC,MAAMwI,qBAAqB,GAAGzI,WAAW,CAAC,MAAM;IAC9CwI,kBAAkB,CAAClE,OAAO,GAAG,IAAI;EACnC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMoE,WAAW,GAAGvF,cAAc,CAACmB,OAAO;EAC1C,MAAMqE,aAAa,GAAGxI,OAAO,CAAqB,MAAM;IACtD,OAAO;MACLwB,EAAE;MACF+G,WAAW;MACX5G,kBAAkB;MAClB+B,cAAc;MACdE,QAAQ;MACRG,eAAe;MACff,cAAc;MACdc,YAAY;MACZb,aAAa;MACbE,cAAc;MACdlB,mBAAmB;MACnB+B,sBAAsB;MACtBR,sBAAsB;MACtBtB,SAAS;MACToG,qBAAqB;MACrBD,kBAAkB;MAClBD,KAAK;MACLX,cAAc;MACdE,cAAc;MACdrC,oBAAoB;MACpBP,eAAe;MACfQ,aAAa;MACbqC,UAAU;MACVG;IACF,CAAC;EACH,CAAC,EAAE,CACDvG,EAAE,EACF+G,WAAW,EACX5G,kBAAkB,EAClBM,mBAAmB,EACnBC,SAAS,EACToG,qBAAqB,EACrBF,KAAK,EACLX,cAAc,EACdE,cAAc,EACdrC,oBAAoB,EACpBP,eAAe,EACfQ,aAAa,EACbqC,UAAU,EACVG,YAAY,CACb,CAAC;EAGF7G,eAAe,CAAC,MAAM;IACpB,IAAIM,EAAE,IAAIkB,UAAU,EAAE;MACpBwB,cAAc,CAACC,OAAO,CAACsE,MAAM,CAACD,aAAa,CAAC;IAC9C;EACF,CAAC,EAAE,CAAC9F,UAAU,EAAElB,EAAE,EAAEgH,aAAa,CAAC,CAAC;EAEnCtH,eAAe,CAAC,MAAM;IAAA,IAAAwH,qBAAA;IACpB,CAAAA,qBAAA,GAAA3E,eAAe,CAACI,OAAO,cAAAuE,qBAAA,uBAAvBA,qBAAA,CAAArB,IAAA,CAAAtD,eAA0B,CAAC;EAE7B,CAAC,EAAE,CAACH,QAAQ,CAACO,OAAO,CAAC,CAAC;EAEtB,MAAMwE,oBAAoB,GAAG9I,WAAW,CAAC,MAAM;IAC7C,MAAM+I,QAAQ,GAAG/E,WAAW,CAACM,OAAO;IACpC,IAAIyE,QAAQ,KAAKxE,SAAS,EAAE;MAC1B,OAAO,KAAK;IACd;IACA,MAAMyE,KAAK,GAAG5F,aAAa,CAACkB,OAAO;IACnC,OAAO0E,KAAK,KAAK,CAAC,IAAID,QAAQ,KAAK,CAAC,IAAIC,KAAK,KAAKD,QAAQ;EAC5D,CAAC,EAAE,EAAE,CAAC;EAGN1H,eAAe,CAAC,MAAM;IACpB,IAAIyH,oBAAoB,CAAC,CAAC,EAAE;MAAA,IAAAG,qBAAA;MAC1B1C,gBAAgB,CAACpD,cAAc,CAACmB,OAAO,EAAE,kBAAkB,CAAC;MAC5D,CAAA2E,qBAAA,GAAAtC,yBAAyB,CAACrC,OAAO,cAAA2E,qBAAA,uBAAjCA,qBAAA,CAAAzB,IAAA,CAAAb,yBAAoC,CAAC;IACvC;IAEA3C,WAAW,CAACM,OAAO,GAAGlB,aAAa,CAACkB,OAAO;EAG7C,CAAC,EAAE,CACDlB,aAAa,CAACkB,OAAO,EACrBiC,gBAAgB,EAChBuC,oBAAoB,CACrB,CAAC;EAEF,IAAI,CAACjG,UAAU,EAAE;IACftC,IAAI,CAAC,+CAA+C,CAAC;IACrD,OACET,KAAA,CAAAoJ,aAAA,CAACtI,OAAO,QACNd,KAAA,CAAAoJ,aAAA,CAAC3H,eAAe,EAAA4H,QAAA,KAAK3H,KAAK;MAAEG,EAAE,EAAEA;IAAG,EAAE,CAC9B,CAAC;EAEd;EAEA,OACE7B,KAAA,CAAAoJ,aAAA,CAACxI,aAAa,CAAC0I,QAAQ;IAACC,KAAK,EAAEV;EAAc,GAC3C7I,KAAA,CAAAoJ,aAAA,CAAC5I,KAAK,EAAA6I,QAAA;IACJzH,SAAS,EAAErB,UAAU,qDAESkC,OAAO,IACnCb,SACF,CAAE;IACF4H,QAAQ,EAAE1F;EAAW,GACjBnB,IAAI,GAER3C,KAAA,CAAAoJ,aAAA,CAAChI,YAAY;IACXW,IAAI,EAAEA,IAAK;IACXU,OAAO,EAAEA,OAAQ;IACjBJ,WAAW,EAAEA,WAAY;IACzB6F,YAAY,EAAEA,YAAa;IAC3BxF,SAAS,EAAEA;EAAU,CACtB,CAAC,EAEF1C,KAAA,CAAAoJ,aAAA;IAAKxH,SAAS,EAAC;EAAmC,GAChD5B,KAAA,CAAAoJ,aAAA,CAAC/H,gBAAgB,QAAEe,QAA2B,CAC3C,CACA,CAAC,EAEPE,mBAAmB,IAAI,CAACC,SAAS,IAChCvC,KAAA,CAAAoJ,aAAA,CAAC9H,+BAA+B;IAC9B+C,sBAAsB,EAAEA;EAAuB,CAChD,CAEmB,CAAC;AAE7B;AAEA5C,eAAe,CAACgI,qBAAqB,GAAG,IAAI;AAE5C,eAAehI,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useContext } from 'react';
|
|
4
|
+
import { convertJsxToString } from '../../../../shared/component-helper';
|
|
5
|
+
import WizardContext from '../Context/WizardContext';
|
|
6
|
+
import { useTranslation } from '../../hooks';
|
|
7
|
+
export function useCollectStepsData() {
|
|
8
|
+
const {
|
|
9
|
+
activeIndexRef,
|
|
10
|
+
hasErrorInOtherStepRef,
|
|
11
|
+
stepsRef,
|
|
12
|
+
submitCountRef,
|
|
13
|
+
writeStepsState,
|
|
14
|
+
hasInvalidStepsState
|
|
15
|
+
} = useContext(WizardContext) || {};
|
|
16
|
+
const translations = useTranslation();
|
|
17
|
+
const collectStepsData = useCallback(({
|
|
18
|
+
id,
|
|
19
|
+
index,
|
|
20
|
+
inactive,
|
|
21
|
+
title
|
|
22
|
+
}) => {
|
|
23
|
+
if (!hasInvalidStepsState) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
writeStepsState(index);
|
|
27
|
+
const stringifiedTitle = title !== undefined ? convertJsxToString(title) : 'Title missing';
|
|
28
|
+
let status = undefined;
|
|
29
|
+
let statusState = undefined;
|
|
30
|
+
if (index !== activeIndexRef.current && !inactive) {
|
|
31
|
+
if (hasInvalidStepsState(index, ['error'])) {
|
|
32
|
+
status = translations.Step.stepHasError;
|
|
33
|
+
statusState = 'error';
|
|
34
|
+
} else if (submitCountRef.current > 0 && hasInvalidStepsState(index, ['unknown'])) {
|
|
35
|
+
status = 'Unknown state';
|
|
36
|
+
statusState = 'warn';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (status) {
|
|
40
|
+
hasErrorInOtherStepRef.current = true;
|
|
41
|
+
}
|
|
42
|
+
stepsRef.current.set(index, {
|
|
43
|
+
index,
|
|
44
|
+
id,
|
|
45
|
+
title,
|
|
46
|
+
stringifiedTitle,
|
|
47
|
+
inactive,
|
|
48
|
+
status,
|
|
49
|
+
statusState
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
title
|
|
53
|
+
};
|
|
54
|
+
}, [activeIndexRef, hasErrorInOtherStepRef, hasInvalidStepsState, stepsRef, submitCountRef, translations.Step.stepHasError, writeStepsState]);
|
|
55
|
+
return {
|
|
56
|
+
collectStepsData
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=useCollectStepsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollectStepsData.js","names":["useCallback","useContext","convertJsxToString","WizardContext","useTranslation","useCollectStepsData","activeIndexRef","hasErrorInOtherStepRef","stepsRef","submitCountRef","writeStepsState","hasInvalidStepsState","translations","collectStepsData","id","index","inactive","title","stringifiedTitle","undefined","status","statusState","current","Step","stepHasError","set"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useCollectStepsData.tsx"],"sourcesContent":["import { useCallback, useContext } from 'react'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport WizardContext from '../Context/WizardContext'\nimport { useTranslation } from '../../hooks'\n\nexport function useCollectStepsData() {\n const {\n activeIndexRef,\n hasErrorInOtherStepRef,\n stepsRef,\n submitCountRef,\n writeStepsState,\n hasInvalidStepsState,\n } = useContext(WizardContext) || {}\n\n const translations = useTranslation()\n\n const collectStepsData = useCallback(\n ({ id, index, inactive, title }) => {\n if (!hasInvalidStepsState) {\n return // stop here\n }\n\n writeStepsState(index)\n\n const stringifiedTitle =\n title !== undefined ? convertJsxToString(title) : 'Title missing'\n\n let status = undefined\n let statusState = undefined\n if (index !== activeIndexRef.current && !inactive) {\n if (hasInvalidStepsState(index, ['error'])) {\n status = translations.Step.stepHasError\n statusState = 'error'\n } else if (\n submitCountRef.current > 0 &&\n hasInvalidStepsState(index, ['unknown'])\n ) {\n status = 'Unknown state'\n statusState = 'warn'\n }\n }\n\n if (status) {\n hasErrorInOtherStepRef.current = true\n }\n\n stepsRef.current.set(index, {\n index,\n id,\n title,\n stringifiedTitle,\n inactive,\n status,\n statusState,\n })\n\n return { title }\n },\n [\n activeIndexRef,\n hasErrorInOtherStepRef,\n hasInvalidStepsState,\n stepsRef,\n submitCountRef,\n translations.Step.stepHasError,\n writeStepsState,\n ]\n )\n\n return { collectStepsData }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,OAAO;AAC/C,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,aAAa,MAAM,0BAA0B;AACpD,SAASC,cAAc,QAAQ,aAAa;AAE5C,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,MAAM;IACJC,cAAc;IACdC,sBAAsB;IACtBC,QAAQ;IACRC,cAAc;IACdC,eAAe;IACfC;EACF,CAAC,GAAGV,UAAU,CAACE,aAAa,CAAC,IAAI,CAAC,CAAC;EAEnC,MAAMS,YAAY,GAAGR,cAAc,CAAC,CAAC;EAErC,MAAMS,gBAAgB,GAAGb,WAAW,CAClC,CAAC;IAAEc,EAAE;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC,KAAK;IAClC,IAAI,CAACN,oBAAoB,EAAE;MACzB;IACF;IAEAD,eAAe,CAACK,KAAK,CAAC;IAEtB,MAAMG,gBAAgB,GACpBD,KAAK,KAAKE,SAAS,GAAGjB,kBAAkB,CAACe,KAAK,CAAC,GAAG,eAAe;IAEnE,IAAIG,MAAM,GAAGD,SAAS;IACtB,IAAIE,WAAW,GAAGF,SAAS;IAC3B,IAAIJ,KAAK,KAAKT,cAAc,CAACgB,OAAO,IAAI,CAACN,QAAQ,EAAE;MACjD,IAAIL,oBAAoB,CAACI,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;QAC1CK,MAAM,GAAGR,YAAY,CAACW,IAAI,CAACC,YAAY;QACvCH,WAAW,GAAG,OAAO;MACvB,CAAC,MAAM,IACLZ,cAAc,CAACa,OAAO,GAAG,CAAC,IAC1BX,oBAAoB,CAACI,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EACxC;QACAK,MAAM,GAAG,eAAe;QACxBC,WAAW,GAAG,MAAM;MACtB;IACF;IAEA,IAAID,MAAM,EAAE;MACVb,sBAAsB,CAACe,OAAO,GAAG,IAAI;IACvC;IAEAd,QAAQ,CAACc,OAAO,CAACG,GAAG,CAACV,KAAK,EAAE;MAC1BA,KAAK;MACLD,EAAE;MACFG,KAAK;MACLC,gBAAgB;MAChBF,QAAQ;MACRI,MAAM;MACNC;IACF,CAAC,CAAC;IAEF,OAAO;MAAEJ;IAAM,CAAC;EAClB,CAAC,EACD,CACEX,cAAc,EACdC,sBAAsB,EACtBI,oBAAoB,EACpBH,QAAQ,EACRC,cAAc,EACdG,YAAY,CAACW,IAAI,CAACC,YAAY,EAC9Bd,eAAe,CAEnB,CAAC;EAED,OAAO;IAAEG;EAAiB,CAAC;AAC7B","ignoreList":[]}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Path } from '../../types';
|
|
3
3
|
import { VisibleWhen } from '../../Form/Visibility';
|
|
4
|
-
import { InternalStepStatus,
|
|
4
|
+
import { InternalStepStatus, SetActiveIndexOptions, StepIndex, Steps } from './types';
|
|
5
|
+
export type HandleStatusArgs = {
|
|
6
|
+
id: string;
|
|
7
|
+
index: StepIndex;
|
|
8
|
+
inactive: boolean;
|
|
9
|
+
titleProp: React.ReactNode;
|
|
10
|
+
};
|
|
5
11
|
export interface WizardContextState {
|
|
6
12
|
id?: string;
|
|
7
13
|
totalSteps?: number;
|
|
@@ -11,20 +17,28 @@ export interface WizardContextState {
|
|
|
11
17
|
stepsRef?: React.MutableRefObject<Steps>;
|
|
12
18
|
updateTitlesRef?: React.MutableRefObject<() => void>;
|
|
13
19
|
activeIndexRef?: React.MutableRefObject<StepIndex>;
|
|
20
|
+
stepIndexRef?: React.MutableRefObject<StepIndex>;
|
|
14
21
|
totalStepsRef?: React.MutableRefObject<number>;
|
|
15
|
-
|
|
22
|
+
submitCountRef?: React.MutableRefObject<number>;
|
|
16
23
|
prerenderFieldPropsRef?: React.MutableRefObject<Record<string, () => React.ReactElement>>;
|
|
24
|
+
hasErrorInOtherStepRef?: React.MutableRefObject<boolean>;
|
|
17
25
|
prerenderFieldProps?: boolean;
|
|
18
26
|
keepInDOM?: boolean;
|
|
19
27
|
handlePrevious?: () => void;
|
|
20
28
|
handleNext?: () => void;
|
|
21
29
|
setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
|
|
22
30
|
setFormError?: (error: Error) => void;
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
setFieldError?: (index: StepIndex, path: Path, hasError: boolean) => void;
|
|
32
|
+
writeStepsState?: (index?: StepIndex, forStates?: Array<InternalStepStatus>) => void;
|
|
33
|
+
hasInvalidStepsState?: (index?: StepIndex, forStates?: Array<InternalStepStatus>) => boolean;
|
|
25
34
|
check?: ({ visibleWhen }: {
|
|
26
35
|
visibleWhen: VisibleWhen;
|
|
27
36
|
}) => boolean;
|
|
37
|
+
collectStepsData?: (args: HandleStatusArgs) => {
|
|
38
|
+
title: string;
|
|
39
|
+
};
|
|
40
|
+
enableMapOverChildren?: () => void;
|
|
41
|
+
mapOverChildrenRef?: React.MutableRefObject<boolean>;
|
|
28
42
|
}
|
|
29
43
|
declare const WizardContext: React.Context<WizardContextState>;
|
|
30
44
|
export default WizardContext;
|
|
@@ -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 { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n
|
|
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 { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n} from './types'\n\nexport type HandleStatusArgs = {\n id: string\n index: StepIndex\n inactive: boolean\n titleProp: React.ReactNode\n}\n\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n initialActiveIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n stepsRef?: React.MutableRefObject<Steps>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n stepIndexRef?: React.MutableRefObject<StepIndex>\n totalStepsRef?: React.MutableRefObject<number>\n submitCountRef?: React.MutableRefObject<number>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n hasErrorInOtherStepRef?: React.MutableRefObject<boolean>\n prerenderFieldProps?: boolean\n keepInDOM?: 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 setFieldError?: (index: StepIndex, path: Path, hasError: boolean) => void\n writeStepsState?: (\n index?: StepIndex,\n forStates?: Array<InternalStepStatus>\n ) => void\n hasInvalidStepsState?: (\n index?: StepIndex,\n forStates?: Array<InternalStepStatus>\n ) => boolean\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n collectStepsData?: (args: HandleStatusArgs) => { title: string }\n enableMapOverChildren?: () => void\n mapOverChildrenRef?: React.MutableRefObject<boolean>\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA6DzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem';
|
|
2
3
|
import { EventReturnWithStateObject, Path } from '../../types';
|
|
3
4
|
export type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified';
|
|
@@ -11,9 +12,11 @@ export type OnStepChangeOptions = {
|
|
|
11
12
|
};
|
|
12
13
|
export type OnStepChange = (index: StepIndex, mode: OnStepsChangeMode, options: OnStepChangeOptions) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
13
14
|
export type StepIndex = number;
|
|
14
|
-
export type Steps =
|
|
15
|
-
|
|
15
|
+
export type Steps = Map<StepIndex, {
|
|
16
|
+
index: StepIndex;
|
|
16
17
|
id: string;
|
|
18
|
+
title: React.ReactNode;
|
|
19
|
+
stringifiedTitle: string;
|
|
17
20
|
inactive?: boolean;
|
|
18
21
|
/** Used internally to set the status */
|
|
19
22
|
status?: string;
|
|
@@ -26,10 +29,10 @@ export type SetActiveIndexOptions = {
|
|
|
26
29
|
skipStepChangeCallFromHook?: boolean;
|
|
27
30
|
skipErrorCheck?: boolean;
|
|
28
31
|
};
|
|
29
|
-
export type InternalStepStatus = 'error' | '
|
|
30
|
-
export type InternalStepStatuses =
|
|
31
|
-
export type InternalVisitedSteps =
|
|
32
|
-
export type InternalFieldError =
|
|
32
|
+
export type InternalStepStatus = 'error' | 'unknown' | undefined;
|
|
33
|
+
export type InternalStepStatuses = Map<StepIndex, InternalStepStatus>;
|
|
34
|
+
export type InternalVisitedSteps = Map<StepIndex, boolean>;
|
|
35
|
+
export type InternalFieldError = Map<Path, {
|
|
33
36
|
index: StepIndex;
|
|
34
37
|
hasError: boolean;
|
|
35
38
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Wizard/Context/types.ts"],"sourcesContent":["import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { EventReturnWithStateObject, Path } from '../../types'\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 =
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Wizard/Context/types.ts"],"sourcesContent":["import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { EventReturnWithStateObject, Path } from '../../types'\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 = Map<\n StepIndex,\n {\n index: StepIndex\n id: string\n title: React.ReactNode\n stringifiedTitle: string\n inactive?: boolean\n\n /** Used internally to set the status */\n status?: string\n\n /** Used internally to set the statusState */\n statusState?: StepIndicatorStatusState\n }\n>\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\n\nexport type InternalStepStatus = 'error' | 'unknown' | undefined\nexport type InternalStepStatuses = Map<StepIndex, InternalStepStatus>\nexport type InternalVisitedSteps = Map<StepIndex, boolean>\nexport type InternalFieldError = Map<\n Path,\n {\n index: StepIndex\n hasError: boolean\n }\n>\n"],"mappings":"","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { Props as FlexContainerProps } from '../../../../components/flex/Contain
|
|
|
4
4
|
import type { VisibleWhen } from '../../Form/Visibility';
|
|
5
5
|
export type Props = ComponentProps & FlexContainerProps & {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* An unique title of the step.
|
|
8
8
|
*/
|
|
9
9
|
title?: React.ReactNode;
|
|
10
10
|
/**
|
|
@@ -3,19 +3,18 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
var _Fragment;
|
|
6
|
+
var _Fragment, _Fragment2, _Fragment3;
|
|
7
7
|
const _excluded = ["active", "activeWhen", "include", "includeWhen"],
|
|
8
|
-
_excluded2 = ["className", "title", "
|
|
8
|
+
_excluded2 = ["id", "className", "title", "index", "inactive", "include", "includeWhen", "required", "keepInDOM", "prerenderFieldProps", "children"];
|
|
9
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
-
import React, { useContext, useMemo
|
|
11
|
+
import React, { useContext, useMemo } from 'react';
|
|
12
12
|
import classnames from 'classnames';
|
|
13
13
|
import WizardContext from '../Context/WizardContext';
|
|
14
14
|
import WizardStepContext from './StepContext';
|
|
15
15
|
import Flex from '../../../../components/flex/Flex';
|
|
16
16
|
import { convertJsxToString, warn } from '../../../../shared/component-helper';
|
|
17
17
|
import FieldProvider from '../../Field/Provider';
|
|
18
|
-
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
19
18
|
export function handleDeprecatedProps(_ref) {
|
|
20
19
|
let {
|
|
21
20
|
active,
|
|
@@ -32,10 +31,11 @@ export function handleDeprecatedProps(_ref) {
|
|
|
32
31
|
function Step(props) {
|
|
33
32
|
const _handleDeprecatedProp = handleDeprecatedProps(props),
|
|
34
33
|
{
|
|
34
|
+
id,
|
|
35
35
|
className,
|
|
36
36
|
title,
|
|
37
|
+
index: indexProp,
|
|
37
38
|
inactive,
|
|
38
|
-
index,
|
|
39
39
|
include = true,
|
|
40
40
|
includeWhen,
|
|
41
41
|
required,
|
|
@@ -46,33 +46,75 @@ function Step(props) {
|
|
|
46
46
|
restProps = _objectWithoutProperties(_handleDeprecatedProp, _excluded2);
|
|
47
47
|
const {
|
|
48
48
|
check,
|
|
49
|
+
enableMapOverChildren,
|
|
49
50
|
activeIndex,
|
|
50
51
|
initialActiveIndex,
|
|
51
|
-
|
|
52
|
+
totalStepsRef,
|
|
52
53
|
stepElementRef,
|
|
54
|
+
stepIndexRef,
|
|
55
|
+
stepsRef,
|
|
53
56
|
keepInDOM
|
|
54
57
|
} = useContext(WizardContext) || {};
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
const wizardStepContext = useContext(WizardStepContext) || {};
|
|
59
|
+
const indexFromContext = wizardStepContext.index;
|
|
60
|
+
const totalSteps = totalStepsRef === null || totalStepsRef === void 0 ? void 0 : totalStepsRef.current;
|
|
61
|
+
const ariaLabel = useMemo(() => convertJsxToString(title), [title]);
|
|
62
|
+
const index = useMemo(() => {
|
|
63
|
+
if (indexProp !== undefined) {
|
|
64
|
+
return indexProp;
|
|
65
|
+
}
|
|
66
|
+
if (indexFromContext !== undefined) {
|
|
67
|
+
return indexFromContext;
|
|
68
|
+
}
|
|
69
|
+
if (stepsRef !== null && stepsRef !== void 0 && stepsRef.current) {
|
|
70
|
+
const {
|
|
71
|
+
index
|
|
72
|
+
} = Array.from(stepsRef.current.values()).find(({
|
|
73
|
+
id: currentId,
|
|
74
|
+
title: originalTitleProp,
|
|
75
|
+
stringifiedTitle
|
|
76
|
+
}) => {
|
|
77
|
+
var _originalTitleProp$pr;
|
|
78
|
+
if (id !== undefined) {
|
|
79
|
+
return id === currentId;
|
|
80
|
+
}
|
|
81
|
+
const translationId = originalTitleProp === null || originalTitleProp === void 0 ? void 0 : (_originalTitleProp$pr = originalTitleProp['props']) === null || _originalTitleProp$pr === void 0 ? void 0 : _originalTitleProp$pr.id;
|
|
82
|
+
if (translationId) {
|
|
83
|
+
var _title$props;
|
|
84
|
+
return translationId === (title === null || title === void 0 ? void 0 : (_title$props = title['props']) === null || _title$props === void 0 ? void 0 : _title$props.id);
|
|
85
|
+
}
|
|
86
|
+
if (stringifiedTitle) {
|
|
87
|
+
return stringifiedTitle === ariaLabel;
|
|
88
|
+
}
|
|
89
|
+
return originalTitleProp === title;
|
|
90
|
+
}) || {};
|
|
91
|
+
if (index !== undefined) {
|
|
92
|
+
return index;
|
|
64
93
|
}
|
|
65
|
-
return () => {
|
|
66
|
-
stepElementRef.current = null;
|
|
67
|
-
};
|
|
68
94
|
}
|
|
69
|
-
|
|
95
|
+
if (totalSteps && stepIndexRef) {
|
|
96
|
+
stepIndexRef.current += 1;
|
|
97
|
+
}
|
|
98
|
+
return stepIndexRef === null || stepIndexRef === void 0 ? void 0 : stepIndexRef.current;
|
|
99
|
+
}, [indexProp, stepsRef, totalSteps, stepIndexRef, indexFromContext, title, id, ariaLabel]);
|
|
100
|
+
if (index >= totalSteps) {
|
|
101
|
+
enableMapOverChildren();
|
|
102
|
+
}
|
|
70
103
|
if (prerenderFieldProps) {
|
|
71
104
|
return children;
|
|
72
105
|
}
|
|
106
|
+
if (include === false) {
|
|
107
|
+
return _Fragment || (_Fragment = React.createElement(React.Fragment, null));
|
|
108
|
+
}
|
|
109
|
+
if (includeWhen && !check({
|
|
110
|
+
visibleWhen: includeWhen
|
|
111
|
+
})) {
|
|
112
|
+
return _Fragment2 || (_Fragment2 = React.createElement(React.Fragment, null));
|
|
113
|
+
}
|
|
73
114
|
const fieldProps = typeof required === 'boolean' ? {
|
|
74
115
|
required
|
|
75
116
|
} : undefined;
|
|
117
|
+
const innerRef = !prerenderFieldProps && activeIndex === index ? stepElementRef : null;
|
|
76
118
|
const content = React.createElement(WizardStepContext.Provider, {
|
|
77
119
|
value: {
|
|
78
120
|
index
|
|
@@ -81,10 +123,10 @@ function Step(props) {
|
|
|
81
123
|
className: classnames('dnb-forms-step', className),
|
|
82
124
|
element: "section",
|
|
83
125
|
"aria-label": ariaLabel,
|
|
84
|
-
innerRef:
|
|
126
|
+
innerRef: innerRef,
|
|
85
127
|
tabIndex: -1
|
|
86
128
|
}, restProps), fieldProps ? React.createElement(FieldProvider, fieldProps, children) : children));
|
|
87
|
-
if (activeIndex !== index ||
|
|
129
|
+
if (activeIndex !== index || includeWhen && !check({
|
|
88
130
|
visibleWhen: includeWhen
|
|
89
131
|
})) {
|
|
90
132
|
if (keepInDOMProp !== null && keepInDOMProp !== void 0 ? keepInDOMProp : keepInDOM) {
|
|
@@ -97,7 +139,7 @@ function Step(props) {
|
|
|
97
139
|
warn(`initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use "keepInDOM" to always run validation.`);
|
|
98
140
|
}
|
|
99
141
|
}
|
|
100
|
-
return
|
|
142
|
+
return _Fragment3 || (_Fragment3 = React.createElement(React.Fragment, null));
|
|
101
143
|
}
|
|
102
144
|
return React.createElement(React.Fragment, null, content);
|
|
103
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","WizardStepContext","Flex","convertJsxToString","warn","FieldProvider","useLayoutEffect","window","useEffect","handleDeprecatedProps","_ref","active","activeWhen","include","includeWhen","rest","_objectWithoutProperties","_excluded","_objectSpread","Step","props","_handleDeprecatedProp","className","title","inactive","index","required","keepInDOM","keepInDOMProp","prerenderFieldProps","children","restProps","_excluded2","check","activeIndex","initialActiveIndex","stepsRef","stepElementRef","ariaLabel","_ref2","_stepsRef$current","_stepsRef$current$ind","_stepsRef$current2","current","currentElementRef","fieldProps","undefined","content","createElement","Provider","value","Stack","_extends","element","innerRef","tabIndex","visibleWhen","hidden","_Fragment","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport WizardStepContext from './StepContext'\nimport Flex from '../../../../components/flex/Flex'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport FieldProvider from '../../Field/Provider'\nimport type { VisibleWhen } from '../../Form/Visibility'\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 FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n /**\n * Will treat the step as non-navigable if set to `true`.\n */\n inactive?: boolean\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n * @deprecated use `include` instead\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n * @deprecated use `includeWhen` instead\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n\n include?: boolean\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n */\n includeWhen?: VisibleWhen\n\n /**\n * Determines if the step should be kept in the DOM. Defaults to `false`.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nexport function handleDeprecatedProps({\n active,\n activeWhen,\n include,\n includeWhen,\n ...rest\n}: Props): Omit<Props, 'active' | 'activeWhen'> {\n return {\n include: include ?? active,\n includeWhen: includeWhen ?? activeWhen,\n ...rest,\n }\n}\nfunction Step(props: Props): JSX.Element {\n const {\n className,\n title,\n inactive, // eslint-disable-line\n index,\n include = true,\n includeWhen,\n required,\n keepInDOM: keepInDOMProp,\n prerenderFieldProps,\n children,\n ...restProps\n } = handleDeprecatedProps(props)\n const {\n check,\n activeIndex,\n initialActiveIndex,\n stepsRef,\n stepElementRef,\n keepInDOM,\n } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps &&\n (stepsRef?.current?.[index]?.title ||\n stepsRef?.current?.[index])) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, stepsRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children as JSX.Element\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n const content = (\n <WizardStepContext.Provider value={{ index }}>\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProvider {...fieldProps}>{children}</FieldProvider>\n ) : (\n children\n )}\n </Flex.Stack>\n </WizardStepContext.Provider>\n )\n\n if (\n activeIndex !== index ||\n include === false ||\n (includeWhen && !check({ visibleWhen: includeWhen }))\n ) {\n if (keepInDOMProp ?? keepInDOM) {\n return (\n <div title=\"Wizard Step\" hidden>\n {content}\n </div>\n )\n } else {\n if (initialActiveIndex > 0) {\n warn(\n `initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use \"keepInDOM\" to always run validation.`\n )\n }\n }\n\n // Another step is active\n return <></>\n }\n\n return <>{content}</>\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","classnames","WizardContext","WizardStepContext","Flex","convertJsxToString","warn","FieldProvider","handleDeprecatedProps","_ref","active","activeWhen","include","includeWhen","rest","_objectWithoutProperties","_excluded","_objectSpread","Step","props","_handleDeprecatedProp","id","className","title","index","indexProp","inactive","required","keepInDOM","keepInDOMProp","prerenderFieldProps","children","restProps","_excluded2","check","enableMapOverChildren","activeIndex","initialActiveIndex","totalStepsRef","stepElementRef","stepIndexRef","stepsRef","wizardStepContext","indexFromContext","totalSteps","current","ariaLabel","undefined","Array","from","values","find","currentId","originalTitleProp","stringifiedTitle","_originalTitleProp$pr","translationId","_title$props","_Fragment","createElement","Fragment","visibleWhen","_Fragment2","fieldProps","innerRef","content","Provider","value","Stack","_extends","element","tabIndex","hidden","_Fragment3","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport WizardStepContext from './StepContext'\nimport Flex from '../../../../components/flex/Flex'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport FieldProvider from '../../Field/Provider'\nimport type { VisibleWhen } from '../../Form/Visibility'\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * An unique title of the step.\n */\n title?: React.ReactNode\n\n /**\n * Will treat the step as non-navigable if set to `true`.\n */\n inactive?: boolean\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n * @deprecated use `include` instead\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n * @deprecated use `includeWhen` instead\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n\n include?: boolean\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n */\n includeWhen?: VisibleWhen\n\n /**\n * Determines if the step should be kept in the DOM. Defaults to `false`.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nexport function handleDeprecatedProps({\n active,\n activeWhen,\n include,\n includeWhen,\n ...rest\n}: Props): Omit<Props, 'active' | 'activeWhen'> {\n return {\n include: include ?? active,\n includeWhen: includeWhen ?? activeWhen,\n ...rest,\n }\n}\n\nfunction Step(props: Props): JSX.Element {\n const {\n id,\n className,\n title,\n index: indexProp,\n inactive, // eslint-disable-line\n include = true,\n includeWhen,\n required,\n keepInDOM: keepInDOMProp,\n prerenderFieldProps,\n children,\n ...restProps\n } = handleDeprecatedProps(props)\n\n const {\n check,\n enableMapOverChildren,\n activeIndex,\n initialActiveIndex,\n totalStepsRef,\n stepElementRef,\n stepIndexRef,\n stepsRef,\n keepInDOM,\n } = useContext(WizardContext) || {}\n\n const wizardStepContext = useContext(WizardStepContext) || {}\n const indexFromContext = wizardStepContext.index\n\n const totalSteps = totalStepsRef?.current\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n const index = useMemo(() => {\n if (indexProp !== undefined) {\n return indexProp\n }\n\n // Try to use the index from the step context\n if (indexFromContext !== undefined) {\n return indexFromContext\n }\n\n if (stepsRef?.current) {\n // Try different ways to find the step index\n const { index } =\n Array.from(stepsRef.current.values()).find(\n ({\n id: currentId,\n title: originalTitleProp,\n stringifiedTitle,\n }) => {\n // Try to find the step by id\n if (id !== undefined) {\n return id === currentId\n }\n\n // Try to find the step by <Translation id=\"...\" />\n const translationId = originalTitleProp?.['props']?.id\n if (translationId) {\n return translationId === title?.['props']?.id\n }\n\n // Try to find the step by a string (with convertJsxToString) title\n if (stringifiedTitle) {\n return stringifiedTitle === ariaLabel\n }\n\n // Try to find the step by a JSX title\n return originalTitleProp === title\n }\n ) || {}\n\n if (index !== undefined) {\n return index\n }\n }\n\n if (\n totalSteps && // Is only used to make the deps ESLint happy.\n stepIndexRef\n ) {\n stepIndexRef.current += 1\n }\n\n return stepIndexRef?.current\n }, [\n indexProp,\n stepsRef,\n totalSteps, // \"totalSteps\" is needed to make dynamic steps work.\n stepIndexRef,\n indexFromContext,\n title,\n id,\n ariaLabel,\n ])\n\n // If the index is greater than the total steps,\n // its a sign that e.g. React.StrictMode is used.\n // And if no title or id is given,\n // we need to force an re-render and use an alternative render method,\n // using React.Children.map(children, ...).\n if (index >= totalSteps) {\n enableMapOverChildren()\n }\n\n if (prerenderFieldProps) {\n return children as JSX.Element\n }\n\n if (include === false) {\n return <></>\n }\n\n if (\n includeWhen &&\n !check({\n visibleWhen: includeWhen,\n })\n ) {\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n const innerRef =\n !prerenderFieldProps && activeIndex === index ? stepElementRef : null\n\n const content = (\n <WizardStepContext.Provider value={{ index }}>\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={innerRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProvider {...fieldProps}>{children}</FieldProvider>\n ) : (\n children\n )}\n </Flex.Stack>\n </WizardStepContext.Provider>\n )\n\n if (\n activeIndex !== index ||\n (includeWhen && !check({ visibleWhen: includeWhen }))\n ) {\n if (keepInDOMProp ?? keepInDOM) {\n return (\n <div title=\"Wizard Step\" hidden>\n {content}\n </div>\n )\n } else {\n if (initialActiveIndex > 0) {\n warn(\n `initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use \"keepInDOM\" to always run validation.`\n )\n }\n }\n\n // Another step is active\n return <></>\n }\n\n return <>{content}</>\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","inactive","required","include","includeWhen","keepInDOM","children","active","activeWhen","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: '
|
|
1
|
+
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","inactive","required","include","includeWhen","keepInDOM","children","active","activeWhen","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'An unique title of the step.',\n type: 'React.Node',\n status: 'required',\n },\n inactive: {\n doc: 'Will treat the step as non-navigable if set to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n include: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n includeWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n keepInDOM: {\n doc: 'Determines if the step should be kept in the DOM. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container/properties)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\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 active: {\n doc: 'Deprecated, use `include`. Old docs: If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'deprecated',\n },\n activeWhen: {\n doc: 'Deprecated, use `includeWhen`. Old docs: Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'deprecated',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,8BAA8B;IACnCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,2NAA2N;IAChOC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,2DAA2D,EAAE;IAC3DF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDO,MAAM,EAAE;IACNT,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,oQAAoQ;IACzQC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMS,UAAgC,GAAG,CAAC,CAAC","ignoreList":[]}
|