@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
|
@@ -7,7 +7,7 @@ const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollM
|
|
|
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
9
|
import "core-js/modules/web.dom-collections.iterator.js";
|
|
10
|
-
import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
|
|
10
|
+
import React, { useContext, useCallback, useRef, useReducer, useMemo, useEffect } from 'react';
|
|
11
11
|
import classnames from 'classnames';
|
|
12
12
|
import { Space } from '../../../../components';
|
|
13
13
|
import { warn } from '../../../../shared/component-helper';
|
|
@@ -25,7 +25,7 @@ import { IterateOverSteps } from './IterateOverSteps';
|
|
|
25
25
|
import { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps';
|
|
26
26
|
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
27
27
|
function WizardContainer(props) {
|
|
28
|
-
var _dataContext$
|
|
28
|
+
var _dataContext$setField;
|
|
29
29
|
const {
|
|
30
30
|
className,
|
|
31
31
|
id: idProp,
|
|
@@ -55,26 +55,24 @@ function WizardContainer(props) {
|
|
|
55
55
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
56
56
|
const activeIndexRef = useRef(initialActiveIndex);
|
|
57
57
|
const totalStepsRef = useRef(NaN);
|
|
58
|
-
const
|
|
59
|
-
const
|
|
58
|
+
const submitCountRef = useRef(0);
|
|
59
|
+
const visitedStepsRef = useRef(new Map());
|
|
60
|
+
const fieldErrorRef = useRef(new Map());
|
|
61
|
+
const storeStepStateRef = useRef(new Map());
|
|
60
62
|
const hasErrorInOtherStepRef = useRef(false);
|
|
61
|
-
const visitedStepsRef = useRef({});
|
|
62
63
|
const elementRef = useRef();
|
|
63
64
|
const stepElementRef = useRef();
|
|
64
65
|
const preventNextStepRef = useRef(false);
|
|
65
|
-
const stepsRef = useRef(
|
|
66
|
-
const tmpStepsRef = useRef(
|
|
66
|
+
const stepsRef = useRef(new Map());
|
|
67
|
+
const tmpStepsRef = useRef();
|
|
68
|
+
const stepIndexRef = useRef(-1);
|
|
67
69
|
const updateTitlesRef = useRef();
|
|
68
70
|
const prerenderFieldPropsRef = useRef({});
|
|
69
71
|
const bypassOnNavigation = validationMode === 'bypassOnNavigation';
|
|
70
72
|
const sharedStateRef = useRef();
|
|
71
73
|
sharedStateRef.current = useSharedState(hasContext && id ? createReferenceKey(id, 'wizard') : undefined);
|
|
72
|
-
visitedStepsRef.current[activeIndexRef.current] = true;
|
|
73
|
-
const setStepState = useCallback((index, state) => {
|
|
74
|
-
stepStatusRef.current[index] = state;
|
|
75
|
-
}, []);
|
|
76
74
|
const hasFieldErrorInStep = useCallback(index => {
|
|
77
|
-
return
|
|
75
|
+
return Array.from(fieldErrorRef.current.values()).some(_ref => {
|
|
78
76
|
let {
|
|
79
77
|
index: i,
|
|
80
78
|
hasError
|
|
@@ -82,31 +80,77 @@ function WizardContainer(props) {
|
|
|
82
80
|
return i === index && hasError;
|
|
83
81
|
});
|
|
84
82
|
}, []);
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
setStepState(index, 'error');
|
|
83
|
+
const setStepAsVisited = useCallback(index => {
|
|
84
|
+
visitedStepsRef.current.set(index, true);
|
|
85
|
+
}, []);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (!initialActiveIndex) {
|
|
88
|
+
setStepAsVisited(activeIndexRef.current);
|
|
92
89
|
}
|
|
93
|
-
}, [
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
90
|
+
}, [initialActiveIndex, setStepAsVisited]);
|
|
91
|
+
const writeStepsState = useCallback(function () {
|
|
92
|
+
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
|
|
93
|
+
let forStates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['unknown', 'error'];
|
|
94
|
+
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
95
|
+
if (index !== undefined && index !== i) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
let result = undefined;
|
|
99
|
+
const existingState = storeStepStateRef.current.get(i);
|
|
100
|
+
if (forStates.includes('unknown')) {
|
|
101
|
+
const state = i < activeIndexRef.current && visitedStepsRef.current.get(i) === undefined;
|
|
102
|
+
if (state) {
|
|
103
|
+
result = 'unknown';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (forStates.includes('error')) {
|
|
107
|
+
const state = hasFieldErrorInStep(i);
|
|
108
|
+
if (state) {
|
|
109
|
+
result = 'error';
|
|
110
|
+
} else if (existingState === 'error') {
|
|
111
|
+
if (i === activeIndexRef.current) {
|
|
112
|
+
result = undefined;
|
|
113
|
+
} else {
|
|
114
|
+
result = existingState;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
storeStepStateRef.current.set(i, result);
|
|
119
|
+
}
|
|
120
|
+
}, [hasFieldErrorInStep]);
|
|
121
|
+
const hasInvalidStepsState = useCallback(function () {
|
|
122
|
+
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
|
|
123
|
+
let forStates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['unknown', 'error'];
|
|
124
|
+
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
125
|
+
if (index !== undefined && index !== i) {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const state = storeStepStateRef.current.get(i);
|
|
129
|
+
if (forStates.includes('unknown')) {
|
|
130
|
+
if (state === 'unknown') {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (forStates.includes('error')) {
|
|
135
|
+
if (state === 'error') {
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
102
139
|
}
|
|
103
|
-
|
|
140
|
+
return false;
|
|
141
|
+
}, []);
|
|
142
|
+
const setFieldError = useCallback((index, path, hasError) => {
|
|
143
|
+
fieldErrorRef.current.set(path, {
|
|
144
|
+
index,
|
|
145
|
+
hasError
|
|
146
|
+
});
|
|
147
|
+
}, []);
|
|
104
148
|
const preventNavigation = useCallback(function () {
|
|
105
149
|
let shouldPrevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
106
150
|
preventNextStepRef.current = shouldPrevent;
|
|
107
151
|
}, []);
|
|
108
152
|
const getStepChangeOptions = useCallback(index => {
|
|
109
|
-
var _stepsRef$current$
|
|
153
|
+
var _stepsRef$current$get;
|
|
110
154
|
const previousIndex = activeIndexRef.current;
|
|
111
155
|
const options = {
|
|
112
156
|
preventNavigation,
|
|
@@ -114,10 +158,10 @@ function WizardContainer(props) {
|
|
|
114
158
|
index: previousIndex
|
|
115
159
|
}
|
|
116
160
|
};
|
|
117
|
-
const id = (_stepsRef$current$
|
|
161
|
+
const id = (_stepsRef$current$get = stepsRef.current.get(index)) === null || _stepsRef$current$get === void 0 ? void 0 : _stepsRef$current$get.id;
|
|
118
162
|
if (id) {
|
|
119
|
-
var _stepsRef$current$
|
|
120
|
-
const previousId = (_stepsRef$current$
|
|
163
|
+
var _stepsRef$current$get2;
|
|
164
|
+
const previousId = (_stepsRef$current$get2 = stepsRef.current.get(previousIndex)) === null || _stepsRef$current$get2 === void 0 ? void 0 : _stepsRef$current$get2.id;
|
|
121
165
|
Object.assign(options, {
|
|
122
166
|
id
|
|
123
167
|
});
|
|
@@ -175,10 +219,11 @@ function WizardContainer(props) {
|
|
|
175
219
|
result = await callOnStepChange(index, mode);
|
|
176
220
|
}
|
|
177
221
|
setFormState('abort');
|
|
178
|
-
setShowAllErrors(bypassOnNavigation ? false :
|
|
222
|
+
setShowAllErrors(bypassOnNavigation ? false : hasInvalidStepsState(index, ['error']));
|
|
179
223
|
if (!preventNextStepRef.current && !(result instanceof Error)) {
|
|
180
224
|
handleLayoutEffect();
|
|
181
225
|
activeIndexRef.current = index;
|
|
226
|
+
setStepAsVisited(activeIndexRef.current);
|
|
182
227
|
forceUpdate();
|
|
183
228
|
}
|
|
184
229
|
preventNextStepRef.current = false;
|
|
@@ -195,13 +240,15 @@ function WizardContainer(props) {
|
|
|
195
240
|
if (bypassOnNavigation) {
|
|
196
241
|
await onSubmit();
|
|
197
242
|
} else {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
243
|
+
if (mode === 'next') {
|
|
244
|
+
writeStepsState(activeIndexRef.current, ['error']);
|
|
245
|
+
if (!hasInvalidStepsState(activeIndexRef.current)) {
|
|
246
|
+
await onSubmit();
|
|
247
|
+
}
|
|
201
248
|
}
|
|
202
249
|
}
|
|
203
250
|
}
|
|
204
|
-
}, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
|
|
251
|
+
}, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, hasInvalidStepsState, isInteractionRef, onStepChange, setFormState, setShowAllErrors, setStepAsVisited, writeStepsState]);
|
|
205
252
|
const setActiveIndex = useCallback((index, options) => {
|
|
206
253
|
if (index === activeIndexRef.current) {
|
|
207
254
|
return;
|
|
@@ -232,23 +279,11 @@ function WizardContainer(props) {
|
|
|
232
279
|
error
|
|
233
280
|
});
|
|
234
281
|
}, [setSubmitState]);
|
|
235
|
-
const handleUnknownStepsState = useCallback(() => {
|
|
236
|
-
const index = activeIndexRef.current;
|
|
237
|
-
for (let i = 0; i < totalStepsRef.current; i++) {
|
|
238
|
-
if (!visitedStepsRef.current[i] && stepStatusRef.current[i] === undefined && i < index && i !== index) {
|
|
239
|
-
setStepState(i, 'unknown');
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}, [setStepState]);
|
|
243
|
-
const hasInvalidStepsState = useCallback(forStates => {
|
|
244
|
-
const steps = Object.values(stepStatusRef.current);
|
|
245
|
-
return (forStates || ['unknown', 'error']).some(state => steps.includes(state));
|
|
246
|
-
}, []);
|
|
247
282
|
const handleSubmit = useCallback(_ref4 => {
|
|
248
283
|
let {
|
|
249
284
|
preventSubmit
|
|
250
285
|
} = _ref4;
|
|
251
|
-
|
|
286
|
+
submitCountRef.current += 1;
|
|
252
287
|
if (hasInvalidStepsState()) {
|
|
253
288
|
return preventSubmit();
|
|
254
289
|
}
|
|
@@ -256,11 +291,16 @@ function WizardContainer(props) {
|
|
|
256
291
|
handleNext();
|
|
257
292
|
preventSubmit();
|
|
258
293
|
}
|
|
259
|
-
}, [
|
|
260
|
-
(_dataContext$
|
|
294
|
+
}, [hasInvalidStepsState, handleNext]);
|
|
295
|
+
(_dataContext$setField = dataContext.setFieldEventListener) === null || _dataContext$setField === void 0 ? void 0 : _dataContext$setField.call(dataContext, undefined, 'onSubmit', handleSubmit);
|
|
261
296
|
const {
|
|
262
297
|
check
|
|
263
298
|
} = useVisibility();
|
|
299
|
+
const mapOverChildrenRef = useRef(false);
|
|
300
|
+
const enableMapOverChildren = useCallback(() => {
|
|
301
|
+
mapOverChildrenRef.current = true;
|
|
302
|
+
}, []);
|
|
303
|
+
const activeIndex = activeIndexRef.current;
|
|
264
304
|
const providerValue = useMemo(() => {
|
|
265
305
|
return {
|
|
266
306
|
id,
|
|
@@ -270,21 +310,25 @@ function WizardContainer(props) {
|
|
|
270
310
|
stepsRef,
|
|
271
311
|
updateTitlesRef,
|
|
272
312
|
activeIndexRef,
|
|
313
|
+
stepIndexRef,
|
|
273
314
|
totalStepsRef,
|
|
274
|
-
|
|
315
|
+
submitCountRef,
|
|
275
316
|
prerenderFieldProps,
|
|
276
317
|
prerenderFieldPropsRef,
|
|
277
318
|
hasErrorInOtherStepRef,
|
|
278
319
|
keepInDOM,
|
|
320
|
+
enableMapOverChildren,
|
|
321
|
+
mapOverChildrenRef,
|
|
279
322
|
check,
|
|
280
323
|
setActiveIndex,
|
|
281
324
|
handlePrevious,
|
|
282
325
|
hasInvalidStepsState,
|
|
283
|
-
|
|
326
|
+
writeStepsState,
|
|
327
|
+
setFieldError,
|
|
284
328
|
handleNext,
|
|
285
329
|
setFormError
|
|
286
330
|
};
|
|
287
|
-
}, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, check, setActiveIndex, handlePrevious, hasInvalidStepsState,
|
|
331
|
+
}, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, enableMapOverChildren, check, setActiveIndex, handlePrevious, hasInvalidStepsState, writeStepsState, setFieldError, handleNext, setFormError]);
|
|
288
332
|
useLayoutEffect(() => {
|
|
289
333
|
if (id && hasContext) {
|
|
290
334
|
sharedStateRef.current.extend(providerValue);
|
|
@@ -295,8 +339,11 @@ function WizardContainer(props) {
|
|
|
295
339
|
(_updateTitlesRef$curr = updateTitlesRef.current) === null || _updateTitlesRef$curr === void 0 ? void 0 : _updateTitlesRef$curr.call(updateTitlesRef);
|
|
296
340
|
}, [stepsRef.current]);
|
|
297
341
|
const stepsLengthDidChange = useCallback(() => {
|
|
298
|
-
const
|
|
299
|
-
|
|
342
|
+
const tmpCount = tmpStepsRef.current;
|
|
343
|
+
if (tmpCount === undefined) {
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
const count = totalStepsRef.current;
|
|
300
347
|
return count !== 0 && tmpCount !== 0 && count !== tmpCount;
|
|
301
348
|
}, []);
|
|
302
349
|
useLayoutEffect(() => {
|
|
@@ -305,8 +352,8 @@ function WizardContainer(props) {
|
|
|
305
352
|
callOnStepChange(activeIndexRef.current, 'stepListModified');
|
|
306
353
|
(_executeLayoutAnimati = executeLayoutAnimationRef.current) === null || _executeLayoutAnimati === void 0 ? void 0 : _executeLayoutAnimati.call(executeLayoutAnimationRef);
|
|
307
354
|
}
|
|
308
|
-
tmpStepsRef.current =
|
|
309
|
-
}, [
|
|
355
|
+
tmpStepsRef.current = totalStepsRef.current;
|
|
356
|
+
}, [totalStepsRef.current, callOnStepChange, stepsLengthDidChange]);
|
|
310
357
|
if (!hasContext) {
|
|
311
358
|
warn('You may wrap Wizard.Container in Form.Handler');
|
|
312
359
|
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","_ref","i","hasError","revealError","path","activeIndex","hasErrorInActiveStep","currentState","includes","preventNavigation","shouldPrevent","arguments","length","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref2","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref3","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","_ref4","preventSubmit","setHandleSubmit","check","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","useEffect","classnames","Space","warn","isAsync","useId","WizardContext","DataContext","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","useLayoutEffect","window","WizardContainer","props","_dataContext$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","_ref","i","hasError","setStepAsVisited","set","writeStepsState","arguments","length","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","_ref2","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref3","current_step","setFormError","error","handleSubmit","_ref4","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,60 @@
|
|
|
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(_ref => {
|
|
18
|
+
let {
|
|
19
|
+
id,
|
|
20
|
+
index,
|
|
21
|
+
inactive,
|
|
22
|
+
title
|
|
23
|
+
} = _ref;
|
|
24
|
+
if (!hasInvalidStepsState) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
writeStepsState(index);
|
|
28
|
+
const stringifiedTitle = title !== undefined ? convertJsxToString(title) : 'Title missing';
|
|
29
|
+
let status = undefined;
|
|
30
|
+
let statusState = undefined;
|
|
31
|
+
if (index !== activeIndexRef.current && !inactive) {
|
|
32
|
+
if (hasInvalidStepsState(index, ['error'])) {
|
|
33
|
+
status = translations.Step.stepHasError;
|
|
34
|
+
statusState = 'error';
|
|
35
|
+
} else if (submitCountRef.current > 0 && hasInvalidStepsState(index, ['unknown'])) {
|
|
36
|
+
status = 'Unknown state';
|
|
37
|
+
statusState = 'warn';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (status) {
|
|
41
|
+
hasErrorInOtherStepRef.current = true;
|
|
42
|
+
}
|
|
43
|
+
stepsRef.current.set(index, {
|
|
44
|
+
index,
|
|
45
|
+
id,
|
|
46
|
+
title,
|
|
47
|
+
stringifiedTitle,
|
|
48
|
+
inactive,
|
|
49
|
+
status,
|
|
50
|
+
statusState
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
title
|
|
54
|
+
};
|
|
55
|
+
}, [activeIndexRef, hasErrorInOtherStepRef, hasInvalidStepsState, stepsRef, submitCountRef, translations.Step.stepHasError, writeStepsState]);
|
|
56
|
+
return {
|
|
57
|
+
collectStepsData
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# 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","_ref","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,CAClCc,IAAA,IAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAAJ,IAAA;IAC7B,IAAI,CAACH,oBAAoB,EAAE;MACzB;IACF;IAEAD,eAAe,CAACM,KAAK,CAAC;IAEtB,MAAMG,gBAAgB,GACpBD,KAAK,KAAKE,SAAS,GAAGlB,kBAAkB,CAACgB,KAAK,CAAC,GAAG,eAAe;IAEnE,IAAIG,MAAM,GAAGD,SAAS;IACtB,IAAIE,WAAW,GAAGF,SAAS;IAC3B,IAAIJ,KAAK,KAAKV,cAAc,CAACiB,OAAO,IAAI,CAACN,QAAQ,EAAE;MACjD,IAAIN,oBAAoB,CAACK,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;QAC1CK,MAAM,GAAGT,YAAY,CAACY,IAAI,CAACC,YAAY;QACvCH,WAAW,GAAG,OAAO;MACvB,CAAC,MAAM,IACLb,cAAc,CAACc,OAAO,GAAG,CAAC,IAC1BZ,oBAAoB,CAACK,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EACxC;QACAK,MAAM,GAAG,eAAe;QACxBC,WAAW,GAAG,MAAM;MACtB;IACF;IAEA,IAAID,MAAM,EAAE;MACVd,sBAAsB,CAACgB,OAAO,GAAG,IAAI;IACvC;IAEAf,QAAQ,CAACe,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,CACEZ,cAAc,EACdC,sBAAsB,EACtBI,oBAAoB,EACpBH,QAAQ,EACRC,cAAc,EACdG,YAAY,CAACY,IAAI,CAACC,YAAY,EAC9Bf,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
|
}>;
|