@dnb/eufemia 10.23.0 → 10.25.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 +36 -0
- package/cjs/components/accordion/style/dnb-accordion.css +6 -2
- package/cjs/components/accordion/style/dnb-accordion.min.css +2 -2
- package/cjs/components/accordion/style/dnb-accordion.scss +8 -2
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/cjs/components/anchor/Anchor.d.ts +1 -1
- package/cjs/components/anchor/Anchor.js +2 -2
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +46 -3
- package/cjs/components/anchor/style/dnb-anchor.css +73 -4
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/cjs/components/autocomplete/Autocomplete.d.ts +0 -15
- package/cjs/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js +293 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/cjs/components/button/Button.js +1 -1
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.d.ts +0 -3
- package/cjs/components/flex/style/dnb-flex.css +1 -1
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/flex/style/flex-stack.scss +1 -1
- package/cjs/components/icon/style/dnb-icon.css +2 -2
- package/cjs/components/icon/style/dnb-icon.min.css +1 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -1
- package/cjs/components/input/Input.js +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input/InputDocs.js +2 -2
- package/cjs/components/input/InputDocs.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +6 -0
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/table-th.scss +9 -25
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/cjs/components/textarea/Textarea.d.ts +9 -0
- package/cjs/components/textarea/Textarea.js +21 -5
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/textarea/TextareaDocs.js +10 -0
- package/cjs/components/textarea/TextareaDocs.js.map +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +69 -26
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +83 -31
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/cjs/extensions/forms/DataContext/At/At.js +6 -6
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -26
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +6 -6
- package/cjs/extensions/forms/Field/String/String.js +13 -11
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +3 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/cjs/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +86 -50
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/cjs/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/cjs/extensions/forms/StepsLayout/useStep.js +19 -0
- package/cjs/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +82 -58
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +3 -3
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +2 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.js +6 -2
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/cjs/fragments/drawer-list/DrawerListDocs.js +188 -0
- package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- 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/helpers/runCssVersionMismatchWarning.js +2 -2
- package/cjs/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/cjs/style/dnb-ui-components.min.css +3 -3
- 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 -3
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +3 -3
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/properties.js +10 -10
- package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.js +10 -10
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +10 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/properties.js +10 -10
- package/cjs/style/themes/theme-ui/properties.js.map +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/dnb-accordion.css +6 -2
- package/components/accordion/style/dnb-accordion.min.css +2 -2
- package/components/accordion/style/dnb-accordion.scss +8 -2
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/components/anchor/Anchor.d.ts +1 -1
- package/components/anchor/Anchor.js +2 -2
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +46 -3
- package/components/anchor/style/dnb-anchor.css +73 -4
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/components/autocomplete/Autocomplete.d.ts +0 -15
- package/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/components/autocomplete/AutocompleteDocs.js +285 -0
- package/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/components/button/Button.js +1 -1
- package/components/button/Button.js.map +1 -1
- package/components/dropdown/Dropdown.d.ts +0 -3
- package/components/flex/style/dnb-flex.css +1 -1
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/flex/style/flex-stack.scss +1 -1
- package/components/icon/style/dnb-icon.css +2 -2
- package/components/icon/style/dnb-icon.min.css +1 -1
- package/components/icon/style/dnb-icon.scss +1 -1
- package/components/input/Input.js +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/input/InputDocs.js +2 -2
- package/components/input/InputDocs.js.map +1 -1
- package/components/table/style/dnb-table.css +6 -0
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/table-th.scss +9 -25
- package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/components/textarea/Textarea.d.ts +9 -0
- package/components/textarea/Textarea.js +21 -5
- package/components/textarea/Textarea.js.map +1 -1
- package/components/textarea/TextareaDocs.js +10 -0
- package/components/textarea/TextareaDocs.js.map +1 -1
- package/components/textarea/style/dnb-textarea.css +69 -26
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +83 -31
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/es/components/accordion/style/dnb-accordion.css +6 -2
- package/es/components/accordion/style/dnb-accordion.min.css +2 -2
- package/es/components/accordion/style/dnb-accordion.scss +8 -2
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/es/components/anchor/Anchor.d.ts +1 -1
- package/es/components/anchor/Anchor.js +2 -2
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +46 -3
- package/es/components/anchor/style/dnb-anchor.css +73 -4
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/es/components/autocomplete/Autocomplete.d.ts +0 -15
- package/es/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/es/components/autocomplete/AutocompleteDocs.js +285 -0
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/es/components/button/Button.js +1 -1
- package/es/components/button/Button.js.map +1 -1
- package/es/components/dropdown/Dropdown.d.ts +0 -3
- package/es/components/flex/style/dnb-flex.css +1 -1
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/flex/style/flex-stack.scss +1 -1
- package/es/components/icon/style/dnb-icon.css +2 -2
- package/es/components/icon/style/dnb-icon.min.css +1 -1
- package/es/components/icon/style/dnb-icon.scss +1 -1
- package/es/components/input/Input.js +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input/InputDocs.js +2 -2
- package/es/components/input/InputDocs.js.map +1 -1
- package/es/components/table/style/dnb-table.css +6 -0
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/table-th.scss +9 -25
- package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/es/components/textarea/Textarea.d.ts +9 -0
- package/es/components/textarea/Textarea.js +21 -5
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/textarea/TextareaDocs.js +10 -0
- package/es/components/textarea/TextareaDocs.js.map +1 -1
- package/es/components/textarea/style/dnb-textarea.css +69 -26
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +83 -31
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/es/extensions/forms/DataContext/At/At.js +7 -7
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +5 -2
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +51 -26
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +6 -6
- package/es/extensions/forms/Field/String/String.js +13 -11
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +3 -3
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/es/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/es/extensions/forms/StepsLayout/StepsLayout.js +82 -49
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/es/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/es/extensions/forms/StepsLayout/useStep.js +12 -0
- package/es/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/es/extensions/forms/hooks/useFieldProps.js +82 -58
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +3 -3
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +2 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.js +6 -2
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/es/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/es/fragments/drawer-list/DrawerListDocs.js +180 -0
- package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- 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/helpers/runCssVersionMismatchWarning.js +2 -2
- package/es/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/es/style/dnb-ui-components.min.css +3 -3
- 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 -3
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +3 -3
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/properties.js +10 -10
- package/es/style/themes/theme-eiendom/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.js +10 -10
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +10 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/properties.js +10 -10
- package/es/style/themes/theme-ui/properties.js.map +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js +7 -7
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +5 -2
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/extensions/forms/DataContext/Provider/Provider.js +52 -26
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +6 -6
- package/extensions/forms/Field/String/String.js +13 -11
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +3 -3
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/extensions/forms/StepsLayout/StepsLayout.js +85 -51
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/extensions/forms/StepsLayout/useStep.js +13 -0
- package/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/extensions/forms/hooks/useFieldProps.js +82 -58
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +3 -3
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +2 -2
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.js +6 -2
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/fragments/drawer-list/DrawerListDocs.js +180 -0
- package/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- 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/helpers/runCssVersionMismatchWarning.js +2 -2
- package/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -3
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +3 -3
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-eiendom/properties.js +10 -10
- package/style/themes/theme-eiendom/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.js +10 -10
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +10 -10
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/properties.js +10 -10
- package/style/themes/theme-ui/properties.js.map +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -76,6 +76,7 @@ export default function useFieldProps(props) {
|
|
|
76
76
|
validateRequired
|
|
77
77
|
});
|
|
78
78
|
const {
|
|
79
|
+
handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,
|
|
79
80
|
handlePathChange: handlePathChangeDataContext,
|
|
80
81
|
updateDataValue: updateDataValueDataContext,
|
|
81
82
|
validateData: validateDataDataContext,
|
|
@@ -147,22 +148,22 @@ export default function useFieldProps(props) {
|
|
|
147
148
|
const asyncBehaviorIsEnabled = useMemo(() => {
|
|
148
149
|
return isAsync(onChange) || isAsync(onChangeContext);
|
|
149
150
|
}, [onChangeContext, onChange]);
|
|
150
|
-
const
|
|
151
|
+
const validatedValue = useRef();
|
|
151
152
|
const changeEventResultRef = useRef(null);
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
|
|
153
|
+
const asyncProcessRef = useRef(null);
|
|
154
|
+
const defineAsyncProcess = useCallback(name => {
|
|
155
|
+
asyncProcessRef.current = name;
|
|
155
156
|
}, []);
|
|
156
157
|
const asyncBufferRef = useRef({});
|
|
157
158
|
for (const key in asyncBufferRef.current) {
|
|
158
159
|
const {
|
|
159
|
-
|
|
160
|
-
|
|
160
|
+
resolve,
|
|
161
|
+
validateProcesses
|
|
161
162
|
} = asyncBufferRef.current[key] || {};
|
|
162
|
-
if ((
|
|
163
|
+
if ((validateProcesses === null || validateProcesses === void 0 ? void 0 : validateProcesses()) === false) {
|
|
163
164
|
delete asyncBufferRef.current[key];
|
|
164
|
-
if (typeof
|
|
165
|
-
window.requestAnimationFrame(
|
|
165
|
+
if (typeof resolve === 'function') {
|
|
166
|
+
window.requestAnimationFrame(resolve);
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
169
|
}
|
|
@@ -287,24 +288,33 @@ export default function useFieldProps(props) {
|
|
|
287
288
|
}
|
|
288
289
|
const runAsync = isAsync(validatorRef.current);
|
|
289
290
|
if (runAsync) {
|
|
290
|
-
|
|
291
|
+
defineAsyncProcess('validator');
|
|
291
292
|
setFieldState('validating');
|
|
292
293
|
hideError();
|
|
293
294
|
}
|
|
294
295
|
const opts = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
296
|
+
const tmpValue = valueRef.current;
|
|
295
297
|
const result = await validatorRef.current(valueRef.current, opts);
|
|
296
|
-
|
|
297
|
-
if (
|
|
298
|
-
|
|
298
|
+
const unchangedValue = tmpValue === valueRef.current;
|
|
299
|
+
if (unchangedValue) {
|
|
300
|
+
persistErrorState('gracefully', result);
|
|
301
|
+
if (continuousValidation || runAsync) {
|
|
302
|
+
window.requestAnimationFrame(() => {
|
|
303
|
+
showError();
|
|
304
|
+
forceUpdate();
|
|
305
|
+
});
|
|
306
|
+
}
|
|
299
307
|
}
|
|
300
|
-
if (
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
}
|
|
308
|
+
if (runAsync) {
|
|
309
|
+
defineAsyncProcess(undefined);
|
|
310
|
+
if (unchangedValue) {
|
|
311
|
+
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
312
|
+
} else {
|
|
313
|
+
setFieldState('pending');
|
|
314
|
+
}
|
|
305
315
|
}
|
|
306
316
|
return result;
|
|
307
|
-
}, [contextErrorMessages, continuousValidation, hideError, persistErrorState,
|
|
317
|
+
}, [contextErrorMessages, continuousValidation, hideError, persistErrorState, defineAsyncProcess, setFieldState, showError]);
|
|
308
318
|
const callOnBlurValidator = useCallback(async ({
|
|
309
319
|
valueOverride = null
|
|
310
320
|
} = {}) => {
|
|
@@ -314,17 +324,18 @@ export default function useFieldProps(props) {
|
|
|
314
324
|
const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlurValidator');
|
|
315
325
|
const runAsync = isAsync(onBlurValidatorRef.current);
|
|
316
326
|
if (runAsync) {
|
|
317
|
-
|
|
327
|
+
defineAsyncProcess('onBlurValidator');
|
|
318
328
|
setFieldState('validating');
|
|
319
329
|
}
|
|
320
330
|
const result = await onBlurValidatorRef.current(value);
|
|
321
331
|
persistErrorState('gracefully', result);
|
|
322
332
|
if (runAsync) {
|
|
333
|
+
defineAsyncProcess(undefined);
|
|
323
334
|
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
324
335
|
}
|
|
325
336
|
showError();
|
|
326
337
|
forceUpdate();
|
|
327
|
-
}, [persistErrorState,
|
|
338
|
+
}, [persistErrorState, defineAsyncProcess, setFieldState, showError]);
|
|
328
339
|
const validateValue = useCallback(async () => {
|
|
329
340
|
const isProcessActive = startProcess();
|
|
330
341
|
if (disabled) {
|
|
@@ -337,7 +348,7 @@ export default function useFieldProps(props) {
|
|
|
337
348
|
}
|
|
338
349
|
const value = valueRef.current;
|
|
339
350
|
changeEventResultRef.current = null;
|
|
340
|
-
|
|
351
|
+
validatedValue.current = null;
|
|
341
352
|
try {
|
|
342
353
|
const requiredError = transformers.current.validateRequired(value, {
|
|
343
354
|
emptyValue,
|
|
@@ -363,7 +374,7 @@ export default function useFieldProps(props) {
|
|
|
363
374
|
if (isProcessActive()) {
|
|
364
375
|
clearErrorState();
|
|
365
376
|
}
|
|
366
|
-
|
|
377
|
+
validatedValue.current = value;
|
|
367
378
|
} catch (error) {
|
|
368
379
|
if (isProcessActive()) {
|
|
369
380
|
persistErrorState('weak', error);
|
|
@@ -400,32 +411,30 @@ export default function useFieldProps(props) {
|
|
|
400
411
|
}, [addToPool, callOnBlurValidator, onBlur, onFocus, runPool, showError, validateUnchanged]);
|
|
401
412
|
const yieldAsyncProcess = useCallback(async ({
|
|
402
413
|
name,
|
|
403
|
-
waitFor
|
|
404
|
-
withValidatedValueOf
|
|
414
|
+
waitFor
|
|
405
415
|
}) => {
|
|
406
416
|
return new Promise(resolve => {
|
|
407
|
-
const
|
|
408
|
-
|
|
409
|
-
resolve();
|
|
410
|
-
}
|
|
411
|
-
};
|
|
412
|
-
const hasAsyncProcesses = () => {
|
|
413
|
-
return waitFor.some(({
|
|
417
|
+
const validateProcesses = () => {
|
|
418
|
+
const result = waitFor.some(({
|
|
414
419
|
processName,
|
|
415
|
-
withStates
|
|
420
|
+
withStates,
|
|
421
|
+
withValue
|
|
416
422
|
}) => {
|
|
417
|
-
|
|
423
|
+
const hasMatchingValue = withValue === validatedValue.current;
|
|
424
|
+
const result = (typeof withValue === 'undefined' ? false : !hasMatchingValue) || (processName ? processName === asyncProcessRef.current : true) && (withStates === null || withStates === void 0 ? void 0 : withStates.some(state => {
|
|
418
425
|
return state === fieldStateRef.current;
|
|
419
|
-
});
|
|
426
|
+
}));
|
|
427
|
+
return result;
|
|
420
428
|
});
|
|
429
|
+
return result;
|
|
421
430
|
};
|
|
422
|
-
if (
|
|
431
|
+
if (validateProcesses() === true) {
|
|
423
432
|
asyncBufferRef.current[name] = {
|
|
424
|
-
|
|
425
|
-
|
|
433
|
+
resolve,
|
|
434
|
+
validateProcesses
|
|
426
435
|
};
|
|
427
436
|
} else {
|
|
428
|
-
|
|
437
|
+
resolve();
|
|
429
438
|
setFieldState('pending');
|
|
430
439
|
}
|
|
431
440
|
});
|
|
@@ -450,6 +459,7 @@ export default function useFieldProps(props) {
|
|
|
450
459
|
}]
|
|
451
460
|
});
|
|
452
461
|
}
|
|
462
|
+
defineAsyncProcess(undefined);
|
|
453
463
|
if ((result === null || result === void 0 ? void 0 : result.success) === 'saved') {
|
|
454
464
|
setFieldState('success');
|
|
455
465
|
} else if (result !== null && result !== void 0 && result.error) {
|
|
@@ -457,7 +467,7 @@ export default function useFieldProps(props) {
|
|
|
457
467
|
} else if (asyncBehaviorIsEnabled) {
|
|
458
468
|
setFieldState('complete');
|
|
459
469
|
}
|
|
460
|
-
}, [asyncBehaviorIsEnabled, persistErrorState, setFieldState, showError, yieldAsyncProcess]);
|
|
470
|
+
}, [asyncBehaviorIsEnabled, defineAsyncProcess, persistErrorState, setFieldState, showError, yieldAsyncProcess]);
|
|
461
471
|
const setEventResult = useCallback(result => {
|
|
462
472
|
if (result instanceof Error) {
|
|
463
473
|
result = {
|
|
@@ -471,37 +481,43 @@ export default function useFieldProps(props) {
|
|
|
471
481
|
if (asyncBehaviorIsEnabled) {
|
|
472
482
|
await yieldAsyncProcess({
|
|
473
483
|
name: 'onChangeContext',
|
|
474
|
-
withValidatedValueOf: valueRef.current,
|
|
475
484
|
waitFor: [{
|
|
476
485
|
processName: 'validator',
|
|
477
|
-
withStates: ['validating', 'error']
|
|
486
|
+
withStates: ['validating', 'error'],
|
|
487
|
+
withValue: valueRef.current
|
|
478
488
|
}, {
|
|
479
489
|
processName: 'onBlurValidator',
|
|
480
|
-
withStates: ['validating', 'error']
|
|
490
|
+
withStates: ['validating', 'error'],
|
|
491
|
+
withValue: valueRef.current
|
|
481
492
|
}]
|
|
482
493
|
});
|
|
483
494
|
}
|
|
484
495
|
if (path) {
|
|
485
496
|
if (isAsync(onChangeContext)) {
|
|
486
|
-
|
|
487
|
-
|
|
497
|
+
defineAsyncProcess('onChangeContext');
|
|
498
|
+
if (!hasError()) {
|
|
499
|
+
setEventResult(await (handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(path)));
|
|
500
|
+
} else {
|
|
501
|
+
setEventResult(null);
|
|
502
|
+
}
|
|
488
503
|
} else {
|
|
489
|
-
setEventResult(handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(path
|
|
504
|
+
setEventResult(handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(path));
|
|
490
505
|
}
|
|
491
506
|
}
|
|
492
507
|
forceUpdate();
|
|
493
|
-
}, [asyncBehaviorIsEnabled, path, yieldAsyncProcess, onChangeContext,
|
|
508
|
+
}, [asyncBehaviorIsEnabled, path, hasError, yieldAsyncProcess, onChangeContext, defineAsyncProcess, setEventResult, handlePathChangeDataContext]);
|
|
494
509
|
const updateValue = useCallback(async newValue => {
|
|
495
510
|
if (newValue === valueRef.current) {
|
|
496
511
|
return;
|
|
497
512
|
}
|
|
498
513
|
valueRef.current = newValue;
|
|
514
|
+
handlePathChangeUnvalidatedDataContext(path, newValue);
|
|
499
515
|
addToPool('validator', validateValue, isAsync(validatorRef.current));
|
|
500
516
|
addToPool('onChangeContext', callOnChangeContext, isAsync(onChangeContext));
|
|
501
517
|
await runPool(() => {
|
|
502
518
|
handleError();
|
|
503
519
|
});
|
|
504
|
-
}, [addToPool,
|
|
520
|
+
}, [handlePathChangeUnvalidatedDataContext, path, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handleError]);
|
|
505
521
|
const handleChange = useCallback(async (argFromInput, additionalArgs = undefined) => {
|
|
506
522
|
const currentValue = valueRef.current;
|
|
507
523
|
const fromInput = transformers.current.fromInput(argFromInput);
|
|
@@ -525,20 +541,26 @@ export default function useFieldProps(props) {
|
|
|
525
541
|
const args = getArgs();
|
|
526
542
|
await yieldAsyncProcess({
|
|
527
543
|
name: 'onChangeLocal',
|
|
528
|
-
withValidatedValueOf: args[0],
|
|
529
544
|
waitFor: [{
|
|
530
545
|
processName: 'validator',
|
|
531
|
-
withStates: ['validating', 'error']
|
|
546
|
+
withStates: ['validating', 'error'],
|
|
547
|
+
withValue: args[0]
|
|
532
548
|
}, {
|
|
533
549
|
processName: 'onBlurValidator',
|
|
534
|
-
withStates: ['validating', 'error']
|
|
550
|
+
withStates: ['validating', 'error'],
|
|
551
|
+
withValue: args[0]
|
|
535
552
|
}, {
|
|
536
553
|
processName: 'onChangeContext',
|
|
537
|
-
withStates: ['pending', 'error']
|
|
554
|
+
withStates: ['pending', 'error'],
|
|
555
|
+
withValue: args[0]
|
|
538
556
|
}]
|
|
539
557
|
});
|
|
540
|
-
|
|
541
|
-
|
|
558
|
+
defineAsyncProcess('onChangeLocal');
|
|
559
|
+
if (!hasError()) {
|
|
560
|
+
setEventResult(await (onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, args)));
|
|
561
|
+
} else {
|
|
562
|
+
setEventResult(null);
|
|
563
|
+
}
|
|
542
564
|
}, true);
|
|
543
565
|
} else {
|
|
544
566
|
setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, getArgs()));
|
|
@@ -549,7 +571,7 @@ export default function useFieldProps(props) {
|
|
|
549
571
|
handleIterateElementChange === null || handleIterateElementChange === void 0 ? void 0 : handleIterateElementChange(iterateValuePath, valueRef.current);
|
|
550
572
|
}
|
|
551
573
|
});
|
|
552
|
-
}, [addToPool, asyncBehaviorIsEnabled, handleIterateElementChange, hideError, itemPath, iterateElementIndex, onChange, runPool,
|
|
574
|
+
}, [addToPool, asyncBehaviorIsEnabled, handleIterateElementChange, hasError, hideError, itemPath, iterateElementIndex, onChange, runPool, defineAsyncProcess, setEventResult, updateValue, yieldAsyncProcess]);
|
|
553
575
|
const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
|
|
554
576
|
const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
|
|
555
577
|
useMountEffect(() => {
|
|
@@ -601,8 +623,10 @@ export default function useFieldProps(props) {
|
|
|
601
623
|
}, [dataContext.data, dataContext.id, path, props.value, updateDataValueDataContext, validateDataDataContext]);
|
|
602
624
|
useEffect(() => {
|
|
603
625
|
if (dataContext.showAllErrors) {
|
|
604
|
-
|
|
605
|
-
|
|
626
|
+
if (fieldStateRef.current !== 'validating') {
|
|
627
|
+
showError();
|
|
628
|
+
forceUpdate();
|
|
629
|
+
}
|
|
606
630
|
}
|
|
607
631
|
}, [dataContext.showAllErrors, showError]);
|
|
608
632
|
useEffect(() => {
|
|
@@ -699,7 +723,7 @@ export default function useFieldProps(props) {
|
|
|
699
723
|
info: !inFieldBlock ? infoRef.current : undefined,
|
|
700
724
|
warning: !inFieldBlock ? warningRef.current : undefined,
|
|
701
725
|
error: !inFieldBlock ? error : undefined,
|
|
702
|
-
disabled: onBlurValidator &&
|
|
726
|
+
disabled: onBlurValidator && asyncProcessRef.current === 'onBlurValidator' && fieldStateRef.current === 'validating' ? true : disabled,
|
|
703
727
|
fieldState: resolveValidatingState(fieldStateRef.current)
|
|
704
728
|
};
|
|
705
729
|
const sharedData = useSharedState(id);
|