@dnb/eufemia 10.10.0 → 10.11.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 +47 -0
- package/cjs/components/accordion/Accordion.d.ts +2 -3
- package/cjs/components/anchor/Anchor.d.ts +2 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
- package/cjs/components/avatar/Avatar.d.ts +2 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/button/Button.d.ts +1 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/dialog/parts/DialogBody.js +1 -1
- package/cjs/components/dialog/parts/DialogBody.js.map +1 -1
- package/cjs/components/drawer/parts/DrawerBody.js +1 -1
- package/cjs/components/drawer/parts/DrawerBody.js.map +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +39 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.scss +38 -1
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
- package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
- package/cjs/components/flex/Flex.d.ts +2 -1
- package/cjs/components/flex/Flex.js.map +1 -1
- package/cjs/components/flex/utils.d.ts +1 -1
- package/cjs/components/flex/utils.js +2 -14
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/form-label/FormLabel.d.ts +31 -58
- package/cjs/components/form-label/FormLabel.js +33 -83
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +0 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/global-status/GlobalStatus.js +3 -2
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.css +2 -4
- package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +9 -10
- package/cjs/components/grid/Grid.d.ts +2 -1
- package/cjs/components/grid/Grid.js.map +1 -1
- package/cjs/components/input/style/dnb-input.css +4 -2
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input/style/dnb-input.scss +9 -2
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +15 -8
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
- package/cjs/components/input-masked/InputMaskedHooks.js +4 -4
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/lib.d.ts +12 -6
- package/cjs/components/modal/parts/ModalInner.d.ts +1 -6
- package/cjs/components/modal/parts/ModalInner.js +6 -6
- package/cjs/components/modal/parts/ModalInner.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js +15 -5
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +0 -1
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/section/Section.d.ts +43 -17
- package/cjs/components/section/Section.js +47 -12
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +76 -14
- package/cjs/components/section/style/dnb-section.min.css +7 -1
- package/cjs/components/section/style/dnb-section.scss +78 -26
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +44 -57
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
- package/cjs/components/space/Space.js +10 -11
- package/cjs/components/space/Space.js.map +1 -1
- package/cjs/components/space/SpacingHelper.d.ts +1 -3
- package/cjs/components/space/SpacingHelper.js +6 -0
- package/cjs/components/space/SpacingHelper.js.map +1 -1
- package/cjs/components/space/SpacingUtils.d.ts +9 -2
- package/cjs/components/space/SpacingUtils.js +73 -10
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/space/style/dnb-space.css +36 -0
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/space/style/dnb-space.scss +33 -0
- package/cjs/components/space/types.d.ts +8 -1
- package/cjs/components/space/types.js.map +1 -1
- package/cjs/components/tabs/Tabs.d.ts +4 -1
- package/cjs/components/tabs/TabsContentWrapper.js +7 -3
- package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
- package/cjs/components/tag/Tag.d.ts +2 -1
- package/cjs/components/textarea/style/dnb-textarea.css +4 -0
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +9 -0
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/upload/Upload.js +14 -3
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/elements/Element.d.ts +2 -1
- package/cjs/elements/Link.d.ts +2 -1
- package/cjs/elements/blockquote/Blockquote.d.ts +2 -1
- package/cjs/elements/code/Code.d.ts +2 -1
- package/cjs/elements/div/Div.d.ts +2 -1
- package/cjs/elements/hr/style/dnb-hr.scss +1 -1
- package/cjs/elements/img/Img.js.map +1 -1
- package/cjs/elements/lib.d.ts +26 -10
- package/cjs/elements/lists/Dd.d.ts +2 -1
- package/cjs/elements/lists/Dt.d.ts +2 -1
- package/cjs/elements/span/Span.d.ts +2 -1
- package/cjs/elements/typography/H.d.ts +2 -1
- package/cjs/elements/typography/H.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -20
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +5 -1
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +10 -7
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
- package/cjs/extensions/forms/Field/String/String.js +27 -50
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -26
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +4 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js +5 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/constants/countries.d.ts +11 -2
- package/cjs/extensions/forms/constants/countries.js +1943 -959
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +3 -0
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +0 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +2 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -3
- package/cjs/extensions/payment-card/PaymentCard.js +53 -36
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/icons/index.js +11 -7
- package/cjs/extensions/payment-card/icons/index.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
- package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
- package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
- package/cjs/fragments/lib.d.ts +2 -1
- package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -1
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +10 -25
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/InteractionInvalidation.d.ts +1 -1
- package/cjs/shared/helpers/InteractionInvalidation.js +2 -2
- package/cjs/shared/helpers/InteractionInvalidation.js.map +1 -1
- package/cjs/shared/helpers/filterProps.d.ts +14 -0
- package/cjs/shared/helpers/filterProps.js +39 -0
- package/cjs/shared/helpers/filterProps.js.map +1 -0
- package/cjs/shared/locales/en-GB.d.ts +6 -0
- package/cjs/shared/locales/en-GB.js +8 -2
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +6 -0
- package/cjs/shared/locales/index.d.ts +12 -0
- package/cjs/shared/locales/nb-NO.d.ts +6 -0
- package/cjs/shared/locales/nb-NO.js +8 -2
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/types.d.ts +7 -1
- package/cjs/shared/types.js.map +1 -1
- package/cjs/shared/useMedia.d.ts +5 -0
- package/cjs/shared/useMedia.js +16 -9
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/style/core/helper-classes/skip-link.scss +13 -7
- package/cjs/style/core/reset.scss +1 -1
- package/cjs/style/core/utilities.scss +16 -5
- package/cjs/style/dnb-ui-basis.css +14 -9
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-basis.scss +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-components.css +167 -28
- package/cjs/style/dnb-ui-components.min.css +7 -1
- package/cjs/style/dnb-ui-core.css +14 -9
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +0 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +6 -3
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/fonts.scss +10 -0
- package/cjs/style/themes/theme-sbanken/globals.scss +8 -0
- package/cjs/style/themes/theme-sbanken/properties.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/globals.scss +8 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +7 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +240 -133
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +11 -3
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/components/accordion/Accordion.d.ts +2 -3
- package/components/anchor/Anchor.d.ts +2 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
- package/components/avatar/Avatar.d.ts +2 -1
- package/components/breadcrumb/BreadcrumbItem.js +4 -4
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/button/Button.d.ts +1 -0
- package/components/date-picker/style/dnb-date-picker.css +0 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/dialog/parts/DialogBody.js +1 -1
- package/components/dialog/parts/DialogBody.js.map +1 -1
- package/components/drawer/parts/DrawerBody.js +1 -1
- package/components/drawer/parts/DrawerBody.js.map +1 -1
- package/components/dropdown/style/dnb-dropdown.css +39 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.scss +38 -1
- package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
- package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
- package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
- package/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
- package/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
- package/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
- package/components/flex/Flex.d.ts +2 -1
- package/components/flex/Flex.js.map +1 -1
- package/components/flex/utils.d.ts +1 -1
- package/components/flex/utils.js +2 -13
- package/components/flex/utils.js.map +1 -1
- package/components/form-label/FormLabel.d.ts +31 -58
- package/components/form-label/FormLabel.js +33 -82
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/form-row/style/dnb-form-row.css +0 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/global-status/GlobalStatus.js +3 -2
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.css +2 -4
- package/components/global-status/style/dnb-global-status.min.css +1 -1
- package/components/global-status/style/dnb-global-status.scss +9 -10
- package/components/grid/Grid.d.ts +2 -1
- package/components/grid/Grid.js.map +1 -1
- package/components/input/style/dnb-input.css +4 -2
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input/style/dnb-input.scss +9 -2
- package/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
- package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +15 -8
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
- package/components/input-masked/InputMaskedHooks.js +5 -5
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/lib.d.ts +12 -6
- package/components/modal/parts/ModalInner.d.ts +1 -6
- package/components/modal/parts/ModalInner.js +6 -6
- package/components/modal/parts/ModalInner.js.map +1 -1
- package/components/number-format/NumberUtils.js +15 -5
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/radio/style/dnb-radio.css +0 -1
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/section/Section.d.ts +43 -17
- package/components/section/Section.js +48 -13
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +76 -14
- package/components/section/style/dnb-section.min.css +7 -1
- package/components/section/style/dnb-section.scss +78 -26
- package/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
- package/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
- package/components/section/style/themes/dnb-section-theme-ui.css +44 -57
- package/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
- package/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
- package/components/space/Space.js +11 -12
- package/components/space/Space.js.map +1 -1
- package/components/space/SpacingHelper.d.ts +1 -3
- package/components/space/SpacingHelper.js +1 -2
- package/components/space/SpacingHelper.js.map +1 -1
- package/components/space/SpacingUtils.d.ts +9 -2
- package/components/space/SpacingUtils.js +70 -9
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/space/style/dnb-space.css +36 -0
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/space/style/dnb-space.scss +33 -0
- package/components/space/types.d.ts +8 -1
- package/components/space/types.js.map +1 -1
- package/components/tabs/Tabs.d.ts +4 -1
- package/components/tabs/TabsContentWrapper.js +7 -3
- package/components/tabs/TabsContentWrapper.js.map +1 -1
- package/components/tag/Tag.d.ts +2 -1
- package/components/textarea/style/dnb-textarea.css +4 -0
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +9 -0
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
- package/components/toggle-button/ToggleButton.d.ts +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +0 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/upload/Upload.js +14 -3
- package/components/upload/Upload.js.map +1 -1
- package/elements/Element.d.ts +2 -1
- package/elements/Link.d.ts +2 -1
- package/elements/blockquote/Blockquote.d.ts +2 -1
- package/elements/code/Code.d.ts +2 -1
- package/elements/div/Div.d.ts +2 -1
- package/elements/hr/style/dnb-hr.scss +1 -1
- package/elements/img/Img.js.map +1 -1
- package/elements/lib.d.ts +26 -10
- package/elements/lists/Dd.d.ts +2 -1
- package/elements/lists/Dt.d.ts +2 -1
- package/elements/span/Span.d.ts +2 -1
- package/elements/typography/H.d.ts +2 -1
- package/elements/typography/H.js.map +1 -1
- package/es/components/accordion/Accordion.d.ts +2 -3
- package/es/components/anchor/Anchor.d.ts +2 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
- package/es/components/avatar/Avatar.d.ts +2 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +4 -4
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/button/Button.d.ts +1 -0
- package/es/components/date-picker/style/dnb-date-picker.css +0 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/dialog/parts/DialogBody.js +1 -1
- package/es/components/dialog/parts/DialogBody.js.map +1 -1
- package/es/components/drawer/parts/DrawerBody.js +1 -1
- package/es/components/drawer/parts/DrawerBody.js.map +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +39 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.scss +38 -1
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
- package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
- package/es/components/flex/Flex.d.ts +2 -1
- package/es/components/flex/Flex.js +3 -1
- package/es/components/flex/Flex.js.map +1 -1
- package/es/components/flex/utils.d.ts +1 -1
- package/es/components/flex/utils.js +2 -13
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/form-label/FormLabel.d.ts +31 -58
- package/es/components/form-label/FormLabel.js +33 -82
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.css +0 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/global-status/GlobalStatus.js +3 -2
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.css +2 -4
- package/es/components/global-status/style/dnb-global-status.min.css +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +9 -10
- package/es/components/grid/Grid.d.ts +2 -1
- package/es/components/grid/Grid.js +3 -1
- package/es/components/grid/Grid.js.map +1 -1
- package/es/components/input/style/dnb-input.css +4 -2
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input/style/dnb-input.scss +9 -2
- package/es/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +15 -8
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
- package/es/components/input-masked/InputMaskedHooks.js +5 -5
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/lib.d.ts +12 -6
- package/es/components/modal/parts/ModalInner.d.ts +1 -6
- package/es/components/modal/parts/ModalInner.js +6 -6
- package/es/components/modal/parts/ModalInner.js.map +1 -1
- package/es/components/number-format/NumberUtils.js +15 -5
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +0 -1
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/section/Section.d.ts +43 -17
- package/es/components/section/Section.js +48 -13
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +76 -14
- package/es/components/section/style/dnb-section.min.css +7 -1
- package/es/components/section/style/dnb-section.scss +78 -26
- package/es/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
- package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
- package/es/components/section/style/themes/dnb-section-theme-ui.css +44 -57
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
- package/es/components/space/Space.js +11 -12
- package/es/components/space/Space.js.map +1 -1
- package/es/components/space/SpacingHelper.d.ts +1 -3
- package/es/components/space/SpacingHelper.js +1 -2
- package/es/components/space/SpacingHelper.js.map +1 -1
- package/es/components/space/SpacingUtils.d.ts +9 -2
- package/es/components/space/SpacingUtils.js +70 -9
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/space/style/dnb-space.css +36 -0
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/space/style/dnb-space.scss +33 -0
- package/es/components/space/types.d.ts +8 -1
- package/es/components/space/types.js.map +1 -1
- package/es/components/tabs/Tabs.d.ts +4 -1
- package/es/components/tabs/TabsContentWrapper.js +7 -3
- package/es/components/tabs/TabsContentWrapper.js.map +1 -1
- package/es/components/tag/Tag.d.ts +2 -1
- package/es/components/textarea/style/dnb-textarea.css +4 -0
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +9 -0
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +0 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/upload/Upload.js +14 -3
- package/es/components/upload/Upload.js.map +1 -1
- package/es/elements/Element.d.ts +2 -1
- package/es/elements/Link.d.ts +2 -1
- package/es/elements/blockquote/Blockquote.d.ts +2 -1
- package/es/elements/code/Code.d.ts +2 -1
- package/es/elements/div/Div.d.ts +2 -1
- package/es/elements/hr/style/dnb-hr.scss +1 -1
- package/es/elements/img/Img.js.map +1 -1
- package/es/elements/lib.d.ts +26 -10
- package/es/elements/lists/Dd.d.ts +2 -1
- package/es/elements/lists/Dt.d.ts +2 -1
- package/es/elements/span/Span.d.ts +2 -1
- package/es/elements/typography/H.d.ts +2 -1
- package/es/elements/typography/H.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +34 -21
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +5 -1
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +11 -8
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +1 -0
- package/es/extensions/forms/Field/String/String.js +27 -50
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +24 -27
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +4 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -2
- package/es/extensions/forms/Form/Handler/Handler.js +5 -3
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/constants/countries.d.ts +11 -2
- package/es/extensions/forms/constants/countries.js +1943 -959
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +3 -0
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +0 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +2 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +6 -3
- package/es/extensions/payment-card/PaymentCard.js +47 -31
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/icons/index.js +9 -5
- package/es/extensions/payment-card/icons/index.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
- package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
- package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
- package/es/fragments/lib.d.ts +2 -1
- package/es/fragments/scroll-view/ScrollView.d.ts +2 -1
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +4 -20
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/InteractionInvalidation.d.ts +1 -1
- package/es/shared/helpers/InteractionInvalidation.js +2 -2
- package/es/shared/helpers/InteractionInvalidation.js.map +1 -1
- package/es/shared/helpers/filterProps.d.ts +14 -0
- package/es/shared/helpers/filterProps.js +30 -0
- package/es/shared/helpers/filterProps.js.map +1 -0
- package/es/shared/locales/en-GB.d.ts +6 -0
- package/es/shared/locales/en-GB.js +8 -2
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +6 -0
- package/es/shared/locales/index.d.ts +12 -0
- package/es/shared/locales/nb-NO.d.ts +6 -0
- package/es/shared/locales/nb-NO.js +8 -2
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/types.d.ts +7 -1
- package/es/shared/types.js.map +1 -1
- package/es/shared/useMedia.d.ts +5 -0
- package/es/shared/useMedia.js +16 -9
- package/es/shared/useMedia.js.map +1 -1
- package/es/style/core/helper-classes/skip-link.scss +13 -7
- package/es/style/core/reset.scss +1 -1
- package/es/style/core/utilities.scss +16 -5
- package/es/style/dnb-ui-basis.css +14 -9
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-basis.scss +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-components.css +167 -28
- package/es/style/dnb-ui-components.min.css +7 -1
- package/es/style/dnb-ui-core.css +14 -9
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-extensions.css +0 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +6 -3
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/fonts.scss +10 -0
- package/es/style/themes/theme-sbanken/globals.scss +8 -0
- package/es/style/themes/theme-sbanken/properties.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/globals.scss +8 -0
- package/es/style/themes/theme-ui/ui-theme-basis.css +7 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +240 -133
- package/es/style/themes/theme-ui/ui-theme-components.min.css +11 -3
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.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 +2 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +32 -20
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +5 -1
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +11 -8
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +1 -0
- package/extensions/forms/Field/String/String.js +27 -50
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +25 -27
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +4 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +7 -2
- package/extensions/forms/Form/Handler/Handler.js +5 -3
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/constants/countries.d.ts +11 -2
- package/extensions/forms/constants/countries.js +1943 -959
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.js +3 -0
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +0 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +2 -0
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/PaymentCard.d.ts +6 -3
- package/extensions/payment-card/PaymentCard.js +53 -36
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/icons/index.js +9 -5
- package/extensions/payment-card/icons/index.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
- package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +179 -0
- package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
- package/fragments/lib.d.ts +2 -1
- package/fragments/scroll-view/ScrollView.d.ts +2 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +2 -0
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +4 -23
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/InteractionInvalidation.d.ts +1 -1
- package/shared/helpers/InteractionInvalidation.js +2 -2
- package/shared/helpers/InteractionInvalidation.js.map +1 -1
- package/shared/helpers/filterProps.d.ts +14 -0
- package/shared/helpers/filterProps.js +33 -0
- package/shared/helpers/filterProps.js.map +1 -0
- package/shared/locales/en-GB.d.ts +6 -0
- package/shared/locales/en-GB.js +8 -2
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +6 -0
- package/shared/locales/index.d.ts +12 -0
- package/shared/locales/nb-NO.d.ts +6 -0
- package/shared/locales/nb-NO.js +8 -2
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/types.d.ts +7 -1
- package/shared/types.js.map +1 -1
- package/shared/useMedia.d.ts +5 -0
- package/shared/useMedia.js +16 -9
- package/shared/useMedia.js.map +1 -1
- package/style/core/helper-classes/skip-link.scss +13 -7
- package/style/core/reset.scss +1 -1
- package/style/core/utilities.scss +16 -5
- package/style/dnb-ui-basis.css +14 -9
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-basis.scss +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-components.css +167 -28
- package/style/dnb-ui-components.min.css +7 -1
- package/style/dnb-ui-core.css +14 -9
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-extensions.css +0 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-fragments.css +6 -3
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +240 -133
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/fonts.scss +10 -0
- package/style/themes/theme-sbanken/globals.scss +8 -0
- package/style/themes/theme-sbanken/properties.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +462 -332
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/globals.scss +8 -0
- package/style/themes/theme-ui/ui-theme-basis.css +7 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +240 -133
- package/style/themes/theme-ui/ui-theme-components.min.css +11 -3
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/style/themes/theme-ui/ui-theme-extensions.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/extensions/payment-card/icons/CardIn.d.ts +0 -2
- package/cjs/extensions/payment-card/icons/CardIn.js +0 -26
- package/cjs/extensions/payment-card/icons/CardIn.js.map +0 -1
- package/cjs/extensions/payment-card/icons/Padlock.d.ts +0 -3
- package/cjs/extensions/payment-card/icons/Padlock.js +0 -26
- package/cjs/extensions/payment-card/icons/Padlock.js.map +0 -1
- package/es/extensions/payment-card/icons/CardIn.d.ts +0 -2
- package/es/extensions/payment-card/icons/CardIn.js +0 -18
- package/es/extensions/payment-card/icons/CardIn.js.map +0 -1
- package/es/extensions/payment-card/icons/Padlock.d.ts +0 -3
- package/es/extensions/payment-card/icons/Padlock.js +0 -18
- package/es/extensions/payment-card/icons/Padlock.js.map +0 -1
- package/extensions/payment-card/icons/CardIn.d.ts +0 -2
- package/extensions/payment-card/icons/CardIn.js +0 -18
- package/extensions/payment-card/icons/CardIn.js.map +0 -1
- package/extensions/payment-card/icons/Padlock.d.ts +0 -3
- package/extensions/payment-card/icons/Padlock.js +0 -18
- package/extensions/payment-card/icons/Padlock.js.map +0 -1
|
@@ -40,7 +40,9 @@ function StringComponent(props) {
|
|
|
40
40
|
});
|
|
41
41
|
const {
|
|
42
42
|
id,
|
|
43
|
+
name,
|
|
43
44
|
className,
|
|
45
|
+
autoComplete,
|
|
44
46
|
innerRef,
|
|
45
47
|
inputClassName,
|
|
46
48
|
layout,
|
|
@@ -70,6 +72,24 @@ function StringComponent(props) {
|
|
|
70
72
|
} = useDataValue(preparedProps);
|
|
71
73
|
const characterCounterElement = characterCounter ? props.maxLength ? `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}/${props.maxLength}` : `${(value === null || value === void 0 ? void 0 : value.length) ?? '0'}` : undefined;
|
|
72
74
|
const cn = classnames('dnb-forms-field-string__input', inputClassName);
|
|
75
|
+
const sharedProps = {
|
|
76
|
+
id,
|
|
77
|
+
name,
|
|
78
|
+
autoComplete,
|
|
79
|
+
className: cn,
|
|
80
|
+
placeholder: placeholder,
|
|
81
|
+
suffix: help ? React.createElement(HelpButton, {
|
|
82
|
+
title: help.title
|
|
83
|
+
}, help.contents) : undefined,
|
|
84
|
+
on_focus: handleFocus,
|
|
85
|
+
on_blur: handleBlur,
|
|
86
|
+
on_change: handleChange,
|
|
87
|
+
disabled: disabled,
|
|
88
|
+
stretch: width !== undefined,
|
|
89
|
+
inner_ref: innerRef,
|
|
90
|
+
status: error ? 'error' : undefined,
|
|
91
|
+
value: (value === null || value === void 0 ? void 0 : value.toString()) ?? ''
|
|
92
|
+
};
|
|
73
93
|
return React.createElement(FieldBlock, _extends({
|
|
74
94
|
className: classnames('dnb-forms-field-string', className),
|
|
75
95
|
forId: id,
|
|
@@ -81,62 +101,19 @@ function StringComponent(props) {
|
|
|
81
101
|
warning: warning,
|
|
82
102
|
error: error,
|
|
83
103
|
contentsWidth: width !== false ? width : undefined
|
|
84
|
-
}, pickSpacingProps(props)), multiline ? React.createElement(Textarea, {
|
|
85
|
-
id: id,
|
|
86
|
-
className: cn,
|
|
87
|
-
placeholder: placeholder,
|
|
88
|
-
value: value,
|
|
89
|
-
suffix: help ? React.createElement(HelpButton, {
|
|
90
|
-
title: help.title,
|
|
91
|
-
left: "x-small"
|
|
92
|
-
}, help.contents) : undefined,
|
|
93
|
-
on_focus: handleFocus,
|
|
94
|
-
on_blur: handleBlur,
|
|
95
|
-
on_change: handleChange,
|
|
104
|
+
}, pickSpacingProps(props)), multiline ? React.createElement(Textarea, _extends({}, sharedProps, {
|
|
96
105
|
autoresize: autoresize,
|
|
97
|
-
autoresize_max_rows: autoresizeMaxRows
|
|
98
|
-
|
|
99
|
-
stretch: width !== undefined,
|
|
100
|
-
inner_ref: innerRef,
|
|
101
|
-
status: error ? 'error' : undefined
|
|
102
|
-
}) : mask ? React.createElement(InputMasked, {
|
|
103
|
-
id: id,
|
|
104
|
-
className: cn,
|
|
106
|
+
autoresize_max_rows: autoresizeMaxRows
|
|
107
|
+
})) : mask ? React.createElement(InputMasked, _extends({}, sharedProps, {
|
|
105
108
|
mask: mask,
|
|
106
|
-
placeholder: placeholder,
|
|
107
|
-
value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
|
|
108
109
|
icon: leftIcon ?? rightIcon,
|
|
109
|
-
icon_position: rightIcon && !leftIcon ? 'right' : undefined
|
|
110
|
-
|
|
111
|
-
title: help.title
|
|
112
|
-
}, help.contents) : undefined,
|
|
113
|
-
on_focus: handleFocus,
|
|
114
|
-
on_blur: handleBlur,
|
|
115
|
-
on_change: handleChange,
|
|
116
|
-
disabled: disabled,
|
|
117
|
-
stretch: width !== undefined,
|
|
118
|
-
inner_ref: innerRef,
|
|
119
|
-
status: error ? 'error' : undefined
|
|
120
|
-
}) : React.createElement(Input, {
|
|
121
|
-
id: id,
|
|
122
|
-
className: cn,
|
|
110
|
+
icon_position: rightIcon && !leftIcon ? 'right' : undefined
|
|
111
|
+
})) : React.createElement(Input, _extends({}, sharedProps, {
|
|
123
112
|
type: type,
|
|
124
|
-
placeholder: placeholder,
|
|
125
|
-
value: (value === null || value === void 0 ? void 0 : value.toString()) ?? '',
|
|
126
113
|
icon: leftIcon ?? rightIcon,
|
|
127
114
|
icon_position: rightIcon && !leftIcon ? 'right' : undefined,
|
|
128
|
-
clear: clear
|
|
129
|
-
|
|
130
|
-
title: help.title
|
|
131
|
-
}, help.contents) : undefined,
|
|
132
|
-
on_focus: handleFocus,
|
|
133
|
-
on_blur: handleBlur,
|
|
134
|
-
on_change: handleChange,
|
|
135
|
-
disabled: disabled,
|
|
136
|
-
stretch: width !== undefined,
|
|
137
|
-
inner_ref: innerRef,
|
|
138
|
-
status: error ? 'error' : undefined
|
|
139
|
-
}));
|
|
115
|
+
clear: clear
|
|
116
|
+
})));
|
|
140
117
|
}
|
|
141
118
|
StringComponent._supportsSpacingProps = true;
|
|
142
119
|
export default StringComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.js","names":["React","useContext","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","className","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","createElement","_extends","forId","contentsWidth","suffix","title","left","contents","on_focus","on_blur","on_change","autoresize_max_rows","stretch","inner_ref","status","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n const {\n id,\n className,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n id={id}\n className={cn}\n placeholder={placeholder}\n value={value}\n suffix={\n help ? (\n <HelpButton title={help.title} left=\"x-small\">\n {help.contents}\n </HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n ) : mask ? (\n <InputMasked\n id={id}\n className={cn}\n mask={mask}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n ) : (\n <Input\n id={id}\n className={cn}\n type={type}\n placeholder={placeholder}\n value={value?.toString() ?? ''}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_focus={handleFocus}\n on_blur={handleBlur}\n on_change={handleChange}\n disabled={disabled}\n stretch={width !== undefined}\n inner_ref={innerRef}\n status={error ? 'error' : undefined}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"String.js","names":["React","useContext","classnames","HelpButton","Input","Textarea","InputMasked","SharedContext","FieldBlock","useDataValue","pickSpacingProps","StringComponent","props","_props$minLength","_props$maxLength","sharedContext","preparedProps","_objectSpread","errorMessages","required","translation","Forms","inputErrorRequired","minLength","stringInputErrorMinLength","replace","toString","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","type","fromInput","_ref","value","cleanedValue","emptyValue","width","id","name","className","autoComplete","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","handleChange","characterCounterElement","length","undefined","cn","sharedProps","suffix","createElement","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","_extends","forId","contentsWidth","autoresize_max_rows","icon","icon_position","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: {\n required: sharedContext?.translation.Forms.inputErrorRequired,\n minLength:\n sharedContext?.translation.Forms.stringInputErrorMinLength.replace(\n '{minLength}',\n props.minLength?.toString()\n ),\n maxLength:\n sharedContext?.translation.Forms.stringInputErrorMaxLength.replace(\n '{maxLength}',\n props.maxLength?.toString()\n ),\n pattern: sharedContext?.translation.Forms.inputErrorPattern,\n ...props.errorMessages,\n },\n schema: props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n fromInput: ({\n value,\n cleanedValue,\n }: {\n value: string\n cleanedValue: string\n }) => {\n if (value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return cleanedValue ?? value\n },\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error ? 'error' : undefined,\n value: value?.toString() ?? '',\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n error={error}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
var _Space;
|
|
4
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
5
|
import React, { useContext, useCallback } from 'react';
|
|
7
|
-
import { Checkbox, ToggleButton
|
|
6
|
+
import { Checkbox, ToggleButton } from '../../../../components';
|
|
8
7
|
import classnames from 'classnames';
|
|
9
8
|
import ButtonRow from '../../Form/ButtonRow';
|
|
10
9
|
import FieldBlock from '../../FieldBlock';
|
|
11
10
|
import { useDataValue } from '../../hooks';
|
|
12
11
|
import { pickSpacingProps } from '../../../../components/flex/utils';
|
|
13
12
|
import SharedContext from '../../../../shared/Context';
|
|
13
|
+
import ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext';
|
|
14
14
|
function Toggle(props) {
|
|
15
15
|
const sharedContext = useContext(SharedContext);
|
|
16
16
|
const {
|
|
@@ -38,16 +38,12 @@ function Toggle(props) {
|
|
|
38
38
|
} = _ref;
|
|
39
39
|
handleChange === null || handleChange === void 0 ? void 0 : handleChange(checked ? valueOn : valueOff);
|
|
40
40
|
}, [handleChange, valueOn, valueOff]);
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (value !== valueOff) {
|
|
48
|
-
handleChange === null || handleChange === void 0 ? void 0 : handleChange(valueOff);
|
|
49
|
-
}
|
|
50
|
-
}, [handleChange, value, valueOff]);
|
|
41
|
+
const handleToggleChange = useCallback(_ref2 => {
|
|
42
|
+
let {
|
|
43
|
+
value
|
|
44
|
+
} = _ref2;
|
|
45
|
+
handleChange === null || handleChange === void 0 ? void 0 : handleChange(value === 'on' ? valueOn : valueOff);
|
|
46
|
+
}, [handleChange, valueOn, valueOff]);
|
|
51
47
|
const cn = classnames('dnb-forms-field-toggle', className);
|
|
52
48
|
const fieldBlockPropsWithoutLabel = _objectSpread(_objectSpread({
|
|
53
49
|
forId: id,
|
|
@@ -64,6 +60,7 @@ function Toggle(props) {
|
|
|
64
60
|
labelSecondary
|
|
65
61
|
});
|
|
66
62
|
const isOn = value === valueOn;
|
|
63
|
+
const isOff = value === valueOff;
|
|
67
64
|
switch (variant) {
|
|
68
65
|
default:
|
|
69
66
|
case 'checkbox':
|
|
@@ -87,23 +84,24 @@ function Toggle(props) {
|
|
|
87
84
|
on_change: handleCheckboxChange
|
|
88
85
|
}));
|
|
89
86
|
case 'buttons':
|
|
90
|
-
return React.createElement(FieldBlock,
|
|
91
|
-
|
|
87
|
+
return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
|
|
88
|
+
asFieldset: true
|
|
89
|
+
}), React.createElement(ButtonRow, {
|
|
90
|
+
bottom: "x-small"
|
|
91
|
+
}, React.createElement(ToggleButtonGroupContext.Provider, {
|
|
92
|
+
value: {
|
|
93
|
+
value: isOn ? 'on' : isOff ? 'off' : undefined,
|
|
94
|
+
onChange: handleToggleChange,
|
|
95
|
+
status: error ? 'error' : undefined,
|
|
96
|
+
disabled
|
|
97
|
+
}
|
|
98
|
+
}, React.createElement(ToggleButton, {
|
|
92
99
|
text: textOn ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanYes),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
status: error ? 'error' : undefined,
|
|
96
|
-
disabled: disabled
|
|
97
|
-
}), React.createElement(Button, {
|
|
98
|
-
id: id,
|
|
100
|
+
value: "on"
|
|
101
|
+
}), React.createElement(ToggleButton, {
|
|
99
102
|
text: textOff ?? (sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.booleanNo),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
disabled: disabled,
|
|
103
|
-
status: error ? 'error' : undefined
|
|
104
|
-
})), _Space || (_Space = React.createElement(Space, {
|
|
105
|
-
bottom: "x-small"
|
|
106
|
-
})));
|
|
103
|
+
value: "off"
|
|
104
|
+
}))));
|
|
107
105
|
case 'checkbox-button':
|
|
108
106
|
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ToggleButton, {
|
|
109
107
|
id: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["React","useContext","useCallback","Checkbox","ToggleButton","classnames","ButtonRow","FieldBlock","useDataValue","pickSpacingProps","SharedContext","ToggleButtonGroupContext","Toggle","props","sharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","labelSecondary","textOn","textOff","value","info","warning","error","handleChange","handleCheckboxChange","_ref","checked","handleToggleChange","_ref2","cn","fieldBlockPropsWithoutLabel","_objectSpread","forId","fieldBlockProps","isOn","isOff","createElement","_extends","status","undefined","on_change","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n labelSecondary,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n labelSecondary,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : undefined,\n onChange: handleToggleChange,\n status: error ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' |
|
|
|
4
4
|
forId?: string;
|
|
5
5
|
contentClassName?: string;
|
|
6
6
|
children: React.ReactNode;
|
|
7
|
+
/** Use true if you have more than one form element */
|
|
8
|
+
asFieldset?: boolean;
|
|
7
9
|
/** Width of outer block element */
|
|
8
10
|
width?: false | 'small' | 'medium' | 'large';
|
|
9
11
|
/** Width of contents block, while label etc can be wider if space is available */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
const _excluded = ["className", "forId", "layout", "label", "labelDescription", "labelSecondary", "info", "warning", "error", "width", "contentsWidth", "size", "contentClassName", "children"];
|
|
4
|
+
const _excluded = ["className", "forId", "layout", "label", "labelDescription", "labelSecondary", "asFieldset", "info", "warning", "error", "width", "contentsWidth", "size", "contentClassName", "children"];
|
|
5
5
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
6
6
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -21,6 +21,7 @@ function FieldBlock(props) {
|
|
|
21
21
|
label,
|
|
22
22
|
labelDescription,
|
|
23
23
|
labelSecondary,
|
|
24
|
+
asFieldset,
|
|
24
25
|
info,
|
|
25
26
|
warning,
|
|
26
27
|
error: errorProp,
|
|
@@ -86,7 +87,7 @@ function FieldBlock(props) {
|
|
|
86
87
|
}, [errorProp, fieldErrorRecord, showFieldErrorRecord]);
|
|
87
88
|
const mainClasses = classnames('dnb-forms-field-block', className, width !== undefined && `dnb-forms-field-block--width-${width}`);
|
|
88
89
|
const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
|
|
89
|
-
const enableFieldset = useMemo(() => !nestedFieldBlockContext && findElementInChildren(children, child => child.props.label), []);
|
|
90
|
+
const enableFieldset = useMemo(() => label && (asFieldset || !nestedFieldBlockContext && findElementInChildren(children, child => child.props.label)), []);
|
|
90
91
|
const state = error || warning || info;
|
|
91
92
|
const stateStatus = error ? 'error' : warning ? 'warn' : info ? 'info' : null;
|
|
92
93
|
const Label = _ref3 => {
|
|
@@ -95,7 +96,7 @@ function FieldBlock(props) {
|
|
|
95
96
|
} = _ref3;
|
|
96
97
|
return React.createElement(FormLabel, {
|
|
97
98
|
element: enableFieldset ? 'legend' : 'label',
|
|
98
|
-
for_id: forId,
|
|
99
|
+
for_id: enableFieldset ? undefined : forId,
|
|
99
100
|
space: {
|
|
100
101
|
top: 0,
|
|
101
102
|
bottom: 'x-small'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","info","warning","error","errorProp","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","id","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","child","state","stateStatus","Label","_ref3","createElement","element","for_id","space","top","bottom","Provider","value","_extends","Fragment","text","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n info,\n warning,\n error: errorProp,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (id, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(id, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [id]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (id, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(id, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [id]: true,\n }\n } else {\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([id]) => showFieldErrorRecord[id] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useMemo(\n () =>\n !nestedFieldBlockContext &&\n findElementInChildren(\n children,\n (child: React.ReactElement) => child.props.label\n ),\n []\n )\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n for_id={forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <> </>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useState","useCallback","classnames","Space","FormLabel","FormStatus","FormError","FieldBlockContext","findElementInChildren","FieldBlock","props","nestedFieldBlockContext","className","forId","layout","label","labelDescription","labelSecondary","asFieldset","info","warning","error","errorProp","width","contentsWidth","size","contentClassName","children","rest","_objectWithoutProperties","_excluded","fieldErrorRecord","setFieldErrorRecord","showFieldErrorRecord","setShowFieldErrorRecord","setError","id","existing","_objectSpread","removed","newRecord","map","_toPropertyKey","setShowError","show","errors","Object","entries","filter","_ref","_ref2","length","Error","message","join","undefined","mainClasses","gridClasses","enableFieldset","child","state","stateStatus","Label","_ref3","createElement","element","for_id","space","top","bottom","Provider","value","_extends","Fragment","text","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, { useMemo, useContext, useState, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { FormError, ComponentProps, FieldProps } from '../types'\nimport FieldBlockContext from './FieldBlockContext'\nimport { findElementInChildren } from '../../../shared/component-helper'\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'labelSecondary'\n | 'info'\n | 'warning'\n | 'error'\n> & {\n forId?: string\n contentClassName?: string\n children: React.ReactNode\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large'\n /** Width of contents block, while label etc can be wider if space is available */\n contentsWidth?: 'small' | 'medium' | 'large' | 'stretch'\n /** Typography size */\n size?: 'medium' | 'large'\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n asFieldset,\n info,\n warning,\n error: errorProp,\n width,\n contentsWidth,\n size,\n contentClassName,\n children,\n ...rest\n } = props\n\n const [fieldErrorRecord, setFieldErrorRecord] = useState<\n Record<string, FormError>\n >({})\n const [showFieldErrorRecord, setShowFieldErrorRecord] = useState<\n Record<string, boolean>\n >({})\n\n const setError = useCallback(\n (id, error) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setError(id, error)\n return\n }\n\n setFieldErrorRecord((existing) => {\n if (error) {\n return {\n ...existing,\n [id]: error,\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const setShowError = useCallback(\n (id, show) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setShowError(id, show)\n return\n }\n\n setShowFieldErrorRecord((existing) => {\n if (show) {\n return {\n ...existing,\n [id]: true,\n }\n } else {\n const { [id]: removed, ...newRecord } = existing\n return newRecord\n }\n })\n },\n [nestedFieldBlockContext]\n )\n\n const error = useMemo(() => {\n if (errorProp) {\n return errorProp\n }\n const errors = Object.entries(fieldErrorRecord)\n .filter(([id]) => showFieldErrorRecord[id] === true)\n .map(([, error]) => error)\n return errors.length > 0\n ? new Error(errors.map((error) => error.message).join(' | '))\n : undefined\n }, [errorProp, fieldErrorRecord, showFieldErrorRecord])\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useMemo(\n () =>\n label &&\n (asFieldset ||\n (!nestedFieldBlockContext &&\n findElementInChildren(\n children,\n (child: React.ReactElement) => child.props.label\n ))),\n []\n )\n\n const state = error || warning || info\n const stateStatus = error\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n const Label = ({ children }) => {\n return (\n <FormLabel\n element={enableFieldset ? 'legend' : 'label'}\n for_id={enableFieldset ? undefined : forId}\n space={{ top: 0, bottom: 'x-small' }}\n size={size}\n >\n {children}\n </FormLabel>\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setError,\n setShowError,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription || labelSecondary ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <Label>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </Label>\n ) : (\n <> </>\n )}\n {labelSecondary && (\n <span className=\"dnb-forms-field-block__label-secondary\">\n {labelSecondary}\n </span>\n )}\n </div>\n ) : (\n label && <Label>{label}</Label>\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentsWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentsWidth}`,\n contentClassName\n )}\n >\n {children}\n </div>\n\n {stateStatus && (\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus\n state={stateStatus}\n id={forId ? `${forId}-form-status` : undefined}\n text={\n error?.message ||\n (state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString()\n }\n label={label as string}\n space={{ top: 'x-small' }}\n />\n </div>\n )}\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nFieldBlock._supportsSpacingProps = true\nexport default FieldBlock\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;
|
|
1
|
+
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:var(--forms-field-width--medium) auto}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__label-description,.dnb-forms-field-block__label-secondary{color:var(--color-black-55);font-size:var(--font-size-small)}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { JsonObject } from 'json-pointer';
|
|
2
2
|
import { Props as ProviderProps } from '../../DataContext/Provider';
|
|
3
3
|
import type { ElementAllProps } from '../../../../elements/Element';
|
|
4
|
-
export type Props = Omit<ElementAllProps, 'data' | 'as'
|
|
5
|
-
|
|
4
|
+
export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
|
|
5
|
+
/**
|
|
6
|
+
* Will enable autoComplete for all nested Field.String fields
|
|
7
|
+
*/
|
|
8
|
+
autoComplete?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
const _excluded = ["children", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId"];
|
|
2
|
+
const _excluded = ["children", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"];
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import Provider from '../../DataContext/Provider';
|
|
5
5
|
import FormElement from '../Element';
|
|
@@ -14,7 +14,8 @@ export default function FormHandler(_ref) {
|
|
|
14
14
|
onSubmit,
|
|
15
15
|
onSubmitRequest,
|
|
16
16
|
scrollTopOnSubmit,
|
|
17
|
-
sessionStorageId
|
|
17
|
+
sessionStorageId,
|
|
18
|
+
autoComplete
|
|
18
19
|
} = _ref,
|
|
19
20
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
20
21
|
const providerProps = {
|
|
@@ -30,7 +31,8 @@ export default function FormHandler(_ref) {
|
|
|
30
31
|
},
|
|
31
32
|
onSubmitRequest,
|
|
32
33
|
scrollTopOnSubmit,
|
|
33
|
-
sessionStorageId
|
|
34
|
+
sessionStorageId,
|
|
35
|
+
autoComplete
|
|
34
36
|
};
|
|
35
37
|
return React.createElement(Provider, providerProps, React.createElement(FormElement, rest, children));
|
|
36
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","rest","_objectWithoutProperties","_excluded","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit
|
|
1
|
+
{"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (data: Data) => {\n if (typeof onSubmit === 'function') {\n onSubmit(data)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAapC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBb,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAGJ,IAAU,IAAK;MACxB,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAACJ,IAAI,CAAC;MAChB;IACF,CAAC;IACDK,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEf,KAAA,CAAAoB,aAAA,CAACnB,QAAQ,EAAKkB,aAAa,EACzBnB,KAAA,CAAAoB,aAAA,CAAClB,WAAW,EAAKc,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source: Wikipedia's official list of phone number country codes
|
|
3
|
+
*
|
|
4
|
+
* cdc: Country Dialing Code
|
|
5
|
+
*/
|
|
1
6
|
declare const _default: {
|
|
2
|
-
|
|
3
|
-
|
|
7
|
+
i18n: {
|
|
8
|
+
en: string;
|
|
9
|
+
nb: string;
|
|
10
|
+
};
|
|
11
|
+
cdc: string;
|
|
4
12
|
iso: string;
|
|
13
|
+
continent: string;
|
|
5
14
|
}[];
|
|
6
15
|
export default _default;
|