@dnb/eufemia 10.6.0 → 10.8.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 +55 -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.d.ts +1 -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 +23 -1
- 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/dnb-button--tertiary.css +53 -37
- package/cjs/components/button/style/dnb-button--tertiary.min.css +5 -1
- package/cjs/components/button/style/dnb-button--tertiary.scss +28 -34
- package/cjs/components/button/style/themes/button-mixins.scss +5 -3
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +53 -37
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
- 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/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-label/style/dnb-form-label.css +0 -1
- package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
- package/cjs/components/form-label/style/dnb-form-label.scss +0 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
- package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
- package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
- package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
- 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-sbanken.css +20 -20
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
- 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/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/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/pagination/style/dnb-pagination.css +20 -0
- package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
- package/cjs/components/pagination/style/dnb-pagination.scss +24 -0
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
- package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
- 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 +26 -1
- package/cjs/components/section/Section.js +3 -2
- 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.css +39 -0
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +28 -13
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
- package/cjs/components/skeleton/style/dnb-skeleton.scss +8 -5
- 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-sbanken.css +56 -7
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
- 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/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 +12 -2
- package/cjs/elements/typography/style/typography-mixins.scss +5 -0
- package/cjs/extensions/forms/DataContext/Provider.js +9 -9
- package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/index.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/cjs/extensions/forms/Field/ArraySelection.js +52 -32
- package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/cjs/extensions/forms/Field/CountryCode.js +78 -0
- package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
- package/cjs/extensions/forms/Field/Currency.d.ts +2 -2
- 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 -2
- package/cjs/extensions/forms/Field/Date.js +10 -6
- package/cjs/extensions/forms/Field/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Number.d.ts +7 -3
- package/cjs/extensions/forms/Field/Number.js +48 -22
- package/cjs/extensions/forms/Field/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/cjs/extensions/forms/Field/PhoneNumber.js +43 -42
- package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection.d.ts +6 -4
- package/cjs/extensions/forms/Field/Selection.js +88 -37
- package/cjs/extensions/forms/Field/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String.d.ts +3 -3
- package/cjs/extensions/forms/Field/String.js +32 -17
- package/cjs/extensions/forms/Field/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle.js +11 -9
- package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/fields.scss +2 -2
- package/cjs/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/cjs/extensions/forms/Field/hooks/useField.js +34 -33
- package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/index.js +3 -1
- 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 +6 -7
- package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +7 -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.d.ts +2 -1
- package/cjs/extensions/forms/Field/style/index.js +2 -1
- package/cjs/extensions/forms/Field/style/index.js.map +1 -1
- package/cjs/extensions/forms/Field/style/index.scss +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +19 -9
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
- package/cjs/extensions/forms/FieldGroup/index.js.map +1 -1
- package/cjs/extensions/forms/Layout/Card.js +2 -2
- package/cjs/extensions/forms/Layout/Card.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/cjs/extensions/forms/Layout/FlexContainer.js +5 -3
- package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/cjs/extensions/forms/Layout/FlexItem.js +2 -1
- package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/cjs/extensions/forms/Layout/SubHeading.js +2 -1
- package/cjs/extensions/forms/Layout/SubHeading.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/StepsLayout.js +1 -1
- 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/ValueBlock/index.js.map +1 -1
- package/cjs/extensions/forms/field-types.d.ts +7 -1
- package/cjs/extensions/forms/field-types.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +112 -42
- 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/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/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 -0
- package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -2
- package/cjs/extensions/payment-card/PaymentCard.js +13 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/icons/CardIn.d.ts +2 -0
- package/cjs/extensions/payment-card/icons/CardIn.js +26 -0
- package/cjs/extensions/payment-card/icons/CardIn.js.map +1 -0
- package/cjs/extensions/payment-card/icons/index.js +4 -1
- package/cjs/extensions/payment-card/icons/index.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +2 -2
- 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 +2 -0
- package/cjs/shared/locales/en-GB.js +3 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +2 -0
- package/cjs/shared/locales/index.d.ts +4 -0
- package/cjs/shared/locales/nb-NO.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.js +3 -1
- package/cjs/shared/locales/nb-NO.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 +42 -19
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +6 -0
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +115 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/customisations.scss +0 -8
- 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 +27 -26
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
- 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 +6 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +136 -98
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +115 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
- 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.d.ts +1 -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 +23 -1
- 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/dnb-button--tertiary.css +53 -37
- package/components/button/style/dnb-button--tertiary.min.css +5 -1
- package/components/button/style/dnb-button--tertiary.scss +28 -34
- package/components/button/style/themes/button-mixins.scss +5 -3
- package/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
- package/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
- package/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
- package/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
- package/components/button/style/themes/dnb-button-theme-ui.css +53 -37
- package/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
- 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/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-label/style/dnb-form-label.css +0 -1
- package/components/form-label/style/dnb-form-label.min.css +1 -1
- package/components/form-label/style/dnb-form-label.scss +0 -1
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
- package/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
- package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
- package/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
- package/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
- package/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
- 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-sbanken.css +20 -20
- package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
- 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/InputMaskedUtils.js +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/modal/Modal.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/pagination/style/dnb-pagination.css +20 -0
- package/components/pagination/style/dnb-pagination.min.css +1 -1
- package/components/pagination/style/dnb-pagination.scss +24 -0
- package/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
- package/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
- package/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
- package/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
- package/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
- package/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
- 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 +26 -1
- package/components/section/Section.js +3 -2
- 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.css +39 -0
- package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
- package/components/section/style/themes/dnb-section-theme-ui.css +28 -13
- package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
- package/components/skeleton/style/dnb-skeleton.scss +8 -5
- 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-sbanken.css +56 -7
- package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
- 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/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 +12 -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.d.ts +1 -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 +23 -1
- 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/dnb-button--tertiary.css +53 -37
- package/es/components/button/style/dnb-button--tertiary.min.css +5 -1
- package/es/components/button/style/dnb-button--tertiary.scss +28 -34
- package/es/components/button/style/themes/button-mixins.scss +5 -3
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
- package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
- package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
- package/es/components/button/style/themes/dnb-button-theme-ui.css +53 -37
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
- 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/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-label/style/dnb-form-label.css +0 -1
- package/es/components/form-label/style/dnb-form-label.min.css +1 -1
- package/es/components/form-label/style/dnb-form-label.scss +0 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
- package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
- package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
- package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
- 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-sbanken.css +20 -20
- package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
- 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/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/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/pagination/style/dnb-pagination.css +20 -0
- package/es/components/pagination/style/dnb-pagination.min.css +1 -1
- package/es/components/pagination/style/dnb-pagination.scss +24 -0
- package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
- package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
- package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
- package/es/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
- package/es/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
- package/es/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
- 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 +26 -1
- package/es/components/section/Section.js +3 -2
- 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.css +39 -0
- package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
- package/es/components/section/style/themes/dnb-section-theme-ui.css +28 -13
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
- package/es/components/skeleton/style/dnb-skeleton.scss +8 -5
- 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-sbanken.css +56 -7
- package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
- 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/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 +12 -2
- package/es/elements/typography/style/typography-mixins.scss +5 -0
- package/es/extensions/forms/DataContext/Provider.js +9 -9
- package/es/extensions/forms/DataContext/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/index.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/es/extensions/forms/Field/ArraySelection.js +49 -33
- package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/es/extensions/forms/Field/CountryCode.js +67 -0
- package/es/extensions/forms/Field/CountryCode.js.map +1 -0
- package/es/extensions/forms/Field/Currency.d.ts +2 -2
- 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 -2
- package/es/extensions/forms/Field/Date.js +11 -7
- package/es/extensions/forms/Field/Date.js.map +1 -1
- package/es/extensions/forms/Field/Number.d.ts +7 -3
- package/es/extensions/forms/Field/Number.js +47 -23
- package/es/extensions/forms/Field/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/es/extensions/forms/Field/PhoneNumber.js +44 -41
- package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.js +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection.d.ts +6 -4
- package/es/extensions/forms/Field/Selection.js +86 -38
- package/es/extensions/forms/Field/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String.d.ts +3 -3
- package/es/extensions/forms/Field/String.js +33 -18
- package/es/extensions/forms/Field/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle.js +11 -9
- package/es/extensions/forms/Field/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/fields.scss +2 -2
- package/es/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/es/extensions/forms/Field/hooks/useField.js +34 -31
- package/es/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +2 -0
- package/es/extensions/forms/Field/index.js +3 -1
- 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 +6 -7
- package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-phone-number.scss +7 -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.d.ts +2 -1
- package/es/extensions/forms/Field/style/index.js +2 -1
- package/es/extensions/forms/Field/style/index.js.map +1 -1
- package/es/extensions/forms/Field/style/index.scss +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +19 -9
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
- package/es/extensions/forms/FieldGroup/index.js.map +1 -1
- package/es/extensions/forms/Layout/Card.js +2 -2
- package/es/extensions/forms/Layout/Card.js.map +1 -1
- package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/es/extensions/forms/Layout/FlexContainer.js +5 -3
- package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/es/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/es/extensions/forms/Layout/FlexItem.js +2 -1
- package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/es/extensions/forms/Layout/SubHeading.js +2 -1
- package/es/extensions/forms/Layout/SubHeading.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/StepsLayout.js +1 -1
- 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/ValueBlock/index.js.map +1 -1
- package/es/extensions/forms/field-types.d.ts +7 -1
- package/es/extensions/forms/field-types.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +112 -42
- 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/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/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 -0
- package/es/extensions/payment-card/PaymentCard.d.ts +6 -2
- package/es/extensions/payment-card/PaymentCard.js +13 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/icons/CardIn.d.ts +2 -0
- package/es/extensions/payment-card/icons/CardIn.js +18 -0
- package/es/extensions/payment-card/icons/CardIn.js.map +1 -0
- package/es/extensions/payment-card/icons/index.js +4 -1
- package/es/extensions/payment-card/icons/index.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +2 -2
- 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 +2 -0
- package/es/shared/locales/en-GB.js +3 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +2 -0
- package/es/shared/locales/index.d.ts +4 -0
- package/es/shared/locales/nb-NO.d.ts +2 -0
- package/es/shared/locales/nb-NO.js +3 -1
- package/es/shared/locales/nb-NO.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 +42 -19
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-elements.css +6 -0
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +115 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/customisations.scss +0 -8
- 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 +27 -26
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
- 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 +6 -0
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +136 -98
- package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -1
- package/es/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +115 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
- 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/Provider.js +9 -9
- package/extensions/forms/DataContext/Provider.js.map +1 -1
- package/extensions/forms/DataContext/index.js.map +1 -1
- package/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/extensions/forms/Field/ArraySelection.js +49 -33
- package/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/extensions/forms/Field/CountryCode.js +68 -0
- package/extensions/forms/Field/CountryCode.js.map +1 -0
- package/extensions/forms/Field/Currency.d.ts +2 -2
- 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 -2
- package/extensions/forms/Field/Date.js +11 -7
- package/extensions/forms/Field/Date.js.map +1 -1
- package/extensions/forms/Field/Number.d.ts +7 -3
- package/extensions/forms/Field/Number.js +47 -23
- package/extensions/forms/Field/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/extensions/forms/Field/PhoneNumber.js +44 -43
- package/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.js +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection.d.ts +6 -4
- package/extensions/forms/Field/Selection.js +88 -39
- package/extensions/forms/Field/Selection.js.map +1 -1
- package/extensions/forms/Field/String.d.ts +3 -3
- package/extensions/forms/Field/String.js +33 -18
- package/extensions/forms/Field/String.js.map +1 -1
- package/extensions/forms/Field/Toggle.js +11 -9
- package/extensions/forms/Field/Toggle.js.map +1 -1
- package/extensions/forms/Field/fields.scss +2 -2
- package/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/extensions/forms/Field/hooks/useField.js +34 -33
- package/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +2 -0
- package/extensions/forms/Field/index.js +3 -1
- 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 +6 -7
- package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/style/dnb-phone-number.scss +7 -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.d.ts +2 -1
- package/extensions/forms/Field/style/index.js +2 -1
- package/extensions/forms/Field/style/index.js.map +1 -1
- package/extensions/forms/Field/style/index.scss +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +19 -9
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/index.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
- package/extensions/forms/FieldGroup/index.js.map +1 -1
- package/extensions/forms/Layout/Card.js +2 -2
- package/extensions/forms/Layout/Card.js.map +1 -1
- package/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/extensions/forms/Layout/FlexContainer.js +5 -3
- package/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/extensions/forms/Layout/FlexItem.js +2 -1
- package/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/extensions/forms/Layout/SubHeading.js +2 -1
- package/extensions/forms/Layout/SubHeading.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/StepsLayout.js +1 -1
- 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/ValueBlock/index.js.map +1 -1
- package/extensions/forms/field-types.d.ts +7 -1
- package/extensions/forms/field-types.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +112 -42
- 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/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/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 -0
- package/extensions/payment-card/PaymentCard.d.ts +6 -2
- package/extensions/payment-card/PaymentCard.js +13 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/icons/CardIn.d.ts +2 -0
- package/extensions/payment-card/icons/CardIn.js +18 -0
- package/extensions/payment-card/icons/CardIn.js.map +1 -0
- package/extensions/payment-card/icons/index.js +4 -1
- package/extensions/payment-card/icons/index.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +3 -2
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +2 -2
- 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 +1 -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 +2 -0
- package/shared/locales/en-GB.js +3 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +2 -0
- package/shared/locales/index.d.ts +4 -0
- package/shared/locales/nb-NO.d.ts +2 -0
- package/shared/locales/nb-NO.js +3 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/reset.scss +13 -3
- package/style/core/utilities.scss +3 -1
- package/style/dnb-ui-components.css +42 -19
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-elements.css +6 -0
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +115 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/customisations.scss +0 -8
- 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 +27 -26
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
- 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 +6 -0
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +136 -98
- package/style/themes/theme-ui/ui-theme-components.min.css +7 -1
- package/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +115 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +3 -0
- 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/Field/style/dnb-number.css +0 -11
- package/cjs/extensions/forms/Field/style/dnb-number.min.css +0 -1
- package/cjs/extensions/forms/Field/style/dnb-number.scss +0 -19
- package/cjs/extensions/forms/Field/style/dnb-string.css +0 -11
- package/cjs/extensions/forms/Field/style/dnb-string.min.css +0 -1
- package/cjs/extensions/forms/Field/style/dnb-string.scss +0 -19
- package/es/extensions/forms/Field/style/dnb-number.css +0 -11
- package/es/extensions/forms/Field/style/dnb-number.min.css +0 -1
- package/es/extensions/forms/Field/style/dnb-number.scss +0 -19
- package/es/extensions/forms/Field/style/dnb-string.css +0 -11
- package/es/extensions/forms/Field/style/dnb-string.min.css +0 -1
- package/es/extensions/forms/Field/style/dnb-string.scss +0 -19
- package/extensions/forms/Field/style/dnb-number.css +0 -11
- package/extensions/forms/Field/style/dnb-number.min.css +0 -1
- package/extensions/forms/Field/style/dnb-number.scss +0 -19
- package/extensions/forms/Field/style/dnb-string.css +0 -11
- package/extensions/forms/Field/style/dnb-string.min.css +0 -1
- package/extensions/forms/Field/style/dnb-string.scss +0 -19
|
@@ -20,14 +20,14 @@ export default function Provider(_ref) {
|
|
|
20
20
|
children
|
|
21
21
|
} = _ref;
|
|
22
22
|
const ajvSchemaValidator = useMemo(() => schema ? ajv.compile(schema) : undefined, [schema]);
|
|
23
|
-
const internalData =
|
|
23
|
+
const [internalData, setInternalData] = useState(externalData);
|
|
24
24
|
const mountedFieldPathsRef = useRef([]);
|
|
25
25
|
const errorsRef = useRef({});
|
|
26
26
|
const [showAllErrors, setShowAllErrors] = useState(false);
|
|
27
27
|
const pathsWithErrorRef = useRef([]);
|
|
28
28
|
const hasErrors = useCallback(() => Boolean(mountedFieldPathsRef.current.find(mountedFieldPath => errorsRef.current[mountedFieldPath] !== undefined || pathsWithErrorRef.current.includes(mountedFieldPath))), []);
|
|
29
29
|
useEffect(() => {
|
|
30
|
-
|
|
30
|
+
setInternalData(externalData);
|
|
31
31
|
}, [externalData]);
|
|
32
32
|
const validateBySchema = useCallback(data => {
|
|
33
33
|
if (!ajvSchemaValidator) {
|
|
@@ -48,15 +48,15 @@ export default function Provider(_ref) {
|
|
|
48
48
|
}, []);
|
|
49
49
|
const handlePathChange = useCallback((path, value) => {
|
|
50
50
|
onPathChange === null || onPathChange === void 0 ? void 0 : onPathChange(path, value);
|
|
51
|
-
const newData = structuredClone(internalData
|
|
51
|
+
const newData = structuredClone(internalData);
|
|
52
52
|
if (path) {
|
|
53
53
|
pointer.set(newData, path, value);
|
|
54
54
|
}
|
|
55
55
|
onChange === null || onChange === void 0 ? void 0 : onChange(newData);
|
|
56
56
|
validateBySchemaAndUpdateState(newData);
|
|
57
|
-
|
|
57
|
+
setInternalData(newData);
|
|
58
58
|
setShowAllErrors(false);
|
|
59
|
-
}, [onChange, onPathChange, validateBySchemaAndUpdateState]);
|
|
59
|
+
}, [internalData, onChange, onPathChange, validateBySchemaAndUpdateState]);
|
|
60
60
|
const handleMountField = useCallback(path => {
|
|
61
61
|
mountedFieldPathsRef.current = addListPath(mountedFieldPathsRef.current, path);
|
|
62
62
|
}, []);
|
|
@@ -65,7 +65,7 @@ export default function Provider(_ref) {
|
|
|
65
65
|
}, []);
|
|
66
66
|
const handleSubmit = useCallback(() => {
|
|
67
67
|
if (!hasErrors()) {
|
|
68
|
-
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(internalData
|
|
68
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(internalData);
|
|
69
69
|
if (scrollTopOnSubmit) {
|
|
70
70
|
var _window;
|
|
71
71
|
window && ((_window = window) === null || _window === void 0 ? void 0 : _window.scrollTo({
|
|
@@ -77,8 +77,8 @@ export default function Provider(_ref) {
|
|
|
77
77
|
setShowAllErrors(true);
|
|
78
78
|
onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
|
|
79
79
|
}
|
|
80
|
-
return internalData
|
|
81
|
-
}, [scrollTopOnSubmit, hasErrors, onSubmit, onSubmitRequest]);
|
|
80
|
+
return internalData;
|
|
81
|
+
}, [internalData, scrollTopOnSubmit, hasErrors, onSubmit, onSubmitRequest]);
|
|
82
82
|
useEffect(() => {
|
|
83
83
|
if (externalData) {
|
|
84
84
|
validateBySchemaAndUpdateState(externalData);
|
|
@@ -86,7 +86,7 @@ export default function Provider(_ref) {
|
|
|
86
86
|
}, []);
|
|
87
87
|
return React.createElement(Context.Provider, {
|
|
88
88
|
value: {
|
|
89
|
-
data: internalData
|
|
89
|
+
data: internalData,
|
|
90
90
|
handlePathChange,
|
|
91
91
|
handleSubmit,
|
|
92
92
|
errors: errorsRef.current,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","names":["React","useEffect","useRef","useMemo","useCallback","useState","pointer","ajv","ajvErrorsToFormErrors","Context","addListPath","paths","path","includes","concat","removeListPath","filter","thisPath","Provider","_ref","data","externalData","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","children","ajvSchemaValidator","compile","undefined","internalData","mountedFieldPathsRef","errorsRef","showAllErrors","setShowAllErrors","pathsWithErrorRef","hasErrors","Boolean","current","find","mountedFieldPath","validateBySchema","errors","validateBySchemaAndUpdateState","setPathWithError","hasError","handlePathChange","value","newData","structuredClone","set","handleMountField","handleUnMountField","handleSubmit","_window","window","scrollTo","top","behavior","createElement","mountedFieldPaths"],"sources":["../../../../../src/extensions/forms/DataContext/Provider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useState,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { JSONSchema7 } from 'json-schema'\nimport ajv, { ajvErrorsToFormErrors } from '../utils/ajv'\nimport { FormError } from '../types'\nimport Context from './Context'\n\nexport interface Props<Data extends JsonObject> {\n data: Partial<Data>\n /** JSON Schema for validating the data, like during input or after attempting submit */\n schema?: JSONSchema7\n /** Change handler for the whole data set */\n onChange?: (data: Data) => void\n /** Change handler for each value */\n onPathChange?: (path: string, value: any) => void\n /** Submit called, data was valid (if validation available) */\n onSubmit?: (data: Data) => void\n /** Submit was requested, but data was invalid */\n onSubmitRequest?: () => void\n scrollTopOnSubmit?: boolean\n children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: string): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: string): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nexport default function Provider<Data extends JsonObject>({\n data: externalData,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n children,\n}: Props<Data>) {\n const ajvSchemaValidator = useMemo(\n () => (schema ? ajv.compile(schema) : undefined),\n [schema]\n )\n const internalData = useRef<Partial<Data>>(externalData)\n const mountedFieldPathsRef = useRef<string[]>([])\n\n // Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError>>({})\n const [showAllErrors, setShowAllErrors] = useState<boolean>(false)\n // Errors reported by fields, based on their direct validation rules\n const pathsWithErrorRef = useRef<string[]>([])\n\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find(\n (mountedFieldPath) =>\n errorsRef.current[mountedFieldPath] !== undefined ||\n pathsWithErrorRef.current.includes(mountedFieldPath)\n )\n ),\n []\n )\n\n useEffect(() => {\n // When receivint the initial data, or receiving updated data by props, update the internal data (controlled state)\n internalData.current = externalData\n }, [externalData])\n\n const validateBySchema = useCallback(\n (data: Partial<Data>): Record<string, Error> | undefined => {\n if (!ajvSchemaValidator) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvSchemaValidator(data)) {\n // Errors found\n const errors = ajvErrorsToFormErrors(ajvSchemaValidator.errors)\n return errors\n } else {\n return\n }\n },\n [ajvSchemaValidator]\n )\n\n const validateBySchemaAndUpdateState = useCallback(\n (data: Partial<Data>) => {\n errorsRef.current = validateBySchema(data) ?? {}\n },\n [validateBySchema]\n )\n\n const setPathWithError = useCallback(\n (path: string, hasError: boolean) => {\n pathsWithErrorRef.current = hasError\n ? addListPath(pathsWithErrorRef.current, path)\n : removeListPath(pathsWithErrorRef.current, path)\n },\n []\n )\n\n const handlePathChange = useCallback(\n (path, value) => {\n onPathChange?.(path, value)\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n const newData = structuredClone(internalData.current) as Data\n if (path) {\n pointer.set(newData, path, value)\n }\n onChange?.(newData)\n\n validateBySchemaAndUpdateState(newData)\n\n internalData.current = newData\n\n setShowAllErrors(false)\n },\n [onChange, onPathChange, validateBySchemaAndUpdateState]\n )\n\n // Mounted fields\n const handleMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback(() => {\n if (!hasErrors()) {\n onSubmit?.(internalData.current as Data)\n if (scrollTopOnSubmit) {\n window && window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n setShowAllErrors(true)\n onSubmitRequest?.()\n }\n return internalData.current\n }, [scrollTopOnSubmit, hasErrors, onSubmit, onSubmitRequest])\n\n useEffect(() => {\n // Mount procedure\n if (externalData) {\n // Validate the initial data to know if the user can submit, and to show errors if inputs are requested to with props\n validateBySchemaAndUpdateState(externalData)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Only run for mount and unmount\n }, [])\n\n return (\n <Context.Provider\n value={{\n data: internalData.current,\n handlePathChange,\n handleSubmit,\n errors: errorsRef.current,\n showAllErrors,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n setPathWithError,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Provider.js","names":["React","useEffect","useRef","useMemo","useCallback","useState","pointer","ajv","ajvErrorsToFormErrors","Context","addListPath","paths","path","includes","concat","removeListPath","filter","thisPath","Provider","_ref","data","externalData","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","children","ajvSchemaValidator","compile","undefined","internalData","setInternalData","mountedFieldPathsRef","errorsRef","showAllErrors","setShowAllErrors","pathsWithErrorRef","hasErrors","Boolean","current","find","mountedFieldPath","validateBySchema","errors","validateBySchemaAndUpdateState","setPathWithError","hasError","handlePathChange","value","newData","structuredClone","set","handleMountField","handleUnMountField","handleSubmit","_window","window","scrollTo","top","behavior","createElement","mountedFieldPaths"],"sources":["../../../../../src/extensions/forms/DataContext/Provider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useState,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { JSONSchema7 } from 'json-schema'\nimport ajv, { ajvErrorsToFormErrors } from '../utils/ajv'\nimport { FormError } from '../types'\nimport Context from './Context'\n\nexport interface Props<Data extends JsonObject> {\n data: Partial<Data>\n /** JSON Schema for validating the data, like during input or after attempting submit */\n schema?: JSONSchema7\n /** Change handler for the whole data set */\n onChange?: (data: Data) => void\n /** Change handler for each value */\n onPathChange?: (path: string, value: any) => void\n /** Submit called, data was valid (if validation available) */\n onSubmit?: (data: Data) => void\n /** Submit was requested, but data was invalid */\n onSubmitRequest?: () => void\n scrollTopOnSubmit?: boolean\n children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: string): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: string): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nexport default function Provider<Data extends JsonObject>({\n data: externalData,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n children,\n}: Props<Data>) {\n const ajvSchemaValidator = useMemo(\n () => (schema ? ajv.compile(schema) : undefined),\n [schema]\n )\n const [internalData, setInternalData] =\n useState<Partial<Data>>(externalData)\n const mountedFieldPathsRef = useRef<string[]>([])\n\n // Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError>>({})\n const [showAllErrors, setShowAllErrors] = useState<boolean>(false)\n // Errors reported by fields, based on their direct validation rules\n const pathsWithErrorRef = useRef<string[]>([])\n\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find(\n (mountedFieldPath) =>\n errorsRef.current[mountedFieldPath] !== undefined ||\n pathsWithErrorRef.current.includes(mountedFieldPath)\n )\n ),\n []\n )\n\n useEffect(() => {\n // When receivint the initial data, or receiving updated data by props, update the internal data (controlled state)\n setInternalData(externalData)\n }, [externalData])\n\n const validateBySchema = useCallback(\n (data: Partial<Data>): Record<string, Error> | undefined => {\n if (!ajvSchemaValidator) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvSchemaValidator(data)) {\n // Errors found\n const errors = ajvErrorsToFormErrors(ajvSchemaValidator.errors)\n return errors\n } else {\n return\n }\n },\n [ajvSchemaValidator]\n )\n\n const validateBySchemaAndUpdateState = useCallback(\n (data: Partial<Data>) => {\n errorsRef.current = validateBySchema(data) ?? {}\n },\n [validateBySchema]\n )\n\n const setPathWithError = useCallback(\n (path: string, hasError: boolean) => {\n pathsWithErrorRef.current = hasError\n ? addListPath(pathsWithErrorRef.current, path)\n : removeListPath(pathsWithErrorRef.current, path)\n },\n []\n )\n\n const handlePathChange = useCallback(\n (path, value) => {\n onPathChange?.(path, value)\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n const newData = structuredClone(internalData) as Data\n if (path) {\n pointer.set(newData, path, value)\n }\n onChange?.(newData)\n\n validateBySchemaAndUpdateState(newData)\n\n setInternalData(newData)\n\n setShowAllErrors(false)\n },\n [internalData, onChange, onPathChange, validateBySchemaAndUpdateState]\n )\n\n // Mounted fields\n const handleMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback(() => {\n if (!hasErrors()) {\n onSubmit?.(internalData as Data)\n if (scrollTopOnSubmit) {\n window && window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n setShowAllErrors(true)\n onSubmitRequest?.()\n }\n return internalData\n }, [\n internalData,\n scrollTopOnSubmit,\n hasErrors,\n onSubmit,\n onSubmitRequest,\n ])\n\n useEffect(() => {\n // Mount procedure\n if (externalData) {\n // Validate the initial data to know if the user can submit, and to show errors if inputs are requested to with props\n validateBySchemaAndUpdateState(externalData)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Only run for mount and unmount\n }, [])\n\n return (\n <Context.Provider\n value={{\n data: internalData,\n handlePathChange,\n handleSubmit,\n errors: errorsRef.current,\n showAllErrors,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n setPathWithError,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Context","Provider","SubmitButton","At","DataContext"],"sources":["../../../../../src/extensions/forms/DataContext/index.ts"],"sourcesContent":["import Context, { ContextState } from './Context'\nimport Provider from './Provider'\nimport SubmitButton from './SubmitButton'\nimport At from './At'\n\nconst DataContext = {\n Context,\n Provider,\n SubmitButton,\n At,\n}\n\nexport type { ContextState }\nexport default DataContext\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["Context","Provider","SubmitButton","At","DataContext"],"sources":["../../../../../src/extensions/forms/DataContext/index.ts"],"sourcesContent":["import Context, { ContextState } from './Context'\nimport Provider from './Provider'\nimport SubmitButton from './SubmitButton'\nimport At from './At'\n\nconst DataContext = {\n Context,\n Provider,\n SubmitButton,\n At,\n}\n\nexport type { ContextState }\nexport default DataContext\n"],"mappings":"AAAA,OAAOA,OAAO,MAAwB,WAAW;AACjD,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,EAAE,MAAM,MAAM;AAErB,MAAMC,WAAW,GAAG;EAClBJ,OAAO;EACPC,QAAQ;EACRC,YAAY;EACZC;AACF,CAAC;AAGD,eAAeC,WAAW"}
|
|
@@ -3,7 +3,8 @@ import type { ComponentProps } from '../component-types';
|
|
|
3
3
|
import type { FieldProps } from '../field-types';
|
|
4
4
|
export type Props = ComponentProps & FieldProps<Array<string | number>> & {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
|
-
variant?: 'checkbox';
|
|
6
|
+
variant?: 'checkbox' | 'button';
|
|
7
|
+
optionsLayout?: 'horizontal' | 'vertical';
|
|
7
8
|
};
|
|
8
9
|
declare function ArraySelection(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
declare namespace ArraySelection {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
import {
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
|
+
import { Checkbox, Button } from '../../../components';
|
|
6
|
+
import ButtonRow from '../Layout/ButtonRow';
|
|
5
7
|
import classnames from 'classnames';
|
|
6
8
|
import { forwardSpaceProps } from '../utils';
|
|
7
9
|
import Option from './Option';
|
|
@@ -9,9 +11,11 @@ import FieldBlock from '../FieldBlock';
|
|
|
9
11
|
import { useField } from './hooks';
|
|
10
12
|
function ArraySelection(props) {
|
|
11
13
|
const {
|
|
14
|
+
id,
|
|
12
15
|
className,
|
|
13
|
-
variant,
|
|
14
|
-
layout,
|
|
16
|
+
variant = 'checkbox',
|
|
17
|
+
layout = 'vertical',
|
|
18
|
+
optionsLayout = 'vertical',
|
|
15
19
|
label,
|
|
16
20
|
labelDescription,
|
|
17
21
|
labelSecondary,
|
|
@@ -21,38 +25,50 @@ function ArraySelection(props) {
|
|
|
21
25
|
warning,
|
|
22
26
|
disabled,
|
|
23
27
|
emptyValue,
|
|
24
|
-
|
|
28
|
+
handleChange,
|
|
25
29
|
children
|
|
26
30
|
} = useField(props);
|
|
27
|
-
const
|
|
31
|
+
const fieldBlockProps = _objectSpread({
|
|
32
|
+
forId: id,
|
|
33
|
+
className: classnames(`dnb-forms-field-array-selection dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
|
|
34
|
+
contentClassName: 'dnb-forms-field-array-selection__options',
|
|
35
|
+
info,
|
|
36
|
+
warning,
|
|
37
|
+
error,
|
|
38
|
+
layout,
|
|
39
|
+
label,
|
|
40
|
+
labelDescription,
|
|
41
|
+
labelSecondary
|
|
42
|
+
}, forwardSpaceProps(props));
|
|
43
|
+
const options = useMemo(() => React.Children.toArray(children).filter(child => React.isValidElement(child) && child.type === Option).map(option => ({
|
|
44
|
+
title: option.props.title ?? option.props.children,
|
|
45
|
+
value: option.props.value,
|
|
46
|
+
handleSelect: () => {
|
|
47
|
+
const selected = option.props.value;
|
|
48
|
+
const newValue = value !== null && value !== void 0 && value.includes(selected) ? value.filter(value => value !== selected) : [...(value ?? []), selected];
|
|
49
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(newValue.length === 0 ? emptyValue : newValue);
|
|
50
|
+
}
|
|
51
|
+
})), [children, value, emptyValue, handleChange]);
|
|
28
52
|
switch (variant) {
|
|
29
|
-
|
|
53
|
+
case 'button':
|
|
54
|
+
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ButtonRow, null, options.map((option, i) => React.createElement(Button, {
|
|
55
|
+
key: `option-${i}-${option.value}`,
|
|
56
|
+
id: id,
|
|
57
|
+
text: option.title,
|
|
58
|
+
on_click: option.handleSelect,
|
|
59
|
+
variant: value !== null && value !== void 0 && value.includes(option.value) ? undefined : 'secondary',
|
|
60
|
+
status: error ? 'error' : undefined,
|
|
61
|
+
disabled: disabled
|
|
62
|
+
}))));
|
|
30
63
|
case 'checkbox':
|
|
31
|
-
return React.createElement(FieldBlock,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
label:
|
|
35
|
-
|
|
36
|
-
labelSecondary: labelSecondary,
|
|
37
|
-
info: info,
|
|
38
|
-
warning: warning,
|
|
39
|
-
error: error
|
|
40
|
-
}, forwardSpaceProps(props)), options.map((child, i) => React.createElement(React.Fragment, {
|
|
41
|
-
key: child.props.value ?? `option-${i}`
|
|
42
|
-
}, React.createElement(Checkbox, {
|
|
43
|
-
label: child.props.title ?? child.props.children,
|
|
44
|
-
checked: child.props.value && (value === null || value === void 0 ? void 0 : value.includes(child.props.value)),
|
|
45
|
-
top: i > 0 ? 'x-small' : undefined,
|
|
64
|
+
return React.createElement(FieldBlock, fieldBlockProps, options.map((option, i) => React.createElement(Checkbox, {
|
|
65
|
+
key: `option-${i}-${option.value}`,
|
|
66
|
+
className: "dnb-forms-field-array-selection__checkbox",
|
|
67
|
+
label: option.title,
|
|
68
|
+
checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
|
|
46
69
|
disabled: disabled,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (clickedValue === undefined) {
|
|
50
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(emptyValue);
|
|
51
|
-
}
|
|
52
|
-
const newValue = value !== null && value !== void 0 && value.includes(clickedValue) ? value.filter(value => value !== clickedValue) : [...(value ?? []), clickedValue];
|
|
53
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(newValue.length === 0 ? emptyValue : newValue);
|
|
54
|
-
}
|
|
55
|
-
}), _br || (_br = React.createElement("br", null)))));
|
|
70
|
+
on_change: option.handleSelect
|
|
71
|
+
})));
|
|
56
72
|
}
|
|
57
73
|
}
|
|
58
74
|
ArraySelection._supportsEufemiaSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySelection.js","names":["React","Checkbox","classnames","forwardSpaceProps","Option","FieldBlock","useField","ArraySelection","props","className","variant","layout","label","labelDescription","labelSecondary","value","error","info","warning","disabled","emptyValue","
|
|
1
|
+
{"version":3,"file":"ArraySelection.js","names":["React","useMemo","Checkbox","Button","ButtonRow","classnames","forwardSpaceProps","Option","FieldBlock","useField","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","labelSecondary","value","error","info","warning","disabled","emptyValue","handleChange","children","fieldBlockProps","_objectSpread","forId","contentClassName","options","Children","toArray","filter","child","isValidElement","type","map","option","title","handleSelect","selected","newValue","includes","length","createElement","i","key","text","on_click","undefined","status","checked","on_change","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, Button } from '../../../components'\nimport ButtonRow from '../Layout/ButtonRow'\nimport classnames from 'classnames'\nimport { forwardSpaceProps } from '../utils'\nimport Option from './Option'\nimport FieldBlock from '../FieldBlock'\nimport { useField } from './hooks'\nimport type { ComponentProps } from '../component-types'\nimport type { FieldProps } from '../field-types'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = ComponentProps &\n FieldProps<Array<string | number>> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n }\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n value,\n error,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useField(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n labelSecondary,\n ...forwardSpaceProps(props),\n }\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) => React.isValidElement(child) && child.type === Option\n )\n .map((option: React.ReactElement) => ({\n title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ButtonRow>\n {options.map((option, i) => (\n <Button\n key={`option-${i}-${option.value}`}\n id={id}\n text={option.title}\n on_click={option.handleSelect}\n variant={\n value?.includes(option.value) ? undefined : 'secondary'\n }\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n ))}\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsEufemiaSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ComponentProps } from '../component-types';
|
|
2
|
+
import type { FieldProps, FieldHelpProps } from '../field-types';
|
|
3
|
+
export type Props = ComponentProps & FieldHelpProps & FieldProps<string> & {
|
|
4
|
+
width?: false | 'small' | 'medium' | 'large' | 'stretch';
|
|
5
|
+
};
|
|
6
|
+
declare function CountryCode(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare namespace CountryCode {
|
|
8
|
+
var _supportsEufemiaSpacingProps: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default CountryCode;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import React, { useContext, useCallback, useMemo } from 'react';
|
|
3
|
+
import { Autocomplete, HelpButton } from '../../../components';
|
|
4
|
+
import classnames from 'classnames';
|
|
5
|
+
import countries from '../constants/countries';
|
|
6
|
+
import { forwardSpaceProps } from '../utils';
|
|
7
|
+
import { useField } from './hooks';
|
|
8
|
+
import { FormError } from '../types';
|
|
9
|
+
import SharedContext from '../../../shared/Context';
|
|
10
|
+
function CountryCode(props) {
|
|
11
|
+
const sharedContext = useContext(SharedContext);
|
|
12
|
+
const {
|
|
13
|
+
className,
|
|
14
|
+
layout = 'vertical',
|
|
15
|
+
placeholder,
|
|
16
|
+
label = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.countryCodeLabel,
|
|
17
|
+
value,
|
|
18
|
+
emptyValue,
|
|
19
|
+
info,
|
|
20
|
+
warning,
|
|
21
|
+
error,
|
|
22
|
+
disabled,
|
|
23
|
+
help,
|
|
24
|
+
width,
|
|
25
|
+
handleFocus,
|
|
26
|
+
handleBlur,
|
|
27
|
+
handleChange
|
|
28
|
+
} = useField(props);
|
|
29
|
+
const autocompleteData = useMemo(() => countries.map(country => ({
|
|
30
|
+
selected_key: `+${country.code}`,
|
|
31
|
+
selected_value: `${country.iso} (+${country.code})`,
|
|
32
|
+
content: `+${country.code} ${country.name}`
|
|
33
|
+
})), []);
|
|
34
|
+
const forwardHandleChange = useCallback(_ref => {
|
|
35
|
+
let {
|
|
36
|
+
data: changedData
|
|
37
|
+
} = _ref;
|
|
38
|
+
if (!changedData || !changedData.selected_key.trim()) {
|
|
39
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(emptyValue);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(changedData === null || changedData === void 0 ? void 0 : changedData.selected_key);
|
|
43
|
+
}, [emptyValue, handleChange]);
|
|
44
|
+
const valueIndex = autocompleteData.findIndex(item => item.selected_key === value);
|
|
45
|
+
return React.createElement(Autocomplete, _extends({
|
|
46
|
+
className: classnames('dnb-forms-field-country-code', className, width !== undefined && `dnb-forms-field-country-code--width-${width}`),
|
|
47
|
+
placeholder: placeholder ?? ' ',
|
|
48
|
+
label_direction: layout,
|
|
49
|
+
label: label,
|
|
50
|
+
data: autocompleteData,
|
|
51
|
+
value: valueIndex,
|
|
52
|
+
disabled: disabled,
|
|
53
|
+
on_focus: handleFocus,
|
|
54
|
+
on_blur: handleBlur,
|
|
55
|
+
on_change: forwardHandleChange,
|
|
56
|
+
status: (error === null || error === void 0 ? void 0 : error.message) ?? (warning instanceof Error && warning.message || warning instanceof FormError && warning.message || (warning === null || warning === void 0 ? void 0 : warning.toString()) || info instanceof Error && info.message || info instanceof FormError && info.message || (info === null || info === void 0 ? void 0 : info.toString())),
|
|
57
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
58
|
+
title: help.title
|
|
59
|
+
}, help.contents) : undefined,
|
|
60
|
+
independent_width: true,
|
|
61
|
+
search_numbers: true
|
|
62
|
+
}, forwardSpaceProps(props), {
|
|
63
|
+
stretch: width === 'stretch'
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
CountryCode._supportsEufemiaSpacingProps = true;
|
|
67
|
+
export default CountryCode;
|
|
68
|
+
//# sourceMappingURL=CountryCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CountryCode.js","names":["React","useContext","useCallback","useMemo","Autocomplete","HelpButton","classnames","countries","forwardSpaceProps","useField","FormError","SharedContext","CountryCode","props","sharedContext","className","layout","placeholder","label","translation","Forms","countryCodeLabel","value","emptyValue","info","warning","error","disabled","help","width","handleFocus","handleBlur","handleChange","autocompleteData","map","country","selected_key","code","selected_value","iso","content","name","forwardHandleChange","_ref","data","changedData","trim","valueIndex","findIndex","item","createElement","_extends","undefined","label_direction","on_focus","on_blur","on_change","status","message","Error","toString","suffix","title","contents","independent_width","search_numbers","stretch","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/CountryCode.tsx"],"sourcesContent":["import React, { useContext, useCallback, useMemo } from 'react'\nimport { Autocomplete, HelpButton } from '../../../components'\nimport classnames from 'classnames'\nimport countries from '../constants/countries'\nimport { forwardSpaceProps } from '../utils'\nimport { useField } from './hooks'\nimport type { ComponentProps } from '../component-types'\nimport { FormError } from '../types'\nimport type { FieldProps, FieldHelpProps } from '../field-types'\nimport SharedContext from '../../../shared/Context'\n\nexport type Props = ComponentProps &\n FieldHelpProps &\n FieldProps<string> & {\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction CountryCode(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n layout = 'vertical',\n placeholder,\n label = sharedContext?.translation.Forms.countryCodeLabel,\n value,\n emptyValue,\n info,\n warning,\n error,\n disabled,\n help,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useField(props)\n\n const autocompleteData = useMemo(\n () =>\n countries.map((country) => ({\n selected_key: `+${country.code}`,\n selected_value: `${country.iso} (+${country.code})`,\n content: `+${country.code} ${country.name}`,\n })),\n []\n )\n\n const forwardHandleChange = useCallback(\n ({ data: changedData }: { data: { selected_key: string } }) => {\n if (!changedData || !changedData.selected_key.trim()) {\n handleChange?.(emptyValue)\n return\n }\n\n handleChange?.(changedData?.selected_key)\n },\n [emptyValue, handleChange]\n )\n\n const valueIndex = autocompleteData.findIndex(\n (item) => item.selected_key === value\n )\n\n return (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-country-code',\n width !== undefined &&\n `dnb-forms-field-country-code--width-${width}`,\n className\n )}\n placeholder={placeholder ?? ' '}\n label_direction={layout}\n label={label}\n data={autocompleteData}\n value={valueIndex}\n disabled={disabled}\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={forwardHandleChange}\n status={\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n }\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n independent_width\n search_numbers\n {...forwardSpaceProps(props)}\n stretch={width === 'stretch'}\n />\n )\n}\n\nCountryCode._supportsEufemiaSpacingProps = true\nexport default CountryCode\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentProps } from '../component-types';
|
|
2
|
-
import type { FieldProps } from '../field-types';
|
|
3
|
-
export type Props = ComponentProps & FieldProps<number> & {
|
|
2
|
+
import type { FieldProps, FieldHelpProps } from '../field-types';
|
|
3
|
+
export type Props = ComponentProps & FieldHelpProps & FieldProps<number, undefined> & {
|
|
4
4
|
currency?: string;
|
|
5
5
|
};
|
|
6
6
|
declare function Currency(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,47 +4,15 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
-
import
|
|
8
|
-
import { useField } from './hooks';
|
|
9
|
-
import { forwardSpaceProps } from '../utils';
|
|
7
|
+
import NumberComponent from './Number';
|
|
10
8
|
function Currency(props) {
|
|
11
9
|
const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
value,
|
|
15
|
-
numberValue
|
|
16
|
-
} = _ref;
|
|
17
|
-
if (value === '') {
|
|
18
|
-
return props.emptyValue;
|
|
19
|
-
}
|
|
20
|
-
return numberValue;
|
|
21
|
-
}
|
|
10
|
+
currency: props.currency ?? 'NOK',
|
|
11
|
+
placeholder: props.placeholder ?? 'kr'
|
|
22
12
|
});
|
|
23
|
-
|
|
24
|
-
className,
|
|
25
|
-
|
|
26
|
-
placeholder,
|
|
27
|
-
label,
|
|
28
|
-
value,
|
|
29
|
-
error,
|
|
30
|
-
disabled,
|
|
31
|
-
onFocus,
|
|
32
|
-
onBlur,
|
|
33
|
-
onChange
|
|
34
|
-
} = useField(preparedProps);
|
|
35
|
-
return React.createElement(InputMasked, _extends({
|
|
36
|
-
as_currency: currency ?? true,
|
|
37
|
-
className: classnames('dnb-forms-field-currency', className),
|
|
38
|
-
placeholder: placeholder ?? 'kr',
|
|
39
|
-
value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
|
|
40
|
-
label: label,
|
|
41
|
-
label_direction: "vertical",
|
|
42
|
-
on_focus: onFocus,
|
|
43
|
-
on_blur: onBlur,
|
|
44
|
-
on_change: onChange,
|
|
45
|
-
status: error === null || error === void 0 ? void 0 : error.message,
|
|
46
|
-
disabled: disabled
|
|
47
|
-
}, forwardSpaceProps(props)));
|
|
13
|
+
return React.createElement(NumberComponent, _extends({}, preparedProps, {
|
|
14
|
+
className: classnames('dnb-forms-field-currency', props.className)
|
|
15
|
+
}));
|
|
48
16
|
}
|
|
49
17
|
Currency._supportsEufemiaSpacingProps = true;
|
|
50
18
|
export default Currency;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Currency.js","names":["React","classnames","
|
|
1
|
+
{"version":3,"file":"Currency.js","names":["React","classnames","NumberComponent","Currency","props","preparedProps","_objectSpread","currency","placeholder","createElement","_extends","className","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport NumberComponent from './Number'\nimport type { ComponentProps } from '../component-types'\nimport type { FieldProps, FieldHelpProps } from '../field-types'\n\nexport type Props = ComponentProps &\n FieldHelpProps &\n FieldProps<number, undefined> & {\n currency?: string\n }\n\nfunction Currency(props: Props) {\n const preparedProps = {\n ...props,\n currency: props.currency ?? 'NOK',\n placeholder: props.placeholder ?? 'kr',\n }\n\n return (\n <NumberComponent\n {...preparedProps}\n className={classnames('dnb-forms-field-currency', props.className)}\n />\n )\n}\n\nCurrency._supportsEufemiaSpacingProps = true\nexport default Currency\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,eAAe,MAAM,UAAU;AAUtC,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAMC,aAAa,GAAAC,aAAA,CAAAA,aAAA,KACdF,KAAK;IACRG,QAAQ,EAAEH,KAAK,CAACG,QAAQ,IAAI,KAAK;IACjCC,WAAW,EAAEJ,KAAK,CAACI,WAAW,IAAI;EAAI,EACvC;EAED,OACER,KAAA,CAAAS,aAAA,CAACP,eAAe,EAAAQ,QAAA,KACVL,aAAa;IACjBM,SAAS,EAAEV,UAAU,CAAC,0BAA0B,EAAEG,KAAK,CAACO,SAAS;EAAE,EACpE,CAAC;AAEN;AAEAR,QAAQ,CAACS,4BAA4B,GAAG,IAAI;AAC5C,eAAeT,QAAQ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentProps } from '../component-types';
|
|
2
|
-
import type { FieldProps } from '../field-types';
|
|
3
|
-
export type Props = ComponentProps & FieldProps<string>;
|
|
2
|
+
import type { FieldProps, FieldHelpProps } from '../field-types';
|
|
3
|
+
export type Props = ComponentProps & FieldHelpProps & FieldProps<string>;
|
|
4
4
|
declare function DateComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
declare namespace DateComponent {
|
|
6
6
|
var _supportsEufemiaSpacingProps: boolean;
|
|
@@ -3,7 +3,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
5
|
import React, { useContext } from 'react';
|
|
6
|
-
import { DatePicker } from '../../../components';
|
|
6
|
+
import { DatePicker, HelpButton } from '../../../components';
|
|
7
7
|
import { forwardSpaceProps } from '../utils';
|
|
8
8
|
import { useField } from './hooks';
|
|
9
9
|
import SharedContext from '../../../shared/Context';
|
|
@@ -21,11 +21,12 @@ function DateComponent(props) {
|
|
|
21
21
|
className,
|
|
22
22
|
label,
|
|
23
23
|
value,
|
|
24
|
+
help,
|
|
24
25
|
error,
|
|
25
26
|
disabled,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
handleFocus,
|
|
28
|
+
handleBlur,
|
|
29
|
+
handleChange
|
|
29
30
|
} = useField(preparedProps);
|
|
30
31
|
return React.createElement(DatePicker, _extends({
|
|
31
32
|
className: className,
|
|
@@ -37,9 +38,12 @@ function DateComponent(props) {
|
|
|
37
38
|
show_input: true,
|
|
38
39
|
show_cancel_button: true,
|
|
39
40
|
show_reset_button: true,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
42
|
+
title: help.title
|
|
43
|
+
}, help.contents) : undefined,
|
|
44
|
+
on_change: handleChange,
|
|
45
|
+
on_show: handleFocus,
|
|
46
|
+
on_hide: handleBlur
|
|
43
47
|
}, forwardSpaceProps(props)));
|
|
44
48
|
}
|
|
45
49
|
DateComponent._supportsEufemiaSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Date.js","names":["React","useContext","DatePicker","forwardSpaceProps","useField","SharedContext","DateComponent","props","sharedContext","preparedProps","_objectSpread","fromInput","_ref","date","className","label","value","error","disabled","
|
|
1
|
+
{"version":3,"file":"Date.js","names":["React","useContext","DatePicker","HelpButton","forwardSpaceProps","useField","SharedContext","DateComponent","props","sharedContext","preparedProps","_objectSpread","fromInput","_ref","date","className","label","value","help","error","disabled","handleFocus","handleBlur","handleChange","createElement","_extends","translation","Forms","dateLabel","label_direction","status","message","show_input","show_cancel_button","show_reset_button","suffix","title","contents","undefined","on_change","on_show","on_hide","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/Date.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { DatePicker, HelpButton } from '../../../components'\nimport { forwardSpaceProps } from '../utils'\nimport { useField } from './hooks'\nimport type { ComponentProps } from '../component-types'\nimport type { FieldProps, FieldHelpProps } from '../field-types'\nimport SharedContext from '../../../shared/Context'\n\nexport type Props = ComponentProps & FieldHelpProps & FieldProps<string>\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const preparedProps: Props = {\n ...props,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n }\n\n const {\n className,\n label,\n value,\n help,\n error,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n } = useField(preparedProps)\n\n return (\n <DatePicker\n className={className}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n label_direction=\"vertical\"\n date={value}\n status={error?.message}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_show={handleFocus}\n on_hide={handleBlur}\n {...forwardSpaceProps(props)}\n />\n )\n}\n\nDateComponent._supportsEufemiaSpacingProps = true\nexport default DateComponent\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,UAAU,QAAQ,qBAAqB;AAC5D,SAASC,iBAAiB,QAAQ,UAAU;AAC5C,SAASC,QAAQ,QAAQ,SAAS;AAGlC,OAAOC,aAAa,MAAM,yBAAyB;AAInD,SAASC,aAAaA,CAACC,KAAY,EAAE;EACnC,MAAMC,aAAa,GAAGR,UAAU,CAACK,aAAa,CAAC;EAC/C,MAAMI,aAAoB,GAAAC,aAAA,CAAAA,aAAA,KACrBH,KAAK;IACRI,SAAS,EAAEC,IAAA,IAAgC;MAAA,IAA/B;QAAEC;MAAuB,CAAC,GAAAD,IAAA;MACpC,OAAOC,IAAI;IACb;EAAC,EACF;EAED,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAGlB,QAAQ,CAACK,aAAa,CAAC;EAE3B,OACEV,KAAA,CAAAwB,aAAA,CAACtB,UAAU,EAAAuB,QAAA;IACTV,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAK,KAAIP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEiB,WAAW,CAACC,KAAK,CAACC,SAAS,CAAC;IAC3DC,eAAe,EAAC,UAAU;IAC1Bf,IAAI,EAAEG,KAAM;IACZa,MAAM,EAAEX,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEY,OAAQ;IACvBX,QAAQ,EAAEA,QAAS;IACnBY,UAAU,EAAE,IAAK;IACjBC,kBAAkB,EAAE,IAAK;IACzBC,iBAAiB,EAAE,IAAK;IACxBC,MAAM,EACJjB,IAAI,GACFlB,KAAA,CAAAwB,aAAA,CAACrB,UAAU;MAACiC,KAAK,EAAElB,IAAI,CAACkB;IAAM,GAAElB,IAAI,CAACmB,QAAqB,CAAC,GACzDC,SACL;IACDC,SAAS,EAAEhB,YAAa;IACxBiB,OAAO,EAAEnB,WAAY;IACrBoB,OAAO,EAAEnB;EAAW,GAChBlB,iBAAiB,CAACI,KAAK,CAAC,CAC7B,CAAC;AAEN;AAEAD,aAAa,CAACmC,4BAA4B,GAAG,IAAI;AACjD,eAAenC,aAAa"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { InputMaskedProps } from '../../../components/InputMasked';
|
|
1
2
|
import type { ComponentProps } from '../component-types';
|
|
2
|
-
import type { FieldProps } from '../field-types';
|
|
3
|
+
import type { FieldProps, FieldHelpProps } from '../field-types';
|
|
3
4
|
interface ErrorMessages {
|
|
4
5
|
required?: string;
|
|
5
6
|
schema?: string;
|
|
@@ -9,8 +10,11 @@ interface ErrorMessages {
|
|
|
9
10
|
exclusiveMaximum?: string;
|
|
10
11
|
multipleOf?: string;
|
|
11
12
|
}
|
|
12
|
-
export type Props = ComponentProps & FieldProps<number, undefined, ErrorMessages> & {
|
|
13
|
+
export type Props = ComponentProps & FieldHelpProps & FieldProps<number, undefined, ErrorMessages> & {
|
|
13
14
|
inputClassName?: string;
|
|
15
|
+
currency?: InputMaskedProps['as_currency'];
|
|
16
|
+
percent?: InputMaskedProps['as_percent'];
|
|
17
|
+
mask?: InputMaskedProps['mask'];
|
|
14
18
|
thousandSeparator?: string | true;
|
|
15
19
|
decimalSymbol?: string;
|
|
16
20
|
decimalLimit?: number;
|
|
@@ -21,7 +25,7 @@ export type Props = ComponentProps & FieldProps<number, undefined, ErrorMessages
|
|
|
21
25
|
exclusiveMinimum?: number;
|
|
22
26
|
exclusiveMaximum?: number;
|
|
23
27
|
multipleOf?: number;
|
|
24
|
-
width?: false | 'medium' | 'large' | 'stretch';
|
|
28
|
+
width?: false | 'small' | 'medium' | 'large' | 'stretch';
|
|
25
29
|
rightAligned?: boolean;
|
|
26
30
|
};
|
|
27
31
|
declare function NumberComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|