@dnb/eufemia 10.47.0 → 10.49.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 +40 -0
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/cjs/components/height-animation/HeightAnimationInstance.js +13 -6
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +7 -4
- package/cjs/extensions/forms/DataContext/Context.js +1 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -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 +25 -9
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -28
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- 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/FieldBlock/FieldBlock.d.ts +5 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +32 -7
- 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/Form/Isolation/Isolation.js +7 -7
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +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/Iterate/Array/Array.js +75 -26
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
- 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 +8 -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 +74 -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 +38 -15
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +18 -2
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
- 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 +10 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +12 -14
- 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/Wizard/Container/WizardContainer.js +18 -6
- 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/Step/Step.d.ts +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +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.js +10 -26
- 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 +6 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.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 +1 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +48 -27
- 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 +3 -0
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +4 -0
- 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/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 +3 -0
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +3 -0
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +3 -0
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +6 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/components/height-animation/HeightAnimationInstance.js +13 -6
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
- package/es/components/height-animation/HeightAnimationInstance.js +13 -6
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +7 -4
- package/es/extensions/forms/DataContext/Context.js +1 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -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 +26 -9
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js +28 -26
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- 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/FieldBlock/FieldBlock.d.ts +5 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js +30 -7
- 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/Form/Isolation/Isolation.js +7 -7
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +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/Iterate/Array/Array.js +76 -28
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
- 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 +8 -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 +66 -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 +39 -16
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
- 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 +10 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +13 -15
- 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/Wizard/Container/WizardContainer.js +17 -6
- 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/Step/Step.d.ts +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js.map +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.js +10 -26
- 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 +6 -1
- package/es/extensions/forms/hooks/DataValueDocs.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 +1 -0
- package/es/extensions/forms/hooks/useFieldProps.js +48 -28
- 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 +3 -0
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +4 -0
- 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/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 +3 -0
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +3 -0
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +3 -0
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +6 -0
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-forms.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 +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +7 -4
- package/extensions/forms/DataContext/Context.js +1 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -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 +25 -9
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
- package/extensions/forms/DataContext/Provider/Provider.js +28 -26
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
- package/extensions/forms/FieldBlock/FieldBlock.js +30 -7
- 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/Form/Isolation/Isolation.js +7 -7
- package/extensions/forms/Form/Isolation/Isolation.js.map +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/Iterate/Array/Array.js +77 -28
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
- 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 +8 -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 +66 -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 +39 -16
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
- package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
- 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 +10 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +13 -15
- 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/Wizard/Container/WizardContainer.js +18 -6
- 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/Step/Step.d.ts +1 -1
- package/extensions/forms/Wizard/Step/Step.js.map +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.js +10 -26
- 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 +6 -1
- package/extensions/forms/hooks/DataValueDocs.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 +1 -0
- package/extensions/forms/hooks/useFieldProps.js +48 -27
- 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 +3 -0
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +4 -0
- 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/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 +3 -0
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -0
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +3 -0
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +6 -0
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +3 -0
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
- 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/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
- 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/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
- 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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,46 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.49.0](https://github.com/dnbexperience/eufemia/compare/v10.48.0...v10.49.0) (2024-09-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :sparkles: Features
|
|
10
|
+
|
|
11
|
+
* **Forms:** add `{nextItemNo}` support to Iterate.PushButton ([#3936](https://github.com/dnbexperience/eufemia/issues/3936)) ([c1445a3](https://github.com/dnbexperience/eufemia/commit/c1445a3db8b4ddd343d4093510e2b70ac94dddf7))
|
|
12
|
+
* **Forms:** add `{nextItemNo}` support to Iterate.PushContainer open button ([#3937](https://github.com/dnbexperience/eufemia/issues/3937)) ([84e8281](https://github.com/dnbexperience/eufemia/commit/84e82817637bdd2392841d484a4c564e6f670618))
|
|
13
|
+
* **Forms:** add `animate` prop to Iterate.Array ([#3928](https://github.com/dnbexperience/eufemia/issues/3928)) ([1d9f3e4](https://github.com/dnbexperience/eufemia/commit/1d9f3e43e98faf5ba3663129eb6b7fa0ac73df8b))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### :bug: Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **ChildrenWithAge:** fixes spacing issue above 1st child ([#3942](https://github.com/dnbexperience/eufemia/issues/3942)) ([0f9dff3](https://github.com/dnbexperience/eufemia/commit/0f9dff3c90a3e8d0b4f002fdb30d2e076f1e323e))
|
|
19
|
+
* **Forms:** enhance container boundary error handling ([#3939](https://github.com/dnbexperience/eufemia/issues/3939)) ([e4691a0](https://github.com/dnbexperience/eufemia/commit/e4691a0e5361c801e9551d3073fad551428acb0d))
|
|
20
|
+
* **Forms:** remove unwanted Iterate.EditContainer error confirmation when using required on Form.Handler ([#3938](https://github.com/dnbexperience/eufemia/issues/3938)) ([4523e35](https://github.com/dnbexperience/eufemia/commit/4523e350f01536bf909a13d737fa0b6423405510))
|
|
21
|
+
* **Forms:** Wizard.Step JSX component TypeScript fix ([#3935](https://github.com/dnbexperience/eufemia/issues/3935)) ([5556182](https://github.com/dnbexperience/eufemia/commit/5556182a0983a11fe952cba9fb34f188d22b60dc))
|
|
22
|
+
* **HeightAnimation:** enhance adjusting the height to 0 ([#3929](https://github.com/dnbexperience/eufemia/issues/3929)) ([a1f6129](https://github.com/dnbexperience/eufemia/commit/a1f6129d0342d8870db7bd07ddab0556cf926c09))
|
|
23
|
+
* **PushContainer:** Add missing variant type ([#3931](https://github.com/dnbexperience/eufemia/issues/3931)) ([32d41b9](https://github.com/dnbexperience/eufemia/commit/32d41b93c4f7f4a65e4bcde4c56e4d335aa65a1f))
|
|
24
|
+
|
|
25
|
+
## [10.48.0](https://github.com/dnbexperience/eufemia/compare/v10.47.0...v10.48.0) (2024-09-12)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### :bug: Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **countries:** Fixes wrong country code for Martinique [#3915](https://github.com/dnbexperience/eufemia/issues/3915) ([a9f86e4](https://github.com/dnbexperience/eufemia/commit/a9f86e4ed9c0d84f7b580a8567b5c6f18f5a9053))
|
|
31
|
+
* **countries:** Remove outdated countries [#3915](https://github.com/dnbexperience/eufemia/issues/3915) ([36ef5cf](https://github.com/dnbexperience/eufemia/commit/36ef5cfb88b288399b2ef8fcc57fb34d05f2efd2))
|
|
32
|
+
* **Forms:** rename 'Macedonia' to 'North Macedonia' ([#3918](https://github.com/dnbexperience/eufemia/issues/3918)) ([a4eb8a4](https://github.com/dnbexperience/eufemia/commit/a4eb8a4f8eac8ac50410f5c1099fe91bceb94b1b))
|
|
33
|
+
* **Forms:** rename "Hviterussland" to "Belarus" ([#3917](https://github.com/dnbexperience/eufemia/issues/3917)) ([702118a](https://github.com/dnbexperience/eufemia/commit/702118a966858e73f3e7bae77ab5e026f083fd54))
|
|
34
|
+
* removes outdated countries based on ISO 3166-1 alpha-2 ([#3916](https://github.com/dnbexperience/eufemia/issues/3916)) ([a045acd](https://github.com/dnbexperience/eufemia/commit/a045acdb5e89e1834cf3a59b4ae671bad209c0e5))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### :sparkles: Features
|
|
38
|
+
|
|
39
|
+
* **Forms:** add `toolbarVariant="minimumOneItem"` to Iterate.Toolbar for hiding buttons when there is only one item in the array ([#3919](https://github.com/dnbexperience/eufemia/issues/3919)) ([3367a77](https://github.com/dnbexperience/eufemia/commit/3367a774f79916f3a7ed785b38680fc40f82cf1f)), closes [#3877](https://github.com/dnbexperience/eufemia/issues/3877)
|
|
40
|
+
* **Forms:** add `validator` support to Iterate.Array ([#3926](https://github.com/dnbexperience/eufemia/issues/3926)) ([6fd439e](https://github.com/dnbexperience/eufemia/commit/6fd439e4133a96838434c2d6989c9b33f45f8b1a))
|
|
41
|
+
* **Forms:** auto-open Form.Section container when fields have errors and add `validateInitially` prop ([#3878](https://github.com/dnbexperience/eufemia/issues/3878)) ([9b49006](https://github.com/dnbexperience/eufemia/commit/9b49006d3d60bde2904facde28d070867f3c8e80))
|
|
42
|
+
* **Forms:** auto-open iterate containers when validation errors and make `Iterate.Toolbar` fully customizable ([#3877](https://github.com/dnbexperience/eufemia/issues/3877)) ([52326bf](https://github.com/dnbexperience/eufemia/commit/52326bf136ea3d26c835accf8932cb0e93259e98)), closes [#3919](https://github.com/dnbexperience/eufemia/issues/3919)
|
|
43
|
+
* **Forms:** show optional label when a field uses `required={false}` and add `labelSuffix` prop to each field ([#3921](https://github.com/dnbexperience/eufemia/issues/3921)) ([60e440a](https://github.com/dnbexperience/eufemia/commit/60e440a4f07becf01e4ffa25c6f9bf4684160f6d))
|
|
44
|
+
* **Wizard:** add `preventNavigation` callback function to `onStepChange` ([#3924](https://github.com/dnbexperience/eufemia/issues/3924)) ([5ec2772](https://github.com/dnbexperience/eufemia/commit/5ec27728a257707e0a463a8df68d4bf321790a84))
|
|
45
|
+
|
|
6
46
|
## [10.47.0](https://github.com/dnbexperience/eufemia/compare/v10.46.0...v10.47.0) (2024-09-10)
|
|
7
47
|
|
|
8
48
|
|
|
@@ -51,6 +51,7 @@ export default class HeightAnimation {
|
|
|
51
51
|
setAsClosed(): void;
|
|
52
52
|
getHeight(): number;
|
|
53
53
|
getUnknownHeight(): number;
|
|
54
|
+
withFallback(elem: HTMLElement, key: 'clientHeight' | 'clientWidth', fallback?: 'data-height' | 'data-width'): number;
|
|
54
55
|
onStart(fn: HeightAnimationOnStartCallback): void;
|
|
55
56
|
onEnd(fn: HeightAnimationOnEndCallback): void;
|
|
56
57
|
start(fromHeight: HeightAnimationFromHeight, toHeight: HeightAnimationToHeight): void;
|
|
@@ -137,11 +137,11 @@ class HeightAnimation {
|
|
|
137
137
|
this.callAnimationEnd();
|
|
138
138
|
}
|
|
139
139
|
getHeight() {
|
|
140
|
-
var _this$
|
|
141
|
-
return
|
|
140
|
+
var _this$withFallback;
|
|
141
|
+
return (_this$withFallback = this.withFallback(this.elem, 'clientHeight')) !== null && _this$withFallback !== void 0 ? _this$withFallback : null;
|
|
142
142
|
}
|
|
143
143
|
getUnknownHeight() {
|
|
144
|
-
var _this$elem$parentNode, _clonedElem$parentNod;
|
|
144
|
+
var _this$elem$parentNode, _this$withFallback2, _this$withFallback3, _clonedElem$parentNod;
|
|
145
145
|
if (!this.elem) {
|
|
146
146
|
return null;
|
|
147
147
|
}
|
|
@@ -160,17 +160,24 @@ class HeightAnimation {
|
|
|
160
160
|
clonedElem.style.position = 'absolute';
|
|
161
161
|
(_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
|
|
162
162
|
const elemWidth = this.elem.clientWidth;
|
|
163
|
-
const clonedWidth =
|
|
163
|
+
const clonedWidth = (_this$withFallback2 = this.withFallback(clonedElem, 'clientWidth', 'data-width')) !== null && _this$withFallback2 !== void 0 ? _this$withFallback2 : 0;
|
|
164
164
|
if (clonedWidth > elemWidth) {
|
|
165
165
|
clonedElem.style.width = `${elemWidth}px`;
|
|
166
166
|
}
|
|
167
|
-
const height =
|
|
167
|
+
const height = (_this$withFallback3 = this.withFallback(this.elem, 'clientHeight', 'data-height')) !== null && _this$withFallback3 !== void 0 ? _this$withFallback3 : null;
|
|
168
168
|
(_clonedElem$parentNod = clonedElem.parentNode) === null || _clonedElem$parentNod === void 0 ? void 0 : _clonedElem$parentNod.removeChild(clonedElem);
|
|
169
169
|
if (height) {
|
|
170
170
|
this.__currentHeight = height;
|
|
171
171
|
}
|
|
172
172
|
return height;
|
|
173
173
|
}
|
|
174
|
+
withFallback(elem, key, fallback) {
|
|
175
|
+
const val = fallback && elem.hasAttribute(fallback) ? parseFloat(elem.getAttribute(fallback)) : elem === null || elem === void 0 ? void 0 : elem[key];
|
|
176
|
+
if (isNaN(val)) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return val;
|
|
180
|
+
}
|
|
174
181
|
onStart(fn) {
|
|
175
182
|
this.onStartStack.push(fn);
|
|
176
183
|
}
|
|
@@ -254,7 +261,7 @@ class HeightAnimation {
|
|
|
254
261
|
if (!this.elem || opts.animate === false || this.state === 'opening' || this.state === 'closing') {
|
|
255
262
|
return;
|
|
256
263
|
}
|
|
257
|
-
if (fromHeight ===
|
|
264
|
+
if (fromHeight === null) {
|
|
258
265
|
fromHeight = this.getHeight();
|
|
259
266
|
}
|
|
260
267
|
if (toHeight === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","key","firstPaintStyle","style","position","parentNode","insertBefore","nextSibling","elemWidth","clientWidth","clonedWidth","getAttribute","width","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","overflowY","readjust","close","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n } as const\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n\n // Hide the cloned element\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n // When text is wrapped, we get different widths,\n // so we need to set the width to the original width\n const elemWidth = this.elem.clientWidth\n const clonedWidth =\n clonedElem.clientWidth ||\n // data-width is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-width')) ||\n 0\n\n if (clonedWidth > elemWidth) {\n clonedElem.style.width = `${elemWidth}px`\n }\n\n const height =\n clonedElem.clientHeight ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.overflowY = ''\n }\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$withFallback","withFallback","getUnknownHeight","_this$elem$parentNode","_this$withFallback2","_this$withFallback3","_clonedElem$parentNod","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","key","firstPaintStyle","style","position","parentNode","insertBefore","nextSibling","elemWidth","clientWidth","clonedWidth","width","removeChild","fallback","val","hasAttribute","getAttribute","isNaN","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","overflowY","readjust","close","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n } as const\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return this.withFallback(this.elem, 'clientHeight') ?? null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n\n // Hide the cloned element\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n // When text is wrapped, we get different widths,\n // so we need to set the width to the original width\n const elemWidth = this.elem.clientWidth\n const clonedWidth =\n this.withFallback(clonedElem, 'clientWidth', 'data-width') ?? 0\n\n if (clonedWidth > elemWidth) {\n clonedElem.style.width = `${elemWidth}px`\n }\n\n const height =\n // data-height is used for mockup testing with \"mockHeight\"\n this.withFallback(this.elem, 'clientHeight', 'data-height') ?? null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n withFallback(\n elem: HTMLElement,\n key: 'clientHeight' | 'clientWidth',\n fallback?: 'data-height' | 'data-width'\n ) {\n const val =\n fallback && elem.hasAttribute(fallback)\n ? parseFloat(elem.getAttribute(fallback))\n : elem?.[key]\n\n if (isNaN(val)) {\n return null\n }\n\n return val\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.overflowY = ''\n }\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -5,6 +5,9 @@ import { Props as ProviderProps } from './Provider';
|
|
|
5
5
|
type HandleSubmitProps = {
|
|
6
6
|
formElement?: HTMLFormElement;
|
|
7
7
|
};
|
|
8
|
+
export type MountOptions = {
|
|
9
|
+
isMounted?: boolean;
|
|
10
|
+
};
|
|
8
11
|
export type EventListenerCall = {
|
|
9
12
|
path?: Path;
|
|
10
13
|
type?: 'onSubmit' | 'onPathChange';
|
|
@@ -46,6 +49,7 @@ export interface ContextState {
|
|
|
46
49
|
handlePathChangeUnvalidated: (path: Path, value: any) => void;
|
|
47
50
|
updateDataValue: (path: Path, value: any) => void;
|
|
48
51
|
setData: (data: any) => void;
|
|
52
|
+
clearData?: () => void;
|
|
49
53
|
mutateDataHandler?: (data: any, mutate: TransformData) => any;
|
|
50
54
|
filterDataHandler?: (data: any, filter: FilterData) => any;
|
|
51
55
|
validateData: () => void;
|
|
@@ -57,8 +61,7 @@ export interface ContextState {
|
|
|
57
61
|
hasFieldError: (path: Path) => boolean;
|
|
58
62
|
setFieldState: (path: Path, fieldState: SubmitState) => void;
|
|
59
63
|
setFieldError: (path: Path, error: Error | FormError) => void;
|
|
60
|
-
|
|
61
|
-
handleUnMountField: (path: Path) => void;
|
|
64
|
+
setMountedFieldState: (path: Path, options: MountOptions) => void;
|
|
62
65
|
setFormState?: (state: SubmitState) => void;
|
|
63
66
|
setSubmitState?: (state: EventStateObject) => void;
|
|
64
67
|
addOnChangeHandler?: (callback: OnChange) => void;
|
|
@@ -69,13 +72,13 @@ export interface ContextState {
|
|
|
69
72
|
skipErrorCheck?: boolean;
|
|
70
73
|
}) => void;
|
|
71
74
|
setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
|
|
72
|
-
|
|
75
|
+
setVisibleError?: (path: Path, hasError: boolean) => void;
|
|
73
76
|
setFieldProps?: (path: Path, props: unknown) => void;
|
|
74
77
|
setValueProps?: (path: Path, props: unknown) => void;
|
|
75
78
|
setHandleSubmit?: (callback: HandleSubmitCallback) => void;
|
|
76
79
|
fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
|
|
77
80
|
valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
|
|
78
|
-
|
|
81
|
+
mountedFieldsRef?: React.MutableRefObject<Record<Path, MountOptions>>;
|
|
79
82
|
showAllErrors: boolean;
|
|
80
83
|
hasVisibleError: boolean;
|
|
81
84
|
formState: SubmitState;
|
|
@@ -26,8 +26,7 @@ const defaultContextState = {
|
|
|
26
26
|
setSubmitState: () => null,
|
|
27
27
|
handleSubmitCall: () => null,
|
|
28
28
|
setShowAllErrors: () => null,
|
|
29
|
-
|
|
30
|
-
handleUnMountField: () => null,
|
|
29
|
+
setMountedFieldState: () => null,
|
|
31
30
|
hasErrors: () => false,
|
|
32
31
|
hasFieldState: () => false,
|
|
33
32
|
hasFieldError: () => false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","
|
|
1
|
+
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","isInsideFormElement","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type MountOptions = {\n isMounted?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountOptions) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountOptions>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA+I5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAEzB,SAAS;EAC/B0B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAA/B,mBAAA,GAAAA,mBAAA;AAED,MAAMgC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAelC,mBAAmB,CAAC;AAAA,IAAAmC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAhC,OAAA,GAAAoC,QAAA"}
|
|
@@ -19,16 +19,21 @@ export interface FieldBoundaryContextState {
|
|
|
19
19
|
errorsRef?: React.RefObject<unknown>;
|
|
20
20
|
/**
|
|
21
21
|
* Will be set to true when the boundary context error state should be shown.
|
|
22
|
+
* Support a number to ensure we can renew hooks each time we get a new value.
|
|
22
23
|
*/
|
|
23
|
-
showBoundaryErrors?: boolean;
|
|
24
|
+
showBoundaryErrors?: boolean | number;
|
|
24
25
|
/**
|
|
25
26
|
* To set the boundary context error state.
|
|
26
27
|
*/
|
|
27
|
-
setShowBoundaryErrors?: (showBoundaryErrors:
|
|
28
|
+
setShowBoundaryErrors?: (showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']) => void;
|
|
28
29
|
/**
|
|
29
30
|
* To set the local error state.
|
|
30
31
|
*/
|
|
31
32
|
setFieldError?: (path: Path, error: Error) => void;
|
|
33
|
+
/**
|
|
34
|
+
* To set the local visible error state.
|
|
35
|
+
*/
|
|
36
|
+
setVisibleError?: (path: Path, hasError: boolean) => void;
|
|
32
37
|
}
|
|
33
38
|
declare const FieldBoundaryContext: React.Context<FieldBoundaryContextState>;
|
|
34
39
|
export default FieldBoundaryContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBoundaryContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBoundaryContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n */\n showBoundaryErrors?: boolean\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (showBoundaryErrors:
|
|
1
|
+
{"version":3,"file":"FieldBoundaryContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBoundaryContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n * Support a number to ensure we can renew hooks each time we get a new value.\n */\n showBoundaryErrors?: boolean | number\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (\n showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']\n ) => void\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n\n /**\n * To set the local visible error state.\n */\n setVisibleError?: (path: Path, hasError: boolean) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAgDzB,MAAMG,oBAAoB,GAAGC,cAAK,CAACC,aAAa,CAE9CC,SAAS,CAAC;AAAA,IAAAC,QAAA,GAEGJ,oBAAoB;AAAAK,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Path } from '../../types';
|
|
3
|
+
export type Props = {
|
|
4
|
+
showErrors?: boolean;
|
|
5
|
+
onPathError?: (path: Path, error: Error) => void;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
};
|
|
8
|
+
export default function FieldBoundaryProvider(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,26 +11,41 @@ var _Context = _interopRequireDefault(require("../Context"));
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
function FieldBoundaryProvider(
|
|
15
|
-
|
|
14
|
+
function FieldBoundaryProvider(props) {
|
|
15
|
+
const {
|
|
16
|
+
showErrors = false,
|
|
17
|
+
onPathError = null,
|
|
16
18
|
children
|
|
17
|
-
} =
|
|
19
|
+
} = props;
|
|
18
20
|
const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
|
|
19
21
|
const {
|
|
20
|
-
showAllErrors
|
|
21
|
-
hasVisibleError
|
|
22
|
+
showAllErrors
|
|
22
23
|
} = (0, _react.useContext)(_Context.default);
|
|
24
|
+
const onPathErrorRef = (0, _react.useRef)(onPathError);
|
|
25
|
+
onPathErrorRef.current = onPathError;
|
|
23
26
|
const errorsRef = (0, _react.useRef)({});
|
|
24
|
-
const showBoundaryErrorsRef = (0, _react.useRef)(
|
|
25
|
-
const hasError = Object.keys(errorsRef.current
|
|
27
|
+
const showBoundaryErrorsRef = (0, _react.useRef)(showErrors);
|
|
28
|
+
const hasError = Object.keys(errorsRef.current).length > 0;
|
|
26
29
|
const hasSubmitError = showAllErrors && hasError;
|
|
27
30
|
const setFieldError = (0, _react.useCallback)((path, error) => {
|
|
31
|
+
var _onPathErrorRef$curre;
|
|
28
32
|
if (error) {
|
|
29
33
|
errorsRef.current[path] = !!error;
|
|
30
34
|
} else {
|
|
31
35
|
var _errorsRef$current;
|
|
32
36
|
(_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? true : delete _errorsRef$current[path];
|
|
33
37
|
}
|
|
38
|
+
forceUpdate();
|
|
39
|
+
(_onPathErrorRef$curre = onPathErrorRef.current) === null || _onPathErrorRef$curre === void 0 ? void 0 : _onPathErrorRef$curre.call(onPathErrorRef, path, error);
|
|
40
|
+
}, []);
|
|
41
|
+
const hasVisibleErrorRef = (0, _react.useRef)({});
|
|
42
|
+
const setVisibleError = (0, _react.useCallback)((path, hasError) => {
|
|
43
|
+
if (hasError) {
|
|
44
|
+
hasVisibleErrorRef.current[path] = hasError;
|
|
45
|
+
} else {
|
|
46
|
+
delete hasVisibleErrorRef.current[path];
|
|
47
|
+
}
|
|
48
|
+
forceUpdate();
|
|
34
49
|
}, []);
|
|
35
50
|
const setShowBoundaryErrors = (0, _react.useCallback)(showBoundaryErrors => {
|
|
36
51
|
showBoundaryErrorsRef.current = showBoundaryErrors;
|
|
@@ -39,11 +54,12 @@ function FieldBoundaryProvider(_ref) {
|
|
|
39
54
|
const context = {
|
|
40
55
|
hasError,
|
|
41
56
|
hasSubmitError,
|
|
42
|
-
hasVisibleError,
|
|
57
|
+
hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
|
|
43
58
|
errorsRef,
|
|
44
59
|
showBoundaryErrors: showBoundaryErrorsRef.current,
|
|
45
60
|
setShowBoundaryErrors,
|
|
46
|
-
setFieldError
|
|
61
|
+
setFieldError,
|
|
62
|
+
setVisibleError
|
|
47
63
|
};
|
|
48
64
|
return _react.default.createElement(_FieldBoundaryContext.default.Provider, {
|
|
49
65
|
value: context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBoundaryProvider.js","names":["_react","_interopRequireWildcard","require","_FieldBoundaryContext","_interopRequireDefault","_Context","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FieldBoundaryProvider","
|
|
1
|
+
{"version":3,"file":"FieldBoundaryProvider.js","names":["_react","_interopRequireWildcard","require","_FieldBoundaryContext","_interopRequireDefault","_Context","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FieldBoundaryProvider","props","showErrors","onPathError","children","forceUpdate","useReducer","showAllErrors","useContext","DataContext","onPathErrorRef","useRef","current","errorsRef","showBoundaryErrorsRef","hasError","keys","length","hasSubmitError","setFieldError","useCallback","path","error","_onPathErrorRef$curre","_errorsRef$current","hasVisibleErrorRef","setVisibleError","setShowBoundaryErrors","showBoundaryErrors","context","hasVisibleError","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport type Props = {\n showErrors?: boolean\n onPathError?: (path: Path, error: Error) => void\n children: React.ReactNode\n}\n\nexport default function FieldBoundaryProvider(props: Props) {\n const { showErrors = false, onPathError = null, children } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { showAllErrors } = useContext(DataContext)\n\n const onPathErrorRef = useRef(onPathError)\n onPathErrorRef.current = onPathError\n const errorsRef = useRef<Record<Path, boolean>>({})\n const showBoundaryErrorsRef =\n useRef<FieldBoundaryContextState['showBoundaryErrors']>(showErrors)\n const hasError = Object.keys(errorsRef.current).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n forceUpdate()\n onPathErrorRef.current?.(path, error)\n }, [])\n\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const setVisibleError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate()\n }, [])\n\n const setShowBoundaryErrors: FieldBoundaryContextState['setShowBoundaryErrors'] =\n useCallback((showBoundaryErrors) => {\n showBoundaryErrorsRef.current = showBoundaryErrors\n forceUpdate()\n }, [])\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n errorsRef,\n showBoundaryErrors: showBoundaryErrorsRef.current,\n setShowBoundaryErrors,\n setFieldError,\n setVisibleError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":"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"}
|
|
@@ -110,8 +110,4 @@ export interface Props<Data extends JsonObject> extends IsolationProviderProps<D
|
|
|
110
110
|
children: React.ReactNode;
|
|
111
111
|
}
|
|
112
112
|
export default function Provider<Data extends JsonObject>(props: Props<Data>): import("react/jsx-runtime").JSX.Element;
|
|
113
|
-
type PathList = string[];
|
|
114
|
-
export declare function addListPath(paths: PathList, path: Path): PathList;
|
|
115
|
-
export declare function removeListPath(paths: PathList, path: Path): PathList;
|
|
116
113
|
export declare const clearedData: Readonly<{}>;
|
|
117
|
-
export {};
|