@dnb/eufemia 10.36.0 → 10.38.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 +35 -0
- package/cjs/components/accordion/Accordion.d.ts +23 -1
- package/cjs/components/accordion/Accordion.js +19 -7
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionContext.d.ts +2 -0
- package/cjs/components/accordion/AccordionContext.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.d.ts +4 -0
- package/cjs/components/accordion/AccordionDocs.js +166 -0
- package/cjs/components/accordion/AccordionDocs.js.map +1 -0
- package/cjs/components/accordion/AccordionGroup.js +16 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
- package/cjs/components/accordion/AccordionStore.d.ts +2 -0
- package/cjs/components/accordion/AccordionStore.js +1 -1
- package/cjs/components/accordion/AccordionStore.js.map +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/button/Button.d.ts +1 -1
- package/cjs/components/card/Card.js +4 -3
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +16 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +17 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +4 -7
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
- package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
- package/cjs/components/height-animation/HeightAnimation.js +6 -2
- package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationDocs.d.ts +3 -0
- package/cjs/components/height-animation/HeightAnimationDocs.js +83 -0
- package/cjs/components/height-animation/HeightAnimationDocs.js.map +1 -0
- package/cjs/components/height-animation/style/dnb-height-animation.css +3 -2
- package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/cjs/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/cjs/components/height-animation/useHeightAnimation.js +36 -6
- package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js +4 -2
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +8 -5
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +11 -13
- package/cjs/components/section/Section.js +3 -0
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/style/dnb-section.scss +2 -0
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -2
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +6 -3
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +6 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +90 -31
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +15 -3
- package/cjs/extensions/forms/Field/Selection/Selection.js +71 -42
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +4 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/cjs/extensions/forms/Value/Date/Date.js +26 -3
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/cjs/extensions/forms/style/dnb-forms.css +21 -3
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +1 -1
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +51 -13
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +21 -3
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +21 -3
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +77 -23
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/fonts.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +76 -20
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +77 -23
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +21 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +21 -3
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/accordion/Accordion.d.ts +23 -1
- package/components/accordion/Accordion.js +20 -8
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionContext.d.ts +2 -0
- package/components/accordion/AccordionContext.js.map +1 -1
- package/components/accordion/AccordionDocs.d.ts +4 -0
- package/components/accordion/AccordionDocs.js +157 -0
- package/components/accordion/AccordionDocs.js.map +1 -0
- package/components/accordion/AccordionGroup.js +17 -4
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/components/accordion/AccordionProviderContext.js.map +1 -1
- package/components/accordion/AccordionStore.d.ts +2 -0
- package/components/accordion/AccordionStore.js +1 -1
- package/components/accordion/AccordionStore.js.map +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
- package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/button/Button.d.ts +1 -1
- package/components/card/Card.js +4 -3
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +16 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +17 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
- package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
- package/components/card/style/themes/dnb-card-theme-ui.css +4 -7
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
- package/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/components/height-animation/HeightAnimation.d.ts +1 -1
- package/components/height-animation/HeightAnimation.js +6 -2
- package/components/height-animation/HeightAnimation.js.map +1 -1
- package/components/height-animation/HeightAnimationDocs.d.ts +3 -0
- package/components/height-animation/HeightAnimationDocs.js +75 -0
- package/components/height-animation/HeightAnimationDocs.js.map +1 -0
- package/components/height-animation/style/dnb-height-animation.css +3 -2
- package/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/components/height-animation/useHeightAnimation.js +37 -7
- package/components/height-animation/useHeightAnimation.js.map +1 -1
- package/components/radio/RadioGroup.js +4 -2
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/radio/style/dnb-radio.css +8 -5
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/radio/style/dnb-radio.scss +11 -13
- package/components/section/Section.js +3 -0
- package/components/section/Section.js.map +1 -1
- package/components/section/style/dnb-section.scss +2 -0
- package/components/step-indicator/StepIndicatorSidebar.js +1 -2
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +6 -3
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +6 -2
- package/es/components/accordion/Accordion.d.ts +23 -1
- package/es/components/accordion/Accordion.js +20 -8
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionContext.d.ts +2 -0
- package/es/components/accordion/AccordionContext.js.map +1 -1
- package/es/components/accordion/AccordionDocs.d.ts +4 -0
- package/es/components/accordion/AccordionDocs.js +157 -0
- package/es/components/accordion/AccordionDocs.js.map +1 -0
- package/es/components/accordion/AccordionGroup.js +17 -4
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/es/components/accordion/AccordionProviderContext.js.map +1 -1
- package/es/components/accordion/AccordionStore.d.ts +2 -0
- package/es/components/accordion/AccordionStore.js +1 -1
- package/es/components/accordion/AccordionStore.js.map +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/button/Button.d.ts +1 -1
- package/es/components/card/Card.js +4 -3
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +16 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +17 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
- package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
- package/es/components/card/style/themes/dnb-card-theme-ui.css +4 -7
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
- package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/es/components/height-animation/HeightAnimation.d.ts +1 -1
- package/es/components/height-animation/HeightAnimation.js +6 -2
- package/es/components/height-animation/HeightAnimation.js.map +1 -1
- package/es/components/height-animation/HeightAnimationDocs.d.ts +3 -0
- package/es/components/height-animation/HeightAnimationDocs.js +75 -0
- package/es/components/height-animation/HeightAnimationDocs.js.map +1 -0
- package/es/components/height-animation/style/dnb-height-animation.css +3 -2
- package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/es/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
- package/es/components/height-animation/useHeightAnimation.js +37 -7
- package/es/components/height-animation/useHeightAnimation.js.map +1 -1
- package/es/components/radio/RadioGroup.js +4 -2
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +8 -5
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/radio/style/dnb-radio.scss +11 -13
- package/es/components/section/Section.js +3 -0
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/style/dnb-section.scss +2 -0
- package/es/components/step-indicator/StepIndicatorSidebar.js +1 -2
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +6 -3
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +6 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +87 -29
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
- package/es/extensions/forms/Field/Selection/Selection.d.ts +15 -3
- package/es/extensions/forms/Field/Selection/Selection.js +68 -42
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
- package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +4 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/es/extensions/forms/Value/Date/Date.js +25 -3
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/es/extensions/forms/style/dnb-forms.css +21 -3
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +1 -1
- package/es/extensions/forms/types.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +51 -13
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +21 -3
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +21 -3
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +77 -23
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/fonts.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +76 -20
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +77 -23
- package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.css +21 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +21 -3
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +88 -29
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
- package/extensions/forms/Field/Selection/Selection.d.ts +15 -3
- package/extensions/forms/Field/Selection/Selection.js +69 -42
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
- package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
- package/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
- package/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
- package/extensions/forms/Form/Visibility/Visibility.js +4 -2
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/extensions/forms/Value/Date/Date.js +25 -3
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/extensions/forms/style/dnb-forms.css +21 -3
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +1 -1
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js +1 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +51 -13
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +21 -3
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +21 -3
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +77 -23
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/fonts.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +76 -20
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +77 -23
- package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/style/themes/theme-ui/ui-theme-extensions.css +21 -3
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +21 -3
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -10,20 +10,29 @@
|
|
|
10
10
|
/*
|
|
11
11
|
* Utilities
|
|
12
12
|
*/
|
|
13
|
+
.dnb-forms-field-array-selection {
|
|
14
|
+
--row-gap: var(--spacing-x-small);
|
|
15
|
+
}
|
|
13
16
|
.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options {
|
|
14
17
|
display: flex;
|
|
15
18
|
flex-flow: column;
|
|
16
|
-
row-gap: var(--
|
|
19
|
+
row-gap: var(--row-gap);
|
|
20
|
+
}
|
|
21
|
+
.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label {
|
|
22
|
+
align-items: flex-start;
|
|
17
23
|
}
|
|
18
|
-
.dnb-forms-field-array-selection--
|
|
24
|
+
.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options {
|
|
19
25
|
row-gap: 0;
|
|
20
26
|
}
|
|
27
|
+
.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label {
|
|
28
|
+
line-height: 2.5rem;
|
|
29
|
+
}
|
|
21
30
|
.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options {
|
|
22
31
|
display: flex;
|
|
23
32
|
flex-flow: row wrap;
|
|
24
33
|
-moz-column-gap: var(--spacing-small);
|
|
25
34
|
column-gap: var(--spacing-small);
|
|
26
|
-
row-gap: var(--
|
|
35
|
+
row-gap: var(--row-gap);
|
|
27
36
|
}
|
|
28
37
|
@media screen and (min-width: 40em) {
|
|
29
38
|
.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
@@ -209,6 +218,15 @@ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-control
|
|
|
209
218
|
.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
210
219
|
line-height: 2.5rem;
|
|
211
220
|
}
|
|
221
|
+
.dnb-forms-field-selection .dnb-forms-field-block__contents {
|
|
222
|
+
display: flex;
|
|
223
|
+
}
|
|
224
|
+
.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation, .dnb-forms-field-selection .dnb-radio-group > .dnb-flex-container,
|
|
225
|
+
.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,
|
|
226
|
+
.dnb-forms-field-selection .dnb-toggle-button-group > .dnb-flex-container {
|
|
227
|
+
width: 100%;
|
|
228
|
+
flex-grow: 1;
|
|
229
|
+
}
|
|
212
230
|
|
|
213
231
|
/*
|
|
214
232
|
* Utilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
|
|
1
|
+
@charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
|
|
@@ -166,7 +166,7 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
|
|
|
166
166
|
*/
|
|
167
167
|
toEvent?: (internal: Value, type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator') => Value;
|
|
168
168
|
/**
|
|
169
|
-
* Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value
|
|
169
|
+
* Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.
|
|
170
170
|
*/
|
|
171
171
|
fromInput?: (external: Value | unknown) => Value;
|
|
172
172
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldSectionProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value form the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldSectionProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":";;;;;;;;;;;;;;;AAiCO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAYnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAAAA,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,KAAK,MAAME,GAAG,IAAIF,OAAO,EAAE;QACzB,IAAI,CAACE,GAAG,CAAC,GAAGF,OAAO,CAACE,GAAG,CAAC;MAC1B;IACF;EACF;AACF;AAACC,OAAA,CAAAP,SAAA,GAAAA,SAAA;AAkCD,MAAMQ,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAEjD,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACT,GAAG,CAAC,GAAAS,IAAA;IAAA,OACvCP,kBAAkB,CAACQ,QAAQ,CAACV,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEO,SAASW,sBAAsBA,CACpCP,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCI,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OAAK,CAACV,kBAAkB,CAACQ,QAAQ,CAACV,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAYA,MAAMa,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAEpE,SAASC,uBAAuBA,CACrCV,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACO,KAAA;IAAA,IAAC,CAACf,GAAG,CAAC,GAAAe,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACV,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEO,SAASgB,uBAAuBA,CACrCZ,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCS,KAAA;IAAA,IAAC,CAACjB,GAAG,CAAC,GAAAiB,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACV,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOO,SAASkB,2BAA2BA,CAEzCd,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCW,KAAA;IAAA,IAAC,CAACnB,GAAG,CAAC,GAAAmB,KAAA;IAAA,OACJjB,kBAAkB,CAACQ,QAAQ,CAACV,GAAG,CAAC,IAChCa,mBAAmB,CAACH,QAAQ,CAACV,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEO,SAASoB,2BAA2BA,CAGzChB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCa,KAAA;IAAA,IAAC,CAACrB,GAAG,CAAC,GAAAqB,KAAA;IAAA,OACJ,CAACnB,kBAAkB,CAACQ,QAAQ,CAACV,GAAG,CAAC,IACjC,CAACa,mBAAmB,CAACH,QAAQ,CAACV,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldSectionProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldSectionProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
|
package/cjs/shared/Eufemia.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "10.
|
|
1
|
+
export declare const version = "10.38.0";
|
|
2
2
|
export declare function init(): void;
|
package/cjs/shared/Eufemia.js
CHANGED
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.init = init;
|
|
7
7
|
exports.version = void 0;
|
|
8
|
-
const version = '10.
|
|
8
|
+
const version = '10.38.0';
|
|
9
9
|
exports.version = version;
|
|
10
10
|
function init() {
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
class Eufemia {
|
|
13
13
|
get version() {
|
|
14
|
-
return '10.
|
|
14
|
+
return '10.38.0';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
window.Eufemia = new Eufemia();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.
|
|
1
|
+
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.38.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.38.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
|
|
@@ -369,7 +369,7 @@ exports.toSnakeCase = toSnakeCase;
|
|
|
369
369
|
const toKebabCase = str => str.replace(/\B[A-Z]/g, letter => `-${letter}`).toLowerCase();
|
|
370
370
|
exports.toKebabCase = toKebabCase;
|
|
371
371
|
function toCapitalized(str) {
|
|
372
|
-
return typeof str === 'string' ? str.toLowerCase().
|
|
372
|
+
return typeof str === 'string' ? str.toLowerCase().split('').map((char, index, arr) => index === 0 || arr[index - 1] === ' ' || arr[index - 1] === '-' ? char.toUpperCase() : char).join('') : str;
|
|
373
373
|
}
|
|
374
374
|
const detectOutsideClick = (ignoreElements, onSuccess, options) => new DetectOutsideClickClass(ignoreElements, onSuccess, options);
|
|
375
375
|
exports.detectOutsideClick = detectOutsideClick;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-helper.js","names":["_react","_interopRequireDefault","require","_keycode","_whatInput","_helpers","_getPreviousSibling","_Eufemia","_InteractionInvalidation","_extendPropsWithContext","_assignPropsWithContext","_filterProps","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","init","whatInput","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","window","navigator","IS_TEST","platform","match","RegExp","PLATFORM_MAC","setAttribute","PLATFORM_WIN","PLATFORM_LINUX","warn","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","entries","_ref","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","test","exports","processChildren","global","Array","isArray","registeredElements","cache","reverse","map","_ref2","cb","includes","isFrozen","children","createElement","Fragment","Boolean","onlyTexts","reduce","pV","cV","join","extendGracefully","first","_len","objects","_key","keepRef","shift","acc1","acc2","_ref3","isObject","item","extendDeep","_len2","sources","_key2","prototype","hasOwnProperty","isTrue","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","eventObject","event","currentTarget","dataset","replace","r","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","l","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_ref4","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","keycode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","getPreviousSibling","convertJsxToString","elements","separator","transformWord","process","word","React","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","_len3","_key3","combineAriaBy","combineDescribedBy","_len4","_key4","combineDetails","_len5","_key5","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { assignPropsWithContext } from './helpers/assignPropsWithContext'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n/** @deprecated Can be removed in v11 */\nexport const extendGracefully = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extendGracefully(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function extendDeep(target = {}, ...sources) {\n for (const source of sources) {\n if (isObject(source)) {\n for (const key in source) {\n // Prototype-polluting checks etc.\n if (key === '__proto__' || key === 'constructor') continue\n if (!Object.prototype.hasOwnProperty.call(source, key)) continue\n if (!isObject(target)) continue\n\n if (isObject(source[key])) {\n if (!isObject(target[key])) {\n target[key] = {}\n }\n extendDeep(target[key], source[key])\n } else {\n target[key] = source[key]\n }\n }\n }\n }\n\n return target\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return typeof str === 'string'\n ? str\n .toLowerCase()\n .replace(/(?<=(^|\\s|-))(.)/g, (l) => l.toUpperCase())\n : str\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (\n elements,\n separator = undefined,\n transformWord = undefined\n) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (transformWord) {\n word = transformWord(word)\n }\n\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word, separator, transformWord)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nexport function combineDetails(...params) {\n return combineAriaBy('aria-details', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (Array.isArray(cur)) {\n return cur.join(' ')\n }\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-helper.js","names":["_react","_interopRequireDefault","require","_keycode","_whatInput","_helpers","_getPreviousSibling","_Eufemia","_InteractionInvalidation","_extendPropsWithContext","_assignPropsWithContext","_filterProps","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","init","whatInput","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","window","navigator","IS_TEST","platform","match","RegExp","PLATFORM_MAC","setAttribute","PLATFORM_WIN","PLATFORM_LINUX","warn","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","entries","_ref","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","test","exports","processChildren","global","Array","isArray","registeredElements","cache","reverse","map","_ref2","cb","includes","isFrozen","children","createElement","Fragment","Boolean","onlyTexts","reduce","pV","cV","join","extendGracefully","first","_len","objects","_key","keepRef","shift","acc1","acc2","_ref3","isObject","item","extendDeep","_len2","sources","_key2","prototype","hasOwnProperty","isTrue","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","eventObject","event","currentTarget","dataset","replace","r","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","char","index","arr","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_ref4","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","l","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","keycode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","getPreviousSibling","convertJsxToString","elements","separator","transformWord","process","word","React","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","_len3","_key3","combineAriaBy","combineDescribedBy","_len4","_key4","combineDetails","_len5","_key5","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { assignPropsWithContext } from './helpers/assignPropsWithContext'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n/** @deprecated Can be removed in v11 */\nexport const extendGracefully = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extendGracefully(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\nexport function isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function extendDeep(target = {}, ...sources) {\n for (const source of sources) {\n if (isObject(source)) {\n for (const key in source) {\n // Prototype-polluting checks etc.\n if (key === '__proto__' || key === 'constructor') continue\n if (!Object.prototype.hasOwnProperty.call(source, key)) continue\n if (!isObject(target)) continue\n\n if (isObject(source[key])) {\n if (!isObject(target[key])) {\n target[key] = {}\n }\n extendDeep(target[key], source[key])\n } else {\n target[key] = source[key]\n }\n }\n }\n }\n\n return target\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return typeof str === 'string'\n ? str\n .toLowerCase()\n .split('')\n .map((char, index, arr) =>\n index === 0 || arr[index - 1] === ' ' || arr[index - 1] === '-'\n ? char.toUpperCase()\n : char\n )\n .join('')\n : str\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (\n elements,\n separator = undefined,\n transformWord = undefined\n) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (transformWord) {\n word = transformWord(word)\n }\n\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word, separator, transformWord)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nexport function combineDetails(...params) {\n return combineAriaBy('aria-details', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (Array.isArray(cur)) {\n return cur.join(' ')\n }\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}
|