@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
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "visibleWhen", "visibleWhenNot", "inferData", "filterData", "onVisible", "onAnimationEnd", "animate", "keepInDOM", "compensateForGap", "fieldPropsWhenHidden", "children"];
|
|
4
|
-
import React, { useCallback } from 'react';
|
|
5
|
+
const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "visibleWhen", "visibleWhenNot", "inferData", "filterData", "onVisible", "onAnimationEnd", "animate", "keepInDOM", "compensateForGap", "fieldPropsWhenHidden", "withinIterate", "children"];
|
|
6
|
+
import React, { useCallback, useContext } from 'react';
|
|
5
7
|
import { warn } from '../../../../shared/helpers';
|
|
6
8
|
import useMountEffect from '../../../../shared/helpers/useMountEffect';
|
|
7
9
|
import useMounted from '../../../../shared/helpers/useMounted';
|
|
@@ -9,8 +11,9 @@ import HeightAnimation from '../../../../components/HeightAnimation';
|
|
|
9
11
|
import FieldProvider from '../../Field/Provider';
|
|
10
12
|
import useVisibility from './useVisibility';
|
|
11
13
|
import VisibilityContext from './VisibilityContext';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
import SummaryListContext from '../../Value/SummaryList/SummaryListContext';
|
|
15
|
+
function Visibility(props) {
|
|
16
|
+
const {
|
|
14
17
|
visible,
|
|
15
18
|
pathDefined,
|
|
16
19
|
pathUndefined,
|
|
@@ -30,9 +33,10 @@ function Visibility(_ref) {
|
|
|
30
33
|
keepInDOM,
|
|
31
34
|
compensateForGap,
|
|
32
35
|
fieldPropsWhenHidden,
|
|
36
|
+
withinIterate,
|
|
33
37
|
children
|
|
34
|
-
} =
|
|
35
|
-
rest = _objectWithoutProperties(
|
|
38
|
+
} = props,
|
|
39
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
36
40
|
useMountEffect(() => {
|
|
37
41
|
if (fieldPropsWhenHidden && !keepInDOM) {
|
|
38
42
|
warn('Using "fieldPropsWhenHidden" requires "keepInDOM" to be true.');
|
|
@@ -42,6 +46,7 @@ function Visibility(_ref) {
|
|
|
42
46
|
check
|
|
43
47
|
} = useVisibility({
|
|
44
48
|
visible,
|
|
49
|
+
withinIterate,
|
|
45
50
|
pathDefined,
|
|
46
51
|
pathUndefined,
|
|
47
52
|
pathTruthy,
|
|
@@ -58,7 +63,8 @@ function Visibility(_ref) {
|
|
|
58
63
|
const open = check();
|
|
59
64
|
const content = React.createElement(VisibilityContext.Provider, {
|
|
60
65
|
value: {
|
|
61
|
-
isVisible: open
|
|
66
|
+
isVisible: open,
|
|
67
|
+
props
|
|
62
68
|
}
|
|
63
69
|
}, children);
|
|
64
70
|
const mountedRef = useMounted();
|
|
@@ -67,8 +73,12 @@ function Visibility(_ref) {
|
|
|
67
73
|
onVisible === null || onVisible === void 0 ? void 0 : onVisible(state);
|
|
68
74
|
}
|
|
69
75
|
}, [mountedRef, onVisible]);
|
|
76
|
+
const summaryListContext = useContext(SummaryListContext);
|
|
77
|
+
const providerProps = !open ? fieldPropsWhenHidden : null;
|
|
78
|
+
if ((animate || keepInDOM) && summaryListContext && !summaryListContext.isNested) {
|
|
79
|
+
return React.createElement(FieldProvider, providerProps, content);
|
|
80
|
+
}
|
|
70
81
|
if (animate) {
|
|
71
|
-
const props = !open ? fieldPropsWhenHidden : null;
|
|
72
82
|
return React.createElement(HeightAnimation, _extends({
|
|
73
83
|
open: open,
|
|
74
84
|
onAnimationEnd: onAnimationEnd,
|
|
@@ -76,17 +86,16 @@ function Visibility(_ref) {
|
|
|
76
86
|
keepInDOM: Boolean(keepInDOM),
|
|
77
87
|
className: "dnb-forms-visibility",
|
|
78
88
|
compensateForGap: compensateForGap
|
|
79
|
-
}, rest), React.createElement(FieldProvider,
|
|
89
|
+
}, rest), React.createElement(FieldProvider, providerProps, content));
|
|
80
90
|
}
|
|
81
91
|
if (mountedRef.current) {
|
|
82
92
|
onVisible === null || onVisible === void 0 ? void 0 : onVisible(open);
|
|
83
93
|
}
|
|
84
94
|
if (keepInDOM) {
|
|
85
|
-
const props = !open ? fieldPropsWhenHidden : null;
|
|
86
95
|
return React.createElement("span", {
|
|
87
96
|
className: "dnb-forms-visibility",
|
|
88
97
|
hidden: !open
|
|
89
|
-
}, React.createElement(FieldProvider,
|
|
98
|
+
}, React.createElement(FieldProvider, providerProps, content));
|
|
90
99
|
}
|
|
91
100
|
return React.createElement(React.Fragment, null, open ? content : null);
|
|
92
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","names":["React","useCallback","warn","useMountEffect","useMounted","HeightAnimation","FieldProvider","useVisibility","VisibilityContext","Visibility","
|
|
1
|
+
{"version":3,"file":"Visibility.js","names":["React","useCallback","useContext","warn","useMountEffect","useMounted","HeightAnimation","FieldProvider","useVisibility","VisibilityContext","SummaryListContext","Visibility","props","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","onVisible","onAnimationEnd","animate","keepInDOM","compensateForGap","fieldPropsWhenHidden","withinIterate","children","rest","_objectWithoutProperties","_excluded","check","open","content","createElement","Provider","value","isVisible","mountedRef","onOpen","state","current","summaryListContext","providerProps","isNested","_extends","Boolean","className","hidden","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes, useCallback, useContext } from 'react'\n\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useMounted from '../../../../shared/helpers/useMounted'\nimport HeightAnimation, {\n HeightAnimationAllProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProvider from '../../Field/Provider'\nimport useVisibility from './useVisibility'\nimport VisibilityContext from './VisibilityContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\n\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\n\nexport type VisibleWhen =\n | {\n path: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n itemPath: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n path: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n | {\n itemPath: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n path: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n itemPath: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: Path\n /** Given data context path must be undefined to show children */\n pathUndefined?: Path\n /** Given data context path must be truthy to show children */\n pathTruthy?: Path\n /** Given data context path must be falsy to show children */\n pathFalsy?: Path\n /** Given data context path must be true to show children */\n pathTrue?: Path\n /** Given data context path must be false to show children */\n pathFalse?: Path\n /** Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** Callback for when the content gets visible. */\n onVisible?: HeightAnimationAllProps['onOpen']\n /** Callback for when animation has ended */\n onAnimationEnd?: HeightAnimationAllProps['onAnimationEnd']\n /** To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`. */\n compensateForGap?: HeightAnimationAllProps['compensateForGap']\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n element?: HeightAnimationAllProps['element']\n children: React.ReactNode\n\n /** For internal use only. Used by \"Iterate.Visibility\" */\n withinIterate?: boolean\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n}\n\nfunction Visibility(props: Props) {\n const {\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n onVisible,\n onAnimationEnd,\n animate,\n keepInDOM,\n compensateForGap,\n fieldPropsWhenHidden,\n withinIterate,\n children,\n ...rest\n } = props\n\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const { check } = useVisibility({\n visible,\n withinIterate,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n })\n const open = check()\n const content = (\n <VisibilityContext.Provider\n value={{\n isVisible: open,\n props,\n }}\n >\n {children}\n </VisibilityContext.Provider>\n )\n const mountedRef = useMounted()\n\n const onOpen: HeightAnimationAllProps['onOpen'] = useCallback(\n (state) => {\n if (mountedRef.current) {\n onVisible?.(state)\n }\n },\n [mountedRef, onVisible]\n )\n\n const summaryListContext = useContext(SummaryListContext)\n const providerProps = !open ? fieldPropsWhenHidden : null\n\n if (\n (animate || keepInDOM) &&\n summaryListContext &&\n !summaryListContext.isNested\n ) {\n // Handle the animation inside the SummaryList\n return <FieldProvider {...providerProps}>{content}</FieldProvider>\n }\n\n if (animate) {\n return (\n <HeightAnimation\n open={open}\n onAnimationEnd={onAnimationEnd}\n onOpen={onOpen}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n compensateForGap={compensateForGap}\n {...rest}\n >\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </HeightAnimation>\n )\n }\n\n if (mountedRef.current) {\n onVisible?.(open)\n }\n\n if (keepInDOM) {\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </span>\n )\n }\n\n return <>{open ? content : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { Props } from './Visibility';
|
|
2
3
|
type VisibilityContext = {
|
|
3
4
|
inheritVisibility?: boolean;
|
|
4
5
|
isVisible?: boolean;
|
|
6
|
+
props?: Props;
|
|
5
7
|
};
|
|
6
8
|
declare const VisibilityContext: import("react").Context<VisibilityContext>;
|
|
7
9
|
export default VisibilityContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityContext.js","names":["createContext","VisibilityContext"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\ntype VisibilityContext = {\n inheritVisibility?: boolean\n isVisible?: boolean\n}\n\nconst VisibilityContext = createContext<VisibilityContext>(null)\n\nexport default VisibilityContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"VisibilityContext.js","names":["createContext","VisibilityContext"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityContext.ts"],"sourcesContent":["import { createContext } from 'react'\nimport { Props } from './Visibility'\n\ntype VisibilityContext = {\n inheritVisibility?: boolean\n isVisible?: boolean\n props?: Props\n}\n\nconst VisibilityContext = createContext<VisibilityContext>(null)\n\nexport default VisibilityContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AASrC,MAAMC,iBAAiB,GAAGD,aAAa,CAAoB,IAAI,CAAC;AAEhE,eAAeC,iBAAiB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs';
|
|
2
2
|
export const VisibilityProperties = {
|
|
3
3
|
visibleWhen: {
|
|
4
|
-
doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `
|
|
4
|
+
doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `validateContinuously` property.',
|
|
5
5
|
type: 'object',
|
|
6
6
|
status: 'optional'
|
|
7
7
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityDocs.js","names":["HeightAnimationEvents","VisibilityProperties","visibleWhen","doc","type","status","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","VisibilityEvents","onVisible","onOpen","onAnimationEnd"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n visibleWhen: {\n doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `
|
|
1
|
+
{"version":3,"file":"VisibilityDocs.js","names":["HeightAnimationEvents","VisibilityProperties","visibleWhen","doc","type","status","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","VisibilityEvents","onVisible","onOpen","onAnimationEnd"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n visibleWhen: {\n doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `validateContinuously` property.',\n type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly using the `visible` prop. When used alongside other conditions, the `visible` prop takes precedence.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: 'To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`.',\n type: 'string',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const VisibilityEvents: PropertiesTableProps = {\n onVisible: {\n doc: 'Callback for when the content gets visible. Returns a boolean as the first parameter.',\n type: HeightAnimationEvents.onOpen.type,\n status: 'optional',\n },\n onAnimationEnd: HeightAnimationEvents.onAnimationEnd,\n}\n"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,6DAA6D;AAEnG,OAAO,MAAMC,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,+XAA+X;IACpYC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,UAAU,EAAE;IACVN,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,gBAAgB,EAAE;IAChBd,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDc,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDe,OAAO,EAAE;IACPjB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMiB,gBAAsC,GAAG;EACpDC,SAAS,EAAE;IACTpB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAEJ,qBAAqB,CAACwB,MAAM,CAACpB,IAAI;IACvCC,MAAM,EAAE;EACV,CAAC;EACDoB,cAAc,EAAEzB,qBAAqB,CAACyB;AACxC,CAAC"}
|
|
@@ -17,6 +17,15 @@ export default function useVisibility(props) {
|
|
|
17
17
|
} = usePath();
|
|
18
18
|
const propsRef = useRef(props);
|
|
19
19
|
propsRef.current = props;
|
|
20
|
+
const {
|
|
21
|
+
withinIterate
|
|
22
|
+
} = props || {};
|
|
23
|
+
const makeLocalPath = useCallback(path => {
|
|
24
|
+
if (withinIterate) {
|
|
25
|
+
return makeIteratePath(path);
|
|
26
|
+
}
|
|
27
|
+
return makePath(path);
|
|
28
|
+
}, [makeIteratePath, makePath, withinIterate]);
|
|
20
29
|
const check = useCallback(function () {
|
|
21
30
|
let {
|
|
22
31
|
visible,
|
|
@@ -47,7 +56,7 @@ export default function useVisibility(props) {
|
|
|
47
56
|
if (!item || item.isMounted !== true) {
|
|
48
57
|
return visibleWhenNot ? true : false;
|
|
49
58
|
}
|
|
50
|
-
const result = (visibleWhen.continuousValidation ? true : item.isFocused !== true) && hasFieldError(path) === false;
|
|
59
|
+
const result = (visibleWhen.continuousValidation || visibleWhen.validateContinuously ? true : item.isFocused !== true) && hasFieldError(path) === false;
|
|
51
60
|
return visibleWhenNot ? !result : result;
|
|
52
61
|
}
|
|
53
62
|
if ('hasValue' in visibleWhen || 'withValue' in visibleWhen) {
|
|
@@ -72,10 +81,10 @@ export default function useVisibility(props) {
|
|
|
72
81
|
}
|
|
73
82
|
}
|
|
74
83
|
}
|
|
75
|
-
if (pathDefined && !pointer.has(data,
|
|
84
|
+
if (pathDefined && !pointer.has(data, makeLocalPath(pathDefined))) {
|
|
76
85
|
return false;
|
|
77
86
|
}
|
|
78
|
-
if (pathUndefined && pointer.has(data,
|
|
87
|
+
if (pathUndefined && pointer.has(data, makeLocalPath(pathUndefined))) {
|
|
79
88
|
return false;
|
|
80
89
|
}
|
|
81
90
|
const getValue = path => {
|
|
@@ -83,26 +92,26 @@ export default function useVisibility(props) {
|
|
|
83
92
|
return pointer.get(data, path);
|
|
84
93
|
}
|
|
85
94
|
};
|
|
86
|
-
if (pathTrue && getValue(
|
|
95
|
+
if (pathTrue && getValue(makeLocalPath(pathTrue)) !== true) {
|
|
87
96
|
return false;
|
|
88
97
|
}
|
|
89
|
-
if (pathFalse && getValue(
|
|
98
|
+
if (pathFalse && getValue(makeLocalPath(pathFalse)) !== false) {
|
|
90
99
|
return false;
|
|
91
100
|
}
|
|
92
|
-
if (pathTruthy && Boolean(getValue(
|
|
101
|
+
if (pathTruthy && Boolean(getValue(makeLocalPath(pathTruthy))) === false) {
|
|
93
102
|
return false;
|
|
94
103
|
}
|
|
95
|
-
if (pathFalsy && Boolean(getValue(
|
|
104
|
+
if (pathFalsy && Boolean(getValue(makeLocalPath(pathFalsy))) === true) {
|
|
96
105
|
return false;
|
|
97
106
|
}
|
|
98
107
|
if (inferData && !inferData(data)) {
|
|
99
108
|
return false;
|
|
100
109
|
}
|
|
101
|
-
if (pathValue && getValue(
|
|
110
|
+
if (pathValue && getValue(makeLocalPath(pathValue)) !== whenValue) {
|
|
102
111
|
return false;
|
|
103
112
|
}
|
|
104
113
|
return true;
|
|
105
|
-
}, [filterDataHandler, originalData,
|
|
114
|
+
}, [filterDataHandler, originalData, makeLocalPath, makeIteratePath, makePath, mountedFieldsRef, hasFieldError]);
|
|
106
115
|
return {
|
|
107
116
|
check
|
|
108
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVisibility.js","names":["useCallback","useContext","useRef","pointer","DataContext","usePath","useVisibility","props","hasFieldError","filterDataHandler","mountedFieldsRef","data","originalData","makePath","makeIteratePath","propsRef","current","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","
|
|
1
|
+
{"version":3,"file":"useVisibility.js","names":["useCallback","useContext","useRef","pointer","DataContext","usePath","useVisibility","props","hasFieldError","filterDataHandler","mountedFieldsRef","data","originalData","makePath","makeIteratePath","propsRef","current","withinIterate","makeLocalPath","path","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","itemPath","item","isMounted","result","continuousValidation","validateContinuously","isFocused","hasPath","has","_visibleWhen","_visibleWhen$hasValue","_visibleWhen2","_visibleWhen3","value","get","console","warn","hasValue","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport usePath from '../../hooks/usePath'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const {\n hasFieldError,\n filterDataHandler,\n mountedFieldsRef,\n data: originalData,\n } = useContext(DataContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const { withinIterate } = props || {}\n const makeLocalPath = useCallback(\n (path: Path) => {\n if (withinIterate) {\n return makeIteratePath(path)\n }\n\n return makePath(path)\n },\n [makeIteratePath, makePath, withinIterate]\n )\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (typeof visible === 'boolean') {\n return visible\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n\n const path =\n 'itemPath' in visibleWhen\n ? makeIteratePath(visibleWhen.itemPath)\n : makePath(visibleWhen.path)\n\n if ('isValid' in visibleWhen) {\n const item = mountedFieldsRef.current[path]\n if (!item || item.isMounted !== true) {\n return visibleWhenNot ? true : false\n }\n const result =\n (visibleWhen.continuousValidation ||\n visibleWhen.validateContinuously\n ? true\n : item.isFocused !== true) && hasFieldError(path) === false\n return visibleWhenNot ? !result : result\n }\n\n if ('hasValue' in visibleWhen || 'withValue' in visibleWhen) {\n const hasPath = pointer.has(data, path)\n\n if (hasPath) {\n const value = pointer.get(data, path)\n\n if (visibleWhen?.['withValue']) {\n console.warn(\n 'VisibleWhen: \"withValue\" is deprecated, use \"hasValue\" instead'\n )\n }\n\n const hasValue =\n visibleWhen?.['hasValue'] ?? visibleWhen?.['withValue']\n const result =\n typeof hasValue === 'function'\n ? hasValue(value) === false\n : hasValue !== value\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n } else {\n return false\n }\n }\n }\n\n if (pathDefined && !pointer.has(data, makeLocalPath(pathDefined))) {\n return false\n }\n if (\n pathUndefined &&\n pointer.has(data, makeLocalPath(pathUndefined))\n ) {\n return false\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathTrue && getValue(makeLocalPath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(makeLocalPath(pathFalse)) !== false) {\n return false\n }\n if (\n pathTruthy &&\n Boolean(getValue(makeLocalPath(pathTruthy))) === false\n ) {\n return false\n }\n if (\n pathFalsy &&\n Boolean(getValue(makeLocalPath(pathFalsy))) === true\n ) {\n return false\n }\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(makeLocalPath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [\n filterDataHandler,\n originalData,\n makeLocalPath,\n makeIteratePath,\n makePath,\n mountedFieldsRef,\n hasFieldError,\n ]\n )\n\n return { check }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACvD,OAAOC,OAAO,MAAM,0BAA0B;AAC9C,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,OAAO,MAAM,qBAAqB;AAMzC,eAAe,SAASC,aAAaA,CAACC,KAAsB,EAAE;EAC5D,MAAM;IACJC,aAAa;IACbC,iBAAiB;IACjBC,gBAAgB;IAChBC,IAAI,EAAEC;EACR,CAAC,GAAGX,UAAU,CAACG,WAAW,CAAC;EAE3B,MAAM;IAAES,QAAQ;IAAEC;EAAgB,CAAC,GAAGT,OAAO,CAAC,CAAC;EAG/C,MAAMU,QAAQ,GAAGb,MAAM,CAACK,KAAK,CAAC;EAC9BQ,QAAQ,CAACC,OAAO,GAAGT,KAAK;EAExB,MAAM;IAAEU;EAAc,CAAC,GAAGV,KAAK,IAAI,CAAC,CAAC;EACrC,MAAMW,aAAa,GAAGlB,WAAW,CAC9BmB,IAAU,IAAK;IACd,IAAIF,aAAa,EAAE;MACjB,OAAOH,eAAe,CAACK,IAAI,CAAC;IAC9B;IAEA,OAAON,QAAQ,CAACM,IAAI,CAAC;EACvB,CAAC,EACD,CAACL,eAAe,EAAED,QAAQ,EAAEI,aAAa,CAC3C,CAAC;EAED,MAAMG,KAAK,GAAGpB,WAAW,CACvB,YAgBK;IAAA,IAfH;MACEqB,OAAO;MACPC,WAAW;MACXC,cAAc;MACdC,WAAW;MACXC,aAAa;MACbC,UAAU;MACVC,SAAS;MACTC,QAAQ;MACRC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC;IACc,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGnB,QAAQ,CAACC,OAAO;IAEpC,IAAI,OAAOK,OAAO,KAAK,SAAS,EAAE;MAChC,OAAOA,OAAO;IAChB;IAEA,MAAMV,IAAI,GACPsB,UAAU,KAAIxB,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAGG,YAAY,EAAEqB,UAAU,CAAC,KAC5DrB,YAAY;IAEd,IAAIU,WAAW,IAAIC,cAAc,EAAE;MACjC,IAAIA,cAAc,EAAE;QAClBD,WAAW,GAAGC,cAAc;MAC9B;MAEA,MAAMJ,IAAI,GACR,UAAU,IAAIG,WAAW,GACrBR,eAAe,CAACQ,WAAW,CAACe,QAAQ,CAAC,GACrCxB,QAAQ,CAACS,WAAW,CAACH,IAAI,CAAC;MAEhC,IAAI,SAAS,IAAIG,WAAW,EAAE;QAC5B,MAAMgB,IAAI,GAAG5B,gBAAgB,CAACM,OAAO,CAACG,IAAI,CAAC;QAC3C,IAAI,CAACmB,IAAI,IAAIA,IAAI,CAACC,SAAS,KAAK,IAAI,EAAE;UACpC,OAAOhB,cAAc,GAAG,IAAI,GAAG,KAAK;QACtC;QACA,MAAMiB,MAAM,GACV,CAAClB,WAAW,CAACmB,oBAAoB,IACjCnB,WAAW,CAACoB,oBAAoB,GAC5B,IAAI,GACJJ,IAAI,CAACK,SAAS,KAAK,IAAI,KAAKnC,aAAa,CAACW,IAAI,CAAC,KAAK,KAAK;QAC/D,OAAOI,cAAc,GAAG,CAACiB,MAAM,GAAGA,MAAM;MAC1C;MAEA,IAAI,UAAU,IAAIlB,WAAW,IAAI,WAAW,IAAIA,WAAW,EAAE;QAC3D,MAAMsB,OAAO,GAAGzC,OAAO,CAAC0C,GAAG,CAAClC,IAAI,EAAEQ,IAAI,CAAC;QAEvC,IAAIyB,OAAO,EAAE;UAAA,IAAAE,YAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,aAAA;UACX,MAAMC,KAAK,GAAG/C,OAAO,CAACgD,GAAG,CAACxC,IAAI,EAAEQ,IAAI,CAAC;UAErC,KAAA2B,YAAA,GAAIxB,WAAW,cAAAwB,YAAA,eAAXA,YAAA,CAAc,WAAW,CAAC,EAAE;YAC9BM,OAAO,CAACC,IAAI,CACV,gEACF,CAAC;UACH;UAEA,MAAMC,QAAQ,IAAAP,qBAAA,IAAAC,aAAA,GACZ1B,WAAW,cAAA0B,aAAA,uBAAXA,aAAA,CAAc,UAAU,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,IAAAE,aAAA,GAAI3B,WAAW,cAAA2B,aAAA,uBAAXA,aAAA,CAAc,WAAW,CAAC;UACzD,MAAMT,MAAM,GACV,OAAOc,QAAQ,KAAK,UAAU,GAC1BA,QAAQ,CAACJ,KAAK,CAAC,KAAK,KAAK,GACzBI,QAAQ,KAAKJ,KAAK;UAExB,IAAI3B,cAAc,EAAE;YAClB,IAAI,CAACiB,MAAM,EAAE;cACX,OAAO,KAAK;YACd;UACF,CAAC,MAAM,IAAIA,MAAM,EAAE;YACjB,OAAO,KAAK;UACd;QACF,CAAC,MAAM;UACL,OAAO,KAAK;QACd;MACF;IACF;IAEA,IAAIhB,WAAW,IAAI,CAACrB,OAAO,CAAC0C,GAAG,CAAClC,IAAI,EAAEO,aAAa,CAACM,WAAW,CAAC,CAAC,EAAE;MACjE,OAAO,KAAK;IACd;IACA,IACEC,aAAa,IACbtB,OAAO,CAAC0C,GAAG,CAAClC,IAAI,EAAEO,aAAa,CAACO,aAAa,CAAC,CAAC,EAC/C;MACA,OAAO,KAAK;IACd;IAEA,MAAM8B,QAAQ,GAAIpC,IAAU,IAAK;MAC/B,IAAIhB,OAAO,CAAC0C,GAAG,CAAClC,IAAI,EAAEQ,IAAI,CAAC,EAAE;QAC3B,OAAOhB,OAAO,CAACgD,GAAG,CAACxC,IAAI,EAAEQ,IAAI,CAAC;MAChC;IACF,CAAC;IAED,IAAIS,QAAQ,IAAI2B,QAAQ,CAACrC,aAAa,CAACU,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE;MAC1D,OAAO,KAAK;IACd;IACA,IAAIC,SAAS,IAAI0B,QAAQ,CAACrC,aAAa,CAACW,SAAS,CAAC,CAAC,KAAK,KAAK,EAAE;MAC7D,OAAO,KAAK;IACd;IACA,IACEH,UAAU,IACV8B,OAAO,CAACD,QAAQ,CAACrC,aAAa,CAACQ,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,EACtD;MACA,OAAO,KAAK;IACd;IACA,IACEC,SAAS,IACT6B,OAAO,CAACD,QAAQ,CAACrC,aAAa,CAACS,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EACpD;MACA,OAAO,KAAK;IACd;IACA,IAAIK,SAAS,IAAI,CAACA,SAAS,CAACrB,IAAI,CAAC,EAAE;MACjC,OAAO,KAAK;IACd;IAGA,IAAImB,SAAS,IAAIyB,QAAQ,CAACrC,aAAa,CAACY,SAAS,CAAC,CAAC,KAAKC,SAAS,EAAE;MACjE,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC,EACD,CACEtB,iBAAiB,EACjBG,YAAY,EACZM,aAAa,EACbJ,eAAe,EACfD,QAAQ,EACRH,gBAAgB,EAChBF,aAAa,CAEjB,CAAC;EAED,OAAO;IAAEY;EAAM,CAAC;AAClB"}
|
|
@@ -9,6 +9,7 @@ import pointer from '../../utils/json-pointer';
|
|
|
9
9
|
import { useFieldProps } from '../../hooks';
|
|
10
10
|
import { makeUniqueId } from '../../../../shared/component-helper';
|
|
11
11
|
import { Flex, FormStatus, HeightAnimation } from '../../../../components';
|
|
12
|
+
import { Span } from '../../../../elements';
|
|
12
13
|
import { pickSpacingProps } from '../../../../components/flex/utils';
|
|
13
14
|
import useMountEffect from '../../../../shared/helpers/useMountEffect';
|
|
14
15
|
import useUpdateEffect from '../../../../shared/helpers/useUpdateEffect';
|
|
@@ -19,28 +20,32 @@ import ValueBlockContext from '../../ValueBlock/ValueBlockContext';
|
|
|
19
20
|
import FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider';
|
|
20
21
|
import DataContext from '../../DataContext/Context';
|
|
21
22
|
import useDataValue from '../../hooks/useDataValue';
|
|
22
|
-
import { useArrayLimit, useSwitchContainerMode } from '../hooks';
|
|
23
|
+
import { useArrayLimit, useItemPath, useSwitchContainerMode } from '../hooks';
|
|
23
24
|
import { getMessagesFromError } from '../../FieldBlock';
|
|
24
25
|
import structuredClone from '@ungap/structured-clone';
|
|
25
26
|
function ArrayComponent(props) {
|
|
26
27
|
var _props$value;
|
|
27
28
|
const [salt, forceUpdate] = useReducer(() => ({}), {});
|
|
29
|
+
const {
|
|
30
|
+
path: pathProp,
|
|
31
|
+
itemPath: itemPathProp,
|
|
32
|
+
countPath,
|
|
33
|
+
countPathTransform,
|
|
34
|
+
countPathLimit = Infinity
|
|
35
|
+
} = props || {};
|
|
28
36
|
const dataContext = useContext(DataContext);
|
|
29
37
|
const summaryListContext = useContext(SummaryListContext);
|
|
30
38
|
const valueBlockContext = useContext(ValueBlockContext);
|
|
39
|
+
const {
|
|
40
|
+
absolutePath
|
|
41
|
+
} = useItemPath(itemPathProp);
|
|
31
42
|
const {
|
|
32
43
|
setLimitProps,
|
|
33
44
|
error: limitWarning
|
|
34
|
-
} = useArrayLimit(
|
|
35
|
-
path: props.path
|
|
36
|
-
});
|
|
45
|
+
} = useArrayLimit(pathProp || absolutePath);
|
|
37
46
|
const {
|
|
38
47
|
getValueByPath
|
|
39
48
|
} = useDataValue();
|
|
40
|
-
const {
|
|
41
|
-
countPath,
|
|
42
|
-
countPathLimit = Infinity
|
|
43
|
-
} = props;
|
|
44
49
|
const getCountValue = useCallback(() => {
|
|
45
50
|
if (!countPath) {
|
|
46
51
|
return -1;
|
|
@@ -55,14 +60,23 @@ function ArrayComponent(props) {
|
|
|
55
60
|
return countValue;
|
|
56
61
|
}, [countPath, countPathLimit, getValueByPath]);
|
|
57
62
|
const countValue = getCountValue();
|
|
63
|
+
const validateRequired = useCallback((value, _ref) => {
|
|
64
|
+
let {
|
|
65
|
+
emptyValue,
|
|
66
|
+
required,
|
|
67
|
+
error
|
|
68
|
+
} = _ref;
|
|
69
|
+
if (required && (!value || (value === null || value === void 0 ? void 0 : value.length) === 0 || value === emptyValue)) {
|
|
70
|
+
return error;
|
|
71
|
+
}
|
|
72
|
+
}, []);
|
|
58
73
|
const preparedProps = useMemo(() => {
|
|
59
|
-
const {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
} = props;
|
|
74
|
+
const shared = {
|
|
75
|
+
required: false,
|
|
76
|
+
validateRequired
|
|
77
|
+
};
|
|
64
78
|
if (countPath) {
|
|
65
|
-
const arrayValue = getValueByPath(
|
|
79
|
+
const arrayValue = getValueByPath(pathProp);
|
|
66
80
|
const newValue = [];
|
|
67
81
|
for (let i = 0, l = countValue; i < l; i++) {
|
|
68
82
|
const value = arrayValue === null || arrayValue === void 0 ? void 0 : arrayValue[i];
|
|
@@ -71,18 +85,15 @@ function ArrayComponent(props) {
|
|
|
71
85
|
index: i
|
|
72
86
|
}) : value);
|
|
73
87
|
}
|
|
74
|
-
return _objectSpread(_objectSpread({
|
|
75
|
-
required: false
|
|
76
|
-
}, props), {}, {
|
|
88
|
+
return _objectSpread(_objectSpread(_objectSpread({}, shared), props), {}, {
|
|
77
89
|
value: newValue
|
|
78
90
|
});
|
|
79
91
|
}
|
|
80
|
-
return _objectSpread({
|
|
81
|
-
|
|
82
|
-
}, props);
|
|
83
|
-
}, [countValue, getValueByPath, props]);
|
|
92
|
+
return _objectSpread(_objectSpread({}, shared), props);
|
|
93
|
+
}, [countPath, countPathTransform, countValue, getValueByPath, pathProp, props, validateRequired]);
|
|
84
94
|
const {
|
|
85
95
|
path,
|
|
96
|
+
itemPath,
|
|
86
97
|
value: arrayValue,
|
|
87
98
|
limit,
|
|
88
99
|
error,
|
|
@@ -94,11 +105,13 @@ function ArrayComponent(props) {
|
|
|
94
105
|
handleChange,
|
|
95
106
|
setChanged,
|
|
96
107
|
onChange,
|
|
108
|
+
validateValue,
|
|
97
109
|
children
|
|
98
110
|
} = useFieldProps(preparedProps, {
|
|
99
111
|
updateContextDataInSync: true,
|
|
100
112
|
omitMultiplePathWarning: true,
|
|
101
|
-
forceUpdateWhenContextDataIsSet: Boolean(countPath)
|
|
113
|
+
forceUpdateWhenContextDataIsSet: Boolean(countPath),
|
|
114
|
+
alwaysRevealError: true
|
|
102
115
|
});
|
|
103
116
|
const countValueRef = useRef();
|
|
104
117
|
useUpdateEffect(() => {
|
|
@@ -114,9 +127,6 @@ function ArrayComponent(props) {
|
|
|
114
127
|
useEffect(() => {
|
|
115
128
|
valueCountRef.current = arrayValue || [];
|
|
116
129
|
}, [arrayValue]);
|
|
117
|
-
useMountEffect(() => {
|
|
118
|
-
setChanged(true);
|
|
119
|
-
});
|
|
120
130
|
const idsRef = useRef([]);
|
|
121
131
|
const isNewRef = useRef({});
|
|
122
132
|
const modesRef = useRef({});
|
|
@@ -130,8 +140,8 @@ function ArrayComponent(props) {
|
|
|
130
140
|
getNextContainerMode
|
|
131
141
|
} = useSwitchContainerMode();
|
|
132
142
|
const arrayItems = useMemo(() => {
|
|
133
|
-
var
|
|
134
|
-
const list = (
|
|
143
|
+
var _ref2;
|
|
144
|
+
const list = (_ref2 = valueWhileClosingRef.current || arrayValue) !== null && _ref2 !== void 0 ? _ref2 : [];
|
|
135
145
|
const limitedList = typeof limit === 'number' ? list.slice(0, limit) : list;
|
|
136
146
|
return limitedList.map((value, index) => {
|
|
137
147
|
var _valueCountRef$curren, _modesRef$current$id;
|
|
@@ -151,6 +161,7 @@ function ArrayComponent(props) {
|
|
|
151
161
|
const itemContext = {
|
|
152
162
|
id,
|
|
153
163
|
path,
|
|
164
|
+
itemPath,
|
|
154
165
|
value,
|
|
155
166
|
index,
|
|
156
167
|
arrayValue,
|
|
@@ -160,6 +171,7 @@ function ArrayComponent(props) {
|
|
|
160
171
|
previousContainerMode: modesRef.current[id].previous,
|
|
161
172
|
initialContainerMode: containerMode || 'auto',
|
|
162
173
|
modeOptions: modesRef.current[id].options,
|
|
174
|
+
nestedIteratePath: absolutePath,
|
|
163
175
|
switchContainerMode: function (mode) {
|
|
164
176
|
var _isNewRef$current;
|
|
165
177
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -211,7 +223,7 @@ function ArrayComponent(props) {
|
|
|
211
223
|
};
|
|
212
224
|
return itemContext;
|
|
213
225
|
});
|
|
214
|
-
}, [salt, arrayValue, limit, path, handleChange]);
|
|
226
|
+
}, [salt, arrayValue, limit, path, itemPath, absolutePath, handleChange]);
|
|
215
227
|
const total = arrayItems.length;
|
|
216
228
|
useEffect(() => {
|
|
217
229
|
if (limit) {
|
|
@@ -221,6 +233,12 @@ function ArrayComponent(props) {
|
|
|
221
233
|
});
|
|
222
234
|
}
|
|
223
235
|
}, [total, limit, setLimitProps]);
|
|
236
|
+
useUpdateEffect(() => {
|
|
237
|
+
validateValue();
|
|
238
|
+
}, [total, validateValue]);
|
|
239
|
+
useMountEffect(() => {
|
|
240
|
+
setChanged(true);
|
|
241
|
+
});
|
|
224
242
|
useMemo(() => {
|
|
225
243
|
const last = arrayItems === null || arrayItems === void 0 ? void 0 : arrayItems[arrayItems.length - 1];
|
|
226
244
|
if (last !== null && last !== void 0 && last.isNew && !hadPushRef.current) {
|
|
@@ -234,7 +252,9 @@ function ArrayComponent(props) {
|
|
|
234
252
|
}, pickFlexContainerProps(props)), pickSpacingProps(props)), {}, {
|
|
235
253
|
innerRef: containerRef
|
|
236
254
|
});
|
|
237
|
-
const arrayElements = arrayValue === emptyValue || (props === null || props === void 0 ? void 0 : (_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) === 0 ? placeholder
|
|
255
|
+
const arrayElements = arrayValue === emptyValue || (props === null || props === void 0 ? void 0 : (_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) === 0 ? typeof placeholder === 'string' ? React.createElement(Span, {
|
|
256
|
+
size: "small"
|
|
257
|
+
}, placeholder) : placeholder : arrayItems.map(itemProps => {
|
|
238
258
|
const {
|
|
239
259
|
id,
|
|
240
260
|
value,
|
|
@@ -242,7 +262,7 @@ function ArrayComponent(props) {
|
|
|
242
262
|
} = itemProps;
|
|
243
263
|
const elementRef = innerRefs.current[id] = innerRefs.current[id] || createRef();
|
|
244
264
|
const renderChildren = elementChild => {
|
|
245
|
-
return typeof elementChild === 'function' ? elementChild(value, index) : elementChild;
|
|
265
|
+
return typeof elementChild === 'function' ? elementChild(value, index, arrayItems) : elementChild;
|
|
246
266
|
};
|
|
247
267
|
const contextValue = _objectSpread(_objectSpread({}, itemProps), {}, {
|
|
248
268
|
elementRef
|