@dnb/eufemia 10.10.0 → 10.12.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 +71 -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 +4 -3
- 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 +34 -83
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +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/InputMasked.d.ts +0 -1
- package/cjs/components/input-masked/InputMasked.js +3 -3
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +4 -4
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +60 -0
- package/cjs/components/input-masked/MultiInputMask.js +159 -0
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -0
- package/cjs/components/input-masked/TextMask.d.ts +1 -1
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +113 -0
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
- package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
- package/cjs/components/input-masked/hooks/useMultiInputValues.js +37 -0
- package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
- package/cjs/components/input-masked/index.d.ts +2 -0
- package/cjs/components/input-masked/index.js +21 -1
- package/cjs/components/input-masked/index.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +57 -0
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.scss +73 -0
- package/cjs/components/lib.d.ts +13 -7
- 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/extensions/payment-card/style/dnb-payment-card.css +3 -0
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.scss +4 -0
- 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 +182 -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/shared/useTheme.d.ts +12 -1
- package/cjs/shared/useTheme.js +16 -1
- package/cjs/shared/useTheme.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 +224 -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 +3 -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 +299 -135
- 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 +3 -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 +544 -353
- 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 +3 -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 +299 -135
- 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 +3 -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 +4 -3
- 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 +34 -82
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
- package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +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/InputMasked.d.ts +0 -1
- package/components/input-masked/InputMasked.js +2 -2
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.js +5 -5
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +60 -0
- package/components/input-masked/MultiInputMask.js +148 -0
- package/components/input-masked/MultiInputMask.js.map +1 -0
- package/components/input-masked/TextMask.d.ts +1 -1
- package/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
- package/components/input-masked/hooks/useHandleCursorPosition.js +106 -0
- package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
- package/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
- package/components/input-masked/hooks/useMultiInputValues.js +29 -0
- package/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
- package/components/input-masked/index.d.ts +2 -0
- package/components/input-masked/index.js +2 -0
- package/components/input-masked/index.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +57 -0
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.scss +73 -0
- package/components/lib.d.ts +13 -7
- 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 +4 -3
- 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 +34 -82
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +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/InputMasked.d.ts +0 -1
- package/es/components/input-masked/InputMasked.js +2 -2
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +5 -5
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +60 -0
- package/es/components/input-masked/MultiInputMask.js +145 -0
- package/es/components/input-masked/MultiInputMask.js.map +1 -0
- package/es/components/input-masked/TextMask.d.ts +1 -1
- package/es/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
- package/es/components/input-masked/hooks/useHandleCursorPosition.js +105 -0
- package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
- package/es/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
- package/es/components/input-masked/hooks/useMultiInputValues.js +28 -0
- package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
- package/es/components/input-masked/index.d.ts +2 -0
- package/es/components/input-masked/index.js +2 -0
- package/es/components/input-masked/index.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +57 -0
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.scss +73 -0
- package/es/components/lib.d.ts +13 -7
- 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/extensions/payment-card/style/dnb-payment-card.css +3 -0
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/extensions/payment-card/style/dnb-payment-card.scss +4 -0
- 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 +182 -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/shared/useTheme.d.ts +12 -1
- package/es/shared/useTheme.js +14 -1
- package/es/shared/useTheme.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 +224 -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 +3 -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 +299 -135
- 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 +3 -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 +544 -353
- 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 +3 -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 +299 -135
- 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 +3 -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/extensions/payment-card/style/dnb-payment-card.css +3 -0
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/extensions/payment-card/style/dnb-payment-card.scss +4 -0
- package/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
- package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +182 -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/shared/useTheme.d.ts +12 -1
- package/shared/useTheme.js +14 -1
- package/shared/useTheme.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 +224 -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 +3 -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 +299 -135
- 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 +3 -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 +544 -353
- 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 +3 -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 +299 -135
- 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 +3 -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
|
@@ -6,136 +6,104 @@
|
|
|
6
6
|
@import '../../../../components/anchor/style/anchor-mixins.scss';
|
|
7
7
|
|
|
8
8
|
.dnb-section {
|
|
9
|
+
--background-color: var(--color-white);
|
|
10
|
+
--outline-color--value: var(--color-black-8);
|
|
11
|
+
|
|
9
12
|
&--divider {
|
|
10
|
-
color: var(--color-black-80);
|
|
13
|
+
--text-color: var(--color-black-80);
|
|
14
|
+
--background-color: var(--color-white);
|
|
15
|
+
|
|
16
|
+
// will else cover parts of the divider lines
|
|
17
|
+
z-index: 0;
|
|
18
|
+
|
|
19
|
+
// Separator color
|
|
20
|
+
--sc: var(--color-mint-green-50);
|
|
11
21
|
|
|
12
22
|
&::after {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
99vw 0 0 0
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
396vw 0 0 0 currentcolor,
|
|
19
|
-
0 0.0625rem 0 0 var(--color-mint-green-50),
|
|
20
|
-
99vw 0.0625rem 0 0 var(--color-mint-green-50),
|
|
21
|
-
0 -0.0625rem 0 0 var(--color-mint-green-50),
|
|
22
|
-
99vw -0.0625rem 0 0 var(--color-mint-green-50),
|
|
23
|
-
198vw 0.0625rem 0 0 var(--color-mint-green-50),
|
|
24
|
-
198vw -0.0625rem 0 0 var(--color-mint-green-50);
|
|
23
|
+
--box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor,
|
|
24
|
+
297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor,
|
|
25
|
+
0 0.0625rem 0 0 var(--sc), 99vw 0.0625rem 0 0 var(--sc),
|
|
26
|
+
0 -0.0625rem 0 0 var(--sc), 99vw -0.0625rem 0 0 var(--sc),
|
|
27
|
+
198vw 0.0625rem 0 0 var(--sc), 198vw -0.0625rem 0 0 var(--sc);
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
&--transparent {
|
|
29
|
-
|
|
30
|
-
color: transparent;
|
|
31
|
-
}
|
|
32
|
+
--background-color: transparent;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
/** deprecated: default should be white in v11 */
|
|
35
36
|
&--mint-green-12,
|
|
36
37
|
&--default {
|
|
37
|
-
color: var(--color-black-80);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
--text-color: var(--text-color--value, var(--color-black-80));
|
|
39
|
+
--background-color: var(
|
|
40
|
+
--background-color--value,
|
|
41
|
+
var(--color-mint-green-12)
|
|
42
|
+
);
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
&--white {
|
|
45
|
-
color: var(--color-black-80);
|
|
46
|
-
|
|
47
|
-
&::after {
|
|
48
|
-
color: var(--color-white);
|
|
49
|
-
}
|
|
46
|
+
--text-color: var(--color-black-80);
|
|
47
|
+
--background-color: var(--color-white);
|
|
50
48
|
}
|
|
51
49
|
|
|
52
50
|
/** deprecated */
|
|
53
51
|
&--mint-green {
|
|
54
|
-
color: var(--color-black-80);
|
|
55
|
-
|
|
56
|
-
&::after {
|
|
57
|
-
color: var(--color-mint-green);
|
|
58
|
-
}
|
|
52
|
+
--text-color: var(--color-black-80);
|
|
53
|
+
--background-color: var(--color-mint-green);
|
|
59
54
|
}
|
|
60
55
|
|
|
61
56
|
/** deprecated */
|
|
62
57
|
&--lavender {
|
|
63
|
-
color: var(--color-black-80);
|
|
64
|
-
|
|
65
|
-
&::after {
|
|
66
|
-
color: var(--color-lavender);
|
|
67
|
-
}
|
|
58
|
+
--text-color: var(--color-black-80);
|
|
59
|
+
--background-color: var(--color-lavender);
|
|
68
60
|
}
|
|
69
61
|
|
|
70
62
|
&--sand-yellow,/** deprecated */
|
|
71
63
|
&--warning {
|
|
72
|
-
color: var(--color-black-80);
|
|
73
|
-
|
|
74
|
-
&::after {
|
|
75
|
-
color: var(--color-sand-yellow);
|
|
76
|
-
}
|
|
64
|
+
--text-color: var(--color-black-80);
|
|
65
|
+
--background-color: var(--color-sand-yellow);
|
|
77
66
|
}
|
|
78
67
|
|
|
79
68
|
&--pistachio,/** deprecated */
|
|
80
69
|
&--info {
|
|
81
|
-
color: var(--color-black-80);
|
|
82
|
-
|
|
83
|
-
&::after {
|
|
84
|
-
color: var(--color-pistachio);
|
|
85
|
-
}
|
|
70
|
+
--text-color: var(--color-black-80);
|
|
71
|
+
--background-color: var(--color-pistachio);
|
|
86
72
|
}
|
|
87
73
|
|
|
88
74
|
/** deprecated */
|
|
89
75
|
&--black-3 {
|
|
90
|
-
color: var(--color-black-80);
|
|
91
|
-
|
|
92
|
-
&::after {
|
|
93
|
-
color: var(--color-black-3);
|
|
94
|
-
}
|
|
76
|
+
--text-color: var(--color-black-80);
|
|
77
|
+
--background-color: var(--color-black-3);
|
|
95
78
|
}
|
|
96
79
|
|
|
97
80
|
/** deprecated */
|
|
98
81
|
&--emerald-green {
|
|
99
|
-
color: var(--color-mint-green);
|
|
100
|
-
|
|
101
|
-
&::after {
|
|
102
|
-
color: var(--color-emerald-green);
|
|
103
|
-
}
|
|
82
|
+
--text-color: var(--color-mint-green);
|
|
83
|
+
--background-color: var(--color-emerald-green);
|
|
104
84
|
}
|
|
105
85
|
|
|
106
86
|
/** deprecated */
|
|
107
87
|
&--sea-green {
|
|
108
|
-
color: var(--color-white);
|
|
109
|
-
|
|
110
|
-
&::after {
|
|
111
|
-
color: var(--color-sea-green);
|
|
112
|
-
}
|
|
88
|
+
--text-color: var(--color-white);
|
|
89
|
+
--background-color: var(--color-sea-green);
|
|
113
90
|
}
|
|
114
91
|
|
|
115
92
|
/** deprecated */
|
|
116
93
|
&--fire-red {
|
|
117
|
-
color: var(--color-white);
|
|
118
|
-
|
|
119
|
-
&::after {
|
|
120
|
-
color: var(--color-fire-red);
|
|
121
|
-
}
|
|
94
|
+
--text-color: var(--color-white);
|
|
95
|
+
--background-color: var(--color-fire-red);
|
|
122
96
|
}
|
|
123
97
|
|
|
124
98
|
&--fire-red-8,/** deprecated */
|
|
125
99
|
&--error {
|
|
126
|
-
color: var(--color-black-80);
|
|
127
|
-
|
|
128
|
-
&::after {
|
|
129
|
-
color: var(--color-fire-red-8);
|
|
130
|
-
}
|
|
100
|
+
--text-color: var(--color-black-80);
|
|
101
|
+
--background-color: var(--color-fire-red-8);
|
|
131
102
|
}
|
|
132
103
|
|
|
133
104
|
&--success {
|
|
134
|
-
color: var(--color-white);
|
|
135
|
-
|
|
136
|
-
&::after {
|
|
137
|
-
color: var(--color-success-green);
|
|
138
|
-
}
|
|
105
|
+
--text-color: var(--color-white);
|
|
106
|
+
--background-color: var(--color-success-green);
|
|
139
107
|
}
|
|
140
108
|
|
|
141
109
|
// Contrast styles
|
|
@@ -149,18 +117,18 @@
|
|
|
149
117
|
&--fire-red .dnb-button--tertiary,/** deprecated */
|
|
150
118
|
&--emerald-green .dnb-button--tertiary,/** deprecated */
|
|
151
119
|
&--sea-green .dnb-button--tertiary /** deprecated */ {
|
|
152
|
-
color: var(--color-white);
|
|
120
|
+
--text-color: var(--color-white);
|
|
153
121
|
|
|
154
122
|
&:hover {
|
|
155
|
-
color: var(--color-white);
|
|
123
|
+
--text-color: var(--color-white);
|
|
156
124
|
}
|
|
157
125
|
|
|
158
126
|
&:hover .dnb-button__text::after {
|
|
159
|
-
color: var(--color-white) !important;
|
|
127
|
+
--text-color: var(--color-white) !important;
|
|
160
128
|
}
|
|
161
129
|
|
|
162
130
|
&:focus {
|
|
163
|
-
color: var(--color-white);
|
|
131
|
+
--text-color: var(--color-white);
|
|
164
132
|
|
|
165
133
|
&::before {
|
|
166
134
|
@include focusRing(null, var(--color-white));
|
|
@@ -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 = ["element", "inline", "no_collapse", "top", "right", "bottom", "left", "space", "stretch", "skeleton", "innerRef", "className", "children"],
|
|
4
|
+
const _excluded = ["element", "inline", "no_collapse", "top", "right", "bottom", "left", "style", "space", "innerSpace", "stretch", "skeleton", "innerRef", "className", "children"],
|
|
5
5
|
_excluded2 = ["element", "no_collapse", "children", "innerRef"];
|
|
6
6
|
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; }
|
|
7
7
|
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; }
|
|
@@ -10,9 +10,8 @@ import classnames from 'classnames';
|
|
|
10
10
|
import { isTrue, extendPropsWithContext, validateDOMAttributes } from '../../shared/component-helper';
|
|
11
11
|
import Context from '../../shared/Context';
|
|
12
12
|
import { spacingPropTypes } from './SpacingHelper';
|
|
13
|
-
import { createSpacingClasses, isInline } from './SpacingUtils';
|
|
13
|
+
import { createSpacingClasses, createSpacingProperties, isInline } from './SpacingUtils';
|
|
14
14
|
import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/SkeletonHelper';
|
|
15
|
-
import Section from '../section/Section';
|
|
16
15
|
export { spacingPropTypes };
|
|
17
16
|
const defaultProps = {};
|
|
18
17
|
export default function Space(localProps) {
|
|
@@ -30,7 +29,9 @@ export default function Space(localProps) {
|
|
|
30
29
|
right,
|
|
31
30
|
bottom,
|
|
32
31
|
left,
|
|
32
|
+
style,
|
|
33
33
|
space,
|
|
34
|
+
innerSpace,
|
|
34
35
|
stretch,
|
|
35
36
|
skeleton,
|
|
36
37
|
innerRef,
|
|
@@ -47,11 +48,13 @@ export default function Space(localProps) {
|
|
|
47
48
|
space
|
|
48
49
|
}), className, isTrue(stretch) && 'dnb-space--stretch', isTrue(inline) && 'dnb-space--inline')
|
|
49
50
|
}, attributes);
|
|
51
|
+
const styleObj = _objectSpread(_objectSpread({}, style), createSpacingProperties(props));
|
|
50
52
|
skeletonDOMAttributes(params, skeleton);
|
|
51
53
|
return React.createElement(Element, _extends({
|
|
52
54
|
element: element,
|
|
53
55
|
no_collapse: no_collapse,
|
|
54
|
-
innerRef: innerRef
|
|
56
|
+
innerRef: innerRef,
|
|
57
|
+
style: styleObj
|
|
55
58
|
}, params), children);
|
|
56
59
|
}
|
|
57
60
|
Space._supportsSpacingProps = true;
|
|
@@ -64,17 +67,13 @@ function Element(_ref) {
|
|
|
64
67
|
} = _ref,
|
|
65
68
|
props = _objectWithoutProperties(_ref, _excluded2);
|
|
66
69
|
const ElementDynamic = element;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
component = React.createElement(ElementDynamic, _extends({}, props, {
|
|
70
|
-
inner_ref: innerRef
|
|
71
|
-
}), children);
|
|
70
|
+
if ((element === null || element === void 0 ? void 0 : element['_name']) === 'Section') {
|
|
71
|
+
props['innerRef'] = innerRef;
|
|
72
72
|
} else {
|
|
73
73
|
validateDOMAttributes({}, props);
|
|
74
|
-
|
|
75
|
-
ref: innerRef
|
|
76
|
-
}), children);
|
|
74
|
+
props['ref'] = innerRef;
|
|
77
75
|
}
|
|
76
|
+
const component = React.createElement(ElementDynamic, props, children);
|
|
78
77
|
if (isTrue(no_collapse)) {
|
|
79
78
|
const R = ElementDynamic === 'span' || isInline(element) ? 'span' : 'div';
|
|
80
79
|
return React.createElement(R, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Space.js","names":["React","classnames","isTrue","extendPropsWithContext","validateDOMAttributes","Context","spacingPropTypes","createSpacingClasses","isInline","skeletonDOMAttributes","createSkeletonClass","
|
|
1
|
+
{"version":3,"file":"Space.js","names":["React","classnames","isTrue","extendPropsWithContext","validateDOMAttributes","Context","spacingPropTypes","createSpacingClasses","createSpacingProperties","isInline","skeletonDOMAttributes","createSkeletonClass","defaultProps","Space","localProps","context","useContext","props","space","skeleton","element","inline","no_collapse","top","right","bottom","left","style","innerSpace","stretch","innerRef","className","children","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","styleObj","createElement","Element","_extends","_supportsSpacingProps","_ref","_excluded2","ElementDynamic","component","R"],"sources":["../../../../src/components/space/Space.tsx"],"sourcesContent":["/**\n * Web Space Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { spacingPropTypes } from './SpacingHelper'\nimport {\n createSpacingClasses,\n createSpacingProperties,\n isInline,\n} from './SpacingUtils'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\n\nexport { spacingPropTypes }\n\nexport type SpaceProps = {\n /**\n * Defines the HTML element used.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * If set to `true`, then `display: inline-block;` is used, so the HTML elements get aligned horizontally. Defaults to `false`.\n * Default: false\n */\n inline?: boolean\n\n /**\n * If set to `true`, then a wrapper with `display: flow-root;` is used. This way you avoid **Margin Collapsing**. Defaults to `false`. _Note:_ You can't use `inline={true}` in combination.\n * Default: false\n */\n no_collapse?: boolean\n\n /**\n * If set to `true`, then the space element will be 100% in `width`.\n * Default: false\n */\n stretch?: boolean\n\n /**\n * If set to `true`, a loading skeleton will be shown.\n * Default: false\n */\n skeleton?: SkeletonShow\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & SpacingProps\n\nexport type SpaceAllProps = SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {}\n\nexport default function Space(localProps: SpaceAllProps) {\n const context = React.useContext<ContextProps & SpacingProps>(Context)\n\n // consume the space context\n const props = context.space\n ? // use only the props from context, who are available here anyway\n extendPropsWithContext(\n localProps,\n defaultProps,\n { space: context.space },\n { skeleton: context?.skeleton }\n )\n : localProps\n\n const {\n element = 'div',\n inline,\n no_collapse,\n top,\n right,\n bottom,\n left,\n style,\n space,\n innerSpace, // eslint-disable-line\n stretch,\n skeleton,\n innerRef,\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-space',\n isTrue(stretch) && 'dnb-space--stretch',\n isTrue(inline) && 'dnb-space--inline',\n createSkeletonClass(null, skeleton), // do not send along context\n createSpacingClasses({ top, right, bottom, left, space }),\n className\n ),\n ...attributes,\n }\n\n const styleObj = {\n ...style,\n ...createSpacingProperties(props),\n } as React.CSSProperties\n\n skeletonDOMAttributes(params, skeleton) // do not send along context\n\n return (\n <Element\n element={element}\n no_collapse={no_collapse}\n innerRef={innerRef}\n style={styleObj}\n {...params}\n >\n {children}\n </Element>\n )\n}\n\nSpace._supportsSpacingProps = true\n\nfunction Element({\n element,\n no_collapse,\n children,\n innerRef,\n ...props\n}: SpaceAllProps) {\n const ElementDynamic = element\n\n if (element?.['_name'] === 'Section') {\n props['innerRef'] = innerRef\n } else {\n // also used for code markup simulation\n validateDOMAttributes({}, props)\n props['ref'] = innerRef\n }\n\n const component = (\n <ElementDynamic {...(props as DynamicElementParams)}>\n {children}\n </ElementDynamic>\n )\n\n if (isTrue(no_collapse)) {\n const R =\n ElementDynamic === 'span' || isInline(element as string)\n ? 'span'\n : 'div'\n return (\n <R\n className={classnames(\n 'dnb-space--no-collapse',\n isInline(element as string) && 'dnb-space--inline'\n )}\n >\n {component}\n </R>\n )\n }\n\n return component\n}\n"],"mappings":"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"}
|
|
@@ -10,7 +10,5 @@ export namespace spacingPropTypes {
|
|
|
10
10
|
const bottom: PropTypes.Requireable<NonNullable<string | number | boolean>>;
|
|
11
11
|
const left: PropTypes.Requireable<NonNullable<string | number | boolean>>;
|
|
12
12
|
}
|
|
13
|
-
import { createSpacingClasses } from './SpacingUtils';
|
|
14
|
-
import { removeSpaceProps } from './SpacingUtils';
|
|
15
13
|
import PropTypes from 'prop-types';
|
|
16
|
-
export { createSpacingClasses, removeSpaceProps };
|
|
14
|
+
export { createSpacingClasses, createSpacingProperties, removeSpaceProps } from "./SpacingUtils";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
|
|
3
|
-
export { createSpacingClasses, removeSpaceProps };
|
|
2
|
+
export { createSpacingClasses, createSpacingProperties, removeSpaceProps } from './SpacingUtils';
|
|
4
3
|
export const spacingPropTypes = {
|
|
5
4
|
space: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool, PropTypes.shape({
|
|
6
5
|
top: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacingHelper.js","names":["PropTypes","createSpacingClasses","removeSpaceProps","spacingPropTypes","space","oneOfType","string","number","bool","shape","top","right","bottom","left"],"sources":["../../../../src/components/space/SpacingHelper.js"],"sourcesContent":["/**\n * Space helper\n * NB: Because it contains \"PropTypes\" we keep this file as a JavaScript file.\n */\n\nimport PropTypes from 'prop-types'\
|
|
1
|
+
{"version":3,"file":"SpacingHelper.js","names":["PropTypes","createSpacingClasses","createSpacingProperties","removeSpaceProps","spacingPropTypes","space","oneOfType","string","number","bool","shape","top","right","bottom","left"],"sources":["../../../../src/components/space/SpacingHelper.js"],"sourcesContent":["/**\n * Space helper\n * NB: Because it contains \"PropTypes\" we keep this file as a JavaScript file.\n */\n\nimport PropTypes from 'prop-types'\nexport {\n createSpacingClasses,\n createSpacingProperties,\n removeSpaceProps,\n} from './SpacingUtils'\n\nexport const spacingPropTypes = {\n space: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.shape({\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n }),\n ]),\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n}\n"],"mappings":"AAKA,OAAOA,SAAS,MAAM,YAAY;AAClC,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,gBAAgB,QACX,gBAAgB;AAEvB,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,KAAK,EAAEL,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,EACdT,SAAS,CAACU,KAAK,CAAC;IACdC,GAAG,EAAEX,SAAS,CAACM,SAAS,CAAC,CACvBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFG,KAAK,EAAEZ,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFI,MAAM,EAAEb,SAAS,CAACM,SAAS,CAAC,CAC1BN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFK,IAAI,EAAEd,SAAS,CAACM,SAAS,CAAC,CACxBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf;EACH,CAAC,CAAC,CACH,CAAC;EACFE,GAAG,EAAEX,SAAS,CAACM,SAAS,CAAC,CACvBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFG,KAAK,EAAEZ,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFI,MAAM,EAAEb,SAAS,CAACM,SAAS,CAAC,CAC1BN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFK,IAAI,EAAEd,SAAS,CAACM,SAAS,CAAC,CACxBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf;AACH,CAAC"}
|
|
@@ -2,11 +2,18 @@
|
|
|
2
2
|
* Space helper
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
import type { SpaceType, SpacingUnknownProps, SpacingProps, SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType } from './types';
|
|
5
|
+
import type { SpaceType, SpacingUnknownProps, SpacingProps, SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType, SpacingElementProps } from './types';
|
|
6
6
|
type SpaceNumber = number;
|
|
7
7
|
export declare const spacingDefaultProps: SpacingProps;
|
|
8
8
|
export declare const spacePatterns: Record<SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType>;
|
|
9
9
|
export declare const calc: (...types: Array<SpaceType>) => any;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a valid space CSS style out from given space types
|
|
12
|
+
*
|
|
13
|
+
* @param props
|
|
14
|
+
* @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }
|
|
15
|
+
*/
|
|
16
|
+
export declare const createSpacingProperties: (props: SpacingProps) => React.CSSProperties;
|
|
10
17
|
/**
|
|
11
18
|
* Creates a valid space CSS class out from given space types
|
|
12
19
|
*
|
|
@@ -27,6 +34,6 @@ export declare const findType: (num: SpaceNumber) => SpaceType;
|
|
|
27
34
|
export declare const findTypeAll: (num: SpaceNumber) => Array<SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType>;
|
|
28
35
|
export declare const findNearestTypes: (num: SpaceNumber, multiply?: boolean) => any[];
|
|
29
36
|
export declare const isValidSpaceProp: (propName: string) => boolean;
|
|
30
|
-
export declare const removeSpaceProps: (props:
|
|
37
|
+
export declare const removeSpaceProps: <Props extends SpacingProps>(props: Props) => Omit<Props, "space" | "innerSpace" | keyof SpacingElementProps>;
|
|
31
38
|
export declare const isInline: (elementName: string) => boolean;
|
|
32
39
|
export {};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
1
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
const _excluded = ["space", "innerSpace", "top", "bottom", "left", "right"];
|
|
2
4
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
6
|
import { warn } from '../../shared/component-helper';
|
|
5
7
|
export const spacingDefaultProps = {
|
|
6
8
|
space: null,
|
|
9
|
+
innerSpace: null,
|
|
7
10
|
top: null,
|
|
8
11
|
right: null,
|
|
9
12
|
bottom: null,
|
|
@@ -36,6 +39,61 @@ export const calc = function () {
|
|
|
36
39
|
});
|
|
37
40
|
return result.length ? globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})` : null;
|
|
38
41
|
};
|
|
42
|
+
export const createSpacingProperties = props => {
|
|
43
|
+
if (props !== null && props !== void 0 && props.innerSpace) {
|
|
44
|
+
return computeProperties(props.innerSpace);
|
|
45
|
+
}
|
|
46
|
+
return {};
|
|
47
|
+
};
|
|
48
|
+
function hasMediaSize(media) {
|
|
49
|
+
const keys = Object.keys(media);
|
|
50
|
+
return keys.includes('small') || keys.includes('medium') || keys.includes('large');
|
|
51
|
+
}
|
|
52
|
+
function hasSize(space) {
|
|
53
|
+
const keys = Object.keys(space);
|
|
54
|
+
return keys.includes('top') || keys.includes('right') || keys.includes('bottom') || keys.includes('left');
|
|
55
|
+
}
|
|
56
|
+
function computeProperties(space) {
|
|
57
|
+
if (!hasMediaSize(space)) {
|
|
58
|
+
space = {
|
|
59
|
+
small: space,
|
|
60
|
+
medium: space,
|
|
61
|
+
large: space
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const result = {};
|
|
65
|
+
for (const size in space) {
|
|
66
|
+
var _space;
|
|
67
|
+
const value = (_space = space) === null || _space === void 0 ? void 0 : _space[size];
|
|
68
|
+
const props = transformToAll(value);
|
|
69
|
+
for (const key in props) {
|
|
70
|
+
if (isValidSpaceProp(key)) {
|
|
71
|
+
const cur = props[key];
|
|
72
|
+
const name = `--space-${key[0]}-${size[0]}`;
|
|
73
|
+
if (String(cur) === '0' || String(cur) === 'false') {
|
|
74
|
+
result[name] = '0';
|
|
75
|
+
} else if (cur) {
|
|
76
|
+
const typeModifiers = createTypeModifiers(cur);
|
|
77
|
+
const sum = sumTypes(typeModifiers);
|
|
78
|
+
result[name] = `${sum}rem`;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
function transformToAll(value) {
|
|
86
|
+
let result = value;
|
|
87
|
+
if (!hasSize(value)) {
|
|
88
|
+
result = {
|
|
89
|
+
top: value,
|
|
90
|
+
right: value,
|
|
91
|
+
bottom: value,
|
|
92
|
+
left: value
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
39
97
|
export const createSpacingClasses = function (props) {
|
|
40
98
|
let Element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
41
99
|
const p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
|
|
@@ -54,7 +112,7 @@ export const createSpacingClasses = function (props) {
|
|
|
54
112
|
}
|
|
55
113
|
return Object.entries(p).reduce((acc, _ref) => {
|
|
56
114
|
let [direction, cur] = _ref;
|
|
57
|
-
if (isValidSpaceProp(direction)) {
|
|
115
|
+
if (isValidSpaceProp(direction) && direction !== 'innerSpace') {
|
|
58
116
|
if (String(cur) === '0' || String(cur) === 'false') {
|
|
59
117
|
acc.push(`dnb-space__${direction}--zero`);
|
|
60
118
|
} else if (cur) {
|
|
@@ -170,15 +228,18 @@ export const findNearestTypes = function (num) {
|
|
|
170
228
|
}
|
|
171
229
|
return res;
|
|
172
230
|
};
|
|
173
|
-
export const isValidSpaceProp = propName => propName && ['top', 'right', 'bottom', 'left'].includes(propName);
|
|
231
|
+
export const isValidSpaceProp = propName => propName && ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(propName);
|
|
174
232
|
export const removeSpaceProps = props => {
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
233
|
+
const {
|
|
234
|
+
space,
|
|
235
|
+
innerSpace,
|
|
236
|
+
top,
|
|
237
|
+
bottom,
|
|
238
|
+
left,
|
|
239
|
+
right
|
|
240
|
+
} = props,
|
|
241
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
242
|
+
return restProps;
|
|
182
243
|
};
|
|
183
244
|
export const isInline = elementName => {
|
|
184
245
|
switch (elementName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingClasses","props","Element","undefined","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","_ref","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","includes","_ref3","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction)) {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","innerSpace","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","undefined","p","isFrozen","_objectSpread","i","entries","reduce","acc","_ref","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","_ref3","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","restProps","_objectWithoutProperties","_excluded","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n SpaceTypeMedia,\n SpaceTypeAll,\n SpacingElementProps,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n innerSpace: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS style out from given space types\n *\n * @param props\n * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }\n */\nexport const createSpacingProperties = (\n props: SpacingProps\n): React.CSSProperties => {\n if (props?.innerSpace) {\n return computeProperties(props.innerSpace)\n }\n\n return {}\n}\n\nfunction hasMediaSize(media: SpaceTypeMedia) {\n const keys = Object.keys(media)\n return (\n keys.includes('small') ||\n keys.includes('medium') ||\n keys.includes('large')\n )\n}\n\nfunction hasSize(space: SpacingElementProps) {\n const keys = Object.keys(space)\n return (\n keys.includes('top') ||\n keys.includes('right') ||\n keys.includes('bottom') ||\n keys.includes('left')\n )\n}\n\nfunction computeProperties(space: SpaceTypeAll | SpaceTypeMedia) {\n if (!hasMediaSize(space as SpaceTypeMedia)) {\n space = {\n small: space,\n medium: space,\n large: space,\n } as SpaceTypeMedia\n }\n\n const result = {}\n\n for (const size in space as SpaceTypeMedia) {\n const value = space?.[size] as SpaceType | SpacingElementProps\n const props = transformToAll(value)\n\n for (const key in props as SpaceTypeMedia) {\n if (isValidSpaceProp(key)) {\n const cur = props[key]\n const name = `--space-${key[0]}-${size[0]}`\n\n if (String(cur) === '0' || String(cur) === 'false') {\n result[name] = '0'\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n const sum = sumTypes(typeModifiers)\n result[name] = `${sum}rem`\n }\n }\n }\n }\n\n return result as React.CSSProperties\n}\n\nfunction transformToAll(value: SpaceType | SpacingElementProps) {\n let result = value\n\n if (!hasSize(value as SpacingElementProps)) {\n result = {\n top: value,\n right: value,\n bottom: value,\n left: value,\n } as SpacingElementProps\n }\n\n return result as SpacingElementProps\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction) && direction !== 'innerSpace') {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName &&\n ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(\n propName\n )\n\nexport const removeSpaceProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n const { space, innerSpace, top, bottom, left, right, ...restProps } =\n props\n return restProps\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":";;;;;AAKA,SAASA,IAAI,QAAQ,+BAA+B;AAgBpD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,KAAK,EAAE,IAAI;EACXC,UAAU,EAAE,IAAI;EAChBC,GAAG,EAAE,IAAI;EACTC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,aAGZ,GAAG;EACF,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;EACdC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,GAAG;EACXC,KAAK,EAAE,CAAC;EACR,SAAS,EAAE,CAAC;EACZ,UAAU,EAAE,GAAG;EACf,aAAa,EAAE;AACjB,CAAC;AAQDC,UAAU,CAACC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,MAAMC,IAAI,GAAG,SAAAA,CAAA,EAAgC;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAA5BC,KAAK,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAALF,KAAK,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAC3B,MAAMC,IAAI,GAAGH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;EAC5B,IAAIV,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC,EAAE;IAC/B,OAAOT,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC;EACpC;EAEA,MAAME,MAAqB,GAAG,EAAE;EAEhCL,KAAK,CAACM,OAAO,CAAEC,QAAQ,IAAK;IAC1BC,mBAAmB,CAACD,QAAqB,CAAC,CAACD,OAAO,CAAEG,IAAI,IAAK;MAC3DJ,MAAM,CAACK,IAAI,CAAE,iBAAgBD,IAAK,GAAE,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOJ,MAAM,CAACN,MAAM,GACfL,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC,GAAI,QAAOE,MAAM,CAACD,IAAI,CAAC,KAAK,CAAE,GAAE,GAC5D,IAAI;AACV,CAAC;AAQD,OAAO,MAAMO,uBAAuB,GAClCC,KAAmB,IACK;EACxB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE3B,UAAU,EAAE;IACrB,OAAO4B,iBAAiB,CAACD,KAAK,CAAC3B,UAAU,CAAC;EAC5C;EAEA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS6B,YAAYA,CAACC,KAAqB,EAAE;EAC3C,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,KAAK,CAAC;EAC/B,OACEC,IAAI,CAACE,QAAQ,CAAC,OAAO,CAAC,IACtBF,IAAI,CAACE,QAAQ,CAAC,QAAQ,CAAC,IACvBF,IAAI,CAACE,QAAQ,CAAC,OAAO,CAAC;AAE1B;AAEA,SAASC,OAAOA,CAACnC,KAA0B,EAAE;EAC3C,MAAMgC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAAChC,KAAK,CAAC;EAC/B,OACEgC,IAAI,CAACE,QAAQ,CAAC,KAAK,CAAC,IACpBF,IAAI,CAACE,QAAQ,CAAC,OAAO,CAAC,IACtBF,IAAI,CAACE,QAAQ,CAAC,QAAQ,CAAC,IACvBF,IAAI,CAACE,QAAQ,CAAC,MAAM,CAAC;AAEzB;AAEA,SAASL,iBAAiBA,CAAC7B,KAAoC,EAAE;EAC/D,IAAI,CAAC8B,YAAY,CAAC9B,KAAuB,CAAC,EAAE;IAC1CA,KAAK,GAAG;MACNO,KAAK,EAAEP,KAAK;MACZQ,MAAM,EAAER,KAAK;MACbS,KAAK,EAAET;IACT,CAAmB;EACrB;EAEA,MAAMqB,MAAM,GAAG,CAAC,CAAC;EAEjB,KAAK,MAAMe,IAAI,IAAIpC,KAAK,EAAoB;IAAA,IAAAqC,MAAA;IAC1C,MAAMC,KAAK,IAAAD,MAAA,GAAGrC,KAAK,cAAAqC,MAAA,uBAALA,MAAA,CAAQD,IAAI,CAAoC;IAC9D,MAAMR,KAAK,GAAGW,cAAc,CAACD,KAAK,CAAC;IAEnC,KAAK,MAAME,GAAG,IAAIZ,KAAK,EAAoB;MACzC,IAAIa,gBAAgB,CAACD,GAAG,CAAC,EAAE;QACzB,MAAME,GAAG,GAAGd,KAAK,CAACY,GAAG,CAAC;QACtB,MAAMG,IAAI,GAAI,WAAUH,GAAG,CAAC,CAAC,CAAE,IAAGJ,IAAI,CAAC,CAAC,CAAE,EAAC;QAE3C,IAAIQ,MAAM,CAACF,GAAG,CAAC,KAAK,GAAG,IAAIE,MAAM,CAACF,GAAG,CAAC,KAAK,OAAO,EAAE;UAClDrB,MAAM,CAACsB,IAAI,CAAC,GAAG,GAAG;QACpB,CAAC,MAAM,IAAID,GAAG,EAAE;UACd,MAAMG,aAAa,GAAGrB,mBAAmB,CAACkB,GAAgB,CAAC;UAC3D,MAAMI,GAAG,GAAGC,QAAQ,CAACF,aAAa,CAAC;UACnCxB,MAAM,CAACsB,IAAI,CAAC,GAAI,GAAEG,GAAI,KAAI;QAC5B;MACF;IACF;EACF;EAEA,OAAOzB,MAAM;AACf;AAEA,SAASkB,cAAcA,CAACD,KAAsC,EAAE;EAC9D,IAAIjB,MAAM,GAAGiB,KAAK;EAElB,IAAI,CAACH,OAAO,CAACG,KAA4B,CAAC,EAAE;IAC1CjB,MAAM,GAAG;MACPnB,GAAG,EAAEoC,KAAK;MACVnC,KAAK,EAAEmC,KAAK;MACZlC,MAAM,EAAEkC,KAAK;MACbjC,IAAI,EAAEiC;IACR,CAAwB;EAC1B;EAEA,OAAOjB,MAAM;AACf;AASA,OAAO,MAAM2B,oBAAoB,GAAG,SAAAA,CAClCpB,KAKuB,EAEpB;EAAA,IADHqB,OAAO,GAAAnC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoC,SAAA,GAAApC,SAAA,MAAG,IAAI;EAEd,MAAMqC,CAAC,GAAGlB,MAAM,CAACmB,QAAQ,CAACxB,KAAK,CAAC,GAAAyB,aAAA,KAAQzB,KAAK,IAAKA,KAAK;EAEvD,IAAI,OAAOuB,CAAC,CAACnD,KAAK,KAAK,WAAW,EAAE;IAClC,IACE,OAAOmD,CAAC,CAACnD,KAAK,KAAK,QAAQ,IAC3B,OAAOmD,CAAC,CAACnD,KAAK,KAAK,QAAQ,IAC1B,OAAOmD,CAAC,CAACnD,KAAK,KAAK,SAAS,IAAImD,CAAC,CAACnD,KAAM,EACzC;MACAmD,CAAC,CAACjD,GAAG,GAAGiD,CAAC,CAAChD,KAAK,GAAGgD,CAAC,CAAC/C,MAAM,GAAG+C,CAAC,CAAC9C,IAAI,GAAG8C,CAAC,CAACnD,KAAK;IAC/C;IACA,IAAI,OAAOmD,CAAC,CAACnD,KAAK,KAAK,QAAQ,EAAE;MAC/B,KAAK,MAAMsD,CAAC,IAAIH,CAAC,CAACnD,KAAK,EAAE;QACvB,IAAI,CAACmD,CAAC,CAACG,CAAC,CAAC,IAAIb,gBAAgB,CAACa,CAAC,CAAC,EAAE;UAChCH,CAAC,CAACG,CAAC,CAAC,GAAGH,CAAC,CAACnD,KAAK,CAACsD,CAAC,CAAC;QACnB;MACF;IACF;IACA,OAAOH,CAAC,CAACnD,KAAK;EAChB;EAEA,OAAOiC,MAAM,CAACsB,OAAO,CAACJ,CAAC,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAAC,IAAA,KAAuB;IAAA,IAArB,CAACC,SAAS,EAAEjB,GAAG,CAAC,GAAAgB,IAAA;IACpD,IAAIjB,gBAAgB,CAACkB,SAAS,CAAC,IAAIA,SAAS,KAAK,YAAY,EAAE;MAC7D,IAAIf,MAAM,CAACF,GAAG,CAAC,KAAK,GAAG,IAAIE,MAAM,CAACF,GAAG,CAAC,KAAK,OAAO,EAAE;QAClDe,GAAG,CAAC/B,IAAI,CAAE,cAAaiC,SAAU,QAAO,CAAC;MAC3C,CAAC,MAAM,IAAIjB,GAAG,EAAE;QACd,MAAMG,aAAa,GAAGrB,mBAAmB,CAACkB,GAAgB,CAAC;QAG3D,MAAMI,GAAG,GAAGC,QAAQ,CAACF,aAAa,CAAC;QACnC,IAAIC,GAAG,GAAG,EAAE,EAAE;UACZhD,IAAI,CACD,yDAAwDgD,GAAI,OAAMD,aAAa,CAACzB,IAAI,CACnF,GACF,CAAE,GACJ,CAAC;QACH,CAAC,MAAM;UAEL,MAAMwC,YAAY,GAAGC,gBAAgB,CAACf,GAAG,EAAE,IAAI,CAAC;UAEhDW,GAAG,GAAG,CACJ,GAAGA,GAAG,EACN,GAAGG,YAAY,CAACE,GAAG,CAChBrC,IAAI,IAAM,cAAakC,SAAU,KAAIlC,IAAK,EAC7C,CAAC,CACF;QACH;MACF;IACF,CAAC,MAAM,IAAIkC,SAAS,KAAK,aAAa,EAAE;MACtCF,GAAG,CAAC/B,IAAI,CAAC,wBAAwB,CAAC;MAClC,IAAIuB,OAAO,IAAIc,QAAQ,CAACd,OAAO,CAAC,EAAE;QAChCQ,GAAG,CAAC/B,IAAI,CAAC,mBAAmB,CAAC;MAC/B;IACF;IAEA,OAAO+B,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMO,cAAc,GAAIvC,IAAe,IAAK;EACjD,IAAI,MAAM,CAACwC,IAAI,CAACrB,MAAM,CAACnB,IAAI,CAAC,CAAC,EAAE;IAC7B,OAAOnB,aAAa,CAACsC,MAAM,CAACnB,IAAI,CAAC,CAACyC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;EAC5D;EACA,OAAO5D,aAAa,CAACsC,MAAM,CAACnB,IAAI,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAGD,OAAO,MAAM0C,UAAU,GAAInD,KAAmC,IAAK;EACjE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAMiD,IAAI,GAAIjD,KAAK,CAAsBoD,KAAK,CAAC,IAAI,CAAC;IACpD,OAAOC,KAAK,CAACJ,IAA+B,CAAC;EAC/C,CAAC,MAAM,IAAI,OAAOjD,KAAK,KAAK,SAAS,EAAE;IACrC,OAAO,CAAC,OAAO,CAAiC;EAClD,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,CAACA,KAAK,CAAC;EAChB;EAEA,OAAOqD,KAAK,CAACrD,KAAK,CAAC,IAAI,IAAI;EAE3B,SAASqD,KAAKA,CAACC,CAA6C,EAAE;IAC5D,OAAOA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEC,MAAM,CAAEC,CAAC,IAAKA,CAAC,IAAI5B,MAAM,CAAC4B,CAAC,CAAC,CAACzD,MAAM,GAAG,CAAC,CAAC;EACpD;AACF,CAAC;AAGD,OAAO,MAAMgC,QAAQ,GAAI/B,KAAmC,IAC1DmD,UAAU,CAACnD,KAAK,CAAC,CACd8C,GAAG,CAAErC,IAAI,IAAKuC,cAAc,CAACvC,IAAI,CAAC,CAAC,CACnC+B,MAAM,CAAC,CAACC,GAAG,EAAEf,GAAG,KAAK;EACpB,IAAIA,GAAG,GAAG,CAAC,EAAE;IACXe,GAAG,IAAIf,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,GAAG,CAAC,EAAE;IAClBe,GAAG,IAAIf,GAAG;EACZ;EACA,OAAOe,GAAG;AACZ,CAAC,EAAE,CAAC,CAAC;AAGT,OAAO,MAAMjC,mBAAmB,GAC9BR,KAAgB,IACK;EACrB,OAAO,CAACmD,UAAU,CAACnD,KAAK,CAAC,IAAI,EAAE,EAAEwC,MAAM,CAAC,CAACC,GAAG,EAAEhC,IAAI,KAAK;IACrD,IAAIA,IAAI,EAAE;MACR,MAAMgD,WAAW,GAAG7B,MAAM,CAACnB,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC,IAAIiD,UAAU,CAACD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QAEhC,IAAIE,GAAG,GAAGD,UAAU,CAAC9B,MAAM,CAACnB,IAAI,CAAC,CAAC;QAGlC,IAAIkD,GAAG,IAAI,CAAC,IAAI,SAAS,CAACV,IAAI,CAACrB,MAAM,CAACnB,IAAI,CAAC,CAAC,EAAE;UAC5CkD,GAAG,GAAGA,GAAG,GAAG,EAAE;QAChB;QAGA,MAAMC,SAAS,GAAGC,QAAQ,CAACF,GAAG,CAAC;QAG/B,IAAIC,SAAS,EAAE;UACbnD,IAAI,GAAGmD,SAAS;QAClB,CAAC,MAAM;UACLf,gBAAgB,CAACc,GAAG,CAAC,CAACrD,OAAO,CAAEG,IAAI,IAAK;YACtC,IAAIA,IAAI,EAAE;cACRgC,GAAG,CAAC/B,IAAI,CAACD,IAAI,CAAC;YAChB;UACF,CAAC,CAAC;QACJ;MACF;MAEA,IAAI,EAAEiD,UAAU,CAAC9B,MAAM,CAACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACnCgC,GAAG,CAAC/B,IAAI,CAACD,IAAI,CAAC;MAChB;IACF;IACA,OAAOgC,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMoB,QAAQ,GAAIF,GAAgB,IAAgB;EACvD,MAAMG,KAAK,GAAGC,WAAW,CAACJ,GAAG,CAAC;EAG9B,IAAIG,KAAK,EAAE;IACT,OAAOA,KAAK,CAAC,CAAC,CAAC;EACjB;EAEA,OAAO,IAAI;AACb,CAAC;AAGD,OAAO,MAAMC,WAAW,GACtBJ,GAAgB,IAGb;EACH,MAAMK,mBAAmB,GAAG/C,MAAM,CAACsB,OAAO,CAACjD,aAAa,CAGrD;EACH,MAAMwE,KAAK,GACTE,mBAAmB,CAACC,IAAI,CAACC,KAAA;IAAA,IAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAAF,KAAA;IAAA,OAAKC,CAAC,IAAIC,CAAC,KAAKT,GAAG;EAAA,EAAC,IAAI,IAAI;EAC9D,OAAOG,KAAK;AACd,CAAC;AAGD,OAAO,MAAMjB,gBAAgB,GAAG,SAAAA,CAACc,GAAgB,EAAuB;EAAA,IAArBU,QAAQ,GAAAvE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoC,SAAA,GAAApC,SAAA,MAAG,KAAK;EACjE,IAAIwE,GAAG,GAAG,EAAE;EAEZ,MAAMC,IAAI,GAAGtD,MAAM,CAACsB,OAAO,CAACjD,aAAa,CAAC,CACvCkF,OAAO,CAAC,CAAC,CACTjB,MAAM,CAAEY,CAAC,IAAME,QAAQ,GAAG,IAAI,GAAG,CAACF,CAAC,CAAC,CAAC,CAAC,CAACjD,QAAQ,CAAC,IAAI,CAAE,CAAC,CACvD+C,IAAI,CAACQ,KAAA;IAAA,IAAC,CAACN,CAAC,EAAEC,CAAC,CAAC,GAAAK,KAAA;IAAA,OAAKN,CAAC,IAAIR,GAAG,IAAIS,CAAC;EAAA,EAAC;EAClC,MAAMM,OAAO,GAAIH,IAAI,IAAIA,IAAI,CAAC,CAAC,CAAC,IAAKZ,GAAG;EACxC,MAAM3D,KAAK,GAAG+D,WAAW,CAACW,OAAO,CAAC;EAElC,IAAI1E,KAAK,EAAE;IACT,MAAM2E,QAAQ,GAAG3E,KAAK,CAAC,CAAC,CAAC;IACzBsE,GAAG,CAAC5D,IAAI,CAACiE,QAAQ,CAAC;IAClB,MAAMC,QAAQ,GAAGjB,GAAG,GAAGD,UAAU,CAAC9B,MAAM,CAAC5B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM6E,cAAc,GAAGhC,gBAAgB,CAAC+B,QAAQ,EAAEP,QAAQ,CAAC;IAG3DQ,cAAc,CAACvE,OAAO,CAAEG,IAAI,IAAK;MAC/B,MAAMqE,KAAK,GAAGR,GAAG,CAACS,OAAO,CAACtE,IAAI,CAAC;MAC/B,IAAIqE,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBR,GAAG,CAACQ,KAAK,CAAC,GAAGT,QAAQ,GAAI,GAAE5D,IAAK,KAAI,GAAGA,IAAI;MAC7C;IACF,CAAC,CAAC;IAEF6D,GAAG,GAAG,CAAC,GAAGA,GAAG,EAAE,GAAGO,cAAc,CAAC;EACnC;EAEA,OAAOP,GAAG;AACZ,CAAC;AAGD,OAAO,MAAM7C,gBAAgB,GAAIuD,QAAgB,IAC/CA,QAAQ,IACR,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC9D,QAAQ,CAChE8D,QACF,CAAC;AAEH,OAAO,MAAMC,gBAAgB,GAC3BrE,KAAY,IACwB;EACpC,MAAM;MAAE5B,KAAK;MAAEC,UAAU;MAAEC,GAAG;MAAEE,MAAM;MAAEC,IAAI;MAAEF;IAAoB,CAAC,GACjEyB,KAAK;IADiDsE,SAAS,GAAAC,wBAAA,CAC/DvE,KAAK,EAAAwE,SAAA;EACP,OAAOF,SAAS;AAClB,CAAC;AAED,OAAO,MAAMnC,QAAQ,GAAIsC,WAAmB,IAAK;EAC/C,QAAQA,WAAW;IACjB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,GAAG;MACN,OAAO,IAAI;EACf;EAEA,OAAO,KAAK;AACd,CAAC"}
|
|
@@ -561,6 +561,42 @@
|
|
|
561
561
|
.dnb-space__reset:not([class*=dnb-space__right]) {
|
|
562
562
|
margin-right: 0;
|
|
563
563
|
}
|
|
564
|
+
.dnb-space[style*="--space-t-"] {
|
|
565
|
+
padding-top: var(--padding-top, 0);
|
|
566
|
+
}
|
|
567
|
+
.dnb-space[style*="--space-r-"] {
|
|
568
|
+
padding-right: var(--padding-right, 0);
|
|
569
|
+
}
|
|
570
|
+
.dnb-space[style*="--space-b-"] {
|
|
571
|
+
padding-bottom: var(--padding-bottom, 0);
|
|
572
|
+
}
|
|
573
|
+
.dnb-space[style*="--space-l-"] {
|
|
574
|
+
padding-left: var(--padding-left, 0);
|
|
575
|
+
}
|
|
576
|
+
@media screen and (max-width: 60em) {
|
|
577
|
+
.dnb-space {
|
|
578
|
+
--padding-right: var(--space-r-s);
|
|
579
|
+
--padding-left: var(--space-l-s);
|
|
580
|
+
--padding-top: var(--space-t-s);
|
|
581
|
+
--padding-bottom: var(--space-b-s);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
@media screen and (max-width: 59.9375em) and (min-width: 40.0625em) {
|
|
585
|
+
.dnb-space {
|
|
586
|
+
--padding-right: var(--space-r-m);
|
|
587
|
+
--padding-left: var(--space-l-m);
|
|
588
|
+
--padding-top: var(--space-t-m);
|
|
589
|
+
--padding-bottom: var(--space-b-m);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
@media screen and (min-width: 60em) {
|
|
593
|
+
.dnb-space {
|
|
594
|
+
--padding-right: var(--space-r-l);
|
|
595
|
+
--padding-left: var(--space-l-l);
|
|
596
|
+
--padding-top: var(--space-t-l);
|
|
597
|
+
--padding-bottom: var(--space-b-l);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
564
600
|
|
|
565
601
|
span.dnb-space--no-collapse > span {
|
|
566
602
|
display: block;
|