@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","useMemo","classnames","Button","IterateItemContext","useArrayLimit","useSwitchContainerMode","omitDataValueReadWriteProps","add","DataContext","useDataValue","convertJsxToString","PushButton","props","handlePathChange","iterateItemContext","handlePush","pushValue","className","path","text","children","restProps","_objectWithoutProperties","_excluded","buttonProps","arrayValue","getValueByPath","hasReachedLimit","setShowStatus","undefined","Array","isArray","Error","setLastItemContainerMode","handleClick","newValue","setTimeout","content","str","includes","nextItemNo","length","replace","String","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport {
|
|
1
|
+
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","useMemo","classnames","Button","IterateItemContext","useArrayLimit","useItemPath","useSwitchContainerMode","omitDataValueReadWriteProps","add","DataContext","useDataValue","convertJsxToString","PushButton","props","handlePathChange","iterateItemContext","handlePush","pushValue","className","path","itemPath","text","children","restProps","_objectWithoutProperties","_excluded","buttonProps","absolutePath","arrayValue","getValueByPath","hasReachedLimit","setShowStatus","undefined","Array","isArray","Error","setLastItemContainerMode","handleClick","newValue","setTimeout","content","str","includes","nextItemNo","length","replace","String","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport {\n useArrayLimit,\n useItemPath,\n useSwitchContainerMode,\n} from '../hooks'\nimport { omitDataValueReadWriteProps, Path } from '../../types'\nimport { add } from '../../../../icons'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\nexport type Props = ButtonProps & {\n path?: Path\n itemPath?: Path\n pushValue: unknown | ((value: unknown) => void)\n\n /**\n * Used internally\n */\n value?: unknown\n}\n\nfunction PushButton(props: Props) {\n const { handlePathChange } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n const { handlePush } = iterateItemContext ?? {}\n\n const {\n pushValue,\n className,\n path,\n itemPath,\n text,\n children,\n ...restProps\n } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n\n const { absolutePath } = useItemPath(itemPath)\n\n const arrayValue = useDataValue().getValueByPath(path || absolutePath)\n\n const { hasReachedLimit, setShowStatus } = useArrayLimit(path)\n\n if (arrayValue !== undefined && !Array.isArray(arrayValue)) {\n throw new Error('PushButton received a non-array value')\n }\n\n const { setLastItemContainerMode } = useSwitchContainerMode(path)\n\n const handleClick = useCallback(async () => {\n if (hasReachedLimit) {\n setShowStatus(true)\n return // stop here\n }\n\n const newValue =\n typeof pushValue === 'function' ? pushValue(arrayValue) : pushValue\n\n if (handlePush && !absolutePath) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n } else {\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n await handlePathChange?.(path || absolutePath, [\n ...(arrayValue ?? []),\n newValue,\n ])\n }\n\n if (!absolutePath) {\n setTimeout(() => {\n setLastItemContainerMode('view')\n }, 100) // UX improvement because of the \"openDelay\"\n }\n }, [\n arrayValue,\n absolutePath,\n handlePathChange,\n handlePush,\n hasReachedLimit,\n path,\n pushValue,\n setLastItemContainerMode,\n setShowStatus,\n ])\n\n const content = useMemo(() => {\n if (children || text) {\n const str = convertJsxToString(children || text)\n\n if (str.includes('{nextItemNo}')) {\n const nextItemNo = (arrayValue?.length || 0) + 1\n return str.replace('{nextItemNo}', String(nextItemNo))\n }\n }\n\n return children || text\n }, [arrayValue?.length, children, text])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-push-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {content}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@ export const PushButtonProperties = {
|
|
|
4
4
|
type: 'string',
|
|
5
5
|
status: 'required'
|
|
6
6
|
},
|
|
7
|
+
itemPath: {
|
|
8
|
+
doc: 'The path to the item in a nested array, to add the new item to.',
|
|
9
|
+
type: 'string',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
},
|
|
7
12
|
pushValue: {
|
|
8
13
|
doc: 'The element to add to the array when the button is clicked. Can be a function to returns the push value.',
|
|
9
14
|
type: 'unknown',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushButtonDocs.js","names":["PushButtonProperties","path","doc","type","status","pushValue","PushButtonEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PushButtonProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n pushValue: {\n doc: 'The element to add to the array when the button is clicked. Can be a function to returns the push value.',\n type: 'unknown',\n status: 'optional',\n },\n '[Button](/uilib/components/button/properties)': {\n doc: 'All button properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const PushButtonEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"PushButtonDocs.js","names":["PushButtonProperties","path","doc","type","status","itemPath","pushValue","PushButtonEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PushButtonProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n itemPath: {\n doc: 'The path to the item in a nested array, to add the new item to.',\n type: 'string',\n status: 'optional',\n },\n pushValue: {\n doc: 'The element to add to the array when the button is clicked. Can be a function to returns the push value.',\n type: 'unknown',\n status: 'optional',\n },\n '[Button](/uilib/components/button/properties)': {\n doc: 'All button properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const PushButtonEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,iEAAiE;IACtEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,wBAAwB;IAC7BC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMG,gBAAsC,GAAG,CAAC,CAAC"}
|
|
@@ -2,15 +2,31 @@ import React from 'react';
|
|
|
2
2
|
import { OnCommit, Path } from '../../types';
|
|
3
3
|
import { SpacingProps } from '../../../../shared/types';
|
|
4
4
|
import { ArrayItemAreaProps } from '../Array/ArrayItemArea';
|
|
5
|
-
|
|
5
|
+
type OnlyPathRequired = {
|
|
6
6
|
/**
|
|
7
7
|
* The path to the array to add the new item to.
|
|
8
8
|
*/
|
|
9
9
|
path: Path;
|
|
10
|
+
/** The sub path to the array to add the new item to. */
|
|
11
|
+
itemPath?: Path;
|
|
12
|
+
};
|
|
13
|
+
type OnlyItemPathRequired = {
|
|
14
|
+
/**
|
|
15
|
+
* The path to the array to add the new item to.
|
|
16
|
+
*/
|
|
17
|
+
path?: Path;
|
|
18
|
+
/** The sub path to the array to add the new item to. */
|
|
19
|
+
itemPath: Path;
|
|
20
|
+
};
|
|
21
|
+
export type Props = (OnlyPathRequired | OnlyItemPathRequired) & {
|
|
10
22
|
/**
|
|
11
23
|
* The title of the container.
|
|
12
24
|
*/
|
|
13
25
|
title?: React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* If the fields inside the container are required.
|
|
28
|
+
*/
|
|
29
|
+
required?: boolean;
|
|
14
30
|
/**
|
|
15
31
|
* The button to open container.
|
|
16
32
|
*/
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
const _excluded = ["data", "defaultData", "isolatedData", "bubbleValidation", "path", "title", "children", "openButton", "showOpenButtonWhen", "onCommit"],
|
|
7
|
-
_excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "cancelHandler", "children"];
|
|
6
|
+
const _excluded = ["data", "defaultData", "isolatedData", "bubbleValidation", "path", "itemPath", "title", "required", "children", "openButton", "showOpenButtonWhen", "onCommit"],
|
|
7
|
+
_excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "cancelHandler", "containerModeRef", "rerenderPushContainer", "children"];
|
|
8
8
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
import React, { useCallback, useContext, useMemo, useRef } from 'react';
|
|
10
|
+
import React, { useCallback, useContext, useEffect, useMemo, useReducer, useRef } from 'react';
|
|
11
11
|
import Isolation from '../../Form/Isolation';
|
|
12
12
|
import PushContainerContext from './PushContainerContext';
|
|
13
13
|
import IterateItemContext from '../IterateItemContext';
|
|
@@ -17,43 +17,48 @@ import EditContainer, { CancelButton, DoneButton } from '../EditContainer';
|
|
|
17
17
|
import IterateArray from '../Array';
|
|
18
18
|
import OpenButton from './OpenButton';
|
|
19
19
|
import { Flex, HeightAnimation } from '../../../../components';
|
|
20
|
-
import { useArrayLimit, useSwitchContainerMode } from '../hooks';
|
|
20
|
+
import { useArrayLimit, useItemPath, useSwitchContainerMode } from '../hooks';
|
|
21
21
|
import Toolbar from '../Toolbar';
|
|
22
22
|
import { useTranslation } from '../../hooks';
|
|
23
23
|
import { clearedData } from '../../DataContext/Provider';
|
|
24
|
+
import structuredClone from '@ungap/structured-clone';
|
|
24
25
|
function PushContainer(props) {
|
|
26
|
+
var _useContext;
|
|
27
|
+
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
28
|
+
const requiredInherited = (_useContext = useContext(DataContext)) === null || _useContext === void 0 ? void 0 : _useContext.required;
|
|
25
29
|
const {
|
|
26
30
|
data: dataProp,
|
|
27
31
|
defaultData: defaultDataProp,
|
|
28
32
|
isolatedData,
|
|
29
33
|
bubbleValidation,
|
|
30
34
|
path,
|
|
35
|
+
itemPath,
|
|
31
36
|
title,
|
|
37
|
+
required = requiredInherited,
|
|
32
38
|
children,
|
|
33
39
|
openButton,
|
|
34
40
|
showOpenButtonWhen,
|
|
35
41
|
onCommit
|
|
36
42
|
} = props,
|
|
37
43
|
rest = _objectWithoutProperties(props, _excluded);
|
|
44
|
+
const {
|
|
45
|
+
absolutePath
|
|
46
|
+
} = useItemPath(itemPath);
|
|
38
47
|
const commitHandleRef = useRef();
|
|
39
48
|
const switchContainerModeRef = useRef();
|
|
49
|
+
const containerModeRef = useRef();
|
|
40
50
|
const {
|
|
41
51
|
value: entries = [],
|
|
42
|
-
moveValueToPath
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
52
|
+
moveValueToPath,
|
|
53
|
+
getValueByPath
|
|
54
|
+
} = useDataValue(path || itemPath);
|
|
46
55
|
const {
|
|
47
56
|
setNextContainerMode
|
|
48
|
-
} = useSwitchContainerMode(
|
|
49
|
-
path
|
|
50
|
-
});
|
|
57
|
+
} = useSwitchContainerMode(path || absolutePath);
|
|
51
58
|
const {
|
|
52
59
|
hasReachedLimit,
|
|
53
60
|
setShowStatus
|
|
54
|
-
} = useArrayLimit(
|
|
55
|
-
path
|
|
56
|
-
});
|
|
61
|
+
} = useArrayLimit(path || absolutePath);
|
|
57
62
|
const cancelHandler = useCallback(() => {
|
|
58
63
|
if (hasReachedLimit) {
|
|
59
64
|
setShowStatus(false);
|
|
@@ -62,6 +67,7 @@ function PushContainer(props) {
|
|
|
62
67
|
const showOpenButton = showOpenButtonWhen === null || showOpenButtonWhen === void 0 ? void 0 : showOpenButtonWhen(entries);
|
|
63
68
|
const newItemContextProps = {
|
|
64
69
|
path,
|
|
70
|
+
itemPath,
|
|
65
71
|
entries,
|
|
66
72
|
commitHandleRef,
|
|
67
73
|
switchContainerMode: switchContainerModeRef.current
|
|
@@ -92,13 +98,14 @@ function PushContainer(props) {
|
|
|
92
98
|
return React.createElement(Isolation, {
|
|
93
99
|
data: data,
|
|
94
100
|
defaultData: defaultData,
|
|
101
|
+
required: required,
|
|
95
102
|
emptyData: emptyData,
|
|
96
|
-
bubbleValidation: bubbleValidation,
|
|
103
|
+
bubbleValidation: containerModeRef.current === 'view' ? false : bubbleValidation,
|
|
97
104
|
commitHandleRef: commitHandleRef,
|
|
98
105
|
transformOnCommit: ({
|
|
99
106
|
pushContainerItems
|
|
100
107
|
}) => {
|
|
101
|
-
return moveValueToPath(path, [...entries, ...pushContainerItems]);
|
|
108
|
+
return moveValueToPath(path || absolutePath, [...entries, ...pushContainerItems], absolutePath ? structuredClone(getValueByPath('/')) : {});
|
|
102
109
|
},
|
|
103
110
|
onCommit: (data, options) => {
|
|
104
111
|
const {
|
|
@@ -127,7 +134,9 @@ function PushContainer(props) {
|
|
|
127
134
|
openButton: openButton,
|
|
128
135
|
switchContainerModeRef: switchContainerModeRef,
|
|
129
136
|
showOpenButton: showOpenButton,
|
|
130
|
-
cancelHandler: cancelHandler
|
|
137
|
+
cancelHandler: cancelHandler,
|
|
138
|
+
containerModeRef: containerModeRef,
|
|
139
|
+
rerenderPushContainer: forceUpdate
|
|
131
140
|
}, rest), children))));
|
|
132
141
|
}
|
|
133
142
|
function NewContainer(_ref) {
|
|
@@ -138,6 +147,8 @@ function NewContainer(_ref) {
|
|
|
138
147
|
showOpenButton,
|
|
139
148
|
switchContainerModeRef,
|
|
140
149
|
cancelHandler,
|
|
150
|
+
containerModeRef,
|
|
151
|
+
rerenderPushContainer,
|
|
141
152
|
children
|
|
142
153
|
} = _ref,
|
|
143
154
|
rest = _objectWithoutProperties(_ref, _excluded2);
|
|
@@ -145,6 +156,10 @@ function NewContainer(_ref) {
|
|
|
145
156
|
containerMode,
|
|
146
157
|
switchContainerMode
|
|
147
158
|
} = useContext(IterateItemContext) || {};
|
|
159
|
+
containerModeRef.current = containerMode;
|
|
160
|
+
useEffect(() => {
|
|
161
|
+
rerenderPushContainer();
|
|
162
|
+
}, [containerMode, rerenderPushContainer]);
|
|
148
163
|
switchContainerModeRef.current = switchContainerMode;
|
|
149
164
|
const {
|
|
150
165
|
createButton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useMemo","useRef","Isolation","PushContainerContext","IterateItemContext","DataContext","useDataValue","EditContainer","CancelButton","DoneButton","IterateArray","OpenButton","Flex","HeightAnimation","useArrayLimit","useSwitchContainerMode","Toolbar","useTranslation","clearedData","PushContainer","props","data","dataProp","defaultData","defaultDataProp","isolatedData","bubbleValidation","path","title","children","openButton","showOpenButtonWhen","onCommit","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","_objectSpread","pushContainerItems","emptyData","_data$pushContainerIt","firstItem","createElement","transformOnCommit","options","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","withoutFlex","NewContainer","_extends","_ref","_DoneButton","_CancelButton","_excluded2","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","Horizontal","gap","text","onClick","Fragment","open","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { OnCommit, Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport { clearedData } from '../../DataContext/Provider'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n defaultData?: unknown | Record<string, unknown>\n\n /**\n * Provide additional data that will be put into the root of the isolated data context (parallel to \"/pushContainerItems/0\").\n */\n isolatedData?: Record<string, unknown>\n\n /**\n * Prevent the form from being submitted when there are fields with errors inside the PushContainer.\n */\n bubbleValidation?: boolean\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * Will be called when the user clicks on the \"Done\" button.\n */\n onCommit?: OnCommit\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data: dataProp,\n defaultData: defaultDataProp,\n isolatedData,\n bubbleValidation,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n onCommit,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const data = useMemo(() => {\n if (defaultDataProp) {\n return // don't return a fallback, because we want to use the defaultData\n }\n return {\n ...isolatedData,\n pushContainerItems: [dataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const defaultData = useMemo(() => {\n return {\n ...(!dataProp ? isolatedData : null),\n pushContainerItems: [defaultDataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const emptyData = useCallback(\n (data: { pushContainerItems: unknown[] }) => {\n const firstItem = data.pushContainerItems?.[0]\n if (firstItem === null || typeof firstItem !== 'object') {\n return {\n ...isolatedData,\n pushContainerItems: [null],\n }\n }\n return defaultData\n },\n [defaultData, isolatedData]\n )\n\n return (\n <Isolation\n data={data}\n defaultData={defaultData}\n emptyData={emptyData}\n bubbleValidation={bubbleValidation}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ pushContainerItems }) => {\n return moveValueToPath(path, [...entries, ...pushContainerItems])\n }}\n onCommit={(data, options) => {\n const { clearData, preventCommit } = options\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n onCommit?.(data, options)\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/pushContainerItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n withoutFlex\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useEffect","useMemo","useReducer","useRef","Isolation","PushContainerContext","IterateItemContext","DataContext","useDataValue","EditContainer","CancelButton","DoneButton","IterateArray","OpenButton","Flex","HeightAnimation","useArrayLimit","useItemPath","useSwitchContainerMode","Toolbar","useTranslation","clearedData","structuredClone","PushContainer","props","_useContext","forceUpdate","requiredInherited","required","data","dataProp","defaultData","defaultDataProp","isolatedData","bubbleValidation","path","itemPath","title","children","openButton","showOpenButtonWhen","onCommit","rest","_objectWithoutProperties","_excluded","absolutePath","commitHandleRef","switchContainerModeRef","containerModeRef","value","entries","moveValueToPath","getValueByPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","_objectSpread","pushContainerItems","emptyData","_data$pushContainerIt","firstItem","createElement","transformOnCommit","options","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","withoutFlex","NewContainer","_extends","rerenderPushContainer","_ref","_DoneButton","_CancelButton","_excluded2","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","Horizontal","gap","text","onClick","Fragment","open","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { OnCommit, Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport {\n useArrayLimit,\n useItemPath,\n useSwitchContainerMode,\n} from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport { clearedData } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype OnlyPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath?: Path\n}\n\ntype OnlyItemPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path?: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath: Path\n}\n\nexport type Props = (OnlyPathRequired | OnlyItemPathRequired) & {\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * If the fields inside the container are required.\n */\n required?: boolean\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n defaultData?: unknown | Record<string, unknown>\n\n /**\n * Provide additional data that will be put into the root of the isolated data context (parallel to \"/pushContainerItems/0\").\n */\n isolatedData?: Record<string, unknown>\n\n /**\n * Prevent the form from being submitted when there are fields with errors inside the PushContainer.\n */\n bubbleValidation?: boolean\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * Will be called when the user clicks on the \"Done\" button.\n */\n onCommit?: OnCommit\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const requiredInherited = useContext(DataContext)?.required\n\n const {\n data: dataProp,\n defaultData: defaultDataProp,\n isolatedData,\n bubbleValidation,\n path,\n itemPath,\n title,\n required = requiredInherited,\n children,\n openButton,\n showOpenButtonWhen,\n onCommit,\n ...rest\n } = props\n\n const { absolutePath } = useItemPath(itemPath)\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const containerModeRef = useRef<ContainerMode>()\n const {\n value: entries = [],\n moveValueToPath,\n getValueByPath,\n } = useDataValue<Array<unknown>>(path || itemPath)\n\n const { setNextContainerMode } = useSwitchContainerMode(\n path || absolutePath\n )\n const { hasReachedLimit, setShowStatus } = useArrayLimit(\n path || absolutePath\n )\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n itemPath,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const data = useMemo(() => {\n if (defaultDataProp) {\n return // don't return a fallback, because we want to use the defaultData\n }\n return {\n ...isolatedData,\n pushContainerItems: [dataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const defaultData = useMemo(() => {\n return {\n ...(!dataProp ? isolatedData : null),\n pushContainerItems: [defaultDataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const emptyData = useCallback(\n (data: { pushContainerItems: unknown[] }) => {\n const firstItem = data.pushContainerItems?.[0]\n if (firstItem === null || typeof firstItem !== 'object') {\n return {\n ...isolatedData,\n pushContainerItems: [null],\n }\n }\n return defaultData\n },\n [defaultData, isolatedData]\n )\n\n return (\n <Isolation\n data={data}\n defaultData={defaultData}\n required={required}\n emptyData={emptyData}\n bubbleValidation={\n containerModeRef.current === 'view' ? false : bubbleValidation\n }\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ pushContainerItems }) => {\n return moveValueToPath(\n path || absolutePath,\n [...entries, ...pushContainerItems],\n absolutePath ? structuredClone(getValueByPath('/')) : {}\n )\n }}\n onCommit={(data, options) => {\n const { clearData, preventCommit } = options\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n onCommit?.(data, options)\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/pushContainerItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n withoutFlex\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n containerModeRef={containerModeRef}\n rerenderPushContainer={forceUpdate}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n containerModeRef,\n rerenderPushContainer,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n containerModeRef.current = containerMode\n\n useEffect(() => {\n rerenderPushContainer()\n }, [containerMode, rerenderPushContainer])\n\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { Path } from '../../types';
|
|
|
3
3
|
import { ContainerMode } from '../Array';
|
|
4
4
|
type PushContainerContext = {
|
|
5
5
|
path: Path;
|
|
6
|
+
itemPath: Path;
|
|
6
7
|
entries?: Array<unknown>;
|
|
7
8
|
commitHandleRef: React.MutableRefObject<() => void>;
|
|
8
9
|
switchContainerMode?: (mode: ContainerMode) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainerContext.js","names":["createContext","PushContainerContext"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { Path } from '../../types'\nimport { ContainerMode } from '../Array'\n\ntype PushContainerContext = {\n path: Path\n entries?: Array<unknown>\n commitHandleRef: React.MutableRefObject<() => void>\n switchContainerMode?: (mode: ContainerMode) => void\n}\n\nconst PushContainerContext = createContext<PushContainerContext>(null)\n\nexport default PushContainerContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"PushContainerContext.js","names":["createContext","PushContainerContext"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { Path } from '../../types'\nimport { ContainerMode } from '../Array'\n\ntype PushContainerContext = {\n path: Path\n itemPath: Path\n entries?: Array<unknown>\n commitHandleRef: React.MutableRefObject<() => void>\n switchContainerMode?: (mode: ContainerMode) => void\n}\n\nconst PushContainerContext = createContext<PushContainerContext>(null)\n\nexport default PushContainerContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAYrC,MAAMC,oBAAoB,GAAGD,aAAa,CAAuB,IAAI,CAAC;AAEtE,eAAeC,oBAAoB"}
|
|
@@ -5,6 +5,11 @@ export const PushContainerProperties = {
|
|
|
5
5
|
type: 'string',
|
|
6
6
|
status: 'required'
|
|
7
7
|
},
|
|
8
|
+
itemPath: {
|
|
9
|
+
doc: 'The path to the item in a nested array, to add the new item to.',
|
|
10
|
+
type: 'string',
|
|
11
|
+
status: 'optional'
|
|
12
|
+
},
|
|
8
13
|
title: {
|
|
9
14
|
doc: 'The title of the container.',
|
|
10
15
|
type: 'React.Node',
|
|
@@ -25,6 +30,11 @@ export const PushContainerProperties = {
|
|
|
25
30
|
type: 'object',
|
|
26
31
|
status: 'optional'
|
|
27
32
|
},
|
|
33
|
+
required: {
|
|
34
|
+
doc: 'If the fields inside the container are required.',
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
status: 'optional'
|
|
37
|
+
},
|
|
28
38
|
bubbleValidation: {
|
|
29
39
|
doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',
|
|
30
40
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","title","data","defaultData","isolatedData","bubbleValidation","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","itemPath","title","data","defaultData","isolatedData","required","bubbleValidation","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n itemPath: {\n doc: 'The path to the item in a nested array, to add the new item to.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'If the fields inside the container are required.',\n type: 'boolean',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,iEAAiE;IACtEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,KAAK,EAAE;IACLJ,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJL,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,4HAA4H;IACjIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,gBAAgB,EAAE;IAChBT,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDS,kBAAkB,EAAE;IAClBX,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDW,OAAO,EAAE;IACPb,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDY,QAAQ,EAAE;IACRd,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMa,mBAAyC,GAAG;EACvDC,QAAQ,EAAEnB,eAAe,CAACmB;AAC5B,CAAC"}
|
|
@@ -17,7 +17,8 @@ import { trash } from '../../../../icons';
|
|
|
17
17
|
function RemoveButton(props) {
|
|
18
18
|
const iterateItemContext = useContext(IterateItemContext);
|
|
19
19
|
const {
|
|
20
|
-
handleRemove
|
|
20
|
+
handleRemove,
|
|
21
|
+
itemPath
|
|
21
22
|
} = iterateItemContext || {};
|
|
22
23
|
if (!iterateItemContext) {
|
|
23
24
|
throw new Error('RemoveButton must be inside an Iterate.Array');
|
|
@@ -32,20 +33,20 @@ function RemoveButton(props) {
|
|
|
32
33
|
const buttonProps = omitDataValueReadWriteProps(restProps);
|
|
33
34
|
const translation = useTranslation().RemoveButton;
|
|
34
35
|
const textContent = text || children || translation.text;
|
|
35
|
-
const
|
|
36
|
+
const arrayItemAreaContext = useContext(ArrayItemAreaContext);
|
|
36
37
|
const {
|
|
37
38
|
handleRemoveItem
|
|
38
|
-
} =
|
|
39
|
+
} = arrayItemAreaContext || {};
|
|
39
40
|
const handleClick = useCallback(({
|
|
40
41
|
close
|
|
41
42
|
}) => {
|
|
42
43
|
close === null || close === void 0 ? void 0 : close();
|
|
43
|
-
if (handleRemoveItem) {
|
|
44
|
-
handleRemoveItem
|
|
44
|
+
if (handleRemoveItem && !itemPath) {
|
|
45
|
+
handleRemoveItem();
|
|
45
46
|
} else {
|
|
46
47
|
handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove();
|
|
47
48
|
}
|
|
48
|
-
}, [handleRemove, handleRemoveItem]);
|
|
49
|
+
}, [handleRemove, handleRemoveItem, itemPath]);
|
|
49
50
|
const triggerAttributes = _objectSpread({
|
|
50
51
|
className: classnames('dnb-forms-iterate-remove-element-button', className),
|
|
51
52
|
text: textContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","Dialog","IterateItemContext","useTranslation","ArrayItemAreaContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","Error","text","children","className","showConfirmDialog","restProps","_objectWithoutProperties","_excluded","buttonProps","translation","textContent","
|
|
1
|
+
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","Dialog","IterateItemContext","useTranslation","ArrayItemAreaContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","itemPath","Error","text","children","className","showConfirmDialog","restProps","_objectWithoutProperties","_excluded","buttonProps","translation","textContent","arrayItemAreaContext","handleRemoveItem","handleClick","close","triggerAttributes","_objectSpread","variant","icon","icon_position","createElement","title","confirmRemoveText","onConfirm","_extends","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button, Dialog } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useTranslation } from '../../hooks'\nimport ArrayItemAreaContext from '../Array/ArrayItemAreaContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n showConfirmDialog?: boolean\n }\n\nfunction RemoveButton(props: Props) {\n const iterateItemContext = useContext(IterateItemContext)\n const { handleRemove, itemPath } = iterateItemContext || {}\n\n if (!iterateItemContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { text, children, className, showConfirmDialog, ...restProps } =\n props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const arrayItemAreaContext = useContext(ArrayItemAreaContext)\n const { handleRemoveItem } = arrayItemAreaContext || {}\n\n const handleClick = useCallback(\n ({ close }) => {\n close?.()\n\n // - Don't call handleRemoveItem when itemPath is given to support nested arrays\n if (handleRemoveItem && !itemPath) {\n handleRemoveItem()\n } else {\n handleRemove?.()\n }\n },\n [handleRemove, handleRemoveItem, itemPath]\n )\n\n const triggerAttributes: ButtonProps = {\n className: classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n ),\n text: textContent,\n variant: textContent ? 'tertiary' : 'secondary',\n icon: trash,\n icon_position: 'left',\n ...buttonProps,\n }\n\n if (showConfirmDialog) {\n return (\n <Dialog\n variant=\"confirmation\"\n title={translation.confirmRemoveText}\n triggerAttributes={triggerAttributes}\n onConfirm={handleClick}\n />\n )\n }\n\n return (\n <Button\n {...triggerAttributes}\n on_click={handleClick}\n {...buttonProps}\n />\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,MAAM,QAAQ,wBAAwB;AAEvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAOzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,kBAAkB,GAAGX,UAAU,CAACI,kBAAkB,CAAC;EACzD,MAAM;IAAEQ,YAAY;IAAEC;EAAS,CAAC,GAAGF,kBAAkB,IAAI,CAAC,CAAC;EAE3D,IAAI,CAACA,kBAAkB,EAAE;IACvB,MAAM,IAAIG,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC,IAAI;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAgC,CAAC,GAClER,KAAK;IADkDS,SAAS,GAAAC,wBAAA,CAChEV,KAAK,EAAAW,SAAA;EACP,MAAMC,WAAW,GAAGf,2BAA2B,CAACY,SAAS,CAAC;EAC1D,MAAMI,WAAW,GAAGlB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMe,WAAW,GAAGT,IAAI,IAAIC,QAAQ,IAAIO,WAAW,CAACR,IAAI;EAExD,MAAMU,oBAAoB,GAAGzB,UAAU,CAACM,oBAAoB,CAAC;EAC7D,MAAM;IAAEoB;EAAiB,CAAC,GAAGD,oBAAoB,IAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG5B,WAAW,CAC7B,CAAC;IAAE6B;EAAM,CAAC,KAAK;IACbA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,CAAC;IAGT,IAAIF,gBAAgB,IAAI,CAACb,QAAQ,EAAE;MACjCa,gBAAgB,CAAC,CAAC;IACpB,CAAC,MAAM;MACLd,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EACD,CAACA,YAAY,EAAEc,gBAAgB,EAAEb,QAAQ,CAC3C,CAAC;EAED,MAAMgB,iBAA8B,GAAAC,aAAA;IAClCb,SAAS,EAAEhB,UAAU,CACnB,yCAAyC,EACzCgB,SACF,CAAC;IACDF,IAAI,EAAES,WAAW;IACjBO,OAAO,EAAEP,WAAW,GAAG,UAAU,GAAG,WAAW;IAC/CQ,IAAI,EAAExB,KAAK;IACXyB,aAAa,EAAE;EAAM,GAClBX,WAAW,CACf;EAED,IAAIJ,iBAAiB,EAAE;IACrB,OACEpB,KAAA,CAAAoC,aAAA,CAAC/B,MAAM;MACL4B,OAAO,EAAC,cAAc;MACtBI,KAAK,EAAEZ,WAAW,CAACa,iBAAkB;MACrCP,iBAAiB,EAAEA,iBAAkB;MACrCQ,SAAS,EAAEV;IAAY,CACxB,CAAC;EAEN;EAEA,OACE7B,KAAA,CAAAoC,aAAA,CAAChC,MAAM,EAAAoC,QAAA,KACDT,iBAAiB;IACrBU,QAAQ,EAAEZ;EAAY,GAClBL,WAAW,CAChB,CAAC;AAEN;AAEAb,YAAY,CAAC+B,qBAAqB,GAAG,IAAI;AACzC,eAAe/B,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditButton.js","names":["React","useCallback","useContext","Button","useTranslation","IterateItemContext","edit","EditButton","iterateItemContext","switchContainerMode","editButton","IterateViewContainer","editHandler","createElement","variant","icon","icon_position","on_click"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/EditButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { edit } from '../../../../icons'\n\nexport default function EditButton() {\n const iterateItemContext = useContext(IterateItemContext)\n const { switchContainerMode } = iterateItemContext ?? {}\n const { editButton } = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {editButton}\n </Button>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,kBAAkB,GAAGN,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAEI;EAAoB,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EACxD,MAAM;IAAEE;EAAW,CAAC,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAE5D,MAAMC,WAAW,GAAGX,WAAW,CAAC,MAAM;IACpCQ,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACET,KAAA,CAAAa,aAAA,CAACV,MAAM;IACLW,OAAO,EAAC,UAAU;IAClBC,IAAI,
|
|
1
|
+
{"version":3,"file":"EditButton.js","names":["React","useCallback","useContext","Button","useTranslation","IterateItemContext","edit","EditButton","iterateItemContext","switchContainerMode","editButton","IterateViewContainer","editHandler","createElement","variant","className","icon","icon_position","on_click"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/EditButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { edit } from '../../../../icons'\n\nexport default function EditButton() {\n const iterateItemContext = useContext(IterateItemContext)\n const { switchContainerMode } = iterateItemContext ?? {}\n const { editButton } = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Button\n variant=\"tertiary\"\n className=\"dnb-push-container__edit-button\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {editButton}\n </Button>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,kBAAkB,GAAGN,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAEI;EAAoB,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EACxD,MAAM;IAAEE;EAAW,CAAC,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAE5D,MAAMC,WAAW,GAAGX,WAAW,CAAC,MAAM;IACpCQ,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACET,KAAA,CAAAa,aAAA,CAACV,MAAM;IACLW,OAAO,EAAC,UAAU;IAClBC,SAAS,EAAC,iCAAiC;IAC3CC,IAAI,EAAEV,IAAK;IACXW,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAErBF,UACK,CAAC;AAEb"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Props } from '../../Form/Visibility/Visibility';
|
|
2
|
+
export * from '../../Form/Visibility/Visibility';
|
|
3
|
+
declare function IterateVisibility(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare namespace IterateVisibility {
|
|
5
|
+
var _supportsSpacingProps: string;
|
|
6
|
+
}
|
|
7
|
+
export default IterateVisibility;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Visibility from '../../Form/Visibility/Visibility';
|
|
4
|
+
export * from '../../Form/Visibility/Visibility';
|
|
5
|
+
export default function IterateVisibility(props) {
|
|
6
|
+
return React.createElement(Visibility, _extends({
|
|
7
|
+
withinIterate: true
|
|
8
|
+
}, props));
|
|
9
|
+
}
|
|
10
|
+
IterateVisibility._supportsSpacingProps = 'children';
|
|
11
|
+
//# sourceMappingURL=Visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Visibility.js","names":["React","Visibility","IterateVisibility","props","createElement","_extends","withinIterate","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Visibility/Visibility.tsx"],"sourcesContent":["import React from 'react'\nimport Visibility, { Props } from '../../Form/Visibility/Visibility'\nexport * from '../../Form/Visibility/Visibility'\n\nexport default function IterateVisibility(props: Props) {\n return <Visibility withinIterate {...props} />\n}\n\nIterateVisibility._supportsSpacingProps = 'children'\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAiB,kCAAkC;AACpE,cAAc,kCAAkC;AAEhD,eAAe,SAASC,iBAAiBA,CAACC,KAAY,EAAE;EACtD,OAAOH,KAAA,CAAAI,aAAA,CAACH,UAAU,EAAAI,QAAA;IAACC,aAAa;EAAA,GAAKH,KAAK,CAAG,CAAC;AAChD;AAEAD,iBAAiB,CAACK,qBAAqB,GAAG,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Iterate/Visibility/index.ts"],"sourcesContent":["export { default } from './Visibility'\nexport * from './Visibility'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,cAAc,cAAc"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as useItem } from './useItem';
|
|
2
2
|
export { default as useSwitchContainerMode } from './useSwitchContainerMode';
|
|
3
3
|
export { default as useArrayLimit } from './useArrayLimit';
|
|
4
|
+
export { default as useItemPath } from './useItemPath';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","useItem","useSwitchContainerMode","useArrayLimit"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\nexport { default as useArrayLimit } from './useArrayLimit'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASF,OAAO,IAAIG,aAAa,QAAQ,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","useItem","useSwitchContainerMode","useArrayLimit","useItemPath"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\nexport { default as useArrayLimit } from './useArrayLimit'\nexport { default as useItemPath } from './useItemPath'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASF,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,WAAW,QAAQ,eAAe"}
|
|
@@ -4,9 +4,7 @@ type SharedState = {
|
|
|
4
4
|
limit?: number;
|
|
5
5
|
total?: number;
|
|
6
6
|
};
|
|
7
|
-
export default function useArrayLimit(
|
|
8
|
-
path: Path;
|
|
9
|
-
}): {
|
|
7
|
+
export default function useArrayLimit(path: Path): {
|
|
10
8
|
setShowStatus: (show: boolean) => void;
|
|
11
9
|
setLimitProps: (props: Omit<SharedState, 'show'>) => void;
|
|
12
10
|
error: Error;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { useTranslation } from '../../hooks';
|
|
3
3
|
import { useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
4
|
-
export default function useArrayLimit({
|
|
5
|
-
path
|
|
6
|
-
}) {
|
|
4
|
+
export default function useArrayLimit(path) {
|
|
7
5
|
const sharedState = useSharedState(path + '-iterate-limit');
|
|
8
6
|
const {
|
|
9
7
|
set,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArrayLimit.js","names":["useCallback","useTranslation","useSharedState","useArrayLimit","path","sharedState","set","update","extend","data","limit","total","show","setLimitProps","props","setShowStatus","hasReachedLimit","itemsLimitReached","IteratePushContainer","error","Error","replace","String","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useArrayLimit.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTranslation } from '../../hooks'\nimport { Path } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\ntype SharedState = {\n show?: boolean\n limit?: number\n total?: number\n}\n\nexport default function useArrayLimit(
|
|
1
|
+
{"version":3,"file":"useArrayLimit.js","names":["useCallback","useTranslation","useSharedState","useArrayLimit","path","sharedState","set","update","extend","data","limit","total","show","setLimitProps","props","setShowStatus","hasReachedLimit","itemsLimitReached","IteratePushContainer","error","Error","replace","String","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useArrayLimit.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTranslation } from '../../hooks'\nimport { Path } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\ntype SharedState = {\n show?: boolean\n limit?: number\n total?: number\n}\n\nexport default function useArrayLimit(path: Path) {\n const sharedState = useSharedState<SharedState>(path + '-iterate-limit')\n const { set, update, extend, data } = sharedState || {}\n const { limit, total, show } = data || {}\n\n const setLimitProps = useCallback(\n (props: Omit<SharedState, 'show'>) => {\n if (props.total !== total) {\n update(props)\n } else {\n set(props)\n }\n },\n [set, total, update]\n )\n\n const setShowStatus = useCallback(\n (show: boolean) => {\n extend({ show })\n },\n [extend]\n )\n\n const hasReachedLimit = typeof limit === 'number' && total >= limit\n const { itemsLimitReached } = useTranslation().IteratePushContainer\n const error = show\n ? new Error(itemsLimitReached.replace('{limit}', String(limit)))\n : undefined\n\n return { setShowStatus, setLimitProps, error, hasReachedLimit }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,cAAc,QAAQ,aAAa;AAE5C,SAASC,cAAc,QAAQ,2CAA2C;AAQ1E,eAAe,SAASC,aAAaA,CAACC,IAAU,EAAE;EAChD,MAAMC,WAAW,GAAGH,cAAc,CAAcE,IAAI,GAAG,gBAAgB,CAAC;EACxE,MAAM;IAAEE,GAAG;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGJ,WAAW,IAAI,CAAC,CAAC;EACvD,MAAM;IAAEK,KAAK;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGH,IAAI,IAAI,CAAC,CAAC;EAEzC,MAAMI,aAAa,GAAGb,WAAW,CAC9Bc,KAAgC,IAAK;IACpC,IAAIA,KAAK,CAACH,KAAK,KAAKA,KAAK,EAAE;MACzBJ,MAAM,CAACO,KAAK,CAAC;IACf,CAAC,MAAM;MACLR,GAAG,CAACQ,KAAK,CAAC;IACZ;EACF,CAAC,EACD,CAACR,GAAG,EAAEK,KAAK,EAAEJ,MAAM,CACrB,CAAC;EAED,MAAMQ,aAAa,GAAGf,WAAW,CAC9BY,IAAa,IAAK;IACjBJ,MAAM,CAAC;MAAEI;IAAK,CAAC,CAAC;EAClB,CAAC,EACD,CAACJ,MAAM,CACT,CAAC;EAED,MAAMQ,eAAe,GAAG,OAAON,KAAK,KAAK,QAAQ,IAAIC,KAAK,IAAID,KAAK;EACnE,MAAM;IAAEO;EAAkB,CAAC,GAAGhB,cAAc,CAAC,CAAC,CAACiB,oBAAoB;EACnE,MAAMC,KAAK,GAAGP,IAAI,GACd,IAAIQ,KAAK,CAACH,iBAAiB,CAACI,OAAO,CAAC,SAAS,EAAEC,MAAM,CAACZ,KAAK,CAAC,CAAC,CAAC,GAC9Da,SAAS;EAEb,OAAO;IAAER,aAAa;IAAEF,aAAa;IAAEM,KAAK;IAAEH;EAAgB,CAAC;AACjE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useContext } from 'react';
|
|
4
|
+
import IterateItemContext from '../IterateItemContext';
|
|
5
|
+
import usePath from '../../hooks/usePath';
|
|
6
|
+
export default function useItemPath(itemPath) {
|
|
7
|
+
const {
|
|
8
|
+
joinPath
|
|
9
|
+
} = usePath();
|
|
10
|
+
const iterateItemContext = useContext(IterateItemContext);
|
|
11
|
+
const absolutePath = itemPath && iterateItemContext && joinPath([iterateItemContext.path, String(iterateItemContext.index), itemPath]);
|
|
12
|
+
return {
|
|
13
|
+
absolutePath
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=useItemPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useItemPath.js","names":["useContext","IterateItemContext","usePath","useItemPath","itemPath","joinPath","iterateItemContext","absolutePath","path","String","index"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useItemPath.ts"],"sourcesContent":["import { useContext } from 'react'\nimport IterateItemContext from '../IterateItemContext'\nimport usePath from '../../hooks/usePath'\nimport type { Path } from '../../types'\n\nexport default function useItemPath(itemPath: Path) {\n const { joinPath } = usePath()\n const iterateItemContext = useContext(IterateItemContext)\n\n const absolutePath =\n itemPath &&\n iterateItemContext &&\n joinPath([\n iterateItemContext.path,\n String(iterateItemContext.index),\n itemPath,\n ])\n\n return { absolutePath }\n}\n"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,OAAO,MAAM,qBAAqB;AAGzC,eAAe,SAASC,WAAWA,CAACC,QAAc,EAAE;EAClD,MAAM;IAAEC;EAAS,CAAC,GAAGH,OAAO,CAAC,CAAC;EAC9B,MAAMI,kBAAkB,GAAGN,UAAU,CAACC,kBAAkB,CAAC;EAEzD,MAAMM,YAAY,GAChBH,QAAQ,IACRE,kBAAkB,IAClBD,QAAQ,CAAC,CACPC,kBAAkB,CAACE,IAAI,EACvBC,MAAM,CAACH,kBAAkB,CAACI,KAAK,CAAC,EAChCN,QAAQ,CACT,CAAC;EAEJ,OAAO;IAAEG;EAAa,CAAC;AACzB"}
|