@dnb/eufemia 10.31.0 → 10.33.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 +57 -0
- package/cjs/components/anchor/Anchor.d.ts +8 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/card/Card.js +3 -2
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +1 -2
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/cjs/components/checkbox/style/dnb-checkbox.css +2 -2
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/cjs/components/flex/Container.d.ts +4 -1
- package/cjs/components/flex/Container.js +8 -5
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Stack.js +3 -3
- package/cjs/components/flex/Stack.js.map +1 -1
- package/cjs/components/flex/utils.js +7 -7
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/grid/Container.d.ts +2 -2
- package/cjs/components/grid/Container.js.map +1 -1
- package/cjs/components/grid/ContainerDocs.d.ts +2 -0
- package/cjs/components/grid/ContainerDocs.js +30 -0
- package/cjs/components/grid/ContainerDocs.js.map +1 -0
- package/cjs/components/grid/style/dnb-grid.css +6 -0
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/grid/style/grid-container.scss +6 -0
- package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/slider/SliderDocs.d.ts +3 -0
- package/cjs/components/slider/SliderDocs.js +158 -0
- package/cjs/components/slider/SliderDocs.js.map +1 -0
- package/cjs/components/space/SpacingUtils.d.ts +1 -1
- package/cjs/components/space/SpacingUtils.js +1 -1
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/cjs/components/table/style/dnb-table.css +5 -10
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +26 -14
- package/cjs/extensions/forms/DataContext/Context.js +2 -3
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +81 -35
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +6 -4
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +3 -3
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.d.ts +34 -0
- package/cjs/extensions/forms/Field/Slider/Slider.js +115 -0
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -0
- package/cjs/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
- package/cjs/extensions/forms/Field/Slider/SliderDocs.js +34 -0
- package/cjs/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Slider/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Slider/index.js +27 -0
- package/cjs/extensions/forms/Field/Slider/index.js.map +1 -0
- package/cjs/extensions/forms/Field/String/String.js +2 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
- package/cjs/extensions/forms/Form/Element/Element.js +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +52 -21
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +44 -0
- package/cjs/extensions/forms/Form/Section/Section.js +67 -0
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
- package/cjs/extensions/forms/Form/Section/SectionContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +43 -0
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/index.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +47 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +8 -4
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
- package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
- package/cjs/extensions/forms/Tools/GenerateSchema.js +143 -0
- package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -0
- package/cjs/extensions/forms/Tools/ListAllProps.d.ts +15 -0
- package/cjs/extensions/forms/Tools/ListAllProps.js +73 -0
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -0
- package/cjs/extensions/forms/Tools/index.d.ts +2 -0
- package/cjs/extensions/forms/Tools/index.js +21 -0
- package/cjs/extensions/forms/Tools/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Number/Number.js +4 -2
- package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +9 -5
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +46 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js +27 -0
- package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
- package/cjs/extensions/forms/blocks/Category/index.d.ts +1 -0
- package/cjs/extensions/forms/blocks/Category/index.js +14 -0
- package/cjs/extensions/forms/blocks/Category/index.js.map +1 -0
- package/cjs/extensions/forms/blocks/index.d.ts +1 -0
- package/cjs/extensions/forms/blocks/index.js +11 -0
- package/cjs/extensions/forms/blocks/index.js.map +1 -0
- package/cjs/extensions/forms/hooks/index.d.ts +2 -5
- package/cjs/extensions/forms/hooks/index.js +12 -4
- package/cjs/extensions/forms/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +9 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +39 -0
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/cjs/extensions/forms/hooks/useExternalValue.d.ts +12 -0
- package/cjs/extensions/forms/hooks/useExternalValue.js +47 -0
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -0
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -10
- package/cjs/extensions/forms/hooks/useFieldProps.js +126 -108
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +14 -0
- package/cjs/extensions/forms/hooks/usePath.js +72 -0
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -0
- package/cjs/extensions/forms/hooks/useValueProps.js +17 -4
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/index.d.ts +2 -0
- package/cjs/extensions/forms/index.js +4 -1
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +3 -5
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +10 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +6 -2
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/shared/Context.d.ts +3 -3
- package/cjs/shared/Context.js +8 -8
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/MediaQuery.js +19 -1
- package/cjs/shared/MediaQuery.js.map +1 -1
- package/cjs/shared/MediaQueryUtils.d.ts +12 -34
- package/cjs/shared/MediaQueryUtils.js +22 -12
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +5 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/useMedia.d.ts +7 -2
- package/cjs/shared/useMedia.js +16 -11
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/shared/useMediaQuery.js +30 -9
- package/cjs/shared/useMediaQuery.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +2 -3
- 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 +22 -29
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +2 -3
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +3 -5
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +3 -5
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +30 -36
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +7 -5
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/components/anchor/Anchor.d.ts +8 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/card/Card.js +3 -2
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +1 -2
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/components/checkbox/style/dnb-checkbox.css +2 -2
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/components/flex/Container.d.ts +4 -1
- package/components/flex/Container.js +8 -5
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Stack.js +3 -3
- package/components/flex/Stack.js.map +1 -1
- package/components/flex/utils.js +8 -8
- package/components/flex/utils.js.map +1 -1
- package/components/grid/Container.d.ts +2 -2
- package/components/grid/Container.js.map +1 -1
- package/components/grid/ContainerDocs.d.ts +2 -0
- package/components/grid/ContainerDocs.js +23 -0
- package/components/grid/ContainerDocs.js.map +1 -0
- package/components/grid/style/dnb-grid.css +6 -0
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/grid/style/grid-container.scss +6 -0
- package/components/skeleton/style/dnb-skeleton.css +4 -8
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/slider/SliderDocs.d.ts +3 -0
- package/components/slider/SliderDocs.js +150 -0
- package/components/slider/SliderDocs.js.map +1 -0
- package/components/space/SpacingUtils.d.ts +1 -1
- package/components/space/SpacingUtils.js +1 -1
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/components/table/style/dnb-table.css +5 -10
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/components/anchor/Anchor.d.ts +8 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/card/Card.js +3 -2
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +1 -2
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/es/components/checkbox/style/dnb-checkbox.css +2 -2
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/es/components/flex/Container.d.ts +4 -1
- package/es/components/flex/Container.js +8 -5
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Stack.js +3 -3
- package/es/components/flex/Stack.js.map +1 -1
- package/es/components/flex/utils.js +8 -8
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/grid/Container.d.ts +2 -2
- package/es/components/grid/Container.js.map +1 -1
- package/es/components/grid/ContainerDocs.d.ts +2 -0
- package/es/components/grid/ContainerDocs.js +23 -0
- package/es/components/grid/ContainerDocs.js.map +1 -0
- package/es/components/grid/style/dnb-grid.css +6 -0
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/grid/style/grid-container.scss +6 -0
- package/es/components/skeleton/style/dnb-skeleton.css +4 -8
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/slider/SliderDocs.d.ts +3 -0
- package/es/components/slider/SliderDocs.js +150 -0
- package/es/components/slider/SliderDocs.js.map +1 -0
- package/es/components/space/SpacingUtils.d.ts +1 -1
- package/es/components/space/SpacingUtils.js +1 -1
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/es/components/table/style/dnb-table.css +5 -10
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +26 -14
- package/es/extensions/forms/DataContext/Context.js +2 -3
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js +79 -34
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +6 -4
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +3 -3
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.d.ts +34 -0
- package/es/extensions/forms/Field/Slider/Slider.js +103 -0
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -0
- package/es/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
- package/es/extensions/forms/Field/Slider/SliderDocs.js +26 -0
- package/es/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
- package/es/extensions/forms/Field/Slider/index.d.ts +2 -0
- package/es/extensions/forms/Field/Slider/index.js +3 -0
- package/es/extensions/forms/Field/Slider/index.js.map +1 -0
- package/es/extensions/forms/Field/String/String.js +2 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +7 -7
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
- package/es/extensions/forms/Form/Element/Element.js +1 -1
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +49 -21
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +44 -0
- package/es/extensions/forms/Form/Section/Section.js +56 -0
- package/es/extensions/forms/Form/Section/Section.js.map +1 -0
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
- package/es/extensions/forms/Form/Section/SectionContext.js +4 -0
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/SectionDocs.js +35 -0
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/index.js +3 -0
- package/es/extensions/forms/Form/Section/index.js.map +1 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/es/extensions/forms/Form/Visibility/Visibility.js +48 -11
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +7 -4
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/es/extensions/forms/Form/data-context/useError.js +5 -3
- package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/es/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
- package/es/extensions/forms/Tools/GenerateSchema.js +130 -0
- package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -0
- package/es/extensions/forms/Tools/ListAllProps.d.ts +15 -0
- package/es/extensions/forms/Tools/ListAllProps.js +65 -0
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -0
- package/es/extensions/forms/Tools/index.d.ts +2 -0
- package/es/extensions/forms/Tools/index.js +3 -0
- package/es/extensions/forms/Tools/index.js.map +1 -0
- package/es/extensions/forms/Value/Number/Number.js +4 -2
- package/es/extensions/forms/Value/Number/Number.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +98 -32
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/es/extensions/forms/Wizard/Step/Step.js +9 -5
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
- package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
- package/es/extensions/forms/blocks/Category/index.d.ts +1 -0
- package/es/extensions/forms/blocks/Category/index.js +1 -0
- package/es/extensions/forms/blocks/Category/index.js.map +1 -0
- package/es/extensions/forms/blocks/index.d.ts +1 -0
- package/es/extensions/forms/blocks/index.js +1 -0
- package/es/extensions/forms/blocks/index.js.map +1 -0
- package/es/extensions/forms/hooks/index.d.ts +2 -5
- package/es/extensions/forms/hooks/index.js +2 -1
- package/es/extensions/forms/hooks/index.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +9 -0
- package/es/extensions/forms/hooks/useDataValue.js +32 -0
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/es/extensions/forms/hooks/useExternalValue.d.ts +12 -0
- package/es/extensions/forms/hooks/useExternalValue.js +41 -0
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -0
- package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -10
- package/es/extensions/forms/hooks/useFieldProps.js +122 -102
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +14 -0
- package/es/extensions/forms/hooks/usePath.js +64 -0
- package/es/extensions/forms/hooks/usePath.js.map +1 -0
- package/es/extensions/forms/hooks/useValueProps.js +16 -4
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/index.d.ts +2 -0
- package/es/extensions/forms/index.js +1 -0
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +3 -5
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +10 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js +6 -2
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/shared/Context.d.ts +3 -3
- package/es/shared/Context.js +8 -8
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/MediaQuery.js +19 -1
- package/es/shared/MediaQuery.js.map +1 -1
- package/es/shared/MediaQueryUtils.d.ts +12 -34
- package/es/shared/MediaQueryUtils.js +22 -17
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +5 -2
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/useMedia.d.ts +7 -2
- package/es/shared/useMedia.js +14 -11
- package/es/shared/useMedia.js.map +1 -1
- package/es/shared/useMediaQuery.js +28 -9
- package/es/shared/useMediaQuery.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +2 -3
- 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 +22 -29
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +2 -3
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +3 -5
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +3 -5
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +30 -36
- package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +7 -5
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +26 -14
- package/extensions/forms/DataContext/Context.js +2 -3
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/extensions/forms/DataContext/Provider/Provider.js +82 -36
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +6 -4
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +3 -3
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.d.ts +34 -0
- package/extensions/forms/Field/Slider/Slider.js +104 -0
- package/extensions/forms/Field/Slider/Slider.js.map +1 -0
- package/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
- package/extensions/forms/Field/Slider/SliderDocs.js +26 -0
- package/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
- package/extensions/forms/Field/Slider/index.d.ts +2 -0
- package/extensions/forms/Field/Slider/index.js +3 -0
- package/extensions/forms/Field/Slider/index.js.map +1 -0
- package/extensions/forms/Field/String/String.js +2 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +7 -7
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
- package/extensions/forms/Form/Element/Element.js +1 -1
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
- package/extensions/forms/Form/FieldProps/FieldProps.js +50 -21
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +44 -0
- package/extensions/forms/Form/Section/Section.js +56 -0
- package/extensions/forms/Form/Section/Section.js.map +1 -0
- package/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
- package/extensions/forms/Form/Section/SectionContext.js +4 -0
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -0
- package/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/SectionDocs.js +35 -0
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
- package/extensions/forms/Form/Section/index.d.ts +2 -0
- package/extensions/forms/Form/Section/index.js +3 -0
- package/extensions/forms/Form/Section/index.js.map +1 -0
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/extensions/forms/Form/Visibility/Visibility.js +48 -11
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/extensions/forms/Form/data-context/useData.js +8 -4
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/extensions/forms/Form/data-context/useError.js +5 -3
- package/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
- package/extensions/forms/Tools/GenerateSchema.js +133 -0
- package/extensions/forms/Tools/GenerateSchema.js.map +1 -0
- package/extensions/forms/Tools/ListAllProps.d.ts +15 -0
- package/extensions/forms/Tools/ListAllProps.js +67 -0
- package/extensions/forms/Tools/ListAllProps.js.map +1 -0
- package/extensions/forms/Tools/index.d.ts +2 -0
- package/extensions/forms/Tools/index.js +3 -0
- package/extensions/forms/Tools/index.js.map +1 -0
- package/extensions/forms/Value/Number/Number.js +4 -2
- package/extensions/forms/Value/Number/Number.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/extensions/forms/Wizard/Step/Step.js +9 -5
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
- package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
- package/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
- package/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
- package/extensions/forms/blocks/Category/index.d.ts +1 -0
- package/extensions/forms/blocks/Category/index.js +1 -0
- package/extensions/forms/blocks/Category/index.js.map +1 -0
- package/extensions/forms/blocks/index.d.ts +1 -0
- package/extensions/forms/blocks/index.js +3 -0
- package/extensions/forms/blocks/index.js.map +1 -0
- package/extensions/forms/hooks/index.d.ts +2 -5
- package/extensions/forms/hooks/index.js +2 -1
- package/extensions/forms/hooks/index.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +9 -0
- package/extensions/forms/hooks/useDataValue.js +33 -0
- package/extensions/forms/hooks/useDataValue.js.map +1 -0
- package/extensions/forms/hooks/useExternalValue.d.ts +12 -0
- package/extensions/forms/hooks/useExternalValue.js +41 -0
- package/extensions/forms/hooks/useExternalValue.js.map +1 -0
- package/extensions/forms/hooks/useFieldProps.d.ts +1 -10
- package/extensions/forms/hooks/useFieldProps.js +125 -106
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +14 -0
- package/extensions/forms/hooks/usePath.js +66 -0
- package/extensions/forms/hooks/usePath.js.map +1 -0
- package/extensions/forms/hooks/useValueProps.js +16 -4
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/index.d.ts +2 -0
- package/extensions/forms/index.js +2 -0
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +3 -5
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +10 -3
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js +6 -2
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +3 -3
- package/shared/Context.js +8 -8
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/MediaQuery.js +19 -1
- package/shared/MediaQuery.js.map +1 -1
- package/shared/MediaQueryUtils.d.ts +12 -34
- package/shared/MediaQueryUtils.js +22 -12
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +5 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/useMedia.d.ts +7 -2
- package/shared/useMedia.js +14 -11
- package/shared/useMedia.js.map +1 -1
- package/shared/useMediaQuery.js +28 -9
- package/shared/useMediaQuery.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +2 -3
- 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 +22 -29
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +2 -3
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -5
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +3 -5
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/style/themes/theme-ui/ui-theme-components.css +30 -36
- package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/style/themes/theme-ui/ui-theme-extensions.css +7 -5
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +7 -5
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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
|
@@ -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","extend","first","_len","objects","_key","keepRef","shift","acc1","acc2","_ref3","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","process","word","React","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","_len2","_key2","combineAriaBy","combineDescribedBy","_len3","_key3","combineDetails","_len4","_key4","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// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...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 = extend(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\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 = (elements, separator = undefined) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\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)\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","extend","first","_len","objects","_key","keepRef","shift","acc1","acc2","_ref3","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","_len2","_key2","combineAriaBy","combineDescribedBy","_len3","_key3","combineDetails","_len4","_key4","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// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...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 = extend(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\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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"}
|
package/cjs/shared/useMedia.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MediaQueryCondition, MediaQueryBreakpoints } from './MediaQueryUtils';
|
|
1
|
+
import type { MediaQueryCondition, MediaQueryBreakpoints, MediaQueryOptions } from './MediaQueryUtils';
|
|
2
2
|
export type UseMediaProps = {
|
|
3
3
|
/**
|
|
4
4
|
* Give a initial value, that is used during SSR as well.
|
|
@@ -9,7 +9,7 @@ export type UseMediaProps = {
|
|
|
9
9
|
* If set to true, no MediaQuery will be used.
|
|
10
10
|
* Default: false
|
|
11
11
|
*/
|
|
12
|
-
disabled?:
|
|
12
|
+
disabled?: MediaQueryOptions['disabled'];
|
|
13
13
|
/**
|
|
14
14
|
* Provide a custom breakpoint
|
|
15
15
|
* Default: defaultBreakpoints
|
|
@@ -24,6 +24,11 @@ export type UseMediaProps = {
|
|
|
24
24
|
* For debugging
|
|
25
25
|
*/
|
|
26
26
|
log?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Not documented as of now. For internal use only.
|
|
29
|
+
* Default: true
|
|
30
|
+
*/
|
|
31
|
+
correctRange?: MediaQueryOptions['correctRange'];
|
|
27
32
|
};
|
|
28
33
|
export type UseMediaQueries = {
|
|
29
34
|
small: MediaQueryCondition;
|
package/cjs/shared/useMedia.js
CHANGED
|
@@ -6,18 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = useMedia;
|
|
8
8
|
exports.defaultQueries = void 0;
|
|
9
|
-
var _react =
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Context = _interopRequireDefault(require("./Context"));
|
|
11
11
|
var _MediaQueryUtils = require("./MediaQueryUtils");
|
|
12
12
|
var _componentHelper = require("./component-helper");
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
18
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
19
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
18
20
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
19
21
|
const makeLayoutEffect = () => {
|
|
20
|
-
return typeof window === 'undefined' ? _react.
|
|
22
|
+
return typeof window === 'undefined' ? _react.useEffect : window['__SSR_TEST__'] ? () => null : _react.default.useLayoutEffect;
|
|
21
23
|
};
|
|
22
24
|
const defaultQueries = {
|
|
23
25
|
small: {
|
|
@@ -38,17 +40,18 @@ function useMedia() {
|
|
|
38
40
|
const {
|
|
39
41
|
initialValue = null,
|
|
40
42
|
disabled,
|
|
43
|
+
correctRange = true,
|
|
41
44
|
breakpoints,
|
|
42
45
|
queries = defaultQueries,
|
|
43
46
|
log
|
|
44
47
|
} = props;
|
|
45
|
-
const context = _react.
|
|
46
|
-
const refs = _react.
|
|
47
|
-
const defaults = _react.
|
|
48
|
-
const isMounted = _react.
|
|
49
|
-
const isDisabled = _react.
|
|
50
|
-
const [result, updateRerender] = _react.
|
|
51
|
-
const useLayoutEffect = _react.
|
|
48
|
+
const context = (0, _react.useContext)(_Context.default);
|
|
49
|
+
const refs = (0, _react.useRef)({});
|
|
50
|
+
const defaults = (0, _react.useRef)({});
|
|
51
|
+
const isMounted = (0, _react.useRef)(false);
|
|
52
|
+
const isDisabled = (0, _react.useRef)(disabled);
|
|
53
|
+
const [result, updateRerender] = (0, _react.useState)(makeResult);
|
|
54
|
+
const useLayoutEffect = (0, _react.useMemo)(makeLayoutEffect, []);
|
|
52
55
|
useLayoutEffect(() => {
|
|
53
56
|
if (!isMounted.current) {
|
|
54
57
|
isMounted.current = true;
|
|
@@ -109,10 +112,12 @@ function useMedia() {
|
|
|
109
112
|
return;
|
|
110
113
|
}
|
|
111
114
|
const mediaQueryList = (0, _MediaQueryUtils.makeMediaQueryList)({
|
|
112
|
-
when
|
|
115
|
+
when
|
|
116
|
+
}, breakpoints || context.breakpoints, {
|
|
113
117
|
disabled,
|
|
118
|
+
correctRange,
|
|
114
119
|
log
|
|
115
|
-
}
|
|
120
|
+
});
|
|
116
121
|
const event = (0, _MediaQueryUtils.createMediaQueryListener)(mediaQueryList, match => {
|
|
117
122
|
if (!isDisabled.current && match) {
|
|
118
123
|
const state = _objectSpread(_objectSpread({}, defaults.current), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMedia.js","names":["_react","_interopRequireDefault","require","_Context","_MediaQueryUtils","_componentHelper","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","makeLayoutEffect","window","React","useEffect","useLayoutEffect","defaultQueries","small","min","max","medium","large","exports","useMedia","props","initialValue","disabled","breakpoints","queries","log","context","useContext","Context","refs","useRef","defaults","isMounted","isDisabled","result","updateRerender","useState","makeResult","useMemo","current","removeListeners","entries","_ref","_item$event","item","event","reduce","acc","_ref2","_item$mediaQueryList","k","when","name","toPascalCase","runQuery","hasMatch","mediaQueryList","matches","isSSR","isMatchMediaSupported","_ref3","makeMediaQueryList","createMediaQueryListener","match","state"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryListener,\n MediaQueryCondition,\n MediaQueryBreakpoints,\n} from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nconst makeLayoutEffect = () => {\n // SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n return typeof window === 'undefined'\n ? React.useEffect\n : window['__SSR_TEST__'] // To be able to test this hook like we are in SSR land\n ? () => null\n : React.useLayoutEffect\n}\n\nexport type UseMediaProps = {\n /**\n * Give a initial value, that is used during SSR as well.\n * Default: null\n */\n initialValue?: Partial<UseMediaResult>\n\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Provide a custom breakpoint\n * Default: defaultBreakpoints\n */\n breakpoints?: MediaQueryBreakpoints\n\n /**\n * Provide a custom query\n * Default: defaultQueries\n */\n queries?: Record<string, MediaQueryCondition>\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const defaultQueries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n key: Keys\n}\n\n/**\n * Internal stuff\n */\n\ntype Keys = keyof UseMediaQueries\ntype Names = 'isSmall' | 'isMedium' | 'isLarge'\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n when: MediaQueryCondition\n name: Names\n key: Keys\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const {\n initialValue = null,\n disabled,\n breakpoints,\n queries = defaultQueries,\n log,\n } = props\n\n const context = React.useContext(Context)\n\n const refs = React.useRef({})\n const defaults = React.useRef({})\n const isMounted = React.useRef(false)\n const isDisabled = React.useRef(disabled)\n const [result, updateRerender] =\n React.useState<UseMediaResult>(makeResult)\n\n const useLayoutEffect = React.useMemo(makeLayoutEffect, [])\n\n useLayoutEffect(() => {\n if (!isMounted.current) {\n isMounted.current = true\n updateRerender(makeResult())\n }\n\n return removeListeners\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n // If it was disabled before\n if (isDisabled.current && !disabled) {\n updateRerender(makeResult())\n }\n isDisabled.current = disabled\n }, [disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return result\n\n function removeListeners() {\n Object.entries(refs.current).forEach(\n ([key, item]: [Keys, UseMediaItem]) => {\n item?.event?.()\n delete refs.current[key]\n }\n )\n }\n\n function makeResult() {\n return Object.entries(queries).reduce(\n (acc, [k, when]) => {\n const key = k as Keys\n const name = `is${toPascalCase(key)}` as Names\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaults.current[name] = false\n\n const item = runQuery({\n when,\n name,\n key,\n })\n\n const hasMatch = !isMounted.current\n ? typeof initialValue?.[name] !== 'undefined'\n ? initialValue[name]\n : false\n : item?.mediaQueryList?.matches || false\n acc[name] = hasMatch\n if (hasMatch) {\n acc.key = key\n }\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported(), key: null } as UseMediaResult\n ) as UseMediaResult\n }\n\n function runQuery({\n when,\n name,\n key,\n }: UseMediaQueryProps): UseMediaItem {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n {\n when,\n disabled,\n log,\n },\n\n breakpoints || context.breakpoints\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!isDisabled.current && match) {\n const state = {\n ...defaults.current,\n key,\n isSSR: result.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMedia.js","names":["_react","_interopRequireWildcard","require","_Context","_interopRequireDefault","_MediaQueryUtils","_componentHelper","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","makeLayoutEffect","window","useEffect","React","useLayoutEffect","defaultQueries","small","min","max","medium","large","exports","useMedia","props","initialValue","disabled","correctRange","breakpoints","queries","log","context","useContext","Context","refs","useRef","defaults","isMounted","isDisabled","result","updateRerender","useState","makeResult","useMemo","current","removeListeners","entries","_ref","_item$event","item","event","reduce","acc","_ref2","_item$mediaQueryList","k","when","name","toPascalCase","runQuery","hasMatch","mediaQueryList","matches","isSSR","isMatchMediaSupported","_ref3","makeMediaQueryList","createMediaQueryListener","match","state"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React, {\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryListener,\n MediaQueryCondition,\n MediaQueryBreakpoints,\n MediaQueryOptions,\n} from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nconst makeLayoutEffect = () => {\n // SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n return typeof window === 'undefined'\n ? useEffect\n : window['__SSR_TEST__'] // To be able to test this hook like we are in SSR land\n ? () => null\n : React.useLayoutEffect\n}\n\nexport type UseMediaProps = {\n /**\n * Give a initial value, that is used during SSR as well.\n * Default: null\n */\n initialValue?: Partial<UseMediaResult>\n\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: MediaQueryOptions['disabled']\n\n /**\n * Provide a custom breakpoint\n * Default: defaultBreakpoints\n */\n breakpoints?: MediaQueryBreakpoints\n\n /**\n * Provide a custom query\n * Default: defaultQueries\n */\n queries?: Record<string, MediaQueryCondition>\n\n /**\n * For debugging\n */\n log?: boolean\n\n /**\n * Not documented as of now. For internal use only.\n * Default: true\n */\n correctRange?: MediaQueryOptions['correctRange']\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const defaultQueries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n key: Keys\n}\n\n/**\n * Internal stuff\n */\n\ntype Keys = keyof UseMediaQueries\ntype Names = 'isSmall' | 'isMedium' | 'isLarge'\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n when: MediaQueryCondition\n name: Names\n key: Keys\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const {\n initialValue = null,\n disabled,\n correctRange = true,\n breakpoints,\n queries = defaultQueries,\n log,\n } = props\n\n const context = useContext(Context)\n\n const refs = useRef({})\n const defaults = useRef({})\n const isMounted = useRef(false)\n const isDisabled = useRef(disabled)\n const [result, updateRerender] = useState<UseMediaResult>(makeResult)\n\n const useLayoutEffect = useMemo(makeLayoutEffect, [])\n\n useLayoutEffect(() => {\n if (!isMounted.current) {\n isMounted.current = true\n updateRerender(makeResult())\n }\n\n return removeListeners\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n // If it was disabled before\n if (isDisabled.current && !disabled) {\n updateRerender(makeResult())\n }\n isDisabled.current = disabled\n }, [disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return result\n\n function removeListeners() {\n Object.entries(refs.current).forEach(\n ([key, item]: [Keys, UseMediaItem]) => {\n item?.event?.()\n delete refs.current[key]\n }\n )\n }\n\n function makeResult() {\n return Object.entries(queries).reduce(\n (acc, [k, when]) => {\n const key = k as Keys\n const name = `is${toPascalCase(key)}` as Names\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaults.current[name] = false\n\n const item = runQuery({\n when,\n name,\n key,\n })\n\n const hasMatch = !isMounted.current\n ? typeof initialValue?.[name] !== 'undefined'\n ? initialValue[name]\n : false\n : item?.mediaQueryList?.matches || false\n acc[name] = hasMatch\n if (hasMatch) {\n acc.key = key\n }\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported(), key: null } as UseMediaResult\n ) as UseMediaResult\n }\n\n function runQuery({\n when,\n name,\n key,\n }: UseMediaQueryProps): UseMediaItem {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n { when },\n breakpoints || context.breakpoints,\n { disabled, correctRange, log }\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!isDisabled.current && match) {\n const state = {\n ...defaults.current,\n key,\n isSSR: result.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n }\n}\n"],"mappings":"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"}
|
|
@@ -5,41 +5,62 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = useMediaQuery;
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _componentHelper = require("./component-helper");
|
|
10
10
|
var _Context = _interopRequireDefault(require("./Context"));
|
|
11
11
|
var _MediaQueryUtils = require("./MediaQueryUtils");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
const useLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;
|
|
13
16
|
function useMediaQuery(props) {
|
|
14
17
|
var _mediaQueryList$curre;
|
|
15
|
-
const context = _react.
|
|
18
|
+
const context = (0, _react.useContext)(_Context.default);
|
|
16
19
|
const {
|
|
17
20
|
query,
|
|
18
21
|
when,
|
|
19
22
|
not,
|
|
20
23
|
matchOnSSR,
|
|
21
|
-
disabled
|
|
24
|
+
disabled,
|
|
25
|
+
correctRange = true,
|
|
26
|
+
log
|
|
22
27
|
} = props;
|
|
23
|
-
let matches = _react.
|
|
28
|
+
let matches = (0, _react.useMemo)(() => {
|
|
24
29
|
if (disabled) {
|
|
25
30
|
return false;
|
|
26
31
|
}
|
|
27
32
|
return (0, _componentHelper.isTrue)(matchOnSSR) && !(0, _MediaQueryUtils.isMatchMediaSupported)();
|
|
28
33
|
}, [disabled, matchOnSSR]);
|
|
29
|
-
const mediaQueryList = _react.
|
|
34
|
+
const mediaQueryList = (0, _react.useRef)((0, _MediaQueryUtils.makeMediaQueryList)({
|
|
35
|
+
query,
|
|
36
|
+
when,
|
|
37
|
+
not
|
|
38
|
+
}, context.breakpoints, {
|
|
39
|
+
disabled,
|
|
40
|
+
correctRange,
|
|
41
|
+
log
|
|
42
|
+
}));
|
|
30
43
|
if ((_mediaQueryList$curre = mediaQueryList.current) !== null && _mediaQueryList$curre !== void 0 && _mediaQueryList$curre.matches) {
|
|
31
44
|
matches = true;
|
|
32
45
|
}
|
|
33
|
-
const [match, matchUpdate] = _react.
|
|
34
|
-
const listenerRef = _react.
|
|
35
|
-
|
|
46
|
+
const [match, matchUpdate] = (0, _react.useState)(matches);
|
|
47
|
+
const listenerRef = (0, _react.useRef)();
|
|
48
|
+
useLayoutEffect(() => {
|
|
36
49
|
if (disabled) {
|
|
37
50
|
return;
|
|
38
51
|
}
|
|
39
52
|
if (typeof listenerRef.current === 'function') {
|
|
40
53
|
var _mediaQueryList$curre2;
|
|
41
54
|
listenerRef.current();
|
|
42
|
-
mediaQueryList.current = (0, _MediaQueryUtils.makeMediaQueryList)(
|
|
55
|
+
mediaQueryList.current = (0, _MediaQueryUtils.makeMediaQueryList)({
|
|
56
|
+
query,
|
|
57
|
+
when,
|
|
58
|
+
not
|
|
59
|
+
}, context.breakpoints, {
|
|
60
|
+
disabled,
|
|
61
|
+
correctRange,
|
|
62
|
+
log
|
|
63
|
+
});
|
|
43
64
|
matchUpdate((_mediaQueryList$curre2 = mediaQueryList.current) === null || _mediaQueryList$curre2 === void 0 ? void 0 : _mediaQueryList$curre2.matches);
|
|
44
65
|
}
|
|
45
66
|
listenerRef.current = (0, _MediaQueryUtils.createMediaQueryListener)(mediaQueryList.current, match => matchUpdate(match));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaQuery.js","names":["_react","
|
|
1
|
+
{"version":3,"file":"useMediaQuery.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_Context","_interopRequireDefault","_MediaQueryUtils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useLayoutEffect","window","React","useEffect","useMediaQuery","props","_mediaQueryList$curre","context","useContext","Context","query","when","not","matchOnSSR","disabled","correctRange","log","matches","useMemo","isTrue","isMatchMediaSupported","mediaQueryList","useRef","makeMediaQueryList","breakpoints","current","match","matchUpdate","useState","listenerRef","_mediaQueryList$curre2","createMediaQueryListener","Boolean"],"sources":["../../../src/shared/useMediaQuery.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef, useState } from 'react'\nimport { isTrue } from './component-helper'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryProps,\n MediaQueryListener,\n} from './MediaQueryUtils'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type { MediaQueryProps }\n\nexport default function useMediaQuery(props: MediaQueryProps) {\n const context = useContext(Context)\n const {\n query,\n when,\n not,\n matchOnSSR,\n disabled,\n correctRange = true,\n log,\n } = props\n\n let matches = useMemo(() => {\n if (disabled) {\n return false // stop here\n }\n\n return isTrue(matchOnSSR) && !isMatchMediaSupported()\n }, [disabled, matchOnSSR])\n\n const mediaQueryList = useRef(\n makeMediaQueryList({ query, when, not }, context.breakpoints, {\n disabled,\n correctRange,\n log,\n })\n )\n if (mediaQueryList.current?.matches) {\n matches = true\n }\n\n const [match, matchUpdate] = useState(matches)\n\n const listenerRef = useRef<MediaQueryListener>()\n useLayoutEffect(() => {\n if (disabled) {\n return // stop here\n }\n\n if (typeof listenerRef.current === 'function') {\n listenerRef.current()\n\n mediaQueryList.current = makeMediaQueryList(\n { query, when, not },\n context.breakpoints,\n { disabled, correctRange, log }\n )\n matchUpdate(mediaQueryList.current?.matches)\n }\n\n listenerRef.current = createMediaQueryListener(\n mediaQueryList.current,\n (match) => matchUpdate(match)\n )\n\n return listenerRef.current\n }, [query, when, not, disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return Boolean(match)\n}\n"],"mappings":"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"}
|
|
@@ -251,7 +251,7 @@ body {
|
|
|
251
251
|
/* stylelint-disable-next-line */
|
|
252
252
|
-webkit-text-size-adjust: 100%;
|
|
253
253
|
word-break: break-word;
|
|
254
|
-
--eufemia-version: "10.
|
|
254
|
+
--eufemia-version: "10.33.0";
|
|
255
255
|
}
|
|
256
256
|
.dnb-core-style *,
|
|
257
257
|
.dnb-core-style ::before,
|
|
@@ -656,8 +656,7 @@ html[data-whatintent=touch] .dnb-skip-link {
|
|
|
656
656
|
-webkit-touch-callout: none !important;
|
|
657
657
|
pointer-events: none !important;
|
|
658
658
|
position: absolute !important;
|
|
659
|
-
|
|
660
|
-
clip-path: inset(50%) !important;
|
|
659
|
+
clip-path: inset(50%) !important;
|
|
661
660
|
max-width: 1px !important;
|
|
662
661
|
max-height: 1px !important;
|
|
663
662
|
overflow: hidden !important;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.
|
|
1
|
+
@charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.33.0";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr{height:0;overflow:visible}.dnb-core-style main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul{list-style:none}.dnb-core-style abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video{display:inline-block}.dnb-core-style audio:not([controls]){display:none;height:0}.dnb-core-style img{border-style:none}.dnb-core-style svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root){overflow:hidden}.dnb-core-style table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select{margin:0}.dnb-core-style button{overflow:visible;text-transform:none}.dnb-core-style fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input{overflow:visible;word-break:normal}.dnb-core-style legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress{display:inline-block;vertical-align:baseline}.dnb-core-style select{text-transform:none}.dnb-core-style textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio]{padding:0}.dnb-core-style input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details{display:block}.dnb-core-style summary{display:list-item}.dnb-core-style canvas{display:inline-block}.dnb-core-style template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea{touch-action:manipulation}.dnb-core-style [hidden]{display:none}.dnb-core-style [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:""}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
|