@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":"HeadingHelpers.js","names":["warn","convertJsxToString","globalSyncCounter","current","globalHeadingCounter","refs","correctInternalHeadingLevel","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","reports","props","identifiers","id","className","filter","Boolean","length","join","resetAllLevels","countHeadings","resetLevels","teardownHeadings","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport { HeadingAllProps, InternalHeadingLevel } from './Heading'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeadingHelpers.js","names":["warn","convertJsxToString","globalSyncCounter","current","globalHeadingCounter","refs","correctInternalHeadingLevel","counter","level","ref","reset","inherit","increase","decrease","source","bypassChecks","isRerender","debug","foundRef","find","cur","enableBypassChecks","update","_globalHeadingCounter","makeMeReady","entry","contextCounter","report","setLevel","decrement","increment","hasEntryLevel","_globalHeadingCounter2","setEntryLevel","skipUpdateFromProp","canBeManipulatedNextTime","overwriteContext","isGlobal","globalResetNextTime","resetLevel","lastResetLevel","globalNextLevel","nextLevel","disableBypassChecks","parseFloat","String","hasReport","useLastReport","push","reports","props","identifiers","id","className","filter","Boolean","length","join","resetAllLevels","countHeadings","resetLevels","teardownHeadings","setNextLevel","windupHeadings","debugCounter","JSON","stringify","group","contextLevel","contextLEntry","getHeadingSize","theme","getHeadingElement"],"sources":["../../../../src/components/heading/HeadingHelpers.ts"],"sourcesContent":["/**\n * Web Heading Counter\n *\n */\n\nimport {\n HeadingAllProps,\n InternalHeadingLevel,\n HeadingLevelSizeResolutions,\n} from './Heading'\nimport { ThemeNames } from '../../shared'\nimport { warn, convertJsxToString } from '../../shared/component-helper'\nimport { DynamicElement } from '../../shared/types'\nimport { HeadingCounter } from './HeadingCounter'\n\ntype GlobalSyncCounter = { current: HeadingCounter }\ntype GlobalHeadingCounter = { current: HeadingCounter }\nexport const globalSyncCounter: GlobalSyncCounter = {\n current: null,\n}\nexport const globalHeadingCounter: GlobalHeadingCounter = {\n current: null,\n}\n\nconst refs: {\n current: Array<{ ref: HeadingAllProps; counter: HeadingCounter }>\n} = {\n current: null,\n}\n\ntype CorrectInternalHeadingLevel = {\n counter: HeadingCounter\n level: InternalHeadingLevel\n ref?: HeadingAllProps\n reset?: HeadingAllProps['reset']\n inherit?: boolean\n increase?: boolean\n decrease?: boolean\n source?: HeadingAllProps['children']\n bypassChecks?: boolean\n isRerender?: boolean\n debug?: HeadingAllProps['debug']\n}\n\nexport const correctInternalHeadingLevel = ({\n counter,\n level,\n ref = null,\n reset = null,\n inherit = null,\n increase = false,\n decrease = false,\n source = null,\n bypassChecks = false,\n isRerender = false,\n debug = null,\n}: CorrectInternalHeadingLevel) => {\n // Do that only to make sure we run the correction only if props has changed\n if (ref && refs.current) {\n const foundRef = refs.current.find((cur) => cur.ref === ref)\n if (foundRef) {\n return foundRef.counter\n }\n }\n\n if (bypassChecks) {\n counter.enableBypassChecks()\n }\n\n const update = (level: InternalHeadingLevel) => {\n if (!isRerender) {\n counter.makeMeReady({ level })\n }\n\n if (inherit) {\n if (globalSyncCounter.current) {\n counter.entry = globalSyncCounter.current.contextCounter.entry\n counter.level = globalSyncCounter.current.level\n } else {\n report(\n debug,\n source,\n 'Heading got inherit, but there was noting to inherit.'\n )\n }\n }\n\n if (level >= 1) {\n counter.setLevel(level)\n } else if (decrease) {\n counter.decrement()\n } else if (increase) {\n counter.increment()\n }\n\n if (\n counter.level > 0 &&\n !globalHeadingCounter.current?.hasEntryLevel()\n ) {\n globalHeadingCounter.current?.setEntryLevel()\n }\n }\n\n let skipUpdateFromProp = false\n const canBeManipulatedNextTime = (overwriteContext: boolean) => {\n return (\n counter.contextCounter.isGlobal ||\n counter.contextCounter.entry === 1 ||\n overwriteContext\n )\n }\n\n if (globalResetNextTime.current) {\n const { level: resetLevel, overwriteContext } =\n globalResetNextTime.current\n globalResetNextTime.current = null\n\n if (\n canBeManipulatedNextTime(overwriteContext) ||\n counter.lastResetLevel === resetLevel\n ) {\n counter.makeMeReady()\n counter.reset(resetLevel)\n skipUpdateFromProp = true\n }\n } else if (globalNextLevel.current) {\n const { level: nextLevel, overwriteContext } = globalNextLevel.current\n globalNextLevel.current = null\n if (canBeManipulatedNextTime(overwriteContext)) {\n counter.enableBypassChecks()\n update(nextLevel)\n counter.disableBypassChecks()\n skipUpdateFromProp = true\n }\n }\n\n if (!skipUpdateFromProp) {\n if (reset === true || parseFloat(String(reset)) > -1) {\n counter.reset(reset)\n } else {\n update(level)\n }\n }\n\n const hasReport = counter.useLastReport()\n if (hasReport) {\n report(debug, source, ...hasReport)\n }\n\n if (bypassChecks) {\n counter.disableBypassChecks()\n }\n\n // Do that only to make sure we run the correction only if props has changed\n if (ref) {\n refs.current = refs.current || []\n refs.current.push({ ref, counter })\n }\n\n return counter\n}\n\nfunction report(debug, source, ...reports) {\n if (source) {\n const props = source.props || {}\n const identifiers = [props.id, props['class'], props.className].filter(\n Boolean\n )\n\n reports.push(\n '\\nNB: This warning was triggered by:',\n identifiers.length > 0 ? identifiers.join(', ') : '',\n convertJsxToString(source)\n )\n }\n\n if (typeof debug === 'function') {\n debug(...reports)\n } else {\n warn(...reports)\n }\n}\n\n// Interceptor to reset leveling -\nexport function resetAllLevels() {\n countHeadings = 0\n resetLevels(1, { overwriteContext: false })\n teardownHeadings()\n}\nexport const globalResetNextTime: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function resetLevels(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalResetNextTime.current = { level, overwriteContext }\n}\ntype GlobalNextLevel = {\n level: InternalHeadingLevel\n overwriteContext: boolean\n}\nexport const globalNextLevel: { current: GlobalNextLevel } = {\n current: null,\n}\nexport function setNextLevel(\n level: InternalHeadingLevel,\n { overwriteContext = false } = {}\n) {\n globalNextLevel.current = {\n level,\n overwriteContext,\n }\n}\n\nlet countHeadings = 0\nexport function windupHeadings() {\n countHeadings++\n // reset the sync counter, as this will distract correct assembling\n globalSyncCounter.current = null\n}\nexport function teardownHeadings() {\n countHeadings--\n if (countHeadings === 0) {\n globalHeadingCounter.current = null\n globalSyncCounter.current = null\n globalResetNextTime.current = null\n globalNextLevel.current = null\n }\n}\n\nexport function debugCounter(counter) {\n return JSON.stringify(\n {\n group: counter.group || counter.contextCounter.group,\n level: counter.level,\n entry: counter.entry,\n contextLevel: counter.contextCounter.level,\n contextLEntry: counter.contextCounter.entry,\n },\n null,\n 2\n )\n}\n\nexport const getHeadingSize = (\n theme: ThemeNames\n): HeadingLevelSizeResolutions => {\n switch (theme) {\n case 'sbanken':\n return {\n 1: 'xx-large',\n 2: 'x-large',\n 3: 'large',\n 4: 'medium',\n 5: 'basis',\n 6: 'small',\n }\n case 'ui':\n default:\n return {\n 1: 'xx-large',\n 2: 'large',\n 3: 'medium',\n 4: 'basis',\n 5: 'small',\n 6: 'x-small',\n }\n }\n}\n\nexport const getHeadingElement = (\n level: InternalHeadingLevel\n): DynamicElement => {\n switch (level) {\n case 1:\n return 'h1'\n case 2:\n return 'h2'\n case 3:\n return 'h3'\n case 4:\n return 'h4'\n case 5:\n return 'h5'\n case 6:\n return 'h6'\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\
|
|
1
|
+
{"version":3,"file":"index.js","names":["InfoCard"],"sources":["../../../../src/components/info-card/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nimport InfoCard from './InfoCard'\nexport default InfoCard\nexport * from './InfoCard'\n"],"mappings":"AAKA,OAAOA,QAAQ,MAAM,YAAY;AACjC,eAAeA,QAAQ;AACvB,cAAc,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","names":[],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\
|
|
1
|
+
{"version":3,"file":"style.js","names":[],"sources":["../../../../src/components/info-card/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './style/dnb-info-card.scss'\n"],"mappings":"AAKA,OAAO,+BAA4B"}
|
|
@@ -82,7 +82,7 @@ html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-b
|
|
|
82
82
|
.dnb-input[data-input-state=focus] .dnb-input__placeholder {
|
|
83
83
|
display: none;
|
|
84
84
|
}
|
|
85
|
-
.dnb-input--keep-placeholder
|
|
85
|
+
.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder {
|
|
86
86
|
display: block;
|
|
87
87
|
color: var(--color-black-20);
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder
|
|
1
|
+
.dnb-input{color:var(--color-black)}.dnb-input__inner{color:inherit}.dnb-input__shell{--border-color:var(--color-sea-green);--border-width:var(--input-border-width);background-color:var(--color-white);border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:inherit}.dnb-input__icon{color:var(--color-sea-green)}.dnb-input[data-input-state=disabled] .dnb-input__shell{-webkit-text-fill-color:currentcolor;--border-color:var(--color-black-55);--border-width:var(--input-border-width);background-color:var(--color-black-3);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=disabled] .dnb-input__shell,.dnb-input[data-input-state=disabled] .dnb-input__shell .dnb-icon{color:var(--color-black-55)}.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell{--border-color:var(--color-sea-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input[data-input-state=focus]:not([data-input-state=disabled]) .dnb-input__shell{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]) .dnb-input__shell{color:var(--color-fire-red)}.dnb-input__status--error.dnb-input:not([data-input-state=focus]):not(:hover) .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-input__status--error.dnb-input:not([data-input-state=disabled]) .dnb-input__shell:hover,.dnb-input__status--error.dnb-input:not([data-input-state=disabled]):hover .dnb-input__shell,.dnb-input__status--error.dnb-input[data-input-state=focus] .dnb-input__shell{--border-color:var(--color-fire-red);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:after,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:after{background-color:var(--color-fire-red)}html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):focus:active,html:not([data-whatintent=touch]) .dnb-input__status--error .dnb-input__submit-button__button.dnb-button--secondary:not(.dnb-input__status--error .dnb-input__submit-button__button--has-text):not([disabled]):hover:active{color:var(--color-white)}.dnb-input__status--error .dnb-input__icon{color:var(--color-fire-red)}.dnb-input__input::selection{background-color:var(--color-mint-green);color:var(--color-black);text-shadow:none}.dnb-input__placeholder{color:var(--color-black-55)}.dnb-input[data-input-state=focus] .dnb-input__placeholder{display:none}.dnb-input--keep-placeholder[data-input-state=focus] .dnb-input__placeholder{color:var(--color-black-20);display:block}
|
|
@@ -69,9 +69,15 @@
|
|
|
69
69
|
|
|
70
70
|
&__status--error &__submit-button {
|
|
71
71
|
html:not([data-whatintent='touch'])
|
|
72
|
-
&__button.dnb-button--secondary:not(
|
|
72
|
+
&__button.dnb-button--secondary:not(
|
|
73
|
+
&__button--has-text,
|
|
74
|
+
[disabled]
|
|
75
|
+
):hover,
|
|
73
76
|
html:not([data-whatintent='touch'])
|
|
74
|
-
&__button.dnb-button--secondary:not(
|
|
77
|
+
&__button.dnb-button--secondary:not(
|
|
78
|
+
&__button--has-text,
|
|
79
|
+
[disabled]
|
|
80
|
+
):focus {
|
|
75
81
|
&,
|
|
76
82
|
&::after {
|
|
77
83
|
background-color: var(--color-fire-red);
|
|
@@ -101,7 +107,7 @@
|
|
|
101
107
|
display: none;
|
|
102
108
|
}
|
|
103
109
|
|
|
104
|
-
&--keep-placeholder
|
|
110
|
+
&--keep-placeholder[data-input-state='focus'] &__placeholder {
|
|
105
111
|
display: block;
|
|
106
112
|
color: var(--color-black-20);
|
|
107
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMaskedUtils.js","names":["format","getDecimalSeparator","getThousandsSeparator","warn","IS_ANDROID","IS_IOS","safeSetSelection","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","isRequestingLocaleSupport","props","Object","entries","some","k","v","includes","isRequestingNumberMask","correctNumberValue","localValue","locale","maskParams","value","String","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","length","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","_objectSpread","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","undefined","placeholderChar","prefixStart","prefixEnd","char","mask","chars","l","i","RegExp","n","_mask$test","call","e","window","requestAnimationFrame","handlePercentMask","_String","_String$match","percent","match","handleCurrencyMask","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","number_mask","getInputModeFromMask","allowNegative","instanceOf","handleThousandsSeparator","handleDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputMaskedUtils.js","names":["format","getDecimalSeparator","getThousandsSeparator","warn","IS_ANDROID","IS_IOS","safeSetSelection","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","isRequestingLocaleSupport","props","Object","entries","some","k","v","includes","isRequestingNumberMask","correctNumberValue","localValue","locale","maskParams","value","String","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","length","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","_objectSpread","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","undefined","placeholderChar","prefixStart","prefixEnd","char","mask","chars","l","i","RegExp","n","_mask$test","call","e","window","requestAnimationFrame","handlePercentMask","_String","_String$match","percent","match","handleCurrencyMask","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","number_mask","getInputModeFromMask","allowNegative","instanceOf","handleThousandsSeparator","handleDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = props.value === null ? null : String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["React","classnames","SuffixContext","Context","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","processChildren","dispatchCustomElementEvent","createSpacingClasses","HelpButtonInstance","getListOfModalRoots","getModalRoot","ModalInner","ModalHeader","ModalHeaderBar","CloseButton","ModalRoot","classWithCamelCaseProps","ANIMATION_DURATION","Modal","PureComponent","getContent","props","modal_content","getDerivedStateFromProps","state","open_state","_open_state","hide","no_animation","modalActive","constructor","_defineProperty","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","push","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","String","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","close","list","length","last","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","forEach","componentDidUpdate","prevProps","document","documentElement","modalId","render","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","_objectWithoutProperties","_excluded","children","Object","freeze","_objectSpread","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","text","createElement","Fragment","_extends","onClick","innerRef","className","class","Consumer","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","OriginalComponent"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n }, parseFloat(String(animation_duration)) / 3)\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["React","classnames","SuffixContext","Context","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","processChildren","dispatchCustomElementEvent","createSpacingClasses","HelpButtonInstance","getListOfModalRoots","getModalRoot","ModalInner","ModalHeader","ModalHeaderBar","CloseButton","ModalRoot","classWithCamelCaseProps","ANIMATION_DURATION","Modal","PureComponent","getContent","props","modal_content","getDerivedStateFromProps","state","open_state","_open_state","hide","no_animation","modalActive","constructor","_defineProperty","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","push","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","String","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","close","list","length","last","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","forEach","componentDidUpdate","prevProps","document","documentElement","modalId","render","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","_objectWithoutProperties","_excluded","children","Object","freeze","_objectSpread","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","text","createElement","Fragment","_extends","onClick","innerRef","className","class","Consumer","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","OriginalComponent"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
|
|
@@ -51,15 +51,11 @@ export default class ModalHeaderBar extends React.PureComponent {
|
|
|
51
51
|
showShadow
|
|
52
52
|
} = this.state;
|
|
53
53
|
const {
|
|
54
|
-
title,
|
|
55
54
|
hide_close_button = false,
|
|
56
55
|
close_button_attributes,
|
|
57
56
|
onCloseClickHandler,
|
|
58
57
|
close_title
|
|
59
58
|
} = this.context;
|
|
60
|
-
if (!title && isTrue(hide_close_button) && !this._ref.current) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
59
|
return React.createElement(Section, _extends({
|
|
64
60
|
style_type: "white",
|
|
65
61
|
className: classnames('dnb-modal__header__bar', className, showShadow && shadow_class),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeaderBar.js","names":["React","classnames","isTrue","Section","ModalContext","CloseButton","ModalHeaderBar","PureComponent","constructor","props","_defineProperty","showShadow","_ref","createRef","componentDidMount","window","IntersectionObserver","current","marginTop","clientHeight","intersectionObserver","entries","entry","setState","isIntersecting","rootMargin","threshold","observe","componentWillUnmount","_this$intersectionObs","disconnect","render","_this$props","className","children","ref","shadow_class","_objectWithoutProperties","_excluded","state","
|
|
1
|
+
{"version":3,"file":"ModalHeaderBar.js","names":["React","classnames","isTrue","Section","ModalContext","CloseButton","ModalHeaderBar","PureComponent","constructor","props","_defineProperty","showShadow","_ref","createRef","componentDidMount","window","IntersectionObserver","current","marginTop","clientHeight","intersectionObserver","entries","entry","setState","isIntersecting","rootMargin","threshold","observe","componentWillUnmount","_this$intersectionObs","disconnect","render","_this$props","className","children","ref","shadow_class","_objectWithoutProperties","_excluded","state","hide_close_button","close_button_attributes","onCloseClickHandler","close_title","context","createElement","_extends","style_type","inner_ref","on_click"],"sources":["../../../../../src/components/modal/parts/ModalHeaderBar.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { isTrue } from '../../../shared/component-helper'\nimport Section from '../../section/Section'\nimport ModalContext from '../ModalContext'\nimport CloseButton from './CloseButton'\nimport { SectionProps } from '../../Section'\nimport { ReactChildType } from '../types'\n\nexport interface ModalHeaderBarProps\n extends Omit<SectionProps, 'children'> {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * Give the inner content wrapper a class name (maps to `dnb-modal__content__inner`).\n */\n className?: string\n\n shadow_class?: string\n}\n\ninterface ModalHeaderBarState {\n showShadow: boolean\n}\n\nexport default class ModalHeaderBar extends React.PureComponent<\n ModalHeaderBarProps & Omit<React.HTMLProps<HTMLElement>, 'children'>,\n ModalHeaderBarState\n> {\n static contextType = ModalContext\n\n context!: React.ContextType<typeof ModalContext>\n\n _ref: React.RefObject<any>\n intersectionObserver: IntersectionObserver\n\n constructor(props) {\n super(props)\n this._ref = React.createRef()\n }\n\n state = { showShadow: false }\n\n componentDidMount() {\n if (\n typeof window !== 'undefined' &&\n typeof IntersectionObserver !== 'undefined' &&\n this._ref.current\n ) {\n const marginTop = -this._ref.current.clientHeight\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n const [entry] = entries\n this.setState({\n showShadow: !entry.isIntersecting,\n })\n },\n {\n rootMargin: `${marginTop}px 0px 0px 0px`,\n threshold: 0.001,\n }\n )\n\n this.intersectionObserver.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this.intersectionObserver?.disconnect()\n }\n\n render() {\n const {\n className = null,\n children = null,\n ref, //eslint-disable-line\n shadow_class = null,\n ...props\n } = this.props\n const { showShadow } = this.state\n const {\n hide_close_button = false,\n close_button_attributes,\n onCloseClickHandler,\n close_title,\n } = this.context\n\n return (\n <Section\n style_type=\"white\"\n className={classnames(\n 'dnb-modal__header__bar',\n showShadow && shadow_class,\n className\n )}\n inner_ref={this._ref}\n {...props}\n >\n <div className=\"dnb-modal__header__bar__inner\">\n {children as React.ReactNode}\n </div>\n\n {!isTrue(hide_close_button) && (\n <div className=\"dnb-modal__header__bar__close\">\n <CloseButton\n on_click={onCloseClickHandler}\n close_title={close_title}\n {...close_button_attributes}\n />\n </div>\n )}\n </Section>\n )\n }\n}\n"],"mappings":";;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,kCAAkC;AACzD,OAAOC,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,eAAe;AAuBvC,eAAe,MAAMC,cAAc,SAASN,KAAK,CAACO,aAAa,CAG7D;EAQAC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,gBAIN;MAAEC,UAAU,EAAE;IAAM,CAAC;IAH3B,IAAI,CAACC,IAAI,GAAGZ,KAAK,CAACa,SAAS,CAAC,CAAC;EAC/B;EAIAC,iBAAiBA,CAAA,EAAG;IAClB,IACE,OAAOC,MAAM,KAAK,WAAW,IAC7B,OAAOC,oBAAoB,KAAK,WAAW,IAC3C,IAAI,CAACJ,IAAI,CAACK,OAAO,EACjB;MACA,MAAMC,SAAS,GAAG,CAAC,IAAI,CAACN,IAAI,CAACK,OAAO,CAACE,YAAY;MACjD,IAAI,CAACC,oBAAoB,GAAG,IAAIJ,oBAAoB,CACjDK,OAAO,IAAK;QACX,MAAM,CAACC,KAAK,CAAC,GAAGD,OAAO;QACvB,IAAI,CAACE,QAAQ,CAAC;UACZZ,UAAU,EAAE,CAACW,KAAK,CAACE;QACrB,CAAC,CAAC;MACJ,CAAC,EACD;QACEC,UAAU,EAAG,GAAEP,SAAU,gBAAe;QACxCQ,SAAS,EAAE;MACb,CACF,CAAC;MAED,IAAI,CAACN,oBAAoB,CAACO,OAAO,CAAC,IAAI,CAACf,IAAI,CAACK,OAAO,CAAC;IACtD;EACF;EAEAW,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACrB,CAAAA,qBAAA,OAAI,CAACT,oBAAoB,cAAAS,qBAAA,uBAAzBA,qBAAA,CAA2BC,UAAU,CAAC,CAAC;EACzC;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAAC,WAAA,GAMI,IAAI,CAACvB,KAAK;MANR;QACJwB,SAAS,GAAG,IAAI;QAChBC,QAAQ,GAAG,IAAI;QACfC,GAAG;QACHC,YAAY,GAAG;MAEjB,CAAC,GAAAJ,WAAA;MADIvB,KAAK,GAAA4B,wBAAA,CAAAL,WAAA,EAAAM,SAAA;IAEV,MAAM;MAAE3B;IAAW,CAAC,GAAG,IAAI,CAAC4B,KAAK;IACjC,MAAM;MACJC,iBAAiB,GAAG,KAAK;MACzBC,uBAAuB;MACvBC,mBAAmB;MACnBC;IACF,CAAC,GAAG,IAAI,CAACC,OAAO;IAEhB,OACE5C,KAAA,CAAA6C,aAAA,CAAC1C,OAAO,EAAA2C,QAAA;MACNC,UAAU,EAAC,OAAO;MAClBd,SAAS,EAAEhC,UAAU,CACnB,wBAAwB,EAExBgC,SAAS,EADTtB,UAAU,IAAIyB,YAEhB,CAAE;MACFY,SAAS,EAAE,IAAI,CAACpC;IAAK,GACjBH,KAAK,GAETT,KAAA,CAAA6C,aAAA;MAAKZ,SAAS,EAAC;IAA+B,GAC3CC,QACE,CAAC,EAEL,CAAChC,MAAM,CAACsC,iBAAiB,CAAC,IACzBxC,KAAA,CAAA6C,aAAA;MAAKZ,SAAS,EAAC;IAA+B,GAC5CjC,KAAA,CAAA6C,aAAA,CAACxC,WAAW,EAAAyC,QAAA;MACVG,QAAQ,EAAEP,mBAAoB;MAC9BC,WAAW,EAAEA;IAAY,GACrBF,uBAAuB,CAC5B,CACE,CAEA,CAAC;EAEd;AACF;AAAC/B,eAAA,CAzFoBJ,cAAc,iBAIZF,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["React","PropTypes","classnames","PaginationContext","PaginationProvider","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","PaginationIndicator","InfinityScroller","PaginationBar","paginationPropTypes","process","env","NODE_ENV","_objectSpread","startup_page","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","object","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","class","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","undefined","Pagination","PureComponent","render","createElement","_extends","tagName","internalContent","props","PaginationInstance","_defineProperty","propTypes","constructor","_contentRef","createRef","context","getTranslation","_className","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","_objectWithoutProperties","_excluded","pagination","_items$find","mainParams","content","find","pageNumber","contentRef","length","PaginationContent","ref","_InfinityScroller","InfinityMarker","_this$props","_excluded2","useMarkerOnly","forwardRef","_ref","_excluded3","tabIndex","isRequired","Bar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n class: null,\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n class: _className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n"],"mappings":";;;;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SACEC,qBAAqB,EACrBC,sCAAsC,QACjC,+BAA+B;AACtC,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAE/B,SAASC,mBAAmB,QAAQ,qBAAqB;AACzD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,MAAMC,mBAAmB,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAC,aAAA,CAAAA,aAAA;EACvBC,YAAY,EAAEhB,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC;EACvEC,YAAY,EAAEpB,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC;EACvEE,UAAU,EAAErB,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC;EACrEG,aAAa,EAAEtB,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC;EACxEI,mBAAmB,EAAEvB,SAAS,CAACiB,SAAS,CAAC,CACvCjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACmB,MAAM,CACjB,CAAC;EACFK,0BAA0B,EAAExB,SAAS,CAACiB,SAAS,CAAC,CAC9CjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACyB,IAAI,CACf,CAAC;EACFC,aAAa,EAAE1B,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC,CAAC;EACxEQ,QAAQ,EAAE3B,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACyB,IAAI,CAAC,CAAC;EACjEG,QAAQ,EAAE5B,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACyB,IAAI,CAAC,CAAC;EACjEI,IAAI,EAAE7B,SAAS,CAAC8B,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EACjDC,eAAe,EAAE/B,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACyB,IAAI,CAAC,CAAC;EACxEO,KAAK,EAAEhC,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACiC,KAAK,CAAC,CAAC;EAC/DC,uBAAuB,EAAElC,SAAS,CAACiB,SAAS,CAAC,CAC3CjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACyB,IAAI,CACf,CAAC;EACFU,mBAAmB,EAAEnC,SAAS,CAACiB,SAAS,CAAC,CACvCjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACoC,IAAI,CACf,CAAC;EACFC,qBAAqB,EAAErC,SAAS,CAACiB,SAAS,CAAC,CACzCjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACoC,IAAI,CACf,CAAC;EACFE,wBAAwB,EAAEtC,SAAS,CAACiB,SAAS,CAAC,CAC5CjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACoC,IAAI,CACf,CAAC;EACFG,oBAAoB,EAAEvC,SAAS,CAACiB,SAAS,CAAC,CACxCjB,SAAS,CAACkB,MAAM,EAChBlB,SAAS,CAACoC,IAAI,CACf,CAAC;EACFI,YAAY,EAAExC,SAAS,CAACiB,SAAS,CAAC,CAChCjB,SAAS,CAACyC,MAAM,EAChBzC,SAAS,CAAC0C,IAAI,EACd1C,SAAS,CAACoC,IAAI,EACdpC,SAAS,CAACkB,MAAM,CACjB,CAAC;EACFyB,gBAAgB,EAAE3C,SAAS,CAACiB,SAAS,CAAC,CACpCjB,SAAS,CAACyC,MAAM,EAChBzC,SAAS,CAAC0C,IAAI,EACd1C,SAAS,CAACoC,IAAI,EACdpC,SAAS,CAACkB,MAAM,CACjB,CAAC;EACF0B,cAAc,EAAE5C,SAAS,CAACiB,SAAS,CAAC,CAClCjB,SAAS,CAACyC,MAAM,EAChBzC,SAAS,CAAC0C,IAAI,EACd1C,SAAS,CAACoC,IAAI,EACdpC,SAAS,CAACkB,MAAM,CACjB,CAAC;EACF2B,iBAAiB,EAAE7C,SAAS,CAACiB,SAAS,CAAC,CACrCjB,SAAS,CAAC0C,IAAI,EACd1C,SAAS,CAACoC,IAAI,EACdpC,SAAS,CAACkB,MAAM,CACjB,CAAC;EACF4B,KAAK,EAAE9C,SAAS,CAACkB,MAAM;EACvB6B,YAAY,EAAE/C,SAAS,CAACkB,MAAM;EAC9B8B,UAAU,EAAEhD,SAAS,CAACkB,MAAM;EAC5B+B,UAAU,EAAEjD,SAAS,CAACkB,MAAM;EAC5BgC,UAAU,EAAElD,SAAS,CAACkB,MAAM;EAC5BiC,eAAe,EAAEnD,SAAS,CAACkB,MAAM;EACjCkC,gBAAgB,EAAEpD,SAAS,CAACkB;AAAM,GAE/BZ,gBAAgB;EAEnB+C,KAAK,EAAErD,SAAS,CAACkB,MAAM;EACvBoC,SAAS,EAAEtD,SAAS,CAACkB,MAAM;EAC3BqC,QAAQ,EAAEvD,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAAC0C,IAAI,EAAE1C,SAAS,CAACoC,IAAI,CAAC,CAAC;EAE/DoB,SAAS,EAAExD,SAAS,CAACoC,IAAI;EACzBqB,UAAU,EAAEzD,SAAS,CAACoC,IAAI;EAC1BsB,OAAO,EAAE1D,SAAS,CAACoC,IAAI;EACvBuB,MAAM,EAAE3D,SAAS,CAACoC;AAAI;AAGxB,MAAMwB,sBAAsB,GAAG;EAC7B5C,YAAY,EAAE,IAAI;EAClBI,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE,IAAI;EAChBQ,IAAI,EAAE,YAAY;EAClBE,eAAe,EAAE,KAAK;EACtBC,KAAK,EAAE,IAAI;EACXE,uBAAuB,EAAE,KAAK;EAC9BC,mBAAmB,EAAE,IAAI;EACzBE,qBAAqB,EAAE,IAAI;EAC3BG,YAAY,EAAEqB,SAAS;EACvBlB,gBAAgB,EAAEkB,SAAS;EAC3BjB,cAAc,EAAEiB,SAAS;EACzBhB,iBAAiB,EAAEgB,SAAS;EAC5Bf,KAAK,EAAE,MAAM;EACbC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE,IAAI;EAChBC,UAAU,EAAE,IAAI;EAChBC,UAAU,EAAE,IAAI;EAChBC,eAAe,EAAE,IAAI;EACrBC,gBAAgB,EAAE,IAAI;EACtB9B,aAAa,EAAE,CAAC;EAChBC,mBAAmB,EAAE,CAAC;EACtBC,0BAA0B,EAAE,KAAK;EACjCE,aAAa,EAAE,GAAG;EAClBC,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EAEdyB,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACfC,UAAU,EAAE,IAAI;EAChBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE;AACV,CAAC;AAED,eAAe,MAAMG,UAAU,SAAS/D,KAAK,CAACgE,aAAa,CAAC;EAI1DC,MAAMA,CAAA,EAAG;IACP,OACEjE,KAAA,CAAAkE,aAAA,CAAC9D,kBAAkB,EAAA+D,QAAA;MACjBC,OAAO,EAAC,gBAAgB;MACxBC,eAAe,EAAE,IAAI,CAACC,KAAK,CAACd;IAAS,GACjC,IAAI,CAACc,KAAK,GAEdtE,KAAA,CAAAkE,aAAA,CAACK,kBAAkB,EAAK,IAAI,CAACD,KAAQ,CACnB,CAAC;EAEzB;AACF;AAACE,eAAA,CAfoBT,UAAU,kBAEPF,sBAAsB;AAAAhD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAFzBgD,UAAU,CACtBU,SAAS,GAAAzD,aAAA,KAAQJ,mBAAmB;AAgB7C,MAAM2D,kBAAkB,SAASvE,KAAK,CAACgE,aAAa,CAAC;EAKnDU,WAAWA,CAACJ,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACK,WAAW,GAAG3E,KAAK,CAAC4E,SAAS,CAAC,CAAC;EACtC;EAEAX,MAAMA,CAAA,EAAG;IAEP,MAAMK,KAAK,GAAGhE,sCAAsC,CAClD,IAAI,CAACgE,KAAK,EACVT,sBAAsB,EACtB,IAAI,CAACgB,OAAO,CAACC,cAAc,CAAC,IAAI,CAACR,KAAK,CAAC,CAACP,UAAU,EAClD,IAAI,CAACc,OAAO,CAACd,UACf,CAAC;IAED,MAAM;QACJhB,KAAK;QACLS,QAAQ;QACRD,SAAS;QACTD,KAAK,EAAEyB,UAAU;QAEjBnD,QAAQ,EAAEoD,SAAS;QACnBnD,QAAQ,EAAEoD,SAAS;QACnBb,OAAO,EAAEc,QAAQ;QACjB5D,UAAU,EAAE6D,WAAW;QACvB9D,YAAY,EAAE+D,aAAa;QAC3BnE,YAAY,EAAEoE,aAAa;QAC3BvD,IAAI,EAAEwD,KAAK;QACXnD,uBAAuB,EAAEoD,wBAAwB;QACjDvD,eAAe,EAAEwD,gBAAgB;QACjCC,WAAW,EAAEC;MAGf,CAAC,GAAGpB,KAAK;MADJqB,UAAU,GAAAC,wBAAA,CACXtB,KAAK,EAAAuB,SAAA;IAGT,MAAM;MAAEJ,WAAW;MAAExD,KAAK;MAAEW,gBAAgB;MAAEE;IAAkB,CAAC,GAC/D,IAAI,CAAC+B,OAAO,CAACiB,UAAU;IAGzB,IAAI,IAAI,CAACjB,OAAO,CAACiB,UAAU,CAAChE,IAAI,KAAK,YAAY,EAAE;MAAA,IAAAiE,WAAA;MACjD,MAAMC,UAAU,GAAAhF,aAAA;QACduC,SAAS,EAAErD,UAAU,CACnB,gBAAgB,EAEhBM,oBAAoB,CAAC8D,KAAK,CAAC,EAC3Bf,SAAS,EACTwB,UAAU,EAHVhC,KAAK,IAAK,mBAAkBA,KAAM,EAIpC;MAAC,GACE4C,UAAU,CACd;MAEDtF,qBAAqB,CAACiE,KAAK,EAAE0B,UAAU,CAAC;MAExC,MAAMC,OAAO,IAAAF,WAAA,GAAG9D,KAAK,CAACiE,IAAI,CACxB,CAAC;QAAEC;MAAW,CAAC,KAAKA,UAAU,KAAKV,WACrC,CAAC,cAAAM,WAAA,uBAFeA,WAAA,CAEbE,OAAO;MAEV,OACEjG,KAAA,CAAAkE,aAAA,QAAS8B,UAAU,EACjBhG,KAAA,CAAAkE,aAAA,CAACvD,aAAa;QAACyF,UAAU,EAAE,IAAI,CAACzB;MAAY,GACzCnB,QACY,CAAC,EACfvB,KAAK,CAACoE,MAAM,GAAG,CAAC,IACfrG,KAAA,CAAAkE,aAAA,CAACoC,iBAAiB;QAACC,GAAG,EAAE,IAAI,CAAC5B;MAAY,GACtCsB,OAAO,IACNjG,KAAA,CAAAkE,aAAA,CAACzD,mBAAmB;QAClBqC,iBAAiB,EAAEA,iBAAiB,IAAIF;MAAiB,CAC1D,CAEc,CAElB,CAAC;IAEV;IAGA,OAAA4D,iBAAA,KAAAA,iBAAA,GAAOxG,KAAA,CAAAkE,aAAA,CAACxD,gBAAgB,MAAE,CAAC;EAC7B;AACF;AAAC8D,eAAA,CAnFKD,kBAAkB,kBAEAV,sBAAsB;AAAAW,eAAA,CAFxCD,kBAAkB,iBAGDpE,iBAAiB;AAAAU,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAHlCwD,kBAAkB,CACfE,SAAS,GAAAzD,aAAA,KAAQJ,mBAAmB;AAoF7C,OAAO,MAAM6F,cAAc,SAASzG,KAAK,CAACgE,aAAa,CAAC;EAItDC,MAAMA,CAAA,EAAG;IACP,MAAAyC,WAAA,GAA+B,IAAI,CAACpC,KAAK;MAAnC;QAAEd;MAAmB,CAAC,GAAAkD,WAAA;MAAPpC,KAAK,GAAAsB,wBAAA,CAAAc,WAAA,EAAAC,UAAA;IAC1B,OACE3G,KAAA,CAAAkE,aAAA,CAAC9D,kBAAkB,EAAA+D,QAAA;MACjByC,aAAa;MACbxC,OAAO,EAAC;IAAqB,GACzBE,KAAK,GAETtE,KAAA,CAAAkE,aAAA,CAACxD,gBAAgB,EAAK4D,KAAK,EAAGd,QAA2B,CACvC,CAAC;EAEzB;AACF;AAACgB,eAAA,CAhBYiC,cAAc,kBAEH5C,sBAAsB;AAAAhD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAFjC0F,cAAc,CAClBhC,SAAS,GAAAzD,aAAA,KAAQJ,mBAAmB;AAiB7C,MAAM0F,iBAAiB,GAAGtG,KAAK,CAAC6G,UAAU,CACxC,CAAAC,IAAA,EAAyBP,GAAG,KAAK;EAAA,IAAhC;MAAE/C;IAAmB,CAAC,GAAAsD,IAAA;IAAPxC,KAAK,GAAAsB,wBAAA,CAAAkB,IAAA,EAAAC,UAAA;EACnB,OACE/G,KAAA,CAAAkE,aAAA,QAAAC,QAAA;IACEZ,SAAS,EAAC,sCAAsC;IAChDyD,QAAQ,EAAC;EAAI,GACT1C,KAAK;IACTiC,GAAG,EAAEA;EAAI,IAER/C,QACE,CAAC;AAEV,CACF,CAAC;AACD3C,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAuF,iBAAiB,CAAC7B,SAAS,GAAG;EAC5BjB,QAAQ,EAAEvD,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAAC0C,IAAI,EAAE1C,SAAS,CAACoC,IAAI,CAAC,CAAC,CAC5D4E;AACL,CAAC;AAGDlD,UAAU,CAACmD,GAAG,GAAGvG,aAAa;AAC9BoD,UAAU,CAACoD,OAAO,GAAGb,iBAAiB;AAEtC,MAAMc,iBAAiB,GAAGrD,UAAU;AACpC,MAAMsD,qBAAqB,GAAGZ,cAAc;AAE5C,OAAO,MAAMS,GAAG,GAAI5C,KAAK,IACvBtE,KAAA,CAAAkE,aAAA,CAACH,UAAU,EAAAI,QAAA;EAACvB,gBAAgB,EAAEA,CAAA,KAAM;AAAK,GAAK0B,KAAK,CAAG,CACvD;AAED,OAAO,MAAMgD,gBAAgB,GAAGA,CAACC,SAAS,GAAG,CAAC,CAAC,KAAK;EAClD,MAAMC,KAAK,GAAGxH,KAAK,CAAC4E,SAAS,CAAC,CAAC,CAAC,CAAC;EACjC,MAAM6C,QAAQ,GAAGzH,KAAK,CAAC4E,SAAS,CAAC,IAAI,CAAC;EACtC,MAAM8C,WAAW,GAAG1H,KAAK,CAAC4E,SAAS,CAAC,IAAI,CAAC;EACzC,MAAM+C,aAAa,GAAG3H,KAAK,CAAC4E,SAAS,CAAC,IAAI,CAAC;EAC3C,MAAMgD,cAAc,GAAG5H,KAAK,CAAC4E,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMiD,YAAY,GAAG7H,KAAK,CAAC4E,SAAS,CAAC,IAAI,CAAC;EAE1C,MAAMkD,UAAU,GAAGA,CAAC3B,UAAU,EAAEF,OAAO,KAAK;IAC1C,IAAIE,UAAU,GAAG,CAAC,EAAE;MAClBqB,KAAK,CAACO,OAAO,GAAA/G,aAAA,CAAAA,aAAA,KAAQwG,KAAK,CAACO,OAAO,GAAK;QAAE5B,UAAU;QAAEF;MAAQ,CAAC,CAAE;MAChEwB,QAAQ,CAACM,OAAO,IAAIN,QAAQ,CAACM,OAAO,CAACP,KAAK,CAAC;IAC7C;EACF,CAAC;EACD,MAAMQ,YAAY,GAAGA,CAAA,KAAM;IACzBL,aAAa,CAACI,OAAO,IAAIJ,aAAa,CAACI,OAAO,CAAC,CAAC;EAClD,CAAC;EACD,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC1BL,cAAc,CAACG,OAAO,IAAIH,cAAc,CAACG,OAAO,CAAC,CAAC;EACpD,CAAC;EACD,MAAMG,WAAW,GAAGA,CAAA,KAAM;IACxBL,YAAY,CAACE,OAAO,IAAIF,YAAY,CAACE,OAAO,CAAC,CAAC;EAChD,CAAC;EAED,MAAMI,IAAI,GAAI7D,KAAK,IAAAtD,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAAA,aAAA,KACTuG,SAAS,GAAKjD,KAAK;IAC3BkD,KAAK;IACLC,QAAQ;IACRrF,mBAAmB,EAAGgG,EAAE,IAAMV,WAAW,CAACK,OAAO,GAAGK,EAAG;IACvD9F,qBAAqB,EAAG8F,EAAE,IAAMT,aAAa,CAACI,OAAO,GAAGK,EAAG;IAC3D7F,wBAAwB,EAAG6F,EAAE,IAAMR,cAAc,CAACG,OAAO,GAAGK,EAAG;IAC/D5F,oBAAoB,EAAG4F,EAAE,IAAMP,YAAY,CAACE,OAAO,GAAGK;EAAG,EACzD;EAEF,MAAMrE,UAAU,GAAIO,KAAK,IACvBtE,KAAA,CAAAkE,aAAA,CAACkD,iBAAiB,EAAAjD,QAAA;IAACC,OAAO,EAAC;EAAgB,GAAK+D,IAAI,CAAC7D,KAAK,CAAC,CAAG,CAC/D;EAED,MAAMmC,cAAc,GAAInC,KAAK,IAC3BtE,KAAA,CAAAkE,aAAA,CAACmD,qBAAqB,EAAAlD,QAAA;IACpBC,OAAO,EAAEiD,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEjD;EAAQ,GACpC+D,IAAI,CAAC7D,KAAK,CAAC,CAChB,CACF;EAED,OAAO;IACLP,UAAU;IACV0C,cAAc;IACdqB,UAAU;IACVE,YAAY;IACZC,aAAa;IACbC;EACF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["React","PropTypes","classnames","PaginationContext","PaginationProvider","validateDOMAttributes","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","PaginationIndicator","InfinityScroller","PaginationBar","paginationPropTypes","process","env","NODE_ENV","_objectSpread","startup_page","oneOfType","string","number","current_page","page_count","startup_count","parallel_load_count","place_maker_before_content","bool","min_wait_time","disabled","skeleton","mode","oneOf","use_load_button","items","array","hide_progress_indicator","set_content_handler","func","reset_content_handler","reset_pagination_handler","end_infinity_handler","page_element","object","node","fallback_element","marker_element","indicator_element","align","button_title","prev_title","next_title","more_pages","is_loading_text","load_button_text","class","className","children","on_change","on_startup","on_load","on_end","paginationDefaultProps","undefined","Pagination","PureComponent","render","createElement","_extends","tagName","internalContent","props","PaginationInstance","_defineProperty","propTypes","constructor","_contentRef","createRef","context","getTranslation","_className","_disabled","_skeleton","_tagName","_page_count","_current_page","_startup_page","_mode","_hide_progress_indicator","_use_load_button","currentPage","_currentPage","attributes","_objectWithoutProperties","_excluded","pagination","_items$find","mainParams","content","find","pageNumber","contentRef","length","PaginationContent","ref","_InfinityScroller","InfinityMarker","_this$props","_excluded2","useMarkerOnly","forwardRef","_ref","_excluded3","tabIndex","isRequired","Bar","Content","PaginationWrapper","InfinityMarkerWrapper","createPagination","initProps","store","rerender","_setContent","_resetContent","_resetInfinity","_endInfinity","setContent","current","resetContent","resetInfinity","endInfinity","args","fn"],"sources":["../../../../src/components/pagination/Pagination.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport PaginationContext from './PaginationContext'\nimport PaginationProvider from './PaginationProvider'\nimport {\n validateDOMAttributes,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport { PaginationIndicator } from './PaginationHelpers'\nimport InfinityScroller from './PaginationInfinity'\nimport PaginationBar from './PaginationBar'\n\nconst paginationPropTypes = {\n startup_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n current_page: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n page_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n startup_count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n parallel_load_count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n place_maker_before_content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n min_wait_time: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n mode: PropTypes.oneOf(['pagination', 'infinity']),\n use_load_button: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n items: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n hide_progress_indicator: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n set_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_content_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n reset_pagination_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n end_infinity_handler: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n fallback_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n marker_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n indicator_element: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n align: PropTypes.string,\n button_title: PropTypes.string,\n prev_title: PropTypes.string,\n next_title: PropTypes.string,\n more_pages: PropTypes.string,\n is_loading_text: PropTypes.string,\n load_button_text: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_startup: PropTypes.func,\n on_load: PropTypes.func,\n on_end: PropTypes.func,\n}\n\nconst paginationDefaultProps = {\n startup_page: null,\n current_page: null,\n page_count: null,\n mode: 'pagination',\n use_load_button: false,\n items: null,\n hide_progress_indicator: false,\n set_content_handler: null,\n reset_content_handler: null,\n page_element: undefined,\n fallback_element: undefined,\n marker_element: undefined,\n indicator_element: undefined,\n align: 'left',\n button_title: null,\n prev_title: null,\n next_title: null,\n more_pages: null,\n is_loading_text: null,\n load_button_text: null,\n startup_count: 1,\n parallel_load_count: 1,\n place_maker_before_content: false,\n min_wait_time: 400,\n disabled: null,\n skeleton: null,\n\n class: null,\n className: null,\n children: null,\n\n on_change: null,\n on_startup: null,\n on_load: null,\n on_end: null,\n}\n\nexport default class Pagination extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n return (\n <PaginationProvider\n tagName=\"dnb-pagination\"\n internalContent={this.props.children}\n {...this.props}\n >\n <PaginationInstance {...this.props} />\n </PaginationProvider>\n )\n }\n}\n\nclass PaginationInstance extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n static contextType = PaginationContext\n\n constructor(props) {\n super(props)\n this._contentRef = React.createRef()\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n paginationDefaultProps,\n this.context.getTranslation(this.props).Pagination,\n this.context.Pagination\n )\n\n const {\n align,\n children,\n className,\n class: _className,\n\n disabled: _disabled, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n tagName: _tagName, // eslint-disable-line\n page_count: _page_count, // eslint-disable-line\n current_page: _current_page, // eslint-disable-line\n startup_page: _startup_page, // eslint-disable-line\n mode: _mode, // eslint-disable-line\n hide_progress_indicator: _hide_progress_indicator, // eslint-disable-line\n use_load_button: _use_load_button, // eslint-disable-line\n currentPage: _currentPage, // eslint-disable-line\n\n ...attributes\n } = props\n\n // our props\n const { currentPage, items, fallback_element, indicator_element } =\n this.context.pagination\n\n // Pagination mode\n if (this.context.pagination.mode === 'pagination') {\n const mainParams = {\n className: classnames(\n 'dnb-pagination',\n align && `dnb-pagination--${align}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n ...attributes,\n }\n\n validateDOMAttributes(props, mainParams)\n\n const content = items.find(\n ({ pageNumber }) => pageNumber === currentPage\n )?.content\n\n return (\n <div {...mainParams}>\n <PaginationBar contentRef={this._contentRef}>\n {children}\n </PaginationBar>\n {items.length > 0 && (\n <PaginationContent ref={this._contentRef}>\n {content || (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </PaginationContent>\n )}\n </div>\n )\n }\n\n // InfinityScroller mode\n return <InfinityScroller />\n }\n}\n\nexport class InfinityMarker extends React.PureComponent {\n static propTypes = { ...paginationPropTypes }\n static defaultProps = paginationDefaultProps\n\n render() {\n const { children, ...props } = this.props\n return (\n <PaginationProvider\n useMarkerOnly\n tagName=\"dnb-infinity-marker\"\n {...props}\n >\n <InfinityScroller {...props}>{children}</InfinityScroller>\n </PaginationProvider>\n )\n }\n}\n\nconst PaginationContent = React.forwardRef(\n ({ children, ...props }, ref) => {\n return (\n <div\n className=\"dnb-pagination__content dnb-no-focus\"\n tabIndex=\"-1\"\n {...props}\n ref={ref}\n >\n {children}\n </div>\n )\n }\n)\nPaginationContent.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n}\n\n// NB: This is not ready yet\nPagination.Bar = PaginationBar\nPagination.Content = PaginationContent\n\nconst PaginationWrapper = Pagination\nconst InfinityMarkerWrapper = InfinityMarker\n\nexport const Bar = (props) => (\n <Pagination fallback_element={() => null} {...props} />\n)\n\nexport const createPagination = (initProps = {}) => {\n const store = React.createRef({})\n const rerender = React.createRef(null)\n const _setContent = React.createRef(null)\n const _resetContent = React.createRef(null)\n const _resetInfinity = React.createRef(null)\n const _endInfinity = React.createRef(null)\n\n const setContent = (pageNumber, content) => {\n if (pageNumber > 0) {\n store.current = { ...store.current, ...{ pageNumber, content } }\n rerender.current && rerender.current(store)\n }\n }\n const resetContent = () => {\n _resetContent.current && _resetContent.current()\n }\n const resetInfinity = () => {\n _resetInfinity.current && _resetInfinity.current()\n }\n const endInfinity = () => {\n _endInfinity.current && _endInfinity.current()\n }\n\n const args = (props) => ({\n ...{ ...initProps, ...props },\n store,\n rerender,\n set_content_handler: (fn) => (_setContent.current = fn),\n reset_content_handler: (fn) => (_resetContent.current = fn),\n reset_pagination_handler: (fn) => (_resetInfinity.current = fn),\n end_infinity_handler: (fn) => (_endInfinity.current = fn),\n })\n\n const Pagination = (props) => (\n <PaginationWrapper tagName=\"dnb-pagination\" {...args(props)} />\n )\n\n const InfinityMarker = (props) => (\n <InfinityMarkerWrapper\n tagName={InfinityMarkerWrapper?.tagName}\n {...args(props)}\n />\n )\n\n return {\n Pagination,\n InfinityMarker,\n setContent,\n resetContent,\n resetInfinity,\n endInfinity,\n }\n}\n"],"mappings":"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"}
|
|
@@ -83,6 +83,10 @@ export interface RadioProps
|
|
|
83
83
|
*/
|
|
84
84
|
on_change?: (...args: any[]) => any;
|
|
85
85
|
on_state_update?: (...args: any[]) => any;
|
|
86
|
+
/**
|
|
87
|
+
* By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.
|
|
88
|
+
*/
|
|
89
|
+
innerRef?: React.Ref;
|
|
86
90
|
}
|
|
87
91
|
export default class Radio extends React.Component<RadioProps, any> {
|
|
88
92
|
static defaultProps: object;
|