@dnb/eufemia 10.28.0 → 10.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
- package/cjs/components/dropdown/Dropdown.d.ts +22 -5
- package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/icon/style/dnb-icon.css +1 -0
- package/cjs/components/icon/style/dnb-icon.min.css +1 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -0
- package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/cjs/components/progress-indicator/types.d.ts +95 -0
- package/cjs/components/progress-indicator/types.js +11 -0
- package/cjs/components/progress-indicator/types.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +7 -2
- package/cjs/extensions/forms/DataContext/Context.js +0 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Field/Name/Name.js +73 -0
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/index.js +27 -0
- package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/cjs/extensions/forms/Field/Option/Option.js +21 -0
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
- package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Value/Name/Name.js +50 -0
- package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Name/index.js +27 -0
- package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/cjs/extensions/forms/Value/String/String.js +8 -3
- package/cjs/extensions/forms/Value/String/String.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +3 -0
- package/cjs/extensions/forms/Value/index.js +21 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +77 -43
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +3 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/cjs/shared/Context.d.ts +4 -4
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -0
- package/cjs/shared/component-helper.js +8 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
- package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
- package/cjs/shared/helpers/filterValidProps.js.map +1 -1
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +129 -98
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +77 -43
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +77 -43
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -1
- package/cjs/style/themes/eiendom/basis.js +4 -0
- package/cjs/style/themes/eiendom/basis.js.map +1 -0
- package/cjs/style/themes/eiendom/index.js +5 -0
- package/cjs/style/themes/eiendom/index.js.map +1 -0
- package/cjs/style/themes/sbanken/basis.js +4 -0
- package/cjs/style/themes/sbanken/basis.js.map +1 -0
- package/cjs/style/themes/sbanken/index.js +5 -0
- package/cjs/style/themes/sbanken/index.js.map +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/ui/basis.js +4 -0
- package/cjs/style/themes/ui/basis.js.map +1 -0
- package/cjs/style/themes/ui/index.js +5 -0
- package/cjs/style/themes/ui/index.js.map +1 -0
- package/components/aria-live/useAriaLive.d.ts +1 -1
- package/components/autocomplete/Autocomplete.d.ts +19 -5
- package/components/dropdown/Dropdown.d.ts +22 -5
- package/components/height-animation/HeightAnimationInstance.js +5 -0
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/icon/style/dnb-icon.css +1 -0
- package/components/icon/style/dnb-icon.min.css +1 -1
- package/components/icon/style/dnb-icon.scss +1 -0
- package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/components/progress-indicator/ProgressIndicator.js +27 -14
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/components/progress-indicator/types.d.ts +95 -0
- package/components/progress-indicator/types.js +5 -0
- package/components/progress-indicator/types.js.map +1 -0
- package/es/components/aria-live/useAriaLive.d.ts +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +19 -5
- package/es/components/dropdown/Dropdown.d.ts +22 -5
- package/es/components/height-animation/HeightAnimationInstance.js +5 -0
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/icon/style/dnb-icon.css +1 -0
- package/es/components/icon/style/dnb-icon.min.css +1 -1
- package/es/components/icon/style/dnb-icon.scss +1 -0
- package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/es/components/progress-indicator/ProgressIndicator.js +27 -14
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
- package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/es/components/progress-indicator/types.d.ts +95 -0
- package/es/components/progress-indicator/types.js +5 -0
- package/es/components/progress-indicator/types.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +7 -2
- package/es/extensions/forms/DataContext/Context.js +0 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Field/Name/Name.js +63 -0
- package/es/extensions/forms/Field/Name/Name.js.map +1 -0
- package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/es/extensions/forms/Field/Name/index.d.ts +2 -0
- package/es/extensions/forms/Field/Name/index.js +3 -0
- package/es/extensions/forms/Field/Name/index.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/es/extensions/forms/Field/Option/Option.js +20 -0
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/es/extensions/forms/Field/Selection/Selection.js +20 -32
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/es/extensions/forms/Field/String/String.d.ts +2 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/es/extensions/forms/Form/FieldProps/index.js +3 -0
- package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +18 -4
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +2 -2
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Value/Name/Name.js +40 -0
- package/es/extensions/forms/Value/Name/Name.js.map +1 -0
- package/es/extensions/forms/Value/Name/index.d.ts +2 -0
- package/es/extensions/forms/Value/Name/index.js +3 -0
- package/es/extensions/forms/Value/Name/index.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/es/extensions/forms/Value/String/String.js +8 -3
- package/es/extensions/forms/Value/String/String.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/ValueDocs.js +6 -1
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +3 -0
- package/es/extensions/forms/Value/index.js +3 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/es/extensions/forms/Wizard/Step/Step.js +14 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/es/extensions/forms/constants/locales/en-GB.js +12 -3
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/es/extensions/forms/constants/locales/index.d.ts +18 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +8 -3
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +3 -1
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +77 -43
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +3 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/es/shared/Context.d.ts +4 -4
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -0
- package/es/shared/component-helper.js +2 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/es/shared/helpers/assignPropsWithContext.js +12 -0
- package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/es/shared/helpers/extendPropsWithContext.js +1 -1
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/filterValidProps.d.ts +1 -0
- package/es/shared/helpers/filterValidProps.js.map +1 -1
- package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +129 -98
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +77 -43
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +77 -43
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -1
- package/es/style/themes/eiendom/basis.js +1 -0
- package/es/style/themes/eiendom/basis.js.map +1 -0
- package/es/style/themes/eiendom/index.js +3 -0
- package/es/style/themes/eiendom/index.js.map +1 -0
- package/es/style/themes/sbanken/basis.js +1 -0
- package/es/style/themes/sbanken/basis.js.map +1 -0
- package/es/style/themes/sbanken/index.d.ts +1 -0
- package/es/style/themes/sbanken/index.js +3 -0
- package/es/style/themes/sbanken/index.js.map +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/ui/basis.d.ts +1 -0
- package/es/style/themes/ui/basis.js +1 -0
- package/es/style/themes/ui/basis.js.map +1 -0
- package/es/style/themes/ui/index.d.ts +1 -0
- package/es/style/themes/ui/index.js +3 -0
- package/es/style/themes/ui/index.js.map +1 -0
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +7 -2
- package/extensions/forms/DataContext/Context.js +0 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
- package/extensions/forms/DataContext/Provider/Provider.js +69 -35
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/extensions/forms/Field/Name/Name.js +63 -0
- package/extensions/forms/Field/Name/Name.js.map +1 -0
- package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/extensions/forms/Field/Name/index.d.ts +2 -0
- package/extensions/forms/Field/Name/index.js +3 -0
- package/extensions/forms/Field/Name/index.js.map +1 -0
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/extensions/forms/Field/Option/Option.js +20 -0
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/extensions/forms/Field/Selection/Selection.js +20 -32
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/extensions/forms/Field/String/String.d.ts +2 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
- package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
- package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
- package/extensions/forms/Form/FieldProps/index.js +3 -0
- package/extensions/forms/Form/FieldProps/index.js.map +1 -0
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +18 -4
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
- package/extensions/forms/Form/Visibility/Visibility.js +7 -4
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +2 -2
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/extensions/forms/Value/Name/Name.js +40 -0
- package/extensions/forms/Value/Name/Name.js.map +1 -0
- package/extensions/forms/Value/Name/index.d.ts +2 -0
- package/extensions/forms/Value/Name/index.js +3 -0
- package/extensions/forms/Value/Name/index.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/extensions/forms/Value/String/String.js +8 -3
- package/extensions/forms/Value/String/String.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/ValueDocs.js +6 -1
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +3 -0
- package/extensions/forms/Value/index.js +3 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/extensions/forms/Wizard/Step/Step.js +14 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/extensions/forms/constants/locales/en-GB.js +12 -3
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/extensions/forms/constants/locales/index.d.ts +18 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +8 -4
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +3 -1
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +77 -43
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +3 -2
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/package.json +1 -1
- package/shared/Context.d.ts +4 -4
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +1 -0
- package/shared/component-helper.js +2 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/assignPropsWithContext.d.ts +1 -0
- package/shared/helpers/assignPropsWithContext.js +16 -0
- package/shared/helpers/assignPropsWithContext.js.map +1 -0
- package/shared/helpers/extendPropsWithContext.d.ts +1 -0
- package/shared/helpers/extendPropsWithContext.js +1 -1
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/filterValidProps.d.ts +1 -0
- package/shared/helpers/filterValidProps.js.map +1 -1
- package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
- package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +129 -98
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +77 -43
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +77 -43
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -1
- package/style/themes/eiendom/basis.d.ts +1 -0
- package/style/themes/eiendom/basis.js +1 -0
- package/style/themes/eiendom/basis.js.map +1 -0
- package/style/themes/eiendom/index.d.ts +1 -0
- package/style/themes/eiendom/index.js +3 -0
- package/style/themes/eiendom/index.js.map +1 -0
- package/style/themes/sbanken/basis.d.ts +1 -0
- package/style/themes/sbanken/basis.js +1 -0
- package/style/themes/sbanken/basis.js.map +1 -0
- package/style/themes/sbanken/index.d.ts +1 -0
- package/style/themes/sbanken/index.js +3 -0
- package/style/themes/sbanken/index.js.map +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/ui/basis.d.ts +1 -0
- package/style/themes/ui/basis.js +1 -0
- package/style/themes/ui/basis.js.map +1 -0
- package/style/themes/ui/index.d.ts +1 -0
- package/style/themes/ui/index.js +3 -0
- package/style/themes/ui/index.js.map +1 -0
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/style/themes/eiendom.js +0 -5
- package/cjs/style/themes/eiendom.js.map +0 -1
- package/cjs/style/themes/sbanken.js +0 -5
- package/cjs/style/themes/sbanken.js.map +0 -1
- package/cjs/style/themes/ui.js +0 -5
- package/cjs/style/themes/ui.js.map +0 -1
- package/es/style/themes/eiendom.js +0 -3
- package/es/style/themes/eiendom.js.map +0 -1
- package/es/style/themes/sbanken.js +0 -3
- package/es/style/themes/sbanken.js.map +0 -1
- package/es/style/themes/ui.js +0 -3
- package/es/style/themes/ui.js.map +0 -1
- package/style/themes/eiendom.js +0 -3
- package/style/themes/eiendom.js.map +0 -1
- package/style/themes/sbanken.js +0 -3
- package/style/themes/sbanken.js.map +0 -1
- package/style/themes/ui.js +0 -3
- package/style/themes/ui.js.map +0 -1
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
- /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
- /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
- /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
- /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
- /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
- /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
- /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.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;
|
|
@@ -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
|
-
|
|
7
|
-
|
|
6
|
+
const _excluded = ["size", "visible", "progress", "onComplete", "callOnCompleteHandler", "title", "customColors", "customCircleWidth", "counterClockwise"],
|
|
7
|
+
_excluded2 = ["customColor", "customWidth", "className"];
|
|
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, { useEffect, useRef, forwardRef } from 'react';
|
|
@@ -16,10 +16,12 @@ function ProgressIndicatorCircular(props) {
|
|
|
16
16
|
size,
|
|
17
17
|
visible,
|
|
18
18
|
progress,
|
|
19
|
-
maxOffset = 88,
|
|
20
19
|
onComplete,
|
|
21
20
|
callOnCompleteHandler,
|
|
22
|
-
title
|
|
21
|
+
title,
|
|
22
|
+
customColors,
|
|
23
|
+
customCircleWidth,
|
|
24
|
+
counterClockwise = false
|
|
23
25
|
} = props,
|
|
24
26
|
rest = _objectWithoutProperties(props, _excluded);
|
|
25
27
|
const keepAnimatingRef = useRef(true);
|
|
@@ -53,7 +55,7 @@ function ProgressIndicatorCircular(props) {
|
|
|
53
55
|
let animateOnStart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
54
56
|
let callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
55
57
|
const min = 1;
|
|
56
|
-
const max =
|
|
58
|
+
const max = Math.PI * 100;
|
|
57
59
|
let start = 0,
|
|
58
60
|
ms = 0,
|
|
59
61
|
prog = max,
|
|
@@ -67,13 +69,13 @@ function ProgressIndicatorCircular(props) {
|
|
|
67
69
|
}
|
|
68
70
|
ms = timestamp - start;
|
|
69
71
|
if (animate1) {
|
|
70
|
-
if (!visibleRef.current && prog <
|
|
72
|
+
if (!visibleRef.current && prog < 20) {
|
|
71
73
|
prog = min;
|
|
72
74
|
}
|
|
73
75
|
if (setProg) {
|
|
74
|
-
element.style['stroke-dashoffset'] = prog
|
|
76
|
+
element.style['stroke-dashoffset'] = `${prog}%`;
|
|
75
77
|
} else if (!animateOnStart) {
|
|
76
|
-
element.style['stroke-dashoffset'] = max
|
|
78
|
+
element.style['stroke-dashoffset'] = `${max}%`;
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
if (stopNextRound) {
|
|
@@ -101,9 +103,8 @@ function ProgressIndicatorCircular(props) {
|
|
|
101
103
|
window.requestAnimationFrame(step);
|
|
102
104
|
}
|
|
103
105
|
};
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
if (hasProgressValue) {
|
|
106
|
+
const progressIsControlled = progress > -1;
|
|
107
|
+
if (progressIsControlled) {
|
|
107
108
|
rest.role = 'progressbar';
|
|
108
109
|
rest['aria-label'] = title;
|
|
109
110
|
rest['title'] = title;
|
|
@@ -113,33 +114,68 @@ function ProgressIndicatorCircular(props) {
|
|
|
113
114
|
}
|
|
114
115
|
const remainingDOMAttributes = validateDOMAttributes(props, _objectSpread({}, rest));
|
|
115
116
|
return React.createElement("span", _extends({
|
|
116
|
-
className: classnames('dnb-progress-indicator__circular', size && `dnb-progress-indicator__circular--${size}`,
|
|
117
|
-
}, remainingDOMAttributes),
|
|
118
|
-
className: "dnb-progress-
|
|
117
|
+
className: classnames('dnb-progress-indicator__circular', size && `dnb-progress-indicator__circular--${size}`, progressIsControlled && 'dnb-progress-indicator__circular--has-progress-value')
|
|
118
|
+
}, remainingDOMAttributes), React.createElement("span", {
|
|
119
|
+
className: "dnb-progress-indicator__circular__background-padding"
|
|
120
|
+
}, React.createElement("span", {
|
|
121
|
+
className: "dnb-progress-indicator__circular__background",
|
|
122
|
+
style: {
|
|
123
|
+
backgroundColor: customColors === null || customColors === void 0 ? void 0 : customColors.background
|
|
124
|
+
}
|
|
119
125
|
})), React.createElement(Circle, {
|
|
120
|
-
className: "
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
className: "light paused",
|
|
127
|
+
customColor: customColors === null || customColors === void 0 ? void 0 : customColors.shaft,
|
|
128
|
+
customWidth: customCircleWidth
|
|
129
|
+
}), React.createElement(Circle, {
|
|
130
|
+
className: "dark dark" + (progressIsControlled || useAnimationFrame ? " paused" : ""),
|
|
131
|
+
style: progressIsControlled ? {
|
|
132
|
+
strokeDashoffset: getOffset(progress, counterClockwise)
|
|
123
133
|
} : {},
|
|
134
|
+
customColor: customColors === null || customColors === void 0 ? void 0 : customColors.line,
|
|
135
|
+
customWidth: customCircleWidth,
|
|
124
136
|
ref: _refDark
|
|
125
|
-
}), !
|
|
126
|
-
className:
|
|
137
|
+
}), !progressIsControlled && React.createElement(Circle, {
|
|
138
|
+
className: 'light' + (useAnimationFrame ? " paused" : ""),
|
|
139
|
+
customColor: customColors === null || customColors === void 0 ? void 0 : customColors.shaft,
|
|
140
|
+
customWidth: customCircleWidth,
|
|
127
141
|
ref: _refLight
|
|
128
142
|
}));
|
|
129
143
|
}
|
|
130
|
-
const Circle = forwardRef(function Circle(
|
|
144
|
+
const Circle = forwardRef(function Circle(_ref, ref) {
|
|
145
|
+
let {
|
|
146
|
+
customColor,
|
|
147
|
+
customWidth,
|
|
148
|
+
className
|
|
149
|
+
} = _ref,
|
|
150
|
+
rest = _objectWithoutProperties(_ref, _excluded2);
|
|
151
|
+
const correctedCustomWidth = correctPercentageStrokeWidth(customWidth);
|
|
131
152
|
return React.createElement("svg", _extends({
|
|
132
|
-
|
|
153
|
+
className: classnames('dnb-progress-indicator__circular__line', className),
|
|
133
154
|
shapeRendering: "geometricPrecision",
|
|
134
155
|
ref: ref
|
|
135
|
-
},
|
|
156
|
+
}, rest), React.createElement("circle", {
|
|
136
157
|
className: "dnb-progress-indicator__circular__circle",
|
|
137
158
|
fill: "none",
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
159
|
+
cx: "50%",
|
|
160
|
+
cy: "50%",
|
|
161
|
+
r: "50%",
|
|
162
|
+
style: _objectSpread({
|
|
163
|
+
stroke: customColor
|
|
164
|
+
}, correctedCustomWidth ? {
|
|
165
|
+
'--progress-indicator-circular-stroke-width': correctedCustomWidth
|
|
166
|
+
} : undefined)
|
|
167
|
+
}));
|
|
143
168
|
});
|
|
169
|
+
function getOffset(progress) {
|
|
170
|
+
let counterClockwise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
171
|
+
const offset = Math.PI * (100 - progress);
|
|
172
|
+
return `${counterClockwise ? -offset : offset}%`;
|
|
173
|
+
}
|
|
174
|
+
function correctPercentageStrokeWidth(strokeWidth) {
|
|
175
|
+
if (typeof strokeWidth === 'string' && strokeWidth.endsWith('%')) {
|
|
176
|
+
const number = parseFloat(strokeWidth.slice(0, strokeWidth.length - 1));
|
|
177
|
+
return `${100 * number / (100 - number)}%`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
144
180
|
export default ProgressIndicatorCircular;
|
|
145
181
|
//# sourceMappingURL=ProgressIndicatorCircular.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressIndicatorCircular.js","names":["React","useEffect","useRef","forwardRef","classnames","validateDOMAttributes","IS_EDGE","ProgressIndicatorCircular","props","size","visible","progress","maxOffset","onComplete","callOnCompleteHandler","title","rest","_objectWithoutProperties","_excluded","keepAnimatingRef","visibleRef","useAnimationFrame","_refDark","_refLight","_startupTimeout","current","setTimeout","doAnimation","clearTimeout","element","animateOnStart","arguments","length","undefined","callback","min","max","start","ms","prog","setProg","animate1","completeCalled","stopNextRound","step","timestamp","style","Math","round","ceil","window","requestAnimationFrame","strokeDashoffset","hasProgressValue","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","_Circle","Circle","ref","viewBox","shapeRendering","_circle","fill","strokeWidth","cx","cy","r"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorCircular.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useEffect, useRef, forwardRef } from 'react'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\nimport { IS_EDGE } from '../../shared/helpers'\n\ntype ProgressIndicatorCircularProps = {\n /**\n * Defines the size, like `small`, `default`, `medium` or `large`. Defaults to `default`.\n */\n size?: 'default' | 'small' | 'medium' | 'large' | 'huge'\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 * To visualize a static \"percentage\" (0-100) as a progress state. Defaults to `null`.\n */\n progress?: number\n maxOffset?: number\n onComplete?: (...args: any[]) => any\n callOnCompleteHandler?: (...args: any[]) => any\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\nfunction ProgressIndicatorCircular(\n props: ProgressIndicatorCircularProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'>\n) {\n const {\n size,\n visible,\n progress,\n maxOffset = 88,\n onComplete,\n callOnCompleteHandler,\n title,\n ...rest\n } = props\n const keepAnimatingRef = useRef(true)\n const visibleRef = useRef(false)\n const useAnimationFrame = typeof onComplete === 'function' || IS_EDGE\n const _refDark = useRef<SVGSVGElement>(null)\n const _refLight = useRef<SVGSVGElement>(null)\n const _startupTimeout = useRef<NodeJS.Timeout>()\n\n useEffect(() => {\n if (useAnimationFrame) {\n _startupTimeout.current = setTimeout(() => {\n if (_refDark.current) {\n doAnimation(_refDark.current, true, callOnCompleteHandler)\n }\n if (_refLight.current) {\n doAnimation(_refLight.current, false)\n }\n }, 300)\n }\n\n return () => {\n keepAnimatingRef.current = false\n if (_startupTimeout.current) {\n clearTimeout(_startupTimeout.current)\n }\n }\n }, [])\n\n useEffect(() => {\n visibleRef.current = visible\n }, [visible])\n\n const doAnimation = (\n element: SVGSVGElement,\n animateOnStart = true,\n callback = null\n ) => {\n const min = 1\n const max = 88\n let start = 0,\n ms = 0,\n prog = max,\n setProg = animateOnStart,\n animate1 = true,\n completeCalled = false,\n stopNextRound = false\n\n const step = (timestamp) => {\n if (!start) {\n start = timestamp\n }\n\n // milliseconds\n ms = timestamp - start\n\n if (animate1) {\n if (!visibleRef.current && prog < 5) {\n prog = min\n }\n if (setProg) {\n element.style['stroke-dashoffset'] = prog\n } else if (!animateOnStart) {\n element.style['stroke-dashoffset'] = max\n }\n }\n\n // if complete\n if (stopNextRound) {\n animate1 = false\n if (!completeCalled) {\n completeCalled = true\n if (animateOnStart && typeof callback === 'function') {\n callback()\n }\n } else if (visibleRef.current && ms % 1e3 > 950) {\n // startAnimationFirstTime() // will not start completely from scratch\n stopNextRound = false\n }\n } else {\n // make sure we stop next round\n stopNextRound = !visibleRef.current && prog === min\n animate1 = true\n completeCalled = false\n }\n\n // since we have 1sec as duration, and we want always a max of 1000ms\n prog = Math.round(max - (max / 1e3) * (ms % 1e3))\n\n // calc if we want to animate\n setProg = animateOnStart\n ? Math.ceil(ms / 1e3) % 2 === 1 || ms === 0\n : Math.ceil(ms / 1e3) % 2 === 0 && ms !== 0\n\n if (keepAnimatingRef.current) {\n window.requestAnimationFrame(step)\n }\n }\n if (typeof window !== 'undefined' && window.requestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n }\n\n const strokeDashoffset = maxOffset - (maxOffset / 100) * progress\n const hasProgressValue = progress > -1\n\n if (hasProgressValue) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__circular',\n size && `dnb-progress-indicator__circular--${size}`,\n hasProgressValue &&\n 'dnb-progress-indicator__circular--has-progress-value'\n )}\n {...remainingDOMAttributes}\n >\n {/* The first one is the background line */}\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'light',\n 'paused'\n )}\n />\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'dark',\n 'dark',\n hasProgressValue || useAnimationFrame ? 'paused' : null\n )}\n style={hasProgressValue ? { strokeDashoffset } : {}}\n ref={_refDark}\n />\n {!hasProgressValue && (\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'light',\n useAnimationFrame ? 'paused' : null\n )}\n ref={_refLight}\n />\n )}\n </span>\n )\n}\n\nconst Circle = forwardRef(function Circle(\n props: React.HTMLProps<SVGSVGElement>,\n ref: React.RefObject<SVGSVGElement>\n) {\n return (\n <svg\n viewBox=\"0 0 32 32\"\n shapeRendering=\"geometricPrecision\"\n ref={ref}\n {...props}\n >\n <circle\n className=\"dnb-progress-indicator__circular__circle\"\n fill=\"none\"\n strokeWidth=\"4\"\n cx=\"16\"\n cy=\"16\"\n r=\"14\"\n />\n </svg>\n )\n})\n\nexport default ProgressIndicatorCircular\n"],"mappings":";;;;;;;;;AAKA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,UAAU,QAAQ,OAAO;AAC5D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,qBAAqB,QAAQ,+BAA+B;AACrE,SAASC,OAAO,QAAQ,sBAAsB;AAwB9C,SAASC,yBAAyBA,CAChCC,KAC4C,EAC5C;EACA,MAAM;MACJC,IAAI;MACJC,OAAO;MACPC,QAAQ;MACRC,SAAS,GAAG,EAAE;MACdC,UAAU;MACVC,qBAAqB;MACrBC;IAEF,CAAC,GAAGP,KAAK;IADJQ,IAAI,GAAAC,wBAAA,CACLT,KAAK,EAAAU,SAAA;EACT,MAAMC,gBAAgB,GAAGjB,MAAM,CAAC,IAAI,CAAC;EACrC,MAAMkB,UAAU,GAAGlB,MAAM,CAAC,KAAK,CAAC;EAChC,MAAMmB,iBAAiB,GAAG,OAAOR,UAAU,KAAK,UAAU,IAAIP,OAAO;EACrE,MAAMgB,QAAQ,GAAGpB,MAAM,CAAgB,IAAI,CAAC;EAC5C,MAAMqB,SAAS,GAAGrB,MAAM,CAAgB,IAAI,CAAC;EAC7C,MAAMsB,eAAe,GAAGtB,MAAM,CAAiB,CAAC;EAEhDD,SAAS,CAAC,MAAM;IACd,IAAIoB,iBAAiB,EAAE;MACrBG,eAAe,CAACC,OAAO,GAAGC,UAAU,CAAC,MAAM;QACzC,IAAIJ,QAAQ,CAACG,OAAO,EAAE;UACpBE,WAAW,CAACL,QAAQ,CAACG,OAAO,EAAE,IAAI,EAAEX,qBAAqB,CAAC;QAC5D;QACA,IAAIS,SAAS,CAACE,OAAO,EAAE;UACrBE,WAAW,CAACJ,SAAS,CAACE,OAAO,EAAE,KAAK,CAAC;QACvC;MACF,CAAC,EAAE,GAAG,CAAC;IACT;IAEA,OAAO,MAAM;MACXN,gBAAgB,CAACM,OAAO,GAAG,KAAK;MAChC,IAAID,eAAe,CAACC,OAAO,EAAE;QAC3BG,YAAY,CAACJ,eAAe,CAACC,OAAO,CAAC;MACvC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENxB,SAAS,CAAC,MAAM;IACdmB,UAAU,CAACK,OAAO,GAAGf,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMiB,WAAW,GAAG,SAAAA,CAClBE,OAAsB,EAGnB;IAAA,IAFHC,cAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IACrBG,QAAQ,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAEf,MAAMI,GAAG,GAAG,CAAC;IACb,MAAMC,GAAG,GAAG,EAAE;IACd,IAAIC,KAAK,GAAG,CAAC;MACXC,EAAE,GAAG,CAAC;MACNC,IAAI,GAAGH,GAAG;MACVI,OAAO,GAAGV,cAAc;MACxBW,QAAQ,GAAG,IAAI;MACfC,cAAc,GAAG,KAAK;MACtBC,aAAa,GAAG,KAAK;IAEvB,MAAMC,IAAI,GAAIC,SAAS,IAAK;MAC1B,IAAI,CAACR,KAAK,EAAE;QACVA,KAAK,GAAGQ,SAAS;MACnB;MAGAP,EAAE,GAAGO,SAAS,GAAGR,KAAK;MAEtB,IAAII,QAAQ,EAAE;QACZ,IAAI,CAACrB,UAAU,CAACK,OAAO,IAAIc,IAAI,GAAG,CAAC,EAAE;UACnCA,IAAI,GAAGJ,GAAG;QACZ;QACA,IAAIK,OAAO,EAAE;UACXX,OAAO,CAACiB,KAAK,CAAC,mBAAmB,CAAC,GAAGP,IAAI;QAC3C,CAAC,MAAM,IAAI,CAACT,cAAc,EAAE;UAC1BD,OAAO,CAACiB,KAAK,CAAC,mBAAmB,CAAC,GAAGV,GAAG;QAC1C;MACF;MAGA,IAAIO,aAAa,EAAE;QACjBF,QAAQ,GAAG,KAAK;QAChB,IAAI,CAACC,cAAc,EAAE;UACnBA,cAAc,GAAG,IAAI;UACrB,IAAIZ,cAAc,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;YACpDA,QAAQ,CAAC,CAAC;UACZ;QACF,CAAC,MAAM,IAAId,UAAU,CAACK,OAAO,IAAIa,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE;UAE/CK,aAAa,GAAG,KAAK;QACvB;MACF,CAAC,MAAM;QAELA,aAAa,GAAG,CAACvB,UAAU,CAACK,OAAO,IAAIc,IAAI,KAAKJ,GAAG;QACnDM,QAAQ,GAAG,IAAI;QACfC,cAAc,GAAG,KAAK;MACxB;MAGAH,IAAI,GAAGQ,IAAI,CAACC,KAAK,CAACZ,GAAG,GAAIA,GAAG,GAAG,GAAG,IAAKE,EAAE,GAAG,GAAG,CAAC,CAAC;MAGjDE,OAAO,GAAGV,cAAc,GACpBiB,IAAI,CAACE,IAAI,CAACX,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAIA,EAAE,KAAK,CAAC,GACzCS,IAAI,CAACE,IAAI,CAACX,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAIA,EAAE,KAAK,CAAC;MAE7C,IAAInB,gBAAgB,CAACM,OAAO,EAAE;QAC5ByB,MAAM,CAACC,qBAAqB,CAACP,IAAI,CAAC;MACpC;IACF,CAAC;IACD,IAAI,OAAOM,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,qBAAqB,EAAE;MACjED,MAAM,CAACC,qBAAqB,CAACP,IAAI,CAAC;IACpC;EACF,CAAC;EAED,MAAMQ,gBAAgB,GAAGxC,SAAS,GAAIA,SAAS,GAAG,GAAG,GAAID,QAAQ;EACjE,MAAM0C,gBAAgB,GAAG1C,QAAQ,GAAG,CAAC,CAAC;EAEtC,IAAI0C,gBAAgB,EAAE;IACpBrC,IAAI,CAACsC,IAAI,GAAG,aAAa;IACzBtC,IAAI,CAAC,YAAY,CAAC,GAAGD,KAAK;IAC1BC,IAAI,CAAC,OAAO,CAAC,GAAGD,KAAK;EACvB,CAAC,MAAM;IACLC,IAAI,CAACsC,IAAI,GAAG,OAAO;IACnBtC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;EAC1B;EAEA,MAAMuC,sBAAsB,GAAGlD,qBAAqB,CAACG,KAAK,EAAAgD,aAAA,KAAOxC,IAAI,CAAE,CAAC;EAExE,OACEhB,KAAA,CAAAyD,aAAA,SAAAC,QAAA;IACEC,SAAS,EAAEvD,UAAU,CACnB,kCAAkC,EAClCK,IAAI,IAAK,qCAAoCA,IAAK,EAAC,EACnD4C,gBAAgB,IACd,sDACJ;EAAE,GACEE,sBAAsB,GAAAK,OAAA,KAAAA,OAAA,GAG1B5D,KAAA,CAAAyD,aAAA,CAACI,MAAM;IACLF,SAAS;EAIP,CACH,CAAC,GACF3D,KAAA,CAAAyD,aAAA,CAACI,MAAM;IACLF,SAAS,wDAIPN,gBAAgB,IAAIhC,iBAAiB,kBACrC;IACFyB,KAAK,EAAEO,gBAAgB,GAAG;MAAED;IAAiB,CAAC,GAAG,CAAC,CAAE;IACpDU,GAAG,EAAExC;EAAS,CACf,CAAC,EACD,CAAC+B,gBAAgB,IAChBrD,KAAA,CAAAyD,aAAA,CAACI,MAAM;IACLF,SAAS,oDAGPtC,iBAAiB,kBACjB;IACFyC,GAAG,EAAEvC;EAAU,CAChB,CAEC,CAAC;AAEX;AAEA,MAAMsC,MAAM,GAAG1D,UAAU,CAAC,SAAS0D,MAAMA,CACvCrD,KAAqC,EACrCsD,GAAmC,EACnC;EACA,OACE9D,KAAA,CAAAyD,aAAA,QAAAC,QAAA;IACEK,OAAO,EAAC,WAAW;IACnBC,cAAc,EAAC,oBAAoB;IACnCF,GAAG,EAAEA;EAAI,GACLtD,KAAK,GAAAyD,OAAA,KAAAA,OAAA,GAETjE,KAAA,CAAAyD,aAAA;IACEE,SAAS,EAAC,0CAA0C;IACpDO,IAAI,EAAC,MAAM;IACXC,WAAW,EAAC,GAAG;IACfC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC;EAAI,CACP,CAAC,CACC,CAAC;AAEV,CAAC,CAAC;AAEF,eAAe/D,yBAAyB"}
|
|
1
|
+
{"version":3,"file":"ProgressIndicatorCircular.js","names":["React","useEffect","useRef","forwardRef","classnames","validateDOMAttributes","IS_EDGE","ProgressIndicatorCircular","props","size","visible","progress","onComplete","callOnCompleteHandler","title","customColors","customCircleWidth","counterClockwise","rest","_objectWithoutProperties","_excluded","keepAnimatingRef","visibleRef","useAnimationFrame","_refDark","_refLight","_startupTimeout","current","setTimeout","doAnimation","clearTimeout","element","animateOnStart","arguments","length","undefined","callback","min","max","Math","PI","start","ms","prog","setProg","animate1","completeCalled","stopNextRound","step","timestamp","style","round","ceil","window","requestAnimationFrame","progressIsControlled","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","backgroundColor","background","Circle","customColor","shaft","customWidth","strokeDashoffset","getOffset","line","ref","_ref","_excluded2","correctedCustomWidth","correctPercentageStrokeWidth","shapeRendering","fill","cx","cy","r","stroke","offset","strokeWidth","endsWith","number","parseFloat","slice"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorCircular.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useEffect, useRef, forwardRef } from 'react'\nimport * as CSS from 'csstype'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\nimport { IS_EDGE } from '../../shared/helpers'\nimport { ProgressIndicatorCircularAllProps } from './types'\n\nfunction ProgressIndicatorCircular(\n props: ProgressIndicatorCircularAllProps\n) {\n const {\n size,\n visible,\n progress,\n onComplete,\n callOnCompleteHandler,\n title,\n customColors,\n customCircleWidth,\n counterClockwise = false,\n ...rest\n } = props\n const keepAnimatingRef = useRef(true)\n const visibleRef = useRef(false)\n const useAnimationFrame = typeof onComplete === 'function' || IS_EDGE\n const _refDark = useRef<SVGSVGElement>(null)\n const _refLight = useRef<SVGSVGElement>(null)\n const _startupTimeout = useRef<NodeJS.Timeout>()\n\n useEffect(() => {\n if (useAnimationFrame) {\n _startupTimeout.current = setTimeout(() => {\n if (_refDark.current) {\n doAnimation(_refDark.current, true, callOnCompleteHandler)\n }\n if (_refLight.current) {\n doAnimation(_refLight.current, false)\n }\n }, 300)\n }\n\n return () => {\n keepAnimatingRef.current = false\n if (_startupTimeout.current) {\n clearTimeout(_startupTimeout.current)\n }\n }\n }, [])\n\n useEffect(() => {\n visibleRef.current = visible\n }, [visible])\n\n const doAnimation = (\n element: SVGSVGElement,\n animateOnStart = true,\n callback = null\n ) => {\n const min = 1\n const max = Math.PI * 100\n let start = 0,\n ms = 0,\n prog = max,\n setProg = animateOnStart,\n animate1 = true,\n completeCalled = false,\n stopNextRound = false\n\n const step = (timestamp) => {\n if (!start) {\n start = timestamp\n }\n\n // milliseconds\n ms = timestamp - start\n\n if (animate1) {\n if (!visibleRef.current && prog < 20) {\n prog = min\n }\n if (setProg) {\n element.style['stroke-dashoffset'] = `${prog}%`\n } else if (!animateOnStart) {\n element.style['stroke-dashoffset'] = `${max}%`\n }\n }\n\n // if complete\n if (stopNextRound) {\n animate1 = false\n if (!completeCalled) {\n completeCalled = true\n if (animateOnStart && typeof callback === 'function') {\n callback()\n }\n } else if (visibleRef.current && ms % 1e3 > 950) {\n // startAnimationFirstTime() // will not start completely from scratch\n stopNextRound = false\n }\n } else {\n // make sure we stop next round\n stopNextRound = !visibleRef.current && prog === min\n animate1 = true\n completeCalled = false\n }\n\n // since we have 1sec as duration, and we want always a max of 1000ms\n prog = Math.round(max - (max / 1e3) * (ms % 1e3))\n\n // calc if we want to animate\n setProg = animateOnStart\n ? Math.ceil(ms / 1e3) % 2 === 1 || ms === 0\n : Math.ceil(ms / 1e3) % 2 === 0 && ms !== 0\n\n if (keepAnimatingRef.current) {\n window.requestAnimationFrame(step)\n }\n }\n if (typeof window !== 'undefined' && window.requestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n }\n\n const progressIsControlled = progress > -1\n\n if (progressIsControlled) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__circular',\n size && `dnb-progress-indicator__circular--${size}`,\n progressIsControlled &&\n 'dnb-progress-indicator__circular--has-progress-value'\n )}\n {...remainingDOMAttributes}\n >\n <span className=\"dnb-progress-indicator__circular__background-padding\">\n <span\n className=\"dnb-progress-indicator__circular__background\"\n style={{ backgroundColor: customColors?.background }}\n />\n </span>\n\n {/* The first one is the background line */}\n <Circle\n className={classnames('light', 'paused')}\n customColor={customColors?.shaft}\n customWidth={customCircleWidth}\n />\n <Circle\n className={classnames(\n 'dark',\n 'dark',\n progressIsControlled || useAnimationFrame ? 'paused' : null\n )}\n style={\n progressIsControlled\n ? {\n strokeDashoffset: getOffset(progress, counterClockwise),\n }\n : {}\n }\n customColor={customColors?.line}\n customWidth={customCircleWidth}\n ref={_refDark}\n />\n {!progressIsControlled && (\n <Circle\n className={classnames(\n 'light',\n useAnimationFrame ? 'paused' : null\n )}\n customColor={customColors?.shaft}\n customWidth={customCircleWidth}\n ref={_refLight}\n />\n )}\n </span>\n )\n}\n\nconst Circle = forwardRef(function Circle(\n {\n customColor,\n customWidth,\n className,\n ...rest\n }: React.HTMLProps<SVGSVGElement> & {\n customColor?: CSS.Property.BackgroundColor\n customWidth?: CSS.Property.StrokeWidth\n },\n ref: React.RefObject<SVGSVGElement>\n) {\n const correctedCustomWidth = correctPercentageStrokeWidth(customWidth)\n return (\n <svg\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n className\n )}\n shapeRendering=\"geometricPrecision\"\n ref={ref}\n {...rest}\n >\n <circle\n className=\"dnb-progress-indicator__circular__circle\"\n fill=\"none\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"50%\"\n style={{\n stroke: customColor,\n ...(correctedCustomWidth\n ? {\n '--progress-indicator-circular-stroke-width':\n correctedCustomWidth,\n }\n : undefined),\n }}\n />\n </svg>\n )\n})\n/**\n *\n * @param progress number between 0-100\n * @param counterClockwise decides direction of movement. Default is `false`\n * @returns\n */\n\nfunction getOffset(progress: number, counterClockwise = false) {\n const offset = Math.PI * (100 - progress)\n return `${counterClockwise ? -offset : offset}%`\n}\n\n/**\n * If the custom stroke width is a percentage, returns a corrected width\n * relative to the parent SVG\n * @param strokeWidth\n * @returns\n */\nfunction correctPercentageStrokeWidth(\n strokeWidth: CSS.Property.StrokeWidth\n) {\n if (typeof strokeWidth === 'string' && strokeWidth.endsWith('%')) {\n const number = parseFloat(strokeWidth.slice(0, strokeWidth.length - 1))\n return `${(100 * number) / (100 - number)}%`\n }\n}\nexport default ProgressIndicatorCircular\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PropertiesTableProps } from '../../shared/types';
|
|
2
2
|
export declare const ProgressIndicatorProperties: PropertiesTableProps;
|
|
3
|
+
export declare const CustomColorsData: PropertiesTableProps;
|
|
3
4
|
export declare const ProgressIndicatorDeprecatedProperties: PropertiesTableProps;
|
|
4
5
|
export declare const ProgressIndicatorEvents: PropertiesTableProps;
|
|
5
6
|
export declare const ProgressIndicatorDeprecatedEvents: PropertiesTableProps;
|
|
@@ -13,7 +13,7 @@ export const ProgressIndicatorProperties = {
|
|
|
13
13
|
},
|
|
14
14
|
type: {
|
|
15
15
|
doc: 'Defines the type.',
|
|
16
|
-
type: [`'circular'`, `'linear'`],
|
|
16
|
+
type: [`'circular'`, `'linear'`, `'countdown'`],
|
|
17
17
|
defaultValue: `'circular'`,
|
|
18
18
|
status: 'optional'
|
|
19
19
|
},
|
|
@@ -25,19 +25,25 @@ export const ProgressIndicatorProperties = {
|
|
|
25
25
|
},
|
|
26
26
|
size: {
|
|
27
27
|
doc: 'Defines the size.',
|
|
28
|
-
type: [`'default'`, `'small'`, `'medium'`, `'large'`, `'huge'
|
|
28
|
+
type: [`'default'`, `'small'`, `'medium'`, `'large'`, `'huge'`, 'string'],
|
|
29
29
|
defaultValue: `'default'`,
|
|
30
30
|
status: 'optional'
|
|
31
31
|
},
|
|
32
32
|
label: {
|
|
33
|
-
doc: '
|
|
33
|
+
doc: 'Content of a custom label. (Overrides `indicator_label` and `showDefaultLabel`)',
|
|
34
|
+
type: 'React.ReactNode',
|
|
35
|
+
defaultValue: 'undefined',
|
|
36
|
+
status: 'optional'
|
|
37
|
+
},
|
|
38
|
+
children: {
|
|
39
|
+
doc: 'Same as `label` prop (`label` prop has priority)',
|
|
34
40
|
type: 'React.ReactNode',
|
|
35
41
|
defaultValue: 'undefined',
|
|
36
42
|
status: 'optional'
|
|
37
43
|
},
|
|
38
44
|
labelDirection: {
|
|
39
|
-
doc:
|
|
40
|
-
type: [`'horizontal'`, '
|
|
45
|
+
doc: "Sets the position of the label. `'inside'` only works with `type='circular'.",
|
|
46
|
+
type: [`'horizontal'`, `'vertical'`, `'inside'`],
|
|
41
47
|
defaultValue: `'horizontal'`,
|
|
42
48
|
status: 'optional'
|
|
43
49
|
},
|
|
@@ -59,12 +65,44 @@ export const ProgressIndicatorProperties = {
|
|
|
59
65
|
defaultValue: 'undefined',
|
|
60
66
|
status: 'optional'
|
|
61
67
|
},
|
|
68
|
+
'[customColors](/uilib/components/progress-indicator/properties/#data-object-customcolors)': {
|
|
69
|
+
doc: 'Send in custom css colors that overrides any css. See below for data structure.',
|
|
70
|
+
type: 'object',
|
|
71
|
+
defaultValue: 'undefined',
|
|
72
|
+
status: 'optional'
|
|
73
|
+
},
|
|
74
|
+
customCircleWidth: {
|
|
75
|
+
doc: 'Send in custom css width for circle progress line. (`undefined` defaults to one eighth of the size).',
|
|
76
|
+
type: 'string',
|
|
77
|
+
defaultValue: 'undefined',
|
|
78
|
+
status: 'optional'
|
|
79
|
+
},
|
|
62
80
|
'[Space](/uilib/layout/space/properties)': {
|
|
63
81
|
doc: 'Spacing properties like `top` or `bottom` are supported.',
|
|
64
82
|
type: ['string', 'object'],
|
|
65
83
|
status: 'optional'
|
|
66
84
|
}
|
|
67
85
|
};
|
|
86
|
+
export const CustomColorsData = {
|
|
87
|
+
line: {
|
|
88
|
+
doc: 'Override the moving line color.',
|
|
89
|
+
type: 'string',
|
|
90
|
+
defaultValue: 'undefined',
|
|
91
|
+
status: 'optional'
|
|
92
|
+
},
|
|
93
|
+
shaft: {
|
|
94
|
+
doc: 'Override the background line color.',
|
|
95
|
+
type: 'string',
|
|
96
|
+
defaultValue: 'undefined',
|
|
97
|
+
status: 'optional'
|
|
98
|
+
},
|
|
99
|
+
background: {
|
|
100
|
+
doc: 'Set a background color for the center of the circle.',
|
|
101
|
+
type: 'string',
|
|
102
|
+
defaultValue: 'undefined',
|
|
103
|
+
status: 'optional'
|
|
104
|
+
}
|
|
105
|
+
};
|
|
68
106
|
export const ProgressIndicatorDeprecatedProperties = {
|
|
69
107
|
no_animation: {
|
|
70
108
|
doc: 'use `noAnimation`.',
|
|
@@ -80,11 +118,6 @@ export const ProgressIndicatorDeprecatedProperties = {
|
|
|
80
118
|
doc: 'use `showDefaultLabel`.',
|
|
81
119
|
type: 'boolean',
|
|
82
120
|
status: 'deprecated'
|
|
83
|
-
},
|
|
84
|
-
children: {
|
|
85
|
-
doc: 'use the `label` prop instead.',
|
|
86
|
-
type: 'React.ReactNode',
|
|
87
|
-
status: 'deprecated'
|
|
88
121
|
}
|
|
89
122
|
};
|
|
90
123
|
export const ProgressIndicatorEvents = {
|