@dnb/eufemia 10.50.0 → 10.51.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 +37 -0
- package/cjs/components/accordion/style/dnb-accordion.css +3 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/Button.d.ts +2 -2
- package/cjs/components/card/style/dnb-card.css +1 -1
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +13 -4
- package/cjs/components/drawer/style/dnb-drawer.css +3 -3
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +1 -1
- package/cjs/components/grid/style/dnb-grid.css +6 -6
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +14 -28
- package/cjs/components/number-format/NumberFormat.js +6 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/cjs/components/number-format/NumberFormatDocs.js +161 -0
- package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
- package/cjs/components/number-format/NumberUtils.d.ts +21 -1
- package/cjs/components/number-format/NumberUtils.js +33 -8
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +1 -1
- package/cjs/components/section/style/dnb-section.css +2 -2
- package/cjs/components/section/style/dnb-section.min.css +2 -2
- package/cjs/components/space/style/dnb-space.css +2 -2
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/switch/Switch.d.ts +100 -91
- package/cjs/components/switch/Switch.js +167 -239
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.d.ts +3 -0
- package/cjs/components/switch/SwitchDocs.js +93 -0
- package/cjs/components/switch/SwitchDocs.js.map +1 -0
- package/cjs/components/tabs/style/dnb-tabs.css +1 -0
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/cjs/extensions/forms/Field/Date/Date.js +20 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
- package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
- package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- 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.js +12 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +4 -4
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/cjs/extensions/forms/Form/Section/Section.js +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +13 -2
- package/cjs/extensions/forms/Form/index.js +19 -9
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Date/Date.js +25 -16
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
- package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Provider/index.js +27 -0
- package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/index.d.ts +3 -2
- package/cjs/extensions/forms/Value/index.js +9 -2
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.js +7 -4
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +10 -21
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +7 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
- package/cjs/extensions/forms/utils/ajv.js +1 -1
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/index.d.ts +1 -0
- package/cjs/extensions/forms/utils/index.js +12 -0
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/cjs/extensions/forms/utils/json-pointer.js +24 -0
- package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/cjs/shared/MediaQueryUtils.js +17 -14
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +10 -5
- 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 +35 -45
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +10 -21
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +10 -21
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +0 -1
- package/cjs/style/dnb-ui-fragments.css +2 -2
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/dnb-accordion.css +3 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/Button.d.ts +2 -2
- package/components/card/style/dnb-card.css +1 -1
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/date-picker/DatePicker.d.ts +13 -4
- package/components/drawer/style/dnb-drawer.css +3 -3
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.css +1 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/form-row/style/dnb-form-row.css +1 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-status/FormStatus.d.ts +1 -1
- package/components/grid/style/dnb-grid.css +6 -6
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/input-masked/InputMasked.d.ts +1 -1
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +14 -28
- package/components/number-format/NumberFormat.js +6 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/components/number-format/NumberFormatDocs.js +153 -0
- package/components/number-format/NumberFormatDocs.js.map +1 -0
- package/components/number-format/NumberUtils.d.ts +21 -1
- package/components/number-format/NumberUtils.js +32 -8
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/pagination/Pagination.d.ts +1 -1
- package/components/section/style/dnb-section.css +2 -2
- package/components/section/style/dnb-section.min.css +2 -2
- package/components/space/style/dnb-space.css +2 -2
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/switch/Switch.d.ts +100 -91
- package/components/switch/Switch.js +165 -238
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/SwitchDocs.d.ts +3 -0
- package/components/switch/SwitchDocs.js +85 -0
- package/components/switch/SwitchDocs.js.map +1 -0
- package/components/tabs/style/dnb-tabs.css +1 -0
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tabs/style/dnb-tabs.scss +1 -0
- package/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.css +3 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/Button.d.ts +2 -2
- package/es/components/card/style/dnb-card.css +1 -1
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/date-picker/DatePicker.d.ts +13 -4
- package/es/components/drawer/style/dnb-drawer.css +3 -3
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/form-row/style/dnb-form-row.css +1 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-status/FormStatus.d.ts +1 -1
- package/es/components/grid/style/dnb-grid.css +6 -6
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/input-masked/InputMasked.d.ts +1 -1
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +14 -28
- package/es/components/number-format/NumberFormat.js +6 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/es/components/number-format/NumberFormatDocs.js +150 -0
- package/es/components/number-format/NumberFormatDocs.js.map +1 -0
- package/es/components/number-format/NumberUtils.d.ts +21 -1
- package/es/components/number-format/NumberUtils.js +31 -7
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +1 -1
- package/es/components/section/style/dnb-section.css +2 -2
- package/es/components/section/style/dnb-section.min.css +2 -2
- package/es/components/space/style/dnb-space.css +2 -2
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/switch/Switch.d.ts +100 -91
- package/es/components/switch/Switch.js +164 -238
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/SwitchDocs.d.ts +3 -0
- package/es/components/switch/SwitchDocs.js +85 -0
- package/es/components/switch/SwitchDocs.js.map +1 -0
- package/es/components/tabs/style/dnb-tabs.css +1 -0
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tabs/style/dnb-tabs.scss +1 -0
- package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/extensions/forms/DataContext/At/At.js +1 -1
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +20 -9
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/es/extensions/forms/Field/Date/Date.js +20 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Field/Provider/index.js +3 -0
- package/es/extensions/forms/Field/Provider/index.js.map +1 -0
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/es/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- 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.js +12 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/Element/Element.js +4 -4
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/es/extensions/forms/Form/Section/Section.js +1 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.js +1 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/es/extensions/forms/Form/data-context/useData.js +13 -15
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +13 -2
- package/es/extensions/forms/Form/index.js +5 -2
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +4 -12
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Value/Date/Date.js +25 -16
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Value/Provider/index.js +3 -0
- package/es/extensions/forms/Value/Provider/index.js.map +1 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/es/extensions/forms/Value/index.d.ts +3 -2
- package/es/extensions/forms/Value/index.js +3 -2
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +2 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +1 -1
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +111 -56
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.js +7 -4
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +7 -2
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +10 -21
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +7 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.d.ts +2 -1
- package/es/extensions/forms/utils/ajv.js +1 -1
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/index.d.ts +1 -0
- package/es/extensions/forms/utils/index.js +1 -0
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/es/extensions/forms/utils/json-pointer.js +4 -0
- package/es/extensions/forms/utils/json-pointer.js.map +1 -0
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/es/shared/MediaQueryUtils.js +17 -14
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/helpers/extendPropsWithContext.js +3 -3
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +10 -5
- 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 +35 -45
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +10 -21
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +10 -21
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +0 -1
- package/es/style/dnb-ui-fragments.css +2 -2
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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 +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js +1 -1
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +20 -9
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +104 -59
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/extensions/forms/Field/Date/Date.js +20 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/extensions/forms/Field/Provider/index.js +3 -0
- package/extensions/forms/Field/Provider/index.js.map +1 -0
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- 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.js +12 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/Element/Element.js +4 -4
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/extensions/forms/Form/Section/Section.js +1 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.js +1 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/extensions/forms/Form/data-context/useData.js +13 -15
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/extensions/forms/Form/data-context/useValidation.js +54 -0
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +13 -2
- package/extensions/forms/Form/index.js +5 -2
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +4 -12
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Count/Count.js +1 -1
- package/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/extensions/forms/Tools/ListAllProps.js +1 -1
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/extensions/forms/Value/Date/Date.js +25 -16
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/extensions/forms/Value/Provider/index.js +3 -0
- package/extensions/forms/Value/Provider/index.js.map +1 -0
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/extensions/forms/Value/index.d.ts +3 -2
- package/extensions/forms/Value/index.js +3 -2
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +2 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/extensions/forms/hooks/useDataValue.js +1 -1
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +1 -1
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +111 -56
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.js +7 -4
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/extensions/forms/hooks/useValueProps.js +7 -2
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +10 -21
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +7 -3
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.d.ts +2 -1
- package/extensions/forms/utils/ajv.js +1 -1
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/index.d.ts +1 -0
- package/extensions/forms/utils/index.js +1 -0
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/extensions/forms/utils/json-pointer/export.js +1 -0
- package/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/extensions/forms/utils/json-pointer.js +4 -0
- package/extensions/forms/utils/json-pointer.js.map +1 -0
- package/package.json +1 -2
- package/shared/Context.d.ts +2 -0
- package/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/shared/MediaQueryUtils.js +17 -14
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/helpers/extendPropsWithContext.js +3 -3
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +10 -5
- 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 +35 -45
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +10 -21
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +10 -21
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +0 -1
- package/style/dnb-ui-fragments.css +2 -2
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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 +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
- package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/es/extensions/forms/Form/FieldProps/index.js +0 -3
- package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/es/extensions/forms/Form/data-context/useError.js +0 -26
- package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/extensions/forms/Form/FieldProps/index.js +0 -3
- package/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/extensions/forms/Form/data-context/useError.js +0 -27
- package/extensions/forms/Form/data-context/useError.js.map +0 -1
|
@@ -27,6 +27,7 @@ export const format = function (value) {
|
|
|
27
27
|
clean_copy_value = null,
|
|
28
28
|
decimals = null,
|
|
29
29
|
omit_rounding = null,
|
|
30
|
+
rounding = null,
|
|
30
31
|
options = null,
|
|
31
32
|
returnAria = false
|
|
32
33
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -47,7 +48,7 @@ export const format = function (value) {
|
|
|
47
48
|
}
|
|
48
49
|
const opts = (typeof options === 'string' && options[0] === '{' ? JSON.parse(options) : options) || {};
|
|
49
50
|
if (parseFloat(decimals) >= 0) {
|
|
50
|
-
value = formatDecimals(value, decimals, omit_rounding, opts);
|
|
51
|
+
value = formatDecimals(value, decimals, rounding !== null && rounding !== void 0 ? rounding : omit_rounding, opts);
|
|
51
52
|
} else if (typeof opts.maximumFractionDigits === 'undefined' && !isTrue(percent) && !isTrue(currency)) {
|
|
52
53
|
opts.maximumFractionDigits = 20;
|
|
53
54
|
}
|
|
@@ -91,7 +92,7 @@ export const format = function (value) {
|
|
|
91
92
|
if (typeof opts.maximumFractionDigits === 'undefined') {
|
|
92
93
|
decimals = countDecimals(value);
|
|
93
94
|
}
|
|
94
|
-
value = formatDecimals(value, decimals, omit_rounding, opts);
|
|
95
|
+
value = formatDecimals(value, decimals, rounding !== null && rounding !== void 0 ? rounding : omit_rounding, opts);
|
|
95
96
|
}
|
|
96
97
|
if (!opts.style) {
|
|
97
98
|
opts.style = 'percent';
|
|
@@ -109,7 +110,7 @@ export const format = function (value) {
|
|
|
109
110
|
});
|
|
110
111
|
if (decimals === null) {
|
|
111
112
|
decimals = 2;
|
|
112
|
-
value = formatDecimals(value, decimals, omit_rounding, opts);
|
|
113
|
+
value = formatDecimals(value, decimals, rounding !== null && rounding !== void 0 ? rounding : omit_rounding, opts);
|
|
113
114
|
}
|
|
114
115
|
let cleanedNumber = decimals >= 0 ? value : clean ? cleanNumber(value) : value;
|
|
115
116
|
if (currency_display === false || currency_display === '') {
|
|
@@ -222,17 +223,27 @@ export const format = function (value) {
|
|
|
222
223
|
}
|
|
223
224
|
return display;
|
|
224
225
|
};
|
|
225
|
-
export const formatDecimals = function (value, decimals) {
|
|
226
|
-
let omit_rounding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
226
|
+
export const formatDecimals = function (value, decimals, rounding) {
|
|
227
227
|
let opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
228
228
|
decimals = parseFloat(decimals);
|
|
229
229
|
if (decimals >= 0) {
|
|
230
230
|
opts.minimumFractionDigits = decimals;
|
|
231
231
|
opts.maximumFractionDigits = decimals;
|
|
232
232
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
233
|
+
if (String(value).includes('.')) {
|
|
234
|
+
const decimalPlaces = decimals || opts.maximumFractionDigits;
|
|
235
|
+
if (rounding === 'omit' || rounding === true) {
|
|
236
|
+
const factor = Math.pow(10, decimalPlaces);
|
|
237
|
+
value = Math.trunc(value * factor) / factor;
|
|
238
|
+
} else {
|
|
239
|
+
switch (rounding) {
|
|
240
|
+
case 'half-even':
|
|
241
|
+
{
|
|
242
|
+
value = roundHalfEven(value, decimalPlaces);
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
236
247
|
}
|
|
237
248
|
return value;
|
|
238
249
|
};
|
|
@@ -762,4 +773,17 @@ function canHandleCompact(_ref9) {
|
|
|
762
773
|
}
|
|
763
774
|
return false;
|
|
764
775
|
}
|
|
776
|
+
export function roundHalfEven(num) {
|
|
777
|
+
let decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
778
|
+
const multiplier = Math.pow(10, decimalPlaces);
|
|
779
|
+
const adjustedNum = num * multiplier;
|
|
780
|
+
const floored = Math.floor(adjustedNum);
|
|
781
|
+
const diff = adjustedNum - floored;
|
|
782
|
+
if (diff > 0.5) {
|
|
783
|
+
return Math.ceil(adjustedNum) / multiplier;
|
|
784
|
+
} else if (diff < 0.5) {
|
|
785
|
+
return Math.floor(adjustedNum) / multiplier;
|
|
786
|
+
}
|
|
787
|
+
return floored % 2 === 0 ? floored / multiplier : Math.ceil(adjustedNum) / multiplier;
|
|
788
|
+
}
|
|
765
789
|
//# sourceMappingURL=NumberUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberUtils.js","names":["React","Context","LOCALE","CURRENCY","CURRENCY_DISPLAY","warn","isTrue","slugify","escapeRegexChars","getOffsetTop","getOffsetLeft","getSelectedElement","copyToClipboard","IS_MAC","IS_WIN","locales","NUMBER_CHARS","format","value","locale","clean","compact","phone","org","ban","nin","percent","currency","currency_display","currency_position","omit_currency_sign","clean_copy_value","decimals","omit_rounding","options","returnAria","arguments","length","undefined","display","aria","type","window","navigator","language","e","cleanNumber","opts","JSON","parse","parseFloat","formatDecimals","maximumFractionDigits","number","_number","_aria","formatPhone","formatBAN","formatNIN","formatORG","countDecimals","style","formatNumber","handleCompactBeforeDisplay","cleanedNumber","currencyDisplay","getFallbackCurrencyDisplay","minimumFractionDigits","String","indexOf","formatter","item","test","currencySuffix","currencyPositionFormatter","_ref","alignCurrencySymbol","trim","prepareMinus","handleCompactBeforeAria","_objectSpread","enhanceSR","cleanedValue","thousandsSeparator","getThousandsSeparator","replace","RegExp","NumberFormat","not_available","pos","substring","_String$split$","decimalSeparator","Math","floor","valueOf","split","existingFormatter","callback","position","count","countCurrency","first","second","reg","output","abs","getGroupFormatter","formatToParts","map","reduce","acc","_ref2","Number","toLocaleString","stringify","replaceNaNWithDash","code","substr","filter","s","join","num","prefix","suffix","startsWith","endsWith","decimal","thousands","thousandReg","decimalReg","decimalBackup","runIOSSelectionFix","selection","getSelection","range","document","createRange","removeAllRanges","addRange","copyWithEffect","label","positionElement","success","fx","showSelectionNotice","run","_ref3","timeout","id","getElementById","elem","content","root","querySelector","createElement","setAttribute","arrow","appendChild","SelectionFx","remove","removeChild","hide","classList","add","pE","top","left","innerHTML","HTMLElement","width","offsetWidth","offsetHeight","setTimeout","useCopyWithNotice","translation","clipboard_copy","useContext","copy","getDecimalSeparator","_formatToParts$find","separator","find","_ref4","_formatToParts$map$fi","_ref5","getCurrencySymbol","_formatToParts$find2","_ref6","separatorSymbol","_ref7","Intl","inst","canHandleCompact","parseInt","notation","compactDisplay","maximumSignificantDigits","isNaN","ref","_ref8","_ref9"],"sources":["../../../../src/components/number-format/NumberUtils.js"],"sourcesContent":["import React from 'react'\nimport Context from '../../shared/Context'\n\n/**\n * Web NumberFormat Helpers\n *\n */\n\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from '../../shared/defaults'\nimport {\n warn,\n isTrue,\n slugify,\n escapeRegexChars,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n getSelectedElement,\n copyToClipboard,\n IS_MAC,\n IS_WIN,\n} from '../../shared/helpers'\nimport locales from '../../shared/locales'\n\nconst NUMBER_CHARS = '\\\\-0-9,.'\n\n/**\n * Format a number to a streamlined format based on the given locale\n *\n * @param {string|number} value any number\n * @type {object} string or object { when: { min: 'small' } } that describes the media query\n * @property {string} locale - media queries\n * @property {boolean} clean - if true, clean the number for unwanted decimal separators\n * @property {string|boolean} compact - shortens any number or currency including an abbreviation. You can combine `compact` with `currency`. It gives you zero decimal by default `decimals={0}`. Use either a boolean, or a string with \"short\" or \"long\"\n * @property {boolean} phone - if true, it formats to a phone number\n * @property {boolean} org - if true, it formats to a Organization Number\n * @property {boolean} ban - if true, it formats to a Bank Account Number\n * @property {boolean} nin - if true, it formats to a National Identification Number\n * @property {boolean} percent - if true, it formats with a percent\n * @property {string|boolean} currency - currency code (ISO 4217) or `true` to use the default, `NOK`\n * @property {string} currency_display - use false or empty string to hide the sign or \"code\", \"name\", \"symbol\" or \"narrowSymbol\" – supports the API from number.toLocaleString\n * @property {string} currency_position - can be \"before\" or \"after\"\n * @property {string} omit_currency_sign - hides currency sign if true is given\n * @property {number} decimals - defines how many decimals should be added\n * @property {boolean} omit_rounding - if true, the decimal will NOT be rounded. Normally, by using `toFixed` or by using `maximumFractionDigits`, decimals get rounded.\n * @property {object} options - accepts all number.toLocaleString API options\n * @property {boolean} returnAria - if true, this function returns an object that includes an aria property with a special aria formatting\n * @returns a formatted number as a string or as an object if \"returnAria\" is true\n */\nexport const format = (\n value,\n {\n locale = null, // can be \"auto\"\n clean = false,\n compact = null,\n phone = null,\n org = null,\n ban = null,\n nin = null,\n percent = null,\n currency = null,\n currency_display = null,\n currency_position = null,\n omit_currency_sign = null,\n clean_copy_value = null,\n decimals = null,\n omit_rounding = null,\n options = null,\n returnAria = false,\n } = {}\n) => {\n let display = value\n let aria = null\n let type = 'number'\n\n // because we are using context comparison\n if (!locale) {\n locale = LOCALE\n } else if (locale === 'auto') {\n try {\n locale = window.navigator.language\n } catch (e) {\n warn(e)\n }\n }\n\n if (isTrue(clean)) {\n value = cleanNumber(value)\n }\n\n const opts =\n (typeof options === 'string' && options[0] === '{'\n ? JSON.parse(options)\n : options) || {}\n\n if (parseFloat(decimals) >= 0) {\n value = formatDecimals(value, decimals, omit_rounding, opts)\n } else if (\n typeof opts.maximumFractionDigits === 'undefined' &&\n !isTrue(percent) &&\n !isTrue(currency)\n ) {\n // if no decimals are set, opts.maximumFractionDigits is set\n // why do we this? because the \".toLocaleString\" will else use 3 as the default\n opts.maximumFractionDigits = 20\n }\n\n if (isTrue(phone)) {\n type = 'phone'\n const { number: _number, aria: _aria } = formatPhone(value, locale)\n\n if (clean === null) {\n value = cleanNumber(value) // clean, because of +47 and ++47\n }\n display = _number\n aria = _aria\n } else if (isTrue(ban)) {\n type = 'ban' // Bank Account Number\n const { number: _number, aria: _aria } = formatBAN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(nin)) {\n type = 'nin' // National Identification Number\n const { number: _number, aria: _aria } = formatNIN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(org)) {\n type = 'org' // organization number\n\n const { number: _number, aria: _aria } = formatORG(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(percent)) {\n if (decimals === null) {\n if (typeof opts.maximumFractionDigits === 'undefined') {\n decimals = countDecimals(value)\n }\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n if (!opts.style) {\n opts.style = 'percent'\n }\n\n display = formatNumber(value / 100, locale, opts)\n } else if (isTrue(currency) || typeof currency === 'string') {\n type = 'currency'\n\n opts.currency =\n opts.currency || (isTrue(currency) ? CURRENCY : currency)\n\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n if (decimals === null) {\n decimals = 2\n value = formatDecimals(value, decimals, omit_rounding, opts)\n }\n\n // cleanup, but only if it not got cleaned up already\n let cleanedNumber =\n decimals >= 0 ? value : clean ? cleanNumber(value) : value\n\n if (currency_display === false || currency_display === '') {\n omit_currency_sign = true\n }\n\n opts.style = 'currency'\n opts.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n opts.currencyDisplay || currency_display\n )\n\n // if currency has no decimal, then go ahead and remove it\n if (\n typeof opts.minimumFractionDigits === 'undefined' &&\n String(value).indexOf('.') === -1 &&\n cleanedNumber % 1 === 0\n ) {\n opts.minimumFractionDigits = 0 // to enforce Norwegian style\n }\n\n let formatter = undefined\n\n if (isTrue(omit_currency_sign)) {\n formatter = (item) => {\n switch (item.type) {\n case 'literal':\n item.value = item.value === ' ' ? '' : item.value\n return item\n\n case 'currency':\n item.value = ''\n return item\n\n default:\n return item\n }\n }\n }\n\n /**\n * Make exception – if locale is Norwegian, and position is not defined, then use position \"after\"\n */\n if (!currency_position && locale && /(no|nb|nn)$/i.test(locale)) {\n currency_position = 'after'\n }\n\n let currencySuffix = null\n if (currency_position) {\n formatter = currencyPositionFormatter(\n formatter,\n ({ value }) => {\n return (currencySuffix = alignCurrencySymbol(\n value.trim(),\n currency_display\n ))\n },\n currency_position\n )\n }\n\n display = formatNumber(cleanedNumber, locale, opts, formatter)\n display = prepareMinus(display, locale)\n\n if (currency_position && currencySuffix) {\n if (currency_position === 'after') {\n display = `${display.trim()} ${currencySuffix}`\n } else if (currency_position === 'before') {\n display = `${currencySuffix} ${display.trim()}`\n }\n }\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // aria options\n aria = formatNumber(cleanedNumber, locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n ...opts,\n currencyDisplay: 'name',\n })\n aria = enhanceSR(cleanedNumber, aria, locale) // also calls prepareMinus\n\n // get only the currency name\n // const num = aria.replace(/([^0-9])+$/g, '')\n // const name = aria.replace(num, '')\n // aria = cleanedNumber + name\n } else {\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n display = formatNumber(value, locale, opts)\n display = prepareMinus(display, locale)\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // fix for NVDA to make sure we read the number, we add a minimum fraction digit (decimal)\n // NVDA fix\n aria = formatNumber(value, locale, opts)\n aria = enhanceSR(value, aria, locale) // also calls prepareMinus\n }\n\n if (aria === null) {\n aria = display\n }\n\n if (returnAria) {\n let cleanedValue\n\n if (clean_copy_value) {\n cleanedValue = formatNumber(\n opts.style === 'percent' ? value / 100 : value,\n locale,\n opts,\n (item) => {\n switch (item.type) {\n case 'group':\n case 'literal':\n case 'currency':\n case 'percentSign':\n item.value = ''\n return item\n default:\n return item\n }\n }\n )\n } else {\n const thousandsSeparator = getThousandsSeparator(locale)\n cleanedValue = String(display).replace(\n new RegExp(`${thousandsSeparator}(?=\\\\d{3})`, 'g'),\n ''\n )\n }\n\n if (value === 'invalid') {\n aria = locales[locale].NumberFormat.not_available || 'N/A'\n }\n\n // return \"locale\" as well value,l, since we have to \"auto\" option\n return { value, cleanedValue, number: display, aria, locale, type }\n }\n\n return display\n}\n\n/**\n * Fill format decimals\n *\n * @param {number|string} value\n * @param {number} decimals how many decimals\n * @param {boolean} omit_rounding if decimals should be rounded or cut off\n * @param {boolean} clean whether the value should be cleaned or not\n * @param {object} opts immutable object\n * @returns a decimal prepared number\n */\nexport const formatDecimals = (\n value,\n decimals,\n omit_rounding = false,\n opts = {}\n) => {\n decimals = parseFloat(decimals)\n\n if (decimals >= 0) {\n opts.minimumFractionDigits = decimals\n opts.maximumFractionDigits = decimals\n }\n\n const pos = String(value).indexOf('.')\n if (pos > 0 && omit_rounding === true) {\n value = String(value).substring(\n 0,\n pos + 1 + (decimals || opts.maximumFractionDigits)\n )\n }\n\n return value\n}\n\n/**\n * Find the amount of decimals\n *\n * @param {number|string} value any number\n * @param {string} decimalSeparator a dot or coma\n * @returns amount of decimals\n */\nexport const countDecimals = (value, decimalSeparator = '.') => {\n if (Math.floor(value.valueOf()) === value.valueOf()) {\n return 0\n }\n return String(value).split(decimalSeparator)[1]?.length || 0\n}\n\n/**\n * Changes the currency sign position\n *\n * For Norway, the position defaults to \"after\"\n *\n * @param {function} existingFormatter an existing number formatter or undefined\n * @param {function} callback function that will emitted with the currency\n * @param {string} position blank, before or after\n * @returns {function} number formatter\n */\nconst currencyPositionFormatter = (\n existingFormatter,\n callback,\n position = null\n) => {\n let count = 0\n let countCurrency = -1\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n count++\n\n switch (item.type) {\n case 'currency': {\n if (position === 'after' || (position === 'before' && count > 2)) {\n countCurrency = count\n callback(item)\n item.value = ''\n }\n return item\n }\n\n case 'literal': {\n // Remove the literal after currency\n if (count === countCurrency + 1) {\n item.value = ''\n }\n return item\n }\n\n default:\n return item\n }\n }\n}\n\n/**\n * When e.g. a currency number is given with a minus,\n * this function transforms the minus to be moved before the number\n * instead of the symbol.\n *\n * It only cleans if locale is Norwegian\n *\n * form -NOK 1 234 to NOK -1 234\n *\n * @param {string} display currency number that includes either a minus or not\n * @param {string} locale locale as a string\n * @returns {string} number\n */\nconst prepareMinus = (display, locale) => {\n /**\n * Make exception – if locale is NOT Norwegian,\n * we skip the cleanup\n */\n if (!(locale && /(no|nb|nn)$/i.test(locale))) {\n return display\n }\n\n // check for first and second char\n const first = display[0]\n const second = display[1]\n\n // Seems to be the invalid replacement\n if (first === '-' && second === '-') {\n return display\n }\n\n // change the position of minus if it's first\n // check for two minus - −\n // check also for hyphen ‐\n // check also for dashes ‒ – — ―\n const reg = '^(-|−|‐|‒|–|—|―)'\n\n if (new RegExp(reg).test(first)) {\n // if second is number\n if (parseFloat(second) > 0) {\n // then do not swap\n display = display.replace(new RegExp(reg + '(.*)'), '-$2')\n } else {\n // then first has to be currency\n display = display.replace(new RegExp(reg + '([^0-9]+)(.*)'), '$2-$3')\n }\n }\n\n return display\n}\n\n/**\n * Aligns the currency symbol in the output based on the currency display option.\n * \"norske kroner\" (\"Norwegian kroner\") will be changed to \"kroner\" if the currency display option is set to \"name\".\n *\n * @param {string} output - The output string containing the currency symbol.\n * @param {string} currencyDisplay - The currency display option ('name' or 'symbol').\n * @returns {string} The aligned output string.\n */\nfunction alignCurrencySymbol(output, currencyDisplay) {\n if (currencyDisplay === 'name') {\n output = output.replace(/(nor[^\\s]+?)\\s(\\w+)/i, '$2')\n }\n return output\n}\n\n/**\n * Enhance VoiceOver support on mobile devices\n * Numbers under 99.999 are read out correctly, but only if we remove the spaces\n * Potential we could also check for locale: && /no|nb|nn/.test(locale)\n * but leave it for now without this extra check\n *\n * @param {string|number} value any number\n * @param {string} aria aria formatted number\n * @param {string} locale locale as a string\n * @returns aria number\n */\nconst enhanceSR = (value, aria, locale) => {\n if (IS_MAC && Math.abs(parseFloat(value)) <= 99999) {\n aria = String(aria).replace(/\\s([0-9])/g, '$1')\n }\n\n aria = prepareMinus(aria, locale)\n\n return aria\n}\n\n/**\n * The main number formatter function\n * This function is used to call the browsers/Node.js \"Intl.NumberFormat\" or \"Number.toLocaleString\" APIs\n *\n * @param {string|number} number any number\n * @param {string} locale locale as a string\n * @param {string} options formatting options based on the toLocaleString API\n * @param {string} formatter optional, a custom formatter can be given\n * @returns formatted number\n */\nexport const formatNumber = (\n number,\n locale,\n options = {},\n formatter = null\n) => {\n try {\n if (options.currencyDisplay) {\n options.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n options.currencyDisplay\n )\n }\n\n // remove unsupported decimals\n delete options.decimals\n\n if (locale && /(en|gb)$/i.test(locale)) {\n formatter = getGroupFormatter(locale, null, formatter)\n }\n\n if (formatter) {\n number = formatToParts({ number, locale, options })\n .map(formatter)\n .reduce((acc, { value }) => acc + value, '')\n } else if (\n typeof Number !== 'undefined' &&\n typeof Number.toLocaleString === 'function'\n ) {\n number = parseFloat(number).toLocaleString(locale, options)\n }\n } catch (e) {\n warn(\n `Number could not be formatted: ${JSON.stringify([\n number,\n locale,\n options,\n ])}`,\n e\n )\n }\n\n return replaceNaNWithDash(\n alignCurrencySymbol(number, options.currencyDisplay)\n )\n}\n\nfunction replaceNaNWithDash(number) {\n return String(number).replace(/NaN/, '–')\n}\n\n/**\n * Use this function to format phone numbers\n *\n * @param {string|number} number a phone number\n * @param {string} locale locale as a string\n * @returns a formatted phone number\n */\nexport const formatPhone = (number, locale = null) => {\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // cleanup\n number = String(number).replace(/[^+0-9]/g, '')\n\n let code = ''\n if (number.length > 8 && number.substr(0, 2) !== '00') {\n number = '+' + number\n number = number.replace(/^\\+{2,}/, '+')\n }\n if (number[0] === '+') {\n code = number.substr(0, 3) + ' '\n number = number.substr(3)\n } else if (number.substr(0, 2) === '00') {\n code = number.substr(0, 4) + ' '\n number = number.substr(4)\n }\n code = code.replace('+', '00')\n const length = number.length\n\n // get 800 22 222\n if (length === 8 && number[0] === '8') {\n display =\n code +\n number\n .split(/([0-9]{3})([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n } else {\n // get 02000\n if (length < 6) {\n display = code + number\n } else {\n // get 6 or 8 formatting\n display =\n code +\n number\n .split(\n length === 6\n ? /^(\\+[0-9]{2})|([0-9]{3})/\n : /^(\\+[0-9]{2})|([0-9]{2})/\n )\n .filter((s) => s)\n .join(' ')\n }\n }\n\n aria =\n code +\n number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Bank Account Numbers\n *\n * @param {string|number} number a Bank Account Number\n * @param {string} locale locale as a string\n * @returns a formatted Bank Account Number\n */\nexport const formatBAN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 2000 12 34567\n display = number\n .split(/([0-9]{4})([0-9]{2})([0-9]{1,})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Organization Numbers\n *\n * @param {string|number} number a Organization Number\n * @param {string} locale locale as a string\n * @returns a formatted Organization Number\n */\nexport const formatORG = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 123 456 789\n display = number\n .split(/([0-9]{3})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{1})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format National Identification Numbers\n *\n * @param {string|number} number a National Identification Number\n * @param {string} locale locale as a string\n * @returns a formatted National Identification Number\n */\nexport const formatNIN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 180892 12345\n display = number\n .split(/([0-9]{6})/)\n .filter((s) => s)\n .join(' ')\n\n // correct nin for screen readers\n aria = display\n .split(\n /([0-9]{2})([0-9]{2})([0-9]{2}) ([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})/\n )\n .filter((s) => s)\n .join(IS_WIN ? '. ' : ' ') // NVDA fix with a dot to not read date on FF\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * This function cleans numbers for separators\n * https://en.wikipedia.org/wiki/Decimal_separator\n *\n * @param {string|number} num any number\n * @returns a number that contains valid number separators\n */\nexport function cleanNumber(\n num,\n {\n decimalSeparator = null,\n thousandsSeparator = null,\n prefix = null,\n suffix = null,\n } = {}\n) {\n if (typeof num === 'number') {\n return num\n }\n\n num = String(num).trim()\n\n if (typeof prefix === 'string' && num.startsWith(prefix)) {\n num = num.substring(prefix.length, num.length)\n }\n if (typeof suffix === 'string' && num.endsWith(suffix)) {\n num = num.substring(0, num.length - suffix.length)\n }\n\n // 1. Remove invalid chars on the beginning (not a number)\n if (/^[^0-9-]/.test(num)) {\n num = num.replace(/^(^[^0-9-]+)/, '')\n }\n\n let decimal = decimalSeparator\n let thousands = thousandsSeparator\n\n // -12 345,678\n if (/(\\s)([0-9]{3})/.test(num)) {\n thousands = thousands || '\\\\s'\n decimal = decimal || ','\n }\n\n // -12.345,678\n else if (\n /(\\.)([0-9]{3})/.test(num) &&\n !/([,'][0-9]{3})(\\.)([0-9]{3})/.test(num) // just an additional check, for support with more\n ) {\n thousands = thousands || '\\\\.'\n decimal = decimal || \",|·|'\" // also support Spain and CH\n }\n\n // -1,234,567.891\n else if (/(,)([0-9]{3})/.test(num)) {\n thousands = thousands || ','\n decimal = decimal || '\\\\.|·' // also support Spain\n }\n\n // -1'234'567.891, only used in CH\n else if (/(')([0-9]{3})/.test(num)) {\n thousands = thousands || \"'\"\n decimal = decimal || '\\\\.|,'\n } else {\n thousands = ','\n decimal = '\\\\.'\n }\n\n // 3. Remove invalid thousand separators\n const thousandReg = thousandsSeparator\n ? new RegExp(\n `([0-9]|)(${escapeRegexChars(thousandsSeparator)})([0-9]{3})`,\n 'g'\n )\n : new RegExp(`([0-9]|)(${thousands})([0-9]{3})`, 'g')\n if (thousandReg.test(num)) {\n num = num.replace(thousandReg, '$1$3')\n }\n\n // 2. Rename invalid decimal separator\n // Make sure that there are only two digits after the coma, then we clean that up.\n // else we don't, because it can be a US number\n // therefore, check first, is there a chance of being a decimal?\n // const decimalReg = new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n const decimalReg = decimalSeparator\n ? new RegExp(`(${escapeRegexChars(decimalSeparator)})([0-9]{0,})`, 'g')\n : new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n if (decimalReg.test(num)) {\n num = num.replace(decimalReg, '.$2')\n }\n\n // Edge case, if we have more than 2 decimals, replace these decimals\n if (!decimalSeparator) {\n const decimalBackup = new RegExp(`(${decimal})([0-9]{3,})`, 'g')\n if (decimalBackup.test(num)) {\n num = num.replace(decimalBackup, '.$2')\n }\n }\n\n // Remove all invalid chars\n return num.replace(new RegExp(`([^${NUMBER_CHARS}])`, 'g'), '')\n}\n\n/**\n * So iOS v13 can select something on the first try, we run this add range trick.\n * NB: This hack may be removed in future iOS versions.\n */\nexport function runIOSSelectionFix() {\n try {\n const selection = window.getSelection()\n const range = document.createRange()\n selection.removeAllRanges()\n selection.addRange(range)\n } catch (e) {\n //\n }\n}\n\n/**\n * A function that tries to copy to the clipboard\n * at the same time it shows the copy result in a tooltip\n *\n * NB: This function is not documented.\n * It should not be used!\n *\n * @param {string} value any number\n * @param {*} label\n * @param {*} positionElement\n * @returns\n */\nexport async function copyWithEffect(\n value,\n label,\n positionElement = null\n) {\n let success = null\n\n if (value) {\n try {\n const fx = showSelectionNotice({ value, label })\n success = await copyToClipboard(value)\n if (success === true) {\n fx.run(positionElement)\n }\n } catch (e) {\n warn(e)\n success = e\n }\n }\n\n return success\n}\n\n/**\n * This function add a tooltip looking\n *\n * @type {object} object with property\n * @property {string} value any value\n * @property {string} label any additional label that gets added as a suffix\n * @property {number} timeout how long the tooltip should be visible (3 sec)\n * @returns {object} { run, hide, remove } call the \"run\" function when the effect should be shown\n */\nexport function showSelectionNotice({ value, label, timeout = 3e3 }) {\n const id = 'id-' + slugify(value)\n if (typeof document !== 'undefined' && document.getElementById(id)) {\n return { run: () => {} }\n }\n\n let elem, content, root\n\n try {\n root = document.querySelector('.dnb-tooltip__portal, body')\n\n // create that portal element\n elem = document.createElement('span')\n elem.setAttribute('id', id)\n elem.setAttribute('class', 'dnb-tooltip')\n elem.setAttribute('role', 'tooltip')\n\n const arrow = document.createElement('span')\n arrow.setAttribute(\n 'class',\n 'dnb-tooltip__arrow dnb-tooltip__arrow__position--top'\n )\n content = document.createElement('span')\n content.setAttribute('class', 'dnb-tooltip__content')\n content.setAttribute('aria-live', 'assertive')\n elem.appendChild(arrow)\n elem.appendChild(content)\n } catch (e) {\n warn(e)\n }\n\n return new (class SelectionFx {\n remove() {\n try {\n root.removeChild(elem)\n elem = null\n content = null\n } catch (e) {\n //\n }\n }\n hide() {\n try {\n elem.classList.add('dnb-tooltip--hide')\n } catch (e) {\n //\n }\n }\n run(pE = getSelectedElement()) {\n try {\n root.appendChild(elem)\n\n const top = getOffsetTop(pE)\n const left = getOffsetLeft(pE)\n\n content.innerHTML =\n String(label) +\n (pE instanceof HTMLElement\n ? `<span class=\"dnb-sr-only\">: ${\n (\n (pE &&\n pE.querySelector('.dnb-number-format__selection')) ||\n pE\n ).innerHTML\n }</span>`\n : '')\n\n const width =\n (\n (pE && pE.querySelector('.dnb-number-format__visible')) ||\n pE ||\n {}\n ).offsetWidth || 0\n\n elem.style.top = `${top - elem.offsetHeight}px`\n elem.style.left = `${left + width / 2 - elem.offsetWidth / 2}px`\n elem.classList.add('dnb-tooltip--active')\n\n setTimeout(this.hide, timeout)\n setTimeout(this.remove, timeout + 600)\n } catch (e) {\n warn(e)\n }\n }\n })()\n}\n\n/**\n * React Hook\n * It returns \"copyWithEffect\" but with a translated string\n *\n * @returns copyWithEffect function inside object { copy }\n */\nexport function useCopyWithNotice() {\n const {\n translation: {\n NumberFormat: { clipboard_copy },\n },\n } = React.useContext(Context)\n\n const copy = (value, positionElement) => {\n copyWithEffect(value, clipboard_copy, positionElement)\n }\n\n return { copy }\n}\n\n/**\n * Will return currency display value based on navigator/browser and locale\n *\n * @property {string} currencyDisplay (optional) code, name, symbol or narrowSymbol\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getFallbackCurrencyDisplay(\n locale = null,\n currencyDisplay = null\n) {\n // If currencyDisplay is not defined and locale is \"no\", use narrowSymbol\n if (!currencyDisplay && (!locale || /(no|nb|nn)$/i.test(locale))) {\n currencyDisplay = 'narrowSymbol'\n }\n\n return currencyDisplay || CURRENCY_DISPLAY // code, name, symbol\n}\n\n/**\n * This function returns a decimal separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getDecimalSeparator(locale = null) {\n const separator =\n formatToParts({\n number: 1.1,\n locale,\n }).find(({ type }) => type === 'decimal')?.value || ',' // defaults to nb-NO\n\n return separator\n}\n\n/**\n * This function returns a thousands separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getThousandsSeparator(locale = null) {\n const formatter = getGroupFormatter(locale)\n\n return (\n formatToParts({\n number: 1000,\n locale,\n })\n .map(formatter)\n .find(({ type }) => type === 'group')?.value || ' '\n ) // defaults to nb-NO\n}\n\n/**\n * This function returns a currency symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @property {string} currency (optional) a given currency\n * @property {string} display (optional) what currency display\n * @property {number} number (optional) only to define if it should be formatted in singular or plural\n * @returns {string} a currency symbol\n */\nexport function getCurrencySymbol(\n locale = null,\n currency = null,\n display = null,\n number = 2\n) {\n if (!currency) {\n currency = CURRENCY\n }\n\n const currencyDisplay = getFallbackCurrencyDisplay(locale, display)\n\n return alignCurrencySymbol(\n formatToParts({\n number,\n locale,\n options: {\n style: 'currency',\n currency,\n currencyDisplay,\n },\n }).find(({ type }) => type === 'currency')?.value || currency,\n currencyDisplay\n )\n}\n\nfunction getGroupFormatter(\n locale = null,\n separatorSymbol = null,\n existingFormatter = null\n) {\n /**\n * We change the thousand separator to be a non-breaking space\n *\n * Effected locales:\n * - en-GB\n * - en\n */\n if (locale && /(en|gb)$/i.test(locale)) {\n separatorSymbol = ' ' // non-breaking space\n }\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n if (item.type === 'group') {\n item.value = separatorSymbol || item.value\n }\n\n return item\n }\n}\n\n/**\n * For internal usage\n *\n * @type {object}\n * @property {string} number - a number\n * @property {string} locale - locale as a string. Defaults to the global LOCALE constant\n * @property {object} options - NumberFormat options\n * @returns {array} that contains all the parts of the given number [{ value: x, type: 'type' }]\n */\nfunction formatToParts({ number, locale = null, options = null }) {\n if (\n typeof Intl !== 'undefined' &&\n typeof Intl.NumberFormat === 'function'\n ) {\n try {\n const inst = Intl.NumberFormat(locale || LOCALE, options || {})\n if (typeof inst.formatToParts === 'function') {\n return inst.formatToParts(number)\n } else {\n return [{ value: inst.format(number) }]\n }\n } catch (e) {\n warn(e)\n }\n }\n\n return [{ value: number }]\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string} value any number\n * @property {string} locale a given locale\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {number} decimals the amount of decimals\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeDisplay({\n value,\n locale,\n compact,\n decimals = 0,\n opts,\n} = {}) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n value = parseInt(Math.abs(value))\n opts.notation = 'compact'\n\n // For numbers under 1M we do\n if (isTrue(compact) && locale && /(no|nb|nn)$/i.test(locale)) {\n opts.compactDisplay = Math.abs(value) < 1000000 ? 'long' : 'short'\n } else {\n opts.compactDisplay = !isTrue(compact) ? compact : 'short'\n }\n\n if (typeof opts.maximumSignificantDigits === 'undefined') {\n if (isNaN(parseFloat(decimals))) {\n decimals = 0\n } else {\n decimals = parseFloat(decimals)\n }\n\n // This formula ensures we always get the same amount decimals\n const ref = String(value).length % 3\n if (ref === 2) {\n decimals += 1\n } else if (ref === 0) {\n decimals += 2\n }\n\n // The result of this formula would be equal to this:\n // if (value >= 100000000000000) {\n // decimals += 2\n // } else if (value >= 10000000000000) {\n // decimals += 1\n // } else if (value >= 1000000000000) {\n // decimals += 0\n // } else if (value >= 100000000000) {\n // decimals += 2\n // } else if (value >= 10000000000) {\n // decimals += 1\n // } else if (value >= 1000000000) {\n // decimals += 0\n // } else if (value >= 100000000) {\n // decimals += 2\n // } else if (value >= 10000000) {\n // decimals += 1\n // } else if (value >= 1000000) {\n // decimals += 0\n // } else if (value >= 100000) {\n // decimals += 2\n // } else if (value >= 10000) {\n // decimals += 1\n // }\n\n // Firefox issue?\n // If we do not define \"maximumSignificantDigits\" Firefox does not show any decimals at all\n opts.maximumSignificantDigits = decimals + 1\n }\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeAria({ value, compact, opts }) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n opts.compactDisplay = 'long'\n}\n\n/**\n * Checks if we should/can handle the compact format\n *\n * @param {object}\n * @property {string|number} value any number\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n */\nfunction canHandleCompact({ value, compact }) {\n if (compact && Math.abs(value) >= 1000) {\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberUtils.js","names":["React","Context","LOCALE","CURRENCY","CURRENCY_DISPLAY","warn","isTrue","slugify","escapeRegexChars","getOffsetTop","getOffsetLeft","getSelectedElement","copyToClipboard","IS_MAC","IS_WIN","locales","NUMBER_CHARS","format","value","locale","clean","compact","phone","org","ban","nin","percent","currency","currency_display","currency_position","omit_currency_sign","clean_copy_value","decimals","omit_rounding","rounding","options","returnAria","arguments","length","undefined","display","aria","type","window","navigator","language","e","cleanNumber","opts","JSON","parse","parseFloat","formatDecimals","maximumFractionDigits","number","_number","_aria","formatPhone","formatBAN","formatNIN","formatORG","countDecimals","style","formatNumber","handleCompactBeforeDisplay","cleanedNumber","currencyDisplay","getFallbackCurrencyDisplay","minimumFractionDigits","String","indexOf","formatter","item","test","currencySuffix","currencyPositionFormatter","_ref","alignCurrencySymbol","trim","prepareMinus","handleCompactBeforeAria","_objectSpread","enhanceSR","cleanedValue","thousandsSeparator","getThousandsSeparator","replace","RegExp","NumberFormat","not_available","includes","decimalPlaces","factor","Math","pow","trunc","roundHalfEven","_String$split$","decimalSeparator","floor","valueOf","split","existingFormatter","callback","position","count","countCurrency","first","second","reg","output","abs","getGroupFormatter","formatToParts","map","reduce","acc","_ref2","Number","toLocaleString","stringify","replaceNaNWithDash","code","substr","filter","s","join","num","prefix","suffix","startsWith","substring","endsWith","decimal","thousands","thousandReg","decimalReg","decimalBackup","runIOSSelectionFix","selection","getSelection","range","document","createRange","removeAllRanges","addRange","copyWithEffect","label","positionElement","success","fx","showSelectionNotice","run","_ref3","timeout","id","getElementById","elem","content","root","querySelector","createElement","setAttribute","arrow","appendChild","SelectionFx","remove","removeChild","hide","classList","add","pE","top","left","innerHTML","HTMLElement","width","offsetWidth","offsetHeight","setTimeout","useCopyWithNotice","translation","clipboard_copy","useContext","copy","getDecimalSeparator","_formatToParts$find","separator","find","_ref4","_formatToParts$map$fi","_ref5","getCurrencySymbol","_formatToParts$find2","_ref6","separatorSymbol","_ref7","Intl","inst","canHandleCompact","parseInt","notation","compactDisplay","maximumSignificantDigits","isNaN","ref","_ref8","_ref9","multiplier","adjustedNum","floored","diff","ceil"],"sources":["../../../../src/components/number-format/NumberUtils.js"],"sourcesContent":["import React from 'react'\nimport Context from '../../shared/Context'\n\n/**\n * Web NumberFormat Helpers\n *\n */\n\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from '../../shared/defaults'\nimport {\n warn,\n isTrue,\n slugify,\n escapeRegexChars,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n getSelectedElement,\n copyToClipboard,\n IS_MAC,\n IS_WIN,\n} from '../../shared/helpers'\nimport locales from '../../shared/locales'\n\nconst NUMBER_CHARS = '\\\\-0-9,.'\n\n/**\n * Format a number to a streamlined format based on the given locale\n *\n * @param {string|number} value any number\n * @type {object} string or object { when: { min: 'small' } } that describes the media query\n * @property {string} locale - media queries\n * @property {boolean} clean - if true, clean the number for unwanted decimal separators\n * @property {string|boolean} compact - shortens any number or currency including an abbreviation. You can combine `compact` with `currency`. It gives you zero decimal by default `decimals={0}`. Use either a boolean, or a string with \"short\" or \"long\"\n * @property {boolean} phone - if true, it formats to a phone number\n * @property {boolean} org - if true, it formats to a Organization Number\n * @property {boolean} ban - if true, it formats to a Bank Account Number\n * @property {boolean} nin - if true, it formats to a National Identification Number\n * @property {boolean} percent - if true, it formats with a percent\n * @property {string|boolean} currency - currency code (ISO 4217) or `true` to use the default, `NOK`\n * @property {string} currency_display - use false or empty string to hide the sign or \"code\", \"name\", \"symbol\" or \"narrowSymbol\" – supports the API from number.toLocaleString\n * @property {string} currency_position - can be \"before\" or \"after\"\n * @property {string} omit_currency_sign - hides currency sign if true is given\n * @property {number} decimals - defines how many decimals should be added\n * @property {boolean} omit_rounding - @deprecated Use `rounding: \"omit\"` instead.\n * @property {string} rounding - if `omit`, the decimal will NOT be rounded. If `half-even`, the value will be rounded to the nearest even number. If set to `half-up`, the fractional part is 0.5 or greater, the number is rounded up. If the fractional part is less than 0.5, the number is rounded down. Defaults to `half-up`.\n * @property {object} options - accepts all number.toLocaleString API options\n * @property {boolean} returnAria - if true, this function returns an object that includes an aria property with a special aria formatting\n * @returns a formatted number as a string or as an object if \"returnAria\" is true\n */\nexport const format = (\n value,\n {\n locale = null, // can be \"auto\"\n clean = false,\n compact = null,\n phone = null,\n org = null,\n ban = null,\n nin = null,\n percent = null,\n currency = null,\n currency_display = null,\n currency_position = null,\n omit_currency_sign = null,\n clean_copy_value = null,\n decimals = null,\n omit_rounding = null, // @deprecated – can be removed in v11\n rounding = null,\n options = null,\n returnAria = false,\n } = {}\n) => {\n let display = value\n let aria = null\n let type = 'number'\n\n // because we are using context comparison\n if (!locale) {\n locale = LOCALE\n } else if (locale === 'auto') {\n try {\n locale = window.navigator.language\n } catch (e) {\n warn(e)\n }\n }\n\n if (isTrue(clean)) {\n value = cleanNumber(value)\n }\n\n const opts =\n (typeof options === 'string' && options[0] === '{'\n ? JSON.parse(options)\n : options) || {}\n\n if (parseFloat(decimals) >= 0) {\n value = formatDecimals(\n value,\n decimals,\n rounding ?? omit_rounding,\n opts\n )\n } else if (\n typeof opts.maximumFractionDigits === 'undefined' &&\n !isTrue(percent) &&\n !isTrue(currency)\n ) {\n // if no decimals are set, opts.maximumFractionDigits is set\n // why do we this? because the \".toLocaleString\" will else use 3 as the default\n opts.maximumFractionDigits = 20\n }\n\n if (isTrue(phone)) {\n type = 'phone'\n const { number: _number, aria: _aria } = formatPhone(value, locale)\n\n if (clean === null) {\n value = cleanNumber(value) // clean, because of +47 and ++47\n }\n display = _number\n aria = _aria\n } else if (isTrue(ban)) {\n type = 'ban' // Bank Account Number\n const { number: _number, aria: _aria } = formatBAN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(nin)) {\n type = 'nin' // National Identification Number\n const { number: _number, aria: _aria } = formatNIN(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(org)) {\n type = 'org' // organization number\n\n const { number: _number, aria: _aria } = formatORG(value, locale)\n\n display = _number\n aria = _aria\n } else if (isTrue(percent)) {\n if (decimals === null) {\n if (typeof opts.maximumFractionDigits === 'undefined') {\n decimals = countDecimals(value)\n }\n value = formatDecimals(\n value,\n decimals,\n rounding ?? omit_rounding,\n opts\n )\n }\n\n if (!opts.style) {\n opts.style = 'percent'\n }\n\n display = formatNumber(value / 100, locale, opts)\n } else if (isTrue(currency) || typeof currency === 'string') {\n type = 'currency'\n\n opts.currency =\n opts.currency || (isTrue(currency) ? CURRENCY : currency)\n\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n if (decimals === null) {\n decimals = 2\n value = formatDecimals(\n value,\n decimals,\n rounding ?? omit_rounding,\n opts\n )\n }\n\n // cleanup, but only if it not got cleaned up already\n let cleanedNumber =\n decimals >= 0 ? value : clean ? cleanNumber(value) : value\n\n if (currency_display === false || currency_display === '') {\n omit_currency_sign = true\n }\n\n opts.style = 'currency'\n opts.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n opts.currencyDisplay || currency_display\n )\n\n // if currency has no decimal, then go ahead and remove it\n if (\n typeof opts.minimumFractionDigits === 'undefined' &&\n String(value).indexOf('.') === -1 &&\n cleanedNumber % 1 === 0\n ) {\n opts.minimumFractionDigits = 0 // to enforce Norwegian style\n }\n\n let formatter = undefined\n\n if (isTrue(omit_currency_sign)) {\n formatter = (item) => {\n switch (item.type) {\n case 'literal':\n item.value = item.value === ' ' ? '' : item.value\n return item\n\n case 'currency':\n item.value = ''\n return item\n\n default:\n return item\n }\n }\n }\n\n /**\n * Make exception – if locale is Norwegian, and position is not defined, then use position \"after\"\n */\n if (!currency_position && locale && /(no|nb|nn)$/i.test(locale)) {\n currency_position = 'after'\n }\n\n let currencySuffix = null\n if (currency_position) {\n formatter = currencyPositionFormatter(\n formatter,\n ({ value }) => {\n return (currencySuffix = alignCurrencySymbol(\n value.trim(),\n currency_display\n ))\n },\n currency_position\n )\n }\n\n display = formatNumber(cleanedNumber, locale, opts, formatter)\n display = prepareMinus(display, locale)\n\n if (currency_position && currencySuffix) {\n if (currency_position === 'after') {\n display = `${display.trim()} ${currencySuffix}`\n } else if (currency_position === 'before') {\n display = `${currencySuffix} ${display.trim()}`\n }\n }\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // aria options\n aria = formatNumber(cleanedNumber, locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n ...opts,\n currencyDisplay: 'name',\n })\n aria = enhanceSR(cleanedNumber, aria, locale) // also calls prepareMinus\n\n // get only the currency name\n // const num = aria.replace(/([^0-9])+$/g, '')\n // const name = aria.replace(num, '')\n // aria = cleanedNumber + name\n } else {\n handleCompactBeforeDisplay({ value, locale, compact, decimals, opts })\n\n display = formatNumber(value, locale, opts)\n display = prepareMinus(display, locale)\n\n handleCompactBeforeAria({ value, compact, opts })\n\n // fix for NVDA to make sure we read the number, we add a minimum fraction digit (decimal)\n // NVDA fix\n aria = formatNumber(value, locale, opts)\n aria = enhanceSR(value, aria, locale) // also calls prepareMinus\n }\n\n if (aria === null) {\n aria = display\n }\n\n if (returnAria) {\n let cleanedValue\n\n if (clean_copy_value) {\n cleanedValue = formatNumber(\n opts.style === 'percent' ? value / 100 : value,\n locale,\n opts,\n (item) => {\n switch (item.type) {\n case 'group':\n case 'literal':\n case 'currency':\n case 'percentSign':\n item.value = ''\n return item\n default:\n return item\n }\n }\n )\n } else {\n const thousandsSeparator = getThousandsSeparator(locale)\n cleanedValue = String(display).replace(\n new RegExp(`${thousandsSeparator}(?=\\\\d{3})`, 'g'),\n ''\n )\n }\n\n if (value === 'invalid') {\n aria = locales[locale].NumberFormat.not_available || 'N/A'\n }\n\n // return \"locale\" as well value,l, since we have to \"auto\" option\n return { value, cleanedValue, number: display, aria, locale, type }\n }\n\n return display\n}\n\n/**\n * Fill format decimals\n *\n * @param {number|string} value\n * @param {number} decimals how many decimals\n * @param {boolean} defines what rounding method to use for decimals\n * @param {boolean} clean whether the value should be cleaned or not\n * @param {object} opts immutable object\n * @returns a decimal prepared number\n */\nexport const formatDecimals = (value, decimals, rounding, opts = {}) => {\n decimals = parseFloat(decimals)\n\n // Mutate the given options\n if (decimals >= 0) {\n opts.minimumFractionDigits = decimals\n opts.maximumFractionDigits = decimals\n }\n\n if (String(value).includes('.')) {\n const decimalPlaces = decimals || opts.maximumFractionDigits\n if (rounding === 'omit' || rounding === true) {\n const factor = Math.pow(10, decimalPlaces)\n value = Math.trunc(value * factor) / factor\n } else {\n switch (rounding) {\n case 'half-even': {\n value = roundHalfEven(value, decimalPlaces)\n\n break\n }\n }\n }\n }\n\n return value\n}\n\n/**\n * Find the amount of decimals\n *\n * @param {number|string} value any number\n * @param {string} decimalSeparator a dot or coma\n * @returns amount of decimals\n */\nexport const countDecimals = (value, decimalSeparator = '.') => {\n if (Math.floor(value.valueOf()) === value.valueOf()) {\n return 0\n }\n return String(value).split(decimalSeparator)[1]?.length || 0\n}\n\n/**\n * Changes the currency sign position\n *\n * For Norway, the position defaults to \"after\"\n *\n * @param {function} existingFormatter an existing number formatter or undefined\n * @param {function} callback function that will emitted with the currency\n * @param {string} position blank, before or after\n * @returns {function} number formatter\n */\nconst currencyPositionFormatter = (\n existingFormatter,\n callback,\n position = null\n) => {\n let count = 0\n let countCurrency = -1\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n count++\n\n switch (item.type) {\n case 'currency': {\n if (position === 'after' || (position === 'before' && count > 2)) {\n countCurrency = count\n callback(item)\n item.value = ''\n }\n return item\n }\n\n case 'literal': {\n // Remove the literal after currency\n if (count === countCurrency + 1) {\n item.value = ''\n }\n return item\n }\n\n default:\n return item\n }\n }\n}\n\n/**\n * When e.g. a currency number is given with a minus,\n * this function transforms the minus to be moved before the number\n * instead of the symbol.\n *\n * It only cleans if locale is Norwegian\n *\n * form -NOK 1 234 to NOK -1 234\n *\n * @param {string} display currency number that includes either a minus or not\n * @param {string} locale locale as a string\n * @returns {string} number\n */\nconst prepareMinus = (display, locale) => {\n /**\n * Make exception – if locale is NOT Norwegian,\n * we skip the cleanup\n */\n if (!(locale && /(no|nb|nn)$/i.test(locale))) {\n return display\n }\n\n // check for first and second char\n const first = display[0]\n const second = display[1]\n\n // Seems to be the invalid replacement\n if (first === '-' && second === '-') {\n return display\n }\n\n // change the position of minus if it's first\n // check for two minus - −\n // check also for hyphen ‐\n // check also for dashes ‒ – — ―\n const reg = '^(-|−|‐|‒|–|—|―)'\n\n if (new RegExp(reg).test(first)) {\n // if second is number\n if (parseFloat(second) > 0) {\n // then do not swap\n display = display.replace(new RegExp(reg + '(.*)'), '-$2')\n } else {\n // then first has to be currency\n display = display.replace(new RegExp(reg + '([^0-9]+)(.*)'), '$2-$3')\n }\n }\n\n return display\n}\n\n/**\n * Aligns the currency symbol in the output based on the currency display option.\n * \"norske kroner\" (\"Norwegian kroner\") will be changed to \"kroner\" if the currency display option is set to \"name\".\n *\n * @param {string} output - The output string containing the currency symbol.\n * @param {string} currencyDisplay - The currency display option ('name' or 'symbol').\n * @returns {string} The aligned output string.\n */\nfunction alignCurrencySymbol(output, currencyDisplay) {\n if (currencyDisplay === 'name') {\n output = output.replace(/(nor[^\\s]+?)\\s(\\w+)/i, '$2')\n }\n return output\n}\n\n/**\n * Enhance VoiceOver support on mobile devices\n * Numbers under 99.999 are read out correctly, but only if we remove the spaces\n * Potential we could also check for locale: && /no|nb|nn/.test(locale)\n * but leave it for now without this extra check\n *\n * @param {string|number} value any number\n * @param {string} aria aria formatted number\n * @param {string} locale locale as a string\n * @returns aria number\n */\nconst enhanceSR = (value, aria, locale) => {\n if (IS_MAC && Math.abs(parseFloat(value)) <= 99999) {\n aria = String(aria).replace(/\\s([0-9])/g, '$1')\n }\n\n aria = prepareMinus(aria, locale)\n\n return aria\n}\n\n/**\n * The main number formatter function\n * This function is used to call the browsers/Node.js \"Intl.NumberFormat\" or \"Number.toLocaleString\" APIs\n *\n * @param {string|number} number any number\n * @param {string} locale locale as a string\n * @param {string} options formatting options based on the toLocaleString API\n * @param {string} formatter optional, a custom formatter can be given\n * @returns formatted number\n */\nexport const formatNumber = (\n number,\n locale,\n options = {},\n formatter = null\n) => {\n try {\n if (options.currencyDisplay) {\n options.currencyDisplay = getFallbackCurrencyDisplay(\n locale,\n options.currencyDisplay\n )\n }\n\n // remove unsupported decimals\n delete options.decimals\n\n if (locale && /(en|gb)$/i.test(locale)) {\n formatter = getGroupFormatter(locale, null, formatter)\n }\n\n if (formatter) {\n number = formatToParts({ number, locale, options })\n .map(formatter)\n .reduce((acc, { value }) => acc + value, '')\n } else if (\n typeof Number !== 'undefined' &&\n typeof Number.toLocaleString === 'function'\n ) {\n number = parseFloat(number).toLocaleString(locale, options)\n }\n } catch (e) {\n warn(\n `Number could not be formatted: ${JSON.stringify([\n number,\n locale,\n options,\n ])}`,\n e\n )\n }\n\n return replaceNaNWithDash(\n alignCurrencySymbol(number, options.currencyDisplay)\n )\n}\n\nfunction replaceNaNWithDash(number) {\n return String(number).replace(/NaN/, '–')\n}\n\n/**\n * Use this function to format phone numbers\n *\n * @param {string|number} number a phone number\n * @param {string} locale locale as a string\n * @returns a formatted phone number\n */\nexport const formatPhone = (number, locale = null) => {\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // cleanup\n number = String(number).replace(/[^+0-9]/g, '')\n\n let code = ''\n if (number.length > 8 && number.substr(0, 2) !== '00') {\n number = '+' + number\n number = number.replace(/^\\+{2,}/, '+')\n }\n if (number[0] === '+') {\n code = number.substr(0, 3) + ' '\n number = number.substr(3)\n } else if (number.substr(0, 2) === '00') {\n code = number.substr(0, 4) + ' '\n number = number.substr(4)\n }\n code = code.replace('+', '00')\n const length = number.length\n\n // get 800 22 222\n if (length === 8 && number[0] === '8') {\n display =\n code +\n number\n .split(/([0-9]{3})([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n } else {\n // get 02000\n if (length < 6) {\n display = code + number\n } else {\n // get 6 or 8 formatting\n display =\n code +\n number\n .split(\n length === 6\n ? /^(\\+[0-9]{2})|([0-9]{3})/\n : /^(\\+[0-9]{2})|([0-9]{2})/\n )\n .filter((s) => s)\n .join(' ')\n }\n }\n\n aria =\n code +\n number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Bank Account Numbers\n *\n * @param {string|number} number a Bank Account Number\n * @param {string} locale locale as a string\n * @returns a formatted Bank Account Number\n */\nexport const formatBAN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 2000 12 34567\n display = number\n .split(/([0-9]{4})([0-9]{2})([0-9]{1,})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{2})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format Organization Numbers\n *\n * @param {string|number} number a Organization Number\n * @param {string} locale locale as a string\n * @returns a formatted Organization Number\n */\nexport const formatORG = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 123 456 789\n display = number\n .split(/([0-9]{3})/)\n .filter((s) => s)\n .join(' ')\n\n aria = number\n .split(/([0-9]{1})/)\n .filter((s) => s)\n .join(' ')\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * Use this function to format National Identification Numbers\n *\n * @param {string|number} number a National Identification Number\n * @param {string} locale locale as a string\n * @returns a formatted National Identification Number\n */\nexport const formatNIN = (number, locale = null) => {\n // cleanup\n number = String(number).replace(/[^0-9]/g, '')\n\n let display = number\n let aria = null\n\n switch (locale) {\n default: {\n // get 180892 12345\n display = number\n .split(/([0-9]{6})/)\n .filter((s) => s)\n .join(' ')\n\n // correct nin for screen readers\n aria = display\n .split(\n /([0-9]{2})([0-9]{2})([0-9]{2}) ([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})([0-9]{1})/\n )\n .filter((s) => s)\n .join(IS_WIN ? '. ' : ' ') // NVDA fix with a dot to not read date on FF\n }\n }\n\n if (aria === null) {\n aria = display\n }\n\n return { number: display, aria }\n}\n\n/**\n * This function cleans numbers for separators\n * https://en.wikipedia.org/wiki/Decimal_separator\n *\n * @param {string|number} num any number\n * @returns a number that contains valid number separators\n */\nexport function cleanNumber(\n num,\n {\n decimalSeparator = null,\n thousandsSeparator = null,\n prefix = null,\n suffix = null,\n } = {}\n) {\n if (typeof num === 'number') {\n return num\n }\n\n num = String(num).trim()\n\n if (typeof prefix === 'string' && num.startsWith(prefix)) {\n num = num.substring(prefix.length, num.length)\n }\n if (typeof suffix === 'string' && num.endsWith(suffix)) {\n num = num.substring(0, num.length - suffix.length)\n }\n\n // 1. Remove invalid chars on the beginning (not a number)\n if (/^[^0-9-]/.test(num)) {\n num = num.replace(/^(^[^0-9-]+)/, '')\n }\n\n let decimal = decimalSeparator\n let thousands = thousandsSeparator\n\n // -12 345,678\n if (/(\\s)([0-9]{3})/.test(num)) {\n thousands = thousands || '\\\\s'\n decimal = decimal || ','\n }\n\n // -12.345,678\n else if (\n /(\\.)([0-9]{3})/.test(num) &&\n !/([,'][0-9]{3})(\\.)([0-9]{3})/.test(num) // just an additional check, for support with more\n ) {\n thousands = thousands || '\\\\.'\n decimal = decimal || \",|·|'\" // also support Spain and CH\n }\n\n // -1,234,567.891\n else if (/(,)([0-9]{3})/.test(num)) {\n thousands = thousands || ','\n decimal = decimal || '\\\\.|·' // also support Spain\n }\n\n // -1'234'567.891, only used in CH\n else if (/(')([0-9]{3})/.test(num)) {\n thousands = thousands || \"'\"\n decimal = decimal || '\\\\.|,'\n } else {\n thousands = ','\n decimal = '\\\\.'\n }\n\n // 3. Remove invalid thousand separators\n const thousandReg = thousandsSeparator\n ? new RegExp(\n `([0-9]|)(${escapeRegexChars(thousandsSeparator)})([0-9]{3})`,\n 'g'\n )\n : new RegExp(`([0-9]|)(${thousands})([0-9]{3})`, 'g')\n if (thousandReg.test(num)) {\n num = num.replace(thousandReg, '$1$3')\n }\n\n // 2. Rename invalid decimal separator\n // Make sure that there are only two digits after the coma, then we clean that up.\n // else we don't, because it can be a US number\n // therefore, check first, is there a chance of being a decimal?\n // const decimalReg = new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n const decimalReg = decimalSeparator\n ? new RegExp(`(${escapeRegexChars(decimalSeparator)})([0-9]{0,})`, 'g')\n : new RegExp(`(${decimal})([0-9]{1,2})`, 'g')\n if (decimalReg.test(num)) {\n num = num.replace(decimalReg, '.$2')\n }\n\n // Edge case, if we have more than 2 decimals, replace these decimals\n if (!decimalSeparator) {\n const decimalBackup = new RegExp(`(${decimal})([0-9]{3,})`, 'g')\n if (decimalBackup.test(num)) {\n num = num.replace(decimalBackup, '.$2')\n }\n }\n\n // Remove all invalid chars\n return num.replace(new RegExp(`([^${NUMBER_CHARS}])`, 'g'), '')\n}\n\n/**\n * So iOS v13 can select something on the first try, we run this add range trick.\n * NB: This hack may be removed in future iOS versions.\n */\nexport function runIOSSelectionFix() {\n try {\n const selection = window.getSelection()\n const range = document.createRange()\n selection.removeAllRanges()\n selection.addRange(range)\n } catch (e) {\n //\n }\n}\n\n/**\n * A function that tries to copy to the clipboard\n * at the same time it shows the copy result in a tooltip\n *\n * NB: This function is not documented.\n * It should not be used!\n *\n * @param {string} value any number\n * @param {*} label\n * @param {*} positionElement\n * @returns\n */\nexport async function copyWithEffect(\n value,\n label,\n positionElement = null\n) {\n let success = null\n\n if (value) {\n try {\n const fx = showSelectionNotice({ value, label })\n success = await copyToClipboard(value)\n if (success === true) {\n fx.run(positionElement)\n }\n } catch (e) {\n warn(e)\n success = e\n }\n }\n\n return success\n}\n\n/**\n * This function add a tooltip looking\n *\n * @type {object} object with property\n * @property {string} value any value\n * @property {string} label any additional label that gets added as a suffix\n * @property {number} timeout how long the tooltip should be visible (3 sec)\n * @returns {object} { run, hide, remove } call the \"run\" function when the effect should be shown\n */\nexport function showSelectionNotice({ value, label, timeout = 3e3 }) {\n const id = 'id-' + slugify(value)\n if (typeof document !== 'undefined' && document.getElementById(id)) {\n return { run: () => {} }\n }\n\n let elem, content, root\n\n try {\n root = document.querySelector('.dnb-tooltip__portal, body')\n\n // create that portal element\n elem = document.createElement('span')\n elem.setAttribute('id', id)\n elem.setAttribute('class', 'dnb-tooltip')\n elem.setAttribute('role', 'tooltip')\n\n const arrow = document.createElement('span')\n arrow.setAttribute(\n 'class',\n 'dnb-tooltip__arrow dnb-tooltip__arrow__position--top'\n )\n content = document.createElement('span')\n content.setAttribute('class', 'dnb-tooltip__content')\n content.setAttribute('aria-live', 'assertive')\n elem.appendChild(arrow)\n elem.appendChild(content)\n } catch (e) {\n warn(e)\n }\n\n return new (class SelectionFx {\n remove() {\n try {\n root.removeChild(elem)\n elem = null\n content = null\n } catch (e) {\n //\n }\n }\n hide() {\n try {\n elem.classList.add('dnb-tooltip--hide')\n } catch (e) {\n //\n }\n }\n run(pE = getSelectedElement()) {\n try {\n root.appendChild(elem)\n\n const top = getOffsetTop(pE)\n const left = getOffsetLeft(pE)\n\n content.innerHTML =\n String(label) +\n (pE instanceof HTMLElement\n ? `<span class=\"dnb-sr-only\">: ${\n (\n (pE &&\n pE.querySelector('.dnb-number-format__selection')) ||\n pE\n ).innerHTML\n }</span>`\n : '')\n\n const width =\n (\n (pE && pE.querySelector('.dnb-number-format__visible')) ||\n pE ||\n {}\n ).offsetWidth || 0\n\n elem.style.top = `${top - elem.offsetHeight}px`\n elem.style.left = `${left + width / 2 - elem.offsetWidth / 2}px`\n elem.classList.add('dnb-tooltip--active')\n\n setTimeout(this.hide, timeout)\n setTimeout(this.remove, timeout + 600)\n } catch (e) {\n warn(e)\n }\n }\n })()\n}\n\n/**\n * React Hook\n * It returns \"copyWithEffect\" but with a translated string\n *\n * @returns copyWithEffect function inside object { copy }\n */\nexport function useCopyWithNotice() {\n const {\n translation: {\n NumberFormat: { clipboard_copy },\n },\n } = React.useContext(Context)\n\n const copy = (value, positionElement) => {\n copyWithEffect(value, clipboard_copy, positionElement)\n }\n\n return { copy }\n}\n\n/**\n * Will return currency display value based on navigator/browser and locale\n *\n * @property {string} currencyDisplay (optional) code, name, symbol or narrowSymbol\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getFallbackCurrencyDisplay(\n locale = null,\n currencyDisplay = null\n) {\n // If currencyDisplay is not defined and locale is \"no\", use narrowSymbol\n if (!currencyDisplay && (!locale || /(no|nb|nn)$/i.test(locale))) {\n currencyDisplay = 'narrowSymbol'\n }\n\n return currencyDisplay || CURRENCY_DISPLAY // code, name, symbol\n}\n\n/**\n * This function returns a decimal separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getDecimalSeparator(locale = null) {\n const separator =\n formatToParts({\n number: 1.1,\n locale,\n }).find(({ type }) => type === 'decimal')?.value || ',' // defaults to nb-NO\n\n return separator\n}\n\n/**\n * This function returns a thousands separator symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @returns {string} a separator symbol\n */\nexport function getThousandsSeparator(locale = null) {\n const formatter = getGroupFormatter(locale)\n\n return (\n formatToParts({\n number: 1000,\n locale,\n })\n .map(formatter)\n .find(({ type }) => type === 'group')?.value || ' '\n ) // defaults to nb-NO\n}\n\n/**\n * This function returns a currency symbol based on the given locale\n *\n * @property {string} locale (optional) the locale to use, defaults to nb-NO\n * @property {string} currency (optional) a given currency\n * @property {string} display (optional) what currency display\n * @property {number} number (optional) only to define if it should be formatted in singular or plural\n * @returns {string} a currency symbol\n */\nexport function getCurrencySymbol(\n locale = null,\n currency = null,\n display = null,\n number = 2\n) {\n if (!currency) {\n currency = CURRENCY\n }\n\n const currencyDisplay = getFallbackCurrencyDisplay(locale, display)\n\n return alignCurrencySymbol(\n formatToParts({\n number,\n locale,\n options: {\n style: 'currency',\n currency,\n currencyDisplay,\n },\n }).find(({ type }) => type === 'currency')?.value || currency,\n currencyDisplay\n )\n}\n\nfunction getGroupFormatter(\n locale = null,\n separatorSymbol = null,\n existingFormatter = null\n) {\n /**\n * We change the thousand separator to be a non-breaking space\n *\n * Effected locales:\n * - en-GB\n * - en\n */\n if (locale && /(en|gb)$/i.test(locale)) {\n separatorSymbol = ' ' // non-breaking space\n }\n\n return (item) => {\n // Ensure we do not overwrite a given formatter, but run it as well\n if (typeof existingFormatter === 'function') {\n item = existingFormatter(item)\n }\n\n if (item.type === 'group') {\n item.value = separatorSymbol || item.value\n }\n\n return item\n }\n}\n\n/**\n * For internal usage\n *\n * @type {object}\n * @property {string} number - a number\n * @property {string} locale - locale as a string. Defaults to the global LOCALE constant\n * @property {object} options - NumberFormat options\n * @returns {array} that contains all the parts of the given number [{ value: x, type: 'type' }]\n */\nfunction formatToParts({ number, locale = null, options = null }) {\n if (\n typeof Intl !== 'undefined' &&\n typeof Intl.NumberFormat === 'function'\n ) {\n try {\n const inst = Intl.NumberFormat(locale || LOCALE, options || {})\n if (typeof inst.formatToParts === 'function') {\n return inst.formatToParts(number)\n } else {\n return [{ value: inst.format(number) }]\n }\n } catch (e) {\n warn(e)\n }\n }\n\n return [{ value: number }]\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string} value any number\n * @property {string} locale a given locale\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {number} decimals the amount of decimals\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeDisplay({\n value,\n locale,\n compact,\n decimals = 0,\n opts,\n} = {}) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n value = parseInt(Math.abs(value))\n opts.notation = 'compact'\n\n // For numbers under 1M we do\n if (isTrue(compact) && locale && /(no|nb|nn)$/i.test(locale)) {\n opts.compactDisplay = Math.abs(value) < 1000000 ? 'long' : 'short'\n } else {\n opts.compactDisplay = !isTrue(compact) ? compact : 'short'\n }\n\n if (typeof opts.maximumSignificantDigits === 'undefined') {\n if (isNaN(parseFloat(decimals))) {\n decimals = 0\n } else {\n decimals = parseFloat(decimals)\n }\n\n // This formula ensures we always get the same amount decimals\n const ref = String(value).length % 3\n if (ref === 2) {\n decimals += 1\n } else if (ref === 0) {\n decimals += 2\n }\n\n // The result of this formula would be equal to this:\n // if (value >= 100000000000000) {\n // decimals += 2\n // } else if (value >= 10000000000000) {\n // decimals += 1\n // } else if (value >= 1000000000000) {\n // decimals += 0\n // } else if (value >= 100000000000) {\n // decimals += 2\n // } else if (value >= 10000000000) {\n // decimals += 1\n // } else if (value >= 1000000000) {\n // decimals += 0\n // } else if (value >= 100000000) {\n // decimals += 2\n // } else if (value >= 10000000) {\n // decimals += 1\n // } else if (value >= 1000000) {\n // decimals += 0\n // } else if (value >= 100000) {\n // decimals += 2\n // } else if (value >= 10000) {\n // decimals += 1\n // }\n\n // Firefox issue?\n // If we do not define \"maximumSignificantDigits\" Firefox does not show any decimals at all\n opts.maximumSignificantDigits = decimals + 1\n }\n}\n\n/**\n * Helper for getting a consistent compact format\n * Mutates a given \"opts\" object.\n *\n * @param {object}\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n * @property {object} opts the options object – it gets mutated\n */\nfunction handleCompactBeforeAria({ value, compact, opts }) {\n if (!canHandleCompact({ value, compact })) {\n return // stop here\n }\n\n opts.compactDisplay = 'long'\n}\n\n/**\n * Checks if we should/can handle the compact format\n *\n * @param {object}\n * @property {string|number} value any number\n * @property {string|boolean} compact \"short\" or \"long\" if true is given, \"short\" is used\n */\nfunction canHandleCompact({ value, compact }) {\n if (compact && Math.abs(value) >= 1000) {\n return true\n }\n\n return false\n}\n\n/**\n * Rounds the number to the nearest even number\n *\n * @param {number} num the number to round\n * @param {number} decimalPlaces the number of decimal places to round to\n * @returns {number} the rounded number\n */\nexport function roundHalfEven(num, decimalPlaces = 2) {\n const multiplier = Math.pow(10, decimalPlaces)\n const adjustedNum = num * multiplier\n const floored = Math.floor(adjustedNum)\n const diff = adjustedNum - floored\n\n if (diff > 0.5) {\n return Math.ceil(adjustedNum) / multiplier\n } else if (diff < 0.5) {\n return Math.floor(adjustedNum) / multiplier\n }\n\n // If exactly halfway, round to the nearest even number\n return floored % 2 === 0\n ? floored / multiplier\n : Math.ceil(adjustedNum) / multiplier\n}\n"],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ export interface PaginationProps
|
|
|
160
160
|
*/
|
|
161
161
|
load_button_text?: string;
|
|
162
162
|
/**
|
|
163
|
-
* Used to set load button text and icon
|
|
163
|
+
* Used to set load button text and icon alignment. Accepts a function returning a ReactNode too, so you can replace the button with your own component.
|
|
164
164
|
*/
|
|
165
165
|
loadButton?: LoadButtonProps;
|
|
166
166
|
className?: string;
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
@media screen and (max-width: 60em) and (min-width: 40.
|
|
67
|
+
@media screen and (max-width: 60em) and (min-width: 40.00625em) {
|
|
68
68
|
.dnb-section {
|
|
69
69
|
--breakout: var(--breakout--medium, var(--breakout--fallback));
|
|
70
70
|
--background-color--value: var(--background-color--medium);
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
@media screen and (min-width: 60.
|
|
80
|
+
@media screen and (min-width: 60.00625em) {
|
|
81
81
|
.dnb-section {
|
|
82
82
|
--breakout: var(--breakout--large, var(--breakout--fallback));
|
|
83
83
|
--background-color--value: var(--background-color--large);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.dnb-section{--breakout--on:visible;--breakout--off:hidden;--rounded-corner--value:0.5rem;--outline:0 0 0 var(--outline-width,1px) var(--outline-color,transparent);--outline-none:0 0 0 0 transparent;--top:0;--left:-100vw;--width:100vw;--height:100%;--color-transparent:transparent;border-radius:var(--rounded-corner,0);color:var(--text-color,#000);display:flow-root;position:relative}.dnb-section[style*="--background-color"]{background-color:var(--background-color,#fff)}.dnb-section:before{border-radius:var(--rounded-corner,0);box-shadow:var(--drop-shadow,var(--outline-none)),var(--outline,var(--outline-none));content:"";inset:0;position:absolute;z-index:-1}.dnb-section:after{--box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor;background-color:currentcolor;box-shadow:var(--box-shadow);color:var(--background-color,currentcolor);content:"";height:var(--height);left:var(--left);position:absolute;top:var(--top);visibility:var(--breakout,hidden);width:var(--width);z-index:-15}.dnb-section:not([style*="--breakout"]){--breakout:var(--breakout--on)}@media screen and (max-width:60em){.dnb-section{--breakout:var(--breakout--small,var(--breakout--fallback));--background-color--value:var(--background-color--small);--text-color--value:var(--text-color--small);--outline-color:var(--outline-color--small);--drop-shadow:var(--drop-shadow--small);--rounded-corner:var(
|
|
2
2
|
--rounded-corner--small,var(--rounded-corner--fallback)
|
|
3
|
-
)}}@media screen and (max-width:60em) and (min-width:40.
|
|
3
|
+
)}}@media screen and (max-width:60em) and (min-width:40.00625em){.dnb-section{--breakout:var(--breakout--medium,var(--breakout--fallback));--background-color--value:var(--background-color--medium);--text-color--value:var(--text-color--medium);--outline-color:var(--outline-color--medium);--drop-shadow:var(--drop-shadow--medium);--rounded-corner:var(
|
|
4
4
|
--rounded-corner--medium,var(--rounded-corner--fallback)
|
|
5
|
-
)}}@media screen and (min-width:60.
|
|
5
|
+
)}}@media screen and (min-width:60.00625em){.dnb-section{--breakout:var(--breakout--large,var(--breakout--fallback));--background-color--value:var(--background-color--large);--text-color--value:var(--text-color--large);--outline-color:var(--outline-color--large);--drop-shadow:var(--drop-shadow--large);--rounded-corner:var(
|
|
6
6
|
--rounded-corner--large,var(--rounded-corner--fallback)
|
|
7
7
|
)}}.dnb-section .dnb-section:after{z-index:-14}.dnb-section .dnb-section .dnb-section:after{z-index:-13}.dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-12}.dnb-section .dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-11}.dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-10}.dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-9}.dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-8}.dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section .dnb-section:after{z-index:-7}.dnb-section--spacing-x-small{padding-bottom:var(--spacing-x-small);padding-top:var(--spacing-x-small)}.dnb-section--spacing-small{padding-bottom:var(--spacing-small);padding-top:var(--spacing-small)}.dnb-section--spacing-medium{padding-bottom:var(--spacing-medium);padding-top:var(--spacing-medium)}.dnb-section--spacing,.dnb-section--spacing-large{padding-bottom:var(--spacing-large);padding-top:var(--spacing-large)}.dnb-section--spacing-x-large{padding-bottom:var(--spacing-x-large);padding-top:var(--spacing-x-large)}.dnb-section--spacing-xx-large{padding-bottom:var(--spacing-xx-large);padding-top:var(--spacing-xx-large)}
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
--padding-bottom: var(--space-b-s);
|
|
582
582
|
}
|
|
583
583
|
}
|
|
584
|
-
@media screen and (max-width: 60em) and (min-width: 40.
|
|
584
|
+
@media screen and (max-width: 60em) and (min-width: 40.00625em) {
|
|
585
585
|
.dnb-space {
|
|
586
586
|
--padding-right: var(--space-r-m);
|
|
587
587
|
--padding-left: var(--space-l-m);
|
|
@@ -589,7 +589,7 @@
|
|
|
589
589
|
--padding-bottom: var(--space-b-m);
|
|
590
590
|
}
|
|
591
591
|
}
|
|
592
|
-
@media screen and (min-width: 60.
|
|
592
|
+
@media screen and (min-width: 60.00625em) {
|
|
593
593
|
.dnb-space {
|
|
594
594
|
--padding-right: var(--space-r-l);
|
|
595
595
|
--padding-left: var(--space-l-l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-core-style .dnb-space__top--zero{margin-top:0}.dnb-core-style .dnb-space__top--xx-small{margin-top:var(--spacing-xx-small)}.dnb-core-style .dnb-space__top--x-small{margin-top:var(--spacing-x-small)}.dnb-core-style .dnb-space__top--small{margin-top:var(--spacing-small)}.dnb-core-style .dnb-space__top--medium{margin-top:var(--spacing-medium)}.dnb-core-style .dnb-space__top--large{margin-top:var(--spacing-large)}.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__top--x-large{margin-top:var(--spacing-x-large)}.dnb-core-style .dnb-space__top--xx-large{margin-top:var(--spacing-xx-large)}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--medium{margin-top:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--medium{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--zero{margin-right:0}.dnb-core-style .dnb-space__right--xx-small{margin-right:var(--spacing-xx-small)}.dnb-core-style .dnb-space__right--x-small{margin-right:var(--spacing-x-small)}.dnb-core-style .dnb-space__right--small{margin-right:var(--spacing-small)}.dnb-core-style .dnb-space__right--medium{margin-right:var(--spacing-medium)}.dnb-core-style .dnb-space__right--large{margin-right:var(--spacing-large)}.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__right--x-large{margin-right:var(--spacing-x-large)}.dnb-core-style .dnb-space__right--xx-large{margin-right:var(--spacing-xx-large)}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--medium{margin-right:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--medium{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--zero{margin-bottom:0}.dnb-core-style .dnb-space__bottom--xx-small{margin-bottom:var(--spacing-xx-small)}.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:var(--spacing-x-small)}.dnb-core-style .dnb-space__bottom--small{margin-bottom:var(--spacing-small)}.dnb-core-style .dnb-space__bottom--medium{margin-bottom:var(--spacing-medium)}.dnb-core-style .dnb-space__bottom--large{margin-bottom:var(--spacing-large)}.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:var(--spacing-x-large)}.dnb-core-style .dnb-space__bottom--xx-large{margin-bottom:var(--spacing-xx-large)}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--zero{margin-left:0}.dnb-core-style .dnb-space__left--xx-small{margin-left:var(--spacing-xx-small)}.dnb-core-style .dnb-space__left--x-small{margin-left:var(--spacing-x-small)}.dnb-core-style .dnb-space__left--small{margin-left:var(--spacing-small)}.dnb-core-style .dnb-space__left--medium{margin-left:var(--spacing-medium)}.dnb-core-style .dnb-space__left--large{margin-left:var(--spacing-large)}.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__left--x-large{margin-left:var(--spacing-x-large)}.dnb-core-style .dnb-space__left--xx-large{margin-left:var(--spacing-xx-large)}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--medium{margin-left:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--medium{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space--no-collapse{display:flow-root}.dnb-space--stretch{width:100%}.dnb-space--inline{display:inline-block}.dnb-space__top--zero{margin-top:0}.dnb-space__top--xx-small{margin-top:var(--spacing-xx-small)}.dnb-space__top--x-small{margin-top:var(--spacing-x-small)}.dnb-space__top--small{margin-top:var(--spacing-small)}.dnb-space__top--medium{margin-top:var(--spacing-medium)}.dnb-space__top--large{margin-top:var(--spacing-large)}.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__top--x-large{margin-top:var(--spacing-x-large)}.dnb-space__top--xx-large{margin-top:var(--spacing-xx-large)}.dnb-space__top--xx-large.dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large.dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__top--xx-large.dnb-space__top--medium{margin-top:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large.dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__top--xx-large.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__top--xx-large.dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--medium{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2.dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__right--zero{margin-right:0}.dnb-space__right--xx-small{margin-right:var(--spacing-xx-small)}.dnb-space__right--x-small{margin-right:var(--spacing-x-small)}.dnb-space__right--small{margin-right:var(--spacing-small)}.dnb-space__right--medium{margin-right:var(--spacing-medium)}.dnb-space__right--large{margin-right:var(--spacing-large)}.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__right--x-large{margin-right:var(--spacing-x-large)}.dnb-space__right--xx-large{margin-right:var(--spacing-xx-large)}.dnb-space__right--xx-large.dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large.dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__right--xx-large.dnb-space__right--medium{margin-right:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large.dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__right--xx-large.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__right--xx-large.dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--medium{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2.dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__bottom--zero{margin-bottom:0}.dnb-space__bottom--xx-small{margin-bottom:var(--spacing-xx-small)}.dnb-space__bottom--x-small{margin-bottom:var(--spacing-x-small)}.dnb-space__bottom--small{margin-bottom:var(--spacing-small)}.dnb-space__bottom--medium{margin-bottom:var(--spacing-medium)}.dnb-space__bottom--large{margin-bottom:var(--spacing-large)}.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__bottom--x-large{margin-bottom:var(--spacing-x-large)}.dnb-space__bottom--xx-large{margin-bottom:var(--spacing-xx-large)}.dnb-space__bottom--xx-large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large.dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__bottom--xx-large.dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large.dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__bottom--xx-large.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__bottom--xx-large.dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__left--zero{margin-left:0}.dnb-space__left--xx-small{margin-left:var(--spacing-xx-small)}.dnb-space__left--x-small{margin-left:var(--spacing-x-small)}.dnb-space__left--small{margin-left:var(--spacing-small)}.dnb-space__left--medium{margin-left:var(--spacing-medium)}.dnb-space__left--large{margin-left:var(--spacing-large)}.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__left--x-large{margin-left:var(--spacing-x-large)}.dnb-space__left--xx-large{margin-left:var(--spacing-xx-large)}.dnb-space__left--xx-large.dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large.dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__left--xx-large.dnb-space__left--medium{margin-left:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large.dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__left--xx-large.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__left--xx-large.dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--medium{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2.dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__reset:not([class*=dnb-space__top]){margin-top:0}.dnb-space__reset:not([class*=dnb-space__bottom]){margin-bottom:0}.dnb-space__reset:not([class*=dnb-space__left]){margin-left:0}.dnb-space__reset:not([class*=dnb-space__right]){margin-right:0}.dnb-space[style*="--space-t-"]{padding-top:var(--padding-top,0)}.dnb-space[style*="--space-r-"]{padding-right:var(--padding-right,0)}.dnb-space[style*="--space-b-"]{padding-bottom:var(--padding-bottom,0)}.dnb-space[style*="--space-l-"]{padding-left:var(--padding-left,0)}@media screen and (max-width:60em){.dnb-space{--padding-right:var(--space-r-s);--padding-left:var(--space-l-s);--padding-top:var(--space-t-s);--padding-bottom:var(--space-b-s)}}@media screen and (max-width:60em) and (min-width:40.0625em){.dnb-space{--padding-right:var(--space-r-m);--padding-left:var(--space-l-m);--padding-top:var(--space-t-m);--padding-bottom:var(--space-b-m)}}@media screen and (min-width:60.0625em){.dnb-space{--padding-right:var(--space-r-l);--padding-left:var(--space-l-l);--padding-top:var(--space-t-l);--padding-bottom:var(--space-b-l)}}span.dnb-space--no-collapse>span{display:block}
|
|
1
|
+
.dnb-core-style .dnb-space__top--zero{margin-top:0}.dnb-core-style .dnb-space__top--xx-small{margin-top:var(--spacing-xx-small)}.dnb-core-style .dnb-space__top--x-small{margin-top:var(--spacing-x-small)}.dnb-core-style .dnb-space__top--small{margin-top:var(--spacing-small)}.dnb-core-style .dnb-space__top--medium{margin-top:var(--spacing-medium)}.dnb-core-style .dnb-space__top--large{margin-top:var(--spacing-large)}.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__top--x-large{margin-top:var(--spacing-x-large)}.dnb-core-style .dnb-space__top--xx-large{margin-top:var(--spacing-xx-large)}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--medium{margin-top:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__top--xx-large.dnb-core-style .dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--medium{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--large.dnb-core-style .dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__top--xx-large-x2.dnb-core-style .dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--zero{margin-right:0}.dnb-core-style .dnb-space__right--xx-small{margin-right:var(--spacing-xx-small)}.dnb-core-style .dnb-space__right--x-small{margin-right:var(--spacing-x-small)}.dnb-core-style .dnb-space__right--small{margin-right:var(--spacing-small)}.dnb-core-style .dnb-space__right--medium{margin-right:var(--spacing-medium)}.dnb-core-style .dnb-space__right--large{margin-right:var(--spacing-large)}.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__right--x-large{margin-right:var(--spacing-x-large)}.dnb-core-style .dnb-space__right--xx-large{margin-right:var(--spacing-xx-large)}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--medium{margin-right:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__right--xx-large.dnb-core-style .dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--medium{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--large.dnb-core-style .dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__right--xx-large-x2.dnb-core-style .dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--zero{margin-bottom:0}.dnb-core-style .dnb-space__bottom--xx-small{margin-bottom:var(--spacing-xx-small)}.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:var(--spacing-x-small)}.dnb-core-style .dnb-space__bottom--small{margin-bottom:var(--spacing-small)}.dnb-core-style .dnb-space__bottom--medium{margin-bottom:var(--spacing-medium)}.dnb-core-style .dnb-space__bottom--large{margin-bottom:var(--spacing-large)}.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:var(--spacing-x-large)}.dnb-core-style .dnb-space__bottom--xx-large{margin-bottom:var(--spacing-xx-large)}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__bottom--xx-large.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--large.dnb-core-style .dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__bottom--xx-large-x2.dnb-core-style .dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--zero{margin-left:0}.dnb-core-style .dnb-space__left--xx-small{margin-left:var(--spacing-xx-small)}.dnb-core-style .dnb-space__left--x-small{margin-left:var(--spacing-x-small)}.dnb-core-style .dnb-space__left--small{margin-left:var(--spacing-small)}.dnb-core-style .dnb-space__left--medium{margin-left:var(--spacing-medium)}.dnb-core-style .dnb-space__left--large{margin-left:var(--spacing-large)}.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__left--x-large{margin-left:var(--spacing-x-large)}.dnb-core-style .dnb-space__left--xx-large{margin-left:var(--spacing-xx-large)}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--medium{margin-left:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-core-style .dnb-space__left--xx-large.dnb-core-style .dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--medium{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--large.dnb-core-style .dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-core-style .dnb-space__left--xx-large-x2.dnb-core-style .dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space--no-collapse{display:flow-root}.dnb-space--stretch{width:100%}.dnb-space--inline{display:inline-block}.dnb-space__top--zero{margin-top:0}.dnb-space__top--xx-small{margin-top:var(--spacing-xx-small)}.dnb-space__top--x-small{margin-top:var(--spacing-x-small)}.dnb-space__top--small{margin-top:var(--spacing-small)}.dnb-space__top--medium{margin-top:var(--spacing-medium)}.dnb-space__top--large{margin-top:var(--spacing-large)}.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__top--x-large{margin-top:var(--spacing-x-large)}.dnb-space__top--xx-large{margin-top:var(--spacing-xx-large)}.dnb-space__top--xx-large.dnb-space__top--x-small{margin-top:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large.dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__top--xx-large.dnb-space__top--medium{margin-top:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large.dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__top--xx-large.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__top--xx-large.dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2{margin-top:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--small{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--medium{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__top--xx-large-x2.dnb-space__top--large{margin-top:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2.dnb-space__top--large.dnb-space__top--x-small{margin-top:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__top--xx-large-x2.dnb-space__top--x-large{margin-top:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__right--zero{margin-right:0}.dnb-space__right--xx-small{margin-right:var(--spacing-xx-small)}.dnb-space__right--x-small{margin-right:var(--spacing-x-small)}.dnb-space__right--small{margin-right:var(--spacing-small)}.dnb-space__right--medium{margin-right:var(--spacing-medium)}.dnb-space__right--large{margin-right:var(--spacing-large)}.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__right--x-large{margin-right:var(--spacing-x-large)}.dnb-space__right--xx-large{margin-right:var(--spacing-xx-large)}.dnb-space__right--xx-large.dnb-space__right--x-small{margin-right:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large.dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__right--xx-large.dnb-space__right--medium{margin-right:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large.dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__right--xx-large.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__right--xx-large.dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2{margin-right:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--small{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--medium{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__right--xx-large-x2.dnb-space__right--large{margin-right:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2.dnb-space__right--large.dnb-space__right--x-small{margin-right:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__right--xx-large-x2.dnb-space__right--x-large{margin-right:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__bottom--zero{margin-bottom:0}.dnb-space__bottom--xx-small{margin-bottom:var(--spacing-xx-small)}.dnb-space__bottom--x-small{margin-bottom:var(--spacing-x-small)}.dnb-space__bottom--small{margin-bottom:var(--spacing-small)}.dnb-space__bottom--medium{margin-bottom:var(--spacing-medium)}.dnb-space__bottom--large{margin-bottom:var(--spacing-large)}.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__bottom--x-large{margin-bottom:var(--spacing-x-large)}.dnb-space__bottom--xx-large{margin-bottom:var(--spacing-xx-large)}.dnb-space__bottom--xx-large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large.dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__bottom--xx-large.dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large.dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__bottom--xx-large.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__bottom--xx-large.dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--small{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--medium{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--large{margin-bottom:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--large.dnb-space__bottom--x-small{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__bottom--xx-large-x2.dnb-space__bottom--x-large{margin-bottom:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__left--zero{margin-left:0}.dnb-space__left--xx-small{margin-left:var(--spacing-xx-small)}.dnb-space__left--x-small{margin-left:var(--spacing-x-small)}.dnb-space__left--small{margin-left:var(--spacing-small)}.dnb-space__left--medium{margin-left:var(--spacing-medium)}.dnb-space__left--large{margin-left:var(--spacing-large)}.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-x-small))}.dnb-space__left--x-large{margin-left:var(--spacing-x-large)}.dnb-space__left--xx-large{margin-left:var(--spacing-xx-large)}.dnb-space__left--xx-large.dnb-space__left--x-small{margin-left:calc(var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large.dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-medium))}.dnb-space__left--xx-large.dnb-space__left--medium{margin-left:calc(var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large.dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-x-small))}.dnb-space__left--xx-large.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-small))}.dnb-space__left--xx-large.dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2{margin-left:calc(var(--spacing-x-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--small{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--medium{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-large))}.dnb-space__left--xx-large-x2.dnb-space__left--large{margin-left:calc(var(--spacing-x-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2.dnb-space__left--large.dnb-space__left--x-small{margin-left:calc(var(--spacing-xx-large) + var(--spacing-x-large) + var(--spacing-x-large))}.dnb-space__left--xx-large-x2.dnb-space__left--x-large{margin-left:calc(var(--spacing-xx-large) + var(--spacing-xx-large) + var(--spacing-x-large))}.dnb-space__reset:not([class*=dnb-space__top]){margin-top:0}.dnb-space__reset:not([class*=dnb-space__bottom]){margin-bottom:0}.dnb-space__reset:not([class*=dnb-space__left]){margin-left:0}.dnb-space__reset:not([class*=dnb-space__right]){margin-right:0}.dnb-space[style*="--space-t-"]{padding-top:var(--padding-top,0)}.dnb-space[style*="--space-r-"]{padding-right:var(--padding-right,0)}.dnb-space[style*="--space-b-"]{padding-bottom:var(--padding-bottom,0)}.dnb-space[style*="--space-l-"]{padding-left:var(--padding-left,0)}@media screen and (max-width:60em){.dnb-space{--padding-right:var(--space-r-s);--padding-left:var(--space-l-s);--padding-top:var(--space-t-s);--padding-bottom:var(--space-b-s)}}@media screen and (max-width:60em) and (min-width:40.00625em){.dnb-space{--padding-right:var(--space-r-m);--padding-left:var(--space-l-m);--padding-top:var(--space-t-m);--padding-bottom:var(--space-b-m)}}@media screen and (min-width:60.00625em){.dnb-space{--padding-right:var(--space-r-l);--padding-left:var(--space-l-l);--padding-top:var(--space-t-l);--padding-bottom:var(--space-b-l)}}span.dnb-space--no-collapse>span{display:block}
|