@dnb/eufemia 10.7.0 → 10.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/cjs/components/accordion/Accordion.d.ts +1 -1
- package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
- package/cjs/components/accordion/AccordionHeader.js +18 -5
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +22 -17
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/cjs/components/anchor/Anchor.js +1 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/cjs/components/autocomplete/Autocomplete.js +4 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/avatar/style/index.d.ts +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/cjs/components/checkbox/Checkbox.d.ts +4 -0
- package/cjs/components/checkbox/Checkbox.js +6 -4
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/cjs/components/drawer/Drawer.d.ts +1 -1
- package/cjs/components/drawer/Drawer.js +3 -1
- package/cjs/components/drawer/Drawer.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +2 -0
- package/cjs/components/form-status/FormStatus.js +70 -53
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
- package/cjs/components/global-status/GlobalStatus.js +17 -7
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/cjs/components/heading/Heading.d.ts +8 -8
- package/cjs/components/heading/Heading.js +8 -16
- package/cjs/components/heading/Heading.js.map +1 -1
- package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
- package/cjs/components/heading/HeadingHelpers.js +42 -1
- package/cjs/components/heading/HeadingHelpers.js.map +1 -1
- package/cjs/components/info-card/index.js.map +1 -1
- package/cjs/components/info-card/style.js.map +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/ModalContent.js +3 -1
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
- package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/cjs/components/radio/Radio.d.ts +4 -0
- package/cjs/components/radio/Radio.js +6 -4
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/cjs/components/section/Section.d.ts +21 -1
- package/cjs/components/section/Section.js +1 -1
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +8 -3
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/cjs/components/slider/style/dnb-slider.scss +4 -2
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
- package/cjs/components/step-indicator/StepIndicator.js +31 -26
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
- package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
- package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
- package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
- package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +4 -0
- package/cjs/components/switch/Switch.js +6 -4
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/cjs/components/table/TableContainer.js.map +1 -1
- package/cjs/components/table/style/table-accordion.scss +18 -6
- package/cjs/components/table/style/table-header-buttons.scss +3 -1
- package/cjs/components/table/style/table-tr.scss +6 -2
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/cjs/components/timeline/TimelineItem.d.ts +3 -2
- package/cjs/components/timeline/TimelineItem.js +96 -62
- package/cjs/components/timeline/TimelineItem.js.map +1 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/cjs/elements/lib.d.ts +1 -1
- package/cjs/elements/typography/H.d.ts +5 -3
- package/cjs/elements/typography/H.js +7 -3
- package/cjs/elements/typography/H.js.map +1 -1
- package/cjs/elements/typography/H1.js +2 -2
- package/cjs/elements/typography/H1.js.map +1 -1
- package/cjs/elements/typography/H2.js +2 -2
- package/cjs/elements/typography/H2.js.map +1 -1
- package/cjs/elements/typography/H3.js +2 -2
- package/cjs/elements/typography/H3.js.map +1 -1
- package/cjs/elements/typography/H4.js +2 -2
- package/cjs/elements/typography/H4.js.map +1 -1
- package/cjs/elements/typography/H5.js +2 -2
- package/cjs/elements/typography/H5.js.map +1 -1
- package/cjs/elements/typography/H6.js +2 -2
- package/cjs/elements/typography/H6.js.map +1 -1
- package/cjs/elements/typography/style/dnb-typography.scss +3 -0
- package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/cjs/elements/typography/style/typography-mixins.scss +5 -0
- package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
- package/cjs/extensions/forms/DataContext/Context.js +2 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider.js +7 -3
- package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
- package/cjs/extensions/forms/DataContext/index.js +0 -2
- package/cjs/extensions/forms/DataContext/index.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/cjs/extensions/forms/Field/ArraySelection.js +55 -35
- package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/cjs/extensions/forms/Field/CountryCode.js +77 -0
- package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
- package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
- package/cjs/extensions/forms/Field/Currency.js +6 -38
- package/cjs/extensions/forms/Field/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date.d.ts +2 -3
- package/cjs/extensions/forms/Field/Date.js +14 -10
- package/cjs/extensions/forms/Field/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Number.d.ts +7 -4
- package/cjs/extensions/forms/Field/Number.js +48 -23
- package/cjs/extensions/forms/Field/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option.d.ts +2 -3
- package/cjs/extensions/forms/Field/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/cjs/extensions/forms/Field/PhoneNumber.js +45 -44
- package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection.d.ts +6 -5
- package/cjs/extensions/forms/Field/Selection.js +90 -40
- package/cjs/extensions/forms/Field/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String.d.ts +3 -4
- package/cjs/extensions/forms/Field/String.js +28 -16
- package/cjs/extensions/forms/Field/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
- package/cjs/extensions/forms/Field/Toggle.js +16 -14
- package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/fields.scss +2 -2
- package/cjs/extensions/forms/Field/index.d.ts +2 -4
- package/cjs/extensions/forms/Field/index.js +3 -5
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/cjs/extensions/forms/Field/style/index.scss +2 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +88 -15
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/cjs/extensions/forms/FieldBlock/index.js +15 -2
- package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
- package/cjs/extensions/forms/Form/FormElement.js +39 -0
- package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
- package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/cjs/extensions/forms/Form/FormHandler.js +41 -0
- package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
- package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
- package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +9 -0
- package/cjs/extensions/forms/Form/index.js +18 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
- package/cjs/extensions/forms/Iterate/Array.js +91 -0
- package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
- package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
- package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
- package/cjs/extensions/forms/Iterate/index.js +25 -0
- package/cjs/extensions/forms/Iterate/index.js.map +1 -0
- package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
- package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
- package/cjs/extensions/forms/Layout/Card.js +5 -5
- package/cjs/extensions/forms/Layout/Card.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/cjs/extensions/forms/Layout/FlexContainer.js +6 -5
- package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/cjs/extensions/forms/Layout/FlexItem.js +4 -3
- package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
- package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
- package/cjs/extensions/forms/Layout/Section.js +2 -2
- package/cjs/extensions/forms/Layout/Section.js.map +1 -1
- package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
- package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Layout/index.d.ts +0 -2
- package/cjs/extensions/forms/Layout/index.js +1 -3
- package/cjs/extensions/forms/Layout/index.js.map +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
- package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
- package/cjs/extensions/forms/Value/Boolean.js +4 -4
- package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Number.d.ts +2 -3
- package/cjs/extensions/forms/Value/Number.js +4 -3
- package/cjs/extensions/forms/Value/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/String.d.ts +2 -3
- package/cjs/extensions/forms/Value/String.js +4 -4
- package/cjs/extensions/forms/Value/String.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +0 -4
- package/cjs/extensions/forms/Value/index.js +0 -4
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +1 -0
- package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
- package/cjs/extensions/forms/hooks/index.js.map +1 -0
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +91 -56
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/cjs/extensions/forms/index.d.ts +4 -4
- package/cjs/extensions/forms/index.js +20 -12
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +105 -29
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/style/index.d.ts +1 -0
- package/cjs/extensions/forms/style/index.js +4 -0
- package/cjs/extensions/forms/style/index.js.map +1 -0
- package/cjs/extensions/forms/types.d.ts +95 -2
- package/cjs/extensions/forms/types.js +71 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/cjs/extensions/forms/utils/index.d.ts +0 -1
- package/cjs/extensions/forms/utils/index.js +0 -12
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
- package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/cjs/extensions/forms/variables.scss +3 -0
- package/cjs/extensions/lib.d.ts +1 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/shared/libs/Shortcuts.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useMedia.js +33 -23
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/style/core/reset.scss +13 -3
- package/cjs/style/core/utilities.scss +3 -1
- package/cjs/style/dnb-ui-components.css +142 -20
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +23 -11
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +112 -36
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/customisations.scss +3 -7
- package/cjs/style/themes/theme-sbanken/properties.js +6 -6
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/fonts.scss +8 -4
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/components/accordion/Accordion.d.ts +1 -1
- package/components/accordion/AccordionHeader.d.ts +4 -4
- package/components/accordion/AccordionHeader.js +18 -5
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +22 -17
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/dnb-accordion.scss +40 -18
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/components/anchor/Anchor.js +1 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +9 -3
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/components/autocomplete/Autocomplete.js +4 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/avatar/style/index.d.ts +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/components/breadcrumb/Breadcrumb.js +2 -2
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/components/checkbox/Checkbox.d.ts +4 -0
- package/components/checkbox/Checkbox.js +6 -4
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/components/drawer/Drawer.d.ts +1 -1
- package/components/drawer/Drawer.js +3 -1
- package/components/drawer/Drawer.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +2 -0
- package/components/form-status/FormStatus.js +70 -53
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/dnb-form-status.scss +4 -2
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/components/global-status/GlobalStatus.d.ts +1 -1
- package/components/global-status/GlobalStatus.js +18 -8
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.scss +2 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/components/heading/Heading.d.ts +8 -8
- package/components/heading/Heading.js +9 -15
- package/components/heading/Heading.js.map +1 -1
- package/components/heading/HeadingHelpers.d.ts +5 -1
- package/components/heading/HeadingHelpers.js +39 -0
- package/components/heading/HeadingHelpers.js.map +1 -1
- package/components/info-card/index.js.map +1 -1
- package/components/info-card/style.js.map +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/components/input-masked/InputMaskedHooks.js +1 -1
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/ModalContent.js +3 -1
- package/components/modal/ModalContent.js.map +1 -1
- package/components/modal/parts/ModalHeaderBar.js +0 -4
- package/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/components/pagination/Pagination.js.map +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/components/radio/Radio.d.ts +4 -0
- package/components/radio/Radio.js +6 -4
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/components/section/Section.d.ts +21 -1
- package/components/section/Section.js +1 -1
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +1 -1
- package/components/section/style/dnb-section.scss +8 -3
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/components/skeleton/style/dnb-skeleton.css +50 -0
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/components/slider/style/dnb-slider.scss +4 -2
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/StepIndicator.d.ts +89 -75
- package/components/step-indicator/StepIndicator.js +29 -25
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/components/step-indicator/StepIndicatorContext.js +98 -120
- package/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/components/step-indicator/StepIndicatorItem.js +177 -227
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/components/step-indicator/StepIndicatorList.js +43 -48
- package/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/components/step-indicator/StepIndicatorModal.js +38 -50
- package/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/components/step-indicator/StepIndicatorProps.js +3 -45
- package/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/switch/Switch.d.ts +4 -0
- package/components/switch/Switch.js +6 -4
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/components/table/TableContainer.js.map +1 -1
- package/components/table/style/table-accordion.scss +18 -6
- package/components/table/style/table-header-buttons.scss +3 -1
- package/components/table/style/table-tr.scss +6 -2
- package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/components/timeline/TimelineItem.d.ts +3 -2
- package/components/timeline/TimelineItem.js +95 -61
- package/components/timeline/TimelineItem.js.map +1 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/components/tooltip/style/dnb-tooltip.css +10 -0
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/elements/lib.d.ts +1 -1
- package/elements/typography/H.d.ts +5 -3
- package/elements/typography/H.js +8 -4
- package/elements/typography/H.js.map +1 -1
- package/elements/typography/H1.js +2 -2
- package/elements/typography/H1.js.map +1 -1
- package/elements/typography/H2.js +2 -2
- package/elements/typography/H2.js.map +1 -1
- package/elements/typography/H3.js +2 -2
- package/elements/typography/H3.js.map +1 -1
- package/elements/typography/H4.js +2 -2
- package/elements/typography/H4.js.map +1 -1
- package/elements/typography/H5.js +2 -2
- package/elements/typography/H5.js.map +1 -1
- package/elements/typography/H6.js +2 -2
- package/elements/typography/H6.js.map +1 -1
- package/elements/typography/style/dnb-typography.scss +3 -0
- package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/elements/typography/style/typography-mixins.scss +5 -0
- package/es/components/accordion/Accordion.d.ts +1 -1
- package/es/components/accordion/AccordionHeader.d.ts +4 -4
- package/es/components/accordion/AccordionHeader.js +18 -5
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +22 -17
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.scss +40 -18
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/es/components/anchor/Anchor.js +1 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +9 -3
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/es/components/autocomplete/Autocomplete.js +4 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/avatar/style/index.d.ts +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/es/components/breadcrumb/Breadcrumb.js +2 -2
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +24 -2
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/es/components/checkbox/Checkbox.d.ts +4 -0
- package/es/components/checkbox/Checkbox.js +6 -4
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/es/components/drawer/Drawer.d.ts +1 -1
- package/es/components/drawer/Drawer.js +3 -1
- package/es/components/drawer/Drawer.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +2 -0
- package/es/components/form-status/FormStatus.js +70 -53
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/dnb-form-status.scss +4 -2
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/es/components/global-status/GlobalStatus.d.ts +1 -1
- package/es/components/global-status/GlobalStatus.js +18 -8
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +2 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/es/components/heading/Heading.d.ts +8 -8
- package/es/components/heading/Heading.js +9 -15
- package/es/components/heading/Heading.js.map +1 -1
- package/es/components/heading/HeadingHelpers.d.ts +5 -1
- package/es/components/heading/HeadingHelpers.js +39 -0
- package/es/components/heading/HeadingHelpers.js.map +1 -1
- package/es/components/info-card/index.js.map +1 -1
- package/es/components/info-card/style.js.map +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/es/components/input-masked/InputMaskedHooks.js +1 -1
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +1 -1
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/ModalContent.js +3 -1
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/modal/parts/ModalHeaderBar.js +0 -4
- package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
- package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
- package/es/components/radio/Radio.d.ts +4 -0
- package/es/components/radio/Radio.js +6 -4
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/es/components/section/Section.d.ts +21 -1
- package/es/components/section/Section.js +1 -1
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +1 -1
- package/es/components/section/style/dnb-section.scss +8 -3
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/es/components/skeleton/style/dnb-skeleton.css +50 -0
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/skeleton/style/dnb-skeleton.scss +74 -5
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
- package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
- package/es/components/slider/style/dnb-slider.scss +4 -2
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/StepIndicator.d.ts +89 -75
- package/es/components/step-indicator/StepIndicator.js +29 -25
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/es/components/step-indicator/StepIndicatorContext.js +94 -114
- package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/es/components/step-indicator/StepIndicatorItem.js +173 -223
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/es/components/step-indicator/StepIndicatorList.js +43 -48
- package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/es/components/step-indicator/StepIndicatorModal.js +38 -48
- package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/es/components/step-indicator/StepIndicatorProps.js +3 -45
- package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +4 -0
- package/es/components/switch/Switch.js +6 -4
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/es/components/table/TableContainer.js.map +1 -1
- package/es/components/table/style/table-accordion.scss +18 -6
- package/es/components/table/style/table-header-buttons.scss +3 -1
- package/es/components/table/style/table-tr.scss +6 -2
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/es/components/timeline/TimelineItem.d.ts +3 -2
- package/es/components/timeline/TimelineItem.js +89 -58
- package/es/components/timeline/TimelineItem.js.map +1 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/es/components/tooltip/style/dnb-tooltip.css +10 -0
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
- package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
- package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
- package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
- package/es/elements/lib.d.ts +1 -1
- package/es/elements/typography/H.d.ts +5 -3
- package/es/elements/typography/H.js +8 -4
- package/es/elements/typography/H.js.map +1 -1
- package/es/elements/typography/H1.js +2 -2
- package/es/elements/typography/H1.js.map +1 -1
- package/es/elements/typography/H2.js +2 -2
- package/es/elements/typography/H2.js.map +1 -1
- package/es/elements/typography/H3.js +2 -2
- package/es/elements/typography/H3.js.map +1 -1
- package/es/elements/typography/H4.js +2 -2
- package/es/elements/typography/H4.js.map +1 -1
- package/es/elements/typography/H5.js +2 -2
- package/es/elements/typography/H5.js.map +1 -1
- package/es/elements/typography/H6.js +2 -2
- package/es/elements/typography/H6.js.map +1 -1
- package/es/elements/typography/style/dnb-typography.scss +3 -0
- package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
- package/es/elements/typography/style/typography-mixins.scss +5 -0
- package/es/extensions/forms/DataContext/At.d.ts +1 -1
- package/es/extensions/forms/DataContext/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -0
- package/es/extensions/forms/DataContext/Context.js +2 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider.js +7 -3
- package/es/extensions/forms/DataContext/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/index.d.ts +0 -2
- package/es/extensions/forms/DataContext/index.js +0 -2
- package/es/extensions/forms/DataContext/index.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/es/extensions/forms/Field/ArraySelection.js +52 -36
- package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/es/extensions/forms/Field/CountryCode.js +66 -0
- package/es/extensions/forms/Field/CountryCode.js.map +1 -0
- package/es/extensions/forms/Field/Currency.d.ts +2 -3
- package/es/extensions/forms/Field/Currency.js +6 -37
- package/es/extensions/forms/Field/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date.d.ts +2 -3
- package/es/extensions/forms/Field/Date.js +15 -11
- package/es/extensions/forms/Field/Date.js.map +1 -1
- package/es/extensions/forms/Field/Number.d.ts +7 -4
- package/es/extensions/forms/Field/Number.js +47 -24
- package/es/extensions/forms/Field/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option.d.ts +2 -3
- package/es/extensions/forms/Field/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/es/extensions/forms/Field/PhoneNumber.js +46 -43
- package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection.d.ts +6 -5
- package/es/extensions/forms/Field/Selection.js +88 -41
- package/es/extensions/forms/Field/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String.d.ts +3 -4
- package/es/extensions/forms/Field/String.js +29 -17
- package/es/extensions/forms/Field/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle.d.ts +2 -3
- package/es/extensions/forms/Field/Toggle.js +16 -14
- package/es/extensions/forms/Field/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/fields.scss +2 -2
- package/es/extensions/forms/Field/index.d.ts +2 -4
- package/es/extensions/forms/Field/index.js +3 -5
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/es/extensions/forms/Field/style/index.scss +2 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/es/extensions/forms/FieldBlock/FieldBlock.js +80 -16
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/es/extensions/forms/FieldBlock/index.js +3 -1
- package/es/extensions/forms/FieldBlock/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/es/extensions/forms/Form/FormElement.d.ts +4 -0
- package/es/extensions/forms/Form/FormElement.js +31 -0
- package/es/extensions/forms/Form/FormElement.js.map +1 -0
- package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/es/extensions/forms/Form/FormHandler.js +33 -0
- package/es/extensions/forms/Form/FormHandler.js.map +1 -0
- package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/es/extensions/forms/Form/SubmitButton.js +25 -0
- package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +9 -0
- package/es/extensions/forms/Form/index.js +10 -0
- package/es/extensions/forms/Form/index.js.map +1 -0
- package/es/extensions/forms/Iterate/Array.d.ts +17 -0
- package/es/extensions/forms/Iterate/Array.js +80 -0
- package/es/extensions/forms/Iterate/Array.js.map +1 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
- package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
- package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/es/extensions/forms/Iterate/index.d.ts +11 -0
- package/es/extensions/forms/Iterate/index.js +12 -0
- package/es/extensions/forms/Iterate/index.js.map +1 -0
- package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/es/extensions/forms/Layout/ButtonRow.js +2 -2
- package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/es/extensions/forms/Layout/Card.d.ts +1 -1
- package/es/extensions/forms/Layout/Card.js +5 -5
- package/es/extensions/forms/Layout/Card.js.map +1 -1
- package/es/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/es/extensions/forms/Layout/FlexContainer.js +6 -5
- package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/es/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/es/extensions/forms/Layout/FlexItem.js +4 -3
- package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/es/extensions/forms/Layout/MainHeading.js +10 -4
- package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/es/extensions/forms/Layout/Section.d.ts +1 -1
- package/es/extensions/forms/Layout/Section.js +2 -2
- package/es/extensions/forms/Layout/Section.js.map +1 -1
- package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/es/extensions/forms/Layout/SubHeading.js +10 -4
- package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/es/extensions/forms/Layout/index.d.ts +0 -2
- package/es/extensions/forms/Layout/index.js +1 -3
- package/es/extensions/forms/Layout/index.js.map +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/Step.js +2 -2
- package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/es/extensions/forms/Value/Boolean.d.ts +2 -3
- package/es/extensions/forms/Value/Boolean.js +4 -4
- package/es/extensions/forms/Value/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Number.d.ts +2 -3
- package/es/extensions/forms/Value/Number.js +5 -4
- package/es/extensions/forms/Value/Number.js.map +1 -1
- package/es/extensions/forms/Value/String.d.ts +2 -3
- package/es/extensions/forms/Value/String.js +4 -4
- package/es/extensions/forms/Value/String.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +0 -4
- package/es/extensions/forms/Value/index.js +0 -4
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/index.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +1 -0
- package/es/extensions/forms/hooks/index.js +1 -0
- package/es/extensions/forms/hooks/index.js.map +1 -0
- package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +90 -55
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/es/extensions/forms/index.d.ts +4 -4
- package/es/extensions/forms/index.js +3 -2
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +105 -29
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/style/index.d.ts +1 -0
- package/es/extensions/forms/style/index.js +1 -0
- package/es/extensions/forms/style/index.js.map +1 -0
- package/es/extensions/forms/types.d.ts +95 -2
- package/es/extensions/forms/types.js +42 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/es/extensions/forms/utils/index.d.ts +0 -1
- package/es/extensions/forms/utils/index.js +0 -1
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/es/extensions/forms/utils/useWasChanged.js +51 -0
- package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/es/extensions/forms/variables.scss +3 -0
- package/es/extensions/lib.d.ts +1 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/shared/libs/Shortcuts.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useMedia.js +30 -21
- package/es/shared/useMedia.js.map +1 -1
- package/es/style/core/reset.scss +13 -3
- package/es/style/core/utilities.scss +3 -1
- package/es/style/dnb-ui-components.css +142 -20
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-elements.css +23 -11
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +112 -36
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/customisations.scss +3 -7
- package/es/style/themes/theme-sbanken/properties.js +6 -6
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/fonts.scss +8 -4
- package/es/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/es/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +6 -6
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At.d.ts +1 -1
- package/extensions/forms/DataContext/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -0
- package/extensions/forms/DataContext/Context.js +2 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider.js +7 -3
- package/extensions/forms/DataContext/Provider.js.map +1 -1
- package/extensions/forms/DataContext/index.d.ts +0 -2
- package/extensions/forms/DataContext/index.js +0 -2
- package/extensions/forms/DataContext/index.js.map +1 -1
- package/extensions/forms/Field/ArraySelection.d.ts +4 -4
- package/extensions/forms/Field/ArraySelection.js +52 -36
- package/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/CountryCode.d.ts +9 -0
- package/extensions/forms/Field/CountryCode.js +67 -0
- package/extensions/forms/Field/CountryCode.js.map +1 -0
- package/extensions/forms/Field/Currency.d.ts +2 -3
- package/extensions/forms/Field/Currency.js +6 -38
- package/extensions/forms/Field/Currency.js.map +1 -1
- package/extensions/forms/Field/Date.d.ts +2 -3
- package/extensions/forms/Field/Date.js +15 -11
- package/extensions/forms/Field/Date.js.map +1 -1
- package/extensions/forms/Field/Number.d.ts +7 -4
- package/extensions/forms/Field/Number.js +47 -24
- package/extensions/forms/Field/Number.js.map +1 -1
- package/extensions/forms/Field/Option.d.ts +2 -3
- package/extensions/forms/Field/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber.d.ts +8 -4
- package/extensions/forms/Field/PhoneNumber.js +46 -45
- package/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
- package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
- package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection.d.ts +6 -5
- package/extensions/forms/Field/Selection.js +90 -42
- package/extensions/forms/Field/Selection.js.map +1 -1
- package/extensions/forms/Field/String.d.ts +3 -4
- package/extensions/forms/Field/String.js +29 -17
- package/extensions/forms/Field/String.js.map +1 -1
- package/extensions/forms/Field/Toggle.d.ts +2 -3
- package/extensions/forms/Field/Toggle.js +16 -14
- package/extensions/forms/Field/Toggle.js.map +1 -1
- package/extensions/forms/Field/fields.scss +2 -2
- package/extensions/forms/Field/index.d.ts +2 -4
- package/extensions/forms/Field/index.js +3 -5
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/extensions/forms/Field/style/index.scss +2 -0
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
- package/extensions/forms/FieldBlock/FieldBlock.js +86 -16
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
- package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
- package/extensions/forms/FieldBlock/index.d.ts +1 -0
- package/extensions/forms/FieldBlock/index.js +3 -1
- package/extensions/forms/FieldBlock/index.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/extensions/forms/Form/FormElement.d.ts +4 -0
- package/extensions/forms/Form/FormElement.js +31 -0
- package/extensions/forms/Form/FormElement.js.map +1 -0
- package/extensions/forms/Form/FormHandler.d.ts +6 -0
- package/extensions/forms/Form/FormHandler.js +33 -0
- package/extensions/forms/Form/FormHandler.js.map +1 -0
- package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
- package/extensions/forms/Form/SubmitButton.js +25 -0
- package/extensions/forms/Form/SubmitButton.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +9 -0
- package/extensions/forms/Form/index.js +10 -0
- package/extensions/forms/Form/index.js.map +1 -0
- package/extensions/forms/Iterate/Array.d.ts +17 -0
- package/extensions/forms/Iterate/Array.js +81 -0
- package/extensions/forms/Iterate/Array.js.map +1 -0
- package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
- package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
- package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
- package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
- package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
- package/extensions/forms/Iterate/IterateElementContext.js +4 -0
- package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
- package/extensions/forms/Iterate/index.d.ts +11 -0
- package/extensions/forms/Iterate/index.js +12 -0
- package/extensions/forms/Iterate/index.js.map +1 -0
- package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
- package/extensions/forms/Layout/ButtonRow.js +2 -2
- package/extensions/forms/Layout/ButtonRow.js.map +1 -1
- package/extensions/forms/Layout/Card.d.ts +1 -1
- package/extensions/forms/Layout/Card.js +5 -5
- package/extensions/forms/Layout/Card.js.map +1 -1
- package/extensions/forms/Layout/FlexContainer.d.ts +2 -1
- package/extensions/forms/Layout/FlexContainer.js +6 -5
- package/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/extensions/forms/Layout/FlexItem.d.ts +2 -1
- package/extensions/forms/Layout/FlexItem.js +4 -3
- package/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/extensions/forms/Layout/MainHeading.d.ts +4 -2
- package/extensions/forms/Layout/MainHeading.js +10 -4
- package/extensions/forms/Layout/MainHeading.js.map +1 -1
- package/extensions/forms/Layout/Section.d.ts +1 -1
- package/extensions/forms/Layout/Section.js +2 -2
- package/extensions/forms/Layout/Section.js.map +1 -1
- package/extensions/forms/Layout/SubHeading.d.ts +4 -2
- package/extensions/forms/Layout/SubHeading.js +10 -4
- package/extensions/forms/Layout/SubHeading.js.map +1 -1
- package/extensions/forms/Layout/index.d.ts +0 -2
- package/extensions/forms/Layout/index.js +1 -3
- package/extensions/forms/Layout/index.js.map +1 -1
- package/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
- package/extensions/forms/StepsLayout/Buttons.js +2 -2
- package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
- package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
- package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
- package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
- package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
- package/extensions/forms/StepsLayout/Step.d.ts +1 -1
- package/extensions/forms/StepsLayout/Step.js +2 -2
- package/extensions/forms/StepsLayout/Step.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js +3 -3
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/extensions/forms/Value/Boolean.d.ts +2 -3
- package/extensions/forms/Value/Boolean.js +4 -4
- package/extensions/forms/Value/Boolean.js.map +1 -1
- package/extensions/forms/Value/Number.d.ts +2 -3
- package/extensions/forms/Value/Number.js +5 -4
- package/extensions/forms/Value/Number.js.map +1 -1
- package/extensions/forms/Value/String.d.ts +2 -3
- package/extensions/forms/Value/String.js +4 -4
- package/extensions/forms/Value/String.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +0 -4
- package/extensions/forms/Value/index.js +0 -4
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
- package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/index.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +1 -0
- package/extensions/forms/hooks/index.js +1 -0
- package/extensions/forms/hooks/index.js.map +1 -0
- package/extensions/forms/hooks/useDataValue.d.ts +12 -0
- package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +90 -53
- package/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/extensions/forms/index.d.ts +4 -4
- package/extensions/forms/index.js +3 -2
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +105 -29
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/style/index.d.ts +1 -0
- package/extensions/forms/style/index.js +1 -0
- package/extensions/forms/style/index.js.map +1 -0
- package/extensions/forms/types.d.ts +95 -2
- package/extensions/forms/types.js +60 -0
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/extensions/forms/utils/index.d.ts +0 -1
- package/extensions/forms/utils/index.js +0 -1
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/extensions/forms/utils/useWasChanged.js +56 -0
- package/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/extensions/forms/variables.scss +3 -0
- package/extensions/lib.d.ts +1 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +7 -7
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
- package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/package.json +2 -1
- package/shared/Context.d.ts +2 -0
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/shared/libs/Shortcuts.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useMedia.js +33 -23
- package/shared/useMedia.js.map +1 -1
- package/style/core/reset.scss +13 -3
- package/style/core/utilities.scss +3 -1
- package/style/dnb-ui-components.css +142 -20
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-elements.css +23 -11
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +112 -36
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/customisations.scss +3 -7
- package/style/themes/theme-sbanken/properties.js +6 -6
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/fonts.scss +8 -4
- package/style/themes/theme-ui/ui-theme-basis.css +25 -11
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
- package/style/themes/theme-ui/ui-theme-components.css +173 -160
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/style/themes/theme-ui/ui-theme-elements.css +23 -11
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +112 -36
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +20 -11
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +6 -6
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
- package/cjs/extensions/forms/Field/FirstName.js +0 -31
- package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
- package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
- package/cjs/extensions/forms/Field/LastName.js +0 -31
- package/cjs/extensions/forms/Field/LastName.js.map +0 -1
- package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
- package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
- package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/cjs/extensions/forms/FieldGroup/index.js +0 -27
- package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
- package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
- package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
- package/cjs/extensions/forms/Value/FirstName.js +0 -28
- package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
- package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
- package/cjs/extensions/forms/Value/LastName.js +0 -28
- package/cjs/extensions/forms/Value/LastName.js.map +0 -1
- package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/cjs/extensions/forms/Value/hooks/index.js +0 -14
- package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
- package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
- package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/cjs/extensions/forms/component-types.d.ts +0 -4
- package/cjs/extensions/forms/component-types.js +0 -1
- package/cjs/extensions/forms/component-types.js.map +0 -1
- package/cjs/extensions/forms/field-types.d.ts +0 -52
- package/cjs/extensions/forms/field-types.js +0 -1
- package/cjs/extensions/forms/field-types.js.map +0 -1
- package/cjs/extensions/forms/utils/components.d.ts +0 -3
- package/cjs/extensions/forms/utils/components.js +0 -32
- package/cjs/extensions/forms/utils/components.js.map +0 -1
- package/cjs/extensions/forms/value-types.d.ts +0 -15
- package/cjs/extensions/forms/value-types.js +0 -1
- package/cjs/extensions/forms/value-types.js.map +0 -1
- package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
- package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/es/extensions/forms/Field/FirstName.d.ts +0 -7
- package/es/extensions/forms/Field/FirstName.js +0 -19
- package/es/extensions/forms/Field/FirstName.js.map +0 -1
- package/es/extensions/forms/Field/LastName.d.ts +0 -7
- package/es/extensions/forms/Field/LastName.js +0 -19
- package/es/extensions/forms/Field/LastName.js.map +0 -1
- package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/es/extensions/forms/Field/hooks/index.js +0 -1
- package/es/extensions/forms/Field/hooks/index.js.map +0 -1
- package/es/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
- package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/es/extensions/forms/FieldGroup/index.js +0 -3
- package/es/extensions/forms/FieldGroup/index.js.map +0 -1
- package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
- package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/es/extensions/forms/Value/FirstName.d.ts +0 -7
- package/es/extensions/forms/Value/FirstName.js +0 -16
- package/es/extensions/forms/Value/FirstName.js.map +0 -1
- package/es/extensions/forms/Value/LastName.d.ts +0 -7
- package/es/extensions/forms/Value/LastName.js +0 -16
- package/es/extensions/forms/Value/LastName.js.map +0 -1
- package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/es/extensions/forms/Value/hooks/index.js +0 -1
- package/es/extensions/forms/Value/hooks/index.js.map +0 -1
- package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/es/extensions/forms/Value/hooks/useValue.js +0 -22
- package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/es/extensions/forms/component-types.d.ts +0 -4
- package/es/extensions/forms/component-types.js +0 -1
- package/es/extensions/forms/component-types.js.map +0 -1
- package/es/extensions/forms/field-types.d.ts +0 -52
- package/es/extensions/forms/field-types.js +0 -1
- package/es/extensions/forms/field-types.js.map +0 -1
- package/es/extensions/forms/utils/components.d.ts +0 -3
- package/es/extensions/forms/utils/components.js +0 -23
- package/es/extensions/forms/utils/components.js.map +0 -1
- package/es/extensions/forms/value-types.d.ts +0 -15
- package/es/extensions/forms/value-types.js +0 -1
- package/es/extensions/forms/value-types.js.map +0 -1
- package/extensions/forms/DataContext/SubmitButton.js +0 -20
- package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
- package/extensions/forms/Field/FirstName.d.ts +0 -7
- package/extensions/forms/Field/FirstName.js +0 -19
- package/extensions/forms/Field/FirstName.js.map +0 -1
- package/extensions/forms/Field/LastName.d.ts +0 -7
- package/extensions/forms/Field/LastName.js +0 -19
- package/extensions/forms/Field/LastName.js.map +0 -1
- package/extensions/forms/Field/hooks/index.d.ts +0 -1
- package/extensions/forms/Field/hooks/index.js +0 -1
- package/extensions/forms/Field/hooks/index.js.map +0 -1
- package/extensions/forms/Field/hooks/useField.d.ts +0 -11
- package/extensions/forms/Field/hooks/useField.js.map +0 -1
- package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
- package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
- package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
- package/extensions/forms/FieldGroup/index.d.ts +0 -2
- package/extensions/forms/FieldGroup/index.js +0 -3
- package/extensions/forms/FieldGroup/index.js.map +0 -1
- package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
- package/extensions/forms/Layout/InfoCardSection.js +0 -17
- package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
- package/extensions/forms/Value/FirstName.d.ts +0 -7
- package/extensions/forms/Value/FirstName.js +0 -16
- package/extensions/forms/Value/FirstName.js.map +0 -1
- package/extensions/forms/Value/LastName.d.ts +0 -7
- package/extensions/forms/Value/LastName.js +0 -16
- package/extensions/forms/Value/LastName.js.map +0 -1
- package/extensions/forms/Value/hooks/index.d.ts +0 -1
- package/extensions/forms/Value/hooks/index.js +0 -1
- package/extensions/forms/Value/hooks/index.js.map +0 -1
- package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
- package/extensions/forms/Value/hooks/useValue.js +0 -22
- package/extensions/forms/Value/hooks/useValue.js.map +0 -1
- package/extensions/forms/component-types.d.ts +0 -4
- package/extensions/forms/component-types.js +0 -1
- package/extensions/forms/component-types.js.map +0 -1
- package/extensions/forms/field-types.d.ts +0 -52
- package/extensions/forms/field-types.js +0 -1
- package/extensions/forms/field-types.js.map +0 -1
- package/extensions/forms/utils/components.d.ts +0 -3
- package/extensions/forms/utils/components.js +0 -23
- package/extensions/forms/utils/components.js.map +0 -1
- package/extensions/forms/value-types.d.ts +0 -15
- package/extensions/forms/value-types.js +0 -1
- package/extensions/forms/value-types.js.map +0 -1
|
@@ -1,77 +1,118 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
3
|
var _em;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
4
|
+
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; }
|
|
5
|
+
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; }
|
|
6
|
+
import React, { useMemo, useContext, useCallback } from 'react';
|
|
7
|
+
import { Button, Dropdown, Radio, HelpButton } from '../../../components';
|
|
8
|
+
import ButtonRow from '../Layout/ButtonRow';
|
|
9
|
+
import FieldBlock from '../FieldBlock';
|
|
6
10
|
import classnames from 'classnames';
|
|
7
|
-
import {
|
|
11
|
+
import { makeUniqueId } from '../../../shared/component-helper';
|
|
12
|
+
import SharedContext from '../../../shared/Context';
|
|
8
13
|
import Option from './Option';
|
|
9
|
-
import {
|
|
14
|
+
import { useDataValue } from '../hooks';
|
|
15
|
+
import { FormError, pickSpacingProps } from '../types';
|
|
10
16
|
function Selection(props) {
|
|
17
|
+
const sharedContext = useContext(SharedContext);
|
|
18
|
+
const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, []);
|
|
11
19
|
const {
|
|
20
|
+
id,
|
|
12
21
|
className,
|
|
13
|
-
variant,
|
|
22
|
+
variant = 'dropdown',
|
|
23
|
+
clear,
|
|
14
24
|
label,
|
|
25
|
+
labelDescription,
|
|
26
|
+
labelSecondary,
|
|
15
27
|
layout = 'vertical',
|
|
28
|
+
optionsLayout = 'vertical',
|
|
16
29
|
placeholder,
|
|
17
30
|
value,
|
|
31
|
+
info,
|
|
32
|
+
warning,
|
|
18
33
|
error,
|
|
19
34
|
disabled,
|
|
35
|
+
help,
|
|
20
36
|
emptyValue,
|
|
21
37
|
width = 'large',
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
onChange,
|
|
38
|
+
setHasFocus,
|
|
39
|
+
handleChange,
|
|
25
40
|
children
|
|
26
|
-
} =
|
|
41
|
+
} = useDataValue(props);
|
|
27
42
|
const handleDropdownChange = useCallback(_ref => {
|
|
28
43
|
let {
|
|
29
44
|
data: {
|
|
30
45
|
selected_key
|
|
31
46
|
}
|
|
32
47
|
} = _ref;
|
|
33
|
-
|
|
34
|
-
}, [
|
|
48
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(!selected_key || selected_key === clearValue ? emptyValue : selected_key);
|
|
49
|
+
}, [handleChange, emptyValue, clearValue]);
|
|
35
50
|
const handleRadioChange = useCallback(_ref2 => {
|
|
36
51
|
let {
|
|
37
52
|
value
|
|
38
53
|
} = _ref2;
|
|
39
|
-
|
|
40
|
-
}, [
|
|
41
|
-
const
|
|
54
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(value === undefined ? emptyValue : value);
|
|
55
|
+
}, [handleChange, emptyValue]);
|
|
56
|
+
const handleShow = useCallback(_ref3 => {
|
|
42
57
|
let {
|
|
43
58
|
data
|
|
44
59
|
} = _ref3;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
setHasFocus(true, data === null || data === void 0 ? void 0 : data.selected_key);
|
|
61
|
+
}, [setHasFocus]);
|
|
62
|
+
const handleHide = useCallback(_ref4 => {
|
|
63
|
+
let {
|
|
64
|
+
data
|
|
65
|
+
} = _ref4;
|
|
66
|
+
setHasFocus(false, data === null || data === void 0 ? void 0 : data.selected_key);
|
|
67
|
+
}, [setHasFocus]);
|
|
68
|
+
const cn = classnames('dnb-forms-field-selection', className);
|
|
69
|
+
const fieldBlockProps = _objectSpread(_objectSpread({
|
|
70
|
+
forId: id,
|
|
71
|
+
className: cn
|
|
72
|
+
}, pickSpacingProps(props)), {}, {
|
|
73
|
+
info,
|
|
74
|
+
warning,
|
|
75
|
+
error,
|
|
76
|
+
layout,
|
|
77
|
+
label,
|
|
78
|
+
labelDescription,
|
|
79
|
+
labelSecondary
|
|
80
|
+
});
|
|
81
|
+
const options = useMemo(() => React.Children.toArray(children).filter(child => React.isValidElement(child) && child.type === Option).map(option => ({
|
|
82
|
+
title: option.props.title ?? option.props.children,
|
|
83
|
+
value: option.props.value,
|
|
84
|
+
handleSelect: () => {
|
|
85
|
+
const selected = option.props.value;
|
|
86
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(selected === value ? emptyValue : selected);
|
|
87
|
+
}
|
|
88
|
+
})), [children, value, emptyValue, handleChange]);
|
|
49
89
|
switch (variant) {
|
|
50
|
-
case 'checkbox':
|
|
51
|
-
return React.createElement(Div, _extends({
|
|
52
|
-
className: classnames('dnb-forms-field-selection', className)
|
|
53
|
-
}, forwardSpaceProps(props)), React.Children.toArray(children).filter(child => React.isValidElement(child) && child.type === Option).map((child, i) => React.createElement(Checkbox, {
|
|
54
|
-
key: child.props.value ?? `option-${i}`,
|
|
55
|
-
label: child.props.title ?? child.props.children,
|
|
56
|
-
value: String(child.props.value ?? '')
|
|
57
|
-
})));
|
|
58
90
|
case 'radio':
|
|
59
91
|
return React.createElement(Radio.Group, _extends({
|
|
60
|
-
className:
|
|
92
|
+
className: cn,
|
|
61
93
|
label: label,
|
|
62
|
-
layout_direction:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
key:
|
|
68
|
-
label:
|
|
69
|
-
value: String(
|
|
94
|
+
layout_direction: optionsLayout === 'horizontal' ? 'row' : 'column',
|
|
95
|
+
vertical: layout === 'vertical',
|
|
96
|
+
on_change: handleRadioChange,
|
|
97
|
+
value: String(value ?? '')
|
|
98
|
+
}, pickSpacingProps(props)), options.map((option, i) => React.createElement(Radio, {
|
|
99
|
+
key: `option-${i}-${option.value}`,
|
|
100
|
+
label: option.title,
|
|
101
|
+
value: String(option.value ?? '')
|
|
70
102
|
})));
|
|
71
|
-
|
|
103
|
+
case 'button':
|
|
104
|
+
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ButtonRow, null, options.map((option, i) => React.createElement(Button, {
|
|
105
|
+
key: `option-${i}-${option.value}`,
|
|
106
|
+
id: id,
|
|
107
|
+
text: option.title,
|
|
108
|
+
on_click: option.handleSelect,
|
|
109
|
+
variant: option.value === value ? undefined : 'secondary',
|
|
110
|
+
status: error ? 'error' : undefined,
|
|
111
|
+
disabled: disabled
|
|
112
|
+
}))));
|
|
72
113
|
case 'dropdown':
|
|
73
114
|
{
|
|
74
|
-
const
|
|
115
|
+
const optionsData = React.Children.map(children, child => {
|
|
75
116
|
if (React.isValidElement(child) && child.type === Option) {
|
|
76
117
|
return child.props.text ? {
|
|
77
118
|
selected_key: String(child.props.value ?? ''),
|
|
@@ -85,21 +126,28 @@ function Selection(props) {
|
|
|
85
126
|
content: child
|
|
86
127
|
};
|
|
87
128
|
});
|
|
129
|
+
const data = [clear ? {
|
|
130
|
+
selected_key: clearValue,
|
|
131
|
+
content: React.createElement("em", null, sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.selectionClearSelected)
|
|
132
|
+
} : undefined, ...(optionsData ?? [])].filter(Boolean);
|
|
88
133
|
return React.createElement(Dropdown, _extends({
|
|
89
134
|
className: classnames('dnb-forms-field-selection', className, width !== 'stretch' && `dnb-forms-field-selection--width-${width}`),
|
|
90
135
|
list_class: "dnb-forms-field-selection__list",
|
|
91
136
|
portal_class: "dnb-forms-field-selection__portal",
|
|
92
137
|
title: placeholder,
|
|
93
|
-
|
|
138
|
+
value: String(value ?? ''),
|
|
94
139
|
label: label,
|
|
95
140
|
label_direction: layout,
|
|
96
|
-
status: error === null || error === void 0 ? void 0 : error.message,
|
|
141
|
+
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())),
|
|
97
142
|
disabled: disabled,
|
|
98
143
|
data: data,
|
|
144
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
145
|
+
title: help.title
|
|
146
|
+
}, help.contents) : undefined,
|
|
99
147
|
on_change: handleDropdownChange,
|
|
100
|
-
on_show:
|
|
148
|
+
on_show: handleShow,
|
|
101
149
|
on_hide: handleHide
|
|
102
|
-
},
|
|
150
|
+
}, pickSpacingProps(props), {
|
|
103
151
|
stretch: width === 'stretch'
|
|
104
152
|
}));
|
|
105
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","names":["React","useCallback","Div","Dropdown","Radio","Checkbox","classnames","forwardSpaceProps","Option","useField","Selection","props","className","variant","label","layout","placeholder","value","error","disabled","emptyValue","width","onBlur","onFocus","onChange","children","handleDropdownChange","_ref","data","selected_key","handleRadioChange","_ref2","undefined","handleHide","_ref3","onBlurValue","createElement","_extends","Children","toArray","filter","child","isValidElement","type","map","i","key","title","String","Group","layout_direction","on_change","vertical","text","content","_em","list_class","portal_class","default_value","label_direction","status","message","on_show","on_hide","stretch","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/Selection.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { Div } from '../../../elements'\nimport { Dropdown, Radio, Checkbox } from '../../../components'\nimport classnames from 'classnames'\nimport { forwardSpaceProps } from '../utils'\nimport Option from './Option'\nimport { useField } from './hooks'\nimport type { ComponentProps } from '../component-types'\nimport type { FieldProps } from '../field-types'\n\nexport type Props = ComponentProps &\n FieldProps<string | number> & {\n children?: React.ReactNode\n variant?: 'dropdown' | 'radio' | 'checkbox'\n // Styling\n width?: 'medium' | 'large' | 'stretch'\n }\n\nfunction Selection(props: Props) {\n const {\n className,\n variant,\n label,\n layout = 'vertical',\n placeholder,\n value,\n error,\n disabled,\n emptyValue,\n width = 'large',\n onBlur,\n onFocus,\n onChange,\n children,\n } = useField(props)\n\n const handleDropdownChange = useCallback(\n ({ data: { selected_key } }) => {\n onChange?.(!selected_key ? emptyValue : selected_key)\n },\n [onChange, emptyValue]\n )\n\n const handleRadioChange = useCallback(\n ({ value }) => {\n onChange?.(value === undefined ? emptyValue : value)\n },\n [onChange, emptyValue]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n // Provide a value because selecting an option will lead to onChange and onBlur called in parallel, so onBlur might receive the old value\n onBlur?.({ onBlurValue: data?.selected_key })\n },\n [onBlur]\n )\n\n switch (variant) {\n case 'checkbox':\n return (\n <Div\n className={classnames('dnb-forms-field-selection', className)}\n {...forwardSpaceProps(props)}\n >\n {React.Children.toArray(children)\n .filter(\n (child) =>\n React.isValidElement(child) && child.type === Option\n )\n .map((child: React.ReactElement, i) => (\n <Checkbox\n key={child.props.value ?? `option-${i}`}\n label={child.props.title ?? child.props.children}\n value={String(child.props.value ?? '')}\n />\n ))}\n </Div>\n )\n case 'radio':\n return (\n <Radio.Group\n className={classnames('dnb-forms-field-selection', className)}\n label={label}\n layout_direction=\"column\"\n on_change={handleRadioChange}\n {...forwardSpaceProps(props)}\n vertical\n >\n {React.Children.toArray(children)\n .filter(\n (child) =>\n React.isValidElement(child) && child.type === Option\n )\n .map((child: React.ReactElement, i) => (\n <Radio\n key={child.props.value ?? `option-${i}`}\n label={child.props.title ?? child.props.children}\n value={String(child.props.value ?? '')}\n />\n ))}\n </Radio.Group>\n )\n default:\n case 'dropdown': {\n const data = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selected_key: String(child.props.value ?? ''),\n content: [\n child.props.title ?? child.props.children ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selected_key: child.props.value,\n content: child.props.title ?? child.props.children,\n }\n }\n\n // For other children, just show them as content\n return {\n content: child,\n }\n })\n\n return (\n <Dropdown\n className={classnames(\n 'dnb-forms-field-selection',\n width !== 'stretch' &&\n `dnb-forms-field-selection--width-${width}`,\n className\n )}\n list_class=\"dnb-forms-field-selection__list\"\n portal_class=\"dnb-forms-field-selection__portal\"\n title={placeholder}\n default_value={String(value ?? '')}\n label={label}\n label_direction={layout}\n status={error?.message}\n disabled={disabled}\n data={data}\n on_change={handleDropdownChange}\n on_show={onFocus}\n on_hide={handleHide}\n {...forwardSpaceProps(props)}\n stretch={width === 'stretch'}\n />\n )\n }\n }\n}\n\nSelection._supportsEufemiaSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Selection.js","names":["React","useMemo","useContext","useCallback","Button","Dropdown","Radio","HelpButton","ButtonRow","FieldBlock","classnames","makeUniqueId","SharedContext","Option","useDataValue","FormError","pickSpacingProps","Selection","props","sharedContext","clearValue","id","className","variant","clear","label","labelDescription","labelSecondary","layout","optionsLayout","placeholder","value","info","warning","error","disabled","help","emptyValue","width","setHasFocus","handleChange","children","handleDropdownChange","_ref","data","selected_key","handleRadioChange","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","fieldBlockProps","_objectSpread","forId","options","Children","toArray","filter","child","isValidElement","type","map","option","title","handleSelect","selected","createElement","Group","_extends","layout_direction","vertical","on_change","String","i","key","text","on_click","status","optionsData","content","_em","translation","Forms","selectionClearSelected","Boolean","list_class","portal_class","label_direction","message","Error","toString","suffix","contents","on_show","on_hide","stretch","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/Selection.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Button, Dropdown, Radio, HelpButton } from '../../../components'\nimport ButtonRow from '../Layout/ButtonRow'\nimport FieldBlock from '../FieldBlock'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport SharedContext from '../../../shared/Context'\nimport Option from './Option'\nimport { useDataValue } from '../hooks'\nimport {\n FormError,\n FieldProps,\n FieldHelpProps,\n pickSpacingProps,\n} from '../types'\n\ninterface IOption {\n title: string | React.ReactNode\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<string | number> & {\n children?: React.ReactNode\n variant?: 'dropdown' | 'radio' | 'button'\n clear?: boolean\n optionsLayout?: 'horizontal' | 'vertical'\n width?: 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction Selection(props: Props) {\n const sharedContext = useContext(SharedContext)\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n clear,\n label,\n labelDescription,\n labelSecondary,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n emptyValue,\n width = 'large',\n setHasFocus,\n handleChange,\n children,\n } = useDataValue(props)\n\n const handleDropdownChange = useCallback(\n ({ data: { selected_key } }) => {\n handleChange?.(\n !selected_key || selected_key === clearValue\n ? emptyValue\n : selected_key\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const handleRadioChange = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useDataValues handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selected_key)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selected_key)\n },\n [setHasFocus]\n )\n\n const cn = classnames('dnb-forms-field-selection', className)\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n labelSecondary,\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 handleChange?.(selected === value ? emptyValue : selected)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'radio':\n return (\n <Radio.Group\n className={cn}\n label={label}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n vertical={layout === 'vertical'}\n on_change={handleRadioChange}\n value={String(value ?? '')}\n {...pickSpacingProps(props)}\n >\n {options.map((option, i) => (\n <Radio\n key={`option-${i}-${option.value}`}\n label={option.title}\n value={String(option.value ?? '')}\n />\n ))}\n </Radio.Group>\n )\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={option.value === value ? undefined : 'secondary'}\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n ))}\n </ButtonRow>\n </FieldBlock>\n )\n case 'dropdown': {\n const optionsData = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selected_key: String(child.props.value ?? ''),\n content: [\n child.props.title ?? child.props.children ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selected_key: child.props.value,\n content: child.props.title ?? child.props.children,\n }\n }\n\n // For other children, just show them as content\n return {\n content: child,\n }\n })\n const data = [\n clear\n ? {\n selected_key: clearValue,\n content: (\n <em>\n {sharedContext?.translation.Forms.selectionClearSelected}\n </em>\n ),\n }\n : undefined,\n ...(optionsData ?? []),\n ].filter(Boolean)\n\n return (\n <Dropdown\n className={classnames(\n 'dnb-forms-field-selection',\n width !== 'stretch' &&\n `dnb-forms-field-selection--width-${width}`,\n className\n )}\n list_class=\"dnb-forms-field-selection__list\"\n portal_class=\"dnb-forms-field-selection__portal\"\n title={placeholder}\n value={String(value ?? '')}\n label={label}\n label_direction={layout}\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 disabled={disabled}\n data={data}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleDropdownChange}\n on_show={handleShow}\n on_hide={handleHide}\n {...pickSpacingProps(props)}\n stretch={width === 'stretch'}\n />\n )\n }\n }\n}\n\nSelection._supportsEufemiaSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { InputProps } from '../../../components/input/Input';
|
|
2
2
|
import { InputMaskedProps } from '../../../components/InputMasked';
|
|
3
|
-
import
|
|
4
|
-
import type { FieldProps } from '../field-types';
|
|
3
|
+
import { FieldProps, FieldHelpProps } from '../types';
|
|
5
4
|
interface ErrorMessages {
|
|
6
5
|
required?: string;
|
|
7
6
|
schema?: string;
|
|
@@ -9,7 +8,7 @@ interface ErrorMessages {
|
|
|
9
8
|
maxLength?: string;
|
|
10
9
|
pattern?: string;
|
|
11
10
|
}
|
|
12
|
-
export type Props =
|
|
11
|
+
export type Props = FieldHelpProps & FieldProps<string, undefined | string, ErrorMessages> & {
|
|
13
12
|
inputClassName?: string;
|
|
14
13
|
type?: InputProps['type'];
|
|
15
14
|
multiline?: boolean;
|
|
@@ -23,7 +22,7 @@ export type Props = ComponentProps & FieldProps<string, undefined, ErrorMessages
|
|
|
23
22
|
minLength?: number;
|
|
24
23
|
maxLength?: number;
|
|
25
24
|
pattern?: string;
|
|
26
|
-
width?: false | 'medium' | 'large' | 'stretch';
|
|
25
|
+
width?: false | 'small' | 'medium' | 'large' | 'stretch';
|
|
27
26
|
};
|
|
28
27
|
declare function StringComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
29
28
|
declare namespace StringComponent {
|
|
@@ -4,12 +4,12 @@ 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, { useContext } from 'react';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
-
import { Input, Textarea } from '../../../components';
|
|
7
|
+
import { HelpButton, Input, Textarea } from '../../../components';
|
|
8
8
|
import InputMasked from '../../../components/InputMasked';
|
|
9
|
-
import { forwardSpaceProps } from '../utils';
|
|
10
9
|
import SharedContext from '../../../shared/Context';
|
|
11
10
|
import FieldBlock from '../FieldBlock';
|
|
12
|
-
import {
|
|
11
|
+
import { useDataValue } from '../hooks';
|
|
12
|
+
import { pickSpacingProps } from '../types';
|
|
13
13
|
function StringComponent(props) {
|
|
14
14
|
var _props$minLength, _props$maxLength;
|
|
15
15
|
const sharedContext = useContext(SharedContext);
|
|
@@ -53,6 +53,7 @@ function StringComponent(props) {
|
|
|
53
53
|
warning,
|
|
54
54
|
error,
|
|
55
55
|
disabled,
|
|
56
|
+
help,
|
|
56
57
|
multiline,
|
|
57
58
|
leftIcon,
|
|
58
59
|
rightIcon,
|
|
@@ -62,10 +63,10 @@ function StringComponent(props) {
|
|
|
62
63
|
characterCounter,
|
|
63
64
|
mask,
|
|
64
65
|
width,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
} =
|
|
66
|
+
handleFocus,
|
|
67
|
+
handleBlur,
|
|
68
|
+
handleChange
|
|
69
|
+
} = useDataValue(preparedProps);
|
|
69
70
|
const characterCounterElement = characterCounter ? props.maxLength ? `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}/${props.maxLength}` : `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}` : undefined;
|
|
70
71
|
const cn = classnames('dnb-forms-field-string__input', inputClassName);
|
|
71
72
|
return React.createElement(FieldBlock, _extends({
|
|
@@ -79,28 +80,36 @@ function StringComponent(props) {
|
|
|
79
80
|
warning: warning,
|
|
80
81
|
error: error,
|
|
81
82
|
contentsWidth: width !== false ? width : undefined
|
|
82
|
-
},
|
|
83
|
+
}, pickSpacingProps(props)), multiline ? React.createElement(Textarea, {
|
|
83
84
|
id: id,
|
|
84
85
|
className: cn,
|
|
85
86
|
placeholder: placeholder,
|
|
86
87
|
value: value,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
89
|
+
title: help.title,
|
|
90
|
+
left: "x-small"
|
|
91
|
+
}, help.contents) : undefined,
|
|
92
|
+
on_focus: handleFocus,
|
|
93
|
+
on_blur: handleBlur,
|
|
94
|
+
on_change: handleChange,
|
|
90
95
|
autoresize: autoresize,
|
|
91
96
|
autoresize_max_rows: autoresizeMaxRows,
|
|
92
97
|
disabled: disabled,
|
|
93
98
|
stretch: width !== undefined
|
|
94
99
|
}) : mask ? React.createElement(InputMasked, {
|
|
100
|
+
id: id,
|
|
95
101
|
className: cn,
|
|
96
102
|
mask: mask,
|
|
97
103
|
placeholder: placeholder,
|
|
98
104
|
value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
|
|
99
105
|
icon: leftIcon ?? rightIcon,
|
|
100
106
|
icon_position: rightIcon && !leftIcon ? 'right' : undefined,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
108
|
+
title: help.title
|
|
109
|
+
}, help.contents) : undefined,
|
|
110
|
+
on_focus: handleFocus,
|
|
111
|
+
on_blur: handleBlur,
|
|
112
|
+
on_change: handleChange,
|
|
104
113
|
disabled: disabled,
|
|
105
114
|
stretch: width !== undefined
|
|
106
115
|
}) : React.createElement(Input, {
|
|
@@ -112,9 +121,12 @@ function StringComponent(props) {
|
|
|
112
121
|
icon: leftIcon ?? rightIcon,
|
|
113
122
|
icon_position: rightIcon && !leftIcon ? 'right' : undefined,
|
|
114
123
|
clear: clear,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
124
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
125
|
+
title: help.title
|
|
126
|
+
}, help.contents) : undefined,
|
|
127
|
+
on_focus: handleFocus,
|
|
128
|
+
on_blur: handleBlur,
|
|
129
|
+
on_change: handleChange,
|
|
118
130
|
disabled: disabled,
|
|
119
131
|
stretch: width !== undefined
|
|
120
132
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.js","names":["React","useContext","classnames","Input","Textarea","InputMasked","forwardSpaceProps","SharedContext","FieldBlock","useField","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","className","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","onFocus","onBlur","onChange","characterCounterElement","length","undefined","cn","createElement","_extends","forId","contentsWidth","on_focus","on_blur","on_change","autoresize_max_rows","stretch","icon","icon_position","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { Input, Textarea } from '../../../components'\nimport { InputProps } from '../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../components/InputMasked'\nimport { forwardSpaceProps } from '../utils'\nimport SharedContext from '../../../shared/Context'\nimport FieldBlock from '../FieldBlock'\nimport { useField } from './hooks'\nimport type { ComponentProps } from '../component-types'\nimport type { FieldProps } from '../field-types'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = ComponentProps &\n FieldProps<string, undefined, ErrorMessages> & {\n inputClassName?: string\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n clear?: boolean\n autoresize?: boolean\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n const {\n id,\n className,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n onFocus,\n onBlur,\n onChange,\n } = useField(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...forwardSpaceProps(props)}\n >\n {multiline ? (\n <Textarea\n id={id}\n className={cn}\n placeholder={placeholder}\n value={value}\n on_focus={onFocus}\n on_blur={onBlur}\n on_change={onChange}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n disabled={disabled}\n stretch={width !== undefined}\n />\n ) : mask ? (\n <InputMasked\n className={cn}\n mask={mask}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n on_focus={onFocus}\n on_blur={onBlur}\n on_change={onChange}\n disabled={disabled}\n stretch={width !== undefined}\n />\n ) : (\n <Input\n id={id}\n className={cn}\n type={type}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n on_focus={onFocus}\n on_blur={onBlur}\n on_change={onChange}\n disabled={disabled}\n stretch={width !== undefined}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsEufemiaSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"String.js","names":["React","useContext","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","className","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","createElement","_extends","forId","contentsWidth","suffix","title","left","contents","on_focus","on_blur","on_change","autoresize_max_rows","stretch","icon","icon_position","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../components'\nimport { InputProps } from '../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../components/InputMasked'\nimport SharedContext from '../../../shared/Context'\nimport FieldBlock from '../FieldBlock'\nimport { useDataValue } from '../hooks'\nimport { FieldProps, FieldHelpProps, pickSpacingProps } from '../types'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n inputClassName?: string\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n clear?: boolean\n autoresize?: boolean\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n const {\n id,\n className,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n id={id}\n className={cn}\n placeholder={placeholder}\n value={value}\n suffix={\n help ? (\n <HelpButton title={help.title} left=\"x-small\">\n {help.contents}\n </HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n disabled={disabled}\n stretch={width !== undefined}\n />\n ) : mask ? (\n <InputMasked\n id={id}\n className={cn}\n mask={mask}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n />\n ) : (\n <Input\n id={id}\n className={cn}\n type={type}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsEufemiaSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export type Props = ComponentProps & FieldProps<unknown> & {
|
|
1
|
+
import { FieldProps } from '../types';
|
|
2
|
+
export type Props = FieldProps<unknown> & {
|
|
4
3
|
valueOn: unknown;
|
|
5
4
|
valueOff: unknown;
|
|
6
5
|
variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons';
|
|
@@ -8,8 +8,8 @@ import { Checkbox, ToggleButton, Button, Space } from '../../../components';
|
|
|
8
8
|
import classnames from 'classnames';
|
|
9
9
|
import ButtonRow from '../Layout/ButtonRow';
|
|
10
10
|
import FieldBlock from '../FieldBlock';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { useDataValue } from '../hooks';
|
|
12
|
+
import { pickSpacingProps } from '../types';
|
|
13
13
|
import SharedContext from '../../../shared/Context';
|
|
14
14
|
function Toggle(props) {
|
|
15
15
|
const sharedContext = useContext(SharedContext);
|
|
@@ -23,35 +23,36 @@ function Toggle(props) {
|
|
|
23
23
|
disabled,
|
|
24
24
|
label,
|
|
25
25
|
labelDescription,
|
|
26
|
+
labelSecondary,
|
|
26
27
|
textOn,
|
|
27
28
|
textOff,
|
|
28
29
|
value,
|
|
29
30
|
info,
|
|
30
31
|
warning,
|
|
31
32
|
error,
|
|
32
|
-
|
|
33
|
-
} =
|
|
33
|
+
handleChange
|
|
34
|
+
} = useDataValue(props);
|
|
34
35
|
const handleCheckboxChange = useCallback(_ref => {
|
|
35
36
|
let {
|
|
36
37
|
checked
|
|
37
38
|
} = _ref;
|
|
38
|
-
|
|
39
|
-
}, [
|
|
39
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(checked ? valueOn : valueOff);
|
|
40
|
+
}, [handleChange, valueOn, valueOff]);
|
|
40
41
|
const setOn = useCallback(() => {
|
|
41
42
|
if (value !== valueOn) {
|
|
42
|
-
|
|
43
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(valueOn);
|
|
43
44
|
}
|
|
44
|
-
}, [
|
|
45
|
+
}, [handleChange, value, valueOn]);
|
|
45
46
|
const setOff = useCallback(() => {
|
|
46
47
|
if (value !== valueOff) {
|
|
47
|
-
|
|
48
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(valueOff);
|
|
48
49
|
}
|
|
49
|
-
}, [
|
|
50
|
-
const cn = classnames('dnb-forms-field-
|
|
50
|
+
}, [handleChange, value, valueOff]);
|
|
51
|
+
const cn = classnames('dnb-forms-field-toggle', className);
|
|
51
52
|
const fieldBlockPropsWithoutLabel = _objectSpread(_objectSpread({
|
|
52
53
|
forId: id,
|
|
53
54
|
className: cn
|
|
54
|
-
},
|
|
55
|
+
}, pickSpacingProps(props)), {}, {
|
|
55
56
|
info,
|
|
56
57
|
warning,
|
|
57
58
|
error
|
|
@@ -59,7 +60,8 @@ function Toggle(props) {
|
|
|
59
60
|
const fieldBlockProps = _objectSpread(_objectSpread({}, fieldBlockPropsWithoutLabel), {}, {
|
|
60
61
|
layout,
|
|
61
62
|
label,
|
|
62
|
-
labelDescription
|
|
63
|
+
labelDescription,
|
|
64
|
+
labelSecondary
|
|
63
65
|
});
|
|
64
66
|
const isOn = value === valueOn;
|
|
65
67
|
switch (variant) {
|
|
@@ -72,7 +74,7 @@ function Toggle(props) {
|
|
|
72
74
|
checked: isOn,
|
|
73
75
|
disabled: disabled,
|
|
74
76
|
on_change: handleCheckboxChange
|
|
75
|
-
},
|
|
77
|
+
}, pickSpacingProps(props))));
|
|
76
78
|
case 'button':
|
|
77
79
|
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ToggleButton, {
|
|
78
80
|
id: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","Button","Space","classnames","ButtonRow","FieldBlock","
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","Button","Space","classnames","ButtonRow","FieldBlock","useDataValue","pickSpacingProps","SharedContext","Toggle","props","sharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","labelSecondary","textOn","textOff","value","info","warning","error","handleChange","handleCheckboxChange","_ref","checked","setOn","setOff","cn","fieldBlockPropsWithoutLabel","_objectSpread","forId","fieldBlockProps","isOn","createElement","_extends","on_change","text","translation","Forms","booleanYes","booleanNo","on_click","undefined","status","_Space","bottom","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/Field/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton, Button, Space } from '../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../Layout/ButtonRow'\nimport FieldBlock from '../FieldBlock'\nimport { useDataValue } from '../hooks'\nimport { FieldProps, pickSpacingProps } from '../types'\nimport SharedContext from '../../../shared/Context'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n labelSecondary,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const setOn = useCallback(() => {\n if (value !== valueOn) {\n handleChange?.(valueOn)\n }\n }, [handleChange, value, valueOn])\n\n const setOff = useCallback(() => {\n if (value !== valueOff) {\n handleChange?.(valueOff)\n }\n }, [handleChange, value, valueOff])\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n labelSecondary,\n }\n\n const isOn = value === valueOn\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ButtonRow>\n <Button\n id={id}\n text={textOn ?? sharedContext?.translation.Forms.booleanYes}\n on_click={setOn}\n variant={isOn ? undefined : 'secondary'}\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n <Button\n id={id}\n text={textOff ?? sharedContext?.translation.Forms.booleanNo}\n on_click={setOff}\n variant={isOn ? 'secondary' : undefined}\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n </ButtonRow>\n <Space bottom=\"x-small\" />\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsEufemiaSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
$forms-field-width-medium:
|
|
2
|
-
$forms-field-width-large:
|
|
1
|
+
$forms-field-width-medium: 11rem;
|
|
2
|
+
$forms-field-width-large: 21rem;
|
|
@@ -5,8 +5,6 @@ import BooleanComponent from './Boolean';
|
|
|
5
5
|
import Currency from './Currency';
|
|
6
6
|
import DateComponent from './Date';
|
|
7
7
|
import Email from './Email';
|
|
8
|
-
import FirstName from './FirstName';
|
|
9
|
-
import LastName from './LastName';
|
|
10
8
|
import NationalIdentityNumber from './NationalIdentityNumber';
|
|
11
9
|
import PhoneNumber from './PhoneNumber';
|
|
12
10
|
import OrganizationNumber from './OrganizationNumber';
|
|
@@ -16,6 +14,7 @@ import ArraySelection from './ArraySelection';
|
|
|
16
14
|
import Option from './Option';
|
|
17
15
|
import SelectCountry from './SelectCountry';
|
|
18
16
|
import BankAccountNumber from './BankAccountNumber';
|
|
17
|
+
import CountryCode from './CountryCode';
|
|
19
18
|
declare const Field: {
|
|
20
19
|
String: typeof StringComponent;
|
|
21
20
|
Number: typeof NumberComponent;
|
|
@@ -24,8 +23,6 @@ declare const Field: {
|
|
|
24
23
|
Currency: typeof Currency;
|
|
25
24
|
Date: typeof DateComponent;
|
|
26
25
|
Email: typeof Email;
|
|
27
|
-
FirstName: typeof FirstName;
|
|
28
|
-
LastName: typeof LastName;
|
|
29
26
|
NationalIdentityNumber: typeof NationalIdentityNumber;
|
|
30
27
|
OrganizationNumber: typeof OrganizationNumber;
|
|
31
28
|
PhoneNumber: typeof PhoneNumber;
|
|
@@ -35,5 +32,6 @@ declare const Field: {
|
|
|
35
32
|
Option: typeof Option;
|
|
36
33
|
SelectCountry: typeof SelectCountry;
|
|
37
34
|
BankAccountNumber: typeof BankAccountNumber;
|
|
35
|
+
CountryCode: typeof CountryCode;
|
|
38
36
|
};
|
|
39
37
|
export default Field;
|