@dnb/eufemia 10.31.0 → 10.32.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 +34 -0
- package/cjs/components/anchor/Anchor.d.ts +8 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/card/Card.js +3 -2
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +1 -2
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/cjs/components/checkbox/style/dnb-checkbox.css +2 -2
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/cjs/components/flex/Container.d.ts +4 -1
- package/cjs/components/flex/Container.js +10 -7
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Stack.js +3 -3
- package/cjs/components/flex/Stack.js.map +1 -1
- package/cjs/components/flex/utils.js +7 -7
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/space/SpacingUtils.d.ts +1 -1
- package/cjs/components/space/SpacingUtils.js +1 -1
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/cjs/components/table/style/dnb-table.css +5 -10
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +19 -9
- package/cjs/extensions/forms/DataContext/Context.js +2 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +68 -32
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +3 -1
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/cjs/extensions/forms/Form/Element/Element.js +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/Tools/index.js +14 -0
- package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
- package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +5 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- 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/EditToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- 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/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +9 -5
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +70 -31
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +4 -5
- 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/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/MediaQuery.js +19 -1
- package/cjs/shared/MediaQuery.js.map +1 -1
- package/cjs/shared/MediaQueryUtils.d.ts +12 -34
- package/cjs/shared/MediaQueryUtils.js +22 -12
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +5 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/useMedia.d.ts +7 -2
- package/cjs/shared/useMedia.js +16 -11
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/shared/useMediaQuery.js +30 -9
- package/cjs/shared/useMediaQuery.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +2 -3
- 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 +17 -29
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +2 -3
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +4 -5
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +4 -5
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +26 -36
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/components/anchor/Anchor.d.ts +8 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/card/Card.js +3 -2
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +1 -2
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/components/checkbox/style/dnb-checkbox.css +2 -2
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/components/flex/Container.d.ts +4 -1
- package/components/flex/Container.js +10 -7
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Stack.js +3 -3
- package/components/flex/Stack.js.map +1 -1
- package/components/flex/utils.js +8 -8
- package/components/flex/utils.js.map +1 -1
- package/components/skeleton/style/dnb-skeleton.css +4 -8
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/space/SpacingUtils.d.ts +1 -1
- package/components/space/SpacingUtils.js +1 -1
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/components/table/style/dnb-table.css +5 -10
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/components/anchor/Anchor.d.ts +8 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/card/Card.js +3 -2
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +1 -2
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/es/components/checkbox/style/dnb-checkbox.css +2 -2
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +2 -3
- package/es/components/flex/Container.d.ts +4 -1
- package/es/components/flex/Container.js +10 -7
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Stack.js +3 -3
- package/es/components/flex/Stack.js.map +1 -1
- package/es/components/flex/utils.js +8 -8
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/skeleton/style/dnb-skeleton.css +4 -8
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/space/SpacingUtils.d.ts +1 -1
- package/es/components/space/SpacingUtils.js +1 -1
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/es/components/table/style/dnb-table.css +5 -10
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +19 -9
- package/es/extensions/forms/DataContext/Context.js +2 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js +65 -30
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +3 -1
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/es/extensions/forms/Form/Element/Element.js +1 -1
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
- package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/es/extensions/forms/Form/Tools/index.js +1 -0
- package/es/extensions/forms/Form/Tools/index.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +1 -2
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/es/extensions/forms/Form/data-context/useError.js +5 -3
- package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- 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/EditToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- 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/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +98 -32
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/es/extensions/forms/Wizard/Step/Step.js +9 -5
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/es/extensions/forms/hooks/useFieldProps.js +67 -28
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +4 -5
- 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/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/MediaQuery.js +19 -1
- package/es/shared/MediaQuery.js.map +1 -1
- package/es/shared/MediaQueryUtils.d.ts +12 -34
- package/es/shared/MediaQueryUtils.js +22 -17
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +5 -2
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/useMedia.d.ts +7 -2
- package/es/shared/useMedia.js +14 -11
- package/es/shared/useMedia.js.map +1 -1
- package/es/shared/useMediaQuery.js +28 -9
- package/es/shared/useMediaQuery.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +2 -3
- 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 +17 -29
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +2 -3
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +4 -5
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +4 -5
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +26 -36
- package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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 +19 -9
- package/extensions/forms/DataContext/Context.js +2 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/extensions/forms/DataContext/Provider/Provider.js +68 -32
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +3 -1
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/extensions/forms/Form/Element/Element.js +1 -1
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
- package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/extensions/forms/Form/Tools/index.js +1 -0
- package/extensions/forms/Form/Tools/index.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/extensions/forms/Form/data-context/useData.js +2 -2
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/extensions/forms/Form/data-context/useError.js +5 -3
- package/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- 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/EditToolbarTools.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- 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/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +6 -1
- package/extensions/forms/Wizard/Step/Step.js +9 -5
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/extensions/forms/hooks/useFieldProps.js +70 -31
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +4 -5
- 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/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/fragments/drawer-list/DrawerListHelpers.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/shared/MediaQuery.js +19 -1
- package/shared/MediaQuery.js.map +1 -1
- package/shared/MediaQueryUtils.d.ts +12 -34
- package/shared/MediaQueryUtils.js +22 -12
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +5 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/useMedia.d.ts +7 -2
- package/shared/useMedia.js +14 -11
- package/shared/useMedia.js.map +1 -1
- package/shared/useMediaQuery.js +28 -9
- package/shared/useMediaQuery.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +2 -3
- 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 +17 -29
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +2 -3
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +4 -5
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +4 -5
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/style/themes/theme-ui/ui-theme-components.css +26 -36
- package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
- package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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 +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -31,9 +31,6 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
31
31
|
margin-left: 0;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.dnb-forms-field-block {
|
|
35
|
-
width: 100%;
|
|
36
|
-
}
|
|
37
34
|
.dnb-forms-field-block__grid {
|
|
38
35
|
display: grid;
|
|
39
36
|
}
|
|
@@ -55,6 +52,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
55
52
|
grid-template-areas: "label contents" "status status";
|
|
56
53
|
}
|
|
57
54
|
.dnb-forms-field-block--width-stretch {
|
|
55
|
+
width: 100%;
|
|
58
56
|
flex-grow: 1;
|
|
59
57
|
}
|
|
60
58
|
@media screen and (min-width: 25em) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-
|
|
1
|
+
:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1;width:100%}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
|
|
@@ -24,8 +24,6 @@ fieldset.dnb-forms-field-block {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.dnb-forms-field-block {
|
|
27
|
-
width: 100%;
|
|
28
|
-
|
|
29
27
|
&__grid {
|
|
30
28
|
display: grid;
|
|
31
29
|
}
|
|
@@ -52,6 +50,7 @@ fieldset.dnb-forms-field-block {
|
|
|
52
50
|
|
|
53
51
|
&--width {
|
|
54
52
|
&-stretch {
|
|
53
|
+
width: 100%;
|
|
55
54
|
flex-grow: 1;
|
|
56
55
|
}
|
|
57
56
|
@include allAbove(x-small) {
|
|
@@ -15,7 +15,7 @@ export default function FormElement(_ref) {
|
|
|
15
15
|
} = _ref,
|
|
16
16
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
17
17
|
const dataContext = React.useContext(Context);
|
|
18
|
-
dataContext.
|
|
18
|
+
dataContext.isInsideFormElement = true;
|
|
19
19
|
return React.createElement(Space, _extends({
|
|
20
20
|
element: "form",
|
|
21
21
|
className: classnames('dnb-forms-form', className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Element.js","names":["React","Context","Space","classnames","FormElement","_ref","children","className","onSubmit","rest","_objectWithoutProperties","_excluded","dataContext","useContext","
|
|
1
|
+
{"version":3,"file":"Element.js","names":["React","Context","Space","classnames","FormElement","_ref","children","className","onSubmit","rest","_objectWithoutProperties","_excluded","dataContext","useContext","isInsideFormElement","createElement","_extends","element","onSubmitHandler","event","_dataContext$handleSu","preventDefault","formElement","target","handleSubmit","call"],"sources":["../../../../../../src/extensions/forms/Form/Element/Element.tsx"],"sourcesContent":["import React from 'react'\nimport Context from '../../DataContext/Context'\nimport Space from '../../../../components/space/Space'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../../../shared/types'\n\nexport type Props = React.HTMLAttributes<HTMLFormElement> & SpacingProps\n\nexport default function FormElement({\n children,\n className = null,\n onSubmit = null,\n ...rest\n}: Props) {\n const dataContext = React.useContext(Context)\n\n /**\n * Set to true,\n * this way we prevent \"handleSubmit\" to be called twice when the SubmitButton is pressed.\n */\n dataContext.isInsideFormElement = true\n\n return (\n <Space\n element=\"form\"\n className={classnames('dnb-forms-form', className)}\n onSubmit={onSubmitHandler}\n {...rest}\n >\n {children}\n </Space>\n )\n\n function onSubmitHandler(event: React.SyntheticEvent<HTMLFormElement>) {\n event?.preventDefault()\n\n const formElement = event.target as HTMLFormElement\n dataContext?.handleSubmit?.({ formElement })\n\n if (typeof onSubmit === 'function') {\n onSubmit(event)\n }\n }\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,OAAOC,KAAK,MAAM,oCAAoC;AACtD,OAAOC,UAAU,MAAM,YAAY;AAKnC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAKzB;EAAA,IAL0B;MAClCC,QAAQ;MACRC,SAAS,GAAG,IAAI;MAChBC,QAAQ,GAAG;IAEN,CAAC,GAAAH,IAAA;IADHI,IAAI,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAEP,MAAMC,WAAW,GAAGZ,KAAK,CAACa,UAAU,CAACZ,OAAO,CAAC;EAM7CW,WAAW,CAACE,mBAAmB,GAAG,IAAI;EAEtC,OACEd,KAAA,CAAAe,aAAA,CAACb,KAAK,EAAAc,QAAA;IACJC,OAAO,EAAC,MAAM;IACdV,SAAS,EAAEJ,UAAU,CAAC,gBAAgB,EAAEI,SAAS,CAAE;IACnDC,QAAQ,EAAEU;EAAgB,GACtBT,IAAI,GAEPH,QACI,CAAC;EAGV,SAASY,eAAeA,CAACC,KAA4C,EAAE;IAAA,IAAAC,qBAAA;IACrED,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,cAAc,CAAC,CAAC;IAEvB,MAAMC,WAAW,GAAGH,KAAK,CAACI,MAAyB;IACnDX,WAAW,aAAXA,WAAW,wBAAAQ,qBAAA,GAAXR,WAAW,CAAEY,YAAY,cAAAJ,qBAAA,uBAAzBA,qBAAA,CAAAK,IAAA,CAAAb,WAAW,EAAiB;MAAEU;IAAY,CAAC,CAAC;IAE5C,IAAI,OAAOd,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAACW,KAAK,CAAC;IACjB;EACF;AACF"}
|
|
@@ -24,13 +24,13 @@ function SubmitButton(props) {
|
|
|
24
24
|
const {
|
|
25
25
|
formState,
|
|
26
26
|
handleSubmit,
|
|
27
|
-
|
|
27
|
+
isInsideFormElement
|
|
28
28
|
} = useContext(DataContext) || {};
|
|
29
29
|
const onClickHandler = useCallback(() => {
|
|
30
|
-
if (!
|
|
30
|
+
if (!isInsideFormElement) {
|
|
31
31
|
handleSubmit === null || handleSubmit === void 0 ? void 0 : handleSubmit();
|
|
32
32
|
}
|
|
33
|
-
}, [
|
|
33
|
+
}, [isInsideFormElement, handleSubmit]);
|
|
34
34
|
return React.createElement(Button, _extends({
|
|
35
35
|
className: classnames('dnb-forms-submit-button', className),
|
|
36
36
|
onClick: onClickHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitButton.js","names":["React","useCallback","useContext","classnames","DataContext","Button","SubmitIndicator","useTranslation","send","SubmitButton","props","translations","variant","className","showIndicator","children","text","rest","_objectWithoutProperties","_excluded","content","sendText","formState","handleSubmit","
|
|
1
|
+
{"version":3,"file":"SubmitButton.js","names":["React","useCallback","useContext","classnames","DataContext","Button","SubmitIndicator","useTranslation","send","SubmitButton","props","translations","variant","className","showIndicator","children","text","rest","_objectWithoutProperties","_excluded","content","sendText","formState","handleSubmit","isInsideFormElement","onClickHandler","createElement","_extends","onClick","type","icon","state","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitButton/SubmitButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport DataContext from '../../DataContext/Context'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport SubmitIndicator from '../SubmitIndicator'\nimport useTranslation from '../../hooks/useTranslation'\nimport { send } from '../../../../icons'\n\nexport type Props = {\n /**\n * Show the submit indicator\n */\n showIndicator?: boolean\n} & ComponentProps &\n Omit<ButtonProps, 'variant'> &\n Partial<React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>> & {\n variant?: 'send'\n }\n\nfunction SubmitButton(props: Props) {\n const translations = useTranslation().SubmitButton\n\n const { variant, className, showIndicator, children, text, ...rest } =\n props\n\n const content =\n text ||\n children ||\n (variant === 'send' ? translations.sendText : translations.text)\n\n const { formState, handleSubmit, isInsideFormElement } =\n useContext(DataContext) || {}\n\n const onClickHandler = useCallback(() => {\n if (!isInsideFormElement) {\n handleSubmit?.()\n }\n }, [isInsideFormElement, handleSubmit])\n\n return (\n <Button\n className={classnames('dnb-forms-submit-button', className)}\n onClick={onClickHandler}\n type=\"submit\"\n icon={variant === 'send' ? send : null}\n {...rest}\n >\n {content}\n\n <SubmitIndicator\n state={\n showIndicator ? 'pending' : formState // will be enabled in a follow-up PR\n }\n />\n </Button>\n )\n}\n\nSubmitButton._supportsSpacingProps = true\nexport default SubmitButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,cAAc,MAAM,4BAA4B;AACvD,SAASC,IAAI,QAAQ,mBAAmB;AAaxC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,YAAY,GAAGJ,cAAc,CAAC,CAAC,CAACE,YAAY;EAElD,MAAM;MAAEG,OAAO;MAAEC,SAAS;MAAEC,aAAa;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAClEN,KAAK;IADuDO,IAAI,GAAAC,wBAAA,CAChER,KAAK,EAAAS,SAAA;EAEP,MAAMC,OAAO,GACXJ,IAAI,IACJD,QAAQ,KACPH,OAAO,KAAK,MAAM,GAAGD,YAAY,CAACU,QAAQ,GAAGV,YAAY,CAACK,IAAI,CAAC;EAElE,MAAM;IAAEM,SAAS;IAAEC,YAAY;IAAEC;EAAoB,CAAC,GACpDtB,UAAU,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EAE/B,MAAMqB,cAAc,GAAGxB,WAAW,CAAC,MAAM;IACvC,IAAI,CAACuB,mBAAmB,EAAE;MACxBD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACC,mBAAmB,EAAED,YAAY,CAAC,CAAC;EAEvC,OACEvB,KAAA,CAAA0B,aAAA,CAACrB,MAAM,EAAAsB,QAAA;IACLd,SAAS,EAAEV,UAAU,CAAC,yBAAyB,EAAEU,SAAS,CAAE;IAC5De,OAAO,EAAEH,cAAe;IACxBI,IAAI,EAAC,QAAQ;IACbC,IAAI,EAAElB,OAAO,KAAK,MAAM,GAAGJ,IAAI,GAAG;EAAK,GACnCS,IAAI,GAEPG,OAAO,EAERpB,KAAA,CAAA0B,aAAA,CAACpB,eAAe;IACdyB,KAAK,EACHjB,aAAa,GAAG,SAAS,GAAGQ;EAC7B,CACF,CACK,CAAC;AAEb;AAEAb,YAAY,CAACuB,qBAAqB,GAAG,IAAI;AACzC,eAAevB,YAAY"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type GenerateSchemaObject = Record<string, unknown>;
|
|
3
|
+
export type GenerateSchemaProps = {
|
|
4
|
+
generateRef: React.MutableRefObject<() => GenerateSchemaObject>;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export declare const schemaParams: string[];
|
|
8
|
+
export default function GenerateSchema(props: GenerateSchemaProps): import("react").ReactNode;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
+
import { useContext } from 'react';
|
|
7
|
+
import pointer from 'json-pointer';
|
|
8
|
+
import DataContext from '../../DataContext/Context';
|
|
9
|
+
export const schemaParams = ['minLength', 'maxLength', 'pattern', 'description', 'min', 'max', 'multipleOf', 'exclusiveMinimum', 'exclusiveMaximum'];
|
|
10
|
+
export default function GenerateSchema(props) {
|
|
11
|
+
const {
|
|
12
|
+
generateRef,
|
|
13
|
+
children
|
|
14
|
+
} = props;
|
|
15
|
+
const {
|
|
16
|
+
fieldPropsRef,
|
|
17
|
+
data
|
|
18
|
+
} = useContext(DataContext);
|
|
19
|
+
if (generateRef) {
|
|
20
|
+
generateRef.current = () => {
|
|
21
|
+
const schema = Object.entries(fieldPropsRef.current).reduce((acc, _ref) => {
|
|
22
|
+
let [path, props] = _ref;
|
|
23
|
+
if (path.startsWith('/')) {
|
|
24
|
+
const objectKey = path.substring(1);
|
|
25
|
+
const pathList = objectKey.split('/');
|
|
26
|
+
const slashCount = pathList.length;
|
|
27
|
+
const type = props.valueType || 'string';
|
|
28
|
+
const propertyValue = {
|
|
29
|
+
type
|
|
30
|
+
};
|
|
31
|
+
for (const prop of schemaParams) {
|
|
32
|
+
if (props[prop]) {
|
|
33
|
+
propertyValue[prop] = props[prop];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (Object.hasOwnProperty.call(props, 'value')) {
|
|
37
|
+
pointer.set(data, path, props.value);
|
|
38
|
+
}
|
|
39
|
+
if (slashCount > 1) {
|
|
40
|
+
const nestedPath = [''];
|
|
41
|
+
for (const path of pathList) {
|
|
42
|
+
nestedPath.push(path);
|
|
43
|
+
const pathToSet = nestedPath.join('/properties/');
|
|
44
|
+
const isLast = nestedPath.length - 1 === pathList.length;
|
|
45
|
+
const existingValue = pointer.has(acc, pathToSet) ? pointer.get(acc, pathToSet) : null;
|
|
46
|
+
const pathValue = isLast ? propertyValue : existingValue;
|
|
47
|
+
if (isLast) {
|
|
48
|
+
pointer.set(acc, pathToSet, pathValue);
|
|
49
|
+
} else {
|
|
50
|
+
const pathValue = _objectSpread({
|
|
51
|
+
type: 'object'
|
|
52
|
+
}, existingValue);
|
|
53
|
+
const required = [];
|
|
54
|
+
if (props.required) {
|
|
55
|
+
required.push(pathList.at(-1));
|
|
56
|
+
}
|
|
57
|
+
if (existingValue !== null && existingValue !== void 0 && existingValue.required) {
|
|
58
|
+
required.push(...existingValue.required);
|
|
59
|
+
}
|
|
60
|
+
if (required.length > 0) {
|
|
61
|
+
pathValue.required = required;
|
|
62
|
+
}
|
|
63
|
+
pointer.set(acc, pathToSet, pathValue);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
pointer.set(acc.properties, path, propertyValue);
|
|
68
|
+
if (props.required) {
|
|
69
|
+
acc.required.push(objectKey);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return acc;
|
|
74
|
+
}, {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties: {},
|
|
77
|
+
required: []
|
|
78
|
+
});
|
|
79
|
+
if (schema.required.length === 0) {
|
|
80
|
+
delete schema.required;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
schema,
|
|
84
|
+
data
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return children;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=GenerateSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateSchema.js","names":["useContext","pointer","DataContext","schemaParams","GenerateSchema","props","generateRef","children","fieldPropsRef","data","current","schema","Object","entries","reduce","acc","_ref","path","startsWith","objectKey","substring","pathList","split","slashCount","length","type","valueType","propertyValue","prop","hasOwnProperty","call","set","value","nestedPath","push","pathToSet","join","isLast","existingValue","has","get","pathValue","_objectSpread","required","at","properties"],"sources":["../../../../../../src/extensions/forms/Form/Tools/GenerateSchema.tsx"],"sourcesContent":["import { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport DataContext from '../../DataContext/Context'\n\nexport type GenerateSchemaObject = Record<string, unknown>\nexport type GenerateSchemaProps = {\n generateRef: React.MutableRefObject<() => GenerateSchemaObject>\n children: React.ReactNode\n}\n\nexport const schemaParams = [\n 'minLength',\n 'maxLength',\n 'pattern',\n 'description',\n 'min',\n 'max',\n 'multipleOf',\n 'exclusiveMinimum',\n 'exclusiveMaximum',\n]\n\nexport default function GenerateSchema(props: GenerateSchemaProps) {\n const { generateRef, children } = props\n const { fieldPropsRef, data } = useContext(DataContext)\n\n if (generateRef) {\n generateRef.current = () => {\n const schema = Object.entries(fieldPropsRef.current).reduce(\n (acc, [path, props]) => {\n if (path.startsWith('/')) {\n const objectKey = path.substring(1)\n\n const pathList = objectKey.split('/')\n const slashCount = pathList.length\n\n const type = props.valueType || 'string'\n const propertyValue = {\n type,\n }\n\n for (const prop of schemaParams) {\n if (props[prop]) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (Object.hasOwnProperty.call(props, 'value')) {\n pointer.set(data, path, props.value)\n }\n\n if (slashCount > 1) {\n const nestedPath = ['']\n for (const path of pathList) {\n nestedPath.push(path)\n const pathToSet = nestedPath.join('/properties/')\n const isLast = nestedPath.length - 1 === pathList.length\n\n const existingValue = pointer.has(acc, pathToSet)\n ? pointer.get(acc, pathToSet)\n : null\n\n const pathValue = isLast ? propertyValue : existingValue\n\n if (isLast) {\n pointer.set(acc, pathToSet, pathValue)\n } else {\n const pathValue = {\n type: 'object',\n ...existingValue,\n }\n\n // - Add required\n const required = []\n if (props.required) {\n required.push(pathList.at(-1))\n }\n if (existingValue?.required) {\n required.push(...existingValue.required)\n }\n if (required.length > 0) {\n pathValue.required = required\n }\n\n pointer.set(acc, pathToSet, pathValue)\n }\n }\n } else {\n pointer.set(acc.properties, path, propertyValue)\n if (props.required) {\n acc.required.push(objectKey)\n }\n }\n }\n\n return acc\n },\n { type: 'object', properties: {}, required: [] }\n )\n\n if (schema.required.length === 0) {\n delete schema.required\n }\n\n return { schema, data }\n }\n }\n\n return children\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as GenerateSchema } from './GenerateSchema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as GenerateSchema } from './GenerateSchema';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","GenerateSchema"],"sources":["../../../../../../src/extensions/forms/Form/Tools/index.ts"],"sourcesContent":["export { default as GenerateSchema } from './GenerateSchema'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc,QAAQ,kBAAkB"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import React, { AriaAttributes } from 'react';
|
|
2
2
|
import { HeightAnimationProps } from '../../../../components/HeightAnimation';
|
|
3
|
+
import { FilterData } from '../../DataContext/Context';
|
|
3
4
|
import type { UseFieldProps } from '../../types';
|
|
4
5
|
import type { DataAttributes } from '../../hooks/useFieldProps';
|
|
6
|
+
type VisibleWhen = {
|
|
7
|
+
path: string;
|
|
8
|
+
hasValue: unknown;
|
|
9
|
+
} | {
|
|
10
|
+
path: string;
|
|
11
|
+
withValue: (value: unknown) => boolean;
|
|
12
|
+
};
|
|
5
13
|
export type Props = {
|
|
6
14
|
visible?: boolean;
|
|
7
15
|
/** Given data context path must be defined to show children */
|
|
@@ -16,12 +24,14 @@ export type Props = {
|
|
|
16
24
|
pathTrue?: string;
|
|
17
25
|
/** Given data context path must be false to show children */
|
|
18
26
|
pathFalse?: string;
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
|
|
27
|
+
/** Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path. */
|
|
28
|
+
visibleWhen?: VisibleWhen;
|
|
29
|
+
/** Same as `visibleWhen`, but with inverted logic. */
|
|
30
|
+
visibleWhenNot?: VisibleWhen;
|
|
23
31
|
/** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */
|
|
24
32
|
inferData?: (data: unknown) => boolean;
|
|
33
|
+
/** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */
|
|
34
|
+
filterData?: FilterData;
|
|
25
35
|
/** Animate the visibility change */
|
|
26
36
|
animate?: boolean;
|
|
27
37
|
/** Keep the content in the DOM, even if it's not visible */
|
|
@@ -30,8 +40,12 @@ export type Props = {
|
|
|
30
40
|
fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes;
|
|
31
41
|
element?: HeightAnimationProps['element'];
|
|
32
42
|
children: React.ReactNode;
|
|
43
|
+
/** @deprecated Use `visibleWhen` instead */
|
|
44
|
+
pathValue?: string;
|
|
45
|
+
/** @deprecated Use `visibleWhen` instead */
|
|
46
|
+
whenValue?: unknown;
|
|
33
47
|
};
|
|
34
|
-
declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, animate, keepInDOM, fieldPropsWhenHidden, children, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, visibleWhen, visibleWhenNot, inferData, filterData, animate, keepInDOM, fieldPropsWhenHidden, children, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
35
49
|
declare namespace Visibility {
|
|
36
50
|
var _supportsSpacingProps: string;
|
|
37
51
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "inferData", "animate", "keepInDOM", "fieldPropsWhenHidden", "children"];
|
|
5
|
+
const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "visibleWhen", "visibleWhenNot", "inferData", "filterData", "animate", "keepInDOM", "fieldPropsWhenHidden", "children"];
|
|
6
6
|
import React, { useContext } from 'react';
|
|
7
7
|
import pointer from 'json-pointer';
|
|
8
8
|
import { warn } from '../../../../shared/helpers';
|
|
@@ -21,7 +21,10 @@ function Visibility(_ref) {
|
|
|
21
21
|
pathFalse,
|
|
22
22
|
pathValue,
|
|
23
23
|
whenValue,
|
|
24
|
+
visibleWhen,
|
|
25
|
+
visibleWhenNot,
|
|
24
26
|
inferData,
|
|
27
|
+
filterData,
|
|
25
28
|
animate,
|
|
26
29
|
keepInDOM,
|
|
27
30
|
fieldPropsWhenHidden,
|
|
@@ -35,31 +38,59 @@ function Visibility(_ref) {
|
|
|
35
38
|
}
|
|
36
39
|
});
|
|
37
40
|
const check = () => {
|
|
41
|
+
var _dataContext$filterDa;
|
|
38
42
|
if (visible === false) {
|
|
39
43
|
return;
|
|
40
44
|
}
|
|
41
|
-
|
|
45
|
+
const data = filterData && ((_dataContext$filterDa = dataContext.filterDataHandler) === null || _dataContext$filterDa === void 0 ? void 0 : _dataContext$filterDa.call(dataContext, dataContext.data, filterData)) || dataContext.data;
|
|
46
|
+
if (visibleWhen || visibleWhenNot) {
|
|
47
|
+
if (visibleWhenNot) {
|
|
48
|
+
visibleWhen = visibleWhenNot;
|
|
49
|
+
}
|
|
50
|
+
const hasPath = pointer.has(data, visibleWhen.path);
|
|
51
|
+
if (hasPath) {
|
|
52
|
+
var _visibleWhen, _visibleWhen2;
|
|
53
|
+
const value = pointer.get(data, visibleWhen.path);
|
|
54
|
+
const withValue = (_visibleWhen = visibleWhen) === null || _visibleWhen === void 0 ? void 0 : _visibleWhen['withValue'];
|
|
55
|
+
const result = withValue && (withValue === null || withValue === void 0 ? void 0 : withValue(value)) === false || Object.prototype.hasOwnProperty.call(visibleWhen, 'hasValue') && ((_visibleWhen2 = visibleWhen) === null || _visibleWhen2 === void 0 ? void 0 : _visibleWhen2['hasValue']) !== value;
|
|
56
|
+
if (visibleWhenNot) {
|
|
57
|
+
if (!result) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
} else if (result) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
} else {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (pathDefined && !pointer.has(data, pathDefined)) {
|
|
42
68
|
return;
|
|
43
69
|
}
|
|
44
|
-
if (pathUndefined && pointer.has(
|
|
70
|
+
if (pathUndefined && pointer.has(data, pathUndefined)) {
|
|
45
71
|
return;
|
|
46
72
|
}
|
|
47
|
-
|
|
73
|
+
const getValue = path => {
|
|
74
|
+
if (pointer.has(data, path)) {
|
|
75
|
+
return pointer.get(data, path);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
if (pathTrue && getValue(pathTrue) !== true) {
|
|
48
79
|
return;
|
|
49
80
|
}
|
|
50
|
-
if (
|
|
81
|
+
if (pathFalse && getValue(pathFalse) !== false) {
|
|
51
82
|
return;
|
|
52
83
|
}
|
|
53
|
-
if (
|
|
84
|
+
if (pathTruthy && Boolean(getValue(pathTruthy)) === false) {
|
|
54
85
|
return;
|
|
55
86
|
}
|
|
56
|
-
if (
|
|
87
|
+
if (pathFalsy && Boolean(getValue(pathFalsy)) === true) {
|
|
57
88
|
return;
|
|
58
89
|
}
|
|
59
|
-
if (
|
|
90
|
+
if (inferData && !inferData(data)) {
|
|
60
91
|
return;
|
|
61
92
|
}
|
|
62
|
-
if (
|
|
93
|
+
if (pathValue && getValue(pathValue) !== whenValue) {
|
|
63
94
|
return;
|
|
64
95
|
}
|
|
65
96
|
return true;
|
|
@@ -69,7 +100,7 @@ function Visibility(_ref) {
|
|
|
69
100
|
const props = !open ? fieldPropsWhenHidden : null;
|
|
70
101
|
return React.createElement(HeightAnimation, _extends({
|
|
71
102
|
open: open,
|
|
72
|
-
keepInDOM: keepInDOM,
|
|
103
|
+
keepInDOM: Boolean(keepInDOM),
|
|
73
104
|
className: "dnb-forms-visibility"
|
|
74
105
|
}, rest), React.createElement(FieldProps, props, children));
|
|
75
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","names":["React","useContext","pointer","warn","useMountEffect","HeightAnimation","DataContext","FieldProps","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","animate","keepInDOM","fieldPropsWhenHidden","children","rest","_objectWithoutProperties","_excluded","dataContext","check","
|
|
1
|
+
{"version":3,"file":"Visibility.js","names":["React","useContext","pointer","warn","useMountEffect","HeightAnimation","DataContext","FieldProps","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","animate","keepInDOM","fieldPropsWhenHidden","children","rest","_objectWithoutProperties","_excluded","dataContext","check","_dataContext$filterDa","data","filterDataHandler","call","hasPath","has","path","_visibleWhen","_visibleWhen2","value","get","withValue","result","Object","prototype","hasOwnProperty","getValue","Boolean","open","props","createElement","_extends","className","hidden","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes, useContext } from 'react'\nimport pointer from 'json-pointer'\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\nimport DataContext, { FilterData } from '../../DataContext/Context'\nimport FieldProps from '../FieldProps'\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\n\ntype VisibleWhen =\n | {\n path: string\n hasValue: unknown\n }\n | {\n path: string\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n animate,\n keepInDOM,\n fieldPropsWhenHidden,\n children,\n ...rest\n}: Props) {\n const dataContext = useContext(DataContext)\n\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const check = () => {\n if (visible === false) {\n return\n }\n\n const data =\n (filterData &&\n dataContext.filterDataHandler?.(dataContext.data, filterData)) ||\n dataContext.data\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n const hasPath = pointer.has(data, visibleWhen.path)\n if (hasPath) {\n const value = pointer.get(data, visibleWhen.path)\n\n const withValue = visibleWhen?.['withValue']\n const result =\n (withValue && withValue?.(value) === false) ||\n (Object.prototype.hasOwnProperty.call(visibleWhen, 'hasValue') &&\n visibleWhen?.['hasValue'] !== value)\n\n if (visibleWhenNot) {\n if (!result) {\n return\n }\n } else if (result) {\n return\n }\n } else {\n return\n }\n }\n\n if (pathDefined && !pointer.has(data, pathDefined)) {\n return\n }\n if (pathUndefined && pointer.has(data, pathUndefined)) {\n return\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathTrue && getValue(pathTrue) !== true) {\n return\n }\n if (pathFalse && getValue(pathFalse) !== false) {\n return\n }\n if (pathTruthy && Boolean(getValue(pathTruthy)) === false) {\n return\n }\n if (pathFalsy && Boolean(getValue(pathFalsy)) === true) {\n return\n }\n if (inferData && !inferData(data)) {\n return\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(pathValue) !== whenValue) {\n return\n }\n\n return true\n }\n\n const open = Boolean(check())\n\n if (animate) {\n const props = !open ? fieldPropsWhenHidden : null\n\n return (\n <HeightAnimation\n open={open}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n {...rest}\n >\n <FieldProps {...props}>{children}</FieldProps>\n </HeightAnimation>\n )\n }\n\n if (keepInDOM) {\n const props = !open ? fieldPropsWhenHidden : null\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProps {...props}>{children}</FieldProps>\n </span>\n )\n }\n\n return <>{open ? children : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
|
|
@@ -29,14 +29,14 @@ export const VisibilityProperties = {
|
|
|
29
29
|
type: 'string',
|
|
30
30
|
status: 'optional'
|
|
31
31
|
},
|
|
32
|
-
|
|
33
|
-
doc: '
|
|
34
|
-
type: '
|
|
32
|
+
visibleWhen: {
|
|
33
|
+
doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',
|
|
34
|
+
type: 'object',
|
|
35
35
|
status: 'optional'
|
|
36
36
|
},
|
|
37
|
-
|
|
38
|
-
doc: '
|
|
39
|
-
type: '
|
|
37
|
+
visibleWhenNot: {
|
|
38
|
+
doc: 'Same as `visibleWhen`, but with inverted logic.',
|
|
39
|
+
type: 'object',
|
|
40
40
|
status: 'optional'
|
|
41
41
|
},
|
|
42
42
|
inferData: {
|
|
@@ -59,6 +59,11 @@ export const VisibilityProperties = {
|
|
|
59
59
|
type: 'boolean',
|
|
60
60
|
status: 'optional'
|
|
61
61
|
},
|
|
62
|
+
filterData: {
|
|
63
|
+
doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',
|
|
64
|
+
type: ['object', 'function'],
|
|
65
|
+
status: 'optional'
|
|
66
|
+
},
|
|
62
67
|
fieldPropsWhenHidden: {
|
|
63
68
|
doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',
|
|
64
69
|
type: 'various',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","
|
|
1
|
+
{"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","visibleWhen","visibleWhenNot","inferData","visible","animate","keepInDOM","filterData","fieldPropsWhenHidden","element","children"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n visibleWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly by boolean value.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,0NAA0N;IAC/NC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,cAAc,EAAE;IACdT,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,UAAU,EAAE;IACVd,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDa,oBAAoB,EAAE;IACpBf,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDc,OAAO,EAAE;IACPhB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDe,QAAQ,EAAE;IACRjB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -5,7 +5,7 @@ type PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}` ? Ke
|
|
|
5
5
|
type PathType<T, P extends string> = P extends `/${infer Rest}` ? PathImpl<T, Rest> : never;
|
|
6
6
|
type UseDataReturnUpdate<Data> = <P extends Path>(path: P, value: ((value: PathType<Data, P>) => unknown) | unknown) => void;
|
|
7
7
|
export type UseDataReturnGetValue<Data> = <P extends Path>(path: P) => PathType<Data, P>;
|
|
8
|
-
export type UseDataReturnFilterData<Data> = (filterDataHandler: FilterData) => Partial<Data>;
|
|
8
|
+
export type UseDataReturnFilterData<Data> = (filterDataHandler: FilterData, data?: Data) => Partial<Data>;
|
|
9
9
|
type UseDataReturn<Data> = {
|
|
10
10
|
data: Data;
|
|
11
11
|
set: (newData: Data) => void;
|
|
@@ -42,8 +42,8 @@ export default function useData() {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}, [id, updateDataValue]);
|
|
45
|
-
const filterData = useCallback(filter
|
|
46
|
-
|
|
45
|
+
const filterData = useCallback(function (filter) {
|
|
46
|
+
let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : sharedDataRef.current.data;
|
|
47
47
|
if (id) {
|
|
48
48
|
var _sharedAttachmentsRef, _sharedAttachmentsRef2;
|
|
49
49
|
return (_sharedAttachmentsRef = sharedAttachmentsRef.current.data) === null || _sharedAttachmentsRef === void 0 ? void 0 : (_sharedAttachmentsRef2 = _sharedAttachmentsRef.filterDataHandler) === null || _sharedAttachmentsRef2 === void 0 ? void 0 : _sharedAttachmentsRef2.call(_sharedAttachmentsRef, data, filter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","useSharedState","useMountEffect","DataContext","useData","id","arguments","length","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","context","data","updateDataValue","setData","rerenderUseDataHook","setHandler","newData","update","updateHandler","path","value","existingData","existingValue","has","get","newValue","set","extend","filterData","filter","_sharedAttachmentsRef","_sharedAttachmentsRef2","filterDataHandler","call","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer from 'json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n FilterDataHandler,\n} from '../../DataContext/Context'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P>\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData\n) => Partial<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n}\n\ntype SharedAttachment<Data> = {\n rerenderUseDataHook: () => void\n filterDataHandler?: FilterDataHandler<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachment<Data>>>>(null)\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n // If no id is provided, use the context data\n const context = useContext(DataContext)\n if (!id && context?.data) {\n sharedDataRef.current.data = context.data\n }\n const updateDataValue = context?.updateDataValue\n const setData = context?.setData\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachment<Data>>(\n id + '-attachments',\n { rerenderUseDataHook: forceUpdate }\n )\n\n const setHandler = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const updateHandler = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = sharedDataRef.current.data || ({} as Data)\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // update existing data\n pointer.set(existingData, path, newValue)\n\n // update provider\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter
|
|
1
|
+
{"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","useSharedState","useMountEffect","DataContext","useData","id","arguments","length","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","context","data","updateDataValue","setData","rerenderUseDataHook","setHandler","newData","update","updateHandler","path","value","existingData","existingValue","has","get","newValue","set","extend","filterData","filter","_sharedAttachmentsRef","_sharedAttachmentsRef2","filterDataHandler","call","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer from 'json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n FilterDataHandler,\n} from '../../DataContext/Context'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P>\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData,\n data?: Data\n) => Partial<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n}\n\ntype SharedAttachment<Data> = {\n rerenderUseDataHook: () => void\n filterDataHandler?: FilterDataHandler<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachment<Data>>>>(null)\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n // If no id is provided, use the context data\n const context = useContext(DataContext)\n if (!id && context?.data) {\n sharedDataRef.current.data = context.data\n }\n const updateDataValue = context?.updateDataValue\n const setData = context?.setData\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachment<Data>>(\n id + '-attachments',\n { rerenderUseDataHook: forceUpdate }\n )\n\n const setHandler = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const updateHandler = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = sharedDataRef.current.data || ({} as Data)\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // update existing data\n pointer.set(existingData, path, newValue)\n\n // update provider\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter, data = sharedDataRef.current.data) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n }\n\n return context?.filterDataHandler(data, filter)\n },\n [context, id]\n )\n\n const getValue = useCallback<UseDataReturn<Data>['getValue']>((path) => {\n if (pointer.has(sharedDataRef.current.data, path)) {\n return pointer.get(sharedDataRef.current.data, path)\n }\n\n return undefined\n }, [])\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.extend(initialData)\n }\n })\n\n const { data } = sharedDataRef.current\n\n return useMemo(\n () => ({\n data,\n update: updateHandler,\n set: setHandler,\n getValue,\n filterData,\n }),\n [data, filterData, getValue, setHandler, updateHandler]\n )\n}\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
|
|
|
2
2
|
import { ContextState } from '../../DataContext/Context';
|
|
3
3
|
type UseDataReturn = {
|
|
4
4
|
hasErrors: ContextState['hasErrors'];
|
|
5
|
+
hasFieldError: ContextState['hasFieldError'];
|
|
5
6
|
setFormError: (error: Error) => void;
|
|
6
7
|
};
|
|
7
8
|
export default function useError(id?: SharedStateId): UseDataReturn;
|