@dnb/eufemia 10.14.0 → 10.15.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 +57 -0
- package/cjs/components/accordion/AccordionHeader.d.ts +2 -1
- package/cjs/components/accordion/AccordionHeader.js +3 -2
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +13 -5
- package/cjs/components/accordion/style/dnb-accordion.min.css +3 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +16 -5
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
- package/cjs/components/anchor/Anchor.d.ts +1 -0
- package/cjs/components/anchor/Anchor.js +7 -5
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +4 -0
- package/cjs/components/autocomplete/Autocomplete.js +98 -80
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
- package/cjs/components/button/Button.d.ts +1 -1
- package/cjs/components/button/Button.js +9 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/cjs/components/card/style/dnb-card.css +10 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +8 -0
- package/cjs/components/checkbox/Checkbox.js +9 -3
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.css +129 -0
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +199 -0
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
- package/cjs/components/date-picker/DatePicker.d.ts +1 -1
- package/cjs/components/date-picker/DatePicker.js +4 -1
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
- package/cjs/components/dropdown/Dropdown.js +2 -2
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/flex/Container.js +2 -1
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/style/dnb-flex.css +1 -1
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/flex/style/flex-container.scss +1 -1
- package/cjs/components/form-label/FormLabel.d.ts +8 -3
- package/cjs/components/form-label/FormLabel.js +14 -11
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/form-label/style/dnb-form-label.css +0 -1
- package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
- package/cjs/components/form-label/style/dnb-form-label.scss +0 -5
- package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
- package/cjs/components/global-status/GlobalStatus.js +3 -1
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.css +0 -7
- package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +0 -11
- package/cjs/components/input/style/dnb-input.css +7 -3
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input/style/dnb-input.scss +14 -8
- package/cjs/components/input-masked/MultiInputMask.d.ts +6 -2
- package/cjs/components/input-masked/MultiInputMask.js +21 -17
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.scss +1 -1
- package/cjs/components/number-format/NumberUtils.d.ts +1 -1
- package/cjs/components/radio/Radio.js +13 -7
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js +3 -2
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +33 -8
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +59 -9
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
- package/cjs/components/section/Section.d.ts +5 -0
- package/cjs/components/section/Section.js +3 -2
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +12 -0
- package/cjs/components/section/style/dnb-section.min.css +3 -3
- package/cjs/components/section/style/dnb-section.scss +10 -0
- package/cjs/components/switch/Switch.js +9 -3
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/style/dnb-switch.css +43 -9
- package/cjs/components/switch/style/dnb-switch.min.css +1 -1
- package/cjs/components/switch/style/dnb-switch.scss +49 -22
- package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
- package/cjs/components/textarea/Textarea.js +4 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -2
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -7
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -14
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
- package/cjs/elements/hr/style/dnb-hr.scss +16 -30
- package/cjs/elements/hr/style/hr-mixins.scss +5 -7
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Context.js +1 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
- package/cjs/extensions/forms/Field/Currency/Currency.d.ts +3 -1
- package/cjs/extensions/forms/Field/Currency/Currency.js +7 -2
- package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -4
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
- package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +11 -12
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +134 -70
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
- 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 +2 -4
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
- 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 -15
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +189 -17
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +1 -0
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
- package/cjs/extensions/forms/Field/String/String.js +8 -9
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +4 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -19
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
- package/cjs/extensions/forms/constants/countries.d.ts +9 -6
- package/cjs/extensions/forms/constants/countries.js +15 -7
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +31 -21
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/index.d.ts +1 -1
- package/cjs/extensions/forms/index.js +12 -0
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +101 -129
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/style/dnb-forms.scss +1 -6
- package/cjs/extensions/forms/types.d.ts +5 -4
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +3 -2
- package/cjs/extensions/payment-card/PaymentCard.js +16 -37
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/icons/index.js +3 -1
- package/cjs/extensions/payment-card/icons/index.js.map +1 -1
- package/cjs/extensions/style/index.d.ts +5 -1
- package/cjs/extensions/style/index.js +2 -0
- package/cjs/extensions/style/index.js.map +1 -1
- package/cjs/icons/dnb/icons-meta.json +2 -2
- package/cjs/icons/icons-meta.json +2 -2
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/filterValidProps.d.ts +3 -7
- package/cjs/shared/helpers/filterValidProps.js +8 -4
- package/cjs/shared/helpers/filterValidProps.js.map +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -0
- package/cjs/shared/helpers/withCamelCaseProps.js +6 -4
- package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js +5 -4
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -1
- package/cjs/shared/locales/en-GB.js +4 -4
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -1
- package/cjs/shared/locales/index.d.ts +2 -2
- package/cjs/shared/locales/nb-NO.d.ts +1 -1
- package/cjs/shared/locales/nb-NO.js +4 -4
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/utilities.scss +1 -1
- package/cjs/style/dnb-ui-components.css +567 -113
- package/cjs/style/dnb-ui-components.min.css +6 -4
- package/cjs/style/dnb-ui-components.scss +2 -1
- package/cjs/style/dnb-ui-elements.css +19 -26
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +101 -129
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +243 -0
- package/cjs/style/dnb-ui-forms.min.css +1 -0
- package/cjs/style/dnb-ui-forms.scss +19 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +19 -26
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +1033 -359
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +35 -7
- package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +19 -26
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +101 -129
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +252 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +15 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -7
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/AccordionHeader.d.ts +2 -1
- package/components/accordion/AccordionHeader.js +3 -2
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +13 -5
- package/components/accordion/style/dnb-accordion.min.css +3 -1
- package/components/accordion/style/dnb-accordion.scss +16 -5
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
- package/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
- package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
- package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
- package/components/anchor/Anchor.d.ts +1 -0
- package/components/anchor/Anchor.js +5 -4
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.d.ts +4 -0
- package/components/autocomplete/Autocomplete.js +98 -80
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
- package/components/button/Button.d.ts +1 -1
- package/components/button/Button.js +10 -6
- package/components/button/Button.js.map +1 -1
- package/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/components/card/style/dnb-card.css +10 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +8 -0
- package/components/checkbox/Checkbox.js +9 -3
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/style/dnb-checkbox.css +129 -0
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +199 -0
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
- package/components/date-picker/DatePicker.d.ts +1 -1
- package/components/date-picker/DatePicker.js +4 -1
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +1 -1
- package/components/dropdown/Dropdown.js +2 -2
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/flex/Container.js +2 -1
- package/components/flex/Container.js.map +1 -1
- package/components/flex/style/dnb-flex.css +1 -1
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/flex/style/flex-container.scss +1 -1
- package/components/form-label/FormLabel.d.ts +8 -3
- package/components/form-label/FormLabel.js +14 -11
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/form-label/style/dnb-form-label.css +0 -1
- package/components/form-label/style/dnb-form-label.min.css +1 -1
- package/components/form-label/style/dnb-form-label.scss +0 -5
- package/components/global-status/GlobalStatus.d.ts +1 -1
- package/components/global-status/GlobalStatus.js +3 -1
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.css +0 -7
- package/components/global-status/style/dnb-global-status.min.css +1 -1
- package/components/global-status/style/dnb-global-status.scss +0 -11
- package/components/input/style/dnb-input.css +7 -3
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input/style/dnb-input.scss +14 -8
- package/components/input-masked/MultiInputMask.d.ts +6 -2
- package/components/input-masked/MultiInputMask.js +22 -18
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +3 -3
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.scss +1 -1
- package/components/number-format/NumberUtils.d.ts +1 -1
- package/components/radio/Radio.js +13 -7
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.js +3 -2
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/radio/style/dnb-radio.css +33 -8
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/radio/style/dnb-radio.scss +59 -9
- package/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
- package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
- package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
- package/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
- package/components/section/Section.d.ts +5 -0
- package/components/section/Section.js +3 -2
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +12 -0
- package/components/section/style/dnb-section.min.css +3 -3
- package/components/section/style/dnb-section.scss +10 -0
- package/components/switch/Switch.js +9 -3
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/style/dnb-switch.css +43 -9
- package/components/switch/style/dnb-switch.min.css +1 -1
- package/components/switch/style/dnb-switch.scss +49 -22
- package/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
- package/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
- package/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
- package/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
- package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
- package/components/textarea/Textarea.js +4 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +3 -2
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +3 -7
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +4 -14
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
- package/elements/hr/style/dnb-hr.scss +16 -30
- package/elements/hr/style/hr-mixins.scss +5 -7
- package/es/components/accordion/AccordionHeader.d.ts +2 -1
- package/es/components/accordion/AccordionHeader.js +3 -2
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +13 -5
- package/es/components/accordion/style/dnb-accordion.min.css +3 -1
- package/es/components/accordion/style/dnb-accordion.scss +16 -5
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
- package/es/components/anchor/Anchor.d.ts +1 -0
- package/es/components/anchor/Anchor.js +5 -4
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +4 -0
- package/es/components/autocomplete/Autocomplete.js +94 -75
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
- package/es/components/button/Button.d.ts +1 -1
- package/es/components/button/Button.js +10 -6
- package/es/components/button/Button.js.map +1 -1
- package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/es/components/card/style/dnb-card.css +10 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +8 -0
- package/es/components/checkbox/Checkbox.js +9 -3
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/style/dnb-checkbox.css +129 -0
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +199 -0
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
- package/es/components/date-picker/DatePicker.d.ts +1 -1
- package/es/components/date-picker/DatePicker.js +4 -1
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +1 -1
- package/es/components/dropdown/Dropdown.js +2 -2
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/flex/Container.js +2 -1
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/style/dnb-flex.css +1 -1
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/flex/style/flex-container.scss +1 -1
- package/es/components/form-label/FormLabel.d.ts +8 -3
- package/es/components/form-label/FormLabel.js +14 -11
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/form-label/style/dnb-form-label.css +0 -1
- package/es/components/form-label/style/dnb-form-label.min.css +1 -1
- package/es/components/form-label/style/dnb-form-label.scss +0 -5
- package/es/components/global-status/GlobalStatus.d.ts +1 -1
- package/es/components/global-status/GlobalStatus.js +3 -1
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.css +0 -7
- package/es/components/global-status/style/dnb-global-status.min.css +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +0 -11
- package/es/components/input/style/dnb-input.css +7 -3
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input/style/dnb-input.scss +14 -8
- package/es/components/input-masked/MultiInputMask.d.ts +6 -2
- package/es/components/input-masked/MultiInputMask.js +24 -19
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +3 -3
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.scss +1 -1
- package/es/components/number-format/NumberUtils.d.ts +1 -1
- package/es/components/radio/Radio.js +13 -7
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.js +3 -2
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +33 -8
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/radio/style/dnb-radio.scss +59 -9
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
- package/es/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
- package/es/components/section/Section.d.ts +5 -0
- package/es/components/section/Section.js +3 -2
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +12 -0
- package/es/components/section/style/dnb-section.min.css +3 -3
- package/es/components/section/style/dnb-section.scss +10 -0
- package/es/components/switch/Switch.js +9 -3
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/style/dnb-switch.css +43 -9
- package/es/components/switch/style/dnb-switch.min.css +1 -1
- package/es/components/switch/style/dnb-switch.scss +49 -22
- package/es/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
- package/es/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
- package/es/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
- package/es/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
- package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
- package/es/components/textarea/Textarea.js +4 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +3 -7
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -14
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
- package/es/elements/hr/style/dnb-hr.scss +16 -30
- package/es/elements/hr/style/hr-mixins.scss +5 -7
- package/es/extensions/forms/DataContext/Context.d.ts +1 -1
- package/es/extensions/forms/DataContext/Context.js +1 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +9 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
- package/es/extensions/forms/Field/Currency/Currency.d.ts +3 -1
- package/es/extensions/forms/Field/Currency/Currency.js +8 -2
- package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +6 -4
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
- package/es/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +11 -12
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +128 -61
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
- 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 +2 -4
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
- 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 -15
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +176 -18
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +1 -0
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
- package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
- package/es/extensions/forms/Field/String/String.js +8 -9
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +4 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +16 -19
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
- package/es/extensions/forms/constants/countries.d.ts +9 -6
- package/es/extensions/forms/constants/countries.js +13 -6
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/es/extensions/forms/hooks/useDataValue.js +26 -20
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/index.d.ts +1 -1
- package/es/extensions/forms/index.js +1 -0
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +101 -129
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/style/dnb-forms.scss +1 -6
- package/es/extensions/forms/types.d.ts +5 -4
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +3 -2
- package/es/extensions/payment-card/PaymentCard.js +16 -37
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/icons/index.js +4 -2
- package/es/extensions/payment-card/icons/index.js.map +1 -1
- package/es/extensions/style/index.d.ts +5 -1
- package/es/extensions/style/index.js +4 -1
- package/es/extensions/style/index.js.map +1 -1
- package/es/icons/dnb/icons-meta.json +2 -2
- package/es/icons/icons-meta.json +2 -2
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/filterValidProps.d.ts +3 -7
- package/es/shared/helpers/filterValidProps.js +9 -3
- package/es/shared/helpers/filterValidProps.js.map +1 -1
- package/es/shared/helpers/withCamelCaseProps.d.ts +1 -0
- package/es/shared/helpers/withCamelCaseProps.js +6 -5
- package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js +5 -4
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -1
- package/es/shared/locales/en-GB.js +4 -4
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -1
- package/es/shared/locales/index.d.ts +2 -2
- package/es/shared/locales/nb-NO.d.ts +1 -1
- package/es/shared/locales/nb-NO.js +4 -4
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/utilities.scss +1 -1
- package/es/style/dnb-ui-components.css +567 -113
- package/es/style/dnb-ui-components.min.css +6 -4
- package/es/style/dnb-ui-components.scss +2 -1
- package/es/style/dnb-ui-elements.css +19 -26
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +101 -129
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +243 -0
- package/es/style/dnb-ui-forms.min.css +1 -0
- package/es/style/dnb-ui-forms.scss +19 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
- package/es/style/themes/theme-ui/ui-theme-basis.css +19 -26
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +1033 -359
- package/es/style/themes/theme-ui/ui-theme-components.min.css +35 -7
- package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-elements.css +19 -26
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +101 -129
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +252 -0
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.scss +15 -0
- package/es/style/themes/theme-ui/ui-theme-tags.css +8 -7
- 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 -1
- package/extensions/forms/DataContext/Context.js +1 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +9 -5
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
- package/extensions/forms/Field/Currency/Currency.d.ts +3 -1
- package/extensions/forms/Field/Currency/Currency.js +8 -2
- package/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +6 -4
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
- package/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
- package/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +11 -12
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +135 -71
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -15
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +188 -18
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +1 -0
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
- package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
- package/extensions/forms/Field/String/String.js +8 -9
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +4 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +17 -20
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
- package/extensions/forms/constants/countries.d.ts +9 -6
- package/extensions/forms/constants/countries.js +13 -6
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/extensions/forms/hooks/useDataValue.js +31 -21
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/index.d.ts +1 -1
- package/extensions/forms/index.js +1 -0
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +101 -129
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/style/dnb-forms.scss +1 -6
- package/extensions/forms/types.d.ts +5 -4
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/PaymentCard.d.ts +3 -2
- package/extensions/payment-card/PaymentCard.js +16 -37
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/icons/index.js +4 -2
- package/extensions/payment-card/icons/index.js.map +1 -1
- package/extensions/style/index.d.ts +5 -1
- package/extensions/style/index.js +4 -1
- package/extensions/style/index.js.map +1 -1
- package/icons/dnb/icons-meta.json +2 -2
- package/icons/icons-meta.json +2 -2
- 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/helpers/filterValidProps.d.ts +3 -7
- package/shared/helpers/filterValidProps.js +9 -3
- package/shared/helpers/filterValidProps.js.map +1 -1
- package/shared/helpers/withCamelCaseProps.d.ts +1 -0
- package/shared/helpers/withCamelCaseProps.js +6 -5
- package/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js +5 -4
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -1
- package/shared/locales/en-GB.js +4 -4
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -1
- package/shared/locales/index.d.ts +2 -2
- package/shared/locales/nb-NO.d.ts +1 -1
- package/shared/locales/nb-NO.js +4 -4
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/utilities.scss +1 -1
- package/style/dnb-ui-components.css +567 -113
- package/style/dnb-ui-components.min.css +6 -4
- package/style/dnb-ui-components.scss +2 -1
- package/style/dnb-ui-elements.css +19 -26
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +101 -129
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +243 -0
- package/style/dnb-ui-forms.min.css +1 -0
- package/style/dnb-ui-forms.scss +19 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
- package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
- package/style/themes/theme-ui/ui-theme-basis.css +19 -26
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +1033 -359
- package/style/themes/theme-ui/ui-theme-components.min.css +35 -7
- package/style/themes/theme-ui/ui-theme-components.scss +1 -0
- package/style/themes/theme-ui/ui-theme-elements.css +19 -26
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +101 -129
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +252 -0
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
- package/style/themes/theme-ui/ui-theme-forms.scss +15 -0
- package/style/themes/theme-ui/ui-theme-tags.css +8 -7
- 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/components/button/style/dnb-button--tertiary.css +0 -216
- package/cjs/components/button/style/dnb-button--tertiary.min.css +0 -5
- package/cjs/extensions/forms/Field/style/dnb-forms-field.css +0 -93
- package/cjs/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
- package/cjs/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
- package/cjs/extensions/forms/Form/style/dnb-forms-form.css +0 -33
- package/cjs/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
- package/cjs/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
- package/cjs/extensions/forms/Form/style/index.d.ts +0 -5
- package/cjs/extensions/forms/Form/style/index.js +0 -4
- package/cjs/extensions/forms/Form/style/index.js.map +0 -1
- package/cjs/extensions/forms/StepsLayout/style/index.scss +0 -1
- package/cjs/extensions/forms/ValueBlock/style/index.scss +0 -1
- package/cjs/extensions/forms/style/index.d.ts +0 -1
- package/cjs/extensions/forms/style/index.js +0 -4
- package/cjs/extensions/forms/style/index.js.map +0 -1
- package/components/button/style/dnb-button--tertiary.css +0 -216
- package/components/button/style/dnb-button--tertiary.min.css +0 -5
- package/es/components/button/style/dnb-button--tertiary.css +0 -216
- package/es/components/button/style/dnb-button--tertiary.min.css +0 -5
- package/es/extensions/forms/Field/style/dnb-forms-field.css +0 -93
- package/es/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
- package/es/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
- package/es/extensions/forms/Form/style/dnb-forms-form.css +0 -33
- package/es/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
- package/es/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
- package/es/extensions/forms/Form/style/index.d.ts +0 -5
- package/es/extensions/forms/Form/style/index.js +0 -1
- package/es/extensions/forms/Form/style/index.js.map +0 -1
- package/es/extensions/forms/StepsLayout/style/index.scss +0 -1
- package/es/extensions/forms/ValueBlock/style/index.scss +0 -1
- package/es/extensions/forms/style/index.d.ts +0 -1
- package/es/extensions/forms/style/index.js +0 -1
- package/es/extensions/forms/style/index.js.map +0 -1
- package/extensions/forms/Field/style/dnb-forms-field.css +0 -93
- package/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
- package/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
- package/extensions/forms/Form/style/dnb-forms-form.css +0 -33
- package/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
- package/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
- package/extensions/forms/Form/style/index.d.ts +0 -5
- package/extensions/forms/Form/style/index.js +0 -1
- package/extensions/forms/Form/style/index.js.map +0 -1
- package/extensions/forms/StepsLayout/style/index.scss +0 -1
- package/extensions/forms/ValueBlock/style/index.scss +0 -1
- package/extensions/forms/style/index.d.ts +0 -1
- package/extensions/forms/style/index.js +0 -1
- package/extensions/forms/style/index.js.map +0 -1
- /package/cjs/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
- /package/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
- /package/es/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_interopRequireWildcard","_types","_DataContext","_FieldBlockContext","_IterateElementContext","_componentHelper","_useMountEffect","_useUpdateEffect","_useProcessManager","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useDataValue","props","_props$path","_ref2","_props$autoComplete","path","elementPath","emptyValue","required","error","errorProp","onFocus","onBlur","onChange","validator","onBlurValidator","schema","errorMessages","validateInitially","validateUnchanged","continuousValidation","toInput","fromInput","forceUpdate","useReducer","startProcess","useProcessManager","id","useMemo","_props$id","makeUniqueId","dataContext","useContext","Context","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","handlePathChange","dataContextHandlePathChange","setPathWithError","dataContextSetPathWithError","errors","dataContextErrors","dataContextError","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","externalValue","pointer","data","valueRef","useRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","useEffect","current","schemaRef","validatorRef","schemaValidatorRef","ajv","compile","showError","useCallback","hideError","prepareError","FormError","_errorMessagesRef$cur","_error$messageValues","message","validationRule","messageWithValues","entries","messageValues","reduce","_ref","replace","persistErrorState","errorArg","errorChanged","clearErrorState","validateValue","isProcessActive","ajvErrorsToOneFormError","_validatorRef$current","useUpdateEffect","showAllErrors","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","handleFocus","handleBlur","argFromInput","newValue","iterateValuePath","useMountEffect","handleMountField","handleUnMountField","name","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps } from '../types'\nimport { Context } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n elementPath,\n emptyValue,\n required,\n error: errorProp,\n onFocus,\n onBlur,\n onChange,\n validator,\n onBlurValidator,\n schema,\n errorMessages,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value) => value,\n fromInput = (value) => value,\n } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useMemo(() => props.id ?? makeUniqueId(), [props.id])\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const {\n handlePathChange: dataContextHandlePathChange,\n setPathWithError: dataContextSetPathWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (elementPath && elementPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid elementPath. Element pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (elementPath && !iterateElementContext) {\n throw new Error(\n 'elementPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return props.value\n }\n\n if (inIterate && elementPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (elementPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, elementPath)\n ? pointer.get(iterateElementValue, elementPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n path,\n elementPath,\n inIterate,\n iterateElementValue,\n props.value,\n dataContext.data,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const schemaRef = useRef(schema)\n useEffect(() => {\n schemaRef.current = schema\n }, [schema])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n if (path) {\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetPathWithError?.(path, Boolean(error))\n }\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n id,\n prepareError,\n dataContextSetPathWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n if (valueRef.current === emptyValue && required) {\n throw new FormError('The value is required', {\n validationRule: 'required',\n })\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(valueRef.current)\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n emptyValue,\n required,\n startProcess,\n persistErrorState,\n clearErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n }\n }, [dataContext.showAllErrors, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n onFocus?.(valueOverride ?? valueRef.current)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n onBlur?.(valueOverride ?? valueRef.current)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n Promise.resolve(\n onBlurValidator(valueOverride ?? valueRef.current)\n ).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n validateUnchanged,\n onFocus,\n onBlur,\n onBlurValidator,\n persistErrorState,\n showError,\n forceUpdate,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n const handleChange = useCallback(\n (argFromInput) => {\n const newValue = fromInput(argFromInput)\n\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n valueRef.current = newValue\n changedRef.current = true\n\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n // Always validate the value immediately when it is changed\n validateValue()\n\n onChange?.(newValue)\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n if (elementPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n elementPath && elementPath !== '/' ? elementPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n forceUpdate()\n },\n [\n path,\n elementPath,\n iterateElementIndex,\n continuousValidation,\n onChange,\n validateValue,\n dataContextHandlePathChange,\n showError,\n hideError,\n handleIterateElementChange,\n fromInput,\n forceUpdate,\n ]\n )\n\n useMountEffect(() => {\n if (path) {\n dataContext?.handleMountField(path)\n }\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n if (path) {\n dataContext?.handleUnMountField(path)\n }\n }\n })\n\n return {\n ...props,\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: toInput(valueRef.current),\n error:\n !inFieldBlock && showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDataValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_utils","_ajv","_interopRequireWildcard","_types","_DataContext","_FieldBlockContext","_IterateElementContext","_componentHelper","_useMountEffect","_useUpdateEffect","_useProcessManager","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useDataValue","props","_this","_props$path","_ref2","_props$autoComplete","path","elementPath","emptyValue","required","error","errorProp","onFocus","onBlur","onChange","validator","onBlurValidator","schema","errorMessages","validateInitially","validateUnchanged","continuousValidation","toInput","fromInput","forceUpdate","useReducer","startProcess","useProcessManager","id","useMemo","_props$id","makeUniqueId","dataContext","useContext","Context","fieldBlockContext","FieldBlockContext","iterateElementContext","IterateElementContext","handlePathChange","dataContextHandlePathChange","setValueWithError","dataContextSetValueWithError","errors","dataContextErrors","dataContextError","inFieldBlock","Boolean","setError","setFieldBlockError","setShowError","setShowFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","externalValue","pointer","data","valueRef","useRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","errorMessagesRef","useEffect","current","schemaRef","validatorRef","schemaValidatorRef","ajv","compile","showError","useCallback","hideError","prepareError","FormError","_errorMessagesRef$cur","_error$messageValues","message","validationRule","messageWithValues","entries","messageValues","reduce","_ref","replace","persistErrorState","errorArg","errorChanged","clearErrorState","validateValue","isProcessActive","ajvErrorsToOneFormError","_validatorRef$current","useUpdateEffect","showAllErrors","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","handleFocus","handleBlur","updateValue","newValue","argFromInput","additionalArgs","iterateValuePath","useMountEffect","handleMountField","handleUnMountField","name","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport { errorChanged } from '../utils'\nimport ajv, { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context } from '../DataContext'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport useMountEffect from './useMountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\n\ninterface ReturnAdditional<Value> {\n id: string\n value: Value\n error: Error | FormError | undefined\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<unknown>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & ReturnAdditional<Value> {\n const {\n path,\n elementPath,\n emptyValue,\n required,\n error: errorProp,\n onFocus,\n onBlur,\n onChange,\n validator,\n onBlurValidator,\n schema,\n errorMessages,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useMemo(() => props.id ?? makeUniqueId(), [props.id])\n const dataContext = useContext(Context)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n\n const {\n handlePathChange: dataContextHandlePathChange,\n setValueWithError: dataContextSetValueWithError,\n errors: dataContextErrors,\n } = dataContext ?? {}\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setError: setFieldBlockError,\n setShowError: setShowFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (elementPath && elementPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid elementPath. Element pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (elementPath && !iterateElementContext) {\n throw new Error(\n 'elementPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return props.value\n }\n\n if (inIterate && elementPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (elementPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, elementPath)\n ? pointer.get(iterateElementValue, elementPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n path,\n elementPath,\n inIterate,\n iterateElementValue,\n props.value,\n dataContext.data,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const errorMessagesRef = useRef(errorMessages)\n useEffect(() => {\n errorMessagesRef.current = errorMessages\n }, [errorMessages])\n const schemaRef = useRef(schema)\n useEffect(() => {\n schemaRef.current = schema\n }, [schema])\n const validatorRef = useRef(validator)\n useEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? ajv.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n setShowFieldBlockError?.(path ?? id, true)\n }, [path, id, setShowFieldBlockError])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n setShowFieldBlockError?.(path ?? id, false)\n }, [path, id, setShowFieldBlockError])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n const message =\n (typeof error.validationRule === 'string' &&\n errorMessagesRef.current?.[error.validationRule]) ||\n error.message\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockError?.(path ?? id, error)\n forceUpdate()\n },\n [\n path,\n identifier,\n id,\n prepareError,\n dataContextSetValueWithError,\n setFieldBlockError,\n forceUpdate,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n try {\n // Validate required\n if (valueRef.current === emptyValue && required) {\n throw new FormError('The value is required', {\n validationRule: 'required',\n })\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(\n valueRef.current,\n errorMessages\n )\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n emptyValue,\n required,\n errorMessages,\n startProcess,\n persistErrorState,\n clearErrorState,\n ])\n\n useUpdateEffect(() => {\n if (!schema) {\n return\n }\n schemaValidatorRef.current = ajv.compile(schema)\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n onFocus?.(valueOverride ?? valueRef.current)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n onBlur?.(valueOverride ?? valueRef.current)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n Promise.resolve(\n onBlurValidator(valueOverride ?? valueRef.current)\n ).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n validateUnchanged,\n onFocus,\n onBlur,\n onBlurValidator,\n persistErrorState,\n showError,\n forceUpdate,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [\n continuousValidation,\n dataContextHandlePathChange,\n hideError,\n path,\n showError,\n validateValue,\n ]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const newValue = fromInput(argFromInput)\n\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n updateValue(newValue)\n\n changedRef.current = true\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [newValue, additionalArgs]\n : [newValue]\n )\n\n if (elementPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n elementPath && elementPath !== '/' ? elementPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n elementPath,\n fromInput,\n handleIterateElementChange,\n iterateElementIndex,\n onChange,\n updateValue,\n ]\n )\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n\n if (showErrorInitially) {\n showError()\n }\n\n return () => {\n // Unmount procedure\n dataContext?.handleUnMountField(identifier)\n }\n })\n\n return {\n ...props,\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: toInput(valueRef.current),\n error:\n !inFieldBlock && showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n"],"mappings":"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"}
|
|
@@ -48,6 +48,18 @@ Object.defineProperty(exports, "Visibility", {
|
|
|
48
48
|
return _Visibility.default;
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
+
var _types = require("./types");
|
|
52
|
+
Object.keys(_types).forEach(function (key) {
|
|
53
|
+
if (key === "default" || key === "__esModule") return;
|
|
54
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
55
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
56
|
+
Object.defineProperty(exports, key, {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function () {
|
|
59
|
+
return _types[key];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
51
63
|
var _utils = require("./utils");
|
|
52
64
|
Object.keys(_utils).forEach(function (key) {
|
|
53
65
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_types","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_utils","_hooks","_Field","_interopRequireWildcard","Field","_Value","Value","_Form","Form","_DataContext","DataContext","_Iterate","Iterate","_FieldBlock","_interopRequireDefault","_ValueBlock","_Visibility","_StepsLayout","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../src/extensions/forms/index.ts"],"sourcesContent":["export * from './types'\nexport * from './utils'\nexport * from './hooks'\nexport * as Field from './Field'\nexport * as Value from './Value'\nexport * as Form from './Form'\nexport * as DataContext from './DataContext'\nexport * as Iterate from './Iterate'\nexport { default as FieldBlock } from './FieldBlock'\nexport { default as ValueBlock } from './ValueBlock'\nexport { default as Visibility } from './Visibility'\nexport { default as StepsLayout, StepsContext } from './StepsLayout'\n"],"mappings":"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"}
|
|
@@ -1,59 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ATTENTION: This file is auto generated by using "styleFactory".
|
|
3
|
+
* Do not change the content!
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
/*
|
|
7
|
+
* Utilities
|
|
8
|
+
*/
|
|
9
|
+
.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options {
|
|
2
10
|
display: flex;
|
|
3
|
-
flex-flow:
|
|
11
|
+
flex-flow: column;
|
|
12
|
+
grid-row-gap: var(--spacing-x-small);
|
|
13
|
+
row-gap: var(--spacing-x-small);
|
|
14
|
+
}
|
|
15
|
+
.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-flow: row wrap;
|
|
4
18
|
grid-column-gap: var(--spacing-small);
|
|
5
19
|
-moz-column-gap: var(--spacing-small);
|
|
6
20
|
column-gap: var(--spacing-small);
|
|
7
21
|
}
|
|
8
22
|
|
|
9
|
-
.dnb-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
.dnb-form-main-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__left]) {
|
|
13
|
-
margin-left: var(--spacing-medium);
|
|
14
|
-
}
|
|
15
|
-
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
|
|
16
|
-
margin-left: var(--spacing-medium);
|
|
17
|
-
}
|
|
18
|
-
.dnb-form-main-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
19
|
-
margin-bottom: var(--spacing-small);
|
|
20
|
-
}
|
|
21
|
-
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
22
|
-
margin-bottom: var(--spacing-small);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
|
|
26
|
-
margin: 0;
|
|
27
|
-
}
|
|
28
|
-
.dnb-form-sub-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
29
|
-
margin-bottom: var(--spacing-small);
|
|
30
|
-
}
|
|
31
|
-
.dnb-form-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
32
|
-
margin-bottom: var(--spacing-small);
|
|
23
|
+
.dnb-forms-field-expiry .dnb-multi-input-mask {
|
|
24
|
+
width: var(--forms-field-width--small);
|
|
33
25
|
}
|
|
34
|
-
|
|
35
|
-
:
|
|
36
|
-
--forms-field-width--small: 5rem;
|
|
37
|
-
--forms-field-width--medium: 11rem;
|
|
38
|
-
--forms-field-width--large: 21rem;
|
|
26
|
+
.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell {
|
|
27
|
+
justify-content: center;
|
|
39
28
|
}
|
|
40
29
|
|
|
41
30
|
.dnb-forms-field-phone-number__country-code {
|
|
42
|
-
width:
|
|
31
|
+
width: calc(var(--forms-field-width--medium) - 2rem);
|
|
43
32
|
}
|
|
44
33
|
.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell {
|
|
45
|
-
width:
|
|
34
|
+
width: calc(var(--forms-field-width--medium) - 2rem);
|
|
46
35
|
}
|
|
47
36
|
.dnb-forms-field-phone-number__number {
|
|
48
37
|
flex: 1;
|
|
49
38
|
}
|
|
50
39
|
|
|
51
|
-
:root {
|
|
52
|
-
--forms-field-width--small: 5rem;
|
|
53
|
-
--forms-field-width--medium: 11rem;
|
|
54
|
-
--forms-field-width--large: 21rem;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
40
|
.dnb-forms-field-postal-code-and-city__fields {
|
|
58
41
|
display: flex;
|
|
59
42
|
flex-flow: row;
|
|
@@ -61,15 +44,6 @@
|
|
|
61
44
|
-moz-column-gap: var(--spacing-small);
|
|
62
45
|
column-gap: var(--spacing-small);
|
|
63
46
|
}
|
|
64
|
-
.dnb-forms-field-postal-code-and-city--width-small {
|
|
65
|
-
width: var(--forms-field-width--small);
|
|
66
|
-
}
|
|
67
|
-
.dnb-forms-field-postal-code-and-city--width-medium {
|
|
68
|
-
width: var(--forms-field-width--medium);
|
|
69
|
-
}
|
|
70
|
-
.dnb-forms-field-postal-code-and-city--width-large {
|
|
71
|
-
width: var(--forms-field-width--large);
|
|
72
|
-
}
|
|
73
47
|
.dnb-forms-field-postal-code-and-city__postal-code {
|
|
74
48
|
flex: 0 5rem;
|
|
75
49
|
}
|
|
@@ -77,12 +51,6 @@
|
|
|
77
51
|
flex: 1;
|
|
78
52
|
}
|
|
79
53
|
|
|
80
|
-
:root {
|
|
81
|
-
--forms-field-width--small: 5rem;
|
|
82
|
-
--forms-field-width--medium: 11rem;
|
|
83
|
-
--forms-field-width--large: 21rem;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
54
|
.dnb-forms-field-selection--width-large .dnb-dropdown__shell {
|
|
87
55
|
width: var(--forms-field-width--large);
|
|
88
56
|
}
|
|
@@ -99,81 +67,6 @@
|
|
|
99
67
|
--forms-field-width--large: 21rem;
|
|
100
68
|
}
|
|
101
69
|
|
|
102
|
-
.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options {
|
|
103
|
-
display: flex;
|
|
104
|
-
flex-flow: column;
|
|
105
|
-
grid-row-gap: var(--spacing-x-small);
|
|
106
|
-
row-gap: var(--spacing-x-small);
|
|
107
|
-
}
|
|
108
|
-
.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options {
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-flow: row wrap;
|
|
111
|
-
grid-column-gap: var(--spacing-small);
|
|
112
|
-
-moz-column-gap: var(--spacing-small);
|
|
113
|
-
column-gap: var(--spacing-small);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
:root {
|
|
117
|
-
--forms-field-width--small: 5rem;
|
|
118
|
-
--forms-field-width--medium: 11rem;
|
|
119
|
-
--forms-field-width--large: 21rem;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.dnb-forms-field-expiry {
|
|
123
|
-
width: var(--forms-field-width--small);
|
|
124
|
-
}
|
|
125
|
-
.dnb-forms-field-expiry .dnb-input__shell {
|
|
126
|
-
justify-content: center;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/*
|
|
130
|
-
* Utilities
|
|
131
|
-
*/
|
|
132
|
-
.dnb-forms-steps-layout {
|
|
133
|
-
display: flex;
|
|
134
|
-
flex-flow: row wrap;
|
|
135
|
-
grid-column-gap: var(--spacing-medium);
|
|
136
|
-
-moz-column-gap: var(--spacing-medium);
|
|
137
|
-
column-gap: var(--spacing-medium);
|
|
138
|
-
}
|
|
139
|
-
@media (max-width: 60em) {
|
|
140
|
-
.dnb-forms-steps-layout {
|
|
141
|
-
flex-direction: column;
|
|
142
|
-
justify-content: stretch;
|
|
143
|
-
align-items: stretch;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
.dnb-forms-steps-layout__sidebar {
|
|
147
|
-
flex: 0;
|
|
148
|
-
min-width: 21rem;
|
|
149
|
-
}
|
|
150
|
-
.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar {
|
|
151
|
-
max-width: 21rem;
|
|
152
|
-
}
|
|
153
|
-
.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar .dnb-step-indicator__item {
|
|
154
|
-
min-width: 336px;
|
|
155
|
-
}
|
|
156
|
-
.dnb-forms-steps-layout__contents {
|
|
157
|
-
flex: 1;
|
|
158
|
-
min-width: 25rem;
|
|
159
|
-
}
|
|
160
|
-
.dnb-forms-steps-layout__contents .dnb-card {
|
|
161
|
-
--border-color: var(--color-pistachio);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.dnb-forms-test-element {
|
|
165
|
-
border: 1px dashed #808080;
|
|
166
|
-
border-radius: 0.5rem;
|
|
167
|
-
color: #909090;
|
|
168
|
-
padding: 0.5rem 1rem;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
:root {
|
|
172
|
-
--forms-field-width--small: 5rem;
|
|
173
|
-
--forms-field-width--medium: 11rem;
|
|
174
|
-
--forms-field-width--large: 21rem;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
70
|
/*
|
|
178
71
|
* Utilities
|
|
179
72
|
*/
|
|
@@ -205,6 +98,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
205
98
|
grid-template-columns: var(--forms-field-width--medium) auto;
|
|
206
99
|
grid-template-areas: "label contents" "status status";
|
|
207
100
|
}
|
|
101
|
+
.dnb-forms-field-block--width-stretch {
|
|
102
|
+
flex-grow: 1;
|
|
103
|
+
}
|
|
208
104
|
@media screen and (min-width: 30em) {
|
|
209
105
|
.dnb-forms-field-block--width-small {
|
|
210
106
|
width: var(--forms-field-width--small);
|
|
@@ -253,6 +149,75 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
253
149
|
}
|
|
254
150
|
}
|
|
255
151
|
|
|
152
|
+
.dnb-forms-button-row {
|
|
153
|
+
display: flex;
|
|
154
|
+
flex-flow: row;
|
|
155
|
+
grid-column-gap: var(--spacing-small);
|
|
156
|
+
-moz-column-gap: var(--spacing-small);
|
|
157
|
+
column-gap: var(--spacing-small);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]) {
|
|
161
|
+
margin: 0;
|
|
162
|
+
}
|
|
163
|
+
.dnb-form-main-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__left]) {
|
|
164
|
+
margin-left: var(--spacing-medium);
|
|
165
|
+
}
|
|
166
|
+
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
|
|
167
|
+
margin-left: var(--spacing-medium);
|
|
168
|
+
}
|
|
169
|
+
.dnb-form-main-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
170
|
+
margin-bottom: var(--spacing-small);
|
|
171
|
+
}
|
|
172
|
+
.dnb-form-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
173
|
+
margin-bottom: var(--spacing-small);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
|
|
177
|
+
margin: 0;
|
|
178
|
+
}
|
|
179
|
+
.dnb-form-sub-heading[\:has\(\%2B\%20.dnb-flex-stack\%20\%3E\%20.dnb-card\,\%20\%2B\%20.dnb-card\)]:not([class*=space__bottom]) {
|
|
180
|
+
margin-bottom: var(--spacing-small);
|
|
181
|
+
}
|
|
182
|
+
.dnb-form-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
183
|
+
margin-bottom: var(--spacing-small);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/*
|
|
187
|
+
* Utilities
|
|
188
|
+
*/
|
|
189
|
+
.dnb-forms-steps-layout {
|
|
190
|
+
display: flex;
|
|
191
|
+
flex-flow: row wrap;
|
|
192
|
+
grid-column-gap: var(--spacing-medium);
|
|
193
|
+
-moz-column-gap: var(--spacing-medium);
|
|
194
|
+
column-gap: var(--spacing-medium);
|
|
195
|
+
}
|
|
196
|
+
@media (max-width: 60em) {
|
|
197
|
+
.dnb-forms-steps-layout {
|
|
198
|
+
flex-direction: column;
|
|
199
|
+
justify-content: stretch;
|
|
200
|
+
align-items: stretch;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
.dnb-forms-steps-layout__sidebar {
|
|
204
|
+
flex: 0;
|
|
205
|
+
min-width: 21rem;
|
|
206
|
+
}
|
|
207
|
+
.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar {
|
|
208
|
+
max-width: 21rem;
|
|
209
|
+
}
|
|
210
|
+
.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar .dnb-step-indicator__item {
|
|
211
|
+
min-width: 336px;
|
|
212
|
+
}
|
|
213
|
+
.dnb-forms-steps-layout__contents {
|
|
214
|
+
flex: 1;
|
|
215
|
+
min-width: 25rem;
|
|
216
|
+
}
|
|
217
|
+
.dnb-forms-steps-layout__contents .dnb-card {
|
|
218
|
+
--border-color: var(--color-pistachio);
|
|
219
|
+
}
|
|
220
|
+
|
|
256
221
|
.dnb-forms-value-block {
|
|
257
222
|
display: block;
|
|
258
223
|
font-size: var(--font-size-basis);
|
|
@@ -268,4 +233,11 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
268
233
|
}
|
|
269
234
|
.dnb-forms-value-block__placeholder {
|
|
270
235
|
color: rgba(0, 0, 0, 0.5);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.dnb-forms-test-element {
|
|
239
|
+
border: 1px dashed #808080;
|
|
240
|
+
border-radius: 0.5rem;
|
|
241
|
+
color: #909090;
|
|
242
|
+
padding: 0.5rem 1rem;
|
|
271
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-
|
|
1
|
+
.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{grid-row-gap:var(--spacing-x-small);display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{grid-column-gap:var(--spacing-small);-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-postal-code-and-city__fields{grid-column-gap:var(--spacing-small);-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection--width-large .dnb-dropdown__shell{width:var(--forms-field-width--large)}.dnb-forms-field-selection--width-medium .dnb-dropdown__shell{width:var(--forms-field-width--medium)}.dnb-forms-field-selection--width-small .dnb-dropdown__shell{width:var(--forms-field-width--small)}: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:var(--forms-field-width--medium) 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)}}.dnb-forms-button-row{grid-column-gap:var(--spacing-small);-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-spacing .dnb-form-main-heading.dnb-h--large:not([class*=space__]){margin:0}.dnb-form-main-heading[\:has\(\%2B\%20\.dnb-flex-stack\%20\%3E\%20\.dnb-card\,\%20\%2B\%20\.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__left]){margin-left:var(--spacing-medium)}.dnb-form-main-heading[\:has\(\%2B\%20\.dnb-flex-stack\%20\%3E\%20\.dnb-card\,\%20\%2B\%20\.dnb-card\)]:not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-form-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading[\:has\(\%2B\%20\.dnb-flex-stack\%20\%3E\%20\.dnb-card\,\%20\%2B\%20\.dnb-card\)]:not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-steps-layout{grid-column-gap:var(--spacing-medium);-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}@media (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}}.dnb-forms-steps-layout__sidebar{flex:0;min-width:21rem}.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar{max-width:21rem}.dnb-forms-steps-layout__sidebar .dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:336px}.dnb-forms-steps-layout__contents{flex:1;min-width:25rem}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline{display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:rgba(0,0,0,.5)}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
@import '
|
|
2
|
-
@import '../Field/style/dnb-forms-field.scss';
|
|
3
|
-
@import '../StepsLayout/style/index.scss';
|
|
4
|
-
@import '../utils/TestElement/style/dnb-test-element.scss';
|
|
5
|
-
@import '../FieldBlock/style/dnb-field-block.scss';
|
|
6
|
-
@import '../ValueBlock/style/dnb-value-block.scss';
|
|
1
|
+
@import '../../../style/dnb-ui-forms.scss';
|
|
@@ -17,7 +17,7 @@ export declare class FormError extends Error {
|
|
|
17
17
|
validationRule?: ValidationRule;
|
|
18
18
|
/**
|
|
19
19
|
* Replacement values relevant for this error.
|
|
20
|
-
* @example { minLength: 3 } to be able to replace values in a message like "Minimum {minLength}
|
|
20
|
+
* @example { minLength: 3 } to be able to replace values in a message like "Minimum {minLength} characters"
|
|
21
21
|
*/
|
|
22
22
|
messageValues?: MessageValues;
|
|
23
23
|
constructor(message: string, options?: IFormErrorOptions);
|
|
@@ -38,7 +38,7 @@ export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | s
|
|
|
38
38
|
emptyValue?: EmptyValue;
|
|
39
39
|
onFocus?: (value: Value | EmptyValue) => void;
|
|
40
40
|
onBlur?: (value: Value | EmptyValue) => void;
|
|
41
|
-
onChange?: (value: Value | EmptyValue) => void;
|
|
41
|
+
onChange?: (value: Value | EmptyValue, additionalArgs?: AdditionalEventArgs) => void;
|
|
42
42
|
}
|
|
43
43
|
export declare function pickDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): DataValueWriteProps;
|
|
44
44
|
export declare function omitDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): Omit<DataValueWriteProps, keyof DataValueWriteProps>;
|
|
@@ -48,6 +48,7 @@ export declare function omitDataValueReadWriteProps<Props extends DataValueReadW
|
|
|
48
48
|
export type ComponentProps = SpacingProps & {
|
|
49
49
|
className?: string;
|
|
50
50
|
};
|
|
51
|
+
export type AdditionalEventArgs = Record<string, unknown>;
|
|
51
52
|
export type DataValueReadComponentProps<Value = unknown> = ComponentProps & DataValueReadProps<Value>;
|
|
52
53
|
export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | string | number> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
|
|
53
54
|
export interface FieldProps<Value = unknown, EmptyValue = undefined | string | number, ErrorMessages extends {
|
|
@@ -72,7 +73,7 @@ export interface FieldProps<Value = unknown, EmptyValue = undefined | string | n
|
|
|
72
73
|
disabled?: boolean;
|
|
73
74
|
required?: boolean;
|
|
74
75
|
schema?: JSONSchema7;
|
|
75
|
-
validator?: (value: Value | EmptyValue) => Error | undefined | Promise<Error | undefined>;
|
|
76
|
+
validator?: (value: Value | EmptyValue, errorMessages?: ErrorMessages) => Error | undefined | Promise<Error | undefined>;
|
|
76
77
|
onBlurValidator?: (value: Value | EmptyValue) => Error | undefined | Promise<Error | undefined>;
|
|
77
78
|
/**
|
|
78
79
|
* Should error messages based on validation be shown initially (from given value-prop or source data)
|
|
@@ -99,7 +100,7 @@ export interface FieldHelpProps {
|
|
|
99
100
|
}
|
|
100
101
|
export interface ValueProps<Value> extends DataValueReadComponentProps<Value> {
|
|
101
102
|
label?: string;
|
|
102
|
-
/**
|
|
103
|
+
/** Field label to show above the data value. */
|
|
103
104
|
showEmpty?: boolean;
|
|
104
105
|
/** Text showing in place of the value if no value is given. */
|
|
105
106
|
placeholder?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","messageValues","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ntype ValidationRule = string | string[]\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength}
|
|
1
|
+
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","messageValues","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ntype ValidationRule = string | string[]\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n this.messageValues = options.messageValues\n }\n }\n}\n\n// Data value\n\ninterface DefaultErrorMessages {\n required?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'elementPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n ) => void\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface FieldProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n ErrorMessages extends { required?: string } = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue> {\n /** ID added to the actual field component, and linked to the label via for-attribute */\n id?: string\n name?: string\n layout?: 'horizontal' | 'vertical'\n /** Main label text */\n label?: React.ReactNode\n /** A more discreet text displayed beside the label (i.e for \"(optional)\") */\n labelDescription?: React.ReactNode\n /** Secondary information displayed at the end of the label line (i.e character counter) */\n labelSecondary?: React.ReactNode\n /** Text showing in place of the value if no value is given */\n placeholder?: string\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n info?: Error | FormError | string\n warning?: Error | FormError | string\n error?: Error | FormError\n disabled?: boolean\n // Validation\n required?: boolean\n schema?: JSONSchema7\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | Promise<Error | undefined>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n * */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /** Should validation be done while writing, not just when blurring the field? */\n continuousValidation?: boolean\n errorMessages?: ErrorMessages\n // Derivatives\n toInput?: (external: Value | undefined) => any\n fromInput?: (...args: any[]) => Value | undefined\n}\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n contents?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n label?: string\n /** Field label to show above the data value. */\n showEmpty?: boolean\n /** Text showing in place of the value if no value is given. */\n placeholder?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n /** For showing the value inline (not as a block element) */\n inline?: boolean\n // Derivatives\n /** Prepare value for display (regardless of source like props or data context) */\n prepare?: (external: Value | undefined) => string\n}\n"],"mappings":"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"}
|