@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_IterateItemContext","_ElementBlockContext","_FieldBoundaryContext","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ElementBlock","props","forceUpdate","useReducer","contextRef","useRef","current","useContext","IterateItemContext","hasError","hasSubmitError","FieldBoundaryContext","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","openRef","isRemoving","setOpenState","useCallback","useEffect","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","HeightAnimation","classnames","duration","keepInDOM","Flex","Stack","element","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type ElementSectionProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ElementSectionProps\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateItemContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(IterateItemContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasSubmitError) {\n switchContainerMode?.('edit')\n }\n\n const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-forms-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-forms-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlockContext.js","names":["_react","require","ElementBlockContext","createContext","_default","exports","default"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\ntype ElementBlockContext = {\n handleRemoveBlock?: () => void\n}\n\nconst ElementBlockContext = createContext<ElementBlockContext>(null)\n\nexport default ElementBlockContext\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,MAAMC,mBAAmB,GAAG,IAAAC,oBAAa,EAAsB,IAAI,CAAC;AAAA,IAAAC,QAAA,GAErDF,mBAAmB;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_IterateItemContext","_icons","_RemoveButton","_FieldBoundaryContext","_PushContainerContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EditToolbarTools","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","index","isNew","useContext","IterateItemContext","hasError","hasVisibleError","setShowBoundaryErrors","FieldBoundaryContext","entries","commitHandleRef","PushContainerContext","doneButton","cancelButton","removeButton","errorInSection","useTranslation","IterateEditContainer","createButton","IteratePushContainer","valueBackupRef","useRef","wasNew","useWasNew","showError","setShowError","useState","useEffect","current","cancelHandler","useCallback","doneHandler","_commitHandleRef$curr","createElement","Fragment","FormStatus","show","no_animation","Flex","Horizontal","gap","Button","variant","icon","check","icon_position","on_click","length","text","close","_ref","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { Button, Flex, FormStatus } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { check, close } from '../../../../icons'\nimport RemoveButton from '../RemoveButton'\nimport { ContainerMode } from '../Array/types'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport PushContainerContext from '../PushContainer/PushContainerContext'\n\nexport default function EditToolbarTools() {\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n index,\n isNew,\n } = useContext(IterateItemContext) || {}\n const { hasError, hasVisibleError, setShowBoundaryErrors } =\n useContext(FieldBoundaryContext) || {}\n const { entries, commitHandleRef } =\n useContext(PushContainerContext) || {}\n\n const { doneButton, cancelButton, removeButton, errorInSection } =\n useTranslation().IterateEditContainer\n const { createButton } = useTranslation().IteratePushContainer\n const valueBackupRef = useRef<unknown>()\n const wasNew = useWasNew({ isNew, containerMode })\n const [showError, setShowError] = useState(false)\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(() => {\n if (valueBackupRef.current) {\n restoreOriginalValue?.(valueBackupRef.current)\n }\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }, [restoreOriginalValue, setShowBoundaryErrors, switchContainerMode])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowBoundaryErrors?.(false)\n setShowError(false)\n if (commitHandleRef) {\n commitHandleRef.current?.()\n } else {\n switchContainerMode?.('view')\n }\n }\n }, [\n commitHandleRef,\n hasError,\n hasVisibleError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <FormStatus show={showError && hasVisibleError} no_animation={false}>\n {errorInSection}\n </FormStatus>\n <Flex.Horizontal gap=\"large\">\n {commitHandleRef ? (\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {createButton}\n </Button>\n ) : (\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {doneButton}\n </Button>\n )}\n\n {(!entries || (entries?.length > 0 && containerMode === 'edit')) &&\n (wasNew ? (\n <RemoveButton text={removeButton} />\n ) : (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {cancelButton}\n </Button>\n ))}\n </Flex.Horizontal>\n </>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ViewToolbarTools(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ViewToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_RemoveButton","_interopRequireDefault","_useTranslation","_IterateItemContext","_icons","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ViewToolbarTools","iterateItemContext","useContext","IterateItemContext","switchContainerMode","translation","useTranslation","IterateViewContainer","editHandler","useCallback","createElement","Flex","Horizontal","gap","Button","variant","icon","edit","icon_position","on_click","editButton","text","removeButton"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateItemContext = useContext(IterateItemContext)\n const { switchContainerMode } = iterateItemContext ?? {}\n\n const translation = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n\n <RemoveButton text={translation.removeButton} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,mBAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAwC,SAAAG,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAZ,wBAAAQ,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEzB,SAASW,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,kBAAkB,GAAG,IAAAC,iBAAU,EAACC,2BAAkB,CAAC;EACzD,MAAM;IAAEC;EAAoB,CAAC,GAAGH,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EAExD,MAAMI,WAAW,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,oBAAoB;EAEzD,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpCL,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEnC,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACtC,WAAA,CAAAuC,IAAI,CAACC,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1B5C,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACtC,WAAA,CAAA0C,MAAM;IACLC,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEC,WAAK;IACXC,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEX;EAAY,GAErBH,WAAW,CAACe,UACP,CAAC,EAETnD,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACrC,aAAA,CAAAO,OAAY;IAACyC,IAAI,EAAEhB,WAAW,CAACiB;EAAa,CAAE,CAChC,CAAC;AAEtB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = useUnmountEffect;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
function useUnmountEffect(callback) {
|
|
10
|
-
(0, _react.useEffect)(() => {
|
|
11
|
-
return callback;
|
|
12
|
-
}, []);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=useUnmountEffect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUnmountEffect.js","names":["_react","require","useUnmountEffect","callback","useEffect"],"sources":["../../../../src/shared/helpers/useUnmountEffect.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n/**\n * UseEffect that only run on the initial mount\n */\nexport default function useUnmountEffect(callback: () => void) {\n useEffect(() => {\n return callback\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKe,SAASC,gBAAgBA,CAACC,QAAoB,EAAE;EAC7D,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOD,QAAQ;EAEjB,CAAC,EAAE,EAAE,CAAC;AACR"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "openDelay", "variant"];
|
|
6
|
-
import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
|
7
|
-
import classnames from 'classnames';
|
|
8
|
-
import { Flex, HeightAnimation } from '../../../../components';
|
|
9
|
-
import IterateItemContext from '../IterateItemContext';
|
|
10
|
-
import ElementBlockContext from './ElementBlockContext';
|
|
11
|
-
import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
12
|
-
function ElementBlock(props) {
|
|
13
|
-
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
14
|
-
const contextRef = useRef();
|
|
15
|
-
contextRef.current = useContext(IterateItemContext) || {};
|
|
16
|
-
const {
|
|
17
|
-
hasError,
|
|
18
|
-
hasSubmitError
|
|
19
|
-
} = useContext(FieldBoundaryContext) || {};
|
|
20
|
-
contextRef.current.hasError = hasError;
|
|
21
|
-
contextRef.current.hasSubmitError = hasSubmitError;
|
|
22
|
-
if (hasSubmitError) {
|
|
23
|
-
contextRef.current.containerMode = 'edit';
|
|
24
|
-
}
|
|
25
|
-
const {
|
|
26
|
-
handleRemove,
|
|
27
|
-
switchContainerMode,
|
|
28
|
-
containerMode,
|
|
29
|
-
isNew
|
|
30
|
-
} = contextRef.current;
|
|
31
|
-
const {
|
|
32
|
-
mode,
|
|
33
|
-
open,
|
|
34
|
-
ariaLabel,
|
|
35
|
-
onAnimationEnd,
|
|
36
|
-
className,
|
|
37
|
-
children,
|
|
38
|
-
openDelay = 100,
|
|
39
|
-
variant = 'outline'
|
|
40
|
-
} = props,
|
|
41
|
-
restProps = _objectWithoutProperties(props, _excluded);
|
|
42
|
-
const openRef = useRef(open !== null && open !== void 0 ? open : containerMode === mode && !isNew);
|
|
43
|
-
const isRemoving = useRef(false);
|
|
44
|
-
const setOpenState = useCallback(open => {
|
|
45
|
-
openRef.current = open;
|
|
46
|
-
forceUpdate();
|
|
47
|
-
}, []);
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
if (!isRemoving.current) {
|
|
50
|
-
if (typeof open !== 'undefined') {
|
|
51
|
-
setOpenState(open);
|
|
52
|
-
} else {
|
|
53
|
-
if (openRef.current !== (containerMode === mode)) {
|
|
54
|
-
if (isNew) {
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
setOpenState(containerMode === mode);
|
|
57
|
-
}, openDelay);
|
|
58
|
-
} else {
|
|
59
|
-
setOpenState(containerMode === mode);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}, [containerMode, isNew, mode, open, openDelay, setOpenState]);
|
|
65
|
-
const handleAnimationEnd = useCallback(state => {
|
|
66
|
-
if (contextRef.current.hasSubmitError) {
|
|
67
|
-
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
|
|
68
|
-
}
|
|
69
|
-
const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError;
|
|
70
|
-
if (preventFocusOnErrorOpening) {
|
|
71
|
-
if (state === 'opened') {
|
|
72
|
-
var _contextRef$current, _contextRef$current$e, _contextRef$current$e2, _contextRef$current$e3;
|
|
73
|
-
(_contextRef$current = contextRef.current) === null || _contextRef$current === void 0 ? void 0 : (_contextRef$current$e = _contextRef$current.elementRef) === null || _contextRef$current$e === void 0 ? void 0 : (_contextRef$current$e2 = _contextRef$current$e.current) === null || _contextRef$current$e2 === void 0 ? void 0 : (_contextRef$current$e3 = _contextRef$current$e2.focus) === null || _contextRef$current$e3 === void 0 ? void 0 : _contextRef$current$e3.call(_contextRef$current$e2);
|
|
74
|
-
} else {
|
|
75
|
-
window.requestAnimationFrame(() => {
|
|
76
|
-
try {
|
|
77
|
-
var _document$activeEleme;
|
|
78
|
-
if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-forms-iterate__element'))) {
|
|
79
|
-
var _contextRef$current2;
|
|
80
|
-
const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-forms-iterate__element');
|
|
81
|
-
elements[elements.length - 1].focus();
|
|
82
|
-
}
|
|
83
|
-
} catch (e) {}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (!openRef.current && isRemoving.current) {
|
|
88
|
-
var _contextRef$current3, _contextRef$current3$;
|
|
89
|
-
isRemoving.current = false;
|
|
90
|
-
(_contextRef$current3 = contextRef.current) === null || _contextRef$current3 === void 0 ? void 0 : (_contextRef$current3$ = _contextRef$current3.fulfillRemove) === null || _contextRef$current3$ === void 0 ? void 0 : _contextRef$current3$.call(_contextRef$current3);
|
|
91
|
-
}
|
|
92
|
-
onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(state);
|
|
93
|
-
}, [onAnimationEnd, switchContainerMode]);
|
|
94
|
-
const handleRemoveBlock = useCallback(() => {
|
|
95
|
-
isRemoving.current = true;
|
|
96
|
-
handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove({
|
|
97
|
-
keepItems: true
|
|
98
|
-
});
|
|
99
|
-
setOpenState(false);
|
|
100
|
-
}, [handleRemove, setOpenState]);
|
|
101
|
-
return React.createElement(ElementBlockContext.Provider, {
|
|
102
|
-
value: {
|
|
103
|
-
handleRemoveBlock
|
|
104
|
-
}
|
|
105
|
-
}, React.createElement(HeightAnimation, {
|
|
106
|
-
className: classnames('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, isNew && 'dnb-forms-section-block--new', contextRef.current.hasSubmitError && 'dnb-forms-section-block--error'),
|
|
107
|
-
open: openRef.current,
|
|
108
|
-
onAnimationEnd: handleAnimationEnd,
|
|
109
|
-
duration: 450,
|
|
110
|
-
keepInDOM: true
|
|
111
|
-
}, React.createElement(Flex.Stack, _extends({
|
|
112
|
-
className: "dnb-forms-section-block__inner"
|
|
113
|
-
}, restProps, {
|
|
114
|
-
element: "section",
|
|
115
|
-
"aria-label": ariaLabel
|
|
116
|
-
}), children)));
|
|
117
|
-
}
|
|
118
|
-
ElementBlock._supportsSpacingProps = true;
|
|
119
|
-
export default ElementBlock;
|
|
120
|
-
//# sourceMappingURL=ElementBlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateItemContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasSubmitError","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type ElementSectionProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ElementSectionProps\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateItemContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(IterateItemContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasSubmitError) {\n switchContainerMode?.('edit')\n }\n\n const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-forms-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-forms-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlockContext.js","names":["createContext","ElementBlockContext"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\ntype ElementBlockContext = {\n handleRemoveBlock?: () => void\n}\n\nconst ElementBlockContext = createContext<ElementBlockContext>(null)\n\nexport default ElementBlockContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAMrC,MAAMC,mBAAmB,GAAGD,aAAa,CAAsB,IAAI,CAAC;AAEpE,eAAeC,mBAAmB"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { Button, Flex, FormStatus } from '../../../../components';
|
|
5
|
-
import useTranslation from '../../hooks/useTranslation';
|
|
6
|
-
import IterateItemContext from '../IterateItemContext';
|
|
7
|
-
import { check, close } from '../../../../icons';
|
|
8
|
-
import RemoveButton from '../RemoveButton';
|
|
9
|
-
import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
10
|
-
import PushContainerContext from '../PushContainer/PushContainerContext';
|
|
11
|
-
export default function EditToolbarTools() {
|
|
12
|
-
const {
|
|
13
|
-
restoreOriginalValue,
|
|
14
|
-
switchContainerMode,
|
|
15
|
-
containerMode,
|
|
16
|
-
arrayValue,
|
|
17
|
-
index,
|
|
18
|
-
isNew
|
|
19
|
-
} = useContext(IterateItemContext) || {};
|
|
20
|
-
const {
|
|
21
|
-
hasError,
|
|
22
|
-
hasVisibleError,
|
|
23
|
-
setShowBoundaryErrors
|
|
24
|
-
} = useContext(FieldBoundaryContext) || {};
|
|
25
|
-
const {
|
|
26
|
-
entries,
|
|
27
|
-
commitHandleRef
|
|
28
|
-
} = useContext(PushContainerContext) || {};
|
|
29
|
-
const {
|
|
30
|
-
doneButton,
|
|
31
|
-
cancelButton,
|
|
32
|
-
removeButton,
|
|
33
|
-
errorInSection
|
|
34
|
-
} = useTranslation().IterateEditContainer;
|
|
35
|
-
const {
|
|
36
|
-
createButton
|
|
37
|
-
} = useTranslation().IteratePushContainer;
|
|
38
|
-
const valueBackupRef = useRef();
|
|
39
|
-
const wasNew = useWasNew({
|
|
40
|
-
isNew,
|
|
41
|
-
containerMode
|
|
42
|
-
});
|
|
43
|
-
const [showError, setShowError] = useState(false);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (containerMode === 'edit' && !valueBackupRef.current) {
|
|
46
|
-
valueBackupRef.current = arrayValue === null || arrayValue === void 0 ? void 0 : arrayValue[index];
|
|
47
|
-
}
|
|
48
|
-
if (containerMode === 'view') {
|
|
49
|
-
valueBackupRef.current = null;
|
|
50
|
-
}
|
|
51
|
-
}, [arrayValue, containerMode, index]);
|
|
52
|
-
const cancelHandler = useCallback(() => {
|
|
53
|
-
if (valueBackupRef.current) {
|
|
54
|
-
restoreOriginalValue === null || restoreOriginalValue === void 0 ? void 0 : restoreOriginalValue(valueBackupRef.current);
|
|
55
|
-
}
|
|
56
|
-
setShowError(false);
|
|
57
|
-
setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false);
|
|
58
|
-
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
|
|
59
|
-
}, [restoreOriginalValue, setShowBoundaryErrors, switchContainerMode]);
|
|
60
|
-
const doneHandler = useCallback(() => {
|
|
61
|
-
if (hasError) {
|
|
62
|
-
setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(true);
|
|
63
|
-
if (hasVisibleError) {
|
|
64
|
-
setShowError(true);
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false);
|
|
68
|
-
setShowError(false);
|
|
69
|
-
if (commitHandleRef) {
|
|
70
|
-
var _commitHandleRef$curr;
|
|
71
|
-
(_commitHandleRef$curr = commitHandleRef.current) === null || _commitHandleRef$curr === void 0 ? void 0 : _commitHandleRef$curr.call(commitHandleRef);
|
|
72
|
-
} else {
|
|
73
|
-
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}, [commitHandleRef, hasError, hasVisibleError, setShowBoundaryErrors, switchContainerMode]);
|
|
77
|
-
return React.createElement(React.Fragment, null, React.createElement(FormStatus, {
|
|
78
|
-
show: showError && hasVisibleError,
|
|
79
|
-
no_animation: false
|
|
80
|
-
}, errorInSection), React.createElement(Flex.Horizontal, {
|
|
81
|
-
gap: "large"
|
|
82
|
-
}, commitHandleRef ? React.createElement(Button, {
|
|
83
|
-
variant: "tertiary",
|
|
84
|
-
icon: check,
|
|
85
|
-
icon_position: "left",
|
|
86
|
-
on_click: doneHandler
|
|
87
|
-
}, createButton) : React.createElement(Button, {
|
|
88
|
-
variant: "tertiary",
|
|
89
|
-
icon: check,
|
|
90
|
-
icon_position: "left",
|
|
91
|
-
on_click: doneHandler
|
|
92
|
-
}, doneButton), (!entries || (entries === null || entries === void 0 ? void 0 : entries.length) > 0 && containerMode === 'edit') && (wasNew ? React.createElement(RemoveButton, {
|
|
93
|
-
text: removeButton
|
|
94
|
-
}) : React.createElement(Button, {
|
|
95
|
-
variant: "tertiary",
|
|
96
|
-
icon: close,
|
|
97
|
-
icon_position: "left",
|
|
98
|
-
on_click: cancelHandler
|
|
99
|
-
}, cancelButton))));
|
|
100
|
-
}
|
|
101
|
-
export function useWasNew({
|
|
102
|
-
isNew,
|
|
103
|
-
containerMode
|
|
104
|
-
}) {
|
|
105
|
-
const wasNewRef = useRef(isNew);
|
|
106
|
-
useEffect(() => {
|
|
107
|
-
if (containerMode === 'view') {
|
|
108
|
-
wasNewRef.current = false;
|
|
109
|
-
}
|
|
110
|
-
}, [isNew, containerMode]);
|
|
111
|
-
return wasNewRef.current;
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=EditToolbarTools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useEffect","useRef","useState","Button","Flex","FormStatus","useTranslation","IterateItemContext","check","close","RemoveButton","FieldBoundaryContext","PushContainerContext","EditToolbarTools","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","index","isNew","hasError","hasVisibleError","setShowBoundaryErrors","entries","commitHandleRef","doneButton","cancelButton","removeButton","errorInSection","IterateEditContainer","createButton","IteratePushContainer","valueBackupRef","wasNew","useWasNew","showError","setShowError","current","cancelHandler","doneHandler","_commitHandleRef$curr","call","createElement","Fragment","show","no_animation","Horizontal","gap","variant","icon","icon_position","on_click","length","text","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { Button, Flex, FormStatus } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { check, close } from '../../../../icons'\nimport RemoveButton from '../RemoveButton'\nimport { ContainerMode } from '../Array/types'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport PushContainerContext from '../PushContainer/PushContainerContext'\n\nexport default function EditToolbarTools() {\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n index,\n isNew,\n } = useContext(IterateItemContext) || {}\n const { hasError, hasVisibleError, setShowBoundaryErrors } =\n useContext(FieldBoundaryContext) || {}\n const { entries, commitHandleRef } =\n useContext(PushContainerContext) || {}\n\n const { doneButton, cancelButton, removeButton, errorInSection } =\n useTranslation().IterateEditContainer\n const { createButton } = useTranslation().IteratePushContainer\n const valueBackupRef = useRef<unknown>()\n const wasNew = useWasNew({ isNew, containerMode })\n const [showError, setShowError] = useState(false)\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(() => {\n if (valueBackupRef.current) {\n restoreOriginalValue?.(valueBackupRef.current)\n }\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }, [restoreOriginalValue, setShowBoundaryErrors, switchContainerMode])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowBoundaryErrors?.(false)\n setShowError(false)\n if (commitHandleRef) {\n commitHandleRef.current?.()\n } else {\n switchContainerMode?.('view')\n }\n }\n }, [\n commitHandleRef,\n hasError,\n hasVisibleError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <FormStatus show={showError && hasVisibleError} no_animation={false}>\n {errorInSection}\n </FormStatus>\n <Flex.Horizontal gap=\"large\">\n {commitHandleRef ? (\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {createButton}\n </Button>\n ) : (\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {doneButton}\n </Button>\n )}\n\n {(!entries || (entries?.length > 0 && containerMode === 'edit')) &&\n (wasNew ? (\n <RemoveButton text={removeButton} />\n ) : (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {cancelButton}\n </Button>\n ))}\n </Flex.Horizontal>\n </>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ViewToolbarTools(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","RemoveButton","useTranslation","IterateItemContext","edit","ViewToolbarTools","iterateItemContext","switchContainerMode","translation","IterateViewContainer","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","editButton","text","removeButton"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateItemContext = useContext(IterateItemContext)\n const { switchContainerMode } = iterateItemContext ?? {}\n\n const translation = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n\n <RemoveButton text={translation.removeButton} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,wBAAwB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,kBAAkB,GAAGR,UAAU,CAACK,kBAAkB,CAAC;EACzD,MAAM;IAAEI;EAAoB,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EAExD,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAEzD,MAAMC,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCU,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEX,KAAA,CAAAe,aAAA,CAACX,IAAI,CAACY,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BjB,KAAA,CAAAe,aAAA,CAACZ,MAAM;IACLe,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACU,UACP,CAAC,EAETtB,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACkB,IAAI,EAAEX,WAAW,CAACY;EAAa,CAAE,CAChC,CAAC;AAEtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUnmountEffect.js","names":["useEffect","useUnmountEffect","callback"],"sources":["../../../../src/shared/helpers/useUnmountEffect.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n/**\n * UseEffect that only run on the initial mount\n */\nexport default function useUnmountEffect(callback: () => void) {\n useEffect(() => {\n return callback\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAKjC,eAAe,SAASC,gBAAgBA,CAACC,QAAoB,EAAE;EAC7DF,SAAS,CAAC,MAAM;IACd,OAAOE,QAAQ;EAEjB,CAAC,EAAE,EAAE,CAAC;AACR"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "openDelay", "variant"];
|
|
6
|
-
import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
|
7
|
-
import classnames from 'classnames';
|
|
8
|
-
import { Flex, HeightAnimation } from '../../../../components';
|
|
9
|
-
import IterateItemContext from '../IterateItemContext';
|
|
10
|
-
import ElementBlockContext from './ElementBlockContext';
|
|
11
|
-
import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
12
|
-
function ElementBlock(props) {
|
|
13
|
-
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
14
|
-
const contextRef = useRef();
|
|
15
|
-
contextRef.current = useContext(IterateItemContext) || {};
|
|
16
|
-
const {
|
|
17
|
-
hasError,
|
|
18
|
-
hasSubmitError
|
|
19
|
-
} = useContext(FieldBoundaryContext) || {};
|
|
20
|
-
contextRef.current.hasError = hasError;
|
|
21
|
-
contextRef.current.hasSubmitError = hasSubmitError;
|
|
22
|
-
if (hasSubmitError) {
|
|
23
|
-
contextRef.current.containerMode = 'edit';
|
|
24
|
-
}
|
|
25
|
-
const {
|
|
26
|
-
handleRemove,
|
|
27
|
-
switchContainerMode,
|
|
28
|
-
containerMode,
|
|
29
|
-
isNew
|
|
30
|
-
} = contextRef.current;
|
|
31
|
-
const {
|
|
32
|
-
mode,
|
|
33
|
-
open,
|
|
34
|
-
ariaLabel,
|
|
35
|
-
onAnimationEnd,
|
|
36
|
-
className,
|
|
37
|
-
children,
|
|
38
|
-
openDelay = 100,
|
|
39
|
-
variant = 'outline'
|
|
40
|
-
} = props,
|
|
41
|
-
restProps = _objectWithoutProperties(props, _excluded);
|
|
42
|
-
const openRef = useRef(open !== null && open !== void 0 ? open : containerMode === mode && !isNew);
|
|
43
|
-
const isRemoving = useRef(false);
|
|
44
|
-
const setOpenState = useCallback(open => {
|
|
45
|
-
openRef.current = open;
|
|
46
|
-
forceUpdate();
|
|
47
|
-
}, []);
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
if (!isRemoving.current) {
|
|
50
|
-
if (typeof open !== 'undefined') {
|
|
51
|
-
setOpenState(open);
|
|
52
|
-
} else {
|
|
53
|
-
if (openRef.current !== (containerMode === mode)) {
|
|
54
|
-
if (isNew) {
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
setOpenState(containerMode === mode);
|
|
57
|
-
}, openDelay);
|
|
58
|
-
} else {
|
|
59
|
-
setOpenState(containerMode === mode);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}, [containerMode, isNew, mode, open, openDelay, setOpenState]);
|
|
65
|
-
const handleAnimationEnd = useCallback(state => {
|
|
66
|
-
if (contextRef.current.hasSubmitError) {
|
|
67
|
-
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
|
|
68
|
-
}
|
|
69
|
-
const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError;
|
|
70
|
-
if (preventFocusOnErrorOpening) {
|
|
71
|
-
if (state === 'opened') {
|
|
72
|
-
var _contextRef$current, _contextRef$current$e, _contextRef$current$e2, _contextRef$current$e3;
|
|
73
|
-
(_contextRef$current = contextRef.current) === null || _contextRef$current === void 0 ? void 0 : (_contextRef$current$e = _contextRef$current.elementRef) === null || _contextRef$current$e === void 0 ? void 0 : (_contextRef$current$e2 = _contextRef$current$e.current) === null || _contextRef$current$e2 === void 0 ? void 0 : (_contextRef$current$e3 = _contextRef$current$e2.focus) === null || _contextRef$current$e3 === void 0 ? void 0 : _contextRef$current$e3.call(_contextRef$current$e2);
|
|
74
|
-
} else {
|
|
75
|
-
window.requestAnimationFrame(() => {
|
|
76
|
-
try {
|
|
77
|
-
var _document$activeEleme;
|
|
78
|
-
if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-forms-iterate__element'))) {
|
|
79
|
-
var _contextRef$current2;
|
|
80
|
-
const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-forms-iterate__element');
|
|
81
|
-
elements[elements.length - 1].focus();
|
|
82
|
-
}
|
|
83
|
-
} catch (e) {}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (!openRef.current && isRemoving.current) {
|
|
88
|
-
var _contextRef$current3, _contextRef$current3$;
|
|
89
|
-
isRemoving.current = false;
|
|
90
|
-
(_contextRef$current3 = contextRef.current) === null || _contextRef$current3 === void 0 ? void 0 : (_contextRef$current3$ = _contextRef$current3.fulfillRemove) === null || _contextRef$current3$ === void 0 ? void 0 : _contextRef$current3$.call(_contextRef$current3);
|
|
91
|
-
}
|
|
92
|
-
onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(state);
|
|
93
|
-
}, [onAnimationEnd, switchContainerMode]);
|
|
94
|
-
const handleRemoveBlock = useCallback(() => {
|
|
95
|
-
isRemoving.current = true;
|
|
96
|
-
handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove({
|
|
97
|
-
keepItems: true
|
|
98
|
-
});
|
|
99
|
-
setOpenState(false);
|
|
100
|
-
}, [handleRemove, setOpenState]);
|
|
101
|
-
return React.createElement(ElementBlockContext.Provider, {
|
|
102
|
-
value: {
|
|
103
|
-
handleRemoveBlock
|
|
104
|
-
}
|
|
105
|
-
}, React.createElement(HeightAnimation, {
|
|
106
|
-
className: classnames('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, isNew && 'dnb-forms-section-block--new', contextRef.current.hasSubmitError && 'dnb-forms-section-block--error'),
|
|
107
|
-
open: openRef.current,
|
|
108
|
-
onAnimationEnd: handleAnimationEnd,
|
|
109
|
-
duration: 450,
|
|
110
|
-
keepInDOM: true
|
|
111
|
-
}, React.createElement(Flex.Stack, _extends({
|
|
112
|
-
className: "dnb-forms-section-block__inner"
|
|
113
|
-
}, restProps, {
|
|
114
|
-
element: "section",
|
|
115
|
-
"aria-label": ariaLabel
|
|
116
|
-
}), children)));
|
|
117
|
-
}
|
|
118
|
-
ElementBlock._supportsSpacingProps = true;
|
|
119
|
-
export default ElementBlock;
|
|
120
|
-
//# sourceMappingURL=ElementBlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateItemContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasSubmitError","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type ElementSectionProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ElementSectionProps\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateItemContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(IterateItemContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasSubmitError) {\n switchContainerMode?.('edit')\n }\n\n const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-forms-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-forms-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,MAAM,QACD,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,EAAEC,eAAe,QAAQ,wBAAwB;AAC9D,OAAOC,kBAAkB,MAElB,uBAAuB;AAC9B,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,OAAOC,oBAAoB,MAAM,sDAAsD;AAmBvF,SAASC,YAAYA,CAACC,KAAiC,EAAE;EACvD,MAAM,GAAGC,WAAW,CAAC,GAAGV,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAElD,MAAMW,UAAU,GAAGV,MAAM,CAKvB,CAAC;EACHU,UAAU,CAACC,OAAO,GAAGd,UAAU,CAACO,kBAAkB,CAAC,IAAI,CAAC,CAAC;EAEzD,MAAM;IAAEQ,QAAQ;IAAEC;EAAe,CAAC,GAChChB,UAAU,CAACS,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACxCI,UAAU,CAACC,OAAO,CAACC,QAAQ,GAAGA,QAAQ;EACtCF,UAAU,CAACC,OAAO,CAACE,cAAc,GAAGA,cAAc;EAGlD,IAAIA,cAAc,EAAE;IAClBH,UAAU,CAACC,OAAO,CAACG,aAAa,GAAG,MAAM;EAC3C;EAEA,MAAM;IAAEC,YAAY;IAAEC,mBAAmB;IAAEF,aAAa;IAAEG;EAAM,CAAC,GAC/DP,UAAU,CAACC,OAAO;EAEpB,MAAM;MACJO,IAAI;MACJC,IAAI;MACJC,SAAS;MACTC,cAAc;MACdC,SAAS;MACTC,QAAQ;MACRC,SAAS,GAAG,GAAG;MACfC,OAAO,GAAG;IAEZ,CAAC,GAAGjB,KAAK;IADJkB,SAAS,GAAAC,wBAAA,CACVnB,KAAK,EAAAoB,SAAA;EAET,MAAMC,OAAO,GAAG7B,MAAM,CAACmB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAKL,aAAa,KAAKI,IAAI,IAAI,CAACD,KAAM,CAAC;EAClE,MAAMa,UAAU,GAAG9B,MAAM,CAAC,KAAK,CAAC;EAEhC,MAAM+B,YAAY,GAAGnC,WAAW,CAAEuB,IAAa,IAAK;IAClDU,OAAO,CAAClB,OAAO,GAAGQ,IAAI;IACtBV,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAENX,SAAS,CAAC,MAAM;IACd,IAAI,CAACgC,UAAU,CAACnB,OAAO,EAAE;MAEvB,IAAI,OAAOQ,IAAI,KAAK,WAAW,EAAE;QAC/BY,YAAY,CAACZ,IAAI,CAAC;MACpB,CAAC,MAAM;QAEL,IAAIU,OAAO,CAAClB,OAAO,MAAMG,aAAa,KAAKI,IAAI,CAAC,EAAE;UAChD,IAAID,KAAK,EAAE;YACTe,UAAU,CAAC,MAAM;cACfD,YAAY,CAACjB,aAAa,KAAKI,IAAI,CAAC;YACtC,CAAC,EAAEM,SAAS,CAAC;UACf,CAAC,MAAM;YACLO,YAAY,CAACjB,aAAa,KAAKI,IAAI,CAAC;UACtC;QACF;MACF;IACF;EACF,CAAC,EAAE,CAACJ,aAAa,EAAEG,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEK,SAAS,EAAEO,YAAY,CAAC,CAAC;EAG/D,MAAME,kBAAkB,GAAGrC,WAAW,CACnCsC,KAAK,IAAK;IAET,IAAIxB,UAAU,CAACC,OAAO,CAACE,cAAc,EAAE;MACrCG,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;IAEA,MAAMmB,0BAA0B,GAAG,CAACzB,UAAU,CAACC,OAAO,CAACE,cAAc;IACrE,IAAIsB,0BAA0B,EAAE;MAC9B,IAAID,KAAK,KAAK,QAAQ,EAAE;QAAA,IAAAE,mBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QACtB,CAAAH,mBAAA,GAAA1B,UAAU,CAACC,OAAO,cAAAyB,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAoBI,UAAU,cAAAH,qBAAA,wBAAAC,sBAAA,GAA9BD,qBAAA,CAAgC1B,OAAO,cAAA2B,sBAAA,wBAAAC,sBAAA,GAAvCD,sBAAA,CAAyCG,KAAK,cAAAF,sBAAA,uBAA9CA,sBAAA,CAAAG,IAAA,CAAAJ,sBAAiD,CAAC;MACpD,CAAC,MAAM;QAELK,MAAM,CAACC,qBAAqB,CAAC,MAAM;UAEjC,IAAI;YAAA,IAAAC,qBAAA;YACF,IAEE,GAAAA,qBAAA,GAACC,QAAQ,CAACC,aAAa,cAAAF,qBAAA,eAAtBA,qBAAA,CAAwBG,OAAO,CAC9B,6BACF,CAAC,GACD;cAAA,IAAAC,oBAAA;cACA,MAAMC,QAAQ,IAAAD,oBAAA,GACZvC,UAAU,CAACC,OAAO,cAAAsC,oBAAA,uBAAlBA,oBAAA,CAAoBE,YAAY,CAACxC,OAAO,CAACyC,gBAAgB,CACvD,6BACF,CAAC;cACHF,QAAQ,CAACA,QAAQ,CAACG,MAAM,GAAG,CAAC,CAAC,CAACZ,KAAK,CAAC,CAAC;YACvC;UACF,CAAC,CAAC,OAAOa,CAAC,EAAE,CAEZ;QACF,CAAC,CAAC;MACJ;IACF;IAEA,IAAI,CAACzB,OAAO,CAAClB,OAAO,IAAImB,UAAU,CAACnB,OAAO,EAAE;MAAA,IAAA4C,oBAAA,EAAAC,qBAAA;MAC1C1B,UAAU,CAACnB,OAAO,GAAG,KAAK;MAC1B,CAAA4C,oBAAA,GAAA7C,UAAU,CAACC,OAAO,cAAA4C,oBAAA,wBAAAC,qBAAA,GAAlBD,oBAAA,CAAoBE,aAAa,cAAAD,qBAAA,uBAAjCA,qBAAA,CAAAd,IAAA,CAAAa,oBAAoC,CAAC;IACvC;IAEAlC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGa,KAAK,CAAC;EACzB,CAAC,EACD,CAACb,cAAc,EAAEL,mBAAmB,CACtC,CAAC;EACD,MAAM0C,iBAAiB,GAAG9D,WAAW,CAAC,MAAM;IAC1CkC,UAAU,CAACnB,OAAO,GAAG,IAAI;IACzBI,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG;MAAE4C,SAAS,EAAE;IAAK,CAAC,CAAC;IACnC5B,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,CAAChB,YAAY,EAAEgB,YAAY,CAAC,CAAC;EAEhC,OACEpC,KAAA,CAAAiE,aAAA,CAACvD,mBAAmB,CAACwD,QAAQ;IAACC,KAAK,EAAE;MAAEJ;IAAkB;EAAE,GACzD/D,KAAA,CAAAiE,aAAA,CAACzD,eAAe;IACdmB,SAAS,EAAErB,UAAU,CACnB,yBAAyB,EAKzBqB,SAAS,EAJTG,OAAO,IAAK,oCAAmCA,OAAQ,EAAC,EACxDR,KAAK,IAAI,8BAA8B,EACvCP,UAAU,CAACC,OAAO,CAACE,cAAc,IAC/B,gCAEJ,CAAE;IACFM,IAAI,EAAEU,OAAO,CAAClB,OAAQ;IACtBU,cAAc,EAAEY,kBAAmB;IACnC8B,QAAQ,EAAE,GAAI;IACdC,SAAS;EAAA,GAETrE,KAAA,CAAAiE,aAAA,CAAC1D,IAAI,CAAC+D,KAAK,EAAAC,QAAA;IACT5C,SAAS,EAAC;EAAgC,GACtCI,SAAS;IACbyC,OAAO,EAAC,SAAS;IACjB,cAAY/C;EAAU,IAErBG,QACS,CACG,CACW,CAAC;AAEnC;AAEAhB,YAAY,CAAC6D,qBAAqB,GAAG,IAAI;AACzC,eAAe7D,YAAY"}
|