@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
|
@@ -22,7 +22,7 @@ export default function useAriaLive(props: AriaLiveAllProps): {
|
|
|
22
22
|
style?: React.CSSProperties;
|
|
23
23
|
tabIndex?: number;
|
|
24
24
|
title?: string;
|
|
25
|
-
translate?: "
|
|
25
|
+
translate?: "yes" | "no";
|
|
26
26
|
radioGroup?: string;
|
|
27
27
|
role?: React.AriaRole;
|
|
28
28
|
about?: string;
|
|
@@ -40,10 +40,7 @@ type AutocompleteInputElement =
|
|
|
40
40
|
| ((...args: any[]) => any)
|
|
41
41
|
| React.ReactNode;
|
|
42
42
|
type AutocompleteSearchInWordIndex = string | number;
|
|
43
|
-
export interface AutocompleteProps
|
|
44
|
-
extends SpacingProps,
|
|
45
|
-
DrawerListProps,
|
|
46
|
-
Omit<React.HTMLProps<HTMLElement>, 'ref'> {
|
|
43
|
+
export interface AutocompleteProps {
|
|
47
44
|
/**
|
|
48
45
|
* If set to `async`, it prevents showing the "no options" message during typing / filtering. Defaults to `sync`.
|
|
49
46
|
*/
|
|
@@ -206,6 +203,10 @@ export interface AutocompleteProps
|
|
|
206
203
|
* If set to `true`, an overlaying skeleton with animation will be shown.
|
|
207
204
|
*/
|
|
208
205
|
skeleton?: SkeletonShow;
|
|
206
|
+
/**
|
|
207
|
+
* Text describing the content of the Autocomplete more than the label. You can also send in a React component, so it gets wrapped inside the Autocomplete component.
|
|
208
|
+
*/
|
|
209
|
+
suffix?: DrawerListSuffix;
|
|
209
210
|
/**
|
|
210
211
|
* Define a custom class for the internal drawer-list. This makes it possible more easily customize the drawer-list style with styled-components and the `css` style method. Defaults to `null`.
|
|
211
212
|
*/
|
|
@@ -216,8 +217,21 @@ export interface AutocompleteProps
|
|
|
216
217
|
on_select?: (...args: any[]) => any;
|
|
217
218
|
on_state_update?: (...args: any[]) => any;
|
|
218
219
|
}
|
|
220
|
+
export type AutocompleteAllProps = AutocompleteProps &
|
|
221
|
+
DrawerListProps &
|
|
222
|
+
SpacingProps &
|
|
223
|
+
Omit<
|
|
224
|
+
React.HTMLProps<HTMLElement>,
|
|
225
|
+
| 'ref'
|
|
226
|
+
| 'size'
|
|
227
|
+
| 'label'
|
|
228
|
+
| 'title'
|
|
229
|
+
| 'placeholder'
|
|
230
|
+
| 'data'
|
|
231
|
+
| 'children'
|
|
232
|
+
>;
|
|
219
233
|
export default class Autocomplete extends React.Component<
|
|
220
|
-
|
|
234
|
+
AutocompleteAllProps,
|
|
221
235
|
any
|
|
222
236
|
> {
|
|
223
237
|
static defaultProps: object;
|
|
@@ -18,10 +18,7 @@ export type DropdownData = DrawerListData;
|
|
|
18
18
|
type DropdownTitle = string | React.ReactNode;
|
|
19
19
|
type DropdownAlignDropdown = 'left' | 'right';
|
|
20
20
|
type DropdownTriggerElement = ((...args: any[]) => any) | React.ReactNode;
|
|
21
|
-
export interface DropdownProps
|
|
22
|
-
extends DrawerListProps,
|
|
23
|
-
SpacingProps,
|
|
24
|
-
Omit<React.HTMLProps<HTMLElement>, 'ref'> {
|
|
21
|
+
export interface DropdownProps {
|
|
25
22
|
/**
|
|
26
23
|
* Give a title to let the users know what they have to do. Defaults to `Valgmeny`.
|
|
27
24
|
*/
|
|
@@ -104,10 +101,30 @@ export interface DropdownProps
|
|
|
104
101
|
* If set to `true`, an overlaying skeleton with animation will be shown.
|
|
105
102
|
*/
|
|
106
103
|
skeleton?: SkeletonShow;
|
|
104
|
+
/**
|
|
105
|
+
* Text describing the content of the Dropdown more than the label. You can also send in a React component, so it gets wrapped inside the Dropdown component.
|
|
106
|
+
*/
|
|
107
|
+
suffix?: DrawerListSuffix;
|
|
107
108
|
on_show_focus?: (...args: any[]) => any;
|
|
108
109
|
on_hide_focus?: (...args: any[]) => any;
|
|
109
110
|
}
|
|
110
|
-
export
|
|
111
|
+
export type DropdownAllProps = DropdownProps &
|
|
112
|
+
DrawerListProps &
|
|
113
|
+
SpacingProps &
|
|
114
|
+
Omit<
|
|
115
|
+
React.HTMLProps<HTMLElement>,
|
|
116
|
+
| 'ref'
|
|
117
|
+
| 'size'
|
|
118
|
+
| 'label'
|
|
119
|
+
| 'title'
|
|
120
|
+
| 'placeholder'
|
|
121
|
+
| 'data'
|
|
122
|
+
| 'children'
|
|
123
|
+
>;
|
|
124
|
+
export default class Dropdown extends React.Component<
|
|
125
|
+
DropdownAllProps,
|
|
126
|
+
any
|
|
127
|
+
> {
|
|
111
128
|
static defaultProps: object;
|
|
112
129
|
static HorizontalItem: ({
|
|
113
130
|
children
|
|
@@ -141,6 +141,11 @@ export default class HeightAnimation {
|
|
|
141
141
|
}
|
|
142
142
|
const width = this.elem.clientWidth;
|
|
143
143
|
const clonedElem = this.elem.cloneNode(true);
|
|
144
|
+
const inputs = clonedElem.querySelectorAll('input');
|
|
145
|
+
inputs.forEach(input => {
|
|
146
|
+
input.removeAttribute('name');
|
|
147
|
+
input.removeAttribute('id');
|
|
148
|
+
});
|
|
144
149
|
(_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
|
|
145
150
|
for (const key in this.firstPaintStyle) {
|
|
146
151
|
clonedElem.style[key] = this.firstPaintStyle[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","undefined","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","width","clientWidth","clonedElem","cloneNode","parentNode","insertBefore","nextSibling","key","firstPaintStyle","style","position","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","readjust","close","overflowY","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const width = this.elem.clientWidth\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.width = width ? `${String(width)}px` : 'auto' // set width because of the \"position: absolute\"\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","undefined","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","width","clientWidth","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","parentNode","insertBefore","nextSibling","key","firstPaintStyle","style","position","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","readjust","close","overflowY","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const width = this.elem.clientWidth\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.width = width ? `${String(width)}px` : 'auto' // set width because of the \"position: absolute\"\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-icon{color:inherit;display:inline-block;font-size:1rem;height:1em;line-height:1rem;vertical-align:middle;width:1em}.dnb-icon img,.dnb-icon svg,:where(.dnb-core-style) .dnb-icon img,:where(.dnb-core-style) .dnb-icon svg{shape-rendering:geometricprecision;height:inherit;vertical-align:top;width:inherit}.dnb-icon svg[width="100%"]{width:inherit}.dnb-icon svg[height="100%"]{height:inherit}.dnb-icon--inherit-color svg [fill],.dnb-icon--inherit-color svg:not([fill]){fill:currentcolor}.dnb-icon--inherit-color svg [stroke]{stroke:currentcolor}.dnb-icon--small{font-size:.75rem}.dnb-icon--default{font-size:1rem}.dnb-icon--medium{font-size:1.5rem}.dnb-icon--large{font-size:2rem}.dnb-icon--x-large{font-size:2.5rem}.dnb-icon--xx-large{font-size:3rem}.dnb-icon--custom-size{height:auto;width:auto}.dnb-icon--auto{font-size:1em}.dnb-icon--auto>.dnb-icon--wrapper{align-items:center;display:inline-flex;justify-content:center}h1>.dnb-icon,h2>.dnb-icon,h3>.dnb-icon,h4>.dnb-icon,h5>.dnb-icon,h6>.dnb-icon{vertical-align:middle}p>.dnb-icon{vertical-align:inherit}.dnb-icon.dnb-skeleton{color:var(--skeleton-color)!important}.dnb-icon.dnb-skeleton:after,.dnb-icon.dnb-skeleton:before{content:none!important}
|
|
1
|
+
.dnb-icon{color:inherit;display:inline-block;font-size:1rem;height:1em;line-height:1rem;vertical-align:middle;width:1em}.dnb-icon img,.dnb-icon svg,:where(.dnb-core-style) .dnb-icon img,:where(.dnb-core-style) .dnb-icon svg{shape-rendering:geometricprecision;height:inherit;vertical-align:top;width:inherit}.dnb-icon svg[width="100%"]{width:inherit}.dnb-icon svg[height="100%"]{height:inherit}.dnb-icon--inherit-color svg [fill],.dnb-icon--inherit-color svg:not([fill]){fill:currentcolor}.dnb-icon--inherit-color svg [stroke]{stroke:currentcolor}.dnb-icon--small{font-size:.75rem}.dnb-icon--default{font-size:1rem}.dnb-icon--medium{font-size:1.5rem}.dnb-icon--large{font-size:2rem}.dnb-icon--x-large{font-size:2.5rem}.dnb-icon--xx-large{font-size:3rem}.dnb-icon--custom-size{height:auto;line-height:0;width:auto}.dnb-icon--auto{font-size:1em}.dnb-icon--auto>.dnb-icon--wrapper{align-items:center;display:inline-flex;justify-content:center}h1>.dnb-icon,h2>.dnb-icon,h3>.dnb-icon,h4>.dnb-icon,h5>.dnb-icon,h6>.dnb-icon{vertical-align:middle}p>.dnb-icon{vertical-align:inherit}.dnb-icon.dnb-skeleton{color:var(--skeleton-color)!important}.dnb-icon.dnb-skeleton:after,.dnb-icon.dnb-skeleton:before{content:none!important}
|
|
@@ -2,67 +2,17 @@
|
|
|
2
2
|
* Web ProgressIndicator Component
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
export type ProgressIndicatorProps = {
|
|
8
|
-
/**
|
|
9
|
-
* Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.
|
|
10
|
-
*/
|
|
11
|
-
visible?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Defines the type. Defaults to `circular`.
|
|
14
|
-
*/
|
|
15
|
-
type?: 'circular' | 'linear';
|
|
16
|
-
/**
|
|
17
|
-
* Disables the fade-in and fade-out animation. Defaults to `false`.
|
|
18
|
-
*/
|
|
19
|
-
noAnimation?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Defines the size. Defaults to `default`.
|
|
22
|
-
*/
|
|
23
|
-
size?: 'default' | 'small' | 'medium' | 'large' | 'huge';
|
|
24
|
-
/**
|
|
25
|
-
* A number between 0-100, if not supplied a continous loading-type animation will be used. Defaults to `undefined`
|
|
26
|
-
*/
|
|
27
|
-
progress?: string | number;
|
|
28
|
-
/**
|
|
29
|
-
* Show a custom label to the right or under the indicator.
|
|
30
|
-
*/
|
|
31
|
-
label?: React.ReactNode;
|
|
32
|
-
/**
|
|
33
|
-
* Sets the position of the label. Defaults to `horizontal`.
|
|
34
|
-
*/
|
|
35
|
-
labelDirection?: 'horizontal' | 'vertical';
|
|
36
|
-
/**
|
|
37
|
-
* If set to `true` a default label (from text locales) will be shown.
|
|
38
|
-
*/
|
|
39
|
-
showDefaultLabel?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Use this to override the default label from text locales.
|
|
42
|
-
*/
|
|
43
|
-
indicator_label?: string;
|
|
44
|
-
/**
|
|
45
|
-
* Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.
|
|
46
|
-
*/
|
|
47
|
-
title?: string;
|
|
48
|
-
/**
|
|
49
|
-
* Will be called once it's no longer `visible`.
|
|
50
|
-
*/
|
|
51
|
-
onComplete?: (...args: any[]) => any;
|
|
52
|
-
};
|
|
53
|
-
type DeprecatedProgressIndicatorProps = {
|
|
5
|
+
import { ProgressIndicatorAllProps } from './types';
|
|
6
|
+
export type DeprecatedProgressIndicatorProps = {
|
|
54
7
|
/** @deprecated use `noAnimation`. */
|
|
55
8
|
no_animation?: boolean;
|
|
56
9
|
/** @deprecated use `labelDirection`. */
|
|
57
10
|
label_direction?: string;
|
|
58
11
|
/** @deprecated use `showDefaultLabel`. */
|
|
59
12
|
show_label?: boolean;
|
|
60
|
-
/** @deprecated use the `label` prop instead. */
|
|
61
|
-
children?: React.ReactNode;
|
|
62
13
|
/** @deprecated use `onComplete`. */
|
|
63
14
|
on_complete?: (...args: any[]) => any;
|
|
64
15
|
};
|
|
65
|
-
export type ProgressIndicatorAllProps = Omit<React.HTMLProps<HTMLSpanElement>, 'ref' | 'label' | 'size'> & SpacingProps & ProgressIndicatorProps;
|
|
66
16
|
declare function ProgressIndicator(props: ProgressIndicatorAllProps & DeprecatedProgressIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
67
17
|
declare namespace ProgressIndicator {
|
|
68
18
|
var _supportsSpacingProps: boolean;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
const _excluded = ["type", "size", "noAnimation", "onComplete", "label", "indicator_label", "labelDirection", "showDefaultLabel", "className", "title", "progress", "visible"],
|
|
7
|
-
_excluded2 = ["show_label", "indicator_label"
|
|
6
|
+
const _excluded = ["type", "size", "noAnimation", "onComplete", "label", "children", "indicator_label", "labelDirection", "showDefaultLabel", "className", "title", "progress", "visible", "customColors", "customCircleWidth", "style"],
|
|
7
|
+
_excluded2 = ["show_label", "indicator_label"];
|
|
8
8
|
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; }
|
|
9
9
|
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; }
|
|
10
10
|
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
@@ -16,6 +16,7 @@ import { createSpacingClasses } from '../space/SpacingHelper';
|
|
|
16
16
|
import ProgressIndicatorCircular from './ProgressIndicatorCircular';
|
|
17
17
|
import ProgressIndicatorLinear from './ProgressIndicatorLinear';
|
|
18
18
|
import { format } from '../number-format/NumberUtils';
|
|
19
|
+
import { isValidSize } from './types';
|
|
19
20
|
function ProgressIndicator(props) {
|
|
20
21
|
const undeprecatedProps = handleDeprecatedBehaviour(props);
|
|
21
22
|
const allProps = updatePropsWithContext(undeprecatedProps, useContext(Context));
|
|
@@ -25,21 +26,26 @@ function ProgressIndicator(props) {
|
|
|
25
26
|
noAnimation = false,
|
|
26
27
|
onComplete,
|
|
27
28
|
label,
|
|
29
|
+
children,
|
|
28
30
|
indicator_label,
|
|
29
31
|
labelDirection = 'horizontal',
|
|
30
32
|
showDefaultLabel = false,
|
|
31
33
|
className,
|
|
32
34
|
title,
|
|
33
35
|
progress,
|
|
34
|
-
visible = true
|
|
36
|
+
visible = true,
|
|
37
|
+
customColors,
|
|
38
|
+
customCircleWidth,
|
|
39
|
+
style
|
|
35
40
|
} = allProps,
|
|
36
41
|
rest = _objectWithoutProperties(allProps, _excluded);
|
|
37
42
|
const remainingDOMProps = validateDOMAttributes(allProps, _objectSpread({}, rest));
|
|
43
|
+
const [sizeVariant, customSize] = isValidSize(size) ? [size, undefined] : ['custom-size', size];
|
|
38
44
|
const completeTimeout = useRef();
|
|
39
45
|
const fadeOutTimeout = useRef();
|
|
40
46
|
const [complete, setCompleteState] = useState(false);
|
|
41
47
|
const progressNumber = typeof progress === 'string' ? parseFloat(progress) : typeof progress === 'number' ? progress : undefined;
|
|
42
|
-
const indicatorLabel = label || isTrue(showDefaultLabel) && indicator_label;
|
|
48
|
+
const indicatorLabel = label || children || isTrue(showDefaultLabel) && indicator_label;
|
|
43
49
|
const progressTitle = title || formatProgress(progressNumber);
|
|
44
50
|
useEffect(() => {
|
|
45
51
|
return () => {
|
|
@@ -65,21 +71,30 @@ function ProgressIndicator(props) {
|
|
|
65
71
|
}, 200);
|
|
66
72
|
}, [onComplete]);
|
|
67
73
|
return React.createElement("span", _extends({
|
|
68
|
-
className: classnames('dnb-progress-indicator', createSpacingClasses(allProps), className, visible && 'dnb-progress-indicator--visible', complete && 'dnb-progress-indicator--complete', labelDirection && `dnb-progress-indicator--${labelDirection}`,
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
className: classnames('dnb-progress-indicator', createSpacingClasses(allProps), className, visible && 'dnb-progress-indicator--visible', complete && 'dnb-progress-indicator--complete', labelDirection && `dnb-progress-indicator--${labelDirection}`, sizeVariant && `dnb-progress-indicator--${sizeVariant}`, isTrue(noAnimation) && 'dnb-progress-indicator--no-animation', type === 'linear' && 'dnb-progress-indicator--full-width'),
|
|
75
|
+
style: _objectSpread(_objectSpread({}, style), {
|
|
76
|
+
'--progress-indicator-circular-size': customSize,
|
|
77
|
+
'--progress-indicator-circular-stroke-width': customCircleWidth,
|
|
78
|
+
'--progress-indicator-linear-size': customSize
|
|
79
|
+
})
|
|
80
|
+
}, remainingDOMProps), (type === 'circular' || type === 'countdown') && React.createElement(ProgressIndicatorCircular, {
|
|
81
|
+
size: sizeVariant,
|
|
71
82
|
progress: progressNumber,
|
|
72
83
|
visible: visible,
|
|
73
84
|
onComplete: onComplete,
|
|
74
85
|
callOnCompleteHandler: callOnCompleteHandler,
|
|
75
|
-
title: progressTitle === null || progressTitle === void 0 ? void 0 : progressTitle.toString()
|
|
86
|
+
title: progressTitle === null || progressTitle === void 0 ? void 0 : progressTitle.toString(),
|
|
87
|
+
customColors: customColors,
|
|
88
|
+
customCircleWidth: customCircleWidth,
|
|
89
|
+
counterClockwise: type === 'countdown'
|
|
76
90
|
}), type === 'linear' && React.createElement(ProgressIndicatorLinear, {
|
|
77
|
-
size:
|
|
91
|
+
size: sizeVariant,
|
|
78
92
|
progress: progressNumber,
|
|
79
93
|
visible: visible,
|
|
80
94
|
onComplete: onComplete,
|
|
81
95
|
callOnCompleteHandler: callOnCompleteHandler,
|
|
82
|
-
title: progressTitle === null || progressTitle === void 0 ? void 0 : progressTitle.toString()
|
|
96
|
+
title: progressTitle === null || progressTitle === void 0 ? void 0 : progressTitle.toString(),
|
|
97
|
+
customColors: customColors
|
|
83
98
|
}), indicatorLabel && React.createElement("span", {
|
|
84
99
|
className: "dnb-progress-indicator__label dnb-p"
|
|
85
100
|
}, indicatorLabel));
|
|
@@ -92,14 +107,12 @@ function updatePropsWithContext(props, context) {
|
|
|
92
107
|
function handleDeprecatedBehaviour(oldProps) {
|
|
93
108
|
const {
|
|
94
109
|
show_label: showDefaultLabel,
|
|
95
|
-
indicator_label
|
|
96
|
-
children: label
|
|
110
|
+
indicator_label
|
|
97
111
|
} = oldProps,
|
|
98
112
|
propsToConvertToCamelCase = _objectWithoutProperties(oldProps, _excluded2);
|
|
99
113
|
return _objectSpread({
|
|
100
114
|
showDefaultLabel,
|
|
101
|
-
indicator_label
|
|
102
|
-
label
|
|
115
|
+
indicator_label
|
|
103
116
|
}, convertSnakeCaseProps(propsToConvertToCamelCase, {
|
|
104
117
|
overrideExistingValue: false
|
|
105
118
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressIndicator.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","Context","isTrue","validateDOMAttributes","dispatchCustomElementEvent","extendPropsWithContext","convertSnakeCaseProps","createSpacingClasses","ProgressIndicatorCircular","ProgressIndicatorLinear","format","ProgressIndicator","props","undeprecatedProps","handleDeprecatedBehaviour","allProps","updatePropsWithContext","type","size","noAnimation","onComplete","label","indicator_label","labelDirection","showDefaultLabel","className","title","progress","visible","rest","_objectWithoutProperties","_excluded","remainingDOMProps","_objectSpread","completeTimeout","fadeOutTimeout","complete","setCompleteState","progressNumber","parseFloat","undefined","indicatorLabel","progressTitle","formatProgress","clearTimeout","current","callOnCompleteHandler","setTimeout","createElement","_extends","toString","context","localePropsFromContext","getTranslation","componentPropsFromContext","oldProps","show_label","children","propsToConvertToCamelCase","_excluded2","overrideExistingValue","decimals","percent","_supportsSpacingProps"],"sources":["../../../../src/components/progress-indicator/ProgressIndicator.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { SpacingProps } from '../space/types'\nimport ProgressIndicatorCircular from './ProgressIndicatorCircular'\nimport ProgressIndicatorLinear from './ProgressIndicatorLinear'\nimport { format } from '../number-format/NumberUtils'\n\nexport type ProgressIndicatorProps = {\n /**\n * Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.\n */\n visible?: boolean\n /**\n * Defines the type. Defaults to `circular`.\n */\n type?: 'circular' | 'linear'\n /**\n * Disables the fade-in and fade-out animation. Defaults to `false`.\n */\n noAnimation?: boolean\n /**\n * Defines the size. Defaults to `default`.\n */\n size?: 'default' | 'small' | 'medium' | 'large' | 'huge'\n /**\n * A number between 0-100, if not supplied a continous loading-type animation will be used. Defaults to `undefined`\n */\n progress?: string | number\n /**\n * Show a custom label to the right or under the indicator.\n */\n label?: React.ReactNode\n /**\n * Sets the position of the label. Defaults to `horizontal`.\n */\n labelDirection?: 'horizontal' | 'vertical'\n /**\n * If set to `true` a default label (from text locales) will be shown.\n */\n showDefaultLabel?: boolean\n /**\n * Use this to override the default label from text locales.\n */\n indicator_label?: string\n /**\n * Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.\n */\n title?: string\n /**\n * Will be called once it's no longer `visible`.\n */\n onComplete?: (...args: any[]) => any\n}\n\n// deprecated, can be removed in v11\ntype DeprecatedProgressIndicatorProps = {\n /** @deprecated use `noAnimation`. */\n no_animation?: boolean\n /** @deprecated use `labelDirection`. */\n label_direction?: string\n /** @deprecated use `showDefaultLabel`. */\n show_label?: boolean\n /** @deprecated use the `label` prop instead. */\n children?: React.ReactNode\n /** @deprecated use `onComplete`. */\n on_complete?: (...args: any[]) => any\n}\n\nexport type ProgressIndicatorAllProps = Omit<\n React.HTMLProps<HTMLSpanElement>,\n 'ref' | 'label' | 'size'\n> &\n SpacingProps &\n ProgressIndicatorProps\n\nfunction ProgressIndicator(\n props: ProgressIndicatorAllProps & DeprecatedProgressIndicatorProps\n) {\n const undeprecatedProps = handleDeprecatedBehaviour(props)\n const allProps = updatePropsWithContext(\n undeprecatedProps,\n useContext(Context)\n )\n\n const {\n type = 'circular',\n size = 'default',\n noAnimation = false,\n onComplete,\n label,\n indicator_label,\n labelDirection = 'horizontal',\n showDefaultLabel = false,\n className,\n title,\n progress,\n visible = true,\n ...rest\n } = allProps\n\n const remainingDOMProps = validateDOMAttributes(allProps, { ...rest })\n\n const completeTimeout = useRef<NodeJS.Timeout>()\n const fadeOutTimeout = useRef<NodeJS.Timeout>()\n const [complete, setCompleteState] = useState(false)\n\n const progressNumber =\n typeof progress === 'string'\n ? parseFloat(progress)\n : typeof progress === 'number'\n ? progress\n : undefined\n\n const indicatorLabel =\n label || (isTrue(showDefaultLabel) && indicator_label)\n const progressTitle = title || formatProgress(progressNumber)\n\n useEffect(() => {\n return () => {\n clearTimeout(completeTimeout.current)\n clearTimeout(fadeOutTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (visible) {\n setCompleteState(false)\n }\n }, [visible])\n\n const callOnCompleteHandler = useCallback(() => {\n completeTimeout.current = setTimeout(() => {\n setCompleteState(true)\n if (onComplete) {\n fadeOutTimeout.current = setTimeout(() => {\n dispatchCustomElementEvent({ onComplete }, 'onComplete')\n }, 600) // wait for CSS fade out, defined in \"progress-indicator-fade-out\"\n }\n }, 200)\n }, [onComplete])\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator',\n visible && 'dnb-progress-indicator--visible',\n complete && 'dnb-progress-indicator--complete',\n type === 'linear' && 'dnb-progress-indicator--full-width',\n labelDirection && `dnb-progress-indicator--${labelDirection}`,\n size && `dnb-progress-indicator--${size}`,\n isTrue(noAnimation) && 'dnb-progress-indicator--no-animation',\n createSpacingClasses(allProps),\n className\n )}\n {...remainingDOMProps}\n >\n {type === 'circular' && (\n <ProgressIndicatorCircular\n size={size}\n progress={progressNumber}\n visible={visible}\n onComplete={onComplete}\n callOnCompleteHandler={callOnCompleteHandler}\n title={progressTitle?.toString()}\n />\n )}\n {type === 'linear' && (\n <ProgressIndicatorLinear\n size={size}\n progress={progressNumber}\n visible={visible}\n onComplete={onComplete}\n callOnCompleteHandler={callOnCompleteHandler}\n title={progressTitle?.toString()}\n />\n )}\n {indicatorLabel && (\n <span className=\"dnb-progress-indicator__label dnb-p\">\n {indicatorLabel}\n </span>\n )}\n </span>\n )\n}\n\nfunction updatePropsWithContext(\n props: ProgressIndicatorAllProps,\n context: ContextProps\n) {\n const localePropsFromContext =\n context?.getTranslation(props).ProgressIndicator\n const componentPropsFromContext = context?.ProgressIndicator\n return extendPropsWithContext(\n props,\n {},\n localePropsFromContext,\n componentPropsFromContext\n )\n}\n\n/**\n * Support deprecated behaviour by mutating the props.\n */\nfunction handleDeprecatedBehaviour(\n oldProps: ProgressIndicatorAllProps & DeprecatedProgressIndicatorProps\n): ProgressIndicatorAllProps {\n // Rename deprecated props\n // And indicator_label should still be snake case\n const {\n show_label: showDefaultLabel,\n indicator_label,\n children: label,\n ...propsToConvertToCamelCase\n } = oldProps\n\n // Merge deprecated props with new names (will not overwrite)\n return {\n showDefaultLabel,\n indicator_label,\n label,\n ...convertSnakeCaseProps(propsToConvertToCamelCase, {\n overrideExistingValue: false,\n }),\n }\n}\n\nfunction formatProgress(progress) {\n if (parseFloat(progress) > -1) {\n return format(progress, {\n decimals: 2,\n percent: true,\n })\n }\n return null\n}\n\nexport default ProgressIndicator\n\nProgressIndicator._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProgressIndicator.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","Context","isTrue","validateDOMAttributes","dispatchCustomElementEvent","extendPropsWithContext","convertSnakeCaseProps","createSpacingClasses","ProgressIndicatorCircular","ProgressIndicatorLinear","format","isValidSize","ProgressIndicator","props","undeprecatedProps","handleDeprecatedBehaviour","allProps","updatePropsWithContext","type","size","noAnimation","onComplete","label","children","indicator_label","labelDirection","showDefaultLabel","className","title","progress","visible","customColors","customCircleWidth","style","rest","_objectWithoutProperties","_excluded","remainingDOMProps","_objectSpread","sizeVariant","customSize","undefined","completeTimeout","fadeOutTimeout","complete","setCompleteState","progressNumber","parseFloat","indicatorLabel","progressTitle","formatProgress","clearTimeout","current","callOnCompleteHandler","setTimeout","createElement","_extends","toString","counterClockwise","context","localePropsFromContext","getTranslation","componentPropsFromContext","oldProps","show_label","propsToConvertToCamelCase","_excluded2","overrideExistingValue","decimals","percent","_supportsSpacingProps"],"sources":["../../../../src/components/progress-indicator/ProgressIndicator.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport ProgressIndicatorCircular from './ProgressIndicatorCircular'\nimport ProgressIndicatorLinear from './ProgressIndicatorLinear'\nimport { format } from '../number-format/NumberUtils'\n\nimport {\n ProgressIndicatorAllProps,\n ProgressIndicatorAnimationProps,\n isValidSize,\n CustomSize,\n} from './types'\n\n// deprecated, can be removed in v11\nexport type DeprecatedProgressIndicatorProps = {\n /** @deprecated use `noAnimation`. */\n no_animation?: boolean\n /** @deprecated use `labelDirection`. */\n label_direction?: string\n /** @deprecated use `showDefaultLabel`. */\n show_label?: boolean\n /** @deprecated use `onComplete`. */\n on_complete?: (...args: any[]) => any\n}\n\nfunction ProgressIndicator(\n props: ProgressIndicatorAllProps & DeprecatedProgressIndicatorProps\n) {\n const undeprecatedProps = handleDeprecatedBehaviour(props)\n const allProps = updatePropsWithContext(\n undeprecatedProps,\n useContext(Context)\n )\n\n const {\n type = 'circular',\n size = 'default',\n noAnimation = false,\n onComplete,\n label,\n children,\n indicator_label,\n labelDirection = 'horizontal',\n showDefaultLabel = false,\n className,\n title,\n progress,\n visible = true,\n customColors,\n customCircleWidth,\n style,\n ...rest\n } = allProps\n\n const remainingDOMProps = validateDOMAttributes(allProps, { ...rest })\n\n const [sizeVariant, customSize]: [\n ProgressIndicatorAnimationProps['size'],\n CustomSize,\n ] = isValidSize(size) ? [size, undefined] : ['custom-size', size]\n\n const completeTimeout = useRef<NodeJS.Timeout>()\n const fadeOutTimeout = useRef<NodeJS.Timeout>()\n const [complete, setCompleteState] = useState(false)\n\n const progressNumber =\n typeof progress === 'string'\n ? parseFloat(progress)\n : typeof progress === 'number'\n ? progress\n : undefined\n\n const indicatorLabel =\n label || children || (isTrue(showDefaultLabel) && indicator_label)\n const progressTitle = title || formatProgress(progressNumber)\n\n useEffect(() => {\n return () => {\n clearTimeout(completeTimeout.current)\n clearTimeout(fadeOutTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (visible) {\n setCompleteState(false)\n }\n }, [visible])\n\n const callOnCompleteHandler = useCallback(() => {\n completeTimeout.current = setTimeout(() => {\n setCompleteState(true)\n if (onComplete) {\n fadeOutTimeout.current = setTimeout(() => {\n dispatchCustomElementEvent({ onComplete }, 'onComplete')\n }, 600) // wait for CSS fade out, defined in \"progress-indicator-fade-out\"\n }\n }, 200)\n }, [onComplete])\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator',\n visible && 'dnb-progress-indicator--visible',\n complete && 'dnb-progress-indicator--complete',\n type === 'linear' && 'dnb-progress-indicator--full-width',\n labelDirection && `dnb-progress-indicator--${labelDirection}`,\n sizeVariant && `dnb-progress-indicator--${sizeVariant}`,\n isTrue(noAnimation) && 'dnb-progress-indicator--no-animation',\n createSpacingClasses(allProps),\n className\n )}\n style={{\n ...style,\n ...{\n '--progress-indicator-circular-size': customSize,\n '--progress-indicator-circular-stroke-width': customCircleWidth,\n '--progress-indicator-linear-size': customSize,\n },\n }}\n {...remainingDOMProps}\n >\n {(type === 'circular' || type === 'countdown') && (\n <ProgressIndicatorCircular\n size={sizeVariant}\n progress={progressNumber}\n visible={visible}\n onComplete={onComplete}\n callOnCompleteHandler={callOnCompleteHandler}\n title={progressTitle?.toString()}\n customColors={customColors}\n customCircleWidth={customCircleWidth}\n counterClockwise={type === 'countdown'}\n />\n )}\n {type === 'linear' && (\n <ProgressIndicatorLinear\n size={sizeVariant}\n progress={progressNumber}\n visible={visible}\n onComplete={onComplete}\n callOnCompleteHandler={callOnCompleteHandler}\n title={progressTitle?.toString()}\n customColors={customColors}\n />\n )}\n {indicatorLabel && (\n <span className=\"dnb-progress-indicator__label dnb-p\">\n {indicatorLabel}\n </span>\n )}\n </span>\n )\n}\n\nfunction updatePropsWithContext(\n props: ProgressIndicatorAllProps,\n context: ContextProps\n) {\n const localePropsFromContext =\n context?.getTranslation(props).ProgressIndicator\n const componentPropsFromContext = context?.ProgressIndicator\n return extendPropsWithContext(\n props,\n {},\n localePropsFromContext,\n componentPropsFromContext\n )\n}\n\n/**\n * Support deprecated behaviour by mutating the props.\n */\nfunction handleDeprecatedBehaviour(\n oldProps: ProgressIndicatorAllProps & DeprecatedProgressIndicatorProps\n): ProgressIndicatorAllProps {\n // Rename deprecated props\n // And indicator_label should still be snake case\n const {\n show_label: showDefaultLabel,\n indicator_label,\n ...propsToConvertToCamelCase\n } = oldProps\n\n // Merge deprecated props with new names (will not overwrite)\n return {\n showDefaultLabel,\n indicator_label,\n ...convertSnakeCaseProps(propsToConvertToCamelCase, {\n overrideExistingValue: false,\n }),\n }\n}\n\nfunction formatProgress(progress) {\n if (parseFloat(progress) > -1) {\n return format(progress, {\n decimals: 2,\n percent: true,\n })\n }\n return null\n}\n\nexport default ProgressIndicator\n\nProgressIndicator._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -2,27 +2,6 @@
|
|
|
2
2
|
* Web ProgressIndicator Component
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Defines the size, like `small`, `default`, `medium` or `large`. Defaults to `default`.
|
|
9
|
-
*/
|
|
10
|
-
size?: 'default' | 'small' | 'medium' | 'large' | 'huge';
|
|
11
|
-
/**
|
|
12
|
-
* Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.
|
|
13
|
-
*/
|
|
14
|
-
visible?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* To visualize a static "percentage" (0-100) as a progress state. Defaults to `null`.
|
|
17
|
-
*/
|
|
18
|
-
progress?: number;
|
|
19
|
-
maxOffset?: number;
|
|
20
|
-
onComplete?: (...args: any[]) => any;
|
|
21
|
-
callOnCompleteHandler?: (...args: any[]) => any;
|
|
22
|
-
/**
|
|
23
|
-
* Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.
|
|
24
|
-
*/
|
|
25
|
-
title?: string;
|
|
26
|
-
};
|
|
27
|
-
declare function ProgressIndicatorCircular(props: ProgressIndicatorCircularProps & Omit<React.HTMLProps<HTMLElement>, 'size'>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
import { ProgressIndicatorCircularAllProps } from './types';
|
|
6
|
+
declare function ProgressIndicatorCircular(props: ProgressIndicatorCircularAllProps): import("react/jsx-runtime").JSX.Element;
|
|
28
7
|
export default ProgressIndicatorCircular;
|