@dnb/eufemia 10.62.4 → 10.63.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 +52 -0
- package/cjs/components/accordion/Accordion.d.ts +1 -125
- package/cjs/components/accordion/Accordion.js +0 -1
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +3 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/button/Button.d.ts +3 -6
- package/cjs/components/button/Button.js +8 -18
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/button/ButtonDocs.d.ts +2 -0
- package/cjs/components/button/ButtonDocs.js +135 -0
- package/cjs/components/button/ButtonDocs.js.map +1 -0
- package/cjs/components/date-picker/DatePicker.d.ts +4 -0
- package/cjs/components/date-picker/DatePicker.js +24 -10
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +5 -0
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerPortal.d.ts +9 -0
- package/cjs/components/date-picker/DatePickerPortal.js +61 -0
- package/cjs/components/date-picker/DatePickerPortal.js.map +1 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +64 -55
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.scss +90 -75
- package/cjs/components/form-row/FormRow.js +2 -7
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +3 -3
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-status/FormStatus.js +17 -19
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/cjs/components/height-animation/HeightAnimationInstance.js +26 -1
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +1 -1
- package/cjs/components/input-masked/InputMasked.js +2 -2
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/pagination/Pagination.d.ts +12 -0
- package/cjs/components/pagination/Pagination.js +7 -3
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationBar.d.ts +2 -1
- package/cjs/components/pagination/PaginationBar.js +10 -3
- package/cjs/components/pagination/PaginationBar.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +3 -3
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/space/style/dnb-space.css +4 -4
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/space/style/dnb-space.scss +2 -12
- package/cjs/components/space/style/space-mixins.scss +21 -0
- package/cjs/components/tabs/Tabs.d.ts +1 -1
- package/cjs/components/tabs/Tabs.js +4 -12
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +9 -5
- package/cjs/components/toggle-button/ToggleButton.js +2 -0
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
- package/cjs/components/toggle-button/ToggleButtonDocs.js +87 -0
- package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -0
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +90 -0
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/elements/blockquote/style/blockquote-mixins.scss +5 -3
- package/cjs/elements/code/style/code-mixins.scss +2 -3
- package/cjs/elements/hr/style/hr-mixins.scss +2 -3
- package/cjs/elements/img/style/img-mixins.scss +3 -3
- package/cjs/elements/lists/style/lists-mixins.scss +3 -6
- package/cjs/elements/typography/style/typography-mixins.scss +2 -3
- package/cjs/extensions/forms/DataContext/Context.d.ts +15 -4
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -17
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +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/Date/Date.js +5 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -1
- package/cjs/extensions/forms/Field/Option/Option.js +2 -14
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +8 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +19 -12
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +4 -3
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- 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 +14 -4
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +21 -21
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +14 -38
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +17 -3
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js +27 -0
- package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
- package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js +27 -0
- package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +18 -9
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +49 -29
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -3
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +10 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
- package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js +50 -0
- package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
- package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +16 -14
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -15
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
- package/cjs/extensions/forms/Iterate/Visibility/Visibility.js +31 -0
- package/cjs/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/Visibility/index.js +27 -0
- package/cjs/extensions/forms/Iterate/Visibility/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
- package/cjs/extensions/forms/Iterate/hooks/useItemPath.js +22 -0
- package/cjs/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
- package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/index.js +7 -0
- package/cjs/extensions/forms/Iterate/index.js.map +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js +15 -9
- package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js +11 -7
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Tools/Log.js +2 -1
- package/cjs/extensions/forms/Tools/Log.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/Selection/Selection.js +5 -5
- package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +25 -7
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -2
- package/cjs/extensions/forms/hooks/useDataValue.js +5 -9
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -2
- package/cjs/extensions/forms/hooks/useFieldProps.js +164 -76
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +5 -5
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +9 -4
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +33 -6
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +8 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +3 -12
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/cjs/fragments/drawer-list/DrawerList.js +33 -47
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListDocs.js +3 -3
- package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/cjs/shared/AlignmentHelper.js +0 -4
- package/cjs/shared/AlignmentHelper.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js +2 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +3 -12
- 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 +90 -76
- package/cjs/style/dnb-ui-components.min.css +4 -4
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +151 -31
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +9 -4
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +9 -4
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +1 -1
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +151 -31
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +99 -80
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +151 -31
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +9 -4
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +9 -4
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +100 -19
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/Accordion.d.ts +1 -125
- package/components/accordion/Accordion.js +0 -1
- package/components/accordion/Accordion.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +3 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/button/Button.d.ts +3 -6
- package/components/button/Button.js +8 -18
- package/components/button/Button.js.map +1 -1
- package/components/button/ButtonDocs.d.ts +2 -0
- package/components/button/ButtonDocs.js +128 -0
- package/components/button/ButtonDocs.js.map +1 -0
- package/components/date-picker/DatePicker.d.ts +4 -0
- package/components/date-picker/DatePicker.js +25 -11
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +5 -0
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerPortal.d.ts +9 -0
- package/components/date-picker/DatePickerPortal.js +53 -0
- package/components/date-picker/DatePickerPortal.js.map +1 -0
- package/components/date-picker/style/dnb-date-picker.css +64 -55
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/date-picker/style/dnb-date-picker.scss +90 -75
- package/components/form-row/FormRow.js +2 -7
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-row/style/dnb-form-row.css +3 -3
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-status/FormStatus.js +17 -19
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/components/height-animation/HeightAnimationInstance.js +26 -1
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +1 -1
- package/components/input-masked/InputMasked.js +2 -2
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.js +1 -1
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +1 -1
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +3 -3
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/pagination/Pagination.d.ts +12 -0
- package/components/pagination/Pagination.js +7 -3
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationBar.d.ts +2 -1
- package/components/pagination/PaginationBar.js +10 -3
- package/components/pagination/PaginationBar.js.map +1 -1
- package/components/radio/style/dnb-radio.css +3 -3
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/space/style/dnb-space.css +4 -4
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/space/style/dnb-space.scss +2 -12
- package/components/space/style/space-mixins.scss +21 -0
- package/components/tabs/Tabs.d.ts +1 -1
- package/components/tabs/Tabs.js +4 -12
- package/components/tabs/Tabs.js.map +1 -1
- package/components/toggle-button/ToggleButton.d.ts +9 -5
- package/components/toggle-button/ToggleButton.js +2 -0
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
- package/components/toggle-button/ToggleButtonDocs.js +80 -0
- package/components/toggle-button/ToggleButtonDocs.js.map +1 -0
- package/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
- package/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
- package/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
- package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
- package/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/elements/blockquote/style/blockquote-mixins.scss +5 -3
- package/elements/code/style/code-mixins.scss +2 -3
- package/elements/hr/style/hr-mixins.scss +2 -3
- package/elements/img/style/img-mixins.scss +3 -3
- package/elements/lists/style/lists-mixins.scss +3 -6
- package/elements/typography/style/typography-mixins.scss +2 -3
- package/es/components/accordion/Accordion.d.ts +1 -125
- package/es/components/accordion/Accordion.js +0 -1
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +3 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/button/Button.d.ts +3 -6
- package/es/components/button/Button.js +8 -18
- package/es/components/button/Button.js.map +1 -1
- package/es/components/button/ButtonDocs.d.ts +2 -0
- package/es/components/button/ButtonDocs.js +128 -0
- package/es/components/button/ButtonDocs.js.map +1 -0
- package/es/components/date-picker/DatePicker.d.ts +4 -0
- package/es/components/date-picker/DatePicker.js +25 -11
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +5 -0
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerPortal.d.ts +9 -0
- package/es/components/date-picker/DatePickerPortal.js +52 -0
- package/es/components/date-picker/DatePickerPortal.js.map +1 -0
- package/es/components/date-picker/style/dnb-date-picker.css +64 -55
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.scss +90 -75
- package/es/components/form-row/FormRow.js +2 -7
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.css +3 -3
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-status/FormStatus.js +17 -19
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/es/components/height-animation/HeightAnimationInstance.js +26 -1
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +1 -1
- package/es/components/input-masked/InputMasked.js +2 -2
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +1 -1
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +1 -1
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +3 -3
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/pagination/Pagination.d.ts +12 -0
- package/es/components/pagination/Pagination.js +7 -3
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationBar.d.ts +2 -1
- package/es/components/pagination/PaginationBar.js +10 -3
- package/es/components/pagination/PaginationBar.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +3 -3
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/space/style/dnb-space.css +4 -4
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/space/style/dnb-space.scss +2 -12
- package/es/components/space/style/space-mixins.scss +21 -0
- package/es/components/tabs/Tabs.d.ts +1 -1
- package/es/components/tabs/Tabs.js +4 -12
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +9 -5
- package/es/components/toggle-button/ToggleButton.js +2 -0
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
- package/es/components/toggle-button/ToggleButtonDocs.js +80 -0
- package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -0
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
- package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
- package/es/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
- package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
- package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/elements/blockquote/style/blockquote-mixins.scss +5 -3
- package/es/elements/code/style/code-mixins.scss +2 -3
- package/es/elements/hr/style/hr-mixins.scss +2 -3
- package/es/elements/img/style/img-mixins.scss +3 -3
- package/es/elements/lists/style/lists-mixins.scss +3 -6
- package/es/elements/typography/style/typography-mixins.scss +2 -3
- package/es/extensions/forms/DataContext/Context.d.ts +15 -4
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +27 -16
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +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/Date/Date.js +5 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +4 -3
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +2 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -1
- package/es/extensions/forms/Field/Option/Option.js +2 -12
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +8 -1
- package/es/extensions/forms/Field/Selection/Selection.js +22 -14
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.js +4 -3
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- 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 +14 -4
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +21 -20
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -38
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +17 -3
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
- package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
- package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
- package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
- package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +18 -9
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +47 -28
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +8 -3
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
- package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js +41 -0
- package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
- package/es/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
- package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/es/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
- package/es/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
- package/es/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
- package/es/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/Visibility/index.js +3 -0
- package/es/extensions/forms/Iterate/Visibility/index.js.map +1 -0
- package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/es/extensions/forms/Iterate/hooks/index.js +1 -0
- package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -3
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
- package/es/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
- package/es/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -3
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
- package/es/extensions/forms/Iterate/index.d.ts +1 -0
- package/es/extensions/forms/Iterate/index.js +1 -0
- package/es/extensions/forms/Iterate/index.js.map +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js +12 -6
- package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js +9 -5
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Tools/Log.js +2 -1
- package/es/extensions/forms/Tools/Log.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/Selection/Selection.js +5 -5
- package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +26 -9
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +2 -2
- package/es/extensions/forms/hooks/useDataValue.js +4 -8
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +2 -2
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -2
- package/es/extensions/forms/hooks/useFieldProps.js +163 -76
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.js +2 -2
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +5 -5
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +9 -4
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +33 -6
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.js +3 -12
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/es/fragments/drawer-list/DrawerList.js +33 -47
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListDocs.js +3 -3
- package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/es/shared/AlignmentHelper.js +0 -4
- package/es/shared/AlignmentHelper.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js +2 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +3 -12
- 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 +90 -76
- package/es/style/dnb-ui-components.min.css +4 -4
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +151 -31
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +9 -4
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +9 -4
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +1 -1
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +151 -31
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +99 -80
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-elements.css +151 -31
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +9 -4
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +9 -4
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +100 -19
- package/es/style/themes/theme-ui/ui-theme-tags.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 +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +15 -4
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +28 -17
- package/extensions/forms/DataContext/Provider/Provider.js.map +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/Date/Date.js +5 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +4 -3
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +2 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -1
- package/extensions/forms/Field/Option/Option.js +2 -13
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +8 -1
- package/extensions/forms/Field/Selection/Selection.js +19 -12
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.js +4 -3
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- 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 +14 -4
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.js +21 -21
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +14 -38
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +17 -3
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
- package/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
- package/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
- package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
- package/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
- package/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
- package/extensions/forms/Form/Visibility/Visibility.js +20 -11
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +18 -9
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +50 -30
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +8 -3
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
- package/extensions/forms/Iterate/ItemNo/useIItemNo.js +42 -0
- package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
- package/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
- package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
- package/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
- package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
- package/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
- package/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
- package/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
- package/extensions/forms/Iterate/Visibility/index.js +3 -0
- package/extensions/forms/Iterate/Visibility/index.js.map +1 -0
- package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/extensions/forms/Iterate/hooks/index.js +1 -0
- package/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
- package/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
- package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
- package/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
- package/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
- package/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
- package/extensions/forms/Iterate/index.d.ts +1 -0
- package/extensions/forms/Iterate/index.js +1 -0
- package/extensions/forms/Iterate/index.js.map +1 -1
- package/extensions/forms/Tools/GenerateSchema.js +15 -9
- package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/extensions/forms/Tools/ListAllProps.js +11 -7
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Tools/Log.js +2 -1
- package/extensions/forms/Tools/Log.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/Selection/Selection.js +5 -5
- package/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +27 -9
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
- package/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
- package/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
- package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +2 -2
- package/extensions/forms/hooks/useDataValue.js +5 -9
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +2 -2
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +8 -2
- package/extensions/forms/hooks/useFieldProps.js +164 -76
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.js +2 -2
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +5 -5
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +9 -4
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +33 -6
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
- package/extensions/payment-card/PaymentCard.js +3 -12
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +4 -2
- package/fragments/drawer-list/DrawerList.js +33 -47
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListDocs.js +3 -3
- package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
- package/package.json +1 -1
- package/shared/AlignmentHelper.js +0 -4
- package/shared/AlignmentHelper.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js +2 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +3 -12
- 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 +90 -76
- package/style/dnb-ui-components.min.css +4 -4
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +151 -31
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +9 -4
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +9 -4
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-fragments.css +1 -1
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +151 -31
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +99 -80
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/style/themes/theme-ui/ui-theme-elements.css +151 -31
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +9 -4
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +9 -4
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +100 -19
- package/style/themes/theme-ui/ui-theme-tags.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
|
@@ -65,7 +65,7 @@ export type ButtonProps = {
|
|
|
65
65
|
*/
|
|
66
66
|
text?: ButtonText;
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* The type HTML attribute. Defaults to `button` for legacy reasons.
|
|
69
69
|
*/
|
|
70
70
|
type?: string;
|
|
71
71
|
/**
|
|
@@ -81,7 +81,7 @@ export type ButtonProps = {
|
|
|
81
81
|
*/
|
|
82
82
|
size?: ButtonSize;
|
|
83
83
|
/**
|
|
84
|
-
* To be included in the button.
|
|
84
|
+
* To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.
|
|
85
85
|
*/
|
|
86
86
|
icon?: ButtonIcon;
|
|
87
87
|
/**
|
|
@@ -110,7 +110,7 @@ export type ButtonProps = {
|
|
|
110
110
|
status_props?: FormStatusProps;
|
|
111
111
|
status_no_animation?: boolean;
|
|
112
112
|
/**
|
|
113
|
-
* The
|
|
113
|
+
* The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).
|
|
114
114
|
*/
|
|
115
115
|
globalStatus?: GlobalStatusConfigObject;
|
|
116
116
|
id?: string;
|
|
@@ -155,9 +155,6 @@ export type ButtonProps = {
|
|
|
155
155
|
className?: string;
|
|
156
156
|
class?: string;
|
|
157
157
|
innerRef?: any;
|
|
158
|
-
/**
|
|
159
|
-
* The content of the button can be a string or a React Element.
|
|
160
|
-
*/
|
|
161
158
|
children?: ButtonChildren;
|
|
162
159
|
/**
|
|
163
160
|
* Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.
|
|
@@ -248,14 +248,14 @@ Button.defaultProps = {
|
|
|
248
248
|
};
|
|
249
249
|
function Content(_ref) {
|
|
250
250
|
let {
|
|
251
|
-
title,
|
|
252
|
-
content,
|
|
253
|
-
custom_content,
|
|
254
|
-
icon,
|
|
255
|
-
icon_size,
|
|
256
|
-
bounding,
|
|
257
|
-
skeleton,
|
|
258
|
-
isIconOnly
|
|
251
|
+
title = null,
|
|
252
|
+
content = null,
|
|
253
|
+
custom_content = null,
|
|
254
|
+
icon = null,
|
|
255
|
+
icon_size = 'default',
|
|
256
|
+
bounding = null,
|
|
257
|
+
skeleton = null,
|
|
258
|
+
isIconOnly = null
|
|
259
259
|
} = _ref;
|
|
260
260
|
return React.createElement(React.Fragment, null, isTrue(bounding) && (_span || (_span = React.createElement("span", {
|
|
261
261
|
key: "button-bounding",
|
|
@@ -292,16 +292,6 @@ process.env.NODE_ENV !== "production" ? Content.propTypes = {
|
|
|
292
292
|
skeleton: PropTypes.bool,
|
|
293
293
|
isIconOnly: PropTypes.bool
|
|
294
294
|
} : void 0;
|
|
295
|
-
Content.defaultProps = {
|
|
296
|
-
custom_content: null,
|
|
297
|
-
title: null,
|
|
298
|
-
content: null,
|
|
299
|
-
icon: null,
|
|
300
|
-
icon_size: 'default',
|
|
301
|
-
bounding: null,
|
|
302
|
-
skeleton: null,
|
|
303
|
-
isIconOnly: null
|
|
304
|
-
};
|
|
305
295
|
Button._formElement = true;
|
|
306
296
|
Button._supportsSpacingProps = true;
|
|
307
297
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","src","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","getOnClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n if (isIconOnly) {\n params['aria-label'] = params['aria-label'] || title\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n onClick: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.string,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","src","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","getOnClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n if (isIconOnly) {\n params['aria-label'] = params['aria-label'] || title\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n onClick: null,\n}\n\nfunction Content({\n title = null,\n content = null,\n custom_content = null,\n icon = null,\n icon_size = 'default',\n bounding = null,\n skeleton = null,\n isIconOnly = null,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.string,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
export const ButtonProperties = {
|
|
2
|
+
type: {
|
|
3
|
+
doc: 'The type HTML attribute. Defaults to `button` for legacy reasons.',
|
|
4
|
+
type: ['button', 'reset', 'submit'],
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
text: {
|
|
8
|
+
doc: 'The content of the button can be a string or a React Element.',
|
|
9
|
+
type: ['string', 'React.ReactNode'],
|
|
10
|
+
status: 'optional'
|
|
11
|
+
},
|
|
12
|
+
'aria-label': {
|
|
13
|
+
doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',
|
|
14
|
+
type: 'string',
|
|
15
|
+
status: 'optional'
|
|
16
|
+
},
|
|
17
|
+
title: {
|
|
18
|
+
doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',
|
|
19
|
+
type: 'string',
|
|
20
|
+
status: 'optional'
|
|
21
|
+
},
|
|
22
|
+
variant: {
|
|
23
|
+
doc: 'Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary` (or `secondary` if icon only).',
|
|
24
|
+
type: ['primary', 'secondary', 'tertiary', 'signal'],
|
|
25
|
+
status: 'optional'
|
|
26
|
+
},
|
|
27
|
+
size: {
|
|
28
|
+
doc: 'The size of the button. For now there is `small`, `medium`, `default` and `large`.',
|
|
29
|
+
type: ['small', 'medium', 'default', 'large'],
|
|
30
|
+
status: 'optional'
|
|
31
|
+
},
|
|
32
|
+
icon: {
|
|
33
|
+
doc: 'To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.',
|
|
34
|
+
type: ['string', 'React.ReactNode'],
|
|
35
|
+
status: 'optional'
|
|
36
|
+
},
|
|
37
|
+
icon_position: {
|
|
38
|
+
doc: 'Position of icon inside the button. Set to `left` or `right`. Tertiary button variant also supports `top`. Defaults to `right` if not set.',
|
|
39
|
+
type: ['left', 'right', 'top'],
|
|
40
|
+
status: 'optional'
|
|
41
|
+
},
|
|
42
|
+
icon_size: {
|
|
43
|
+
doc: 'Define icon width and height. Defaults to 16px.',
|
|
44
|
+
type: 'string',
|
|
45
|
+
status: 'optional'
|
|
46
|
+
},
|
|
47
|
+
href: {
|
|
48
|
+
doc: 'If you want the button to behave as a link. Use with caution! A link should normally visually be a link and not a button.',
|
|
49
|
+
type: 'string',
|
|
50
|
+
status: 'optional'
|
|
51
|
+
},
|
|
52
|
+
target: {
|
|
53
|
+
doc: 'When button behaves as a link. Used to specify where to open the linked document, specified by `href`. Possible values are `_self`, `_blank`, `_parent` and `_top`.',
|
|
54
|
+
type: ['_self', '_blank', '_parent', '_top'],
|
|
55
|
+
status: 'optional'
|
|
56
|
+
},
|
|
57
|
+
rel: {
|
|
58
|
+
doc: 'When button behaves as a link. Used to specify the relationship between a linked resource and the current document. Examples(non-exhaustive list) of values are `nofollow`, `search`, and `tag`.',
|
|
59
|
+
type: 'string',
|
|
60
|
+
status: 'optional'
|
|
61
|
+
},
|
|
62
|
+
to: {
|
|
63
|
+
doc: 'Use this property only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',
|
|
64
|
+
type: 'string',
|
|
65
|
+
status: 'optional'
|
|
66
|
+
},
|
|
67
|
+
wrap: {
|
|
68
|
+
doc: 'If set to `true` the button text will wrap in to new lines if the overflow point is reached. Defaults to `false`.',
|
|
69
|
+
type: 'boolean',
|
|
70
|
+
status: 'optional'
|
|
71
|
+
},
|
|
72
|
+
stretch: {
|
|
73
|
+
doc: 'Set it to `true` in order to stretch the button to the available space. Defaults to false.',
|
|
74
|
+
type: 'boolean',
|
|
75
|
+
status: 'optional'
|
|
76
|
+
},
|
|
77
|
+
bounding: {
|
|
78
|
+
doc: 'Set it to `true` in order to extend the bounding box (above the visual button background). You may also look into the HTML class `dnb-button__bounding` if it needs some CSS customization in order to get the particular button right for your use-case.',
|
|
79
|
+
type: 'boolean',
|
|
80
|
+
status: 'optional'
|
|
81
|
+
},
|
|
82
|
+
element: {
|
|
83
|
+
doc: 'Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.',
|
|
84
|
+
type: 'string',
|
|
85
|
+
status: 'optional'
|
|
86
|
+
},
|
|
87
|
+
custom_content: {
|
|
88
|
+
doc: 'If you need to inject completely custom markup (React Element) into the button component. You have then to handle alignment and styling by yourself.',
|
|
89
|
+
type: 'React.ReactNode',
|
|
90
|
+
status: 'optional'
|
|
91
|
+
},
|
|
92
|
+
skeleton: {
|
|
93
|
+
doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
|
|
94
|
+
type: 'boolean',
|
|
95
|
+
status: 'optional'
|
|
96
|
+
},
|
|
97
|
+
tooltip: {
|
|
98
|
+
doc: 'Provide a string or a React Element to be shown as the tooltip content.',
|
|
99
|
+
type: ['string', 'React.ReactNode'],
|
|
100
|
+
status: 'optional'
|
|
101
|
+
},
|
|
102
|
+
status: {
|
|
103
|
+
doc: 'Set it to either `status="error"` or a 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.',
|
|
104
|
+
type: ['error', 'info', 'boolean'],
|
|
105
|
+
status: 'optional'
|
|
106
|
+
},
|
|
107
|
+
status_state: {
|
|
108
|
+
doc: 'Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.',
|
|
109
|
+
type: ['error', 'info'],
|
|
110
|
+
status: 'optional'
|
|
111
|
+
},
|
|
112
|
+
status_props: {
|
|
113
|
+
doc: 'Use an object to define additional FormStatus properties.',
|
|
114
|
+
type: 'object',
|
|
115
|
+
status: 'optional'
|
|
116
|
+
},
|
|
117
|
+
globalStatus: {
|
|
118
|
+
doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',
|
|
119
|
+
type: 'object',
|
|
120
|
+
status: 'optional'
|
|
121
|
+
},
|
|
122
|
+
'[Space](/uilib/layout/space/properties)': {
|
|
123
|
+
doc: 'Spacing properties like `top` or `bottom` are supported.',
|
|
124
|
+
type: ['string', 'object'],
|
|
125
|
+
status: 'optional'
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=ButtonDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonDocs.js","names":["ButtonProperties","type","doc","status","text","title","variant","size","icon","icon_position","icon_size","href","target","rel","to","wrap","stretch","bounding","element","custom_content","skeleton","tooltip","status_state","status_props","globalStatus"],"sources":["../../../../src/components/button/ButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const ButtonProperties: PropertiesTableProps = {\n type: {\n doc: 'The type HTML attribute. Defaults to `button` for legacy reasons.',\n type: ['button', 'reset', 'submit'],\n status: 'optional',\n },\n text: {\n doc: 'The content of the button can be a string or a React Element.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n 'aria-label': {\n doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary` (or `secondary` if icon only).',\n type: ['primary', 'secondary', 'tertiary', 'signal'],\n status: 'optional',\n },\n size: {\n doc: 'The size of the button. For now there is `small`, `medium`, `default` and `large`.',\n type: ['small', 'medium', 'default', 'large'],\n status: 'optional',\n },\n icon: {\n doc: 'To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon=\"chevron_right\"`), other icons should be set as React elements.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n icon_position: {\n doc: 'Position of icon inside the button. Set to `left` or `right`. Tertiary button variant also supports `top`. Defaults to `right` if not set.',\n type: ['left', 'right', 'top'],\n status: 'optional',\n },\n icon_size: {\n doc: 'Define icon width and height. Defaults to 16px.',\n type: 'string',\n status: 'optional',\n },\n href: {\n doc: 'If you want the button to behave as a link. Use with caution! A link should normally visually be a link and not a button.',\n type: 'string',\n status: 'optional',\n },\n target: {\n doc: 'When button behaves as a link. Used to specify where to open the linked document, specified by `href`. Possible values are `_self`, `_blank`, `_parent` and `_top`.',\n type: ['_self', '_blank', '_parent', '_top'],\n status: 'optional',\n },\n rel: {\n doc: 'When button behaves as a link. Used to specify the relationship between a linked resource and the current document. Examples(non-exhaustive list) of values are `nofollow`, `search`, and `tag`.',\n type: 'string',\n status: 'optional',\n },\n to: {\n doc: 'Use this property only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',\n type: 'string',\n status: 'optional',\n },\n wrap: {\n doc: 'If set to `true` the button text will wrap in to new lines if the overflow point is reached. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stretch: {\n doc: 'Set it to `true` in order to stretch the button to the available space. Defaults to false.',\n type: 'boolean',\n status: 'optional',\n },\n bounding: {\n doc: 'Set it to `true` in order to extend the bounding box (above the visual button background). You may also look into the HTML class `dnb-button__bounding` if it needs some CSS customization in order to get the particular button right for your use-case.',\n type: 'boolean',\n status: 'optional',\n },\n element: {\n doc: 'Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.',\n type: 'string',\n status: 'optional',\n },\n custom_content: {\n doc: 'If you need to inject completely custom markup (React Element) into the button component. You have then to handle alignment and styling by yourself.',\n type: 'React.ReactNode',\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 tooltip: {\n doc: 'Provide a string or a React Element to be shown as the tooltip content.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n status: {\n doc: 'Set it to either `status=\"error\"` or a 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: ['error', 'info', 'boolean'],\n status: 'optional',\n },\n status_state: {\n doc: 'Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n status_props: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\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"],"mappings":"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"}
|
|
@@ -210,6 +210,10 @@ export type DatePickerProps = {
|
|
|
210
210
|
* Use `right` to change the calendar alignment direction. Defaults to `left`.
|
|
211
211
|
*/
|
|
212
212
|
alignPicker?: 'auto' | 'left' | 'right';
|
|
213
|
+
/**
|
|
214
|
+
* If set to `true`, the calendar will not be rendered inside a react portal. Defaults to `false`.
|
|
215
|
+
*/
|
|
216
|
+
skipPortal?: boolean;
|
|
213
217
|
className?: string;
|
|
214
218
|
/**
|
|
215
219
|
* Will be called right before every new calendar view gets rendered. See the example above.
|
|
@@ -5,10 +5,10 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
var _AlignmentHelper;
|
|
7
7
|
const _excluded = ["hidePicker"],
|
|
8
|
-
_excluded2 = ["label", "title", "labelDirection", "labelSrOnly", "onlyMonth", "hideLastWeek", "disableAutofocus", "hideNavigationButtons", "firstDay", "resetDate", "link", "sync", "inputElement", "addonElement", "shortcuts", "disabled", "stretch", "skeleton", "size", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "maskOrder", "maskPlaceholder", "submitButtonText", "cancelButtonText", "resetButtonText", "showResetButton", "className", "tooltip"];
|
|
8
|
+
_excluded2 = ["label", "title", "labelDirection", "labelSrOnly", "onlyMonth", "hideLastWeek", "disableAutofocus", "hideNavigationButtons", "firstDay", "resetDate", "link", "sync", "inputElement", "addonElement", "shortcuts", "disabled", "stretch", "skeleton", "size", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "maskOrder", "maskPlaceholder", "submitButtonText", "cancelButtonText", "resetButtonText", "showResetButton", "className", "tooltip", "skipPortal"];
|
|
9
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
-
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
11
|
+
import React, { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
12
12
|
import classnames from 'classnames';
|
|
13
13
|
import { warn, makeUniqueId, extendPropsWithContext, detectOutsideClick, getStatusState, combineDescribedBy, validateDOMAttributes } from '../../shared/component-helper';
|
|
14
14
|
import AlignmentHelper from '../../shared/AlignmentHelper';
|
|
@@ -27,6 +27,7 @@ import DatePickerFooter from './DatePickerFooter';
|
|
|
27
27
|
import { pickFormElementProps } from '../../shared/helpers/filterValidProps';
|
|
28
28
|
import { useTranslation } from '../../shared';
|
|
29
29
|
import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
|
|
30
|
+
import DatePickerPortal from './DatePickerPortal';
|
|
30
31
|
const defaultProps = {
|
|
31
32
|
maskOrder: 'dd/mm/yyyy',
|
|
32
33
|
maskPlaceholder: 'dd/mm/åååå',
|
|
@@ -51,7 +52,8 @@ const defaultProps = {
|
|
|
51
52
|
statusState: 'error',
|
|
52
53
|
opened: false,
|
|
53
54
|
noAnimation: false,
|
|
54
|
-
direction: 'auto'
|
|
55
|
+
direction: 'auto',
|
|
56
|
+
skipPortal: false
|
|
55
57
|
};
|
|
56
58
|
function DatePicker(externalProps) {
|
|
57
59
|
const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
|
|
@@ -85,6 +87,7 @@ function DatePicker(externalProps) {
|
|
|
85
87
|
const getReturnObject = useRef();
|
|
86
88
|
const hideTimeout = useRef();
|
|
87
89
|
const outsideClick = useRef();
|
|
90
|
+
const calendarContainerRef = useRef();
|
|
88
91
|
const translation = useTranslation().DatePicker;
|
|
89
92
|
if (endDateProp && !range) {
|
|
90
93
|
warn(`The DatePicker got a "endDate". You have to set range={true} as well!.`);
|
|
@@ -118,7 +121,7 @@ function DatePicker(externalProps) {
|
|
|
118
121
|
removeOutsideClickHandler();
|
|
119
122
|
}, [noAnimation, preventClose, onHide, removeOutsideClickHandler]);
|
|
120
123
|
const setOutsideClickHandler = useCallback(() => {
|
|
121
|
-
outsideClick.current = detectOutsideClick(innerRef.current, _ref => {
|
|
124
|
+
outsideClick.current = detectOutsideClick([innerRef.current, calendarContainerRef], _ref => {
|
|
122
125
|
let {
|
|
123
126
|
event
|
|
124
127
|
} = _ref;
|
|
@@ -152,9 +155,13 @@ function DatePicker(externalProps) {
|
|
|
152
155
|
setOpened(true);
|
|
153
156
|
setHidden(false);
|
|
154
157
|
onShow === null || onShow === void 0 ? void 0 : onShow(_objectSpread({}, getReturnObject.current(event)));
|
|
155
|
-
setTrianglePosition();
|
|
156
158
|
setOutsideClickHandler();
|
|
157
|
-
}, [
|
|
159
|
+
}, [setOutsideClickHandler, onShow]);
|
|
160
|
+
useLayoutEffect(() => {
|
|
161
|
+
if (!hidden) {
|
|
162
|
+
setTrianglePosition();
|
|
163
|
+
}
|
|
164
|
+
}, [hidden, setTrianglePosition]);
|
|
158
165
|
useEffect(() => {
|
|
159
166
|
if (openedProp) {
|
|
160
167
|
showPicker();
|
|
@@ -246,7 +253,8 @@ function DatePicker(externalProps) {
|
|
|
246
253
|
resetButtonText,
|
|
247
254
|
showResetButton,
|
|
248
255
|
className,
|
|
249
|
-
tooltip
|
|
256
|
+
tooltip,
|
|
257
|
+
skipPortal
|
|
250
258
|
} = extendedProps,
|
|
251
259
|
restProps = _objectWithoutProperties(extendedProps, _excluded2);
|
|
252
260
|
const attributes = useMemo(() => filterOutNonAttributes(restProps), [restProps]);
|
|
@@ -268,6 +276,7 @@ function DatePicker(externalProps) {
|
|
|
268
276
|
className: classnames("dnb-date-picker dnb-form-component", (range || showSubmitButton || showCancelButton || showResetButton) && 'dnb-date-picker--show-footer', createSpacingClasses(props), className, status && `dnb-date-picker__status--${statusState}`, labelDirection && `dnb-date-picker--${labelDirection}`, opened && 'dnb-date-picker--opened', hidden && 'dnb-date-picker--hidden', showInput && 'dnb-date-picker--show-input', alignPicker && `dnb-date-picker--${alignPicker}`, stretch && `dnb-date-picker--stretch`, size && `dnb-date-picker--${size}`),
|
|
269
277
|
lang: context.locale
|
|
270
278
|
};
|
|
279
|
+
const containerClassNames = classnames('dnb-date-picker__container', opened ? 'dnb-date-picker__container--opened' : 'dnb-date-picker__container--closed', hidden && 'dnb-date-picker__container--hidden', showInput && 'dnb-date-picker__container--show-input', alignPicker && `dnb-date-picker__container--${alignPicker}`, size && `dnb-date-picker--${size}`);
|
|
271
280
|
const remainingDOMProps = validateDOMAttributes(props, attributes);
|
|
272
281
|
const remainingSubmitProps = validateDOMAttributes(null, submitParams);
|
|
273
282
|
const remainingPickerProps = validateDOMAttributes(null, skeletonDOMAttributes(pickerParams, skeleton, context));
|
|
@@ -323,12 +332,17 @@ function DatePicker(externalProps) {
|
|
|
323
332
|
}, attributes, {
|
|
324
333
|
submitAttributes: remainingSubmitProps,
|
|
325
334
|
onSubmit: togglePicker
|
|
326
|
-
}, statusProps)), React.createElement(
|
|
327
|
-
|
|
335
|
+
}, statusProps)), !hidden && React.createElement(DatePickerPortal, {
|
|
336
|
+
alignment: alignPicker,
|
|
337
|
+
skipPortal: skipPortal,
|
|
338
|
+
targetElementRef: innerRef
|
|
339
|
+
}, React.createElement("span", {
|
|
340
|
+
className: containerClassNames,
|
|
341
|
+
ref: calendarContainerRef
|
|
328
342
|
}, React.createElement("span", {
|
|
329
343
|
className: "dnb-date-picker__triangle",
|
|
330
344
|
ref: triangleRef
|
|
331
|
-
}),
|
|
345
|
+
}), React.createElement(DatePickerRange, {
|
|
332
346
|
id: id,
|
|
333
347
|
firstDayOfWeek: firstDay,
|
|
334
348
|
resetDate: resetDate,
|
|
@@ -366,7 +380,7 @@ function DatePicker(externalProps) {
|
|
|
366
380
|
"aria-live": "assertive"
|
|
367
381
|
}, selectedDateTitle)));
|
|
368
382
|
}
|
|
369
|
-
const NonAttributes = ['locale', 'id', 'month', 'date', 'startDate', 'endDate', 'minDate', 'maxDate', 'enableKeyboardNav', 'hideNavigation', 'returnFormat', 'dateFormat', 'hideDays', 'correctInvalidDate', 'opened', 'direction', 'range', 'showInput', 'noAnimation', 'onDaysRender', 'onShow', 'onType', 'onHide', 'showSubmitButton', 'showCancelButton', 'selectedDate', 'selectedMonth', 'selectedYear', 'nextMonth', 'nextYear', 'openPickerText', 'placeholderCharacters', 'prevMonth', 'prevYear', 'endMonth', 'startMonth', 'alignPicker'];
|
|
383
|
+
const NonAttributes = ['locale', 'id', 'month', 'date', 'startDate', 'endDate', 'minDate', 'maxDate', 'enableKeyboardNav', 'hideNavigation', 'returnFormat', 'dateFormat', 'hideDays', 'correctInvalidDate', 'opened', 'direction', 'range', 'showInput', 'noAnimation', 'onDaysRender', 'onShow', 'onType', 'onHide', 'showSubmitButton', 'showCancelButton', 'selectedDate', 'selectedMonth', 'selectedYear', 'nextMonth', 'nextYear', 'openPickerText', 'placeholderCharacters', 'prevMonth', 'prevYear', 'endMonth', 'startMonth', 'alignPicker', 'preventClose'];
|
|
370
384
|
function filterOutNonAttributes(props) {
|
|
371
385
|
return Object.keys(props).reduce((attributes, key) => {
|
|
372
386
|
if (!NonAttributes.includes(key)) {
|