@dnb/eufemia 10.15.0 → 10.16.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 +53 -0
- package/assets/icons/dnb/browser.svg +1 -0
- package/assets/icons/dnb/browser_medium.svg +1 -0
- package/assets/icons/dnb/coins_1.svg +1 -1
- package/assets/icons/dnb/coins_1_medium.svg +1 -1
- package/assets/icons/dnb/digipass_corporate.svg +1 -0
- package/assets/icons/dnb/digipass_corporate_medium.svg +1 -0
- package/assets/icons/dnb/digipass_private.svg +1 -0
- package/assets/icons/dnb/digipass_private_medium.svg +1 -0
- package/assets/icons/dnb/envelope_open.svg +1 -0
- package/assets/icons/dnb/envelope_open_medium.svg +1 -0
- package/assets/icons/dnb/eufemia-icons-xml-categorized.tgz +0 -0
- package/assets/icons/dnb/eufemia-icons-xml.tgz +0 -0
- package/assets/icons/dnb/laptop.svg +1 -0
- package/assets/icons/dnb/laptop_medium.svg +1 -0
- package/assets/icons/dnb/mobile.svg +1 -0
- package/assets/icons/dnb/mobile_medium.svg +1 -0
- package/assets/icons/dnb/money_left.svg +1 -0
- package/assets/icons/dnb/money_left_medium.svg +1 -0
- package/assets/icons/dnb/scan.svg +1 -1
- package/assets/icons/dnb/scan_medium.svg +1 -1
- package/assets/icons/dnb/teenager.svg +1 -0
- package/assets/icons/dnb/teenager_medium.svg +1 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +0 -17
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +0 -16
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +2 -2
- package/cjs/components/anchor/style/anchor-mixins.scss +8 -6
- package/cjs/components/anchor/style/dnb-anchor.css +45 -60
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -0
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +0 -2
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/style/dnb-button.css +1 -0
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +0 -25
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/cjs/components/card/Card.d.ts +1 -1
- package/cjs/components/card/Card.js +48 -9
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +0 -20
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +0 -20
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/cjs/components/date-picker/DatePicker.d.ts +5 -1
- package/cjs/components/date-picker/DatePicker.js +4 -2
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +20 -6
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +2 -2
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +3 -2
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/cjs/components/dialog/style/dnb-dialog.css +0 -1
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/flex/Container.d.ts +2 -4
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Item.d.ts +2 -3
- package/cjs/components/flex/Item.js +2 -1
- package/cjs/components/flex/Item.js.map +1 -1
- package/cjs/components/flex/style/dnb-flex.css +0 -1
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/global-error/style/dnb-global-error.css +0 -4
- package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
- package/cjs/components/grid/style/dnb-grid.css +0 -2
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/info-card/style/dnb-info-card.css +1 -4
- package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
- package/cjs/components/input/Input.d.ts +3 -2
- package/cjs/components/input/style/dnb-input.css +6 -0
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +5 -5
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/cjs/components/input-masked/InputMaskedUtils.js +9 -7
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
- package/cjs/components/input-masked/MultiInputMask.js +4 -2
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/TextMask.js +15 -4
- package/cjs/components/input-masked/TextMask.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +3 -1
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.js +93 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/cjs/components/pagination/style/dnb-pagination.css +0 -1
- package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/radio/RadioGroup.js +0 -1
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/section/Section.d.ts +7 -0
- package/cjs/components/section/Section.js +11 -12
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +8 -8
- package/cjs/components/section/style/dnb-section.min.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +8 -4
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +11 -10
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.css +0 -2
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/skip-content/style/dnb-skip-content.css +1 -4
- package/cjs/components/skip-content/style/dnb-skip-content.min.css +1 -1
- package/cjs/components/table/style/dnb-table.css +1 -4
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/cjs/components/tabs/style/dnb-tabs.css +1 -0
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tag/style/dnb-tag.css +0 -1
- package/cjs/components/tag/style/dnb-tag.min.css +1 -1
- package/cjs/components/textarea/Textarea.js +4 -9
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +5 -2
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +2 -2
- package/cjs/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/cjs/components/tooltip/style/dnb-tooltip.css +1 -0
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/cjs/components/upload/style/dnb-upload.css +3 -12
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/components/upload/types.d.ts +1 -1
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +3 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +7 -5
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +69 -30
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +59 -50
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
- package/cjs/extensions/forms/Field/String/String.js +13 -8
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -8
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -3
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -17
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/cjs/extensions/forms/constants/countries.js +4 -2
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +98 -48
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +42 -39
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +12 -2
- package/cjs/extensions/forms/types.js +1 -1
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -2
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/icons/browser.d.ts +3 -0
- package/cjs/icons/browser.js +11 -0
- package/cjs/icons/browser.js.map +1 -0
- package/cjs/icons/browser_medium.d.ts +3 -0
- package/cjs/icons/browser_medium.js +11 -0
- package/cjs/icons/browser_medium.js.map +1 -0
- package/cjs/icons/digipass_corporate.d.ts +3 -0
- package/cjs/icons/digipass_corporate.js +11 -0
- package/cjs/icons/digipass_corporate.js.map +1 -0
- package/cjs/icons/digipass_corporate_medium.d.ts +3 -0
- package/cjs/icons/digipass_corporate_medium.js +11 -0
- package/cjs/icons/digipass_corporate_medium.js.map +1 -0
- package/cjs/icons/digipass_private.d.ts +3 -0
- package/cjs/icons/digipass_private.js +11 -0
- package/cjs/icons/digipass_private.js.map +1 -0
- package/cjs/icons/digipass_private_medium.d.ts +3 -0
- package/cjs/icons/digipass_private_medium.js +11 -0
- package/cjs/icons/digipass_private_medium.js.map +1 -0
- package/cjs/icons/dnb/browser.d.ts +3 -0
- package/cjs/icons/dnb/browser.js +25 -0
- package/cjs/icons/dnb/browser.js.map +1 -0
- package/cjs/icons/dnb/browser_medium.d.ts +3 -0
- package/cjs/icons/dnb/browser_medium.js +25 -0
- package/cjs/icons/dnb/browser_medium.js.map +1 -0
- package/cjs/icons/dnb/coins_1.js +1 -1
- package/cjs/icons/dnb/coins_1.js.map +1 -1
- package/cjs/icons/dnb/coins_1_medium.js +1 -1
- package/cjs/icons/dnb/coins_1_medium.js.map +1 -1
- package/cjs/icons/dnb/digipass_corporate.d.ts +3 -0
- package/cjs/icons/dnb/digipass_corporate.js +25 -0
- package/cjs/icons/dnb/digipass_corporate.js.map +1 -0
- package/cjs/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/cjs/icons/dnb/digipass_corporate_medium.js +25 -0
- package/cjs/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/cjs/icons/dnb/digipass_private.d.ts +3 -0
- package/cjs/icons/dnb/digipass_private.js +25 -0
- package/cjs/icons/dnb/digipass_private.js.map +1 -0
- package/cjs/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/cjs/icons/dnb/digipass_private_medium.js +25 -0
- package/cjs/icons/dnb/digipass_private_medium.js.map +1 -0
- package/cjs/icons/dnb/envelope_open.d.ts +3 -0
- package/cjs/icons/dnb/envelope_open.js +26 -0
- package/cjs/icons/dnb/envelope_open.js.map +1 -0
- package/cjs/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/cjs/icons/dnb/envelope_open_medium.js +26 -0
- package/cjs/icons/dnb/envelope_open_medium.js.map +1 -0
- package/cjs/icons/dnb/icons-meta.json +230 -20
- package/cjs/icons/dnb/icons-svg.lock +1272 -1064
- package/cjs/icons/dnb/index.d.ts +17 -1
- package/cjs/icons/dnb/index.js +112 -0
- package/cjs/icons/dnb/index.js.map +1 -1
- package/cjs/icons/dnb/laptop.d.ts +3 -0
- package/cjs/icons/dnb/laptop.js +26 -0
- package/cjs/icons/dnb/laptop.js.map +1 -0
- package/cjs/icons/dnb/laptop_medium.d.ts +3 -0
- package/cjs/icons/dnb/laptop_medium.js +26 -0
- package/cjs/icons/dnb/laptop_medium.js.map +1 -0
- package/cjs/icons/dnb/mobile.d.ts +3 -0
- package/cjs/icons/dnb/mobile.js +23 -0
- package/cjs/icons/dnb/mobile.js.map +1 -0
- package/cjs/icons/dnb/mobile_medium.d.ts +3 -0
- package/cjs/icons/dnb/mobile_medium.js +23 -0
- package/cjs/icons/dnb/mobile_medium.js.map +1 -0
- package/cjs/icons/dnb/money_left.d.ts +3 -0
- package/cjs/icons/dnb/money_left.js +25 -0
- package/cjs/icons/dnb/money_left.js.map +1 -0
- package/cjs/icons/dnb/money_left_medium.d.ts +3 -0
- package/cjs/icons/dnb/money_left_medium.js +26 -0
- package/cjs/icons/dnb/money_left_medium.js.map +1 -0
- package/cjs/icons/dnb/scan.js +5 -2
- package/cjs/icons/dnb/scan.js.map +1 -1
- package/cjs/icons/dnb/scan_medium.js +8 -12
- package/cjs/icons/dnb/scan_medium.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons.d.ts +9 -1
- package/cjs/icons/dnb/secondary_icons.js +56 -0
- package/cjs/icons/dnb/secondary_icons.js.map +1 -1
- package/cjs/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/cjs/icons/dnb/secondary_icons_medium.js +56 -0
- package/cjs/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/cjs/icons/dnb/teenager.d.ts +3 -0
- package/cjs/icons/dnb/teenager.js +26 -0
- package/cjs/icons/dnb/teenager.js.map +1 -0
- package/cjs/icons/dnb/teenager_medium.d.ts +3 -0
- package/cjs/icons/dnb/teenager_medium.js +26 -0
- package/cjs/icons/dnb/teenager_medium.js.map +1 -0
- package/cjs/icons/envelope_open.d.ts +3 -0
- package/cjs/icons/envelope_open.js +11 -0
- package/cjs/icons/envelope_open.js.map +1 -0
- package/cjs/icons/envelope_open_medium.d.ts +3 -0
- package/cjs/icons/envelope_open_medium.js +11 -0
- package/cjs/icons/envelope_open_medium.js.map +1 -0
- package/cjs/icons/index.d.ts +17 -1
- package/cjs/icons/index.js +112 -0
- package/cjs/icons/index.js.map +1 -1
- package/cjs/icons/laptop.d.ts +3 -0
- package/cjs/icons/laptop.js +11 -0
- package/cjs/icons/laptop.js.map +1 -0
- package/cjs/icons/laptop_medium.d.ts +3 -0
- package/cjs/icons/laptop_medium.js +11 -0
- package/cjs/icons/laptop_medium.js.map +1 -0
- package/cjs/icons/mobile.d.ts +3 -0
- package/cjs/icons/mobile.js +11 -0
- package/cjs/icons/mobile.js.map +1 -0
- package/cjs/icons/mobile_medium.d.ts +3 -0
- package/cjs/icons/mobile_medium.js +11 -0
- package/cjs/icons/mobile_medium.js.map +1 -0
- package/cjs/icons/money_left.d.ts +3 -0
- package/cjs/icons/money_left.js +11 -0
- package/cjs/icons/money_left.js.map +1 -0
- package/cjs/icons/money_left_medium.d.ts +3 -0
- package/cjs/icons/money_left_medium.js +11 -0
- package/cjs/icons/money_left_medium.js.map +1 -0
- package/cjs/icons/teenager.d.ts +3 -0
- package/cjs/icons/teenager.js +11 -0
- package/cjs/icons/teenager.js.map +1 -0
- package/cjs/icons/teenager_medium.d.ts +3 -0
- package/cjs/icons/teenager_medium.js +11 -0
- package/cjs/icons/teenager_medium.js.map +1 -0
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -0
- package/cjs/shared/component-helper.js +6 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/dnb-ui-basis.css +3 -0
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +3 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +124 -179
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +4 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +2 -4
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +42 -41
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +42 -39
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +16 -16
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +207 -278
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +16 -16
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -41
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -39
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +204 -392
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +2 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -41
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -39
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +16 -16
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +207 -277
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +8 -8
- package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +16 -16
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +42 -41
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +42 -39
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +11 -25
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +0 -17
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-ui.css +0 -16
- package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +2 -2
- package/components/anchor/style/anchor-mixins.scss +8 -6
- package/components/anchor/style/dnb-anchor.css +45 -60
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -0
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +0 -2
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/style/dnb-button.css +1 -0
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
- package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
- package/components/button/style/themes/dnb-button-theme-ui.css +0 -25
- package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/components/card/Card.d.ts +1 -1
- package/components/card/Card.js +46 -9
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +0 -20
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +0 -20
- package/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/components/date-picker/DatePicker.d.ts +5 -1
- package/components/date-picker/DatePicker.js +4 -2
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +20 -6
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +2 -2
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/style/dnb-date-picker.css +0 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +3 -2
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/components/dialog/style/dnb-dialog.css +0 -1
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/flex/Container.d.ts +2 -4
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Item.d.ts +2 -3
- package/components/flex/Item.js +2 -1
- package/components/flex/Item.js.map +1 -1
- package/components/flex/style/dnb-flex.css +0 -1
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/global-error/style/dnb-global-error.css +0 -4
- package/components/global-error/style/dnb-global-error.min.css +1 -1
- package/components/grid/style/dnb-grid.css +0 -2
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/info-card/style/dnb-info-card.css +1 -4
- package/components/info-card/style/dnb-info-card.min.css +1 -1
- package/components/input/Input.d.ts +3 -2
- package/components/input/style/dnb-input.css +6 -0
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
- package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/components/input-masked/InputMaskedHooks.js +6 -6
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/components/input-masked/InputMaskedUtils.js +9 -7
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +1 -1
- package/components/input-masked/MultiInputMask.js +4 -2
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/TextMask.js +15 -4
- package/components/input-masked/TextMask.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +3 -1
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/components/input-masked/text-mask/InputModeNumber.js +84 -0
- package/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/components/pagination/style/dnb-pagination.css +0 -1
- package/components/pagination/style/dnb-pagination.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/radio/RadioGroup.js +0 -1
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/section/Section.d.ts +7 -0
- package/components/section/Section.js +10 -12
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +8 -8
- package/components/section/style/dnb-section.min.css +1 -1
- package/components/section/style/dnb-section.scss +8 -4
- package/components/section/style/themes/dnb-section-theme-ui.css +11 -10
- package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/components/skeleton/style/dnb-skeleton.css +0 -2
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/skip-content/style/dnb-skip-content.css +1 -4
- package/components/skip-content/style/dnb-skip-content.min.css +1 -1
- package/components/table/style/dnb-table.css +1 -4
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
- package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/components/tabs/style/dnb-tabs.css +1 -0
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tag/style/dnb-tag.css +0 -1
- package/components/tag/style/dnb-tag.min.css +1 -1
- package/components/textarea/Textarea.js +4 -9
- package/components/textarea/Textarea.js.map +1 -1
- package/components/textarea/style/dnb-textarea.css +5 -2
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +2 -2
- package/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/components/tooltip/style/dnb-tooltip.css +1 -0
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/components/upload/style/dnb-upload.css +3 -12
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/components/upload/types.d.ts +1 -1
- package/components/upload/types.js.map +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +0 -17
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +0 -16
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +2 -2
- package/es/components/anchor/style/anchor-mixins.scss +8 -6
- package/es/components/anchor/style/dnb-anchor.css +45 -60
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -0
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +0 -2
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/style/dnb-button.css +1 -0
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
- package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
- package/es/components/button/style/themes/dnb-button-theme-ui.css +0 -25
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/es/components/card/Card.d.ts +1 -1
- package/es/components/card/Card.js +46 -9
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +0 -20
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +0 -20
- package/es/components/card/style/themes/dnb-card-theme-ui.css +26 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +35 -0
- package/es/components/date-picker/DatePicker.d.ts +5 -1
- package/es/components/date-picker/DatePicker.js +4 -2
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +20 -6
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +2 -2
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/style/dnb-date-picker.css +0 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +3 -2
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -17
- package/es/components/dialog/style/dnb-dialog.css +0 -1
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/flex/Container.d.ts +2 -4
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Item.d.ts +2 -3
- package/es/components/flex/Item.js +2 -1
- package/es/components/flex/Item.js.map +1 -1
- package/es/components/flex/style/dnb-flex.css +0 -1
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/global-error/style/dnb-global-error.css +0 -4
- package/es/components/global-error/style/dnb-global-error.min.css +1 -1
- package/es/components/grid/style/dnb-grid.css +0 -2
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/info-card/style/dnb-info-card.css +1 -4
- package/es/components/info-card/style/dnb-info-card.min.css +1 -1
- package/es/components/input/Input.d.ts +3 -2
- package/es/components/input/style/dnb-input.css +6 -0
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
- package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +6 -6
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.d.ts +4 -2
- package/es/components/input-masked/InputMaskedUtils.js +9 -7
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +1 -1
- package/es/components/input-masked/MultiInputMask.js +4 -2
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/TextMask.js +15 -4
- package/es/components/input-masked/TextMask.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +3 -1
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
- package/es/components/input-masked/text-mask/InputModeNumber.d.ts +20 -0
- package/es/components/input-masked/text-mask/InputModeNumber.js +84 -0
- package/es/components/input-masked/text-mask/InputModeNumber.js.map +1 -0
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js +1 -1
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/es/components/pagination/style/dnb-pagination.css +0 -1
- package/es/components/pagination/style/dnb-pagination.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/radio/RadioGroup.js +0 -1
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/section/Section.d.ts +7 -0
- package/es/components/section/Section.js +10 -12
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +8 -8
- package/es/components/section/style/dnb-section.min.css +1 -1
- package/es/components/section/style/dnb-section.scss +8 -4
- package/es/components/section/style/themes/dnb-section-theme-ui.css +11 -10
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/es/components/skeleton/style/dnb-skeleton.css +0 -2
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/skip-content/style/dnb-skip-content.css +1 -4
- package/es/components/skip-content/style/dnb-skip-content.min.css +1 -1
- package/es/components/table/style/dnb-table.css +1 -4
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
- package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/es/components/tabs/style/dnb-tabs.css +1 -0
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tag/style/dnb-tag.css +0 -1
- package/es/components/tag/style/dnb-tag.min.css +1 -1
- package/es/components/textarea/Textarea.js +4 -9
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/textarea/style/dnb-textarea.css +5 -2
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +2 -2
- package/es/components/toggle-button/ToggleButtonGroup.js +0 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +4 -6
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -10
- package/es/components/tooltip/style/dnb-tooltip.css +1 -0
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/style/dnb-tooltip.scss +2 -0
- package/es/components/upload/style/dnb-upload.css +3 -12
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/components/upload/types.d.ts +1 -1
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +3 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +7 -5
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +59 -21
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +58 -50
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/es/extensions/forms/Field/String/String.d.ts +1 -0
- package/es/extensions/forms/Field/String/String.js +13 -7
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/es/extensions/forms/Form/Handler/Handler.js +2 -2
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -8
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -3
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -17
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/es/extensions/forms/constants/countries.js +4 -2
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/es/extensions/forms/hooks/useDataValue.js +94 -45
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +42 -39
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +12 -2
- package/es/extensions/forms/types.js +1 -1
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +0 -2
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/icons/browser.d.ts +3 -0
- package/es/icons/browser.js +3 -0
- package/es/icons/browser.js.map +1 -0
- package/es/icons/browser_medium.d.ts +3 -0
- package/es/icons/browser_medium.js +3 -0
- package/es/icons/browser_medium.js.map +1 -0
- package/es/icons/digipass_corporate.d.ts +3 -0
- package/es/icons/digipass_corporate.js +3 -0
- package/es/icons/digipass_corporate.js.map +1 -0
- package/es/icons/digipass_corporate_medium.d.ts +3 -0
- package/es/icons/digipass_corporate_medium.js +3 -0
- package/es/icons/digipass_corporate_medium.js.map +1 -0
- package/es/icons/digipass_private.d.ts +3 -0
- package/es/icons/digipass_private.js +3 -0
- package/es/icons/digipass_private.js.map +1 -0
- package/es/icons/digipass_private_medium.d.ts +3 -0
- package/es/icons/digipass_private_medium.js +3 -0
- package/es/icons/digipass_private_medium.js.map +1 -0
- package/es/icons/dnb/browser.d.ts +3 -0
- package/es/icons/dnb/browser.js +17 -0
- package/es/icons/dnb/browser.js.map +1 -0
- package/es/icons/dnb/browser_medium.d.ts +3 -0
- package/es/icons/dnb/browser_medium.js +17 -0
- package/es/icons/dnb/browser_medium.js.map +1 -0
- package/es/icons/dnb/coins_1.js +1 -1
- package/es/icons/dnb/coins_1.js.map +1 -1
- package/es/icons/dnb/coins_1_medium.js +1 -1
- package/es/icons/dnb/coins_1_medium.js.map +1 -1
- package/es/icons/dnb/digipass_corporate.d.ts +3 -0
- package/es/icons/dnb/digipass_corporate.js +17 -0
- package/es/icons/dnb/digipass_corporate.js.map +1 -0
- package/es/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/es/icons/dnb/digipass_corporate_medium.js +17 -0
- package/es/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/es/icons/dnb/digipass_private.d.ts +3 -0
- package/es/icons/dnb/digipass_private.js +17 -0
- package/es/icons/dnb/digipass_private.js.map +1 -0
- package/es/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/es/icons/dnb/digipass_private_medium.js +17 -0
- package/es/icons/dnb/digipass_private_medium.js.map +1 -0
- package/es/icons/dnb/envelope_open.d.ts +3 -0
- package/es/icons/dnb/envelope_open.js +18 -0
- package/es/icons/dnb/envelope_open.js.map +1 -0
- package/es/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/es/icons/dnb/envelope_open_medium.js +18 -0
- package/es/icons/dnb/envelope_open_medium.js.map +1 -0
- package/es/icons/dnb/icons-meta.json +230 -20
- package/es/icons/dnb/icons-svg.lock +1272 -1064
- package/es/icons/dnb/index.d.ts +17 -1
- package/es/icons/dnb/index.js +17 -1
- package/es/icons/dnb/index.js.map +1 -1
- package/es/icons/dnb/laptop.d.ts +3 -0
- package/es/icons/dnb/laptop.js +18 -0
- package/es/icons/dnb/laptop.js.map +1 -0
- package/es/icons/dnb/laptop_medium.d.ts +3 -0
- package/es/icons/dnb/laptop_medium.js +18 -0
- package/es/icons/dnb/laptop_medium.js.map +1 -0
- package/es/icons/dnb/mobile.d.ts +3 -0
- package/es/icons/dnb/mobile.js +15 -0
- package/es/icons/dnb/mobile.js.map +1 -0
- package/es/icons/dnb/mobile_medium.d.ts +3 -0
- package/es/icons/dnb/mobile_medium.js +15 -0
- package/es/icons/dnb/mobile_medium.js.map +1 -0
- package/es/icons/dnb/money_left.d.ts +3 -0
- package/es/icons/dnb/money_left.js +17 -0
- package/es/icons/dnb/money_left.js.map +1 -0
- package/es/icons/dnb/money_left_medium.d.ts +3 -0
- package/es/icons/dnb/money_left_medium.js +18 -0
- package/es/icons/dnb/money_left_medium.js.map +1 -0
- package/es/icons/dnb/scan.js +5 -2
- package/es/icons/dnb/scan.js.map +1 -1
- package/es/icons/dnb/scan_medium.js +8 -12
- package/es/icons/dnb/scan_medium.js.map +1 -1
- package/es/icons/dnb/secondary_icons.d.ts +9 -1
- package/es/icons/dnb/secondary_icons.js +9 -1
- package/es/icons/dnb/secondary_icons.js.map +1 -1
- package/es/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/es/icons/dnb/secondary_icons_medium.js +9 -1
- package/es/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/es/icons/dnb/teenager.d.ts +3 -0
- package/es/icons/dnb/teenager.js +18 -0
- package/es/icons/dnb/teenager.js.map +1 -0
- package/es/icons/dnb/teenager_medium.d.ts +3 -0
- package/es/icons/dnb/teenager_medium.js +18 -0
- package/es/icons/dnb/teenager_medium.js.map +1 -0
- package/es/icons/envelope_open.d.ts +3 -0
- package/es/icons/envelope_open.js +3 -0
- package/es/icons/envelope_open.js.map +1 -0
- package/es/icons/envelope_open_medium.d.ts +3 -0
- package/es/icons/envelope_open_medium.js +3 -0
- package/es/icons/envelope_open_medium.js.map +1 -0
- package/es/icons/index.d.ts +17 -1
- package/es/icons/index.js +17 -1
- package/es/icons/index.js.map +1 -1
- package/es/icons/laptop.d.ts +3 -0
- package/es/icons/laptop.js +3 -0
- package/es/icons/laptop.js.map +1 -0
- package/es/icons/laptop_medium.d.ts +3 -0
- package/es/icons/laptop_medium.js +3 -0
- package/es/icons/laptop_medium.js.map +1 -0
- package/es/icons/mobile.d.ts +3 -0
- package/es/icons/mobile.js +3 -0
- package/es/icons/mobile.js.map +1 -0
- package/es/icons/mobile_medium.d.ts +3 -0
- package/es/icons/mobile_medium.js +3 -0
- package/es/icons/mobile_medium.js.map +1 -0
- package/es/icons/money_left.d.ts +3 -0
- package/es/icons/money_left.js +3 -0
- package/es/icons/money_left.js.map +1 -0
- package/es/icons/money_left_medium.d.ts +3 -0
- package/es/icons/money_left_medium.js +3 -0
- package/es/icons/money_left_medium.js.map +1 -0
- package/es/icons/teenager.d.ts +3 -0
- package/es/icons/teenager.js +3 -0
- package/es/icons/teenager.js.map +1 -0
- package/es/icons/teenager_medium.d.ts +3 -0
- package/es/icons/teenager_medium.js +3 -0
- package/es/icons/teenager_medium.js.map +1 -0
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -0
- package/es/shared/component-helper.js +3 -0
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/dnb-ui-basis.css +3 -0
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +3 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +124 -179
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +4 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +2 -4
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +42 -41
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +42 -39
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +16 -16
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +207 -278
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +16 -16
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -41
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -39
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +204 -392
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +2 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -41
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -39
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +16 -16
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +207 -277
- package/es/style/themes/theme-ui/ui-theme-components.min.css +8 -8
- package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-elements.css +16 -16
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +42 -41
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +42 -39
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +11 -25
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -1
- package/extensions/forms/DataContext/Provider/Provider.js +37 -13
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +3 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +7 -5
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +26 -4
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +70 -31
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +3 -0
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +4 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/Selection/Selection.js +58 -50
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.css +6 -6
- package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.scss +15 -10
- package/extensions/forms/Field/String/String.d.ts +1 -0
- package/extensions/forms/Field/String/String.js +13 -8
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +8 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -0
- package/extensions/forms/Form/Handler/Handler.js +2 -2
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +7 -8
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +6 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +3 -3
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +2 -0
- package/extensions/forms/StepsLayout/NextButton/NextButton.js +3 -2
- package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +3 -2
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +14 -17
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +15 -16
- package/extensions/forms/constants/countries.js +4 -2
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +3 -0
- package/extensions/forms/hooks/useDataValue.js +99 -49
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +42 -39
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +12 -2
- package/extensions/forms/types.js +1 -1
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/style/dnb-payment-card.css +0 -2
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/icons/browser.d.ts +3 -0
- package/icons/browser.js +3 -0
- package/icons/browser.js.map +1 -0
- package/icons/browser_medium.d.ts +3 -0
- package/icons/browser_medium.js +3 -0
- package/icons/browser_medium.js.map +1 -0
- package/icons/digipass_corporate.d.ts +3 -0
- package/icons/digipass_corporate.js +3 -0
- package/icons/digipass_corporate.js.map +1 -0
- package/icons/digipass_corporate_medium.d.ts +3 -0
- package/icons/digipass_corporate_medium.js +3 -0
- package/icons/digipass_corporate_medium.js.map +1 -0
- package/icons/digipass_private.d.ts +3 -0
- package/icons/digipass_private.js +3 -0
- package/icons/digipass_private.js.map +1 -0
- package/icons/digipass_private_medium.d.ts +3 -0
- package/icons/digipass_private_medium.js +3 -0
- package/icons/digipass_private_medium.js.map +1 -0
- package/icons/dnb/browser.d.ts +3 -0
- package/icons/dnb/browser.js +17 -0
- package/icons/dnb/browser.js.map +1 -0
- package/icons/dnb/browser_medium.d.ts +3 -0
- package/icons/dnb/browser_medium.js +17 -0
- package/icons/dnb/browser_medium.js.map +1 -0
- package/icons/dnb/coins_1.js +1 -1
- package/icons/dnb/coins_1.js.map +1 -1
- package/icons/dnb/coins_1_medium.js +1 -1
- package/icons/dnb/coins_1_medium.js.map +1 -1
- package/icons/dnb/digipass_corporate.d.ts +3 -0
- package/icons/dnb/digipass_corporate.js +17 -0
- package/icons/dnb/digipass_corporate.js.map +1 -0
- package/icons/dnb/digipass_corporate_medium.d.ts +3 -0
- package/icons/dnb/digipass_corporate_medium.js +17 -0
- package/icons/dnb/digipass_corporate_medium.js.map +1 -0
- package/icons/dnb/digipass_private.d.ts +3 -0
- package/icons/dnb/digipass_private.js +17 -0
- package/icons/dnb/digipass_private.js.map +1 -0
- package/icons/dnb/digipass_private_medium.d.ts +3 -0
- package/icons/dnb/digipass_private_medium.js +17 -0
- package/icons/dnb/digipass_private_medium.js.map +1 -0
- package/icons/dnb/envelope_open.d.ts +3 -0
- package/icons/dnb/envelope_open.js +18 -0
- package/icons/dnb/envelope_open.js.map +1 -0
- package/icons/dnb/envelope_open_medium.d.ts +3 -0
- package/icons/dnb/envelope_open_medium.js +18 -0
- package/icons/dnb/envelope_open_medium.js.map +1 -0
- package/icons/dnb/icons-meta.json +230 -20
- package/icons/dnb/icons-svg.lock +1272 -1064
- package/icons/dnb/index.d.ts +17 -1
- package/icons/dnb/index.js +17 -1
- package/icons/dnb/index.js.map +1 -1
- package/icons/dnb/laptop.d.ts +3 -0
- package/icons/dnb/laptop.js +18 -0
- package/icons/dnb/laptop.js.map +1 -0
- package/icons/dnb/laptop_medium.d.ts +3 -0
- package/icons/dnb/laptop_medium.js +18 -0
- package/icons/dnb/laptop_medium.js.map +1 -0
- package/icons/dnb/mobile.d.ts +3 -0
- package/icons/dnb/mobile.js +15 -0
- package/icons/dnb/mobile.js.map +1 -0
- package/icons/dnb/mobile_medium.d.ts +3 -0
- package/icons/dnb/mobile_medium.js +15 -0
- package/icons/dnb/mobile_medium.js.map +1 -0
- package/icons/dnb/money_left.d.ts +3 -0
- package/icons/dnb/money_left.js +17 -0
- package/icons/dnb/money_left.js.map +1 -0
- package/icons/dnb/money_left_medium.d.ts +3 -0
- package/icons/dnb/money_left_medium.js +18 -0
- package/icons/dnb/money_left_medium.js.map +1 -0
- package/icons/dnb/scan.js +5 -2
- package/icons/dnb/scan.js.map +1 -1
- package/icons/dnb/scan_medium.js +8 -12
- package/icons/dnb/scan_medium.js.map +1 -1
- package/icons/dnb/secondary_icons.d.ts +9 -1
- package/icons/dnb/secondary_icons.js +9 -1
- package/icons/dnb/secondary_icons.js.map +1 -1
- package/icons/dnb/secondary_icons_medium.d.ts +9 -1
- package/icons/dnb/secondary_icons_medium.js +9 -1
- package/icons/dnb/secondary_icons_medium.js.map +1 -1
- package/icons/dnb/teenager.d.ts +3 -0
- package/icons/dnb/teenager.js +18 -0
- package/icons/dnb/teenager.js.map +1 -0
- package/icons/dnb/teenager_medium.d.ts +3 -0
- package/icons/dnb/teenager_medium.js +18 -0
- package/icons/dnb/teenager_medium.js.map +1 -0
- package/icons/envelope_open.d.ts +3 -0
- package/icons/envelope_open.js +3 -0
- package/icons/envelope_open.js.map +1 -0
- package/icons/envelope_open_medium.d.ts +3 -0
- package/icons/envelope_open_medium.js +3 -0
- package/icons/envelope_open_medium.js.map +1 -0
- package/icons/index.d.ts +17 -1
- package/icons/index.js +17 -1
- package/icons/index.js.map +1 -1
- package/icons/laptop.d.ts +3 -0
- package/icons/laptop.js +3 -0
- package/icons/laptop.js.map +1 -0
- package/icons/laptop_medium.d.ts +3 -0
- package/icons/laptop_medium.js +3 -0
- package/icons/laptop_medium.js.map +1 -0
- package/icons/mobile.d.ts +3 -0
- package/icons/mobile.js +3 -0
- package/icons/mobile.js.map +1 -0
- package/icons/mobile_medium.d.ts +3 -0
- package/icons/mobile_medium.js +3 -0
- package/icons/mobile_medium.js.map +1 -0
- package/icons/money_left.d.ts +3 -0
- package/icons/money_left.js +3 -0
- package/icons/money_left.js.map +1 -0
- package/icons/money_left_medium.d.ts +3 -0
- package/icons/money_left_medium.js +3 -0
- package/icons/money_left_medium.js.map +1 -0
- package/icons/teenager.d.ts +3 -0
- package/icons/teenager.js +3 -0
- package/icons/teenager.js.map +1 -0
- package/icons/teenager_medium.d.ts +3 -0
- package/icons/teenager_medium.js +3 -0
- package/icons/teenager_medium.js.map +1 -0
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +1 -0
- package/shared/component-helper.js +3 -0
- package/shared/component-helper.js.map +1 -1
- package/style/dnb-ui-basis.css +3 -0
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +3 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +124 -179
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +4 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +2 -4
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +42 -41
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +42 -39
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +16 -16
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +207 -278
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
- package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +16 -16
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +42 -41
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +42 -39
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -4
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +204 -392
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +2 -4
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +42 -41
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +42 -39
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +16 -16
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +207 -277
- package/style/themes/theme-ui/ui-theme-components.min.css +8 -8
- package/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/style/themes/theme-ui/ui-theme-elements.css +16 -16
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +42 -41
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +42 -39
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +11 -25
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/icons/icons-meta.json +0 -3748
- package/es/icons/icons-meta.json +0 -3748
- package/icons/icons-meta.json +0 -3748
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","names":["React","useMemo","useContext","useCallback","ToggleButton","Dropdown","Radio","HelpButton","ButtonRow","FieldBlock","classnames","makeUniqueId","SharedContext","Option","useDataValue","FormError","pickSpacingProps","ToggleButtonGroupContext","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","selectedKey","handleRadioChange","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","fieldBlockProps","_objectSpread","forId","options","Children","toArray","filter","child","isValidElement","type","map","option","_option$props$title","title","handleSelect","selected","createElement","Group","_extends","layout_direction","vertical","on_change","String","i","_option$value","key","Provider","status","length","text","checked","_error$message","optionsData","_child$props$value","_ref5","_child$props$children","_child$props$children2","content","_em","translation","Forms","selectionClearSelected","Boolean","list_class","portal_class","label_direction","message","Error","toString","suffix","contents","on_show","on_hide","stretch","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n} from '../../../../components'\nimport ButtonRow from '../../Form/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 { FormError, FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\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: { selectedKey } }) => {\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\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?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\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 <ToggleButtonGroupContext.Provider\n value={{\n status: error ? 'error' : undefined,\n disabled,\n }}\n >\n {options.map((option, i) => (\n <ToggleButton\n id={options.length > 0 ? id : undefined}\n key={`option-${i}-${option.value}`}\n text={option.title}\n on_change={option.handleSelect}\n checked={option.value === value}\n />\n ))}\n </ToggleButtonGroupContext.Provider>\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 selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\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 selectedKey: 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._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Selection.js","names":["React","useMemo","useContext","useCallback","ToggleButton","Dropdown","Radio","HelpButton","classnames","makeUniqueId","SharedContext","Option","useDataValue","FormError","pickSpacingProps","FieldBlock","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","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","fieldBlockProps","_objectSpread","forId","getStatus","_error$message","message","Error","toString","options","Children","toArray","filter","child","isValidElement","type","map","option","_option$props","v","title","rest","_objectWithoutProperties","_excluded","status","Component","createElement","Group","layout_direction","on_change","String","i","_excluded2","_extends","length","key","text","optionsData","_child$props$value","_ref5","_child$props$children","_child$props$children2","content","_em","translation","Forms","selectionClearSelected","Boolean","list_class","portal_class","suffix","contents","on_show","on_hide","stretch","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n} from '../../../../components'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport Option from '../Option'\nimport { useDataValue } from '../../hooks'\nimport { FormError, FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport FieldBlock from '../../FieldBlock'\n\ninterface IOption {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\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: { selectedKey } }) => {\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = 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?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\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 getStatus = useCallback(\n (error: Error | FormError | undefined) => {\n return (\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 },\n [info, warning]\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 const {\n value: v,\n error,\n title,\n children,\n ...rest\n } = option.props\n\n const status = getStatus(error)\n\n return {\n title: title ?? children,\n value: v,\n status,\n ...rest,\n }\n }),\n [children, getStatus]\n )\n\n const status = getStatus(error)\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {options.map((option, i) => {\n const { value, title, status, ...rest } = option\n return (\n <Component\n id={options.length === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? title : undefined}\n text={variant === 'button' ? title : undefined}\n value={String(value ?? '')}\n status={status}\n {...rest}\n />\n )\n })}\n </Component.Group>\n </FieldBlock>\n )\n }\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 selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\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 selectedKey: 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 <FieldBlock {...fieldBlockProps} width={width}>\n <Dropdown\n id={id}\n list_class=\"dnb-forms-field-selection__list\"\n portal_class=\"dnb-forms-field-selection__portal\"\n title={placeholder}\n value={String(value ?? '')}\n status={status && 'error'}\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\n />\n </FieldBlock>\n )\n }\n }\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.dnb-forms-field-
|
|
2
|
-
|
|
1
|
+
.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
2
|
+
align-self: center;
|
|
3
3
|
}
|
|
4
|
-
.dnb-forms-field-
|
|
5
|
-
|
|
4
|
+
.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label, .dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
5
|
+
margin-bottom: 0;
|
|
6
6
|
}
|
|
7
|
-
.dnb-forms-field-
|
|
8
|
-
|
|
7
|
+
.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
8
|
+
line-height: 2.5rem;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-field-
|
|
1
|
+
.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
.dnb-forms-field-selection {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
.dnb-
|
|
5
|
-
|
|
2
|
+
&__variant--dropdown {
|
|
3
|
+
.dnb-forms-field-block {
|
|
4
|
+
&--layout-horizontal .dnb-form-label {
|
|
5
|
+
align-self: center;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
}
|
|
9
|
+
&__variant--dropdown,
|
|
10
|
+
&__options-layout--horizontal {
|
|
11
|
+
.dnb-forms-field-block {
|
|
12
|
+
&--layout-horizontal .dnb-form-label {
|
|
13
|
+
margin-bottom: 0;
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
}
|
|
17
|
+
&__variant--button {
|
|
18
|
+
.dnb-forms-field-block {
|
|
19
|
+
&--layout-horizontal .dnb-form-label {
|
|
20
|
+
line-height: 2.5rem;
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
}
|
|
@@ -19,6 +19,7 @@ export type Props = FieldHelpProps & FieldProps<string, undefined | string, Erro
|
|
|
19
19
|
clear?: boolean;
|
|
20
20
|
autoresize?: boolean;
|
|
21
21
|
autoComplete?: HTMLInputElement['autocomplete'];
|
|
22
|
+
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
22
23
|
autoresizeMaxRows?: number;
|
|
23
24
|
characterCounter?: boolean;
|
|
24
25
|
mask?: InputMaskedProps['mask'];
|
|
@@ -31,15 +31,17 @@ function StringComponent(props) {
|
|
|
31
31
|
pattern: props.pattern
|
|
32
32
|
};
|
|
33
33
|
}, [props.schema, props.minLength, props.maxLength, props.pattern]);
|
|
34
|
-
const fromInput = useCallback(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
const fromInput = useCallback(event => {
|
|
35
|
+
var _event, _event$cleanedValue, _event2, _event3;
|
|
36
|
+
if (typeof event === 'string') {
|
|
37
|
+
event = {
|
|
38
|
+
value: event
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (((_event = event) === null || _event === void 0 ? void 0 : _event.value) === '') {
|
|
40
42
|
return props.emptyValue;
|
|
41
43
|
}
|
|
42
|
-
return cleanedValue !== null && cleanedValue !== void 0 ? cleanedValue : value;
|
|
44
|
+
return (_event$cleanedValue = (_event2 = event) === null || _event2 === void 0 ? void 0 : _event2.cleanedValue) !== null && _event$cleanedValue !== void 0 ? _event$cleanedValue : (_event3 = event) === null || _event3 === void 0 ? void 0 : _event3.value;
|
|
43
45
|
}, [props.emptyValue]);
|
|
44
46
|
const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
45
47
|
errorMessages,
|
|
@@ -52,6 +54,7 @@ function StringComponent(props) {
|
|
|
52
54
|
name,
|
|
53
55
|
className,
|
|
54
56
|
autoComplete,
|
|
57
|
+
inputMode,
|
|
55
58
|
innerRef,
|
|
56
59
|
inputClassName,
|
|
57
60
|
layout,
|
|
@@ -64,6 +67,7 @@ function StringComponent(props) {
|
|
|
64
67
|
info,
|
|
65
68
|
warning,
|
|
66
69
|
error,
|
|
70
|
+
hasError,
|
|
67
71
|
disabled,
|
|
68
72
|
help,
|
|
69
73
|
multiline,
|
|
@@ -85,6 +89,7 @@ function StringComponent(props) {
|
|
|
85
89
|
id,
|
|
86
90
|
name,
|
|
87
91
|
autoComplete,
|
|
92
|
+
inputMode,
|
|
88
93
|
className: cn,
|
|
89
94
|
placeholder: placeholder,
|
|
90
95
|
suffix: help ? React.createElement(HelpButton, {
|
|
@@ -96,7 +101,7 @@ function StringComponent(props) {
|
|
|
96
101
|
disabled: disabled,
|
|
97
102
|
stretch: width !== undefined,
|
|
98
103
|
inner_ref: innerRef,
|
|
99
|
-
status: error ? 'error' : undefined,
|
|
104
|
+
status: error || hasError ? 'error' : undefined,
|
|
100
105
|
value: (_value$toString = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString !== void 0 ? _value$toString : ''
|
|
101
106
|
};
|
|
102
107
|
return React.createElement(FieldBlock, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.js","names":["React","useContext","useMemo","useCallback","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$width","_value$length","_value$length2","_value$toString","sharedContext","tr","translation","Forms","errorMessages","_objectSpread","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","_ref","value","cleanedValue","emptyValue","preparedProps","width","id","name","className","autoComplete","innerRef","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","sharedProps","suffix","createElement","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","_extends","forId","contentsWidth","autoresize_max_rows","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\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 } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\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 type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\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 const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n ({ value, cleanedValue }: { value: string; cleanedValue: string }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n [props.emptyValue]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n innerRef,\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 const sharedProps = {\n id,\n name,\n autoComplete,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\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 disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"String.js","names":["React","useContext","useMemo","useCallback","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$width","_value$length","_value$length2","_value$toString","sharedContext","tr","translation","Forms","errorMessages","_objectSpread","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","event","_event","_event$cleanedValue","_event2","_event3","value","emptyValue","cleanedValue","preparedProps","width","id","name","className","autoComplete","inputMode","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","hasError","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","sharedProps","suffix","createElement","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","_extends","forId","contentsWidth","autoresize_max_rows","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\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 } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\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 type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\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 const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputMode,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n hasError,\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 const sharedProps = {\n id,\n name,\n autoComplete,\n inputMode,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error || hasError ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\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 disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
@@ -156,7 +156,7 @@ function useEnableFieldset(_ref4) {
|
|
|
156
156
|
let count = 0;
|
|
157
157
|
findElementInChildren(children, child => {
|
|
158
158
|
var _child$props, _child$type;
|
|
159
|
-
if (
|
|
159
|
+
if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.label || (child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type['_formElement']) === true) {
|
|
160
160
|
count++;
|
|
161
161
|
}
|
|
162
162
|
if (count > 1) {
|
|
@@ -165,7 +165,7 @@ function useEnableFieldset(_ref4) {
|
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
return Boolean(result);
|
|
168
|
-
}, [children]);
|
|
168
|
+
}, [asFieldset, children, label, nestedFieldBlockContext]);
|
|
169
169
|
}
|
|
170
170
|
FieldBlock._supportsSpacingProps = true;
|
|
171
171
|
export default FieldBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","disabled","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","identifier","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","useEnableFieldset","state","stateStatus","Label","_ref3","createElement","element","space","top","bottom","Provider","value","_extends","Fragment","id","text","toString","_ref4","result","count","child","_child$props","_child$type","type","Boolean","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n disabled,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (identifier, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(identifier, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [identifier]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (identifier, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(identifier, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [identifier]: true,\n }\n } else {\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([identifier]) => showFieldErrorRecord[identifier] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n forId={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n disabled={disabled}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <> </>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n typeof child?.props?.label !== 'undefined' ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [children])\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","disabled","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","identifier","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","useEnableFieldset","state","stateStatus","Label","_ref3","createElement","element","space","top","bottom","Provider","value","_extends","Fragment","id","text","toString","_ref4","result","count","child","_child$props","_child$type","type","Boolean","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n disabled,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (identifier, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(identifier, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [identifier]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (identifier, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(identifier, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [identifier]: true,\n }\n } else {\n const { [identifier]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([identifier]) => showFieldErrorRecord[identifier] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n forId={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n disabled={disabled}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <> </>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
32
32
|
grid-template-areas: "label" "contents" "status";
|
|
33
33
|
}
|
|
34
34
|
.dnb-forms-field-block--layout-horizontal {
|
|
35
|
-
grid-template-columns:
|
|
35
|
+
grid-template-columns: fit-content(100%) auto;
|
|
36
36
|
grid-template-areas: "label contents" "status status";
|
|
37
37
|
}
|
|
38
38
|
.dnb-forms-field-block--width-stretch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:
|
|
1
|
+
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Utilities
|
|
3
|
+
*/
|
|
1
4
|
.dnb-forms-button-row {
|
|
2
5
|
display: flex;
|
|
3
6
|
flex-flow: row;
|
|
4
|
-
grid-column-gap: var(--spacing-small);
|
|
5
7
|
-moz-column-gap: var(--spacing-small);
|
|
6
8
|
column-gap: var(--spacing-small);
|
|
9
|
+
}
|
|
10
|
+
@media screen and (min-width: 40em) {
|
|
11
|
+
.dnb-card + .dnb-forms-button-row:not([class*=space__left]) {
|
|
12
|
+
margin-left: var(--spacing-medium);
|
|
13
|
+
}
|
|
7
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-button-row{
|
|
1
|
+
.dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
@import '../../../../../style/core/utilities.scss';
|
|
2
|
+
|
|
1
3
|
.dnb-forms-button-row {
|
|
2
4
|
display: flex;
|
|
3
5
|
flex-flow: row;
|
|
4
6
|
column-gap: var(--spacing-small);
|
|
7
|
+
|
|
8
|
+
.dnb-card + & {
|
|
9
|
+
&:not([class*='space__left']) {
|
|
10
|
+
@include allAbove(small) {
|
|
11
|
+
margin-left: var(--spacing-medium);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
5
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (
|
|
1
|
+
{"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAapC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBb,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAS,SAAO,CAAC;MACnB;IACF,CAAC;IACDR,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEf,KAAA,CAAAqB,aAAA,CAACpB,QAAQ,EAAKkB,aAAa,EACzBnB,KAAA,CAAAqB,aAAA,CAACnB,WAAW,EAAKc,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Utilities
|
|
3
|
+
*/
|
|
1
4
|
.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]) {
|
|
2
5
|
margin: 0;
|
|
3
6
|
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
margin-left: var(--spacing-medium);
|
|
9
|
-
}
|
|
10
|
-
.dnb-form-main-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
11
|
-
margin-bottom: var(--spacing-small);
|
|
7
|
+
@media screen and (min-width: 40em) {
|
|
8
|
+
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
|
|
9
|
+
margin-left: var(--spacing-medium);
|
|
10
|
+
}
|
|
12
11
|
}
|
|
13
12
|
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
14
13
|
margin-bottom: var(--spacing-small);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}
|
|
1
|
+
.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import '../../../../../style/core/utilities.scss';
|
|
2
|
+
|
|
1
3
|
.dnb-form-main-heading {
|
|
2
4
|
// Reset inherited spacing
|
|
3
5
|
.dnb-spacing & {
|
|
@@ -8,8 +10,11 @@
|
|
|
8
10
|
|
|
9
11
|
&:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card) {
|
|
10
12
|
&:not([class*='space__left']) {
|
|
11
|
-
|
|
13
|
+
@include allAbove(small) {
|
|
14
|
+
margin-left: var(--spacing-medium);
|
|
15
|
+
}
|
|
12
16
|
}
|
|
17
|
+
|
|
13
18
|
&:not([class*='space__bottom']) {
|
|
14
19
|
margin-bottom: var(--spacing-small);
|
|
15
20
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Utilities
|
|
3
|
+
*/
|
|
1
4
|
.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
|
|
2
5
|
margin: 0;
|
|
3
6
|
}
|
|
4
|
-
.dnb-form-sub-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
5
|
-
margin-bottom: var(--spacing-small);
|
|
6
|
-
}
|
|
7
7
|
.dnb-form-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
8
8
|
margin-bottom: var(--spacing-small);
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading
|
|
1
|
+
.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
|
|
@@ -6,6 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
import { Button } from '../../../../components';
|
|
7
7
|
import SharedContext from '../../../../shared/Context';
|
|
8
8
|
import StepsContext from '../StepsContext';
|
|
9
|
+
import ButtonRow from '../../Form/ButtonRow';
|
|
9
10
|
function NextButton(props) {
|
|
10
11
|
const sharedContext = useContext(SharedContext);
|
|
11
12
|
const {
|
|
@@ -16,13 +17,13 @@ function NextButton(props) {
|
|
|
16
17
|
children = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.stepNext
|
|
17
18
|
} = props;
|
|
18
19
|
const stepsContext = useContext(StepsContext);
|
|
19
|
-
return React.createElement(Button, _extends({}, props, {
|
|
20
|
+
return React.createElement(ButtonRow, null, React.createElement(Button, _extends({}, props, {
|
|
20
21
|
className: classnames('dnb-forms-next-button', className),
|
|
21
22
|
onClick: stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.handleNext,
|
|
22
23
|
variant: variant,
|
|
23
24
|
icon_position: icon_position,
|
|
24
25
|
icon: icon
|
|
25
|
-
}), children);
|
|
26
|
+
}), children));
|
|
26
27
|
}
|
|
27
28
|
NextButton._supportsSpacingProps = true;
|
|
28
29
|
export default NextButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextButton.js","names":["React","useContext","classnames","Button","SharedContext","StepsContext","NextButton","props","sharedContext","className","variant","icon_position","icon","children","translation","Forms","stepNext","stepsContext","createElement","_extends","onClick","handleNext","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/StepsLayout/NextButton/NextButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction NextButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'primary',\n icon_position = 'right',\n icon = 'chevron_right',\n children = sharedContext?.translation.Forms.stepNext,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <Button\n
|
|
1
|
+
{"version":3,"file":"NextButton.js","names":["React","useContext","classnames","Button","SharedContext","StepsContext","ButtonRow","NextButton","props","sharedContext","className","variant","icon_position","icon","children","translation","Forms","stepNext","stepsContext","createElement","_extends","onClick","handleNext","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/StepsLayout/NextButton/NextButton.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/button/Button'\nimport SharedContext from '../../../../shared/Context'\nimport StepsContext from '../StepsContext'\nimport ButtonRow from '../../Form/ButtonRow'\n\nexport type Props = ComponentProps &\n ButtonProps & {\n children?: string\n }\n\nfunction NextButton(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n className,\n variant = 'primary',\n icon_position = 'right',\n icon = 'chevron_right',\n children = sharedContext?.translation.Forms.stepNext,\n } = props\n const stepsContext = useContext(StepsContext)\n\n return (\n <ButtonRow>\n <Button\n {...props}\n className={classnames('dnb-forms-next-button', className)}\n onClick={stepsContext?.handleNext}\n variant={variant}\n icon_position={icon_position}\n icon={icon}\n >\n {children}\n </Button>\n </ButtonRow>\n )\n}\n\nNextButton._supportsSpacingProps = true\nexport default NextButton\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,SAAS,MAAM,sBAAsB;AAO5C,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,aAAa,GAAGR,UAAU,CAACG,aAAa,CAAC;EAC/C,MAAM;IACJM,SAAS;IACTC,OAAO,GAAG,SAAS;IACnBC,aAAa,GAAG,OAAO;IACvBC,IAAI,GAAG,eAAe;IACtBC,QAAQ,GAAGL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEM,WAAW,CAACC,KAAK,CAACC;EAC9C,CAAC,GAAGT,KAAK;EACT,MAAMU,YAAY,GAAGjB,UAAU,CAACI,YAAY,CAAC;EAE7C,OACEL,KAAA,CAAAmB,aAAA,CAACb,SAAS,QACRN,KAAA,CAAAmB,aAAA,CAAChB,MAAM,EAAAiB,QAAA,KACDZ,KAAK;IACTE,SAAS,EAAER,UAAU,CAAC,uBAAuB,EAAEQ,SAAS,CAAE;IAC1DW,OAAO,EAAEH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,UAAW;IAClCX,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BC,IAAI,EAAEA;EAAK,IAEVC,QACK,CACC,CAAC;AAEhB;AAEAP,UAAU,CAACgB,qBAAqB,GAAG,IAAI;AACvC,eAAehB,UAAU"}
|
|
@@ -6,6 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
import { Button } from '../../../../components';
|
|
7
7
|
import SharedContext from '../../../../shared/Context';
|
|
8
8
|
import StepsContext from '../StepsContext';
|
|
9
|
+
import ButtonRow from '../../Form/ButtonRow';
|
|
9
10
|
function PreviousButton(props) {
|
|
10
11
|
const sharedContext = useContext(SharedContext);
|
|
11
12
|
const {
|
|
@@ -16,13 +17,13 @@ function PreviousButton(props) {
|
|
|
16
17
|
children = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.stepPrevious
|
|
17
18
|
} = props;
|
|
18
19
|
const stepsContext = useContext(StepsContext);
|
|
19
|
-
return React.createElement(Button, _extends({}, props, {
|
|
20
|
+
return React.createElement(ButtonRow, null, React.createElement(Button, _extends({}, props, {
|
|
20
21
|
className: classnames('dnb-forms-previous-button', className),
|
|
21
22
|
onClick: stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.handlePrevious,
|
|
22
23
|
variant: variant,
|
|
23
24
|
icon_position: icon_position,
|
|
24
25
|
icon: icon
|
|
25
|
-
}), children);
|
|
26
|
+
}), children));
|
|
26
27
|
}
|
|
27
28
|
PreviousButton._supportsSpacingProps = true;
|
|
28
29
|
export default PreviousButton;
|