@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","_ref","state","icon","icon_size","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_this","this","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","arguments","length","undefined","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","_ref2","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","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","_len","args","Array","_key","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","_ref","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_this","this","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","arguments","length","undefined","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","_ref2","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","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","_len","args","Array","_key","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 {};
|
|
@@ -178,4 +178,43 @@ export function debugCounter(counter) {
|
|
|
178
178
|
contextLEntry: counter.contextCounter.entry
|
|
179
179
|
}, null, 2);
|
|
180
180
|
}
|
|
181
|
+
export const getHeadingSize = theme => {
|
|
182
|
+
switch (theme) {
|
|
183
|
+
case 'sbanken':
|
|
184
|
+
return {
|
|
185
|
+
1: 'xx-large',
|
|
186
|
+
2: 'x-large',
|
|
187
|
+
3: 'large',
|
|
188
|
+
4: 'medium',
|
|
189
|
+
5: 'basis',
|
|
190
|
+
6: 'small'
|
|
191
|
+
};
|
|
192
|
+
case 'ui':
|
|
193
|
+
default:
|
|
194
|
+
return {
|
|
195
|
+
1: 'xx-large',
|
|
196
|
+
2: 'large',
|
|
197
|
+
3: 'medium',
|
|
198
|
+
4: 'basis',
|
|
199
|
+
5: 'small',
|
|
200
|
+
6: 'x-small'
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
export const getHeadingElement = level => {
|
|
205
|
+
switch (level) {
|
|
206
|
+
case 1:
|
|
207
|
+
return 'h1';
|
|
208
|
+
case 2:
|
|
209
|
+
return 'h2';
|
|
210
|
+
case 3:
|
|
211
|
+
return 'h3';
|
|
212
|
+
case 4:
|
|
213
|
+
return 'h4';
|
|
214
|
+
case 5:
|
|
215
|
+
return 'h5';
|
|
216
|
+
case 6:
|
|
217
|
+
return 'h6';
|
|
218
|
+
}
|
|
219
|
+
};
|
|
181
220
|
//# sourceMappingURL=HeadingHelpers.js.map
|