@dnb/eufemia 10.69.0 → 10.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/cjs/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/cjs/components/aria-live/AriaLiveDocs.js +54 -0
- package/cjs/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/cjs/components/avatar/Avatar.d.ts +10 -0
- package/cjs/components/avatar/Avatar.js +17 -3
- package/cjs/components/avatar/Avatar.js.map +1 -1
- package/cjs/components/avatar/AvatarDocs.d.ts +3 -0
- package/cjs/components/avatar/AvatarDocs.js +101 -0
- package/cjs/components/avatar/AvatarDocs.js.map +1 -0
- package/cjs/components/avatar/AvatarGroup.d.ts +10 -0
- package/cjs/components/avatar/AvatarGroup.js +17 -5
- package/cjs/components/avatar/AvatarGroup.js.map +1 -1
- package/cjs/components/avatar/style/dnb-avatar.css +8 -0
- package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
- package/cjs/components/avatar/style/dnb-avatar.scss +9 -0
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/cjs/components/badge/BadgeDocs.d.ts +2 -0
- package/cjs/components/badge/BadgeDocs.js +54 -0
- package/cjs/components/badge/BadgeDocs.js.map +1 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.js +125 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/cjs/components/button/Button.d.ts +0 -3
- package/cjs/components/button/ButtonDocs.d.ts +1 -0
- package/cjs/components/button/ButtonDocs.js +8 -1
- package/cjs/components/button/ButtonDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerAddon.js +1 -3
- package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/cjs/components/date-picker/DatePickerCalc.js +44 -0
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js +13 -11
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +2 -2
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/hooks/useViews.d.ts +2 -4
- package/cjs/components/date-picker/hooks/useViews.js +37 -23
- package/cjs/components/date-picker/hooks/useViews.js.map +1 -1
- package/cjs/components/dialog/DialogDocs.d.ts +1 -0
- package/cjs/components/dialog/DialogDocs.js +13 -1
- package/cjs/components/dialog/DialogDocs.js.map +1 -1
- package/cjs/components/drawer/DrawerDocs.d.ts +2 -0
- package/cjs/components/drawer/DrawerDocs.js +69 -0
- package/cjs/components/drawer/DrawerDocs.js.map +1 -0
- package/cjs/components/dropdown/DropdownDocs.d.ts +2 -0
- package/cjs/components/dropdown/DropdownDocs.js +29 -0
- package/cjs/components/dropdown/DropdownDocs.js.map +1 -0
- package/cjs/components/form-label/FormLabelDocs.d.ts +2 -0
- package/cjs/components/form-label/FormLabelDocs.js +59 -0
- package/cjs/components/form-label/FormLabelDocs.js.map +1 -0
- package/cjs/components/form-row/FormRow.d.ts +45 -0
- package/cjs/components/form-row/FormRowDocs.d.ts +2 -0
- package/cjs/components/form-row/FormRowDocs.js +89 -0
- package/cjs/components/form-row/FormRowDocs.js.map +1 -0
- package/cjs/components/form-set/FormSet.d.ts +18 -0
- package/cjs/components/form-set/FormSetDocs.d.ts +3 -0
- package/cjs/components/form-set/FormSetDocs.js +56 -0
- package/cjs/components/form-set/FormSetDocs.js.map +1 -0
- package/cjs/components/form-status/FormStatus.d.ts +18 -18
- package/cjs/components/form-status/FormStatusDocs.d.ts +2 -0
- package/cjs/components/form-status/FormStatusDocs.js +89 -0
- package/cjs/components/form-status/FormStatusDocs.js.map +1 -0
- package/cjs/components/global-error/GlobalError.d.ts +13 -1
- package/cjs/components/global-error/GlobalError.js +15 -6
- 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 +74 -0
- package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
- package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
- package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
- package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/cjs/components/heading/HeadingDocs.d.ts +2 -0
- package/cjs/components/heading/HeadingDocs.js +79 -0
- package/cjs/components/heading/HeadingDocs.js.map +1 -0
- package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/cjs/components/help-button/HelpButtonDocs.js +46 -0
- package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
- package/cjs/components/icon/IconDocs.d.ts +2 -0
- package/cjs/components/icon/IconDocs.js +59 -0
- package/cjs/components/icon/IconDocs.js.map +1 -0
- package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/cjs/components/icon/IconPrimaryDocs.js +24 -0
- package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
- package/cjs/components/info-card/InfoCard.d.ts +6 -1
- package/cjs/components/info-card/InfoCard.js +4 -3
- 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 +106 -0
- package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
- package/cjs/components/input/Input.d.ts +0 -21
- package/cjs/components/input/InputDocs.d.ts +1 -0
- package/cjs/components/input/InputDocs.js +33 -1
- package/cjs/components/input/InputDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -12
- package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/cjs/components/pagination/Pagination.d.ts +35 -33
- package/cjs/components/pagination/Pagination.js +2 -0
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
- package/cjs/components/pagination/PaginationDocs.js +191 -0
- package/cjs/components/pagination/PaginationDocs.js.map +1 -0
- package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
- package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
- package/cjs/components/pagination/PaginationProvider.js +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +12 -15
- package/cjs/components/radio/RadioDocs.d.ts +5 -0
- package/cjs/components/radio/RadioDocs.js +145 -0
- package/cjs/components/radio/RadioDocs.js.map +1 -0
- package/cjs/components/radio/RadioGroup.d.ts +0 -30
- package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/cjs/components/skeleton/SkeletonDocs.js +44 -0
- package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
- package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/cjs/components/skip-content/SkipContentDocs.js +29 -0
- package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tag/TagDocs.d.ts +4 -0
- package/cjs/components/tag/TagDocs.js +93 -0
- package/cjs/components/tag/TagDocs.js.map +1 -0
- package/cjs/components/textarea/Textarea.d.ts +0 -12
- package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
- package/cjs/components/textarea/TextareaDocs.js +23 -1
- package/cjs/components/textarea/TextareaDocs.js.map +1 -1
- package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
- package/cjs/components/timeline/TimelineDocs.js +66 -0
- package/cjs/components/timeline/TimelineDocs.js.map +1 -0
- package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
- package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
- package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
- package/cjs/components/tooltip/TooltipDocs.js +79 -0
- package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
- package/cjs/components/upload/Upload.js +6 -4
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +5 -0
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +5 -4
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
- package/cjs/components/upload/UploadFileListCell.js +8 -5
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/components/upload/types.d.ts +5 -0
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/components/upload/useUpload.d.ts +1 -0
- package/cjs/components/upload/useUpload.js +9 -2
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +7 -6
- 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 +63 -75
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/cjs/extensions/forms/Field/Date/Date.js +8 -8
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/Password.js +2 -1
- package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- 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/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.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/VisibilityDocs.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +11 -15
- 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/Date/Date.d.ts +0 -6
- package/cjs/extensions/forms/Value/Date/Date.js +14 -38
- package/cjs/extensions/forms/Value/Date/Date.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 +6 -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 +36 -35
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -59
- 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 +17 -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/hooks/useFieldProps.js +16 -9
- 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/payment-card/PaymentCard.d.ts +7 -7
- package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
- package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
- package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/cjs/shared/MediaQueryDocs.js +34 -0
- package/cjs/shared/MediaQueryDocs.js.map +1 -0
- package/cjs/shared/ThemeDocs.d.ts +2 -0
- package/cjs/shared/ThemeDocs.js +39 -0
- package/cjs/shared/ThemeDocs.js.map +1 -0
- package/cjs/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +1 -0
- package/cjs/shared/locales/sv-SE.js +1 -0
- package/cjs/shared/locales/sv-SE.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 +8 -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 +13 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -5
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/components/aria-live/AriaLiveDocs.js +48 -0
- package/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/components/avatar/Avatar.d.ts +10 -0
- package/components/avatar/Avatar.js +17 -3
- package/components/avatar/Avatar.js.map +1 -1
- package/components/avatar/AvatarDocs.d.ts +3 -0
- package/components/avatar/AvatarDocs.js +95 -0
- package/components/avatar/AvatarDocs.js.map +1 -0
- package/components/avatar/AvatarGroup.d.ts +10 -0
- package/components/avatar/AvatarGroup.js +17 -5
- package/components/avatar/AvatarGroup.js.map +1 -1
- package/components/avatar/style/dnb-avatar.css +8 -0
- package/components/avatar/style/dnb-avatar.min.css +1 -1
- package/components/avatar/style/dnb-avatar.scss +9 -0
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/components/badge/BadgeDocs.d.ts +2 -0
- package/components/badge/BadgeDocs.js +48 -0
- package/components/badge/BadgeDocs.js.map +1 -0
- package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/components/breadcrumb/BreadcrumbDocs.js +119 -0
- package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/components/button/Button.d.ts +0 -3
- package/components/button/ButtonDocs.d.ts +1 -0
- package/components/button/ButtonDocs.js +7 -0
- package/components/button/ButtonDocs.js.map +1 -1
- package/components/date-picker/DatePickerAddon.js +1 -3
- package/components/date-picker/DatePickerAddon.js.map +1 -1
- package/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/components/date-picker/DatePickerCalc.js +41 -0
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.js +13 -11
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +1 -1
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +2 -2
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/hooks/useViews.d.ts +2 -4
- package/components/date-picker/hooks/useViews.js +38 -24
- package/components/date-picker/hooks/useViews.js.map +1 -1
- package/components/dialog/DialogDocs.d.ts +1 -0
- package/components/dialog/DialogDocs.js +12 -0
- package/components/dialog/DialogDocs.js.map +1 -1
- package/components/drawer/DrawerDocs.d.ts +2 -0
- package/components/drawer/DrawerDocs.js +63 -0
- package/components/drawer/DrawerDocs.js.map +1 -0
- package/components/dropdown/DropdownDocs.d.ts +2 -0
- package/components/dropdown/DropdownDocs.js +23 -0
- package/components/dropdown/DropdownDocs.js.map +1 -0
- package/components/form-label/FormLabelDocs.d.ts +2 -0
- package/components/form-label/FormLabelDocs.js +53 -0
- package/components/form-label/FormLabelDocs.js.map +1 -0
- package/components/form-row/FormRow.d.ts +45 -0
- package/components/form-row/FormRowDocs.d.ts +2 -0
- package/components/form-row/FormRowDocs.js +83 -0
- package/components/form-row/FormRowDocs.js.map +1 -0
- package/components/form-set/FormSet.d.ts +18 -0
- package/components/form-set/FormSetDocs.d.ts +3 -0
- package/components/form-set/FormSetDocs.js +50 -0
- package/components/form-set/FormSetDocs.js.map +1 -0
- package/components/form-status/FormStatus.d.ts +18 -18
- package/components/form-status/FormStatusDocs.d.ts +2 -0
- package/components/form-status/FormStatusDocs.js +83 -0
- package/components/form-status/FormStatusDocs.js.map +1 -0
- package/components/global-error/GlobalError.d.ts +13 -1
- package/components/global-error/GlobalError.js +15 -6
- package/components/global-error/GlobalError.js.map +1 -1
- package/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/components/global-error/GlobalErrorDocs.js +68 -0
- package/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/components/global-status/GlobalStatus.d.ts +37 -58
- package/components/global-status/GlobalStatusController.d.ts +0 -9
- package/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/components/global-status/GlobalStatusDocs.js +186 -0
- package/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/components/heading/HeadingDocs.d.ts +2 -0
- package/components/heading/HeadingDocs.js +73 -0
- package/components/heading/HeadingDocs.js.map +1 -0
- package/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/components/help-button/HelpButtonDocs.js +40 -0
- package/components/help-button/HelpButtonDocs.js.map +1 -0
- package/components/icon/IconDocs.d.ts +2 -0
- package/components/icon/IconDocs.js +53 -0
- package/components/icon/IconDocs.js.map +1 -0
- package/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/components/icon/IconPrimaryDocs.js +18 -0
- package/components/icon/IconPrimaryDocs.js.map +1 -0
- package/components/info-card/InfoCard.d.ts +6 -1
- package/components/info-card/InfoCard.js +4 -3
- package/components/info-card/InfoCard.js.map +1 -1
- package/components/info-card/InfoCardDocs.d.ts +3 -0
- package/components/info-card/InfoCardDocs.js +100 -0
- package/components/info-card/InfoCardDocs.js.map +1 -0
- package/components/input/Input.d.ts +0 -21
- package/components/input/InputDocs.d.ts +1 -0
- package/components/input/InputDocs.js +32 -0
- package/components/input/InputDocs.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -12
- package/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/components/input-masked/InputMaskedDocs.js +12 -0
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/components/input-masked/MultiInputMaskedDocs.js +18 -0
- package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/components/pagination/Pagination.d.ts +35 -33
- package/components/pagination/Pagination.js +2 -0
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationDocs.d.ts +3 -0
- package/components/pagination/PaginationDocs.js +185 -0
- package/components/pagination/PaginationDocs.js.map +1 -0
- package/components/pagination/PaginationHelpers.d.ts +0 -3
- package/components/pagination/PaginationInfinity.d.ts +0 -3
- package/components/pagination/PaginationProvider.js +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/radio/Radio.d.ts +12 -15
- package/components/radio/RadioDocs.d.ts +5 -0
- package/components/radio/RadioDocs.js +139 -0
- package/components/radio/RadioDocs.js.map +1 -0
- package/components/radio/RadioGroup.d.ts +0 -30
- package/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/components/skeleton/SkeletonDocs.js +38 -0
- package/components/skeleton/SkeletonDocs.js.map +1 -0
- package/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/components/skip-content/SkipContentDocs.js +23 -0
- package/components/skip-content/SkipContentDocs.js.map +1 -0
- package/components/tabs/Tabs.js +2 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tag/TagDocs.d.ts +4 -0
- package/components/tag/TagDocs.js +87 -0
- package/components/tag/TagDocs.js.map +1 -0
- package/components/textarea/Textarea.d.ts +0 -12
- package/components/textarea/TextareaDocs.d.ts +1 -0
- package/components/textarea/TextareaDocs.js +22 -0
- package/components/textarea/TextareaDocs.js.map +1 -1
- package/components/timeline/TimelineDocs.d.ts +3 -0
- package/components/timeline/TimelineDocs.js +60 -0
- package/components/timeline/TimelineDocs.js.map +1 -0
- package/components/toggle-button/ToggleButton.d.ts +0 -3
- package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/components/toggle-button/ToggleButtonDocs.js +7 -0
- package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
- package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/components/tooltip/TooltipDocs.d.ts +2 -0
- package/components/tooltip/TooltipDocs.js +73 -0
- package/components/tooltip/TooltipDocs.js.map +1 -0
- package/components/upload/Upload.js +6 -4
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadDocs.js +5 -0
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadFileList.js +5 -4
- package/components/upload/UploadFileList.js.map +1 -1
- package/components/upload/UploadFileListCell.d.ts +6 -1
- package/components/upload/UploadFileListCell.js +8 -5
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/components/upload/types.d.ts +5 -0
- package/components/upload/types.js.map +1 -1
- package/components/upload/useUpload.d.ts +1 -0
- package/components/upload/useUpload.js +7 -1
- package/components/upload/useUpload.js.map +1 -1
- package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
- package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/es/components/aria-live/AriaLiveDocs.js +48 -0
- package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/es/components/avatar/Avatar.d.ts +10 -0
- package/es/components/avatar/Avatar.js +17 -3
- package/es/components/avatar/Avatar.js.map +1 -1
- package/es/components/avatar/AvatarDocs.d.ts +3 -0
- package/es/components/avatar/AvatarDocs.js +95 -0
- package/es/components/avatar/AvatarDocs.js.map +1 -0
- package/es/components/avatar/AvatarGroup.d.ts +10 -0
- package/es/components/avatar/AvatarGroup.js +17 -5
- package/es/components/avatar/AvatarGroup.js.map +1 -1
- package/es/components/avatar/style/dnb-avatar.css +8 -0
- package/es/components/avatar/style/dnb-avatar.min.css +1 -1
- package/es/components/avatar/style/dnb-avatar.scss +9 -0
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/es/components/badge/BadgeDocs.d.ts +2 -0
- package/es/components/badge/BadgeDocs.js +48 -0
- package/es/components/badge/BadgeDocs.js.map +1 -0
- package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
- package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/es/components/button/Button.d.ts +0 -3
- package/es/components/button/ButtonDocs.d.ts +1 -0
- package/es/components/button/ButtonDocs.js +7 -0
- package/es/components/button/ButtonDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerAddon.js +1 -3
- package/es/components/date-picker/DatePickerAddon.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/es/components/date-picker/DatePickerCalc.js +39 -0
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.js +13 -11
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +1 -1
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +2 -2
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/hooks/useViews.d.ts +2 -4
- package/es/components/date-picker/hooks/useViews.js +39 -25
- package/es/components/date-picker/hooks/useViews.js.map +1 -1
- package/es/components/dialog/DialogDocs.d.ts +1 -0
- package/es/components/dialog/DialogDocs.js +12 -0
- package/es/components/dialog/DialogDocs.js.map +1 -1
- package/es/components/drawer/DrawerDocs.d.ts +2 -0
- package/es/components/drawer/DrawerDocs.js +63 -0
- package/es/components/drawer/DrawerDocs.js.map +1 -0
- package/es/components/dropdown/DropdownDocs.d.ts +2 -0
- package/es/components/dropdown/DropdownDocs.js +23 -0
- package/es/components/dropdown/DropdownDocs.js.map +1 -0
- package/es/components/form-label/FormLabelDocs.d.ts +2 -0
- package/es/components/form-label/FormLabelDocs.js +53 -0
- package/es/components/form-label/FormLabelDocs.js.map +1 -0
- package/es/components/form-row/FormRow.d.ts +45 -0
- package/es/components/form-row/FormRowDocs.d.ts +2 -0
- package/es/components/form-row/FormRowDocs.js +83 -0
- package/es/components/form-row/FormRowDocs.js.map +1 -0
- package/es/components/form-set/FormSet.d.ts +18 -0
- package/es/components/form-set/FormSetDocs.d.ts +3 -0
- package/es/components/form-set/FormSetDocs.js +50 -0
- package/es/components/form-set/FormSetDocs.js.map +1 -0
- package/es/components/form-status/FormStatus.d.ts +18 -18
- package/es/components/form-status/FormStatusDocs.d.ts +2 -0
- package/es/components/form-status/FormStatusDocs.js +83 -0
- package/es/components/form-status/FormStatusDocs.js.map +1 -0
- package/es/components/global-error/GlobalError.d.ts +13 -1
- package/es/components/global-error/GlobalError.js +14 -6
- 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 +68 -0
- package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/es/components/global-status/GlobalStatus.d.ts +37 -58
- package/es/components/global-status/GlobalStatusController.d.ts +0 -9
- package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/es/components/global-status/GlobalStatusDocs.js +186 -0
- package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/es/components/heading/HeadingDocs.d.ts +2 -0
- package/es/components/heading/HeadingDocs.js +73 -0
- package/es/components/heading/HeadingDocs.js.map +1 -0
- package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/es/components/help-button/HelpButtonDocs.js +40 -0
- package/es/components/help-button/HelpButtonDocs.js.map +1 -0
- package/es/components/icon/IconDocs.d.ts +2 -0
- package/es/components/icon/IconDocs.js +53 -0
- package/es/components/icon/IconDocs.js.map +1 -0
- package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/es/components/icon/IconPrimaryDocs.js +18 -0
- package/es/components/icon/IconPrimaryDocs.js.map +1 -0
- package/es/components/info-card/InfoCard.d.ts +6 -1
- package/es/components/info-card/InfoCard.js +4 -3
- 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 +100 -0
- package/es/components/info-card/InfoCardDocs.js.map +1 -0
- package/es/components/input/Input.d.ts +0 -21
- package/es/components/input/InputDocs.d.ts +1 -0
- package/es/components/input/InputDocs.js +32 -0
- package/es/components/input/InputDocs.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -12
- package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/es/components/input-masked/InputMaskedDocs.js +12 -0
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
- package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/es/components/pagination/Pagination.d.ts +35 -33
- package/es/components/pagination/Pagination.js +2 -0
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationDocs.d.ts +3 -0
- package/es/components/pagination/PaginationDocs.js +185 -0
- package/es/components/pagination/PaginationDocs.js.map +1 -0
- package/es/components/pagination/PaginationHelpers.d.ts +0 -3
- package/es/components/pagination/PaginationInfinity.d.ts +0 -3
- package/es/components/pagination/PaginationProvider.js +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/radio/Radio.d.ts +12 -15
- package/es/components/radio/RadioDocs.d.ts +5 -0
- package/es/components/radio/RadioDocs.js +139 -0
- package/es/components/radio/RadioDocs.js.map +1 -0
- package/es/components/radio/RadioGroup.d.ts +0 -30
- package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/es/components/skeleton/SkeletonDocs.js +38 -0
- package/es/components/skeleton/SkeletonDocs.js.map +1 -0
- package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/es/components/skip-content/SkipContentDocs.js +23 -0
- package/es/components/skip-content/SkipContentDocs.js.map +1 -0
- package/es/components/tabs/Tabs.js +2 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tag/TagDocs.d.ts +4 -0
- package/es/components/tag/TagDocs.js +87 -0
- package/es/components/tag/TagDocs.js.map +1 -0
- package/es/components/textarea/Textarea.d.ts +0 -12
- package/es/components/textarea/TextareaDocs.d.ts +1 -0
- package/es/components/textarea/TextareaDocs.js +22 -0
- package/es/components/textarea/TextareaDocs.js.map +1 -1
- package/es/components/timeline/TimelineDocs.d.ts +3 -0
- package/es/components/timeline/TimelineDocs.js +60 -0
- package/es/components/timeline/TimelineDocs.js.map +1 -0
- package/es/components/toggle-button/ToggleButton.d.ts +0 -3
- package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
- package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/es/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
- package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/es/components/tooltip/TooltipDocs.d.ts +2 -0
- package/es/components/tooltip/TooltipDocs.js +73 -0
- package/es/components/tooltip/TooltipDocs.js.map +1 -0
- package/es/components/upload/Upload.js +6 -4
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadDocs.js +5 -0
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadFileList.js +5 -4
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/components/upload/UploadFileListCell.d.ts +6 -1
- package/es/components/upload/UploadFileListCell.js +8 -5
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/upload/types.d.ts +5 -0
- package/es/components/upload/types.js.map +1 -1
- package/es/components/upload/useUpload.d.ts +1 -0
- package/es/components/upload/useUpload.js +7 -1
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
- package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +7 -6
- 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 +48 -62
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/es/extensions/forms/Field/Date/Date.js +2 -3
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Password/Password.js +2 -1
- package/es/extensions/forms/Field/Password/Password.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +10 -2
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- 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/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.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/VisibilityDocs.js +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +11 -15
- 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/Date/Date.d.ts +0 -6
- package/es/extensions/forms/Value/Date/Date.js +13 -34
- package/es/extensions/forms/Value/Date/Date.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 +6 -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 +35 -34
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -60
- 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 +17 -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/hooks/useFieldProps.js +16 -9
- 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/payment-card/PaymentCard.d.ts +7 -7
- package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
- package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
- package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/es/fragments/text-counter/TextCounterDocs.js +23 -0
- package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/es/shared/MediaQueryDocs.js +28 -0
- package/es/shared/MediaQueryDocs.js.map +1 -0
- package/es/shared/ThemeDocs.d.ts +2 -0
- package/es/shared/ThemeDocs.js +33 -0
- package/es/shared/ThemeDocs.js.map +1 -0
- package/es/shared/component-helper.js +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +1 -0
- package/es/shared/locales/sv-SE.js +1 -0
- package/es/shared/locales/sv-SE.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 +8 -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 +13 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +13 -5
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- 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 +7 -6
- 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 +63 -75
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/extensions/forms/Field/Date/Date.js +2 -3
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Password/Password.js +2 -1
- package/extensions/forms/Field/Password/Password.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/extensions/forms/Field/Upload/Upload.js +10 -2
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- 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/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.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/VisibilityDocs.js +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +11 -15
- 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/Date/Date.d.ts +0 -6
- package/extensions/forms/Value/Date/Date.js +14 -36
- package/extensions/forms/Value/Date/Date.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 +6 -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 +36 -34
- package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +107 -60
- 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 +17 -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/hooks/useFieldProps.js +16 -9
- 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/payment-card/PaymentCard.d.ts +7 -7
- package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/extensions/payment-card/PaymentCardDocs.js +199 -0
- package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/fragments/scroll-view/ScrollViewDocs.js +13 -0
- package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/fragments/text-counter/TextCounterDocs.js +23 -0
- package/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/shared/MediaQueryDocs.js +28 -0
- package/shared/MediaQueryDocs.js.map +1 -0
- package/shared/ThemeDocs.d.ts +2 -0
- package/shared/ThemeDocs.js +33 -0
- package/shared/ThemeDocs.js.map +1 -0
- package/shared/component-helper.js +1 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +1 -0
- package/shared/locales/sv-SE.js +1 -0
- package/shared/locales/sv-SE.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 +8 -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 +13 -5
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +13 -5
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- 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
|
@@ -6,7 +6,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
6
6
|
const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "keepInDOM", "validationMode", "variant", "sidebarId"];
|
|
7
7
|
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; }
|
|
8
8
|
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; }
|
|
9
|
-
import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
|
|
9
|
+
import React, { useContext, useCallback, useRef, useReducer, useMemo, useEffect } from 'react';
|
|
10
10
|
import classnames from 'classnames';
|
|
11
11
|
import { Space } from '../../../../components';
|
|
12
12
|
import { warn } from '../../../../shared/component-helper';
|
|
@@ -24,7 +24,7 @@ import { IterateOverSteps } from './IterateOverSteps';
|
|
|
24
24
|
import { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps';
|
|
25
25
|
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
26
26
|
function WizardContainer(props) {
|
|
27
|
-
var _dataContext$
|
|
27
|
+
var _dataContext$setField;
|
|
28
28
|
const {
|
|
29
29
|
className,
|
|
30
30
|
id: idProp,
|
|
@@ -54,56 +54,96 @@ function WizardContainer(props) {
|
|
|
54
54
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
55
55
|
const activeIndexRef = useRef(initialActiveIndex);
|
|
56
56
|
const totalStepsRef = useRef(NaN);
|
|
57
|
-
const
|
|
58
|
-
const
|
|
57
|
+
const submitCountRef = useRef(0);
|
|
58
|
+
const visitedStepsRef = useRef(new Map());
|
|
59
|
+
const fieldErrorRef = useRef(new Map());
|
|
60
|
+
const storeStepStateRef = useRef(new Map());
|
|
59
61
|
const hasErrorInOtherStepRef = useRef(false);
|
|
60
|
-
const visitedStepsRef = useRef({});
|
|
61
62
|
const elementRef = useRef();
|
|
62
63
|
const stepElementRef = useRef();
|
|
63
64
|
const preventNextStepRef = useRef(false);
|
|
64
|
-
const stepsRef = useRef(
|
|
65
|
-
const tmpStepsRef = useRef(
|
|
65
|
+
const stepsRef = useRef(new Map());
|
|
66
|
+
const tmpStepsRef = useRef();
|
|
67
|
+
const stepIndexRef = useRef(-1);
|
|
66
68
|
const updateTitlesRef = useRef();
|
|
67
69
|
const prerenderFieldPropsRef = useRef({});
|
|
68
70
|
const bypassOnNavigation = validationMode === 'bypassOnNavigation';
|
|
69
71
|
const sharedStateRef = useRef();
|
|
70
72
|
sharedStateRef.current = useSharedState(hasContext && id ? createReferenceKey(id, 'wizard') : undefined);
|
|
71
|
-
visitedStepsRef.current[activeIndexRef.current] = true;
|
|
72
|
-
const setStepState = useCallback((index, state) => {
|
|
73
|
-
stepStatusRef.current[index] = state;
|
|
74
|
-
}, []);
|
|
75
73
|
const hasFieldErrorInStep = useCallback(index => {
|
|
76
|
-
return
|
|
74
|
+
return Array.from(fieldErrorRef.current.values()).some(({
|
|
77
75
|
index: i,
|
|
78
76
|
hasError
|
|
79
77
|
}) => {
|
|
80
78
|
return i === index && hasError;
|
|
81
79
|
});
|
|
82
80
|
}, []);
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
setStepState(index, 'error');
|
|
81
|
+
const setStepAsVisited = useCallback(index => {
|
|
82
|
+
visitedStepsRef.current.set(index, true);
|
|
83
|
+
}, []);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
if (!initialActiveIndex) {
|
|
86
|
+
setStepAsVisited(activeIndexRef.current);
|
|
90
87
|
}
|
|
91
|
-
}, [
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
88
|
+
}, [initialActiveIndex, setStepAsVisited]);
|
|
89
|
+
const writeStepsState = useCallback((index = undefined, forStates = ['unknown', 'error']) => {
|
|
90
|
+
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
91
|
+
if (index !== undefined && index !== i) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
let result = undefined;
|
|
95
|
+
const existingState = storeStepStateRef.current.get(i);
|
|
96
|
+
if (forStates.includes('unknown')) {
|
|
97
|
+
const state = i < activeIndexRef.current && visitedStepsRef.current.get(i) === undefined;
|
|
98
|
+
if (state) {
|
|
99
|
+
result = 'unknown';
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (forStates.includes('error')) {
|
|
103
|
+
const state = hasFieldErrorInStep(i);
|
|
104
|
+
if (state) {
|
|
105
|
+
result = 'error';
|
|
106
|
+
} else if (existingState === 'error') {
|
|
107
|
+
if (i === activeIndexRef.current) {
|
|
108
|
+
result = undefined;
|
|
109
|
+
} else {
|
|
110
|
+
result = existingState;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
storeStepStateRef.current.set(i, result);
|
|
115
|
+
}
|
|
116
|
+
}, [hasFieldErrorInStep]);
|
|
117
|
+
const hasInvalidStepsState = useCallback((index = undefined, forStates = ['unknown', 'error']) => {
|
|
118
|
+
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
119
|
+
if (index !== undefined && index !== i) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
const state = storeStepStateRef.current.get(i);
|
|
123
|
+
if (forStates.includes('unknown')) {
|
|
124
|
+
if (state === 'unknown') {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (forStates.includes('error')) {
|
|
129
|
+
if (state === 'error') {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
100
133
|
}
|
|
101
|
-
|
|
134
|
+
return false;
|
|
135
|
+
}, []);
|
|
136
|
+
const setFieldError = useCallback((index, path, hasError) => {
|
|
137
|
+
fieldErrorRef.current.set(path, {
|
|
138
|
+
index,
|
|
139
|
+
hasError
|
|
140
|
+
});
|
|
141
|
+
}, []);
|
|
102
142
|
const preventNavigation = useCallback((shouldPrevent = true) => {
|
|
103
143
|
preventNextStepRef.current = shouldPrevent;
|
|
104
144
|
}, []);
|
|
105
145
|
const getStepChangeOptions = useCallback(index => {
|
|
106
|
-
var _stepsRef$current$
|
|
146
|
+
var _stepsRef$current$get;
|
|
107
147
|
const previousIndex = activeIndexRef.current;
|
|
108
148
|
const options = {
|
|
109
149
|
preventNavigation,
|
|
@@ -111,10 +151,10 @@ function WizardContainer(props) {
|
|
|
111
151
|
index: previousIndex
|
|
112
152
|
}
|
|
113
153
|
};
|
|
114
|
-
const id = (_stepsRef$current$
|
|
154
|
+
const id = (_stepsRef$current$get = stepsRef.current.get(index)) === null || _stepsRef$current$get === void 0 ? void 0 : _stepsRef$current$get.id;
|
|
115
155
|
if (id) {
|
|
116
|
-
var _stepsRef$current$
|
|
117
|
-
const previousId = (_stepsRef$current$
|
|
156
|
+
var _stepsRef$current$get2;
|
|
157
|
+
const previousId = (_stepsRef$current$get2 = stepsRef.current.get(previousIndex)) === null || _stepsRef$current$get2 === void 0 ? void 0 : _stepsRef$current$get2.id;
|
|
118
158
|
Object.assign(options, {
|
|
119
159
|
id
|
|
120
160
|
});
|
|
@@ -171,10 +211,11 @@ function WizardContainer(props) {
|
|
|
171
211
|
result = await callOnStepChange(index, mode);
|
|
172
212
|
}
|
|
173
213
|
setFormState('abort');
|
|
174
|
-
setShowAllErrors(bypassOnNavigation ? false :
|
|
214
|
+
setShowAllErrors(bypassOnNavigation ? false : hasInvalidStepsState(index, ['error']));
|
|
175
215
|
if (!preventNextStepRef.current && !(result instanceof Error)) {
|
|
176
216
|
handleLayoutEffect();
|
|
177
217
|
activeIndexRef.current = index;
|
|
218
|
+
setStepAsVisited(activeIndexRef.current);
|
|
178
219
|
forceUpdate();
|
|
179
220
|
}
|
|
180
221
|
preventNextStepRef.current = false;
|
|
@@ -191,13 +232,15 @@ function WizardContainer(props) {
|
|
|
191
232
|
if (bypassOnNavigation) {
|
|
192
233
|
await onSubmit();
|
|
193
234
|
} else {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
235
|
+
if (mode === 'next') {
|
|
236
|
+
writeStepsState(activeIndexRef.current, ['error']);
|
|
237
|
+
if (!hasInvalidStepsState(activeIndexRef.current)) {
|
|
238
|
+
await onSubmit();
|
|
239
|
+
}
|
|
197
240
|
}
|
|
198
241
|
}
|
|
199
242
|
}
|
|
200
|
-
}, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
|
|
243
|
+
}, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, hasInvalidStepsState, isInteractionRef, onStepChange, setFormState, setShowAllErrors, setStepAsVisited, writeStepsState]);
|
|
201
244
|
const setActiveIndex = useCallback((index, options) => {
|
|
202
245
|
if (index === activeIndexRef.current) {
|
|
203
246
|
return;
|
|
@@ -227,22 +270,10 @@ function WizardContainer(props) {
|
|
|
227
270
|
error
|
|
228
271
|
});
|
|
229
272
|
}, [setSubmitState]);
|
|
230
|
-
const handleUnknownStepsState = useCallback(() => {
|
|
231
|
-
const index = activeIndexRef.current;
|
|
232
|
-
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
233
|
-
if (!visitedStepsRef.current[i] && stepStatusRef.current[i] === undefined && i < index && i !== index) {
|
|
234
|
-
setStepState(i, 'unknown');
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}, [setStepState]);
|
|
238
|
-
const hasInvalidStepsState = useCallback(forStates => {
|
|
239
|
-
const steps = Object.values(stepStatusRef.current);
|
|
240
|
-
return (forStates || ['unknown', 'error']).some(state => steps.includes(state));
|
|
241
|
-
}, []);
|
|
242
273
|
const handleSubmit = useCallback(({
|
|
243
274
|
preventSubmit
|
|
244
275
|
}) => {
|
|
245
|
-
|
|
276
|
+
submitCountRef.current += 1;
|
|
246
277
|
if (hasInvalidStepsState()) {
|
|
247
278
|
return preventSubmit();
|
|
248
279
|
}
|
|
@@ -250,11 +281,16 @@ function WizardContainer(props) {
|
|
|
250
281
|
handleNext();
|
|
251
282
|
preventSubmit();
|
|
252
283
|
}
|
|
253
|
-
}, [
|
|
254
|
-
(_dataContext$
|
|
284
|
+
}, [hasInvalidStepsState, handleNext]);
|
|
285
|
+
(_dataContext$setField = dataContext.setFieldEventListener) === null || _dataContext$setField === void 0 ? void 0 : _dataContext$setField.call(dataContext, undefined, 'onSubmit', handleSubmit);
|
|
255
286
|
const {
|
|
256
287
|
check
|
|
257
288
|
} = useVisibility();
|
|
289
|
+
const mapOverChildrenRef = useRef(false);
|
|
290
|
+
const enableMapOverChildren = useCallback(() => {
|
|
291
|
+
mapOverChildrenRef.current = true;
|
|
292
|
+
}, []);
|
|
293
|
+
const activeIndex = activeIndexRef.current;
|
|
258
294
|
const providerValue = useMemo(() => {
|
|
259
295
|
return {
|
|
260
296
|
id,
|
|
@@ -264,21 +300,25 @@ function WizardContainer(props) {
|
|
|
264
300
|
stepsRef,
|
|
265
301
|
updateTitlesRef,
|
|
266
302
|
activeIndexRef,
|
|
303
|
+
stepIndexRef,
|
|
267
304
|
totalStepsRef,
|
|
268
|
-
|
|
305
|
+
submitCountRef,
|
|
269
306
|
prerenderFieldProps,
|
|
270
307
|
prerenderFieldPropsRef,
|
|
271
308
|
hasErrorInOtherStepRef,
|
|
272
309
|
keepInDOM,
|
|
310
|
+
enableMapOverChildren,
|
|
311
|
+
mapOverChildrenRef,
|
|
273
312
|
check,
|
|
274
313
|
setActiveIndex,
|
|
275
314
|
handlePrevious,
|
|
276
315
|
hasInvalidStepsState,
|
|
277
|
-
|
|
316
|
+
writeStepsState,
|
|
317
|
+
setFieldError,
|
|
278
318
|
handleNext,
|
|
279
319
|
setFormError
|
|
280
320
|
};
|
|
281
|
-
}, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, check, setActiveIndex, handlePrevious, hasInvalidStepsState,
|
|
321
|
+
}, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, enableMapOverChildren, check, setActiveIndex, handlePrevious, hasInvalidStepsState, writeStepsState, setFieldError, handleNext, setFormError]);
|
|
282
322
|
useLayoutEffect(() => {
|
|
283
323
|
if (id && hasContext) {
|
|
284
324
|
sharedStateRef.current.extend(providerValue);
|
|
@@ -289,8 +329,11 @@ function WizardContainer(props) {
|
|
|
289
329
|
(_updateTitlesRef$curr = updateTitlesRef.current) === null || _updateTitlesRef$curr === void 0 ? void 0 : _updateTitlesRef$curr.call(updateTitlesRef);
|
|
290
330
|
}, [stepsRef.current]);
|
|
291
331
|
const stepsLengthDidChange = useCallback(() => {
|
|
292
|
-
const
|
|
293
|
-
|
|
332
|
+
const tmpCount = tmpStepsRef.current;
|
|
333
|
+
if (tmpCount === undefined) {
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
const count = totalStepsRef.current;
|
|
294
337
|
return count !== 0 && tmpCount !== 0 && count !== tmpCount;
|
|
295
338
|
}, []);
|
|
296
339
|
useLayoutEffect(() => {
|
|
@@ -299,8 +342,8 @@ function WizardContainer(props) {
|
|
|
299
342
|
callOnStepChange(activeIndexRef.current, 'stepListModified');
|
|
300
343
|
(_executeLayoutAnimati = executeLayoutAnimationRef.current) === null || _executeLayoutAnimati === void 0 ? void 0 : _executeLayoutAnimati.call(executeLayoutAnimationRef);
|
|
301
344
|
}
|
|
302
|
-
tmpStepsRef.current =
|
|
303
|
-
}, [
|
|
345
|
+
tmpStepsRef.current = totalStepsRef.current;
|
|
346
|
+
}, [totalStepsRef.current, callOnStepChange, stepsLengthDidChange]);
|
|
304
347
|
if (!hasContext) {
|
|
305
348
|
warn('You may wrap Wizard.Container in Form.Handler');
|
|
306
349
|
return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {
|
|
@@ -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","hasVisibleErrorRef","hasErrorInOtherStepRef","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 hasVisibleErrorRef = useRef<InternalFieldError>({})\n const hasErrorInOtherStepRef = useRef<boolean>(false)\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(hasVisibleErrorRef.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 hasVisibleErrorRef.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 hasErrorInOtherStepRef,\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":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,OAAO,QACF,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,GAAGvB,KAAK,CAACwB,SAAS,GAAGxB,KAAK,CAACsB,eAAe;AAoEzE,SAASG,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,CAACW,WAAW,CAAC;EAC3C,MAAM;IACJmC,UAAU;IACVC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,WAAW;EAEf,MAAMjB,EAAE,GAAGnB,KAAK,CAACoB,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,aAAa,GAAGrD,MAAM,CAAuB,CAAC,CAAC,CAAC;EACtD,MAAMsD,kBAAkB,GAAGtD,MAAM,CAAqB,CAAC,CAAC,CAAC;EACzD,MAAMuD,sBAAsB,GAAGvD,MAAM,CAAU,KAAK,CAAC;EACrD,MAAMwD,eAAe,GAAGxD,MAAM,CAAuB,CAAC,CAAC,CAAC;EACxD,MAAMyD,UAAU,GAAGzD,MAAM,CAAc,CAAC;EACxC,MAAM0D,cAAc,GAAG1D,MAAM,CAAc,CAAC;EAC5C,MAAM2D,kBAAkB,GAAG3D,MAAM,CAAC,KAAK,CAAC;EACxC,MAAM4D,QAAQ,GAAG5D,MAAM,CAAQ,CAAC,CAAC,CAAC;EAClC,MAAM6D,WAAW,GAAG7D,MAAM,CAAQ,CAAC,CAAC,CAAC;EACrC,MAAM8D,eAAe,GAAG9D,MAAM,CAAa,CAAC;EAC5C,MAAM+D,sBAAsB,GAAG/D,MAAM,CAEnC,CAAC,CAAC,CAAC;EAEL,MAAMgE,kBAAkB,GAAG3B,cAAc,KAAK,oBAAoB;EAGlE,MAAM4B,cAAc,GAClBjE,MAAM,CAIJ,CAAC;EACLiE,cAAc,CAACC,OAAO,GAAGtD,cAAc,CACrCgC,UAAU,IAAIlB,EAAE,GAAGf,kBAAkB,CAACe,EAAE,EAAE,QAAQ,CAAC,GAAGyC,SACxD,CAAC;EAEDX,eAAe,CAACU,OAAO,CAAChB,cAAc,CAACgB,OAAO,CAAC,GAAG,IAAI;EAEtD,MAAME,YAAY,GAAGrE,WAAW,CAC9B,CAACsE,KAAa,EAAEC,KAAyB,KAAK;IAC5CjB,aAAa,CAACa,OAAO,CAACG,KAAK,CAAC,GAAGC,KAAK;EACtC,CAAC,EACD,EACF,CAAC;EACD,MAAMC,mBAAmB,GAAGxE,WAAW,CAAEsE,KAAgB,IAAK;IAC5D,OAAOG,MAAM,CAACC,MAAM,CAACnB,kBAAkB,CAACY,OAAO,CAAC,CAACQ,IAAI,CACnD,CAAC;MAAEL,KAAK,EAAEM,CAAC;MAAEC;IAAS,CAAC,KAAK;MAC1B,OAAOD,CAAC,KAAKN,KAAK,IAAIO,QAAQ;IAChC,CACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,MAAMC,WAA8C,GAAG9E,WAAW,CAChE,CAACsE,KAAK,EAAES,IAAI,EAAEF,QAAQ,KAAK;IACzBtB,kBAAkB,CAACY,OAAO,CAACY,IAAI,CAAC,GAAG;MAAET,KAAK;MAAEO;IAAS,CAAC;IAEtD,IAAIL,mBAAmB,CAACF,KAAK,CAAC,EAAE;MAC9BD,YAAY,CAACC,KAAK,EAAE,OAAO,CAAC;IAC9B;EACF,CAAC,EACD,CAACE,mBAAmB,EAAEH,YAAY,CACpC,CAAC;EAED,MAAMW,WAAW,GAAG7B,cAAc,CAACgB,OAAO;EAC1C,MAAMc,oBAAoB,GAAGT,mBAAmB,CAACQ,WAAW,CAAC;EAC7D7E,OAAO,CAAC,MAAM;IACZ,MAAM+E,YAAY,GAAG5B,aAAa,CAACa,OAAO,CAACa,WAAW,CAAC;IACvD,IACE,CAACC,oBAAoB,IACrB,CAAC,OAAO,EAAE,OAAO,CAAC,CAACE,QAAQ,CAACD,YAAY,CAAC,EACzC;MACAb,YAAY,CAACW,WAAW,EAAE,OAAO,CAAC;IACpC,CAAC,MAAM;MACLX,YAAY,CAACW,WAAW,EAAEC,oBAAoB,GAAG,OAAO,GAAGb,SAAS,CAAC;IACvE;EACF,CAAC,EAAE,CAACY,WAAW,EAAEC,oBAAoB,EAAEZ,YAAY,CAAC,CAAC;EAErD,MAAMe,iBAAiB,GAAGpF,WAAW,CAAC,CAACqF,aAAa,GAAG,IAAI,KAAK;IAC9DzB,kBAAkB,CAACO,OAAO,GAAGkB,aAAa;EAC5C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,oBAA+D,GACnEtF,WAAW,CACRsE,KAAK,IAAK;IAAA,IAAAiB,qBAAA;IACT,MAAMC,aAAa,GAAGrC,cAAc,CAACgB,OAAO;IAC5C,MAAMsB,OAAO,GAAG;MACdL,iBAAiB;MACjBM,YAAY,EAAE;QAAEpB,KAAK,EAAEkB;MAAc;IACvC,CAAC;IAED,MAAM7D,EAAE,IAAA4D,qBAAA,GAAG1B,QAAQ,CAACM,OAAO,CAACG,KAAK,CAAC,cAAAiB,qBAAA,uBAAvBA,qBAAA,CAAyB5D,EAAE;IACtC,IAAIA,EAAE,EAAE;MAAA,IAAAgE,qBAAA;MACN,MAAMC,UAAU,IAAAD,qBAAA,GAAG9B,QAAQ,CAACM,OAAO,CAACqB,aAAa,CAAC,cAAAG,qBAAA,uBAA/BA,qBAAA,CAAiChE,EAAE;MACtD8C,MAAM,CAACoB,MAAM,CAACJ,OAAO,EAAE;QAAE9D;MAAG,CAAC,CAAC;MAC9B8C,MAAM,CAACoB,MAAM,CAACJ,OAAO,CAACC,YAAY,EAAE;QAAE/D,EAAE,EAAEiE;MAAW,CAAC,CAAC;IACzD;IAEA,OAAOH,OAAO;EAChB,CAAC,EACD,CAACL,iBAAiB,CACpB,CAAC;EAEH,MAAMU,gBAAgB,GAAG9F,WAAW,CAClC,OAAOsE,KAAgB,EAAEzC,IAAuB,KAAK;IACnD,IAAItB,OAAO,CAAC0B,YAAY,CAAC,EAAE;MACzB,OAAO,MAAMA,YAAY,CAACqC,KAAK,EAAEzC,IAAI,EAAEyD,oBAAoB,CAAChB,KAAK,CAAC,CAAC;IACrE;IAEA,OAAOrC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGqC,KAAK,EAAEzC,IAAI,EAAEyD,oBAAoB,CAAChB,KAAK,CAAC,CAAC;EACjE,CAAC,EACD,CAACgB,oBAAoB,EAAErD,YAAY,CACrC,CAAC;EAED,MAAM;IAAE8D,QAAQ;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAC/CnF,qBAAqB,CAAC;IAAE4C,UAAU;IAAEC;EAAe,CAAC,CAAC;EAEvD,MAAMuC,yBAAyB,GAAGjG,MAAM,CAAa,CAAC;EACtDc,gBAAgB,CAAC;IACfoC,cAAc;IACdQ,cAAc;IACduC;EACF,CAAC,CAAC;EAEF,MAAMC,kBAAkB,GAAGnG,WAAW,CAAC,MAAM;IAC3C,IAAI,CAACgC,mBAAmB,EAAE;MACxB+D,QAAQ,CAAC,CAAC;IACZ;IACA,IAAI,CAAChE,oBAAoB,EAAE;MACzBiE,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACjE,oBAAoB,EAAEC,mBAAmB,EAAE+D,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAEtE,MAAMI,gBAAgB,GAAGpG,WAAW,CAClC,OAAO;IACLsE,KAAK;IACL+B,cAAc;IACdC,kBAAkB;IAClBC,+BAA+B;IAC/BC,0BAA0B;IAC1B3E;EAIsB,CAAC,KAAK;IAC5B,IAAI4E,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,GAAAzC,cAAc,CAACC,OAAO,cAAAwC,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,IAAI,cAAAF,sBAAA,wBAAAC,sBAAA,GAA5BD,sBAAA,CAA8B3E,YAAY,cAAA4E,sBAAA,uBAA1CA,sBAAA,CAAAE,IAAA,CAAAH,sBAAA,EACEtC,KAAK,EACLzC,IAAI,EACJyD,oBAAoB,CAAChB,KAAK,CAC5B,CAAC;MACH;MAEA,IAAI0C,MAAM,GAAG5C,SAAS;MAEtB,IACE,CAACkC,kBAAkB,IACnB,EAAEC,+BAA+B,IAAI,CAACN,gBAAgB,CAAC9B,OAAO,CAAC,EAC/D;QACA6C,MAAM,GAAG,MAAMlB,gBAAgB,CAACxB,KAAK,EAAEzC,IAAI,CAAC;MAC9C;MAGAiB,YAAY,CAAC,OAAO,CAAC;MAGrBE,gBAAgB,CACdiB,kBAAkB,GACd,KAAK,GACLX,aAAa,CAACa,OAAO,CAACG,KAAK,CAAC,KAAK,OACvC,CAAC;MAED,IAAI,CAACV,kBAAkB,CAACO,OAAO,IAAI,EAAE6C,MAAM,YAAYC,KAAK,CAAC,EAAE;QAC7Dd,kBAAkB,CAAC,CAAC;QAEpBhD,cAAc,CAACgB,OAAO,GAAGG,KAAK;QAC9BpB,WAAW,CAAC,CAAC;MACf;MAEAU,kBAAkB,CAACO,OAAO,GAAG,KAAK;MAClCsC,SAAS,GAAG,IAAI;MAEhB,OAAOO,MAAM;IACf,CAAC;IAED,MAAMjE,gBAAgB,CAAC;MACrBsD,cAAc;MACda,mBAAmB,EAAEb,cAAc;MACnCc,mBAAmB,EAAE5G,OAAO,CAAC0B,YAAY,CAAC;MAC1CyE,QAAQ,EAAEzC,kBAAkB,GAAG,MAAM,IAAI,GAAGyC;IAC9C,CAAC,CAAC;IAEF,IAAI,CAACD,SAAS,EAAE;MACd,IAAIxC,kBAAkB,EAAE;QACtB,MAAMyC,QAAQ,CAAC,CAAC;MAClB,CAAC,MAAM;QAKL,MAAMnC,KAAK,GAAGjB,aAAa,CAACa,OAAO,CAAChB,cAAc,CAACgB,OAAO,CAAC;QAC3D,IAAItC,IAAI,KAAK,MAAM,IAAI0C,KAAK,KAAK,OAAO,EAAE;UACxC,MAAMmC,QAAQ,CAAC,CAAC;QAClB;MACF;IACF;EACF,CAAC,EACD,CACEzC,kBAAkB,EAClB6B,gBAAgB,EAChBR,oBAAoB,EACpBa,kBAAkB,EAClBpD,gBAAgB,EAChBkD,gBAAgB,EAChBhE,YAAY,EACZa,YAAY,EACZE,gBAAgB,CAEpB,CAAC;EAED,MAAMoE,cAAc,GAAGpH,WAAW,CAChC,CAACsE,KAAgB,EAAEmB,OAA+B,KAAK;IACrD,IAAInB,KAAK,KAAKnB,cAAc,CAACgB,OAAO,EAAE;MACpC;IACF;IAEA,MAAMtC,IAAI,GAAGyC,KAAK,GAAGnB,cAAc,CAACgB,OAAO,GAAG,MAAM,GAAG,UAAU;IAEjEiC,gBAAgB,CAAAiB,aAAA;MACd/C,KAAK;MACL+B,cAAc,EAAExE,IAAI,KAAK,UAAU;MACnCA;IAAI,GACD4D,OAAO,CACX,CAAC;EACJ,CAAC,EACD,CAACW,gBAAgB,CACnB,CAAC;EAED,MAAMkB,cAAc,GAAGtH,WAAW,CAAC,MAAM;IACvCoH,cAAc,CAACjE,cAAc,CAACgB,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACiD,cAAc,CAAC,CAAC;EAEpB,MAAMG,UAAU,GAAGvH,WAAW,CAAC,MAAM;IACnCoH,cAAc,CAACjE,cAAc,CAACgB,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACiD,cAAc,CAAC,CAAC;EAEpB,MAAMI,YAAY,GAAGxH,WAAW,CAC9B,CAAC;IAAEyH;EAAa,CAAC,KAAK;IACpBL,cAAc,CACZK,YAAY,EACZ5F,IAAI,KAAK,OAAO,GAAG;MAAEwE,cAAc,EAAE;IAAK,CAAC,GAAGjC,SAChD,CAAC;EACH,CAAC,EACD,CAACvC,IAAI,EAAEuF,cAAc,CACvB,CAAC;EAED,MAAMM,YAAY,GAAG1H,WAAW,CAC7B2H,KAAY,IAAK;IAChB1E,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;MAAE0E;IAAM,CAAC,CAAC;EAC7B,CAAC,EACD,CAAC1E,cAAc,CACjB,CAAC;EAED,MAAM2E,uBAAuB,GAAG5H,WAAW,CAAC,MAAM;IAChD,MAAMsE,KAAK,GAAGnB,cAAc,CAACgB,OAAO;IACpC,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxB,aAAa,CAACe,OAAO,EAAES,CAAC,EAAE,EAAE;MAK9C,IACE,CAACnB,eAAe,CAACU,OAAO,CAACS,CAAC,CAAC,IAC3BtB,aAAa,CAACa,OAAO,CAACS,CAAC,CAAC,KAAKR,SAAS,IACtCQ,CAAC,GAAGN,KAAK,IACTM,CAAC,KAAKN,KAAK,EACX;QACAD,YAAY,CAACO,CAAC,EAAE,SAAS,CAAC;MAC5B;IACF;EACF,CAAC,EAAE,CAACP,YAAY,CAAC,CAAC;EAElB,MAAMwD,oBAAgE,GACpE7H,WAAW,CAAE8H,SAAS,IAAK;IACzB,MAAMC,KAAK,GAAGtD,MAAM,CAACC,MAAM,CAACpB,aAAa,CAACa,OAAO,CAAC;IAClD,OAAO,CAAC2D,SAAS,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAEnD,IAAI,CAAEJ,KAAK,IACpDwD,KAAK,CAAC5C,QAAQ,CAACZ,KAAK,CACtB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAER,MAAMyD,YAAY,GAAGhI,WAAW,CAC9B,CAAC;IAAEiI;EAAc,CAAC,KAAK;IACrBL,uBAAuB,CAAC,CAAC;IAGzB,IAAIC,oBAAoB,CAAC,CAAC,EAAE;MAC1B,OAAOI,aAAa,CAAC,CAAC;IACxB;IAEA,IAAI9E,cAAc,CAACgB,OAAO,GAAG,CAAC,GAAGf,aAAa,CAACe,OAAO,EAAE;MACtDoD,UAAU,CAAC,CAAC;MACZU,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EACD,CAACL,uBAAuB,EAAEC,oBAAoB,EAAEN,UAAU,CAC5D,CAAC;EACD,CAAA9F,qBAAA,GAAAmB,WAAW,CAACsF,eAAe,cAAAzG,qBAAA,uBAA3BA,qBAAA,CAAAsF,IAAA,CAAAnE,WAAW,EAAmBoF,YAAY,CAAC;EAE3C,MAAM;IAAEG;EAAM,CAAC,GAAGnH,aAAa,CAAC,CAAC;EAEjC,MAAMoH,aAAa,GAAGjI,OAAO,CAAqB,MAAM;IACtD,OAAO;MACLwB,EAAE;MACFqD,WAAW;MACXlD,kBAAkB;MAClB6B,cAAc;MACdE,QAAQ;MACRE,eAAe;MACfZ,cAAc;MACdC,aAAa;MACbE,aAAa;MACblB,mBAAmB;MACnB4B,sBAAsB;MACtBR,sBAAsB;MACtBnB,SAAS;MACT8F,KAAK;MACLf,cAAc;MACdE,cAAc;MACdO,oBAAoB;MACpB/C,WAAW;MACXyC,UAAU;MACVG;IACF,CAAC;EACH,CAAC,EAAE,CACD/F,EAAE,EACFqD,WAAW,EACXlD,kBAAkB,EAClBM,mBAAmB,EACnBC,SAAS,EACT8F,KAAK,EACLf,cAAc,EACdE,cAAc,EACdO,oBAAoB,EACpB/C,WAAW,EACXyC,UAAU,EACVG,YAAY,CACb,CAAC;EAGFtG,eAAe,CAAC,MAAM;IACpB,IAAIO,EAAE,IAAIkB,UAAU,EAAE;MACpBqB,cAAc,CAACC,OAAO,CAACkE,MAAM,CAACD,aAAa,CAAC;IAC9C;EACF,CAAC,EAAE,CAACvF,UAAU,EAAElB,EAAE,EAAEyG,aAAa,CAAC,CAAC;EAEnChH,eAAe,CAAC,MAAM;IAAA,IAAAkH,qBAAA;IACpB,CAAAA,qBAAA,GAAAvE,eAAe,CAACI,OAAO,cAAAmE,qBAAA,uBAAvBA,qBAAA,CAAAvB,IAAA,CAAAhD,eAA0B,CAAC;EAE7B,CAAC,EAAE,CAACF,QAAQ,CAACM,OAAO,CAAC,CAAC;EAEtB,MAAMoE,oBAAoB,GAAGvI,WAAW,CAAC,MAAM;IAC7C,MAAMwI,KAAK,GAAG/D,MAAM,CAACgE,IAAI,CAAC5E,QAAQ,CAACM,OAAO,CAAC,CAACuE,MAAM;IAClD,MAAMC,QAAQ,GAAGlE,MAAM,CAACgE,IAAI,CAAC3E,WAAW,CAACK,OAAO,CAAC,CAACuE,MAAM;IACxD,OAAOF,KAAK,KAAK,CAAC,IAAIG,QAAQ,KAAK,CAAC,IAAIH,KAAK,KAAKG,QAAQ;EAC5D,CAAC,EAAE,EAAE,CAAC;EAGNvH,eAAe,CAAC,MAAM;IACpB,IAAImH,oBAAoB,CAAC,CAAC,EAAE;MAAA,IAAAK,qBAAA;MAC1B9C,gBAAgB,CAAC3C,cAAc,CAACgB,OAAO,EAAE,kBAAkB,CAAC;MAC5D,CAAAyE,qBAAA,GAAA1C,yBAAyB,CAAC/B,OAAO,cAAAyE,qBAAA,uBAAjCA,qBAAA,CAAA7B,IAAA,CAAAb,yBAAoC,CAAC;IACvC;IACApC,WAAW,CAACK,OAAO,GAAGN,QAAQ,CAACM,OAAO;EAExC,CAAC,EAAE,CAACN,QAAQ,CAACM,OAAO,EAAE2B,gBAAgB,EAAEyC,oBAAoB,CAAC,CAAC;EAE9D,IAAI,CAAC1F,UAAU,EAAE;IACfvC,IAAI,CAAC,+CAA+C,CAAC;IACrD,OACER,KAAA,CAAA+I,aAAA,CAAClI,OAAO,QACNb,KAAA,CAAA+I,aAAA,CAACtH,eAAe,EAAAuH,QAAA,KAAKtH,KAAK;MAAEG,EAAE,EAAEA;IAAG,EAAE,CAC9B,CAAC;EAEd;EAEA,OACE7B,KAAA,CAAA+I,aAAA,CAACpI,aAAa,CAACsI,QAAQ;IAACC,KAAK,EAAEZ;EAAc,GAC3CtI,KAAA,CAAA+I,aAAA,CAACxI,KAAK,EAAAyI,QAAA;IACJpH,SAAS,EAAEtB,UAAU,qDAESmC,OAAO,IACnCb,SACF,CAAE;IACFuH,QAAQ,EAAEvF;EAAW,GACjBjB,IAAI,GAER3C,KAAA,CAAA+I,aAAA,CAAC5H,YAAY;IACXY,IAAI,EAAEA,IAAK;IACXU,OAAO,EAAEA,OAAQ;IACjBJ,WAAW,EAAEA,WAAY;IACzBqF,YAAY,EAAEA,YAAa;IAC3BhF,SAAS,EAAEA;EAAU,CACtB,CAAC,EAEF1C,KAAA,CAAA+I,aAAA;IAAKnH,SAAS,EAAC;EAAmC,GAChD5B,KAAA,CAAA+I,aAAA,CAAC3H,gBAAgB,QAAEgB,QAA2B,CAC3C,CACA,CAAC,EAEPE,mBAAmB,IAAI,CAACC,SAAS,IAChCvC,KAAA,CAAA+I,aAAA,CAAC1H,+BAA+B;IAC9B6C,sBAAsB,EAAEA;EAAuB,CAChD,CAEmB,CAAC;AAE7B;AAEAzC,eAAe,CAAC2H,qBAAqB,GAAG,IAAI;AAE5C,eAAe3H,eAAe","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$setField","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","setFieldEventListener","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.setFieldEventListener?.(undefined, 'onSubmit', 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":"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","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,8 +17,9 @@ 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>>;
|
|
17
24
|
hasErrorInOtherStepRef?: React.MutableRefObject<boolean>;
|
|
18
25
|
prerenderFieldProps?: boolean;
|
|
@@ -21,11 +28,17 @@ export interface WizardContextState {
|
|
|
21
28
|
handleNext?: () => void;
|
|
22
29
|
setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
|
|
23
30
|
setFormError?: (error: Error) => void;
|
|
24
|
-
|
|
25
|
-
|
|
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;
|
|
26
34
|
check?: ({ visibleWhen }: {
|
|
27
35
|
visibleWhen: VisibleWhen;
|
|
28
36
|
}) => boolean;
|
|
37
|
+
collectStepsData?: (args: HandleStatusArgs) => {
|
|
38
|
+
title: string;
|
|
39
|
+
};
|
|
40
|
+
enableMapOverChildren?: () => void;
|
|
41
|
+
mapOverChildrenRef?: React.MutableRefObject<boolean>;
|
|
29
42
|
}
|
|
30
43
|
declare const WizardContext: React.Context<WizardContextState>;
|
|
31
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":[]}
|