@dnb/eufemia 10.28.0 → 10.30.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 +45 -0
- package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
- package/cjs/components/dropdown/Dropdown.d.ts +22 -5
- package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/icon/style/dnb-icon.css +1 -0
- package/cjs/components/icon/style/dnb-icon.min.css +1 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -0
- package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/cjs/components/progress-indicator/types.d.ts +95 -0
- package/cjs/components/progress-indicator/types.js +11 -0
- package/cjs/components/progress-indicator/types.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +7 -2
- package/cjs/extensions/forms/DataContext/Context.js +0 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Field/Name/Name.js +73 -0
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/index.js +27 -0
- package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/cjs/extensions/forms/Field/Option/Option.js +21 -0
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
- package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Value/Name/Name.js +50 -0
- package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Name/index.js +27 -0
- package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/cjs/extensions/forms/Value/String/String.js +8 -3
- package/cjs/extensions/forms/Value/String/String.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +3 -0
- package/cjs/extensions/forms/Value/index.js +21 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +77 -43
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +3 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/cjs/shared/Context.d.ts +4 -4
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -0
- package/cjs/shared/component-helper.js +8 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
- package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
- package/cjs/shared/helpers/filterValidProps.js.map +1 -1
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/cjs/shared/helpers/runCssVersionMismatchWarning.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 +129 -98
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +77 -43
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +77 -43
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -1
- package/cjs/style/themes/eiendom/basis.js +4 -0
- package/cjs/style/themes/eiendom/basis.js.map +1 -0
- package/cjs/style/themes/eiendom/index.js +5 -0
- package/cjs/style/themes/eiendom/index.js.map +1 -0
- package/cjs/style/themes/sbanken/basis.js +4 -0
- package/cjs/style/themes/sbanken/basis.js.map +1 -0
- package/cjs/style/themes/sbanken/index.js +5 -0
- package/cjs/style/themes/sbanken/index.js.map +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/ui/basis.js +4 -0
- package/cjs/style/themes/ui/basis.js.map +1 -0
- package/cjs/style/themes/ui/index.js +5 -0
- package/cjs/style/themes/ui/index.js.map +1 -0
- package/components/aria-live/useAriaLive.d.ts +1 -1
- package/components/autocomplete/Autocomplete.d.ts +19 -5
- package/components/dropdown/Dropdown.d.ts +22 -5
- package/components/height-animation/HeightAnimationInstance.js +5 -0
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/icon/style/dnb-icon.css +1 -0
- package/components/icon/style/dnb-icon.min.css +1 -1
- package/components/icon/style/dnb-icon.scss +1 -0
- package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/components/progress-indicator/ProgressIndicator.js +27 -14
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/components/progress-indicator/types.d.ts +95 -0
- package/components/progress-indicator/types.js +5 -0
- package/components/progress-indicator/types.js.map +1 -0
- package/es/components/aria-live/useAriaLive.d.ts +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +19 -5
- package/es/components/dropdown/Dropdown.d.ts +22 -5
- package/es/components/height-animation/HeightAnimationInstance.js +5 -0
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/icon/style/dnb-icon.css +1 -0
- package/es/components/icon/style/dnb-icon.min.css +1 -1
- package/es/components/icon/style/dnb-icon.scss +1 -0
- package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/es/components/progress-indicator/ProgressIndicator.js +27 -14
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
- package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/es/components/progress-indicator/types.d.ts +95 -0
- package/es/components/progress-indicator/types.js +5 -0
- package/es/components/progress-indicator/types.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +7 -2
- package/es/extensions/forms/DataContext/Context.js +0 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Field/Name/Name.js +63 -0
- package/es/extensions/forms/Field/Name/Name.js.map +1 -0
- package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/es/extensions/forms/Field/Name/index.d.ts +2 -0
- package/es/extensions/forms/Field/Name/index.js +3 -0
- package/es/extensions/forms/Field/Name/index.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/es/extensions/forms/Field/Option/Option.js +20 -0
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/es/extensions/forms/Field/Selection/Selection.js +20 -32
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/es/extensions/forms/Field/String/String.d.ts +2 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/es/extensions/forms/Form/FieldProps/index.js +3 -0
- package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +18 -4
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +2 -2
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Value/Name/Name.js +40 -0
- package/es/extensions/forms/Value/Name/Name.js.map +1 -0
- package/es/extensions/forms/Value/Name/index.d.ts +2 -0
- package/es/extensions/forms/Value/Name/index.js +3 -0
- package/es/extensions/forms/Value/Name/index.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/es/extensions/forms/Value/String/String.js +8 -3
- package/es/extensions/forms/Value/String/String.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/ValueDocs.js +6 -1
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +3 -0
- package/es/extensions/forms/Value/index.js +3 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/es/extensions/forms/Wizard/Step/Step.js +14 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/es/extensions/forms/constants/locales/en-GB.js +12 -3
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/es/extensions/forms/constants/locales/index.d.ts +18 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +8 -3
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +3 -1
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +77 -43
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +3 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/es/shared/Context.d.ts +4 -4
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -0
- package/es/shared/component-helper.js +2 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/es/shared/helpers/assignPropsWithContext.js +12 -0
- package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/es/shared/helpers/extendPropsWithContext.js +1 -1
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/filterValidProps.d.ts +1 -0
- package/es/shared/helpers/filterValidProps.js.map +1 -1
- package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/es/shared/helpers/runCssVersionMismatchWarning.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 +129 -98
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +77 -43
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +77 -43
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -1
- package/es/style/themes/eiendom/basis.js +1 -0
- package/es/style/themes/eiendom/basis.js.map +1 -0
- package/es/style/themes/eiendom/index.js +3 -0
- package/es/style/themes/eiendom/index.js.map +1 -0
- package/es/style/themes/sbanken/basis.js +1 -0
- package/es/style/themes/sbanken/basis.js.map +1 -0
- package/es/style/themes/sbanken/index.d.ts +1 -0
- package/es/style/themes/sbanken/index.js +3 -0
- package/es/style/themes/sbanken/index.js.map +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/ui/basis.d.ts +1 -0
- package/es/style/themes/ui/basis.js +1 -0
- package/es/style/themes/ui/basis.js.map +1 -0
- package/es/style/themes/ui/index.d.ts +1 -0
- package/es/style/themes/ui/index.js +3 -0
- package/es/style/themes/ui/index.js.map +1 -0
- 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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +7 -2
- package/extensions/forms/DataContext/Context.js +0 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/extensions/forms/DataContext/Provider/Provider.js +69 -35
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/extensions/forms/Field/Name/Name.js +63 -0
- package/extensions/forms/Field/Name/Name.js.map +1 -0
- package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/extensions/forms/Field/Name/index.d.ts +2 -0
- package/extensions/forms/Field/Name/index.js +3 -0
- package/extensions/forms/Field/Name/index.js.map +1 -0
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/extensions/forms/Field/Option/Option.js +20 -0
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/extensions/forms/Field/Selection/Selection.js +20 -32
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/extensions/forms/Field/String/String.d.ts +2 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/extensions/forms/Form/FieldProps/index.js +3 -0
- package/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +18 -4
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +2 -2
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/extensions/forms/Value/Name/Name.js +40 -0
- package/extensions/forms/Value/Name/Name.js.map +1 -0
- package/extensions/forms/Value/Name/index.d.ts +2 -0
- package/extensions/forms/Value/Name/index.js +3 -0
- package/extensions/forms/Value/Name/index.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/extensions/forms/Value/String/String.js +8 -3
- package/extensions/forms/Value/String/String.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/ValueDocs.js +6 -1
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +3 -0
- package/extensions/forms/Value/index.js +3 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/extensions/forms/Wizard/Step/Step.js +14 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/extensions/forms/constants/locales/en-GB.js +12 -3
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/extensions/forms/constants/locales/index.d.ts +18 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +8 -4
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +3 -1
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +77 -43
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +3 -2
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/package.json +1 -1
- package/shared/Context.d.ts +4 -4
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +1 -0
- package/shared/component-helper.js +2 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/shared/helpers/assignPropsWithContext.js +16 -0
- package/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/shared/helpers/extendPropsWithContext.js +1 -1
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/filterValidProps.d.ts +1 -0
- package/shared/helpers/filterValidProps.js.map +1 -1
- package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/shared/helpers/runCssVersionMismatchWarning.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 +129 -98
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +77 -43
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +77 -43
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -1
- package/style/themes/eiendom/basis.d.ts +1 -0
- package/style/themes/eiendom/basis.js +1 -0
- package/style/themes/eiendom/basis.js.map +1 -0
- package/style/themes/eiendom/index.d.ts +1 -0
- package/style/themes/eiendom/index.js +3 -0
- package/style/themes/eiendom/index.js.map +1 -0
- package/style/themes/sbanken/basis.d.ts +1 -0
- package/style/themes/sbanken/basis.js +1 -0
- package/style/themes/sbanken/basis.js.map +1 -0
- package/style/themes/sbanken/index.d.ts +1 -0
- package/style/themes/sbanken/index.js +3 -0
- package/style/themes/sbanken/index.js.map +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/ui/basis.d.ts +1 -0
- package/style/themes/ui/basis.js +1 -0
- package/style/themes/ui/basis.js.map +1 -0
- package/style/themes/ui/index.d.ts +1 -0
- package/style/themes/ui/index.js +3 -0
- package/style/themes/ui/index.js.map +1 -0
- 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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/style/themes/eiendom.js +0 -5
- package/cjs/style/themes/eiendom.js.map +0 -1
- package/cjs/style/themes/sbanken.js +0 -5
- package/cjs/style/themes/sbanken.js.map +0 -1
- package/cjs/style/themes/ui.js +0 -5
- package/cjs/style/themes/ui.js.map +0 -1
- package/es/style/themes/eiendom.js +0 -3
- package/es/style/themes/eiendom.js.map +0 -1
- package/es/style/themes/sbanken.js +0 -3
- package/es/style/themes/sbanken.js.map +0 -1
- package/es/style/themes/ui.js +0 -3
- package/es/style/themes/ui.js.map +0 -1
- package/style/themes/eiendom.js +0 -3
- package/style/themes/eiendom.js.map +0 -1
- package/style/themes/sbanken.js +0 -3
- package/style/themes/sbanken.js.map +0 -1
- package/style/themes/ui.js +0 -3
- package/style/themes/ui.js.map +0 -1
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
- /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
- /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
- /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
- /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
- /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
- /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
- /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","String","Number","Boolean","Currency","Date","Email","NationalIdentityNumber","PhoneNumber","BankAccountNumber","SummaryList","Composition"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,MAAM,QAAQ,UAAU;AAC5C,SAASF,OAAO,IAAIG,OAAO,QAAQ,WAAW;AAC9C,SAASH,OAAO,IAAII,QAAQ,QAAQ,YAAY;AAChD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,KAAK,QAAQ,SAAS;AAC1C,SAASN,OAAO,IAAIO,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","String","Number","Boolean","Currency","Date","Email","Name","NationalIdentityNumber","PostalCodeAndCity","PhoneNumber","BankAccountNumber","OrganizationNumber","SummaryList","Composition"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as Name } from './Name'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PostalCodeAndCity } from './PostalCodeAndCity'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as OrganizationNumber } from './OrganizationNumber'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,MAAM,QAAQ,UAAU;AAC5C,SAASF,OAAO,IAAIG,OAAO,QAAQ,WAAW;AAC9C,SAASH,OAAO,IAAII,QAAQ,QAAQ,YAAY;AAChD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,KAAK,QAAQ,SAAS;AAC1C,SAASN,OAAO,IAAIO,IAAI,QAAQ,QAAQ;AACxC,SAASP,OAAO,IAAIQ,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASR,OAAO,IAAIS,iBAAiB,QAAQ,qBAAqB;AAClE,SAAST,OAAO,IAAIU,WAAW,QAAQ,eAAe;AACtD,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,kBAAkB,QAAQ,sBAAsB;AACpE,SAASZ,OAAO,IAAIa,WAAW,QAAQ,eAAe;AACtD,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe"}
|
|
@@ -16,7 +16,7 @@ function ValueBlock(props) {
|
|
|
16
16
|
const valueBlockContext = useContext(ValueBlockContext);
|
|
17
17
|
const {
|
|
18
18
|
className,
|
|
19
|
-
label,
|
|
19
|
+
label: labelProp,
|
|
20
20
|
inline,
|
|
21
21
|
maxWidth = props.composition ? props.maxWidth : 'large',
|
|
22
22
|
placeholder,
|
|
@@ -25,6 +25,7 @@ function ValueBlock(props) {
|
|
|
25
25
|
composition,
|
|
26
26
|
gap = 'xx-small'
|
|
27
27
|
} = props;
|
|
28
|
+
const label = inline ? null : labelProp;
|
|
28
29
|
if ((children === undefined || children === null || children === false) && !showEmpty && !placeholder) {
|
|
29
30
|
return null;
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","classnames","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","pickSpacingProps","ValueBlockContext","ValueBlock","props","summaryListContext","valueBlockContext","className","label","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport ValueBlockContext from './ValueBlockContext'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n className,\n label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n if (\n (children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass = classnames(\n composition &&\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,UAAU,QAAQ,OAAO;AACnD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,IAAI,QAAQ,mBAAmB;AACpD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,OAAOC,kBAAkB,MAAM,yCAAyC;AAExE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,iBAAiB,MAAM,qBAAqB;AAmBnD,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,kBAAkB,GAAGZ,UAAU,CAACO,kBAAkB,CAAC;EACzD,MAAMM,iBAAiB,GAAGb,UAAU,CAACS,iBAAiB,CAAC;EAEvD,MAAM;IACJK,SAAS;IACTC,KAAK;
|
|
1
|
+
{"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","classnames","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","pickSpacingProps","ValueBlockContext","ValueBlock","props","summaryListContext","valueBlockContext","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport ValueBlockContext from './ValueBlockContext'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = inline ? null : labelProp\n\n if (\n (children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass = classnames(\n composition &&\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
/*
|
|
2
3
|
* Utilities
|
|
3
4
|
*/
|
|
4
|
-
.dnb-
|
|
5
|
+
.dnb-forms-summary-list.dnb-dl .dnb-dt, .dnb-forms-summary-list.dnb-dl > .dnb-dd > .dnb-dl, .dnb-forms-summary-list.dnb-dl:not([class*=dnb-space]) > .dnb-dd > .dnb-dl {
|
|
5
6
|
margin: 0;
|
|
6
7
|
}
|
|
7
|
-
.dnb-
|
|
8
|
+
.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd {
|
|
8
9
|
margin-bottom: var(--spacing-medium);
|
|
9
10
|
}
|
|
10
|
-
.dnb-
|
|
11
|
+
.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type {
|
|
11
12
|
margin-bottom: 0;
|
|
12
13
|
}
|
|
13
|
-
.dnb-
|
|
14
|
+
.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid {
|
|
14
15
|
row-gap: var(--spacing-medium);
|
|
15
16
|
}
|
|
16
17
|
|
|
@@ -21,8 +22,12 @@
|
|
|
21
22
|
.dnb-forms-value-block--inline:not([class*=__composition]) {
|
|
22
23
|
display: inline-block;
|
|
23
24
|
font-size: inherit;
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
}
|
|
26
|
+
.dnb-forms-value-block--inline:not([class*=__composition])::before, .dnb-forms-value-block--inline:not([class*=__composition])::after {
|
|
27
|
+
content: " ";
|
|
28
|
+
}
|
|
29
|
+
.dnb-forms-value-block + .dnb-forms-value-block--inline:not([class*=__composition])::before {
|
|
30
|
+
content: none;
|
|
26
31
|
}
|
|
27
32
|
.dnb-forms-value-block__label, .dnb-forms-value-block__label strong {
|
|
28
33
|
font-weight: var(--font-weight-medium);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@charset "UTF-8";.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@import '../../../../style/core/utilities.scss';
|
|
2
2
|
|
|
3
|
-
.dnb-
|
|
3
|
+
.dnb-forms-summary-list.dnb-dl {
|
|
4
4
|
& .dnb-dt,
|
|
5
5
|
& > .dnb-dd > .dnb-dl,
|
|
6
6
|
&:not([class*='dnb-space']) > .dnb-dd > .dnb-dl {
|
|
@@ -24,9 +24,17 @@
|
|
|
24
24
|
|
|
25
25
|
&--inline:not([class*='__composition']) {
|
|
26
26
|
display: inline-block;
|
|
27
|
+
&::before,
|
|
28
|
+
&::after {
|
|
29
|
+
content: '\00A0'; // non-breaking space
|
|
30
|
+
}
|
|
31
|
+
.dnb-forms-value-block + & {
|
|
32
|
+
&::before {
|
|
33
|
+
content: none;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
27
37
|
font-size: inherit;
|
|
28
|
-
margin-left: var(--spacing-xx-small);
|
|
29
|
-
margin-right: var(--spacing-xx-small);
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
&__label,
|
|
@@ -6,7 +6,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
6
6
|
const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "variant", "sidebarId"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
import React, { useContext, useCallback, useRef, useReducer, useMemo
|
|
9
|
+
import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
|
|
10
10
|
import classnames from 'classnames';
|
|
11
11
|
import { Space, StepIndicator } from '../../../../components';
|
|
12
12
|
import { warn } from '../../../../shared/component-helper';
|
|
@@ -15,12 +15,14 @@ import useId from '../../../../shared/helpers/useId';
|
|
|
15
15
|
import DataContext from '../../DataContext/Context';
|
|
16
16
|
import Step from '../Step';
|
|
17
17
|
import WizardContext from '../Context/WizardContext';
|
|
18
|
-
import
|
|
18
|
+
import Handler from '../../Form/Handler/Handler';
|
|
19
19
|
import { useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
20
|
+
import useHandleLayoutEffect from './useHandleLayoutEffect';
|
|
21
|
+
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
20
22
|
function WizardContainer(props) {
|
|
21
23
|
const {
|
|
22
24
|
className,
|
|
23
|
-
id:
|
|
25
|
+
id: idProp,
|
|
24
26
|
mode = 'strict',
|
|
25
27
|
initialActiveIndex = 0,
|
|
26
28
|
omitScrollManagement,
|
|
@@ -40,16 +42,13 @@ function WizardContainer(props) {
|
|
|
40
42
|
showAllErrors,
|
|
41
43
|
setSubmitState
|
|
42
44
|
} = useContext(DataContext);
|
|
43
|
-
const id = useId(
|
|
45
|
+
const id = useId(idProp);
|
|
44
46
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
45
47
|
const activeIndexRef = useRef(initialActiveIndex);
|
|
46
48
|
const errorOnStepRef = useRef({});
|
|
47
49
|
const stepElementRef = useRef();
|
|
48
50
|
const sharedStateRef = useRef();
|
|
49
51
|
sharedStateRef.current = useSharedState(hasContext && id ? id + '-wizard' : undefined);
|
|
50
|
-
const {
|
|
51
|
-
extend
|
|
52
|
-
} = sharedStateRef.current;
|
|
53
52
|
errorOnStepRef.current[activeIndexRef.current] = showAllErrors;
|
|
54
53
|
const callOnStepChange = useCallback(async (index, mode) => {
|
|
55
54
|
if (isAsync(onStepChange)) {
|
|
@@ -62,6 +61,7 @@ function WizardContainer(props) {
|
|
|
62
61
|
scrollToTop,
|
|
63
62
|
isInteractionRef
|
|
64
63
|
} = useHandleLayoutEffect({
|
|
64
|
+
activeIndexRef,
|
|
65
65
|
stepElementRef
|
|
66
66
|
});
|
|
67
67
|
const handleLayoutEffect = useCallback(() => {
|
|
@@ -137,7 +137,7 @@ function WizardContainer(props) {
|
|
|
137
137
|
const titlesRef = useRef([]);
|
|
138
138
|
const Contents = useCallback(() => {
|
|
139
139
|
titlesRef.current = [];
|
|
140
|
-
return React.Children.map(children, (child,
|
|
140
|
+
return React.Children.map(children, (child, index) => {
|
|
141
141
|
if (React.isValidElement(child)) {
|
|
142
142
|
var _child, _child2;
|
|
143
143
|
let step = child;
|
|
@@ -152,7 +152,8 @@ function WizardContainer(props) {
|
|
|
152
152
|
var _child$props$title;
|
|
153
153
|
titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
|
|
154
154
|
return React.cloneElement(child, {
|
|
155
|
-
|
|
155
|
+
key: `${index}-${activeIndexRef.current}`,
|
|
156
|
+
index
|
|
156
157
|
});
|
|
157
158
|
}
|
|
158
159
|
}
|
|
@@ -171,21 +172,22 @@ function WizardContainer(props) {
|
|
|
171
172
|
handleNext,
|
|
172
173
|
setFormError
|
|
173
174
|
}), [id, activeIndex, totalSteps, setActiveIndex, handlePrevious, handleNext, setFormError]);
|
|
174
|
-
|
|
175
|
-
if (
|
|
176
|
-
|
|
175
|
+
useLayoutEffect(() => {
|
|
176
|
+
if (id && hasContext) {
|
|
177
|
+
var _sharedStateRef$curre4, _sharedStateRef$curre5;
|
|
178
|
+
(_sharedStateRef$curre4 = sharedStateRef.current) === null || _sharedStateRef$curre4 === void 0 ? void 0 : (_sharedStateRef$curre5 = _sharedStateRef$curre4.extend) === null || _sharedStateRef$curre5 === void 0 ? void 0 : _sharedStateRef$curre5.call(_sharedStateRef$curre4, providerValue);
|
|
177
179
|
}
|
|
178
|
-
}, [id,
|
|
180
|
+
}, [id, providerValue]);
|
|
179
181
|
if (!hasContext) {
|
|
180
182
|
warn('You may wrap Wizard.Container in Form.Handler');
|
|
181
|
-
return React.createElement(
|
|
183
|
+
return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {
|
|
182
184
|
id: id
|
|
183
185
|
})));
|
|
184
186
|
}
|
|
185
187
|
return React.createElement(WizardContext.Provider, {
|
|
186
188
|
value: providerValue
|
|
187
189
|
}, React.createElement(Space, _extends({
|
|
188
|
-
className: classnames(
|
|
190
|
+
className: classnames(`dnb-forms-wizard-layout dnb-forms-wizard-layout--${variant}`, className)
|
|
189
191
|
}, rest), React.createElement("aside", {
|
|
190
192
|
className: "dnb-forms-wizard-layout__sidebar"
|
|
191
193
|
}, React.createElement(StepIndicator.Sidebar, {
|
|
@@ -202,43 +204,6 @@ function WizardContainer(props) {
|
|
|
202
204
|
className: "dnb-forms-wizard-layout__contents"
|
|
203
205
|
}, React.createElement(Contents, null))));
|
|
204
206
|
}
|
|
205
|
-
function useHandleLayoutEffect(_ref3) {
|
|
206
|
-
let {
|
|
207
|
-
stepElementRef
|
|
208
|
-
} = _ref3;
|
|
209
|
-
const isInteractionRef = useRef(false);
|
|
210
|
-
useEffect(() => {
|
|
211
|
-
const delay = process.env.NODE_ENV === 'test' ? 8 : 100;
|
|
212
|
-
const timeout = setTimeout(() => {
|
|
213
|
-
isInteractionRef.current = true;
|
|
214
|
-
}, delay);
|
|
215
|
-
return () => clearTimeout(timeout);
|
|
216
|
-
});
|
|
217
|
-
const action = useCallback(fn => {
|
|
218
|
-
window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
|
|
219
|
-
isInteractionRef.current && fn();
|
|
220
|
-
}));
|
|
221
|
-
}, []);
|
|
222
|
-
const setFocus = useCallback(() => {
|
|
223
|
-
action(() => {
|
|
224
|
-
var _stepElementRef$curre, _stepElementRef$curre2;
|
|
225
|
-
(_stepElementRef$curre = stepElementRef.current) === null || _stepElementRef$curre === void 0 ? void 0 : (_stepElementRef$curre2 = _stepElementRef$curre.focus) === null || _stepElementRef$curre2 === void 0 ? void 0 : _stepElementRef$curre2.call(_stepElementRef$curre, {
|
|
226
|
-
preventScroll: true
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
}, [action, stepElementRef]);
|
|
230
|
-
const scrollToTop = useCallback(() => {
|
|
231
|
-
action(() => {
|
|
232
|
-
var _stepElementRef$curre3, _stepElementRef$curre4;
|
|
233
|
-
(_stepElementRef$curre3 = stepElementRef.current) === null || _stepElementRef$curre3 === void 0 ? void 0 : (_stepElementRef$curre4 = _stepElementRef$curre3.scrollIntoView) === null || _stepElementRef$curre4 === void 0 ? void 0 : _stepElementRef$curre4.call(_stepElementRef$curre3);
|
|
234
|
-
});
|
|
235
|
-
}, [action, stepElementRef]);
|
|
236
|
-
return {
|
|
237
|
-
setFocus,
|
|
238
|
-
scrollToTop,
|
|
239
|
-
isInteractionRef
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
207
|
WizardContainer._supportsSpacingProps = true;
|
|
243
208
|
export default WizardContainer;
|
|
244
209
|
//# sourceMappingURL=WizardContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","useEffect","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","WizardContext","Provider","useSharedState","WizardContainer","props","className","id","_id","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","extend","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","useHandleLayoutEffect","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","Contents","Children","map","child","i","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","activeIndex","totalSteps","length","providerValue","createElement","_extends","value","Sidebar","sidebar_id","bottom","no_animation","on_change","_ref3","delay","process","env","NODE_ENV","timeout","setTimeout","clearTimeout","action","fn","window","requestAnimationFrame","_stepElementRef$curre","_stepElementRef$curre2","focus","preventScroll","_stepElementRef$curre3","_stepElementRef$curre4","scrollIntoView","_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, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport DataContext from '../../DataContext/Context'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport Provider from '../../DataContext/Provider'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n omitScrollManagement?: boolean\n omitFocusManagement?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: OnStepChange\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\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: _id,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(_id)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n const { extend } = sharedStateRef.current\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({\n stepElementRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const Contents = useCallback(() => {\n titlesRef.current = []\n return React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useEffect(() => {\n if (hasContext && id) {\n extend(providerValue)\n }\n }, [id, extend, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Provider>\n <WizardContainer {...props} id={id} />\n </Provider>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n variant === 'drawer' && 'dnb-forms-wizard-layout--drawer',\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents />\n </div>\n </Space>\n </WizardContext.Provider>\n )\n}\n\nfunction useHandleLayoutEffect({ stepElementRef }) {\n const isInteractionRef = useRef(false)\n\n useEffect(() => {\n // Ensure we delay the mounting before layout effect is handled\n const delay = process.env.NODE_ENV === 'test' ? 8 : 100\n const timeout = setTimeout(() => {\n isInteractionRef.current = true\n }, delay)\n return () => clearTimeout(timeout)\n })\n\n const action = useCallback((fn: () => void) => {\n // Wait for the next render cycle\n window.requestAnimationFrame(() =>\n // Wait for the new stepElementRef to be set\n window.requestAnimationFrame(() => {\n isInteractionRef.current && fn()\n })\n )\n }, [])\n\n const setFocus = useCallback(() => {\n action(() => {\n stepElementRef.current?.focus?.({\n preventScroll: true,\n })\n })\n }, [action, stepElementRef])\n\n const scrollToTop = useCallback(() => {\n action(() => {\n stepElementRef.current?.scrollIntoView?.()\n })\n }, [action, stepElementRef])\n\n return { setFocus, scrollToTop, isInteractionRef }\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","WizardContext","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","Contents","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","key","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","_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, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport DataContext from '../../DataContext/Context'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\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 mode?: 'static' | 'strict' | 'loose'\n omitScrollManagement?: boolean\n omitFocusManagement?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: OnStepChange\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\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 variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const Contents = useCallback(() => {\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n key: `${index}-${activeIndexRef.current}`,\n index,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents />\n </div>\n </Space>\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export default function useHandleLayoutEffect({ activeIndexRef, stepElementRef, }: {
|
|
3
|
+
activeIndexRef: any;
|
|
4
|
+
stepElementRef: any;
|
|
5
|
+
}): {
|
|
6
|
+
setFocus: () => void;
|
|
7
|
+
scrollToTop: () => void;
|
|
8
|
+
isInteractionRef: import("react").MutableRefObject<boolean>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import useStepAnimation from './useStepAnimation';
|
|
5
|
+
export default function useHandleLayoutEffect(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
activeIndexRef,
|
|
8
|
+
stepElementRef
|
|
9
|
+
} = _ref;
|
|
10
|
+
const isInteractionRef = useRef(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const delay = process.env.NODE_ENV === 'test' ? 8 : 100;
|
|
13
|
+
const timeout = setTimeout(() => {
|
|
14
|
+
isInteractionRef.current = true;
|
|
15
|
+
}, delay);
|
|
16
|
+
return () => clearTimeout(timeout);
|
|
17
|
+
});
|
|
18
|
+
useStepAnimation({
|
|
19
|
+
activeIndexRef,
|
|
20
|
+
stepElementRef
|
|
21
|
+
});
|
|
22
|
+
const action = useCallback(fn => {
|
|
23
|
+
window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
|
|
24
|
+
isInteractionRef.current && fn();
|
|
25
|
+
}));
|
|
26
|
+
}, []);
|
|
27
|
+
const setFocus = useCallback(() => {
|
|
28
|
+
action(() => {
|
|
29
|
+
var _stepElementRef$curre, _stepElementRef$curre2;
|
|
30
|
+
(_stepElementRef$curre = stepElementRef.current) === null || _stepElementRef$curre === void 0 ? void 0 : (_stepElementRef$curre2 = _stepElementRef$curre.focus) === null || _stepElementRef$curre2 === void 0 ? void 0 : _stepElementRef$curre2.call(_stepElementRef$curre, {
|
|
31
|
+
preventScroll: true
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}, [action, stepElementRef]);
|
|
35
|
+
const scrollToTop = useCallback(() => {
|
|
36
|
+
action(() => {
|
|
37
|
+
var _stepElementRef$curre3, _stepElementRef$curre4;
|
|
38
|
+
(_stepElementRef$curre3 = stepElementRef.current) === null || _stepElementRef$curre3 === void 0 ? void 0 : (_stepElementRef$curre4 = _stepElementRef$curre3.scrollIntoView) === null || _stepElementRef$curre4 === void 0 ? void 0 : _stepElementRef$curre4.call(_stepElementRef$curre3);
|
|
39
|
+
});
|
|
40
|
+
}, [action, stepElementRef]);
|
|
41
|
+
return {
|
|
42
|
+
setFocus,
|
|
43
|
+
scrollToTop,
|
|
44
|
+
isInteractionRef
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=useHandleLayoutEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHandleLayoutEffect.js","names":["useCallback","useEffect","useRef","useStepAnimation","useHandleLayoutEffect","_ref","activeIndexRef","stepElementRef","isInteractionRef","delay","process","env","NODE_ENV","timeout","setTimeout","current","clearTimeout","action","fn","window","requestAnimationFrame","setFocus","_stepElementRef$curre","_stepElementRef$curre2","focus","call","preventScroll","scrollToTop","_stepElementRef$curre3","_stepElementRef$curre4","scrollIntoView"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useHandleLayoutEffect.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\nimport useStepAnimation from './useStepAnimation'\n\nexport default function useHandleLayoutEffect({\n activeIndexRef,\n stepElementRef,\n}) {\n const isInteractionRef = useRef(false)\n\n useEffect(() => {\n // Ensure we delay the mounting before layout effect is handled\n const delay = process.env.NODE_ENV === 'test' ? 8 : 100\n const timeout = setTimeout(() => {\n isInteractionRef.current = true\n }, delay)\n return () => clearTimeout(timeout)\n })\n\n useStepAnimation({ activeIndexRef, stepElementRef })\n\n const action = useCallback((fn: () => void) => {\n // Wait for the next render cycle\n window.requestAnimationFrame(() =>\n // Wait for the new stepElementRef to be set\n window.requestAnimationFrame(() => {\n isInteractionRef.current && fn()\n })\n )\n }, [])\n\n const setFocus = useCallback(() => {\n action(() => {\n stepElementRef.current?.focus?.({\n preventScroll: true,\n })\n })\n }, [action, stepElementRef])\n\n const scrollToTop = useCallback(() => {\n action(() => {\n stepElementRef.current?.scrollIntoView?.()\n })\n }, [action, stepElementRef])\n\n return { setFocus, scrollToTop, isInteractionRef }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,eAAe,SAASC,qBAAqBA,CAAAC,IAAA,EAG1C;EAAA,IAH2C;IAC5CC,cAAc;IACdC;EACF,CAAC,GAAAF,IAAA;EACC,MAAMG,gBAAgB,GAAGN,MAAM,CAAC,KAAK,CAAC;EAEtCD,SAAS,CAAC,MAAM;IAEd,MAAMQ,KAAK,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG;IACvD,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BN,gBAAgB,CAACO,OAAO,GAAG,IAAI;IACjC,CAAC,EAAEN,KAAK,CAAC;IACT,OAAO,MAAMO,YAAY,CAACH,OAAO,CAAC;EACpC,CAAC,CAAC;EAEFV,gBAAgB,CAAC;IAAEG,cAAc;IAAEC;EAAe,CAAC,CAAC;EAEpD,MAAMU,MAAM,GAAGjB,WAAW,CAAEkB,EAAc,IAAK;IAE7CC,MAAM,CAACC,qBAAqB,CAAC,MAE3BD,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCZ,gBAAgB,CAACO,OAAO,IAAIG,EAAE,CAAC,CAAC;IAClC,CAAC,CACH,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,QAAQ,GAAGrB,WAAW,CAAC,MAAM;IACjCiB,MAAM,CAAC,MAAM;MAAA,IAAAK,qBAAA,EAAAC,sBAAA;MACX,CAAAD,qBAAA,GAAAf,cAAc,CAACQ,OAAO,cAAAO,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,KAAK,cAAAD,sBAAA,uBAA7BA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAAgC;QAC9BI,aAAa,EAAE;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,MAAMoB,WAAW,GAAG3B,WAAW,CAAC,MAAM;IACpCiB,MAAM,CAAC,MAAM;MAAA,IAAAW,sBAAA,EAAAC,sBAAA;MACX,CAAAD,sBAAA,GAAArB,cAAc,CAACQ,OAAO,cAAAa,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,cAAc,cAAAD,sBAAA,uBAAtCA,sBAAA,CAAAJ,IAAA,CAAAG,sBAAyC,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,EAAE,CAACX,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,OAAO;IAAEc,QAAQ;IAAEM,WAAW;IAAEnB;EAAiB,CAAC;AACpD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useRef } from 'react';
|
|
4
|
+
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
5
|
+
export default function useStepAnimation(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
activeIndexRef,
|
|
8
|
+
stepElementRef
|
|
9
|
+
} = _ref;
|
|
10
|
+
const activeIndex = activeIndexRef.current;
|
|
11
|
+
const indexRef = useRef(activeIndex);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
indexRef.current = activeIndex;
|
|
14
|
+
}, [activeIndex]);
|
|
15
|
+
useLayoutEffect(() => {
|
|
16
|
+
if (activeIndex === indexRef.current) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
window.requestAnimationFrame(() => {
|
|
20
|
+
try {
|
|
21
|
+
const elements = stepElementRef.current.querySelectorAll('.dnb-forms-step > *, .dnb-forms-button-row > *');
|
|
22
|
+
elements.forEach((element, i) => {
|
|
23
|
+
element.style.setProperty('--element-index', String(i + 1));
|
|
24
|
+
element.classList.add('appear-fx');
|
|
25
|
+
});
|
|
26
|
+
} catch (error) {}
|
|
27
|
+
});
|
|
28
|
+
}, [activeIndex, stepElementRef]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=useStepAnimation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStepAnimation.js","names":["React","useEffect","useRef","useLayoutEffect","window","useStepAnimation","_ref","activeIndexRef","stepElementRef","activeIndex","current","indexRef","requestAnimationFrame","elements","querySelectorAll","forEach","element","i","style","setProperty","String","classList","add","error"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useStepAnimation.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStepAnimation({\n activeIndexRef,\n stepElementRef,\n}) {\n const activeIndex = activeIndexRef.current\n const indexRef = useRef(activeIndex)\n\n useEffect(() => {\n indexRef.current = activeIndex\n }, [activeIndex])\n\n useLayoutEffect(() => {\n // Use layout effect to compare the active step before we update the cached indexRef\n // This way we don't have an animation on the first render, but only on a step change.\n if (activeIndex === indexRef.current) {\n return // stop here\n }\n\n // Wait until \"stepElementRef.current = currentElementRef.current\" is set\n // So we actually get the correct elements when useStep is called,\n // as it rerenders the children\n window.requestAnimationFrame(() => {\n try {\n const elements: Array<HTMLElement> =\n stepElementRef.current.querySelectorAll(\n '.dnb-forms-step > *, .dnb-forms-button-row > *'\n )\n elements.forEach((element, i) => {\n element.style.setProperty('--element-index', String(i + 1))\n element.classList.add('appear-fx')\n })\n } catch (error) {\n //\n }\n })\n }, [activeIndex, stepElementRef])\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAGhD,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACC,SAAS,GAAGD,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASE,gBAAgBA,CAAAC,IAAA,EAGrC;EAAA,IAHsC;IACvCC,cAAc;IACdC;EACF,CAAC,GAAAF,IAAA;EACC,MAAMG,WAAW,GAAGF,cAAc,CAACG,OAAO;EAC1C,MAAMC,QAAQ,GAAGT,MAAM,CAACO,WAAW,CAAC;EAEpCR,SAAS,CAAC,MAAM;IACdU,QAAQ,CAACD,OAAO,GAAGD,WAAW;EAChC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjBN,eAAe,CAAC,MAAM;IAGpB,IAAIM,WAAW,KAAKE,QAAQ,CAACD,OAAO,EAAE;MACpC;IACF;IAKAN,MAAM,CAACQ,qBAAqB,CAAC,MAAM;MACjC,IAAI;QACF,MAAMC,QAA4B,GAChCL,cAAc,CAACE,OAAO,CAACI,gBAAgB,CACrC,gDACF,CAAC;QACHD,QAAQ,CAACE,OAAO,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;UAC/BD,OAAO,CAACE,KAAK,CAACC,WAAW,CAAC,iBAAiB,EAAEC,MAAM,CAACH,CAAC,GAAG,CAAC,CAAC,CAAC;UAC3DD,OAAO,CAACK,SAAS,CAACC,GAAG,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,KAAK,EAAE,CAEhB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACd,WAAW,EAAED,cAAc,CAAC,CAAC;AACnC"}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
const _excluded = ["className", "title", "index", "children"];
|
|
6
|
-
import React, { useContext, useMemo } from 'react';
|
|
6
|
+
import React, { useContext, useMemo, useRef } from 'react';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
import WizardContext from '../Context/WizardContext';
|
|
9
9
|
import Flex from '../../../../components/flex/Flex';
|
|
10
10
|
import { convertJsxToString } from '../../../../shared/component-helper';
|
|
11
|
+
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
11
12
|
function Step(props) {
|
|
12
13
|
const {
|
|
13
14
|
className,
|
|
@@ -23,6 +24,17 @@ function Step(props) {
|
|
|
23
24
|
const ariaLabel = useMemo(() => {
|
|
24
25
|
return convertJsxToString(title);
|
|
25
26
|
}, [title]);
|
|
27
|
+
const currentElementRef = useRef();
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
if (typeof stepElementRef !== 'undefined') {
|
|
30
|
+
if (currentElementRef.current) {
|
|
31
|
+
stepElementRef.current = currentElementRef.current;
|
|
32
|
+
}
|
|
33
|
+
return () => {
|
|
34
|
+
stepElementRef.current = null;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}, [stepElementRef]);
|
|
26
38
|
if (activeIndex !== index) {
|
|
27
39
|
return null;
|
|
28
40
|
}
|
|
@@ -30,7 +42,7 @@ function Step(props) {
|
|
|
30
42
|
className: classnames('dnb-forms-step', className),
|
|
31
43
|
element: "section",
|
|
32
44
|
"aria-label": ariaLabel,
|
|
33
|
-
innerRef:
|
|
45
|
+
innerRef: currentElementRef,
|
|
34
46
|
tabIndex: -1
|
|
35
47
|
}, restProps), children);
|
|
36
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","classnames","WizardContext","Flex","convertJsxToString","Step","props","className","title","index","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","createElement","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n }\n\nfunction Step(props: Props) {\n const { className, title, index, children, ...restProps } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return convertJsxToString(title)\n }, [title])\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","useLayoutEffect","window","useEffect","Step","props","className","title","index","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","currentElementRef","current","createElement","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n }\n\nfunction Step(props: Props) {\n const { className, title, index, children, ...restProps } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return convertJsxToString(title)\n }, [title])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [stepElementRef])\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {children}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AAGxE,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGT,KAAK,CAACU,SAAS,GAAGV,KAAK,CAACQ,eAAe;AAgBzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MAAEC,SAAS;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAuB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACjE,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGpB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEvE,MAAMiB,SAAS,GAAGpB,OAAO,CAAC,MAAM;IAC9B,OAAOK,kBAAkB,CAACO,KAAK,CAAC;EAClC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMS,iBAAiB,GAAGpB,MAAM,CAAc,CAAC;EAC/CK,eAAe,CAAC,MAAM;IACpB,IAAI,OAAOa,cAAc,KAAK,WAAW,EAAE;MACzC,IAAIE,iBAAiB,CAACC,OAAO,EAAE;QAC7BH,cAAc,CAACG,OAAO,GAAGD,iBAAiB,CAACC,OAAO;MACpD;MACA,OAAO,MAAM;QACXH,cAAc,CAACG,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACH,cAAc,CAAC,CAAC;EAEpB,IAAID,WAAW,KAAKL,KAAK,EAAE;IAEzB,OAAO,IAAI;EACb;EAEA,OACEf,KAAA,CAAAyB,aAAA,CAACnB,IAAI,CAACoB,KAAK,EAAAC,QAAA;IACTd,SAAS,EAAET,UAAU,CAAC,gBAAgB,EAAES,SAAS,CAAE;IACnDe,OAAO,EAAC,SAAS;IACjB,cAAYN,SAAU;IACtBO,QAAQ,EAAEN,iBAAkB;IAC5BO,QAAQ,EAAE,CAAC;EAAE,GACTb,SAAS,GAEZD,QACS,CAAC;AAEjB;AAEAL,IAAI,CAACoB,qBAAqB,GAAG,IAAI;AACjC,eAAepB,IAAI"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useContext,
|
|
3
|
+
import React, { useCallback, useContext, useRef } from 'react';
|
|
4
4
|
import WizardContext from '../Context/WizardContext';
|
|
5
5
|
import { useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
6
|
+
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
6
7
|
export default function useStep() {
|
|
7
8
|
let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
8
9
|
let {
|
|
@@ -17,7 +18,7 @@ export default function useStep() {
|
|
|
17
18
|
}
|
|
18
19
|
const sharedDataRef = useRef(null);
|
|
19
20
|
sharedDataRef.current = useSharedState(id ? id + '-wizard' : undefined);
|
|
20
|
-
|
|
21
|
+
useLayoutEffect(() => {
|
|
21
22
|
sharedDataRef.current.extend({
|
|
22
23
|
onStepChange
|
|
23
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStep.js","names":["
|
|
1
|
+
{"version":3,"file":"useStep.js","names":["React","useCallback","useContext","useRef","WizardContext","useSharedState","useLayoutEffect","window","useEffect","useStep","id","arguments","length","undefined","onStepChange","setFormError","context","sharedDataRef","current","extend","data"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useStep.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport WizardContext, {\n OnStepChange,\n WizardContextState,\n} from '../Context/WizardContext'\nimport { Identifier } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStep(\n id: Identifier = null,\n { onStepChange }: { onStepChange?: OnStepChange } = {}\n) {\n const setFormError = useCallback(() => null, [])\n const context = useContext(WizardContext) || { setFormError }\n\n // In order to make it possible to add a \"onStepChange\" handler without an id,\n // we at least check if there is one from the context.\n if (onStepChange && !id && context.id) {\n id = context.id\n }\n\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<WizardContextState>>>(null)\n sharedDataRef.current = useSharedState<WizardContextState>(\n id ? id + '-wizard' : undefined\n )\n\n useLayoutEffect(() => {\n sharedDataRef.current.extend({\n onStepChange,\n } as unknown as WizardContextState) // Internal type\n }, [onStepChange])\n\n const data = sharedDataRef.current.data\n if (data && !data.setFormError) {\n data.setFormError = setFormError\n }\n\n return data || context\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC9D,OAAOC,aAAa,MAGb,0BAA0B;AAEjC,SAASC,cAAc,QAAQ,2CAA2C;AAG1E,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGP,KAAK,CAACQ,SAAS,GAAGR,KAAK,CAACM,eAAe;AAEzE,eAAe,SAASG,OAAOA,CAAA,EAG7B;EAAA,IAFAC,EAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACrB;IAAEG;EAA8C,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtD,MAAMI,YAAY,GAAGd,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;EAChD,MAAMe,OAAO,GAAGd,UAAU,CAACE,aAAa,CAAC,IAAI;IAAEW;EAAa,CAAC;EAI7D,IAAID,YAAY,IAAI,CAACJ,EAAE,IAAIM,OAAO,CAACN,EAAE,EAAE;IACrCA,EAAE,GAAGM,OAAO,CAACN,EAAE;EACjB;EAEA,MAAMO,aAAa,GACjBd,MAAM,CAAwD,IAAI,CAAC;EACrEc,aAAa,CAACC,OAAO,GAAGb,cAAc,CACpCK,EAAE,GAAGA,EAAE,GAAG,SAAS,GAAGG,SACxB,CAAC;EAEDP,eAAe,CAAC,MAAM;IACpBW,aAAa,CAACC,OAAO,CAACC,MAAM,CAAC;MAC3BL;IACF,CAAkC,CAAC;EACrC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMM,IAAI,GAAGH,aAAa,CAACC,OAAO,CAACE,IAAI;EACvC,IAAIA,IAAI,IAAI,CAACA,IAAI,CAACL,YAAY,EAAE;IAC9BK,IAAI,CAACL,YAAY,GAAGA,YAAY;EAClC;EAEA,OAAOK,IAAI,IAAIJ,OAAO;AACxB"}
|