@dnb/eufemia 10.7.0 → 10.8.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 +36 -0
- package/cjs/components/accordion/Accordion.d.ts +1 -1
- package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
- package/cjs/components/accordion/AccordionHeader.js +18 -5
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +22 -17
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/cjs/components/anchor/Anchor.js +1 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/cjs/components/autocomplete/Autocomplete.js +4 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/avatar/style/index.d.ts +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +23 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/cjs/components/checkbox/Checkbox.d.ts +4 -0
- package/cjs/components/checkbox/Checkbox.js +6 -4
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/cjs/components/drawer/Drawer.d.ts +1 -1
- package/cjs/components/drawer/Drawer.js +3 -1
- package/cjs/components/drawer/Drawer.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +2 -0
- package/cjs/components/form-status/FormStatus.js +70 -53
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
- package/cjs/components/global-status/GlobalStatus.js +17 -7
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/cjs/components/heading/Heading.d.ts +8 -8
- package/cjs/components/heading/Heading.js +8 -16
- package/cjs/components/heading/Heading.js.map +1 -1
- package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
- package/cjs/components/heading/HeadingHelpers.js +42 -1
- package/cjs/components/heading/HeadingHelpers.js.map +1 -1
- package/cjs/components/info-card/index.js.map +1 -1
- package/cjs/components/info-card/style.js.map +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
- package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +4 -0
- package/cjs/components/radio/Radio.js +6 -4
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/cjs/components/section/Section.d.ts +21 -1
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +1 -1
- package/cjs/components/section/style/dnb-section.scss +8 -3
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/cjs/components/skeleton/style/dnb-skeleton.scss +8 -5
- package/cjs/components/slider/style/dnb-slider.scss +4 -2
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
- package/cjs/components/step-indicator/StepIndicator.js +31 -26
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
- package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
- package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
- package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
- package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +4 -0
- package/cjs/components/switch/Switch.js +6 -4
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/cjs/components/table/TableContainer.js.map +1 -1
- package/cjs/components/table/style/table-accordion.scss +18 -6
- package/cjs/components/table/style/table-header-buttons.scss +3 -1
- package/cjs/components/table/style/table-tr.scss +6 -2
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/cjs/components/timeline/TimelineItem.d.ts +3 -2
- package/cjs/components/timeline/TimelineItem.js +96 -62
- package/cjs/components/timeline/TimelineItem.js.map +1 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/cjs/elements/lib.d.ts +1 -1
- package/cjs/elements/typography/H.d.ts +5 -3
- package/cjs/elements/typography/H.js +7 -3
- package/cjs/elements/typography/H.js.map +1 -1
- package/cjs/elements/typography/H1.js +2 -2
- package/cjs/elements/typography/H1.js.map +1 -1
- package/cjs/elements/typography/H2.js +2 -2
- package/cjs/elements/typography/H2.js.map +1 -1
- package/cjs/elements/typography/H3.js +2 -2
- package/cjs/elements/typography/H3.js.map +1 -1
- package/cjs/elements/typography/H4.js +2 -2
- package/cjs/elements/typography/H4.js.map +1 -1
- package/cjs/elements/typography/H5.js +2 -2
- package/cjs/elements/typography/H5.js.map +1 -1
- package/cjs/elements/typography/H6.js +2 -2
- package/cjs/elements/typography/H6.js.map +1 -1
- package/cjs/elements/typography/style/dnb-typography.scss +3 -0
- package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
- package/cjs/elements/typography/style/typography-mixins.scss +5 -0
- package/cjs/extensions/forms/DataContext/index.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/cjs/extensions/forms/Field/ArraySelection.js +52 -32
- package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/cjs/extensions/forms/Field/CountryCode.js +78 -0
- package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
- package/cjs/extensions/forms/Field/Currency.d.ts +2 -2
- package/cjs/extensions/forms/Field/Currency.js +6 -38
- package/cjs/extensions/forms/Field/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date.d.ts +2 -2
- package/cjs/extensions/forms/Field/Date.js +10 -6
- package/cjs/extensions/forms/Field/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Number.d.ts +7 -3
- package/cjs/extensions/forms/Field/Number.js +45 -20
- package/cjs/extensions/forms/Field/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/cjs/extensions/forms/Field/PhoneNumber.js +42 -41
- package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection.d.ts +6 -4
- package/cjs/extensions/forms/Field/Selection.js +87 -36
- package/cjs/extensions/forms/Field/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String.d.ts +3 -3
- package/cjs/extensions/forms/Field/String.js +26 -12
- package/cjs/extensions/forms/Field/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle.js +11 -9
- package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/fields.scss +2 -2
- package/cjs/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/cjs/extensions/forms/Field/hooks/useField.js +34 -33
- package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/index.js +3 -1
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/cjs/extensions/forms/Field/style/index.scss +2 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -10
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/cjs/extensions/forms/FieldGroup/index.js.map +1 -1
- package/cjs/extensions/forms/Layout/Card.js +2 -2
- package/cjs/extensions/forms/Layout/Card.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/cjs/extensions/forms/Layout/FlexContainer.js +3 -2
- package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/cjs/extensions/forms/Layout/FlexItem.js +2 -1
- package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
- package/cjs/extensions/forms/field-types.d.ts +7 -1
- package/cjs/extensions/forms/field-types.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +105 -29
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/style/index.d.ts +1 -0
- package/cjs/extensions/forms/style/index.js +4 -0
- package/cjs/extensions/forms/style/index.js.map +1 -0
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
- package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/cjs/extensions/forms/variables.scss +3 -0
- package/cjs/extensions/lib.d.ts +1 -0
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/shared/libs/Shortcuts.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/reset.scss +13 -3
- package/cjs/style/core/utilities.scss +3 -1
- package/cjs/style/dnb-ui-components.css +23 -18
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +6 -0
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +105 -29
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/customisations.scss +0 -8
- package/cjs/style/themes/theme-sbanken/properties.js +6 -6
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/fonts.scss +8 -4
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +6 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +42 -24
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +105 -29
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/components/accordion/Accordion.d.ts +1 -1
- package/components/accordion/AccordionHeader.d.ts +4 -4
- package/components/accordion/AccordionHeader.js +18 -5
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +22 -17
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/dnb-accordion.scss +40 -18
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/components/anchor/Anchor.js +1 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +9 -3
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/components/autocomplete/Autocomplete.js +4 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/avatar/style/index.d.ts +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/components/breadcrumb/Breadcrumb.js +2 -2
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +23 -1
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/components/checkbox/Checkbox.d.ts +4 -0
- package/components/checkbox/Checkbox.js +6 -4
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/components/drawer/Drawer.d.ts +1 -1
- package/components/drawer/Drawer.js +3 -1
- package/components/drawer/Drawer.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +2 -0
- package/components/form-status/FormStatus.js +70 -53
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/dnb-form-status.scss +4 -2
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/components/global-status/GlobalStatus.d.ts +1 -1
- package/components/global-status/GlobalStatus.js +18 -8
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/dnb-global-status.scss +2 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/components/heading/Heading.d.ts +8 -8
- package/components/heading/Heading.js +9 -15
- package/components/heading/Heading.js.map +1 -1
- package/components/heading/HeadingHelpers.d.ts +5 -1
- package/components/heading/HeadingHelpers.js +39 -0
- package/components/heading/HeadingHelpers.js.map +1 -1
- package/components/info-card/index.js.map +1 -1
- package/components/info-card/style.js.map +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/components/input-masked/InputMaskedUtils.js +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/parts/ModalHeaderBar.js +0 -4
- package/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/components/pagination/Pagination.js.map +1 -1
- package/components/radio/Radio.d.ts +4 -0
- package/components/radio/Radio.js +6 -4
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/components/section/Section.d.ts +21 -1
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.css +1 -1
- package/components/section/style/dnb-section.scss +8 -3
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/components/skeleton/style/dnb-skeleton.scss +8 -5
- package/components/slider/style/dnb-slider.scss +4 -2
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/StepIndicator.d.ts +89 -75
- package/components/step-indicator/StepIndicator.js +29 -25
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/components/step-indicator/StepIndicatorContext.js +98 -120
- package/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/components/step-indicator/StepIndicatorItem.js +177 -227
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/components/step-indicator/StepIndicatorList.js +43 -48
- package/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/components/step-indicator/StepIndicatorModal.js +38 -50
- package/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/components/step-indicator/StepIndicatorProps.js +3 -45
- package/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/switch/Switch.d.ts +4 -0
- package/components/switch/Switch.js +6 -4
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/components/table/TableContainer.js.map +1 -1
- package/components/table/style/table-accordion.scss +18 -6
- package/components/table/style/table-header-buttons.scss +3 -1
- package/components/table/style/table-tr.scss +6 -2
- package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/components/timeline/TimelineItem.d.ts +3 -2
- package/components/timeline/TimelineItem.js +95 -61
- package/components/timeline/TimelineItem.js.map +1 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/elements/lib.d.ts +1 -1
- package/elements/typography/H.d.ts +5 -3
- package/elements/typography/H.js +8 -4
- package/elements/typography/H.js.map +1 -1
- package/elements/typography/H1.js +2 -2
- package/elements/typography/H1.js.map +1 -1
- package/elements/typography/H2.js +2 -2
- package/elements/typography/H2.js.map +1 -1
- package/elements/typography/H3.js +2 -2
- package/elements/typography/H3.js.map +1 -1
- package/elements/typography/H4.js +2 -2
- package/elements/typography/H4.js.map +1 -1
- package/elements/typography/H5.js +2 -2
- package/elements/typography/H5.js.map +1 -1
- package/elements/typography/H6.js +2 -2
- package/elements/typography/H6.js.map +1 -1
- package/elements/typography/style/dnb-typography.scss +3 -0
- package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
- package/elements/typography/style/typography-mixins.scss +5 -0
- package/es/components/accordion/Accordion.d.ts +1 -1
- package/es/components/accordion/AccordionHeader.d.ts +4 -4
- package/es/components/accordion/AccordionHeader.js +18 -5
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +22 -17
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.scss +40 -18
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
- package/es/components/anchor/Anchor.js +1 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +9 -3
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
- package/es/components/autocomplete/Autocomplete.js +4 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/avatar/style/index.d.ts +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
- package/es/components/breadcrumb/Breadcrumb.js +2 -2
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +23 -1
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
- package/es/components/checkbox/Checkbox.d.ts +4 -0
- package/es/components/checkbox/Checkbox.js +6 -4
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
- package/es/components/drawer/Drawer.d.ts +1 -1
- package/es/components/drawer/Drawer.js +3 -1
- package/es/components/drawer/Drawer.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +2 -0
- package/es/components/form-status/FormStatus.js +70 -53
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/dnb-form-status.scss +4 -2
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
- package/es/components/global-status/GlobalStatus.d.ts +1 -1
- package/es/components/global-status/GlobalStatus.js +18 -8
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/dnb-global-status.scss +2 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
- package/es/components/heading/Heading.d.ts +8 -8
- package/es/components/heading/Heading.js +9 -15
- package/es/components/heading/Heading.js.map +1 -1
- package/es/components/heading/HeadingHelpers.d.ts +5 -1
- package/es/components/heading/HeadingHelpers.js +39 -0
- package/es/components/heading/HeadingHelpers.js.map +1 -1
- package/es/components/info-card/index.js.map +1 -1
- package/es/components/info-card/style.js.map +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
- package/es/components/input-masked/InputMaskedUtils.js +1 -1
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/parts/ModalHeaderBar.js +0 -4
- package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/radio/Radio.d.ts +4 -0
- package/es/components/radio/Radio.js +6 -4
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
- package/es/components/section/Section.d.ts +21 -1
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.css +1 -1
- package/es/components/section/style/dnb-section.scss +8 -3
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
- package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
- package/es/components/skeleton/style/dnb-skeleton.scss +8 -5
- package/es/components/slider/style/dnb-slider.scss +4 -2
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/StepIndicator.d.ts +89 -75
- package/es/components/step-indicator/StepIndicator.js +29 -25
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
- package/es/components/step-indicator/StepIndicatorContext.js +94 -114
- package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
- package/es/components/step-indicator/StepIndicatorItem.js +173 -223
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
- package/es/components/step-indicator/StepIndicatorList.js +43 -48
- package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
- package/es/components/step-indicator/StepIndicatorModal.js +38 -48
- package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
- package/es/components/step-indicator/StepIndicatorProps.js +3 -45
- package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
- package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +4 -0
- package/es/components/switch/Switch.js +6 -4
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
- package/es/components/table/TableContainer.js.map +1 -1
- package/es/components/table/style/table-accordion.scss +18 -6
- package/es/components/table/style/table-header-buttons.scss +3 -1
- package/es/components/table/style/table-tr.scss +6 -2
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
- package/es/components/timeline/TimelineItem.d.ts +3 -2
- package/es/components/timeline/TimelineItem.js +89 -58
- package/es/components/timeline/TimelineItem.js.map +1 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
- package/es/elements/lib.d.ts +1 -1
- package/es/elements/typography/H.d.ts +5 -3
- package/es/elements/typography/H.js +8 -4
- package/es/elements/typography/H.js.map +1 -1
- package/es/elements/typography/H1.js +2 -2
- package/es/elements/typography/H1.js.map +1 -1
- package/es/elements/typography/H2.js +2 -2
- package/es/elements/typography/H2.js.map +1 -1
- package/es/elements/typography/H3.js +2 -2
- package/es/elements/typography/H3.js.map +1 -1
- package/es/elements/typography/H4.js +2 -2
- package/es/elements/typography/H4.js.map +1 -1
- package/es/elements/typography/H5.js +2 -2
- package/es/elements/typography/H5.js.map +1 -1
- package/es/elements/typography/H6.js +2 -2
- package/es/elements/typography/H6.js.map +1 -1
- package/es/elements/typography/style/dnb-typography.scss +3 -0
- package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
- package/es/elements/typography/style/typography-mixins.scss +5 -0
- package/es/extensions/forms/DataContext/index.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/es/extensions/forms/Field/ArraySelection.js +49 -33
- package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/es/extensions/forms/Field/CountryCode.js +67 -0
- package/es/extensions/forms/Field/CountryCode.js.map +1 -0
- package/es/extensions/forms/Field/Currency.d.ts +2 -2
- package/es/extensions/forms/Field/Currency.js +6 -37
- package/es/extensions/forms/Field/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date.d.ts +2 -2
- package/es/extensions/forms/Field/Date.js +11 -7
- package/es/extensions/forms/Field/Date.js.map +1 -1
- package/es/extensions/forms/Field/Number.d.ts +7 -3
- package/es/extensions/forms/Field/Number.js +44 -21
- package/es/extensions/forms/Field/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/es/extensions/forms/Field/PhoneNumber.js +43 -40
- package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection.d.ts +6 -4
- package/es/extensions/forms/Field/Selection.js +85 -37
- package/es/extensions/forms/Field/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String.d.ts +3 -3
- package/es/extensions/forms/Field/String.js +27 -13
- package/es/extensions/forms/Field/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle.js +11 -9
- package/es/extensions/forms/Field/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/fields.scss +2 -2
- package/es/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/es/extensions/forms/Field/hooks/useField.js +34 -31
- package/es/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +2 -0
- package/es/extensions/forms/Field/index.js +3 -1
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/es/extensions/forms/Field/style/index.scss +2 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/es/extensions/forms/FieldGroup/index.js.map +1 -1
- package/es/extensions/forms/Layout/Card.js +2 -2
- package/es/extensions/forms/Layout/Card.js.map +1 -1
- package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/es/extensions/forms/Layout/FlexContainer.js +3 -2
- package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/es/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/es/extensions/forms/Layout/FlexItem.js +2 -1
- package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/es/extensions/forms/ValueBlock/index.js.map +1 -1
- package/es/extensions/forms/field-types.d.ts +7 -1
- package/es/extensions/forms/field-types.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +105 -29
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/style/index.d.ts +1 -0
- package/es/extensions/forms/style/index.js +1 -0
- package/es/extensions/forms/style/index.js.map +1 -0
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/es/extensions/forms/utils/useWasChanged.js +51 -0
- package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/es/extensions/forms/variables.scss +3 -0
- package/es/extensions/lib.d.ts +1 -0
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/shared/libs/Shortcuts.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/reset.scss +13 -3
- package/es/style/core/utilities.scss +3 -1
- package/es/style/dnb-ui-components.css +23 -18
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-elements.css +6 -0
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +105 -29
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/customisations.scss +0 -8
- package/es/style/themes/theme-sbanken/properties.js +6 -6
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/fonts.scss +8 -4
- package/es/style/themes/theme-ui/ui-theme-basis.css +6 -0
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +42 -24
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/es/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +105 -29
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +6 -6
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/index.js.map +1 -1
- package/extensions/forms/Field/ArraySelection.d.ts +2 -1
- package/extensions/forms/Field/ArraySelection.js +49 -33
- package/extensions/forms/Field/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/CountryCode.d.ts +10 -0
- package/extensions/forms/Field/CountryCode.js +68 -0
- package/extensions/forms/Field/CountryCode.js.map +1 -0
- package/extensions/forms/Field/Currency.d.ts +2 -2
- package/extensions/forms/Field/Currency.js +6 -38
- package/extensions/forms/Field/Currency.js.map +1 -1
- package/extensions/forms/Field/Date.d.ts +2 -2
- package/extensions/forms/Field/Date.js +11 -7
- package/extensions/forms/Field/Date.js.map +1 -1
- package/extensions/forms/Field/Number.d.ts +7 -3
- package/extensions/forms/Field/Number.js +44 -21
- package/extensions/forms/Field/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber.d.ts +7 -2
- package/extensions/forms/Field/PhoneNumber.js +43 -42
- package/extensions/forms/Field/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
- package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection.d.ts +6 -4
- package/extensions/forms/Field/Selection.js +87 -38
- package/extensions/forms/Field/Selection.js.map +1 -1
- package/extensions/forms/Field/String.d.ts +3 -3
- package/extensions/forms/Field/String.js +27 -13
- package/extensions/forms/Field/String.js.map +1 -1
- package/extensions/forms/Field/Toggle.js +11 -9
- package/extensions/forms/Field/Toggle.js.map +1 -1
- package/extensions/forms/Field/fields.scss +2 -2
- package/extensions/forms/Field/hooks/useField.d.ts +6 -8
- package/extensions/forms/Field/hooks/useField.js +34 -33
- package/extensions/forms/Field/hooks/useField.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +2 -0
- package/extensions/forms/Field/index.js +3 -1
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
- package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
- package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
- package/extensions/forms/Field/style/dnb-country-code.css +12 -0
- package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
- package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
- package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
- package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
- package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
- package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
- package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
- package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
- package/extensions/forms/Field/style/dnb-selection.css +5 -2
- package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/style/dnb-selection.scss +7 -1
- package/extensions/forms/Field/style/index.scss +2 -0
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/index.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
- package/extensions/forms/FieldGroup/index.js.map +1 -1
- package/extensions/forms/Layout/Card.js +2 -2
- package/extensions/forms/Layout/Card.js.map +1 -1
- package/extensions/forms/Layout/FlexContainer.d.ts +1 -0
- package/extensions/forms/Layout/FlexContainer.js +3 -2
- package/extensions/forms/Layout/FlexContainer.js.map +1 -1
- package/extensions/forms/Layout/FlexItem.d.ts +1 -0
- package/extensions/forms/Layout/FlexItem.js +2 -1
- package/extensions/forms/Layout/FlexItem.js.map +1 -1
- package/extensions/forms/Layout/style/dnb-card.css +3 -3
- package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-card.scss +6 -4
- package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
- package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
- package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
- package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
- package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
- package/extensions/forms/ValueBlock/index.js.map +1 -1
- package/extensions/forms/field-types.d.ts +7 -1
- package/extensions/forms/field-types.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +105 -29
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/style/index.d.ts +1 -0
- package/extensions/forms/style/index.js +1 -0
- package/extensions/forms/style/index.js.map +1 -0
- package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
- package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
- package/extensions/forms/utils/useWasChanged.d.ts +5 -0
- package/extensions/forms/utils/useWasChanged.js +56 -0
- package/extensions/forms/utils/useWasChanged.js.map +1 -0
- package/extensions/forms/variables.scss +3 -0
- package/extensions/lib.d.ts +1 -0
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
- package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
- package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js +2 -2
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
- package/package.json +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/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/shared/libs/Shortcuts.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/reset.scss +13 -3
- package/style/core/utilities.scss +3 -1
- package/style/dnb-ui-components.css +23 -18
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-elements.css +6 -0
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +105 -29
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/customisations.scss +0 -8
- package/style/themes/theme-sbanken/properties.js +6 -6
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/fonts.scss +8 -4
- package/style/themes/theme-ui/ui-theme-basis.css +6 -0
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +42 -24
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
- package/style/themes/theme-ui/ui-theme-elements.css +6 -0
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +105 -29
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +6 -6
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","state","icon","icon_size","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","_globalStatus$items","Boolean","length","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","fallbackProps","context","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","titleToRender","noAnimation","itemsToRender","contentToRender","style","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","style_type","variant","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n IconToLoad = InfoIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.state.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n const style = state === 'info' ? 'pistachio' : 'fire-red-8'\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" style_type={style}>\n <p className=\"dnb-p dnb-global-status__title\" lang={lang}>\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </p>\n {hasContent && (\n <Section\n element=\"div\"\n style_type={style}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","_globalStatus$items","Boolean","length","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","context","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","variant","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.state.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" variant={state}>\n <p className=\"dnb-p dnb-global-status__title\" lang={lang}>\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </p>\n {hasContent && (\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* GlobalStatus theme
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Utilities
|
|
7
|
+
*/
|
|
8
|
+
.dnb-global-status__close-button {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
.dnb-global-status--error .dnb-global-status__content .dnb-hr {
|
|
12
|
+
color: var(--sb-color-red);
|
|
13
|
+
}
|
|
14
|
+
.dnb-global-status--info .dnb-global-status__content .dnb-hr {
|
|
15
|
+
color: var(--sb-color-gray-dark-2);
|
|
16
|
+
}
|
|
17
|
+
.dnb-global-status--warning .dnb-global-status__content .dnb-hr {
|
|
18
|
+
color: var(--sb-color-yellow-dark);
|
|
19
|
+
}
|
|
20
|
+
.dnb-global-status--success .dnb-global-status__content .dnb-hr {
|
|
21
|
+
color: var(--sb-color-green-dark-3);
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dnb-global-status__close-button{display:none}.dnb-global-status--error .dnb-global-status__content .dnb-hr{color:var(--sb-color-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--sb-color-gray-dark-2)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--sb-color-yellow-dark)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--sb-color-green-dark-3)}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* GlobalStatus theme
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import '../../../../style/core/utilities.scss';
|
|
7
|
+
|
|
8
|
+
.dnb-global-status {
|
|
9
|
+
&__close-button {
|
|
10
|
+
display: none;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&--error &__content .dnb-hr {
|
|
14
|
+
color: var(--sb-color-red);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&--info &__content .dnb-hr {
|
|
18
|
+
color: var(--sb-color-gray-dark-2);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&--warning &__content .dnb-hr {
|
|
22
|
+
color: var(--sb-color-yellow-dark);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&--success &__content .dnb-hr {
|
|
26
|
+
color: var(--sb-color-green-dark-3);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -11,9 +11,6 @@
|
|
|
11
11
|
.dnb-global-status__icon {
|
|
12
12
|
font-size: 1rem;
|
|
13
13
|
}
|
|
14
|
-
.dnb-global-status__message__content {
|
|
15
|
-
color: var(--color-black-80);
|
|
16
|
-
}
|
|
17
14
|
.dnb-global-status__message.dnb-section--white ::selection {
|
|
18
15
|
background-color: var(--color-mint-green);
|
|
19
16
|
}
|
|
@@ -22,4 +19,10 @@
|
|
|
22
19
|
}
|
|
23
20
|
.dnb-global-status--info .dnb-global-status__content .dnb-hr {
|
|
24
21
|
color: var(--color-sea-green);
|
|
22
|
+
}
|
|
23
|
+
.dnb-global-status--warning .dnb-global-status__content .dnb-hr {
|
|
24
|
+
color: var(--color-accent-yellow);
|
|
25
|
+
}
|
|
26
|
+
.dnb-global-status--success .dnb-global-status__content .dnb-hr {
|
|
27
|
+
color: var(--color-ocean-green);
|
|
25
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section:after{box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor,0 .0625rem 0 0 var(--color-black-80),100vw .0625rem 0 0 var(--color-black-80)}.dnb-global-status__icon{font-size:1rem}.dnb-global-
|
|
1
|
+
.dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section:after{box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor,0 .0625rem 0 0 var(--color-black-80),100vw .0625rem 0 0 var(--color-black-80)}.dnb-global-status__icon{font-size:1rem}.dnb-global-status__message.dnb-section--white ::selection{background-color:var(--color-mint-green)}.dnb-global-status__content .dnb-hr{color:var(--color-fire-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--color-sea-green)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--color-accent-yellow)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--color-ocean-green)}
|
|
@@ -7,8 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
.dnb-global-status {
|
|
9
9
|
&:not(#{&}--no-animation)#{&}--fade-in#{&}.dnb-section::after {
|
|
10
|
-
box-shadow:
|
|
11
|
-
|
|
10
|
+
box-shadow:
|
|
11
|
+
99vw 0 0 0 currentcolor,
|
|
12
|
+
198vw 0 0 0 currentcolor,
|
|
13
|
+
297vw 0 0 0 currentcolor,
|
|
14
|
+
396vw 0 0 0 currentcolor,
|
|
12
15
|
0 0.0625rem 0 0 var(--color-black-80),
|
|
13
16
|
100vw 0.0625rem 0 0 var(--color-black-80);
|
|
14
17
|
}
|
|
@@ -18,10 +21,6 @@
|
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
&__message {
|
|
21
|
-
&__content {
|
|
22
|
-
color: var(--color-black-80);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
24
|
&.dnb-section--white ::selection {
|
|
26
25
|
background-color: var(--color-mint-green);
|
|
27
26
|
}
|
|
@@ -34,4 +33,12 @@
|
|
|
34
33
|
&--info &__content .dnb-hr {
|
|
35
34
|
color: var(--color-sea-green);
|
|
36
35
|
}
|
|
36
|
+
|
|
37
|
+
&--warning &__content .dnb-hr {
|
|
38
|
+
color: var(--color-accent-yellow);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&--success &__content .dnb-hr {
|
|
42
|
+
color: var(--color-ocean-green);
|
|
43
|
+
}
|
|
37
44
|
}
|
|
@@ -10,15 +10,15 @@ import { HeadingCounter, HeadingDebugCounter } from './HeadingCounter';
|
|
|
10
10
|
import { SpacingProps } from '../space/types';
|
|
11
11
|
import { SkeletonShow } from '../Skeleton';
|
|
12
12
|
import { DynamicElement } from '../../shared/types';
|
|
13
|
-
export
|
|
14
|
-
1:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
4:
|
|
18
|
-
5:
|
|
19
|
-
6:
|
|
13
|
+
export type HeadingLevelSizeResolutions = {
|
|
14
|
+
1: HeadingSize;
|
|
15
|
+
3: HeadingSize;
|
|
16
|
+
2: HeadingSize;
|
|
17
|
+
4: HeadingSize;
|
|
18
|
+
5: HeadingSize;
|
|
19
|
+
6: HeadingSize;
|
|
20
20
|
};
|
|
21
|
-
export type HeadingSize = '
|
|
21
|
+
export type HeadingSize = 'xx-large' | 'x-large' | 'large' | 'medium' | 'basis' | 'small' | 'x-small';
|
|
22
22
|
export type HeadingLevel = '1' | '2' | '3' | '4' | '5' | '6' | 1 | 2 | 3 | 4 | 5 | 6;
|
|
23
23
|
export type InternalHeadingLevel = number;
|
|
24
24
|
export type HeadingProps = {
|
|
@@ -13,16 +13,9 @@ import HeadingContext from './HeadingContext';
|
|
|
13
13
|
import Context from '../../shared/Context';
|
|
14
14
|
import HeadingProvider from './HeadingProvider';
|
|
15
15
|
import { createSkeletonClass } from '../skeleton/SkeletonHelper';
|
|
16
|
-
import { correctInternalHeadingLevel, resetLevels, resetAllLevels, setNextLevel, globalSyncCounter, globalHeadingCounter, windupHeadings, teardownHeadings, debugCounter } from './HeadingHelpers';
|
|
16
|
+
import { correctInternalHeadingLevel, resetLevels, resetAllLevels, setNextLevel, globalSyncCounter, globalHeadingCounter, windupHeadings, teardownHeadings, debugCounter, getHeadingSize, getHeadingElement } from './HeadingHelpers';
|
|
17
17
|
import { initCounter } from './HeadingCounter';
|
|
18
|
-
|
|
19
|
-
1: 'xx-large',
|
|
20
|
-
2: 'large',
|
|
21
|
-
3: 'medium',
|
|
22
|
-
4: 'basis',
|
|
23
|
-
5: 'small',
|
|
24
|
-
6: 'x-small'
|
|
25
|
-
};
|
|
18
|
+
import { useTheme } from '../../shared';
|
|
26
19
|
export default function Heading(props) {
|
|
27
20
|
var _headingContext$headi2, _headingContext$headi3;
|
|
28
21
|
const context = React.useContext(Context);
|
|
@@ -41,7 +34,7 @@ export default function Heading(props) {
|
|
|
41
34
|
down: _down,
|
|
42
35
|
inherit: _inherit,
|
|
43
36
|
level: _level,
|
|
44
|
-
size: _size
|
|
37
|
+
size: _size,
|
|
45
38
|
skeleton: _skeleton,
|
|
46
39
|
element: _element,
|
|
47
40
|
className,
|
|
@@ -103,9 +96,10 @@ export default function Heading(props) {
|
|
|
103
96
|
setState(_objectSpread({}, state));
|
|
104
97
|
}
|
|
105
98
|
}, [props.level]);
|
|
99
|
+
const theme = useTheme();
|
|
106
100
|
let {
|
|
107
101
|
size,
|
|
108
|
-
element
|
|
102
|
+
element,
|
|
109
103
|
skeleton
|
|
110
104
|
} = props;
|
|
111
105
|
const {
|
|
@@ -114,10 +108,10 @@ export default function Heading(props) {
|
|
|
114
108
|
const debug = _debug || (headingContext === null || headingContext === void 0 ? void 0 : (_headingContext$headi2 = headingContext.heading) === null || _headingContext$headi2 === void 0 ? void 0 : _headingContext$headi2.debug);
|
|
115
109
|
const debug_counter = _debug_counter || (headingContext === null || headingContext === void 0 ? void 0 : (_headingContext$headi3 = headingContext.heading) === null || _headingContext$headi3 === void 0 ? void 0 : _headingContext$headi3.debug_counter);
|
|
116
110
|
const attributes = _objectSpread({}, rest);
|
|
117
|
-
if (element
|
|
118
|
-
element =
|
|
119
|
-
if (
|
|
120
|
-
size =
|
|
111
|
+
if (element == null) {
|
|
112
|
+
element = getHeadingElement(level);
|
|
113
|
+
if (size == null) {
|
|
114
|
+
size = getHeadingSize(theme === null || theme === void 0 ? void 0 : theme.name)[level];
|
|
121
115
|
}
|
|
122
116
|
} else {
|
|
123
117
|
if (!attributes.role) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","Context","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","initCounter","levelResolution","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","attributes","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport Context from '../../shared/Context'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { DynamicElement } from '../../shared/types'\n\nexport const levelResolution = {\n 1: 'xx-large',\n 2: 'large',\n 3: 'medium',\n 4: 'basis',\n 5: 'small',\n 6: 'x-small',\n}\n\nexport type HeadingSize =\n | 'auto'\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size = 'auto', // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n let { size, element = 'auto', skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element === 'auto' || element === null) {\n element = `h${level || 'x-small'}`\n if (_size === 'auto' || _size === null) {\n size = levelResolution[level || 'x-small']\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","Context","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","getHeadingSize","getHeadingElement","initCounter","useTheme","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","theme","attributes","name","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport Context from '../../shared/Context'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n getHeadingSize,\n getHeadingElement,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { useTheme } from '../../shared'\nimport { DynamicElement } from '../../shared/types'\n\nexport type HeadingLevelSizeResolutions = {\n 1: HeadingSize\n 3: HeadingSize\n 2: HeadingSize\n 4: HeadingSize\n 5: HeadingSize\n 6: HeadingSize\n}\n\nexport type HeadingSize =\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n const theme = useTheme()\n\n let { size, element, skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element == null) {\n element = getHeadingElement(level)\n if (size == null) {\n size = getHeadingSize(theme?.name)[level]\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element as\n | string\n | React.FunctionComponent<React.HTMLProps<HTMLElement>> // typecasting to avoid typescript parser error ts(2590)\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Web Heading Counter
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
import { HeadingAllProps, InternalHeadingLevel } from './Heading';
|
|
5
|
+
import { HeadingAllProps, InternalHeadingLevel, HeadingLevelSizeResolutions } from './Heading';
|
|
6
|
+
import { ThemeNames } from '../../shared';
|
|
7
|
+
import { DynamicElement } from '../../shared/types';
|
|
6
8
|
import { HeadingCounter } from './HeadingCounter';
|
|
7
9
|
type GlobalSyncCounter = {
|
|
8
10
|
current: HeadingCounter;
|
|
@@ -46,4 +48,6 @@ export declare function setNextLevel(level: InternalHeadingLevel, { overwriteCon
|
|
|
46
48
|
export declare function windupHeadings(): void;
|
|
47
49
|
export declare function teardownHeadings(): void;
|
|
48
50
|
export declare function debugCounter(counter: any): string;
|
|
51
|
+
export declare const getHeadingSize: (theme: ThemeNames) => HeadingLevelSizeResolutions;
|
|
52
|
+
export declare const getHeadingElement: (level: InternalHeadingLevel) => DynamicElement;
|
|
49
53
|
export {};
|
|
@@ -172,4 +172,43 @@ export function debugCounter(counter) {
|
|
|
172
172
|
contextLEntry: counter.contextCounter.entry
|
|
173
173
|
}, null, 2);
|
|
174
174
|
}
|
|
175
|
+
export const getHeadingSize = theme => {
|
|
176
|
+
switch (theme) {
|
|
177
|
+
case 'sbanken':
|
|
178
|
+
return {
|
|
179
|
+
1: 'xx-large',
|
|
180
|
+
2: 'x-large',
|
|
181
|
+
3: 'large',
|
|
182
|
+
4: 'medium',
|
|
183
|
+
5: 'basis',
|
|
184
|
+
6: 'small'
|
|
185
|
+
};
|
|
186
|
+
case 'ui':
|
|
187
|
+
default:
|
|
188
|
+
return {
|
|
189
|
+
1: 'xx-large',
|
|
190
|
+
2: 'large',
|
|
191
|
+
3: 'medium',
|
|
192
|
+
4: 'basis',
|
|
193
|
+
5: 'small',
|
|
194
|
+
6: 'x-small'
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
export const getHeadingElement = level => {
|
|
199
|
+
switch (level) {
|
|
200
|
+
case 1:
|
|
201
|
+
return 'h1';
|
|
202
|
+
case 2:
|
|
203
|
+
return 'h2';
|
|
204
|
+
case 3:
|
|
205
|
+
return 'h3';
|
|
206
|
+
case 4:
|
|
207
|
+
return 'h4';
|
|
208
|
+
case 5:
|
|
209
|
+
return 'h5';
|
|
210
|
+
case 6:
|
|
211
|
+
return 'h6';
|
|
212
|
+
}
|
|
213
|
+
};
|
|
175
214
|
//# sourceMappingURL=HeadingHelpers.js.map
|