@dnb/eufemia 10.46.0 → 10.48.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 +53 -0
- package/cjs/components/accordion/Accordion.d.ts +17 -1
- package/cjs/components/accordion/Accordion.js +4 -2
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionContext.d.ts +4 -0
- package/cjs/components/accordion/AccordionContext.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.js +6 -1
- package/cjs/components/accordion/AccordionDocs.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +5 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
- package/cjs/components/accordion/AccordionStore.js +2 -1
- package/cjs/components/accordion/AccordionStore.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +3 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/Button.d.ts +1 -1
- package/cjs/components/button/Button.js +5 -2
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +1 -1
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/copy-on-click/CopyOnClick.d.ts +1 -1
- package/cjs/components/copy-on-click/CopyOnClick.js +5 -4
- package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/cjs/components/copy-on-click/CopyOnClickDocs.js +5 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
- package/cjs/components/copy-on-click/types.d.ts +5 -0
- package/cjs/components/copy-on-click/types.js.map +1 -1
- package/cjs/components/drawer/style/dnb-drawer.css +3 -3
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/flex/Container.js +9 -1
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/utils.d.ts +1 -1
- package/cjs/components/flex/utils.js +1 -1
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/grid/style/dnb-grid.css +6 -6
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/lib.d.ts +1 -1
- package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +2 -2
- package/cjs/components/section/style/dnb-section.min.css +2 -2
- package/cjs/components/space/style/dnb-space.css +2 -2
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tag/Tag.js +2 -2
- package/cjs/components/tag/Tag.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +9 -5
- package/cjs/extensions/forms/DataContext/Context.js +0 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +36 -16
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -11
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.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/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +20 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +7 -2
- package/cjs/extensions/forms/Form/Section/Section.js +3 -1
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +71 -28
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
- package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.js → Array/ArrayItemArea.js} +66 -49
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
- package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlockContext.js → Array/ArrayItemAreaContext.js} +3 -3
- package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +7 -5
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
- package/cjs/extensions/forms/Iterate/EditContainer/{EditToolbarTools.js → CancelButton.js} +30 -56
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +75 -0
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +33 -12
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/EditContainer/index.js +19 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
- package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -24
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -6
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
- package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js +12 -0
- package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/{ViewToolbarTools.js → EditButton.js} +8 -11
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +19 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +25 -10
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/index.js +19 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js +21 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +93 -0
- package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
- package/cjs/extensions/forms/Tools/Log.d.ts +6 -0
- package/cjs/extensions/forms/Tools/Log.js +29 -0
- package/cjs/extensions/forms/Tools/Log.js.map +1 -0
- package/cjs/extensions/forms/Tools/index.d.ts +1 -0
- package/cjs/extensions/forms/Tools/index.js +7 -0
- package/cjs/extensions/forms/Tools/index.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Value/Date/Date.js +15 -5
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/constants/countries.d.ts +5 -2
- package/cjs/extensions/forms/constants/countries.js +81 -25
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -5
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +8 -6
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +317 -121
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +1 -0
- package/cjs/extensions/forms/hooks/usePath.js +5 -1
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +13 -10
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +32 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +3 -6
- 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 +37 -34
- package/cjs/style/dnb-ui-components.min.css +5 -5
- 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 +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +13 -10
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +13 -10
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +2 -2
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +51 -45
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/Accordion.d.ts +17 -1
- package/components/accordion/Accordion.js +4 -2
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionContext.d.ts +4 -0
- package/components/accordion/AccordionContext.js.map +1 -1
- package/components/accordion/AccordionDocs.js +6 -1
- package/components/accordion/AccordionDocs.js.map +1 -1
- package/components/accordion/AccordionGroup.js +5 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/components/accordion/AccordionProviderContext.js.map +1 -1
- package/components/accordion/AccordionStore.js +2 -1
- package/components/accordion/AccordionStore.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +3 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/Button.d.ts +1 -1
- package/components/button/Button.js +5 -2
- package/components/button/Button.js.map +1 -1
- package/components/card/style/dnb-card.css +1 -1
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/copy-on-click/CopyOnClick.d.ts +1 -1
- package/components/copy-on-click/CopyOnClick.js +5 -4
- package/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/components/copy-on-click/CopyOnClickDocs.js +5 -0
- package/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
- package/components/copy-on-click/types.d.ts +5 -0
- package/components/copy-on-click/types.js.map +1 -1
- package/components/drawer/style/dnb-drawer.css +3 -3
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.css +1 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/flex/Container.js +10 -2
- package/components/flex/Container.js.map +1 -1
- package/components/flex/utils.d.ts +1 -1
- package/components/flex/utils.js +1 -1
- package/components/flex/utils.js.map +1 -1
- package/components/form-row/style/dnb-form-row.css +1 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/grid/style/dnb-grid.css +6 -6
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/lib.d.ts +1 -1
- package/components/progress-indicator/ProgressIndicator.js +2 -2
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/section/style/dnb-section.css +2 -2
- package/components/section/style/dnb-section.min.css +2 -2
- package/components/space/style/dnb-space.css +2 -2
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/tabs/Tabs.js +2 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tag/Tag.js +2 -2
- package/components/tag/Tag.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/accordion/Accordion.d.ts +17 -1
- package/es/components/accordion/Accordion.js +4 -2
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionContext.d.ts +4 -0
- package/es/components/accordion/AccordionContext.js.map +1 -1
- package/es/components/accordion/AccordionDocs.js +6 -1
- package/es/components/accordion/AccordionDocs.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +5 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/es/components/accordion/AccordionProviderContext.js.map +1 -1
- package/es/components/accordion/AccordionStore.js +2 -1
- package/es/components/accordion/AccordionStore.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +3 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/Button.d.ts +1 -1
- package/es/components/button/Button.js +5 -2
- package/es/components/button/Button.js.map +1 -1
- package/es/components/card/style/dnb-card.css +1 -1
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/copy-on-click/CopyOnClick.d.ts +1 -1
- package/es/components/copy-on-click/CopyOnClick.js +5 -4
- package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/es/components/copy-on-click/CopyOnClickDocs.js +5 -0
- package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
- package/es/components/copy-on-click/types.d.ts +5 -0
- package/es/components/copy-on-click/types.js.map +1 -1
- package/es/components/drawer/style/dnb-drawer.css +3 -3
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/flex/Container.js +10 -2
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/utils.d.ts +1 -1
- package/es/components/flex/utils.js +1 -1
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.css +1 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/grid/style/dnb-grid.css +6 -6
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/lib.d.ts +1 -1
- package/es/components/progress-indicator/ProgressIndicator.js +2 -2
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/section/style/dnb-section.css +2 -2
- package/es/components/section/style/dnb-section.min.css +2 -2
- package/es/components/space/style/dnb-space.css +2 -2
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/tabs/Tabs.js +2 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tag/Tag.js +2 -2
- package/es/components/tag/Tag.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +9 -5
- package/es/extensions/forms/DataContext/Context.js +0 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -5
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
- package/es/extensions/forms/DataContext/Provider/Provider.js +36 -16
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.js +7 -7
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +33 -11
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.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/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +7 -2
- package/es/extensions/forms/Form/Section/Section.js +3 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +71 -29
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
- package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
- package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
- package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
- package/es/extensions/forms/Iterate/Array/types.d.ts +7 -5
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +87 -0
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/EditContainer/index.js +2 -0
- package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/es/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
- package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -23
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +51 -7
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
- package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
- package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
- package/{extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → es/extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/ViewContainer/index.js +2 -0
- package/es/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/hooks/index.js +3 -0
- package/es/extensions/forms/Iterate/hooks/index.js.map +1 -0
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +85 -0
- package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
- package/es/extensions/forms/Tools/Log.d.ts +6 -0
- package/es/extensions/forms/Tools/Log.js +22 -0
- package/es/extensions/forms/Tools/Log.js.map +1 -0
- package/es/extensions/forms/Tools/index.d.ts +1 -0
- package/es/extensions/forms/Tools/index.js +1 -0
- package/es/extensions/forms/Tools/index.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Value/Date/Date.js +15 -5
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +18 -7
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/constants/countries.d.ts +5 -2
- package/es/extensions/forms/constants/countries.js +81 -25
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +10 -5
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/es/extensions/forms/hooks/useDataValue.js +7 -7
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +8 -6
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +309 -119
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +1 -0
- package/es/extensions/forms/hooks/usePath.js +5 -1
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +13 -10
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +32 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +3 -6
- 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 +37 -34
- package/es/style/dnb-ui-components.min.css +5 -5
- 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 +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +13 -10
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +13 -10
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +2 -2
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +51 -45
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- 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 +9 -5
- package/extensions/forms/DataContext/Context.js +0 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
- package/extensions/forms/DataContext/Provider/Provider.js +36 -16
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.js +7 -7
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +33 -11
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.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/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +7 -2
- package/extensions/forms/Form/Section/Section.js +3 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
- package/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +72 -29
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
- package/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
- package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
- package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
- package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
- package/extensions/forms/Iterate/Array/types.d.ts +7 -5
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +88 -0
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
- package/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
- package/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
- package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
- package/extensions/forms/Iterate/EditContainer/index.js +2 -0
- package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
- package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
- package/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -26
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -7
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
- package/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
- package/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
- package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
- package/{es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
- package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
- package/extensions/forms/Iterate/ViewContainer/index.js +2 -0
- package/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
- package/extensions/forms/Iterate/hooks/index.d.ts +2 -0
- package/extensions/forms/Iterate/hooks/index.js +3 -0
- package/extensions/forms/Iterate/hooks/index.js.map +1 -0
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +87 -0
- package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
- package/extensions/forms/Tools/Log.d.ts +6 -0
- package/extensions/forms/Tools/Log.js +22 -0
- package/extensions/forms/Tools/Log.js.map +1 -0
- package/extensions/forms/Tools/index.d.ts +1 -0
- package/extensions/forms/Tools/index.js +1 -0
- package/extensions/forms/Tools/index.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/extensions/forms/Value/Date/Date.js +15 -5
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/constants/countries.d.ts +5 -2
- package/extensions/forms/constants/countries.js +81 -25
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +10 -5
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/extensions/forms/hooks/useDataValue.js +7 -7
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +8 -6
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +318 -122
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +1 -0
- package/extensions/forms/hooks/usePath.js +5 -1
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +13 -10
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +32 -2
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +3 -6
- 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 +37 -34
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +13 -10
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +13 -10
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-fragments.css +2 -2
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +51 -45
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- 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 +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/cjs/shared/helpers/useUnmountEffect.js +0 -14
- package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -113
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/es/shared/helpers/useUnmountEffect.js +0 -9
- package/es/shared/helpers/useUnmountEffect.js.map +0 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -114
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/shared/helpers/useUnmountEffect.js +0 -9
- package/shared/helpers/useUnmountEffect.js.map +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Path } from '../types';
|
|
3
3
|
import { ContainerMode } from './Array/types';
|
|
4
|
+
export type ModeOptions = {
|
|
5
|
+
omitFocusManagement?: boolean;
|
|
6
|
+
};
|
|
4
7
|
export interface IterateItemContextState {
|
|
5
8
|
id?: string;
|
|
6
9
|
index?: number;
|
|
@@ -9,9 +12,12 @@ export interface IterateItemContextState {
|
|
|
9
12
|
path?: Path;
|
|
10
13
|
arrayValue?: Array<unknown>;
|
|
11
14
|
containerMode?: ContainerMode;
|
|
15
|
+
previousContainerMode?: ContainerMode;
|
|
16
|
+
initialContainerMode?: ContainerMode;
|
|
12
17
|
containerRef?: React.RefObject<HTMLDivElement>;
|
|
13
18
|
elementRef?: React.RefObject<HTMLDivElement>;
|
|
14
|
-
|
|
19
|
+
modeOptions?: ModeOptions;
|
|
20
|
+
switchContainerMode?: (mode: ContainerMode, options?: ModeOptions) => void;
|
|
15
21
|
handleChange?: (path: Path, value: unknown) => void;
|
|
16
22
|
handleRemove?: ({ keepItems }?: {
|
|
17
23
|
keepItems?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IterateItemContext.js","names":["React","IterateItemContext","createContext","undefined"],"sources":["../../../../../src/extensions/forms/Iterate/IterateItemContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../types'\nimport { ContainerMode } from './Array/types'\n\nexport interface IterateItemContextState {\n id?: string\n index?: number\n value?: unknown\n isNew?: boolean\n path?: Path\n arrayValue?: Array<unknown>\n containerMode?: ContainerMode\n containerRef?: React.RefObject<HTMLDivElement>\n elementRef?: React.RefObject<HTMLDivElement>\n switchContainerMode?: (mode: ContainerMode) => void\n handleChange?: (path: Path, value: unknown) => void\n handleRemove?: ({ keepItems }?: { keepItems?: boolean }) => void\n handlePush?: (value: unknown) => void\n restoreOriginalValue?: (value: unknown) => void\n fulfillRemove?: () => void\n}\n\nconst IterateItemContext = React.createContext<\n IterateItemContextState | undefined\n>(undefined)\n\nexport default IterateItemContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"IterateItemContext.js","names":["React","IterateItemContext","createContext","undefined"],"sources":["../../../../../src/extensions/forms/Iterate/IterateItemContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../types'\nimport { ContainerMode } from './Array/types'\n\nexport type ModeOptions = {\n omitFocusManagement?: boolean\n}\n\nexport interface IterateItemContextState {\n id?: string\n index?: number\n value?: unknown\n isNew?: boolean\n path?: Path\n arrayValue?: Array<unknown>\n containerMode?: ContainerMode\n previousContainerMode?: ContainerMode\n initialContainerMode?: ContainerMode\n containerRef?: React.RefObject<HTMLDivElement>\n elementRef?: React.RefObject<HTMLDivElement>\n modeOptions?: ModeOptions\n switchContainerMode?: (\n mode: ContainerMode,\n options?: ModeOptions\n ) => void\n handleChange?: (path: Path, value: unknown) => void\n handleRemove?: ({ keepItems }?: { keepItems?: boolean }) => void\n handlePush?: (value: unknown) => void\n restoreOriginalValue?: (value: unknown) => void\n fulfillRemove?: () => void\n}\n\nconst IterateItemContext = React.createContext<\n IterateItemContextState | undefined\n>(undefined)\n\nexport default IterateItemContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAgCzB,MAAMC,kBAAkB,GAAGD,KAAK,CAACE,aAAa,CAE5CC,SAAS,CAAC;AAEZ,eAAeF,kBAAkB"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { ButtonProps } from '../../../../components/Button';
|
|
2
|
-
import {
|
|
3
|
-
export type Props = ButtonProps &
|
|
2
|
+
import { Path } from '../../types';
|
|
3
|
+
export type Props = ButtonProps & {
|
|
4
|
+
path?: Path;
|
|
4
5
|
pushValue: unknown | ((value: unknown) => void);
|
|
6
|
+
/**
|
|
7
|
+
* Used internally
|
|
8
|
+
*/
|
|
9
|
+
value?: unknown;
|
|
5
10
|
};
|
|
6
11
|
declare function PushButton(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
12
|
declare namespace PushButton {
|
|
@@ -2,41 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
const _excluded = ["pushValue", "className"];
|
|
5
|
+
const _excluded = ["pushValue", "className", "path", "children"];
|
|
6
6
|
import React, { useCallback, useContext } from 'react';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
import { Button } from '../../../../components';
|
|
9
9
|
import IterateItemContext from '../IterateItemContext';
|
|
10
|
-
import {
|
|
10
|
+
import { useSwitchContainerMode } from '../hooks';
|
|
11
11
|
import { omitDataValueReadWriteProps } from '../../types';
|
|
12
12
|
import { add } from '../../../../icons';
|
|
13
|
+
import DataContext from '../../DataContext/Context';
|
|
14
|
+
import useDataValue from '../../hooks/useDataValue';
|
|
13
15
|
function PushButton(props) {
|
|
16
|
+
const {
|
|
17
|
+
handlePathChange
|
|
18
|
+
} = useContext(DataContext) || {};
|
|
14
19
|
const iterateItemContext = useContext(IterateItemContext);
|
|
15
20
|
const {
|
|
16
21
|
handlePush
|
|
17
22
|
} = iterateItemContext !== null && iterateItemContext !== void 0 ? iterateItemContext : {};
|
|
18
23
|
const {
|
|
19
24
|
pushValue,
|
|
20
|
-
className
|
|
25
|
+
className,
|
|
26
|
+
path,
|
|
27
|
+
children
|
|
21
28
|
} = props,
|
|
22
29
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
23
30
|
const buttonProps = omitDataValueReadWriteProps(restProps);
|
|
24
|
-
const
|
|
25
|
-
value,
|
|
26
|
-
handleChange,
|
|
27
|
-
children
|
|
28
|
-
} = useFieldProps(restProps);
|
|
31
|
+
const value = useDataValue().getValueByPath(path);
|
|
29
32
|
if (value !== undefined && !Array.isArray(value)) {
|
|
30
33
|
throw new Error('PushButton received a non-array value');
|
|
31
34
|
}
|
|
32
|
-
const
|
|
35
|
+
const {
|
|
36
|
+
setLastItemContainerMode
|
|
37
|
+
} = useSwitchContainerMode({
|
|
38
|
+
path
|
|
39
|
+
});
|
|
40
|
+
const handleClick = useCallback(async () => {
|
|
33
41
|
const newValue = typeof pushValue === 'function' ? pushValue(value) : pushValue;
|
|
34
42
|
if (handlePush) {
|
|
35
43
|
handlePush(newValue);
|
|
36
|
-
|
|
44
|
+
} else {
|
|
45
|
+
await (handlePathChange === null || handlePathChange === void 0 ? void 0 : handlePathChange(path, [...(value !== null && value !== void 0 ? value : []), newValue]));
|
|
37
46
|
}
|
|
38
|
-
|
|
39
|
-
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
setLastItemContainerMode('view');
|
|
49
|
+
}, 100);
|
|
50
|
+
}, [handlePathChange, handlePush, path, pushValue, setLastItemContainerMode, value]);
|
|
40
51
|
return React.createElement(Button, _extends({
|
|
41
52
|
className: classnames('dnb-forms-iterate-push-button', className),
|
|
42
53
|
variant: "secondary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","
|
|
1
|
+
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","useSwitchContainerMode","omitDataValueReadWriteProps","add","DataContext","useDataValue","PushButton","props","handlePathChange","iterateItemContext","handlePush","pushValue","className","path","children","restProps","_objectWithoutProperties","_excluded","buttonProps","value","getValueByPath","undefined","Array","isArray","Error","setLastItemContainerMode","handleClick","newValue","setTimeout","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useSwitchContainerMode } from '../hooks'\nimport { omitDataValueReadWriteProps, Path } from '../../types'\nimport { add } from '../../../../icons'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type Props = ButtonProps & {\n path?: 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 { pushValue, className, path, children, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const value = useDataValue().getValueByPath(path)\n\n if (value !== undefined && !Array.isArray(value)) {\n throw new Error('PushButton received a non-array value')\n }\n\n const { setLastItemContainerMode } = useSwitchContainerMode({\n path,\n })\n\n const handleClick = useCallback(async () => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(value) : pushValue\n\n if (handlePush) {\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, [...(value ?? []), newValue])\n }\n\n setTimeout(() => {\n setLastItemContainerMode('view')\n }, 100) // UX improvement because of the \"openDelay\"\n }, [\n handlePathChange,\n handlePush,\n path,\n pushValue,\n setLastItemContainerMode,\n value,\n ])\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 {children}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,sBAAsB,QAAQ,UAAU;AACjD,SAASC,2BAA2B,QAAc,aAAa;AAC/D,SAASC,GAAG,QAAQ,mBAAmB;AACvC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,YAAY,MAAM,0BAA0B;AAYnD,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAM;IAAEC;EAAiB,CAAC,GAAGX,UAAU,CAACO,WAAW,CAAC,IAAI,CAAC,CAAC;EAC1D,MAAMK,kBAAkB,GAAGZ,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAEU;EAAW,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EAE/C,MAAM;MAAEE,SAAS;MAAEC,SAAS;MAAEC,IAAI;MAAEC;IAAuB,CAAC,GAAGP,KAAK;IAAnBQ,SAAS,GAAAC,wBAAA,CAAKT,KAAK,EAAAU,SAAA;EACpE,MAAMC,WAAW,GAAGhB,2BAA2B,CAACa,SAAS,CAAC;EAC1D,MAAMI,KAAK,GAAGd,YAAY,CAAC,CAAC,CAACe,cAAc,CAACP,IAAI,CAAC;EAEjD,IAAIM,KAAK,KAAKE,SAAS,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IAChD,MAAM,IAAIK,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EAEA,MAAM;IAAEC;EAAyB,CAAC,GAAGxB,sBAAsB,CAAC;IAC1DY;EACF,CAAC,CAAC;EAEF,MAAMa,WAAW,GAAG9B,WAAW,CAAC,YAAY;IAC1C,MAAM+B,QAAQ,GACZ,OAAOhB,SAAS,KAAK,UAAU,GAAGA,SAAS,CAACQ,KAAK,CAAC,GAAGR,SAAS;IAEhE,IAAID,UAAU,EAAE;MAEdA,UAAU,CAACiB,QAAQ,CAAC;IACtB,CAAC,MAAM;MAEL,OAAMnB,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAGK,IAAI,EAAE,CAAC,IAAIM,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,EAAEQ,QAAQ,CAAC,CAAC;IAC9D;IAEAC,UAAU,CAAC,MAAM;MACfH,wBAAwB,CAAC,MAAM,CAAC;IAClC,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EAAE,CACDjB,gBAAgB,EAChBE,UAAU,EACVG,IAAI,EACJF,SAAS,EACTc,wBAAwB,EACxBN,KAAK,CACN,CAAC;EAEF,OACExB,KAAA,CAAAkC,aAAA,CAAC9B,MAAM,EAAA+B,QAAA;IACLlB,SAAS,EAAEd,UAAU,CAAC,+BAA+B,EAAEc,SAAS,CAAE;IAClEmB,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAE7B,GAAI;IACV8B,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAER;EAAY,GAClBR,WAAW,GAEdJ,QACK,CAAC;AAEb;AAEAR,UAAU,CAAC6B,qBAAqB,GAAG,IAAI;AACvC,eAAe7B,UAAU"}
|
|
@@ -22,7 +22,11 @@ export type Props = {
|
|
|
22
22
|
/**
|
|
23
23
|
* Prefilled data to add to the fields.
|
|
24
24
|
*/
|
|
25
|
-
data?: Record<string, unknown>;
|
|
25
|
+
data?: unknown | Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* A custom toolbar to be shown below the container.
|
|
28
|
+
*/
|
|
29
|
+
toolbar?: React.ReactNode;
|
|
26
30
|
/**
|
|
27
31
|
* The container contents.
|
|
28
32
|
*/
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
|
|
6
|
+
var _CancelButton;
|
|
7
|
+
const _excluded = ["data", "path", "title", "children", "openButton", "showOpenButtonWhen"],
|
|
8
|
+
_excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "children"];
|
|
7
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
import React, { useRef } from 'react';
|
|
11
|
+
import React, { useCallback, useContext, useMemo, useRef } from 'react';
|
|
10
12
|
import Isolation from '../../Form/Isolation';
|
|
11
13
|
import PushContainerContext from './PushContainerContext';
|
|
12
14
|
import IterateItemContext from '../IterateItemContext';
|
|
15
|
+
import DataContext from '../../DataContext/Context';
|
|
13
16
|
import useDataValue from '../../hooks/useDataValue';
|
|
14
|
-
import EditContainer from '../EditContainer';
|
|
17
|
+
import EditContainer, { CancelButton, DoneButton } from '../EditContainer';
|
|
15
18
|
import IterateArray from '../Array';
|
|
16
19
|
import OpenButton from './OpenButton';
|
|
17
|
-
import { HeightAnimation } from '../../../../components';
|
|
20
|
+
import { Flex, HeightAnimation } from '../../../../components';
|
|
21
|
+
import { useSwitchContainerMode } from '../hooks';
|
|
22
|
+
import Toolbar from '../Toolbar';
|
|
23
|
+
import { useTranslation } from '../../hooks';
|
|
18
24
|
function PushContainer(props) {
|
|
19
25
|
const {
|
|
20
|
-
data =
|
|
26
|
+
data = null,
|
|
21
27
|
path,
|
|
22
28
|
title,
|
|
23
29
|
children,
|
|
@@ -33,6 +39,11 @@ function PushContainer(props) {
|
|
|
33
39
|
} = useDataValue({
|
|
34
40
|
path
|
|
35
41
|
});
|
|
42
|
+
const {
|
|
43
|
+
setNextContainerMode
|
|
44
|
+
} = useSwitchContainerMode({
|
|
45
|
+
path
|
|
46
|
+
});
|
|
36
47
|
const showOpenButton = showOpenButtonWhen === null || showOpenButtonWhen === void 0 ? void 0 : showOpenButtonWhen(entries);
|
|
37
48
|
const newItemContextProps = {
|
|
38
49
|
path,
|
|
@@ -40,39 +51,83 @@ function PushContainer(props) {
|
|
|
40
51
|
commitHandleRef,
|
|
41
52
|
switchContainerMode: switchContainerModeRef.current
|
|
42
53
|
};
|
|
54
|
+
const defaultData = useMemo(() => {
|
|
55
|
+
return {
|
|
56
|
+
newItems: [data]
|
|
57
|
+
};
|
|
58
|
+
}, [data]);
|
|
43
59
|
return React.createElement(Isolation, {
|
|
60
|
+
defaultData: defaultData,
|
|
61
|
+
emptyData: defaultData,
|
|
44
62
|
commitHandleRef: commitHandleRef,
|
|
45
63
|
transformOnCommit: ({
|
|
46
|
-
|
|
64
|
+
newItems
|
|
47
65
|
}) => {
|
|
48
|
-
return moveValueToPath(path, [...entries,
|
|
49
|
-
__containerMode: 'view'
|
|
50
|
-
})]);
|
|
66
|
+
return moveValueToPath(path, [...entries, ...newItems]);
|
|
51
67
|
},
|
|
52
68
|
onCommit: (data, {
|
|
53
69
|
clearData
|
|
54
70
|
}) => {
|
|
55
71
|
var _switchContainerModeR;
|
|
56
|
-
|
|
72
|
+
setNextContainerMode('view');
|
|
57
73
|
(_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
|
|
74
|
+
clearData();
|
|
58
75
|
}
|
|
59
76
|
}, React.createElement(PushContainerContext.Provider, {
|
|
60
77
|
value: newItemContextProps
|
|
61
78
|
}, React.createElement(IterateArray, {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}, React.createElement(
|
|
79
|
+
path: "/newItems",
|
|
80
|
+
containerMode: showOpenButton ? 'view' : 'edit'
|
|
81
|
+
}, React.createElement(NewContainer, _extends({
|
|
82
|
+
title: title,
|
|
83
|
+
openButton: openButton,
|
|
84
|
+
switchContainerModeRef: switchContainerModeRef,
|
|
85
|
+
showOpenButton: showOpenButton
|
|
86
|
+
}, rest), children))));
|
|
87
|
+
}
|
|
88
|
+
function NewContainer(_ref) {
|
|
89
|
+
var _DoneButton;
|
|
90
|
+
let {
|
|
91
|
+
title,
|
|
92
|
+
openButton,
|
|
93
|
+
showOpenButton,
|
|
94
|
+
switchContainerModeRef,
|
|
95
|
+
children
|
|
96
|
+
} = _ref,
|
|
97
|
+
rest = _objectWithoutProperties(_ref, _excluded2);
|
|
98
|
+
const {
|
|
65
99
|
containerMode,
|
|
66
100
|
switchContainerMode
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
101
|
+
} = useContext(IterateItemContext) || {};
|
|
102
|
+
switchContainerModeRef.current = switchContainerMode;
|
|
103
|
+
const {
|
|
104
|
+
createButton
|
|
105
|
+
} = useTranslation().IteratePushContainer;
|
|
106
|
+
const {
|
|
107
|
+
clearData
|
|
108
|
+
} = useContext(DataContext) || {};
|
|
109
|
+
const restoreOriginalValue = useCallback(() => {
|
|
110
|
+
clearData === null || clearData === void 0 ? void 0 : clearData();
|
|
111
|
+
}, [clearData]);
|
|
112
|
+
const toolbar = React.createElement(Toolbar, null, React.createElement(IterateItemContext.Consumer, null, context => {
|
|
113
|
+
const newItemContextProps = _objectSpread(_objectSpread({}, context), {}, {
|
|
114
|
+
restoreOriginalValue
|
|
115
|
+
});
|
|
116
|
+
return React.createElement(IterateItemContext.Provider, {
|
|
117
|
+
value: newItemContextProps
|
|
118
|
+
}, React.createElement(Flex.Horizontal, {
|
|
119
|
+
gap: "large"
|
|
120
|
+
}, _DoneButton || (_DoneButton = React.createElement(DoneButton, {
|
|
121
|
+
text: createButton
|
|
122
|
+
})), showOpenButton && (_CancelButton || (_CancelButton = React.createElement(CancelButton, null)))));
|
|
123
|
+
}));
|
|
124
|
+
return React.createElement(React.Fragment, null, React.createElement(EditContainer, _extends({
|
|
125
|
+
open: !showOpenButton || containerMode === 'edit',
|
|
126
|
+
title: title,
|
|
127
|
+
toolbar: toolbar
|
|
128
|
+
}, rest), children), openButton && typeof showOpenButton === 'boolean' && React.createElement(HeightAnimation, {
|
|
129
|
+
open: showOpenButton && containerMode === 'view'
|
|
130
|
+
}, openButton));
|
|
76
131
|
}
|
|
77
132
|
PushContainer.OpenButton = OpenButton;
|
|
78
133
|
PushContainer._supportsSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainer.js","names":["React","useRef","Isolation","PushContainerContext","IterateItemContext","useDataValue","EditContainer","IterateArray","OpenButton","HeightAnimation","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","showOpenButton","newItemContextProps","switchContainerMode","current","
|
|
1
|
+
{"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useMemo","useRef","Isolation","PushContainerContext","IterateItemContext","DataContext","useDataValue","EditContainer","CancelButton","DoneButton","IterateArray","OpenButton","Flex","HeightAnimation","useSwitchContainerMode","Toolbar","useTranslation","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","setNextContainerMode","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","newItems","createElement","emptyData","transformOnCommit","onCommit","clearData","_switchContainerModeR","call","Provider","containerMode","NewContainer","_extends","_ref","_DoneButton","_excluded2","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","_objectSpread","Horizontal","gap","text","_CancelButton","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 { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\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.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\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\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData }) => {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\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 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 && <CancelButton />}\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":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACvE,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,aAAa,IAAIC,YAAY,EAAEC,UAAU,QAAQ,kBAAkB;AAC1E,OAAOC,YAAY,MAAyB,UAAU;AACtD,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,IAAI,EAAEC,eAAe,QAAQ,wBAAwB;AAG9D,SAASC,sBAAsB,QAAQ,UAAU;AACjD,OAAOC,OAAO,MAAM,YAAY;AAChC,SAASC,cAAc,QAAQ,aAAa;AA0C5C,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAM;MACJC,IAAI,GAAG,IAAI;MACXC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,UAAU;MACVC;IAEF,CAAC,GAAGN,KAAK;IADJO,IAAI,GAAAC,wBAAA,CACLR,KAAK,EAAAS,SAAA;EAET,MAAMC,eAAe,GAAG3B,MAAM,CAAa,CAAC;EAC5C,MAAM4B,sBAAsB,GAAG5B,MAAM,CAAgC,CAAC;EACtE,MAAM;IAAE6B,KAAK,EAAEC,OAAO,GAAG,EAAE;IAAEC;EAAgB,CAAC,GAAG1B,YAAY,CAE3D;IAAEc;EAAK,CAAC,CAAC;EAEX,MAAM;IAAEa;EAAqB,CAAC,GAAGnB,sBAAsB,CAAC;IAAEM;EAAK,CAAC,CAAC;EAEjE,MAAMc,cAAc,GAAGV,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGO,OAAO,CAAC;EACpD,MAAMI,mBAAyC,GAAG;IAChDf,IAAI;IACJW,OAAO;IACPH,eAAe;IACfQ,mBAAmB,EAAEP,sBAAsB,CAACQ;EAC9C,CAAC;EAED,MAAMC,WAAW,GAAGtC,OAAO,CAAC,MAAM;IAChC,OAAO;MAAEuC,QAAQ,EAAE,CAACpB,IAAI;IAAE,CAAC;EAC7B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OACEtB,KAAA,CAAA2C,aAAA,CAACtC,SAAS;IACRoC,WAAW,EAAEA,WAAY;IACzBG,SAAS,EAAEH,WAAY;IACvBV,eAAe,EAAEA,eAAgB;IACjCc,iBAAiB,EAAEA,CAAC;MAAEH;IAAS,CAAC,KAAK;MACnC,OAAOP,eAAe,CAACZ,IAAI,EAAE,CAAC,GAAGW,OAAO,EAAE,GAAGQ,QAAQ,CAAC,CAAC;IACzD,CAAE;IACFI,QAAQ,EAAEA,CAACxB,IAAI,EAAE;MAAEyB;IAAU,CAAC,KAAK;MAAA,IAAAC,qBAAA;MACjCZ,oBAAoB,CAAC,MAAM,CAAC;MAC5B,CAAAY,qBAAA,GAAAhB,sBAAsB,CAACQ,OAAO,cAAAQ,qBAAA,uBAA9BA,qBAAA,CAAAC,IAAA,CAAAjB,sBAAsB,EAAW,MAAM,CAAC;MACxCe,SAAS,CAAC,CAAC;IACb;EAAE,GAEF/C,KAAA,CAAA2C,aAAA,CAACrC,oBAAoB,CAAC4C,QAAQ;IAACjB,KAAK,EAAEK;EAAoB,GACxDtC,KAAA,CAAA2C,aAAA,CAAC9B,YAAY;IACXU,IAAI,EAAC,WAAW;IAChB4B,aAAa,EAAEd,cAAc,GAAG,MAAM,GAAG;EAAO,GAEhDrC,KAAA,CAAA2C,aAAA,CAACS,YAAY,EAAAC,QAAA;IACX7B,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBM,sBAAsB,EAAEA,sBAAuB;IAC/CK,cAAc,EAAEA;EAAe,GAC3BT,IAAI,GAEPH,QACW,CACF,CACe,CACtB,CAAC;AAEhB;AAEA,SAAS2B,YAAYA,CAAAE,IAAA,EAOlB;EAAA,IAAAC,WAAA;EAAA,IAPmB;MACpB/B,KAAK;MACLE,UAAU;MACVW,cAAc;MACdL,sBAAsB;MACtBP;IAEF,CAAC,GAAA6B,IAAA;IADI1B,IAAI,GAAAC,wBAAA,CAAAyB,IAAA,EAAAE,UAAA;EAEP,MAAM;IAAEL,aAAa;IAAEZ;EAAoB,CAAC,GAC1CrC,UAAU,CAACK,kBAAkB,CAAC,IAAI,CAAC,CAAC;EACtCyB,sBAAsB,CAACQ,OAAO,GAAGD,mBAAmB;EACpD,MAAM;IAAEkB;EAAa,CAAC,GAAGtC,cAAc,CAAC,CAAC,CAACuC,oBAAoB;EAC9D,MAAM;IAAEX;EAAU,CAAC,GAAG7C,UAAU,CAACM,WAAW,CAAC,IAAI,CAAC,CAAC;EACnD,MAAMmD,oBAAoB,GAAG1D,WAAW,CAAC,MAAM;IAC7C8C,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMa,OAAO,GACX5D,KAAA,CAAA2C,aAAA,CAACzB,OAAO,QACNlB,KAAA,CAAA2C,aAAA,CAACpC,kBAAkB,CAACsD,QAAQ,QACxBC,OAAO,IAAK;IACZ,MAAMxB,mBAAmB,GAAAyB,aAAA,CAAAA,aAAA,KACpBD,OAAO;MACVH;IAAoB,EACrB;IACD,OACE3D,KAAA,CAAA2C,aAAA,CAACpC,kBAAkB,CAAC2C,QAAQ;MAACjB,KAAK,EAAEK;IAAoB,GACtDtC,KAAA,CAAA2C,aAAA,CAAC5B,IAAI,CAACiD,UAAU;MAACC,GAAG,EAAC;IAAO,GAAAV,WAAA,KAAAA,WAAA,GAC1BvD,KAAA,CAAA2C,aAAA,CAAC/B,UAAU;MAACsD,IAAI,EAAET;IAAa,CAAE,CAAC,GACjCpB,cAAc,KAAA8B,aAAA,KAAAA,aAAA,GAAInE,KAAA,CAAA2C,aAAA,CAAChC,YAAY,MAAE,CAAC,EACpB,CACU,CAAC;EAElC,CAC2B,CACtB,CACV;EAED,OACEX,KAAA,CAAA2C,aAAA,CAAA3C,KAAA,CAAAoE,QAAA,QACEpE,KAAA,CAAA2C,aAAA,CAACjC,aAAa,EAAA2C,QAAA;IACZgB,IAAI,EAAE,CAAChC,cAAc,IAAIc,aAAa,KAAK,MAAO;IAClD3B,KAAK,EAAEA,KAAM;IACboC,OAAO,EAAEA;EAAQ,GACbhC,IAAI,GAEPH,QACY,CAAC,EAEfC,UAAU,IAAI,OAAOW,cAAc,KAAK,SAAS,IAChDrC,KAAA,CAAA2C,aAAA,CAAC3B,eAAe;IAACqD,IAAI,EAAEhC,cAAc,IAAIc,aAAa,KAAK;EAAO,GAC/DzB,UACc,CAEnB,CAAC;AAEP;AAEAN,aAAa,CAACN,UAAU,GAAGA,UAAU;AACrCM,aAAa,CAACkD,qBAAqB,GAAG,IAAI;AAE1C,eAAelD,aAAa"}
|
|
@@ -19,6 +19,11 @@ export const PushContainerProperties = {
|
|
|
19
19
|
type: 'function',
|
|
20
20
|
status: 'optional'
|
|
21
21
|
},
|
|
22
|
+
toolbar: {
|
|
23
|
+
doc: 'A custom toolbar to be shown below the container.',
|
|
24
|
+
type: 'React.Node',
|
|
25
|
+
status: 'optional'
|
|
26
|
+
},
|
|
22
27
|
children: {
|
|
23
28
|
doc: 'The container contents.',
|
|
24
29
|
type: 'React.Node',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","children","PushContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\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 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 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"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","toolbar","children","PushContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\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 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 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"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,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,MAAMM,mBAAyC,GAAG,CAAC,CAAC"}
|
|
@@ -8,14 +8,14 @@ import classnames from 'classnames';
|
|
|
8
8
|
import { Button } from '../../../../components';
|
|
9
9
|
import IterateItemContext from '../IterateItemContext';
|
|
10
10
|
import { useFieldProps, useTranslation } from '../../hooks';
|
|
11
|
-
import
|
|
11
|
+
import ArrayItemAreaContext from '../Array/ArrayItemAreaContext';
|
|
12
12
|
import { omitDataValueReadWriteProps } from '../../types';
|
|
13
13
|
import { trash } from '../../../../icons';
|
|
14
14
|
function RemoveButton(props) {
|
|
15
15
|
const iterateItemContext = useContext(IterateItemContext);
|
|
16
16
|
const {
|
|
17
17
|
handleRemove
|
|
18
|
-
} = iterateItemContext
|
|
18
|
+
} = iterateItemContext || {};
|
|
19
19
|
if (!iterateItemContext) {
|
|
20
20
|
throw new Error('RemoveButton must be inside an Iterate.Array');
|
|
21
21
|
}
|
|
@@ -30,17 +30,17 @@ function RemoveButton(props) {
|
|
|
30
30
|
const buttonProps = omitDataValueReadWriteProps(restProps);
|
|
31
31
|
const translation = useTranslation().RemoveButton;
|
|
32
32
|
const textContent = text || children || translation.text;
|
|
33
|
-
const elementBlockContext = useContext(
|
|
33
|
+
const elementBlockContext = useContext(ArrayItemAreaContext);
|
|
34
34
|
const {
|
|
35
|
-
|
|
36
|
-
} = elementBlockContext
|
|
35
|
+
handleRemoveItem
|
|
36
|
+
} = elementBlockContext || {};
|
|
37
37
|
const handleClick = useCallback(() => {
|
|
38
|
-
if (
|
|
39
|
-
|
|
38
|
+
if (handleRemoveItem) {
|
|
39
|
+
handleRemoveItem === null || handleRemoveItem === void 0 ? void 0 : handleRemoveItem();
|
|
40
40
|
} else {
|
|
41
|
-
handleRemove();
|
|
41
|
+
handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove();
|
|
42
42
|
}
|
|
43
|
-
}, [handleRemove,
|
|
43
|
+
}, [handleRemove, handleRemoveItem]);
|
|
44
44
|
return React.createElement(Button, _extends({
|
|
45
45
|
className: classnames('dnb-forms-iterate-remove-element-button', className),
|
|
46
46
|
variant: textContent ? 'tertiary' : 'secondary',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","useFieldProps","useTranslation","
|
|
1
|
+
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","useFieldProps","useTranslation","ArrayItemAreaContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","textContent","elementBlockContext","handleRemoveItem","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useFieldProps, 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\nfunction RemoveButton(props: Props) {\n const iterateItemContext = useContext(IterateItemContext)\n const { handleRemove } = iterateItemContext || {}\n\n if (!iterateItemContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ArrayItemAreaContext)\n const { handleRemoveItem } = elementBlockContext || {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveItem) {\n handleRemoveItem?.()\n } else {\n handleRemove?.()\n }\n }, [handleRemove, handleRemoveItem])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\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,QAAQ,wBAAwB;AAE/C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,kBAAkB,GAAGX,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAES;EAAa,CAAC,GAAGD,kBAAkB,IAAI,CAAC,CAAC;EAEjD,IAAI,CAACA,kBAAkB,EAAE;IACvB,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMa,WAAW,GAAGH,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACF,IAAI;EAExD,MAAMI,mBAAmB,GAAGvB,UAAU,CAACM,oBAAoB,CAAC;EAC5D,MAAM;IAAEkB;EAAiB,CAAC,GAAGD,mBAAmB,IAAI,CAAC,CAAC;EAEtD,MAAME,WAAW,GAAG1B,WAAW,CAAC,MAAM;IACpC,IAAIyB,gBAAgB,EAAE;MACpBA,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAG,CAAC;IACtB,CAAC,MAAM;MACLZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEY,gBAAgB,CAAC,CAAC;EAEpC,OACE1B,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLb,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFc,OAAO,EAAEN,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDO,IAAI,EAAErB,KAAM;IACZsB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBL,WAAW,GAEdE,WACK,CAAC;AAEb;AAEAb,YAAY,CAACuB,qBAAqB,GAAG,IAAI;AACzC,eAAevB,YAAY"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { SpaceAllProps } from '../../../../components/Space';
|
|
2
|
-
export type
|
|
3
|
-
|
|
3
|
+
export type ToolbarParams = {
|
|
4
|
+
index: number;
|
|
5
|
+
items: Array<unknown>;
|
|
6
|
+
value: unknown;
|
|
7
|
+
};
|
|
8
|
+
export type Props = Omit<SpaceAllProps, 'children'> & {
|
|
9
|
+
children?: React.ReactNode | ((params: ToolbarParams) => React.ReactNode);
|
|
10
|
+
};
|
|
11
|
+
declare function Toolbar({ children, className, ...rest }?: Props): import("react/jsx-runtime").JSX.Element;
|
|
4
12
|
declare namespace Toolbar {
|
|
5
13
|
var _supportsSpacingProps: boolean;
|
|
6
14
|
}
|
|
@@ -1,27 +1,71 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
5
|
var _Hr;
|
|
4
6
|
const _excluded = ["children", "className"];
|
|
5
|
-
import React from 'react';
|
|
7
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
6
8
|
import classnames from 'classnames';
|
|
7
9
|
import { Hr } from '../../../../elements';
|
|
8
|
-
import { Flex, Space } from '../../../../components';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import { Flex, FormStatus, Space } from '../../../../components';
|
|
11
|
+
import IterateItemContext from '../IterateItemContext';
|
|
12
|
+
import ToolbarContext from './ToolbarContext';
|
|
13
|
+
import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
14
|
+
import { useTranslation } from '../../hooks';
|
|
15
|
+
export default function Toolbar(_ref = {}) {
|
|
16
|
+
let {
|
|
12
17
|
children,
|
|
13
18
|
className
|
|
14
19
|
} = _ref,
|
|
15
20
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
+
const {
|
|
22
|
+
index,
|
|
23
|
+
value,
|
|
24
|
+
arrayValue: items
|
|
25
|
+
} = useContext(IterateItemContext) || {};
|
|
26
|
+
const {
|
|
27
|
+
errorInContainer
|
|
28
|
+
} = useTranslation().IterateEditContainer;
|
|
29
|
+
const {
|
|
30
|
+
hasError,
|
|
31
|
+
hasVisibleError
|
|
32
|
+
} = useContext(FieldBoundaryContext) || {};
|
|
33
|
+
const [showError, setShowError] = useState(false);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (showError && !hasError) {
|
|
36
|
+
setShowError(false);
|
|
37
|
+
}
|
|
38
|
+
}, [hasError, showError]);
|
|
39
|
+
if (typeof children === 'function') {
|
|
40
|
+
var _children;
|
|
41
|
+
children = (_children = children) === null || _children === void 0 ? void 0 : _children({
|
|
42
|
+
index,
|
|
43
|
+
items,
|
|
44
|
+
value
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
if (React.Children.count(children) === 0) {
|
|
48
|
+
return React.createElement(React.Fragment, null);
|
|
49
|
+
}
|
|
16
50
|
return React.createElement(Space, _extends({
|
|
17
51
|
top: "medium",
|
|
18
52
|
className: classnames('dnb-forms-iterate-toolbar', className)
|
|
19
53
|
}, rest), _Hr || (_Hr = React.createElement(Hr, {
|
|
20
54
|
space: 0
|
|
21
|
-
})), React.createElement(
|
|
55
|
+
})), React.createElement(ToolbarContext.Provider, {
|
|
56
|
+
value: {
|
|
57
|
+
setShowError
|
|
58
|
+
}
|
|
59
|
+
}, React.createElement(Flex.Horizontal, {
|
|
22
60
|
top: "x-small",
|
|
23
61
|
gap: "large"
|
|
24
|
-
}, children))
|
|
62
|
+
}, children)), React.createElement(FormStatus, {
|
|
63
|
+
show: showError && hasVisibleError,
|
|
64
|
+
shellSpace: {
|
|
65
|
+
top: 'x-small'
|
|
66
|
+
},
|
|
67
|
+
no_animation: false
|
|
68
|
+
}, errorInContainer));
|
|
25
69
|
}
|
|
26
70
|
Toolbar._supportsSpacingProps = true;
|
|
27
71
|
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","names":["React","classnames","Hr","Flex","Space","
|
|
1
|
+
{"version":3,"file":"Toolbar.js","names":["React","useContext","useEffect","useState","classnames","Hr","Flex","FormStatus","Space","IterateItemContext","ToolbarContext","FieldBoundaryContext","useTranslation","Toolbar","_ref","children","className","rest","_objectWithoutProperties","_excluded","index","value","arrayValue","items","errorInContainer","IterateEditContainer","hasError","hasVisibleError","showError","setShowError","_children","Children","count","createElement","Fragment","_extends","top","_Hr","space","Provider","Horizontal","gap","show","shellSpace","no_animation","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/Toolbar.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react'\nimport classnames from 'classnames'\nimport { Hr } from '../../../../elements'\nimport { Flex, FormStatus, Space } from '../../../../components'\nimport { SpaceAllProps } from '../../../../components/Space'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from './ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { useTranslation } from '../../hooks'\n\nexport type ToolbarParams = {\n index: number\n items: Array<unknown>\n value: unknown\n}\nexport type Props = Omit<SpaceAllProps, 'children'> & {\n children?: React.ReactNode | ((params: ToolbarParams) => React.ReactNode)\n}\n\nexport default function Toolbar({\n children,\n className,\n ...rest\n}: Props = {}) {\n const {\n index,\n value,\n arrayValue: items,\n } = useContext(IterateItemContext) || {}\n const { errorInContainer } = useTranslation().IterateEditContainer\n const { hasError, hasVisibleError } =\n useContext(FieldBoundaryContext) || {}\n const [showError, setShowError] = useState(false)\n\n useEffect(() => {\n if (showError && !hasError) {\n setShowError(false)\n }\n }, [hasError, showError])\n\n if (typeof children === 'function') {\n children = children?.({ index, items, value })\n }\n\n if (React.Children.count(children) === 0) {\n return <></>\n }\n\n return (\n <Space\n top=\"medium\"\n className={classnames('dnb-forms-iterate-toolbar', className)}\n {...rest}\n >\n <Hr space={0} />\n\n <ToolbarContext.Provider value={{ setShowError }}>\n <Flex.Horizontal top=\"x-small\" gap=\"large\">\n {children}\n </Flex.Horizontal>\n </ToolbarContext.Provider>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {errorInContainer}\n </FormStatus>\n </Space>\n )\n}\n\nToolbar._supportsSpacingProps = true\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC9D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,QAAQ,sBAAsB;AACzC,SAASC,IAAI,EAAEC,UAAU,EAAEC,KAAK,QAAQ,wBAAwB;AAEhE,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,oBAAoB,MAAM,sDAAsD;AACvF,SAASC,cAAc,QAAQ,aAAa;AAW5C,eAAe,SAASC,OAAOA,CAACC,IAAA,GAIrB,CAAC,CAAC,EAAE;EAAA,IAJiB;MAC9BC,QAAQ;MACRC;IAEK,CAAC,GAAAF,IAAA;IADHG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEP,MAAM;IACJC,KAAK;IACLC,KAAK;IACLC,UAAU,EAAEC;EACd,CAAC,GAAGtB,UAAU,CAACQ,kBAAkB,CAAC,IAAI,CAAC,CAAC;EACxC,MAAM;IAAEe;EAAiB,CAAC,GAAGZ,cAAc,CAAC,CAAC,CAACa,oBAAoB;EAClE,MAAM;IAAEC,QAAQ;IAAEC;EAAgB,CAAC,GACjC1B,UAAU,CAACU,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACxC,MAAM,CAACiB,SAAS,EAAEC,YAAY,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAEjDD,SAAS,CAAC,MAAM;IACd,IAAI0B,SAAS,IAAI,CAACF,QAAQ,EAAE;MAC1BG,YAAY,CAAC,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACH,QAAQ,EAAEE,SAAS,CAAC,CAAC;EAEzB,IAAI,OAAOb,QAAQ,KAAK,UAAU,EAAE;IAAA,IAAAe,SAAA;IAClCf,QAAQ,IAAAe,SAAA,GAAGf,QAAQ,cAAAe,SAAA,uBAARA,SAAA,CAAW;MAAEV,KAAK;MAAEG,KAAK;MAAEF;IAAM,CAAC,CAAC;EAChD;EAEA,IAAIrB,KAAK,CAAC+B,QAAQ,CAACC,KAAK,CAACjB,QAAQ,CAAC,KAAK,CAAC,EAAE;IACxC,OAAOf,KAAA,CAAAiC,aAAA,CAAAjC,KAAA,CAAAkC,QAAA,MAAI,CAAC;EACd;EAEA,OACElC,KAAA,CAAAiC,aAAA,CAACzB,KAAK,EAAA2B,QAAA;IACJC,GAAG,EAAC,QAAQ;IACZpB,SAAS,EAAEZ,UAAU,CAAC,2BAA2B,EAAEY,SAAS;EAAE,GAC1DC,IAAI,GAAAoB,GAAA,KAAAA,GAAA,GAERrC,KAAA,CAAAiC,aAAA,CAAC5B,EAAE;IAACiC,KAAK,EAAE;EAAE,CAAE,CAAC,GAEhBtC,KAAA,CAAAiC,aAAA,CAACvB,cAAc,CAAC6B,QAAQ;IAAClB,KAAK,EAAE;MAAEQ;IAAa;EAAE,GAC/C7B,KAAA,CAAAiC,aAAA,CAAC3B,IAAI,CAACkC,UAAU;IAACJ,GAAG,EAAC,SAAS;IAACK,GAAG,EAAC;EAAO,GACvC1B,QACc,CACM,CAAC,EAE1Bf,KAAA,CAAAiC,aAAA,CAAC1B,UAAU;IACTmC,IAAI,EAAEd,SAAS,IAAID,eAAgB;IACnCgB,UAAU,EAAE;MAAEP,GAAG,EAAE;IAAU,CAAE;IAC/BQ,YAAY,EAAE;EAAM,GAEnBpB,gBACS,CACP,CAAC;AAEZ;AAEAX,OAAO,CAACgC,qBAAqB,GAAG,IAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarContext.js","names":["React","ToolbarContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/ToolbarContext.ts"],"sourcesContent":["import React from 'react'\n\nexport interface ToolbarContextState {\n setShowError?: (showError: boolean) => void\n}\n\nconst ToolbarContext = React.createContext<\n ToolbarContextState | undefined\n>(undefined)\n\nexport default ToolbarContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,cAAc,GAAGD,KAAK,CAACE,aAAa,CAExCC,SAAS,CAAC;AAEZ,eAAeF,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function ViewContainerEditButton(): import("react/jsx-runtime").JSX.Element;
|