@dnb/eufemia 10.7.0 → 10.9.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 +72 -0
- package/cjs/components/accordion/Accordion.d.ts +1 -1
- package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
- package/cjs/components/accordion/AccordionHeader.js +18 -5
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +22 -17
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/cjs/components/anchor/Anchor.js +1 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/cjs/components/autocomplete/Autocomplete.js +4 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/avatar/style/index.d.ts +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/cjs/components/checkbox/Checkbox.d.ts +4 -0
- package/cjs/components/checkbox/Checkbox.js +6 -4
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/cjs/components/drawer/Drawer.d.ts +1 -1
- package/cjs/components/drawer/Drawer.js +3 -1
- package/cjs/components/drawer/Drawer.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +2 -0
- package/cjs/components/form-status/FormStatus.js +70 -53
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
- package/cjs/components/global-status/GlobalStatus.js +17 -7
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/cjs/components/heading/Heading.d.ts +8 -8
- package/cjs/components/heading/Heading.js +8 -16
- package/cjs/components/heading/Heading.js.map +1 -1
- package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
- package/cjs/components/heading/HeadingHelpers.js +42 -1
- package/cjs/components/heading/HeadingHelpers.js.map +1 -1
- package/cjs/components/info-card/index.js.map +1 -1
- package/cjs/components/info-card/style.js.map +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/ModalContent.js +3 -1
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
- package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/cjs/components/radio/Radio.d.ts +4 -0
- package/cjs/components/radio/Radio.js +6 -4
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/cjs/components/section/Section.d.ts +21 -1
- package/cjs/components/section/Section.js +1 -1
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +8 -3
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/cjs/components/slider/style/dnb-slider.scss +4 -2
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
- package/cjs/components/step-indicator/StepIndicator.js +31 -26
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
- package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
- package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
- package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
- package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +4 -0
- package/cjs/components/switch/Switch.js +6 -4
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/cjs/components/table/TableContainer.js.map +1 -1
- package/cjs/components/table/style/table-accordion.scss +18 -6
- package/cjs/components/table/style/table-header-buttons.scss +3 -1
- package/cjs/components/table/style/table-tr.scss +6 -2
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/cjs/components/timeline/TimelineItem.d.ts +3 -2
- package/cjs/components/timeline/TimelineItem.js +96 -62
- package/cjs/components/timeline/TimelineItem.js.map +1 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/cjs/elements/lib.d.ts +1 -1
- package/cjs/elements/typography/H.d.ts +5 -3
- package/cjs/elements/typography/H.js +7 -3
- package/cjs/elements/typography/H.js.map +1 -1
- package/cjs/elements/typography/H1.js +2 -2
- package/cjs/elements/typography/H1.js.map +1 -1
- package/cjs/elements/typography/H2.js +2 -2
- package/cjs/elements/typography/H2.js.map +1 -1
- package/cjs/elements/typography/H3.js +2 -2
- package/cjs/elements/typography/H3.js.map +1 -1
- package/cjs/elements/typography/H4.js +2 -2
- package/cjs/elements/typography/H4.js.map +1 -1
- package/cjs/elements/typography/H5.js +2 -2
- package/cjs/elements/typography/H5.js.map +1 -1
- package/cjs/elements/typography/H6.js +2 -2
- package/cjs/elements/typography/H6.js.map +1 -1
- package/cjs/elements/typography/style/dnb-typography.scss +3 -0
- package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/cjs/elements/typography/style/typography-mixins.scss +5 -0
- package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
- package/cjs/extensions/forms/DataContext/Context.js +2 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider.js +7 -3
- package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
- package/cjs/extensions/forms/DataContext/index.js +0 -2
- package/cjs/extensions/forms/DataContext/index.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/cjs/extensions/forms/Field/ArraySelection.js +55 -35
- package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/cjs/extensions/forms/Field/CountryCode.js +77 -0
- package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
- package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
- package/cjs/extensions/forms/Field/Currency.js +6 -38
- package/cjs/extensions/forms/Field/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date.d.ts +2 -3
- package/cjs/extensions/forms/Field/Date.js +14 -10
- package/cjs/extensions/forms/Field/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Number.d.ts +7 -4
- package/cjs/extensions/forms/Field/Number.js +48 -23
- package/cjs/extensions/forms/Field/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option.d.ts +2 -3
- package/cjs/extensions/forms/Field/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/cjs/extensions/forms/Field/PhoneNumber.js +45 -44
- package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection.d.ts +6 -5
- package/cjs/extensions/forms/Field/Selection.js +90 -40
- package/cjs/extensions/forms/Field/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String.d.ts +3 -4
- package/cjs/extensions/forms/Field/String.js +28 -16
- package/cjs/extensions/forms/Field/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
- package/cjs/extensions/forms/Field/Toggle.js +16 -14
- package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/fields.scss +2 -2
- package/cjs/extensions/forms/Field/index.d.ts +2 -4
- package/cjs/extensions/forms/Field/index.js +3 -5
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/cjs/extensions/forms/Field/style/index.scss +2 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +88 -15
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/cjs/extensions/forms/FieldBlock/index.js +15 -2
- package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
- package/cjs/extensions/forms/Form/FormElement.js +39 -0
- package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
- package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/cjs/extensions/forms/Form/FormHandler.js +41 -0
- package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
- package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
- package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +9 -0
- package/cjs/extensions/forms/Form/index.js +18 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
- package/cjs/extensions/forms/Iterate/Array.js +91 -0
- package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
- package/cjs/extensions/forms/Iterate/index.js +25 -0
- package/cjs/extensions/forms/Iterate/index.js.map +1 -0
- package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
- package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
- package/cjs/extensions/forms/Layout/Card.js +5 -5
- package/cjs/extensions/forms/Layout/Card.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/cjs/extensions/forms/Layout/FlexContainer.js +6 -5
- package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/cjs/extensions/forms/Layout/FlexItem.js +4 -3
- package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
- package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
- package/cjs/extensions/forms/Layout/Section.js +2 -2
- package/cjs/extensions/forms/Layout/Section.js.map +1 -1
- package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
- package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Layout/index.d.ts +0 -2
- package/cjs/extensions/forms/Layout/index.js +1 -3
- package/cjs/extensions/forms/Layout/index.js.map +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
- package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
- package/cjs/extensions/forms/Value/Boolean.js +4 -4
- package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Number.d.ts +2 -3
- package/cjs/extensions/forms/Value/Number.js +4 -3
- package/cjs/extensions/forms/Value/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/String.d.ts +2 -3
- package/cjs/extensions/forms/Value/String.js +4 -4
- package/cjs/extensions/forms/Value/String.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +0 -4
- package/cjs/extensions/forms/Value/index.js +0 -4
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +1 -0
- package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
- package/cjs/extensions/forms/hooks/index.js.map +1 -0
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +91 -56
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/cjs/extensions/forms/index.d.ts +4 -4
- package/cjs/extensions/forms/index.js +20 -12
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +105 -29
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/style/index.d.ts +1 -0
- package/cjs/extensions/forms/style/index.js +4 -0
- package/cjs/extensions/forms/style/index.js.map +1 -0
- package/cjs/extensions/forms/types.d.ts +95 -2
- package/cjs/extensions/forms/types.js +71 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/cjs/extensions/forms/utils/index.d.ts +0 -1
- package/cjs/extensions/forms/utils/index.js +0 -12
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
- package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/cjs/extensions/forms/variables.scss +3 -0
- package/cjs/extensions/lib.d.ts +1 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/cjs/shared/Context.d.ts +2 -0
- 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/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/shared/libs/Shortcuts.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useMedia.js +33 -23
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/style/core/reset.scss +13 -3
- package/cjs/style/core/utilities.scss +3 -1
- package/cjs/style/dnb-ui-components.css +142 -20
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +23 -11
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +112 -36
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/customisations.scss +3 -7
- package/cjs/style/themes/theme-sbanken/properties.js +6 -6
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/fonts.scss +8 -4
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/components/accordion/Accordion.d.ts +1 -1
- package/components/accordion/AccordionHeader.d.ts +4 -4
- package/components/accordion/AccordionHeader.js +18 -5
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +22 -17
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/dnb-accordion.scss +40 -18
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/components/anchor/Anchor.js +1 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +9 -3
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/components/autocomplete/Autocomplete.js +4 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/avatar/style/index.d.ts +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/components/breadcrumb/Breadcrumb.js +2 -2
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/components/checkbox/Checkbox.d.ts +4 -0
- package/components/checkbox/Checkbox.js +6 -4
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/components/drawer/Drawer.d.ts +1 -1
- package/components/drawer/Drawer.js +3 -1
- package/components/drawer/Drawer.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +2 -0
- package/components/form-status/FormStatus.js +70 -53
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/dnb-form-status.scss +4 -2
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/components/global-status/GlobalStatus.d.ts +1 -1
- package/components/global-status/GlobalStatus.js +18 -8
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.scss +2 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/components/heading/Heading.d.ts +8 -8
- package/components/heading/Heading.js +9 -15
- package/components/heading/Heading.js.map +1 -1
- package/components/heading/HeadingHelpers.d.ts +5 -1
- package/components/heading/HeadingHelpers.js +39 -0
- package/components/heading/HeadingHelpers.js.map +1 -1
- package/components/info-card/index.js.map +1 -1
- package/components/info-card/style.js.map +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/components/input-masked/InputMaskedHooks.js +1 -1
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/ModalContent.js +3 -1
- package/components/modal/ModalContent.js.map +1 -1
- package/components/modal/parts/ModalHeaderBar.js +0 -4
- package/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/components/pagination/Pagination.js.map +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/components/radio/Radio.d.ts +4 -0
- package/components/radio/Radio.js +6 -4
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/components/section/Section.d.ts +21 -1
- package/components/section/Section.js +1 -1
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +1 -1
- package/components/section/style/dnb-section.scss +8 -3
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/components/skeleton/style/dnb-skeleton.css +50 -0
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/components/slider/style/dnb-slider.scss +4 -2
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/StepIndicator.d.ts +89 -75
- package/components/step-indicator/StepIndicator.js +29 -25
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/components/step-indicator/StepIndicatorContext.js +98 -120
- package/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/components/step-indicator/StepIndicatorItem.js +177 -227
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/components/step-indicator/StepIndicatorList.js +43 -48
- package/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/components/step-indicator/StepIndicatorModal.js +38 -50
- package/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/components/step-indicator/StepIndicatorProps.js +3 -45
- package/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/switch/Switch.d.ts +4 -0
- package/components/switch/Switch.js +6 -4
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/components/table/TableContainer.js.map +1 -1
- package/components/table/style/table-accordion.scss +18 -6
- package/components/table/style/table-header-buttons.scss +3 -1
- package/components/table/style/table-tr.scss +6 -2
- package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/components/timeline/TimelineItem.d.ts +3 -2
- package/components/timeline/TimelineItem.js +95 -61
- package/components/timeline/TimelineItem.js.map +1 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/components/tooltip/style/dnb-tooltip.css +10 -0
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/elements/lib.d.ts +1 -1
- package/elements/typography/H.d.ts +5 -3
- package/elements/typography/H.js +8 -4
- package/elements/typography/H.js.map +1 -1
- package/elements/typography/H1.js +2 -2
- package/elements/typography/H1.js.map +1 -1
- package/elements/typography/H2.js +2 -2
- package/elements/typography/H2.js.map +1 -1
- package/elements/typography/H3.js +2 -2
- package/elements/typography/H3.js.map +1 -1
- package/elements/typography/H4.js +2 -2
- package/elements/typography/H4.js.map +1 -1
- package/elements/typography/H5.js +2 -2
- package/elements/typography/H5.js.map +1 -1
- package/elements/typography/H6.js +2 -2
- package/elements/typography/H6.js.map +1 -1
- package/elements/typography/style/dnb-typography.scss +3 -0
- package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/elements/typography/style/typography-mixins.scss +5 -0
- package/es/components/accordion/Accordion.d.ts +1 -1
- package/es/components/accordion/AccordionHeader.d.ts +4 -4
- package/es/components/accordion/AccordionHeader.js +18 -5
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +22 -17
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.scss +40 -18
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/es/components/anchor/Anchor.js +1 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +9 -3
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/es/components/autocomplete/Autocomplete.js +4 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/avatar/style/index.d.ts +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/es/components/breadcrumb/Breadcrumb.js +2 -2
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/es/components/checkbox/Checkbox.d.ts +4 -0
- package/es/components/checkbox/Checkbox.js +6 -4
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/es/components/drawer/Drawer.d.ts +1 -1
- package/es/components/drawer/Drawer.js +3 -1
- package/es/components/drawer/Drawer.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +2 -0
- package/es/components/form-status/FormStatus.js +70 -53
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/dnb-form-status.scss +4 -2
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/es/components/global-status/GlobalStatus.d.ts +1 -1
- package/es/components/global-status/GlobalStatus.js +18 -8
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +2 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/es/components/heading/Heading.d.ts +8 -8
- package/es/components/heading/Heading.js +9 -15
- package/es/components/heading/Heading.js.map +1 -1
- package/es/components/heading/HeadingHelpers.d.ts +5 -1
- package/es/components/heading/HeadingHelpers.js +39 -0
- package/es/components/heading/HeadingHelpers.js.map +1 -1
- package/es/components/info-card/index.js.map +1 -1
- package/es/components/info-card/style.js.map +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/es/components/input-masked/InputMaskedHooks.js +1 -1
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +1 -1
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/ModalContent.js +3 -1
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/modal/parts/ModalHeaderBar.js +0 -4
- package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/es/components/radio/Radio.d.ts +4 -0
- package/es/components/radio/Radio.js +6 -4
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/es/components/section/Section.d.ts +21 -1
- package/es/components/section/Section.js +1 -1
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +1 -1
- package/es/components/section/style/dnb-section.scss +8 -3
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/es/components/skeleton/style/dnb-skeleton.css +50 -0
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/es/components/slider/style/dnb-slider.scss +4 -2
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/StepIndicator.d.ts +89 -75
- package/es/components/step-indicator/StepIndicator.js +29 -25
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/es/components/step-indicator/StepIndicatorContext.js +94 -114
- package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/es/components/step-indicator/StepIndicatorItem.js +173 -223
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/es/components/step-indicator/StepIndicatorList.js +43 -48
- package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/es/components/step-indicator/StepIndicatorModal.js +38 -48
- package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/es/components/step-indicator/StepIndicatorProps.js +3 -45
- package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +4 -0
- package/es/components/switch/Switch.js +6 -4
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/es/components/table/TableContainer.js.map +1 -1
- package/es/components/table/style/table-accordion.scss +18 -6
- package/es/components/table/style/table-header-buttons.scss +3 -1
- package/es/components/table/style/table-tr.scss +6 -2
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/es/components/timeline/TimelineItem.d.ts +3 -2
- package/es/components/timeline/TimelineItem.js +89 -58
- package/es/components/timeline/TimelineItem.js.map +1 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/es/components/tooltip/style/dnb-tooltip.css +10 -0
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/es/elements/lib.d.ts +1 -1
- package/es/elements/typography/H.d.ts +5 -3
- package/es/elements/typography/H.js +8 -4
- package/es/elements/typography/H.js.map +1 -1
- package/es/elements/typography/H1.js +2 -2
- package/es/elements/typography/H1.js.map +1 -1
- package/es/elements/typography/H2.js +2 -2
- package/es/elements/typography/H2.js.map +1 -1
- package/es/elements/typography/H3.js +2 -2
- package/es/elements/typography/H3.js.map +1 -1
- package/es/elements/typography/H4.js +2 -2
- package/es/elements/typography/H4.js.map +1 -1
- package/es/elements/typography/H5.js +2 -2
- package/es/elements/typography/H5.js.map +1 -1
- package/es/elements/typography/H6.js +2 -2
- package/es/elements/typography/H6.js.map +1 -1
- package/es/elements/typography/style/dnb-typography.scss +3 -0
- package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/es/elements/typography/style/typography-mixins.scss +5 -0
- package/es/extensions/forms/DataContext/At.d.ts +1 -1
- package/es/extensions/forms/DataContext/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -0
- package/es/extensions/forms/DataContext/Context.js +2 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider.js +7 -3
- package/es/extensions/forms/DataContext/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/index.d.ts +0 -2
- package/es/extensions/forms/DataContext/index.js +0 -2
- package/es/extensions/forms/DataContext/index.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/es/extensions/forms/Field/ArraySelection.js +52 -36
- package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/es/extensions/forms/Field/CountryCode.js +66 -0
- package/es/extensions/forms/Field/CountryCode.js.map +1 -0
- package/es/extensions/forms/Field/Currency.d.ts +2 -3
- package/es/extensions/forms/Field/Currency.js +6 -37
- package/es/extensions/forms/Field/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date.d.ts +2 -3
- package/es/extensions/forms/Field/Date.js +15 -11
- package/es/extensions/forms/Field/Date.js.map +1 -1
- package/es/extensions/forms/Field/Number.d.ts +7 -4
- package/es/extensions/forms/Field/Number.js +47 -24
- package/es/extensions/forms/Field/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option.d.ts +2 -3
- package/es/extensions/forms/Field/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/es/extensions/forms/Field/PhoneNumber.js +46 -43
- package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection.d.ts +6 -5
- package/es/extensions/forms/Field/Selection.js +88 -41
- package/es/extensions/forms/Field/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String.d.ts +3 -4
- package/es/extensions/forms/Field/String.js +29 -17
- package/es/extensions/forms/Field/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle.d.ts +2 -3
- package/es/extensions/forms/Field/Toggle.js +16 -14
- package/es/extensions/forms/Field/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/fields.scss +2 -2
- package/es/extensions/forms/Field/index.d.ts +2 -4
- package/es/extensions/forms/Field/index.js +3 -5
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/es/extensions/forms/Field/style/index.scss +2 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/es/extensions/forms/FieldBlock/FieldBlock.js +80 -16
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/es/extensions/forms/FieldBlock/index.js +3 -1
- package/es/extensions/forms/FieldBlock/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/es/extensions/forms/Form/FormElement.d.ts +4 -0
- package/es/extensions/forms/Form/FormElement.js +31 -0
- package/es/extensions/forms/Form/FormElement.js.map +1 -0
- package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/es/extensions/forms/Form/FormHandler.js +33 -0
- package/es/extensions/forms/Form/FormHandler.js.map +1 -0
- package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/es/extensions/forms/Form/SubmitButton.js +25 -0
- package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +9 -0
- package/es/extensions/forms/Form/index.js +10 -0
- package/es/extensions/forms/Form/index.js.map +1 -0
- package/es/extensions/forms/Iterate/Array.d.ts +17 -0
- package/es/extensions/forms/Iterate/Array.js +80 -0
- package/es/extensions/forms/Iterate/Array.js.map +1 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
- package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/es/extensions/forms/Iterate/index.d.ts +11 -0
- package/es/extensions/forms/Iterate/index.js +12 -0
- package/es/extensions/forms/Iterate/index.js.map +1 -0
- package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/es/extensions/forms/Layout/ButtonRow.js +2 -2
- package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/es/extensions/forms/Layout/Card.d.ts +1 -1
- package/es/extensions/forms/Layout/Card.js +5 -5
- package/es/extensions/forms/Layout/Card.js.map +1 -1
- package/es/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/es/extensions/forms/Layout/FlexContainer.js +6 -5
- package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/es/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/es/extensions/forms/Layout/FlexItem.js +4 -3
- package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/es/extensions/forms/Layout/MainHeading.js +10 -4
- package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/es/extensions/forms/Layout/Section.d.ts +1 -1
- package/es/extensions/forms/Layout/Section.js +2 -2
- package/es/extensions/forms/Layout/Section.js.map +1 -1
- package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/es/extensions/forms/Layout/SubHeading.js +10 -4
- package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/es/extensions/forms/Layout/index.d.ts +0 -2
- package/es/extensions/forms/Layout/index.js +1 -3
- package/es/extensions/forms/Layout/index.js.map +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/Step.js +2 -2
- package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/es/extensions/forms/Value/Boolean.d.ts +2 -3
- package/es/extensions/forms/Value/Boolean.js +4 -4
- package/es/extensions/forms/Value/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Number.d.ts +2 -3
- package/es/extensions/forms/Value/Number.js +5 -4
- package/es/extensions/forms/Value/Number.js.map +1 -1
- package/es/extensions/forms/Value/String.d.ts +2 -3
- package/es/extensions/forms/Value/String.js +4 -4
- package/es/extensions/forms/Value/String.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +0 -4
- package/es/extensions/forms/Value/index.js +0 -4
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/index.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +1 -0
- package/es/extensions/forms/hooks/index.js +1 -0
- package/es/extensions/forms/hooks/index.js.map +1 -0
- package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +90 -55
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/es/extensions/forms/index.d.ts +4 -4
- package/es/extensions/forms/index.js +3 -2
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +105 -29
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/style/index.d.ts +1 -0
- package/es/extensions/forms/style/index.js +1 -0
- package/es/extensions/forms/style/index.js.map +1 -0
- package/es/extensions/forms/types.d.ts +95 -2
- package/es/extensions/forms/types.js +42 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/es/extensions/forms/utils/index.d.ts +0 -1
- package/es/extensions/forms/utils/index.js +0 -1
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/es/extensions/forms/utils/useWasChanged.js +51 -0
- package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/es/extensions/forms/variables.scss +3 -0
- package/es/extensions/lib.d.ts +1 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/es/shared/Context.d.ts +2 -0
- 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/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/shared/libs/Shortcuts.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useMedia.js +30 -21
- package/es/shared/useMedia.js.map +1 -1
- package/es/style/core/reset.scss +13 -3
- package/es/style/core/utilities.scss +3 -1
- package/es/style/dnb-ui-components.css +142 -20
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-elements.css +23 -11
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +112 -36
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/customisations.scss +3 -7
- package/es/style/themes/theme-sbanken/properties.js +6 -6
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/fonts.scss +8 -4
- package/es/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/es/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- 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 +6 -6
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At.d.ts +1 -1
- package/extensions/forms/DataContext/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -0
- package/extensions/forms/DataContext/Context.js +2 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider.js +7 -3
- package/extensions/forms/DataContext/Provider.js.map +1 -1
- package/extensions/forms/DataContext/index.d.ts +0 -2
- package/extensions/forms/DataContext/index.js +0 -2
- package/extensions/forms/DataContext/index.js.map +1 -1
- package/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/extensions/forms/Field/ArraySelection.js +52 -36
- package/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/extensions/forms/Field/CountryCode.js +67 -0
- package/extensions/forms/Field/CountryCode.js.map +1 -0
- package/extensions/forms/Field/Currency.d.ts +2 -3
- package/extensions/forms/Field/Currency.js +6 -38
- package/extensions/forms/Field/Currency.js.map +1 -1
- package/extensions/forms/Field/Date.d.ts +2 -3
- package/extensions/forms/Field/Date.js +15 -11
- package/extensions/forms/Field/Date.js.map +1 -1
- package/extensions/forms/Field/Number.d.ts +7 -4
- package/extensions/forms/Field/Number.js +47 -24
- package/extensions/forms/Field/Number.js.map +1 -1
- package/extensions/forms/Field/Option.d.ts +2 -3
- package/extensions/forms/Field/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/extensions/forms/Field/PhoneNumber.js +46 -45
- package/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection.d.ts +6 -5
- package/extensions/forms/Field/Selection.js +90 -42
- package/extensions/forms/Field/Selection.js.map +1 -1
- package/extensions/forms/Field/String.d.ts +3 -4
- package/extensions/forms/Field/String.js +29 -17
- package/extensions/forms/Field/String.js.map +1 -1
- package/extensions/forms/Field/Toggle.d.ts +2 -3
- package/extensions/forms/Field/Toggle.js +16 -14
- package/extensions/forms/Field/Toggle.js.map +1 -1
- package/extensions/forms/Field/fields.scss +2 -2
- package/extensions/forms/Field/index.d.ts +2 -4
- package/extensions/forms/Field/index.js +3 -5
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/extensions/forms/Field/style/index.scss +2 -0
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/extensions/forms/FieldBlock/FieldBlock.js +86 -16
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/extensions/forms/FieldBlock/index.js +3 -1
- package/extensions/forms/FieldBlock/index.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/extensions/forms/Form/FormElement.d.ts +4 -0
- package/extensions/forms/Form/FormElement.js +31 -0
- package/extensions/forms/Form/FormElement.js.map +1 -0
- package/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/extensions/forms/Form/FormHandler.js +33 -0
- package/extensions/forms/Form/FormHandler.js.map +1 -0
- package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/extensions/forms/Form/SubmitButton.js +25 -0
- package/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +9 -0
- package/extensions/forms/Form/index.js +10 -0
- package/extensions/forms/Form/index.js.map +1 -0
- package/extensions/forms/Iterate/Array.d.ts +17 -0
- package/extensions/forms/Iterate/Array.js +81 -0
- package/extensions/forms/Iterate/Array.js.map +1 -0
- package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
- package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/extensions/forms/Iterate/IterateElementContext.js +4 -0
- package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/extensions/forms/Iterate/index.d.ts +11 -0
- package/extensions/forms/Iterate/index.js +12 -0
- package/extensions/forms/Iterate/index.js.map +1 -0
- package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/extensions/forms/Layout/ButtonRow.js +2 -2
- package/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/extensions/forms/Layout/Card.d.ts +1 -1
- package/extensions/forms/Layout/Card.js +5 -5
- package/extensions/forms/Layout/Card.js.map +1 -1
- package/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/extensions/forms/Layout/FlexContainer.js +6 -5
- package/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/extensions/forms/Layout/FlexItem.js +4 -3
- package/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/extensions/forms/Layout/MainHeading.js +10 -4
- package/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/extensions/forms/Layout/Section.d.ts +1 -1
- package/extensions/forms/Layout/Section.js +2 -2
- package/extensions/forms/Layout/Section.js.map +1 -1
- package/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/extensions/forms/Layout/SubHeading.js +10 -4
- package/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/extensions/forms/Layout/index.d.ts +0 -2
- package/extensions/forms/Layout/index.js +1 -3
- package/extensions/forms/Layout/index.js.map +1 -1
- package/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/extensions/forms/StepsLayout/Step.js +2 -2
- package/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/extensions/forms/Value/Boolean.d.ts +2 -3
- package/extensions/forms/Value/Boolean.js +4 -4
- package/extensions/forms/Value/Boolean.js.map +1 -1
- package/extensions/forms/Value/Number.d.ts +2 -3
- package/extensions/forms/Value/Number.js +5 -4
- package/extensions/forms/Value/Number.js.map +1 -1
- package/extensions/forms/Value/String.d.ts +2 -3
- package/extensions/forms/Value/String.js +4 -4
- package/extensions/forms/Value/String.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +0 -4
- package/extensions/forms/Value/index.js +0 -4
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/index.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +1 -0
- package/extensions/forms/hooks/index.js +1 -0
- package/extensions/forms/hooks/index.js.map +1 -0
- package/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +90 -53
- package/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/extensions/forms/index.d.ts +4 -4
- package/extensions/forms/index.js +3 -2
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +105 -29
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/style/index.d.ts +1 -0
- package/extensions/forms/style/index.js +1 -0
- package/extensions/forms/style/index.js.map +1 -0
- package/extensions/forms/types.d.ts +95 -2
- package/extensions/forms/types.js +60 -0
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/extensions/forms/utils/index.d.ts +0 -1
- package/extensions/forms/utils/index.js +0 -1
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/extensions/forms/utils/useWasChanged.js +56 -0
- package/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/extensions/forms/variables.scss +3 -0
- package/extensions/lib.d.ts +1 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/package.json +2 -1
- package/shared/Context.d.ts +2 -0
- 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/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/shared/libs/Shortcuts.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useMedia.js +33 -23
- package/shared/useMedia.js.map +1 -1
- package/style/core/reset.scss +13 -3
- package/style/core/utilities.scss +3 -1
- package/style/dnb-ui-components.css +142 -20
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-elements.css +23 -11
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +112 -36
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/customisations.scss +3 -7
- package/style/themes/theme-sbanken/properties.js +6 -6
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/fonts.scss +8 -4
- package/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- 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 +6 -6
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
- package/cjs/extensions/forms/Field/FirstName.js +0 -31
- package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
- package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
- package/cjs/extensions/forms/Field/LastName.js +0 -31
- package/cjs/extensions/forms/Field/LastName.js.map +0 -1
- package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
- package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
- package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/cjs/extensions/forms/FieldGroup/index.js +0 -27
- package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
- package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
- package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
- package/cjs/extensions/forms/Value/FirstName.js +0 -28
- package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
- package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
- package/cjs/extensions/forms/Value/LastName.js +0 -28
- package/cjs/extensions/forms/Value/LastName.js.map +0 -1
- package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/cjs/extensions/forms/Value/hooks/index.js +0 -14
- package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
- package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
- package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/cjs/extensions/forms/component-types.d.ts +0 -4
- package/cjs/extensions/forms/component-types.js +0 -1
- package/cjs/extensions/forms/component-types.js.map +0 -1
- package/cjs/extensions/forms/field-types.d.ts +0 -52
- package/cjs/extensions/forms/field-types.js +0 -1
- package/cjs/extensions/forms/field-types.js.map +0 -1
- package/cjs/extensions/forms/utils/components.d.ts +0 -3
- package/cjs/extensions/forms/utils/components.js +0 -32
- package/cjs/extensions/forms/utils/components.js.map +0 -1
- package/cjs/extensions/forms/value-types.d.ts +0 -15
- package/cjs/extensions/forms/value-types.js +0 -1
- package/cjs/extensions/forms/value-types.js.map +0 -1
- package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
- package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/es/extensions/forms/Field/FirstName.d.ts +0 -7
- package/es/extensions/forms/Field/FirstName.js +0 -19
- package/es/extensions/forms/Field/FirstName.js.map +0 -1
- package/es/extensions/forms/Field/LastName.d.ts +0 -7
- package/es/extensions/forms/Field/LastName.js +0 -19
- package/es/extensions/forms/Field/LastName.js.map +0 -1
- package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/es/extensions/forms/Field/hooks/index.js +0 -1
- package/es/extensions/forms/Field/hooks/index.js.map +0 -1
- package/es/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
- package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/es/extensions/forms/FieldGroup/index.js +0 -3
- package/es/extensions/forms/FieldGroup/index.js.map +0 -1
- package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
- package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/es/extensions/forms/Value/FirstName.d.ts +0 -7
- package/es/extensions/forms/Value/FirstName.js +0 -16
- package/es/extensions/forms/Value/FirstName.js.map +0 -1
- package/es/extensions/forms/Value/LastName.d.ts +0 -7
- package/es/extensions/forms/Value/LastName.js +0 -16
- package/es/extensions/forms/Value/LastName.js.map +0 -1
- package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/es/extensions/forms/Value/hooks/index.js +0 -1
- package/es/extensions/forms/Value/hooks/index.js.map +0 -1
- package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/es/extensions/forms/Value/hooks/useValue.js +0 -22
- package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/es/extensions/forms/component-types.d.ts +0 -4
- package/es/extensions/forms/component-types.js +0 -1
- package/es/extensions/forms/component-types.js.map +0 -1
- package/es/extensions/forms/field-types.d.ts +0 -52
- package/es/extensions/forms/field-types.js +0 -1
- package/es/extensions/forms/field-types.js.map +0 -1
- package/es/extensions/forms/utils/components.d.ts +0 -3
- package/es/extensions/forms/utils/components.js +0 -23
- package/es/extensions/forms/utils/components.js.map +0 -1
- package/es/extensions/forms/value-types.d.ts +0 -15
- package/es/extensions/forms/value-types.js +0 -1
- package/es/extensions/forms/value-types.js.map +0 -1
- package/extensions/forms/DataContext/SubmitButton.js +0 -20
- package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/extensions/forms/Field/FirstName.d.ts +0 -7
- package/extensions/forms/Field/FirstName.js +0 -19
- package/extensions/forms/Field/FirstName.js.map +0 -1
- package/extensions/forms/Field/LastName.d.ts +0 -7
- package/extensions/forms/Field/LastName.js +0 -19
- package/extensions/forms/Field/LastName.js.map +0 -1
- package/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/extensions/forms/Field/hooks/index.js +0 -1
- package/extensions/forms/Field/hooks/index.js.map +0 -1
- package/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
- package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/extensions/forms/FieldGroup/index.js +0 -3
- package/extensions/forms/FieldGroup/index.js.map +0 -1
- package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/extensions/forms/Layout/InfoCardSection.js +0 -17
- package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/extensions/forms/Value/FirstName.d.ts +0 -7
- package/extensions/forms/Value/FirstName.js +0 -16
- package/extensions/forms/Value/FirstName.js.map +0 -1
- package/extensions/forms/Value/LastName.d.ts +0 -7
- package/extensions/forms/Value/LastName.js +0 -16
- package/extensions/forms/Value/LastName.js.map +0 -1
- package/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/extensions/forms/Value/hooks/index.js +0 -1
- package/extensions/forms/Value/hooks/index.js.map +0 -1
- package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/extensions/forms/Value/hooks/useValue.js +0 -22
- package/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/extensions/forms/component-types.d.ts +0 -4
- package/extensions/forms/component-types.js +0 -1
- package/extensions/forms/component-types.js.map +0 -1
- package/extensions/forms/field-types.d.ts +0 -52
- package/extensions/forms/field-types.js +0 -1
- package/extensions/forms/field-types.js.map +0 -1
- package/extensions/forms/utils/components.d.ts +0 -3
- package/extensions/forms/utils/components.js +0 -23
- package/extensions/forms/utils/components.js.map +0 -1
- package/extensions/forms/value-types.d.ts +0 -15
- package/extensions/forms/value-types.js +0 -1
- package/extensions/forms/value-types.js.map +0 -1
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.correctInternalHeadingLevel = void 0;
|
|
7
7
|
exports.debugCounter = debugCounter;
|
|
8
|
-
exports.globalSyncCounter = exports.globalResetNextTime = exports.globalNextLevel = exports.globalHeadingCounter = void 0;
|
|
8
|
+
exports.globalSyncCounter = exports.globalResetNextTime = exports.globalNextLevel = exports.globalHeadingCounter = exports.getHeadingSize = exports.getHeadingElement = void 0;
|
|
9
9
|
exports.resetAllLevels = resetAllLevels;
|
|
10
10
|
exports.resetLevels = resetLevels;
|
|
11
11
|
exports.setNextLevel = setNextLevel;
|
|
@@ -196,4 +196,45 @@ function debugCounter(counter) {
|
|
|
196
196
|
contextLEntry: counter.contextCounter.entry
|
|
197
197
|
}, null, 2);
|
|
198
198
|
}
|
|
199
|
+
const getHeadingSize = theme => {
|
|
200
|
+
switch (theme) {
|
|
201
|
+
case 'sbanken':
|
|
202
|
+
return {
|
|
203
|
+
1: 'xx-large',
|
|
204
|
+
2: 'x-large',
|
|
205
|
+
3: 'large',
|
|
206
|
+
4: 'medium',
|
|
207
|
+
5: 'basis',
|
|
208
|
+
6: 'small'
|
|
209
|
+
};
|
|
210
|
+
case 'ui':
|
|
211
|
+
default:
|
|
212
|
+
return {
|
|
213
|
+
1: 'xx-large',
|
|
214
|
+
2: 'large',
|
|
215
|
+
3: 'medium',
|
|
216
|
+
4: 'basis',
|
|
217
|
+
5: 'small',
|
|
218
|
+
6: 'x-small'
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
exports.getHeadingSize = getHeadingSize;
|
|
223
|
+
const getHeadingElement = level => {
|
|
224
|
+
switch (level) {
|
|
225
|
+
case 1:
|
|
226
|
+
return 'h1';
|
|
227
|
+
case 2:
|
|
228
|
+
return 'h2';
|
|
229
|
+
case 3:
|
|
230
|
+
return 'h3';
|
|
231
|
+
case 4:
|
|
232
|
+
return 'h4';
|
|
233
|
+
case 5:
|
|
234
|
+
return 'h5';
|
|
235
|
+
case 6:
|
|
236
|
+
return 'h6';
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
exports.getHeadingElement = getHeadingElement;
|
|
199
240
|
//# sourceMappingURL=HeadingHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingHelpers.js","names":["_componentHelper","require","globalSyncCounter","current","exports","globalHeadingCounter","refs","correctInternalHeadingLevel","_ref","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","_len","arguments","length","reports","Array","_key","props","identifiers","id","className","filter","Boolean","join","convertJsxToString","warn","resetAllLevels","countHeadings","resetLevels","teardownHeadings","undefined","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport { HeadingAllProps, InternalHeadingLevel } from './Heading'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeadingHelpers.js","names":["_componentHelper","require","globalSyncCounter","current","exports","globalHeadingCounter","refs","correctInternalHeadingLevel","_ref","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","_len","arguments","length","reports","Array","_key","props","identifiers","id","className","filter","Boolean","join","convertJsxToString","warn","resetAllLevels","countHeadings","resetLevels","teardownHeadings","undefined","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry","getHeadingSize","theme","getHeadingElement"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport {\n HeadingAllProps,\n InternalHeadingLevel,\n HeadingLevelSizeResolutions,\n} from './Heading'\nimport { ThemeNames } from '../../shared'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { DynamicElement } from '../../shared/types'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n\nexport const getHeadingSize = (\n theme: ThemeNames\n): HeadingLevelSizeResolutions => {\n switch (theme) {\n case 'sbanken':\n return {\n 1: 'xx-large',\n 2: 'x-large',\n 3: 'large',\n 4: 'medium',\n 5: 'basis',\n 6: 'small',\n }\n case 'ui':\n default:\n return {\n 1: 'xx-large',\n 2: 'large',\n 3: 'medium',\n 4: 'basis',\n 5: 'small',\n 6: 'x-small',\n }\n }\n}\n\nexport const getHeadingElement = (\n level: InternalHeadingLevel\n): DynamicElement => {\n switch (level) {\n case 1:\n return 'h1'\n case 2:\n return 'h2'\n case 3:\n return 'h3'\n case 4:\n return 'h4'\n case 5:\n return 'h5'\n case 6:\n return 'h6'\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_InfoCard","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\
|
|
1
|
+
{"version":3,"file":"index.js","names":["_InfoCard","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","_default","InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nimport InfoCard from './InfoCard'\nexport default InfoCard\nexport * from './InfoCard'\n"],"mappings":";;;;;;;AAKA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAJ,SAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,SAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,SAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAA0B,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAAA,IAAAK,QAAA,GADXC,iBAAQ;AAAApB,OAAA,CAAAW,OAAA,GAAAQ,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":["require"],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\
|
|
1
|
+
{"version":3,"file":"style.js","names":["require"],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './style/dnb-info-card.scss'\n"],"mappings":";;AAKAA,OAAA"}
|
|
@@ -82,7 +82,7 @@ html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-b
|
|
|
82
82
|
.dnb-input[data-input-state=focus] .dnb-input__placeholder {
|
|
83
83
|
display: none;
|
|
84
84
|
}
|
|
85
|
-
.dnb-input--keep-placeholder
|
|
85
|
+
.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder {
|
|
86
86
|
display: block;
|
|
87
87
|
color: var(--color-black-20);
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder
|
|
1
|
+
.dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
|
|
@@ -69,9 +69,15 @@
|
|
|
69
69
|
|
|
70
70
|
&__status--error &__submit-button {
|
|
71
71
|
html:not([data-whatintent='touch'])
|
|
72
|
-
&__button.dnb-button--secondary:not(
|
|
72
|
+
&__button.dnb-button--secondary:not(
|
|
73
|
+
&__button--has-text,
|
|
74
|
+
[disabled]
|
|
75
|
+
):hover,
|
|
73
76
|
html:not([data-whatintent='touch'])
|
|
74
|
-
&__button.dnb-button--secondary:not(
|
|
77
|
+
&__button.dnb-button--secondary:not(
|
|
78
|
+
&__button--has-text,
|
|
79
|
+
[disabled]
|
|
80
|
+
):focus {
|
|
75
81
|
&,
|
|
76
82
|
&::after {
|
|
77
83
|
background-color: var(--color-fire-red);
|
|
@@ -101,7 +107,7 @@
|
|
|
101
107
|
display: none;
|
|
102
108
|
}
|
|
103
109
|
|
|
104
|
-
&--keep-placeholder
|
|
110
|
+
&--keep-placeholder[data-input-state='focus'] &__placeholder {
|
|
105
111
|
display: block;
|
|
106
112
|
color: var(--color-black-20);
|
|
107
113
|
}
|
|
@@ -290,7 +290,7 @@ const useCallEvent = _ref2 => {
|
|
|
290
290
|
num = -0;
|
|
291
291
|
}
|
|
292
292
|
const numberValue = Number(num);
|
|
293
|
-
const cleanedValue = numberValue === 0 ? '' : num;
|
|
293
|
+
const cleanedValue = numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num;
|
|
294
294
|
if (name === 'on_change' && numberValue === 0) {
|
|
295
295
|
(0, _InputMaskedUtils.correctCaretPosition)(event.target, maskParams, props);
|
|
296
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useFilteredProps","props","React","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useEffect","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","inputMode","getInputModeFromMask","inputRef","inputElement","guide","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","correctCaretPosition","result","dispatchCustomElementEvent","selectall","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","getCurrencySymbol","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getInputModeFromMask,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n // Set \"inputMode\"\n if (!params.inputMode) {\n params.inputMode = getInputModeFromMask(mask)\n }\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // We may have to check against a negative value: && 1 / +0 === 1 / numberValue\n const cleanedValue = numberValue === 0 ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n correctCaretPosition(event.target, maskParams, props)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n ...number_mask,\n }\n } else if (as_currency) {\n currency_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n ...currency_mask,\n }\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useFilteredProps","props","React","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useLocale","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useEffect","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","useLayoutEffect","current","inputElementRef","createElement","InputElement","params","innerRef","inputMode","getInputModeFromMask","inputRef","inputElement","guide","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","charAt","correctCaretPosition","result","dispatchCustomElementEvent","selectall","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","getCurrencySymbol","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getInputModeFromMask,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useLocale = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useLocale()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n React.useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [ref.current])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n // Set \"inputMode\"\n if (!params.inputMode) {\n params.inputMode = getInputModeFromMask(mask)\n }\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n if (name === 'on_change' && numberValue === 0) {\n correctCaretPosition(event.target, maskParams, props)\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n if (\n (name === 'on_focus' || name === 'on_mouse_up') &&\n !props.selectall\n ) {\n // Also correct here, because of additional click inside the field\n correctCaretPosition(event.target, maskParams, props)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useLocale()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n\n const { as_number, as_percent, as_currency } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n ...number_mask,\n }\n } else if (as_currency) {\n currency_mask = {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null\n ),\n ...currency_mask,\n }\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = props.value === null ? null : String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
|