@dnb/eufemia 10.32.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 +23 -0
- package/cjs/components/flex/Container.js +4 -4
- package/cjs/components/flex/Container.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/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/extensions/forms/DataContext/Context.d.ts +7 -5
- package/cjs/extensions/forms/DataContext/Context.js +0 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +13 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.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/Composition/Composition.d.ts +2 -2
- package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +3 -3
- package/cjs/extensions/forms/Field/Number/Number.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.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -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/Visibility/Visibility.js +15 -9
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +6 -2
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -1
- package/cjs/extensions/forms/Form/index.js +7 -5
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.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/ViewContainer/ViewContainer.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -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/{es/extensions/forms/Form → cjs/extensions/forms}/Tools/index.d.ts +1 -0
- package/cjs/extensions/forms/{Form/Tools → Tools}/index.js +7 -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/Wizard/Container/WizardContainer.js +2 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- 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 +60 -81
- 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 +0 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +6 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +3 -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/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +6 -1
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +0 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +0 -1
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +6 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +0 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/flex/Container.js +4 -4
- package/components/flex/Container.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/slider/SliderDocs.d.ts +3 -0
- package/components/slider/SliderDocs.js +150 -0
- package/components/slider/SliderDocs.js.map +1 -0
- package/es/components/flex/Container.js +4 -4
- package/es/components/flex/Container.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/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/extensions/forms/DataContext/Context.d.ts +7 -5
- package/es/extensions/forms/DataContext/Context.js +0 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +14 -4
- package/es/extensions/forms/DataContext/Provider/Provider.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/Composition/Composition.d.ts +2 -2
- package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +3 -3
- package/es/extensions/forms/Field/Number/Number.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.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -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/Visibility/Visibility.js +16 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +6 -2
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -1
- package/es/extensions/forms/Form/index.js +1 -1
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.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/ViewContainer/ViewContainer.d.ts +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -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/{extensions/forms/Form → es/extensions/forms}/Tools/index.d.ts +1 -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/Wizard/Container/WizardContainer.js +2 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- 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 +59 -78
- 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 +0 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +6 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js +3 -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/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +6 -1
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +0 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +0 -1
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +6 -2
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +0 -1
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +7 -5
- package/extensions/forms/DataContext/Context.js +0 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +14 -4
- package/extensions/forms/DataContext/Provider/Provider.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/Composition/Composition.d.ts +2 -2
- package/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +3 -3
- package/extensions/forms/Field/Number/Number.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.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -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/Visibility/Visibility.js +16 -10
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +6 -2
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -1
- package/extensions/forms/Form/index.js +1 -2
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/extensions/forms/Iterate/EditContainer/EditContainer.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/ViewContainer/ViewContainer.d.ts +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -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/{cjs/extensions/forms/Form → extensions/forms}/Tools/index.d.ts +1 -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/Wizard/Container/WizardContainer.js +2 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- 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 +59 -79
- 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 +0 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +6 -3
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js +3 -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/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +6 -1
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +0 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +0 -1
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +6 -2
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +0 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +0 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +6 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +0 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +0 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +6 -2
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +0 -1
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +0 -1
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +0 -100
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
- package/cjs/extensions/forms/Form/Tools/index.js.map +0 -1
- package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
- package/es/extensions/forms/Form/Tools/GenerateSchema.js +0 -89
- package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
- package/es/extensions/forms/Form/Tools/index.js +0 -1
- package/es/extensions/forms/Form/Tools/index.js.map +0 -1
- package/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
- package/extensions/forms/Form/Tools/GenerateSchema.js +0 -90
- package/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
- package/extensions/forms/Form/Tools/index.js +0 -1
- package/extensions/forms/Form/Tools/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.33.0](https://github.com/dnbexperience/eufemia/compare/v10.32.0...v10.33.0) (2024-05-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :memo: Documentation
|
|
10
|
+
|
|
11
|
+
* add Accordion in Grid columns example ([#3601](https://github.com/dnbexperience/eufemia/issues/3601)) ([8e695ff](https://github.com/dnbexperience/eufemia/commit/8e695ff252f85a4629107b4d9722c3219b718fe8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### :sparkles: Features
|
|
15
|
+
|
|
16
|
+
* **forms:** add `Composite.Block` to compose reusable blocks of fields and values ([#3594](https://github.com/dnbexperience/eufemia/issues/3594)) ([67d1538](https://github.com/dnbexperience/eufemia/commit/67d1538a7480e72444a644e3e747d6eb193af0d0))
|
|
17
|
+
* **forms:** add `Form.Section` to compose reusable blocks of fields and values ([#3609](https://github.com/dnbexperience/eufemia/issues/3609)) ([32848e2](https://github.com/dnbexperience/eufemia/commit/32848e2b2080c8eadf24caee4f65fe95ebfa3133)), closes [#3594](https://github.com/dnbexperience/eufemia/issues/3594)
|
|
18
|
+
* **forms:** add Field.Slider ([#3597](https://github.com/dnbexperience/eufemia/issues/3597)) ([d94f691](https://github.com/dnbexperience/eufemia/commit/d94f691d26c1559ec24451684d46254a16fa3a6e))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### :bug: Bug Fixes
|
|
22
|
+
|
|
23
|
+
* **ArraySelection:** make explicit type of value can be undefined ([#3610](https://github.com/dnbexperience/eufemia/issues/3610)) ([cd4add9](https://github.com/dnbexperience/eufemia/commit/cd4add9f7c7f749951e561aec18919325aee6946))
|
|
24
|
+
* **DrawerList:** check if string converted jsx is of type function ([#3606](https://github.com/dnbexperience/eufemia/issues/3606)) ([6a59d6c](https://github.com/dnbexperience/eufemia/commit/6a59d6c8ed4b15e727ea89312b3d51ba2ff9b0b8))
|
|
25
|
+
* **FieldBlock:** make it possible to be used in horizontal flex layout when width="stretch" is used ([#3596](https://github.com/dnbexperience/eufemia/issues/3596)) ([fde04b5](https://github.com/dnbexperience/eufemia/commit/fde04b5e7b3dccb76cd9b1f86bd4879df89f58a5))
|
|
26
|
+
* **forms:** add support for `trueText` and `falseText` to Boolean checkbox variant ([#3607](https://github.com/dnbexperience/eufemia/issues/3607)) ([198164a](https://github.com/dnbexperience/eufemia/commit/198164a2137d55f912d5d18827787fad5228aca4))
|
|
27
|
+
* **SelectCountry:** use given path value ([#3598](https://github.com/dnbexperience/eufemia/issues/3598)) ([9ca7953](https://github.com/dnbexperience/eufemia/commit/9ca7953cb4dee7c7f9c482d1e184e0f9dce859ae))
|
|
28
|
+
|
|
6
29
|
## [10.32.0](https://github.com/dnbexperience/eufemia/compare/v10.31.0...v10.32.0) (2024-05-23)
|
|
7
30
|
|
|
8
31
|
|
|
@@ -82,9 +82,9 @@ function FlexContainer(props) {
|
|
|
82
82
|
const endSpacing = 0;
|
|
83
83
|
let startSpacing = null;
|
|
84
84
|
if (!isHeading && (divider === 'line' && !isFirst || divider === 'line-framed')) {
|
|
85
|
-
var _getSpaceValue,
|
|
85
|
+
var _getSpaceValue, _getSpaceValue2;
|
|
86
86
|
const spaceAboveLine = (_getSpaceValue = (0, _utils.getSpaceValue)(end, previousChild)) !== null && _getSpaceValue !== void 0 ? _getSpaceValue : spacing;
|
|
87
|
-
startSpacing = (
|
|
87
|
+
startSpacing = (_getSpaceValue2 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : spacing;
|
|
88
88
|
return _react.default.createElement(_react.default.Fragment, {
|
|
89
89
|
key: `element-${i}`
|
|
90
90
|
}, _react.default.createElement(_elements.Hr, {
|
|
@@ -105,8 +105,8 @@ function FlexContainer(props) {
|
|
|
105
105
|
if (isFirst && direction !== 'horizontal') {
|
|
106
106
|
startSpacing = 0;
|
|
107
107
|
} else {
|
|
108
|
-
var
|
|
109
|
-
startSpacing = (
|
|
108
|
+
var _ref3, _getSpaceValue3;
|
|
109
|
+
startSpacing = (_ref3 = (_getSpaceValue3 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : (0, _utils.getSpaceValue)(end, previousChild)) !== null && _ref3 !== void 0 ? _ref3 : spacing;
|
|
110
110
|
}
|
|
111
111
|
if (_react.default.isValidElement(previousChild) && (previousChild === null || previousChild === void 0 ? void 0 : (_previousChild$type = previousChild.type) === null || _previousChild$type === void 0 ? void 0 : _previousChild$type['_supportsSpacingProps']) === false) {
|
|
112
112
|
startSpacing = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Space","_elements","_useMedia","_utils","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","_ref2","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","gap","spacing","spacingProp","breakpoints","queries","rest","childrenArray","wrapChildren","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_ref3","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","Hr","top","space","renderWithSpacing","_ref4","_ref5","_getSpaceValue3","React","isValidElement","type","n","getRowGapClass","useCallback","cn","classnames","Children","toArray","cloneElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap,\n spacing: spacingProp,\n breakpoints,\n queries,\n ...rest\n } = props\n\n const spacing = spacingProp ?? gap ?? 'small'\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ??\n gap ??\n spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n gap ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Container.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Space","_elements","_useMedia","_utils","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","_ref2","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","gap","spacing","spacingProp","breakpoints","queries","rest","childrenArray","wrapChildren","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","Hr","top","space","renderWithSpacing","_ref3","_getSpaceValue3","React","isValidElement","type","n","getRowGapClass","useCallback","cn","classnames","Children","toArray","cloneElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap,\n spacing: spacingProp,\n breakpoints,\n queries,\n ...rest\n } = props\n\n const spacing = spacingProp ?? gap ?? 'small'\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ export type Media = {
|
|
|
7
7
|
};
|
|
8
8
|
export type BasicProps = {
|
|
9
9
|
columns?: Media | Columns;
|
|
10
|
-
rowGap?: 'small' | 'medium' | 'large' | boolean;
|
|
11
|
-
columnGap?: 'small' | 'medium' | 'large' | boolean;
|
|
10
|
+
rowGap?: 'x-small' | 'small' | 'medium' | 'large' | boolean;
|
|
11
|
+
columnGap?: 'x-small' | 'small' | 'medium' | 'large' | boolean;
|
|
12
12
|
};
|
|
13
13
|
export type AllProps = BasicProps & SpaceAllProps;
|
|
14
14
|
declare function GridContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","GridContainer","props","columns","rowGap","columnGap","style","className","children","element","rest","styleObj","compute","n","unsetClasses","prop","disableClass","replace","cn","classnames","createElement","_supportsSpacingProps","_default","exports","result","small","medium","large","media","_columns"],"sources":["../../../../src/components/grid/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceAllProps } from '../space/Space'\n\nexport type Columns = number\n\nexport type Media = {\n small?: Columns | false\n medium?: Columns | false\n large?: Columns | false\n}\n\nexport type BasicProps = {\n columns?: Media | Columns\n rowGap?: 'small' | 'medium' | 'large' | boolean\n columnGap?: 'small' | 'medium' | 'large' | boolean\n}\n\nexport type AllProps = BasicProps & SpaceAllProps\n\nfunction GridContainer(props: AllProps) {\n const {\n columns,\n rowGap,\n columnGap,\n style,\n className,\n children,\n element = 'div',\n ...rest\n } = props\n\n const styleObj = {\n ...compute(columns),\n ...style,\n }\n\n const n = 'dnb-grid-container'\n\n const unsetClasses = []\n for (const prop in styleObj) {\n if (styleObj[prop] === 'unset') {\n const disableClass = `${n}__disabled--${prop.replace(\n /--([a-z]+)-.*/,\n '$1'\n )}`\n unsetClasses.push(disableClass)\n }\n }\n\n const cn = classnames(\n n,\n className,\n columnGap &&\n `${n}--column-gap-${columnGap === true ? 'small' : columnGap}`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n unsetClasses\n )\n\n return (\n <Space element={element} className={cn} style={styleObj} {...rest}>\n {children}\n </Space>\n )\n}\n\nGridContainer._supportsSpacingProps = true\n\nexport default GridContainer\n\nfunction compute(columns) {\n if (!columns) {\n return null\n }\n\n const result = {}\n\n if (typeof columns === 'number') {\n columns = {\n small: columns,\n medium: columns,\n large: columns,\n }\n }\n\n for (const media in columns) {\n const value = columns?.[media]\n result[`--${media}-columns`] = value || 'unset'\n }\n\n return result\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Container.js","names":["_react","_interopRequireDefault","require","_classnames","_Space","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","GridContainer","props","columns","rowGap","columnGap","style","className","children","element","rest","styleObj","compute","n","unsetClasses","prop","disableClass","replace","cn","classnames","createElement","_supportsSpacingProps","_default","exports","result","small","medium","large","media","_columns"],"sources":["../../../../src/components/grid/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceAllProps } from '../space/Space'\n\nexport type Columns = number\n\nexport type Media = {\n small?: Columns | false\n medium?: Columns | false\n large?: Columns | false\n}\n\nexport type BasicProps = {\n columns?: Media | Columns\n rowGap?: 'x-small' | 'small' | 'medium' | 'large' | boolean\n columnGap?: 'x-small' | 'small' | 'medium' | 'large' | boolean\n}\n\nexport type AllProps = BasicProps & SpaceAllProps\n\nfunction GridContainer(props: AllProps) {\n const {\n columns,\n rowGap,\n columnGap,\n style,\n className,\n children,\n element = 'div',\n ...rest\n } = props\n\n const styleObj = {\n ...compute(columns),\n ...style,\n }\n\n const n = 'dnb-grid-container'\n\n const unsetClasses = []\n for (const prop in styleObj) {\n if (styleObj[prop] === 'unset') {\n const disableClass = `${n}__disabled--${prop.replace(\n /--([a-z]+)-.*/,\n '$1'\n )}`\n unsetClasses.push(disableClass)\n }\n }\n\n const cn = classnames(\n n,\n className,\n columnGap &&\n `${n}--column-gap-${columnGap === true ? 'small' : columnGap}`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n unsetClasses\n )\n\n return (\n <Space element={element} className={cn} style={styleObj} {...rest}>\n {children}\n </Space>\n )\n}\n\nGridContainer._supportsSpacingProps = true\n\nexport default GridContainer\n\nfunction compute(columns) {\n if (!columns) {\n return null\n }\n\n const result = {}\n\n if (typeof columns === 'number') {\n columns = {\n small: columns,\n medium: columns,\n large: columns,\n }\n }\n\n for (const media in columns) {\n const value = columns?.[media]\n result[`--${media}-columns`] = value || 'unset'\n }\n\n return result\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GridContainerProperties = void 0;
|
|
7
|
+
const GridContainerProperties = {
|
|
8
|
+
columns: {
|
|
9
|
+
doc: 'Define how many columns your layout should be divided in. Can be just a number `columns={12}` or an object with media query sizes like `columns={{ small: 4, medium: 6, large: 12 }}` (default values). You can also disabled CSS Grid by providing `false` for one size, like so `columns={{ small: 4, medium: false, large: 12 }}`.',
|
|
10
|
+
type: ['number', 'object'],
|
|
11
|
+
status: 'optional'
|
|
12
|
+
},
|
|
13
|
+
rowGap: {
|
|
14
|
+
doc: 'Defines how much the gap between rows should be. Can be `large`, `medium`, `small`, `x-small` or `false` for no gap. Defaults to `false`.',
|
|
15
|
+
type: ['string', 'false'],
|
|
16
|
+
status: 'optional'
|
|
17
|
+
},
|
|
18
|
+
columnsGap: {
|
|
19
|
+
doc: 'Defines how much the gap between columns should be. Can be `large`, `medium`, `small`, `x-small` or `false` for no gap. Defaults to `false`.',
|
|
20
|
+
type: ['string', 'false'],
|
|
21
|
+
status: 'optional'
|
|
22
|
+
},
|
|
23
|
+
element: {
|
|
24
|
+
doc: 'Define the type of element. Defaults to `div`.',
|
|
25
|
+
type: ['string', 'React.Element'],
|
|
26
|
+
status: 'optional'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.GridContainerProperties = GridContainerProperties;
|
|
30
|
+
//# sourceMappingURL=ContainerDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerDocs.js","names":["GridContainerProperties","columns","doc","type","status","rowGap","columnsGap","element","exports"],"sources":["../../../../src/components/grid/ContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const GridContainerProperties: PropertiesTableProps = {\n columns: {\n doc: 'Define how many columns your layout should be divided in. Can be just a number `columns={12}` or an object with media query sizes like `columns={{ small: 4, medium: 6, large: 12 }}` (default values). You can also disabled CSS Grid by providing `false` for one size, like so `columns={{ small: 4, medium: false, large: 12 }}`.',\n type: ['number', 'object'],\n status: 'optional',\n },\n rowGap: {\n doc: 'Defines how much the gap between rows should be. Can be `large`, `medium`, `small`, `x-small` or `false` for no gap. Defaults to `false`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n columnsGap: {\n doc: 'Defines how much the gap between columns should be. Can be `large`, `medium`, `small`, `x-small` or `false` for no gap. Defaults to `false`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`.',\n type: ['string', 'React.Element'],\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,uBAA6C,GAAG;EAC3DC,OAAO,EAAE;IACPC,GAAG,EAAE,uUAAuU;IAC5UC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNH,GAAG,EAAE,2IAA2I;IAChJC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,8IAA8I;IACnJC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;IACjCC,MAAM,EAAE;EACV;AACF,CAAC;AAAAI,OAAA,CAAAR,uBAAA,GAAAA,uBAAA"}
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
column-gap: var(--column-gap, 0);
|
|
11
11
|
--grid-columns: var(--small-columns, 4);
|
|
12
12
|
}
|
|
13
|
+
.dnb-grid-container--row-gap-x-small {
|
|
14
|
+
--row-gap: var(--spacing-x-small);
|
|
15
|
+
}
|
|
13
16
|
.dnb-grid-container--row-gap-small {
|
|
14
17
|
--row-gap: var(--spacing-small);
|
|
15
18
|
}
|
|
@@ -19,6 +22,9 @@
|
|
|
19
22
|
.dnb-grid-container--row-gap-large {
|
|
20
23
|
--row-gap: var(--spacing-large);
|
|
21
24
|
}
|
|
25
|
+
.dnb-grid-container--column-gap-x-small {
|
|
26
|
+
--column-gap: var(--spacing-x-small);
|
|
27
|
+
}
|
|
22
28
|
.dnb-grid-container--column-gap-small {
|
|
23
29
|
--column-gap: var(--spacing-small);
|
|
24
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-grid-container{--grid-columns:var(--small-columns,4);-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:grid;grid-auto-flow:dense;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));row-gap:var(--row-gap,0)}.dnb-grid-container--row-gap-small{--row-gap:var(--spacing-small)}.dnb-grid-container--row-gap-medium{--row-gap:var(--spacing-medium)}.dnb-grid-container--row-gap-large{--row-gap:var(--spacing-large)}.dnb-grid-container--column-gap-small{--column-gap:var(--spacing-small)}.dnb-grid-container--column-gap-medium{--column-gap:var(--spacing-medium)}.dnb-grid-container--column-gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:40em){.dnb-grid-container{--grid-columns:var(--medium-columns,6)}}@media screen and (min-width:60em){.dnb-grid-container{--grid-columns:var(--large-columns,12)}}@media screen and (max-width:60em){.dnb-grid-container__disabled--small{display:unset}}@media screen and (min-width:40em) and (max-width:60em){.dnb-grid-container__disabled--medium{display:unset}}@media screen and (min-width:72em){.dnb-grid-container{--grid-columns:var(--large-columns,12)}.dnb-grid-container__disabled--large{display:unset}}.dnb-grid-item{--start-c:var(--small-c-s,1);--end-c:var(--small-c-e,calc(var(--grid-columns) + 1));grid-column:var(--start-c)/var(--end-c)}@media screen and (min-width:40em){.dnb-grid-item{--start-c:var(--medium-c-s,1);--end-c:var(--medium-c-e,calc(var(--grid-columns) + 1))}}@media screen and (min-width:60em){.dnb-grid-item{--start-c:var(--large-c-s,1);--end-c:var(--large-c-e,calc(var(--grid-columns) + 1))}}.dnb-grid-item--full-width{--start-c:0;--end-c:var(--grid-columns)}
|
|
1
|
+
.dnb-grid-container{--grid-columns:var(--small-columns,4);-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:grid;grid-auto-flow:dense;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));row-gap:var(--row-gap,0)}.dnb-grid-container--row-gap-x-small{--row-gap:var(--spacing-x-small)}.dnb-grid-container--row-gap-small{--row-gap:var(--spacing-small)}.dnb-grid-container--row-gap-medium{--row-gap:var(--spacing-medium)}.dnb-grid-container--row-gap-large{--row-gap:var(--spacing-large)}.dnb-grid-container--column-gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-grid-container--column-gap-small{--column-gap:var(--spacing-small)}.dnb-grid-container--column-gap-medium{--column-gap:var(--spacing-medium)}.dnb-grid-container--column-gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:40em){.dnb-grid-container{--grid-columns:var(--medium-columns,6)}}@media screen and (min-width:60em){.dnb-grid-container{--grid-columns:var(--large-columns,12)}}@media screen and (max-width:60em){.dnb-grid-container__disabled--small{display:unset}}@media screen and (min-width:40em) and (max-width:60em){.dnb-grid-container__disabled--medium{display:unset}}@media screen and (min-width:72em){.dnb-grid-container{--grid-columns:var(--large-columns,12)}.dnb-grid-container__disabled--large{display:unset}}.dnb-grid-item{--start-c:var(--small-c-s,1);--end-c:var(--small-c-e,calc(var(--grid-columns) + 1));grid-column:var(--start-c)/var(--end-c)}@media screen and (min-width:40em){.dnb-grid-item{--start-c:var(--medium-c-s,1);--end-c:var(--medium-c-e,calc(var(--grid-columns) + 1))}}@media screen and (min-width:60em){.dnb-grid-item{--start-c:var(--large-c-s,1);--end-c:var(--large-c-e,calc(var(--grid-columns) + 1))}}.dnb-grid-item--full-width{--start-c:0;--end-c:var(--grid-columns)}
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
row-gap: var(--row-gap, 0);
|
|
8
8
|
column-gap: var(--column-gap, 0);
|
|
9
9
|
|
|
10
|
+
&--row-gap-x-small {
|
|
11
|
+
--row-gap: var(--spacing-x-small);
|
|
12
|
+
}
|
|
10
13
|
&--row-gap-small {
|
|
11
14
|
--row-gap: var(--spacing-small);
|
|
12
15
|
}
|
|
@@ -17,6 +20,9 @@
|
|
|
17
20
|
--row-gap: var(--spacing-large);
|
|
18
21
|
}
|
|
19
22
|
|
|
23
|
+
&--column-gap-x-small {
|
|
24
|
+
--column-gap: var(--spacing-x-small);
|
|
25
|
+
}
|
|
20
26
|
&--column-gap-small {
|
|
21
27
|
--column-gap: var(--spacing-small);
|
|
22
28
|
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SliderProperties = exports.SliderEvents = void 0;
|
|
7
|
+
const SliderProperties = {
|
|
8
|
+
value: {
|
|
9
|
+
doc: 'The `value` of the slider as a number or an array. If an array with numbers is provided, each number will represent a thumb button (the `+` and `-` button will be hidden on multiple thumbs).',
|
|
10
|
+
type: ['number', 'Array<number>'],
|
|
11
|
+
status: 'required'
|
|
12
|
+
},
|
|
13
|
+
min: {
|
|
14
|
+
doc: 'The minimum value. Can be a negative number as well. Defaults to `0`.',
|
|
15
|
+
type: 'number',
|
|
16
|
+
status: 'optional'
|
|
17
|
+
},
|
|
18
|
+
max: {
|
|
19
|
+
doc: 'The maximum value. Defaults to `100`.',
|
|
20
|
+
type: 'number',
|
|
21
|
+
status: 'optional'
|
|
22
|
+
},
|
|
23
|
+
step: {
|
|
24
|
+
doc: 'The steps the slider takes on changing the value. Defaults to `null`.',
|
|
25
|
+
type: 'number',
|
|
26
|
+
status: 'optional'
|
|
27
|
+
},
|
|
28
|
+
vertical: {
|
|
29
|
+
doc: 'Show the slider vertically. Defaults to `false`.',
|
|
30
|
+
type: 'boolean',
|
|
31
|
+
status: 'optional'
|
|
32
|
+
},
|
|
33
|
+
reverse: {
|
|
34
|
+
doc: 'Show the slider reversed. Defaults to `false`.',
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
status: 'optional'
|
|
37
|
+
},
|
|
38
|
+
stretch: {
|
|
39
|
+
doc: 'If set to `true`, then the slider will be 100% in `width`.',
|
|
40
|
+
type: 'boolean',
|
|
41
|
+
status: 'optional'
|
|
42
|
+
},
|
|
43
|
+
hideButtons: {
|
|
44
|
+
doc: 'Removes the helper buttons. Defaults to `false`.',
|
|
45
|
+
type: 'boolean',
|
|
46
|
+
status: 'optional'
|
|
47
|
+
},
|
|
48
|
+
multiThumbBehavior: {
|
|
49
|
+
doc: 'Use either `omit`, `push` or `swap`. This property only works for two (range) or more thumb buttons, while `omit` will stop the thumb from swapping, `push` will push its nearest thumb along. Defaults to `swap`.',
|
|
50
|
+
type: 'string',
|
|
51
|
+
status: 'optional'
|
|
52
|
+
},
|
|
53
|
+
thumbTitle: {
|
|
54
|
+
doc: 'Give the slider thumb button a title for accessibility reasons. Defaults to `null`.',
|
|
55
|
+
type: 'string',
|
|
56
|
+
status: 'optional'
|
|
57
|
+
},
|
|
58
|
+
subtractTitle: {
|
|
59
|
+
doc: 'Give the subtract button a title for accessibility reasons. Defaults to `−`.',
|
|
60
|
+
type: 'string',
|
|
61
|
+
status: 'optional'
|
|
62
|
+
},
|
|
63
|
+
addTitle: {
|
|
64
|
+
doc: 'Give the add button a title for accessibility reasons. Defaults to `+`.',
|
|
65
|
+
type: 'string',
|
|
66
|
+
status: 'optional'
|
|
67
|
+
},
|
|
68
|
+
numberFormat: {
|
|
69
|
+
doc: 'Will extend the return object with a `number` property (from `onChange` event). You can use all the options from the [NumberFormat](/uilib/components/number-format/properties) component. It also will use that formatted number in the increase/decrease buttons. If it has to represent a currency, then use e.g. `numberFormat={{ currency: true, decimals: 0 }}`',
|
|
70
|
+
type: 'object',
|
|
71
|
+
status: 'optional'
|
|
72
|
+
},
|
|
73
|
+
tooltip: {
|
|
74
|
+
doc: 'Use `true` to show a tooltip on `mouseOver`, `touchStart` and `focus`, showing the current number (if `numberFormat` is given) or the raw value.',
|
|
75
|
+
type: 'boolean',
|
|
76
|
+
status: 'optional'
|
|
77
|
+
},
|
|
78
|
+
alwaysShowTooltip: {
|
|
79
|
+
doc: 'Use `true` to always show the tooltip, in addition to the `tooltip` property.',
|
|
80
|
+
type: 'boolean',
|
|
81
|
+
status: 'optional'
|
|
82
|
+
},
|
|
83
|
+
label: {
|
|
84
|
+
doc: 'Prepends the Form Label component. If no ID is provided, a random ID is created.',
|
|
85
|
+
type: 'string',
|
|
86
|
+
status: 'optional'
|
|
87
|
+
},
|
|
88
|
+
labelDirection: {
|
|
89
|
+
doc: 'Use `labelDirection="vertical"` to change the label layout direction. Defaults to `horizontal`.',
|
|
90
|
+
type: 'string',
|
|
91
|
+
status: 'optional'
|
|
92
|
+
},
|
|
93
|
+
labelSrOnly: {
|
|
94
|
+
doc: 'Use `true` to make the label only readable by screen readers.',
|
|
95
|
+
type: 'boolean',
|
|
96
|
+
status: 'optional'
|
|
97
|
+
},
|
|
98
|
+
status: {
|
|
99
|
+
doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',
|
|
100
|
+
type: 'string',
|
|
101
|
+
status: 'optional'
|
|
102
|
+
},
|
|
103
|
+
statusState: {
|
|
104
|
+
doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',
|
|
105
|
+
type: 'string',
|
|
106
|
+
status: 'optional'
|
|
107
|
+
},
|
|
108
|
+
statusProps: {
|
|
109
|
+
doc: 'Use an object to define additional FormStatus properties.',
|
|
110
|
+
type: 'object',
|
|
111
|
+
status: 'optional'
|
|
112
|
+
},
|
|
113
|
+
globalStatusId: {
|
|
114
|
+
doc: 'The `status_id` used for the target [GlobalStatus](/uilib/components/global-status).',
|
|
115
|
+
type: 'string',
|
|
116
|
+
status: 'optional'
|
|
117
|
+
},
|
|
118
|
+
suffix: {
|
|
119
|
+
doc: 'Text describing the content of the Slider more than the label. You can also send in a React component, so it gets wrapped inside the Slider component.',
|
|
120
|
+
type: 'string',
|
|
121
|
+
status: 'optional'
|
|
122
|
+
},
|
|
123
|
+
skeleton: {
|
|
124
|
+
doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
|
|
125
|
+
type: 'boolean',
|
|
126
|
+
status: 'optional'
|
|
127
|
+
},
|
|
128
|
+
extensions: {
|
|
129
|
+
doc: 'Makes it possible to display overlays with other functionality such as a marker on the slider marking a given value.',
|
|
130
|
+
type: 'object',
|
|
131
|
+
status: 'optional'
|
|
132
|
+
},
|
|
133
|
+
'[Space](/uilib/layout/space/properties)': {
|
|
134
|
+
doc: 'Spacing properties like `top` or `bottom` are supported.',
|
|
135
|
+
type: ['string', 'object'],
|
|
136
|
+
status: 'optional'
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
exports.SliderProperties = SliderProperties;
|
|
140
|
+
const SliderEvents = {
|
|
141
|
+
onChange: {
|
|
142
|
+
doc: 'will be called on state changes made by the user. The callback `value` and `rawValue` is a number `{ value, rawValue, event }`. But if the prop `numberFormat` is given, then it will return an additional `number` with the given format `{ value, number, rawValue, event }`.',
|
|
143
|
+
type: 'function',
|
|
144
|
+
status: 'optional'
|
|
145
|
+
},
|
|
146
|
+
onDragStart: {
|
|
147
|
+
doc: 'will be called once the user stops dragging. Returns `{ event }`.',
|
|
148
|
+
type: 'function',
|
|
149
|
+
status: 'optional'
|
|
150
|
+
},
|
|
151
|
+
onDragEnd: {
|
|
152
|
+
doc: 'will be called once the user starts dragging. Returns `{ event }`.',
|
|
153
|
+
type: 'function',
|
|
154
|
+
status: 'optional'
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
exports.SliderEvents = SliderEvents;
|
|
158
|
+
//# sourceMappingURL=SliderDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderDocs.js","names":["SliderProperties","value","doc","type","status","min","max","step","vertical","reverse","stretch","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","label","labelDirection","labelSrOnly","statusState","statusProps","globalStatusId","suffix","skeleton","extensions","exports","SliderEvents","onChange","onDragStart","onDragEnd"],"sources":["../../../../src/components/slider/SliderDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const SliderProperties: PropertiesTableProps = {\n value: {\n doc: 'The `value` of the slider as a number or an array. If an array with numbers is provided, each number will represent a thumb button (the `+` and `-` button will be hidden on multiple thumbs).',\n type: ['number', 'Array<number>'],\n status: 'required',\n },\n min: {\n doc: 'The minimum value. Can be a negative number as well. Defaults to `0`.',\n type: 'number',\n status: 'optional',\n },\n max: {\n doc: 'The maximum value. Defaults to `100`.',\n type: 'number',\n status: 'optional',\n },\n step: {\n doc: 'The steps the slider takes on changing the value. Defaults to `null`.',\n type: 'number',\n status: 'optional',\n },\n vertical: {\n doc: 'Show the slider vertically. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n reverse: {\n doc: 'Show the slider reversed. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stretch: {\n doc: 'If set to `true`, then the slider will be 100% in `width`.',\n type: 'boolean',\n status: 'optional',\n },\n hideButtons: {\n doc: 'Removes the helper buttons. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n multiThumbBehavior: {\n doc: 'Use either `omit`, `push` or `swap`. This property only works for two (range) or more thumb buttons, while `omit` will stop the thumb from swapping, `push` will push its nearest thumb along. Defaults to `swap`.',\n type: 'string',\n status: 'optional',\n },\n thumbTitle: {\n doc: 'Give the slider thumb button a title for accessibility reasons. Defaults to `null`.',\n type: 'string',\n status: 'optional',\n },\n subtractTitle: {\n doc: 'Give the subtract button a title for accessibility reasons. Defaults to `−`.',\n type: 'string',\n status: 'optional',\n },\n addTitle: {\n doc: 'Give the add button a title for accessibility reasons. Defaults to `+`.',\n type: 'string',\n status: 'optional',\n },\n numberFormat: {\n doc: 'Will extend the return object with a `number` property (from `onChange` event). You can use all the options from the [NumberFormat](/uilib/components/number-format/properties) component. It also will use that formatted number in the increase/decrease buttons. If it has to represent a currency, then use e.g. `numberFormat={{ currency: true, decimals: 0 }}`',\n type: 'object',\n status: 'optional',\n },\n tooltip: {\n doc: 'Use `true` to show a tooltip on `mouseOver`, `touchStart` and `focus`, showing the current number (if `numberFormat` is given) or the raw value.',\n type: 'boolean',\n status: 'optional',\n },\n alwaysShowTooltip: {\n doc: 'Use `true` to always show the tooltip, in addition to the `tooltip` property.',\n type: 'boolean',\n status: 'optional',\n },\n label: {\n doc: 'Prepends the Form Label component. If no ID is provided, a random ID is created.',\n type: 'string',\n status: 'optional',\n },\n labelDirection: {\n doc: 'Use `labelDirection=\"vertical\"` to change the label layout direction. Defaults to `horizontal`.',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: 'string',\n status: 'optional',\n },\n statusState: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: 'string',\n status: 'optional',\n },\n statusProps: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n globalStatusId: {\n doc: 'The `status_id` used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'string',\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the Slider more than the label. You can also send in a React component, so it gets wrapped inside the Slider component.',\n type: 'string',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n extensions: {\n doc: 'Makes it possible to display overlays with other functionality such as a marker on the slider marking a given value.',\n type: 'object',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const SliderEvents: PropertiesTableProps = {\n onChange: {\n doc: 'will be called on state changes made by the user. The callback `value` and `rawValue` is a number `{ value, rawValue, event }`. But if the prop `numberFormat` is given, then it will return an additional `number` with the given format `{ value, number, rawValue, event }`.',\n type: 'function',\n status: 'optional',\n },\n onDragStart: {\n doc: 'will be called once the user stops dragging. Returns `{ event }`.',\n type: 'function',\n status: 'optional',\n },\n onDragEnd: {\n doc: 'will be called once the user starts dragging. Returns `{ event }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Ajv } from '../utils/ajv';
|
|
3
|
-
import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError } from '../types';
|
|
3
|
+
import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps } from '../types';
|
|
4
4
|
import { Props as ProviderProps } from './Provider';
|
|
5
5
|
type HandleSubmitProps = {
|
|
6
6
|
formElement?: HTMLFormElement;
|
|
@@ -45,17 +45,14 @@ export interface ContextState {
|
|
|
45
45
|
validateData: () => void;
|
|
46
46
|
handleSubmit: (props?: HandleSubmitProps) => any;
|
|
47
47
|
scrollToTop: () => void;
|
|
48
|
-
showAllErrors: boolean;
|
|
49
48
|
setShowAllErrors: (showAllErrors: boolean) => void;
|
|
50
49
|
hasErrors: () => boolean;
|
|
51
50
|
hasFieldState: (state: SubmitState) => boolean;
|
|
52
51
|
hasFieldError: (path: Path) => boolean;
|
|
53
52
|
setFieldState: (path: Path, fieldState: SubmitState) => void;
|
|
54
53
|
setFieldError: (path: Path, error: Error | FormError) => void;
|
|
55
|
-
fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
|
|
56
54
|
handleMountField: (path: Path) => void;
|
|
57
55
|
handleUnMountField: (path: Path) => void;
|
|
58
|
-
formState: SubmitState;
|
|
59
56
|
setFormState?: (state: SubmitState) => void;
|
|
60
57
|
setSubmitState?: (state: EventStateObject) => void;
|
|
61
58
|
handleSubmitCall: ({ onSubmit, enableAsyncBehaviour, skipFieldValidation, skipErrorCheck, }: {
|
|
@@ -65,7 +62,12 @@ export interface ContextState {
|
|
|
65
62
|
skipErrorCheck?: boolean;
|
|
66
63
|
}) => void;
|
|
67
64
|
setFieldEventListener: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
|
|
68
|
-
|
|
65
|
+
setFieldProps?: (path: Path, props: any) => void;
|
|
66
|
+
setValueProps?: (path: Path, props: any) => void;
|
|
67
|
+
fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
|
|
68
|
+
valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
|
|
69
|
+
showAllErrors: boolean;
|
|
70
|
+
formState: SubmitState;
|
|
69
71
|
ajvInstance: Ajv;
|
|
70
72
|
contextErrorMessages: CustomErrorMessagesWithPaths;
|
|
71
73
|
schema: AllJSONSchemaVersions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","
|
|
1
|
+
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path: Path\n type: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setFieldProps?: (path: Path, props: any) => void\n setValueProps?: (path: Path, props: any) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n showAllErrors: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA8H5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAEX,SAAS;EACpBY,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAE1B,SAAS;EAC/B2B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAhC,mBAAA,GAAAA,mBAAA;AAED,MAAMiC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAenC,mBAAmB,CAAC;AAAA,IAAAoC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAjC,OAAA,GAAAqC,QAAA"}
|