@dnb/eufemia 10.45.0 → 10.47.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 +58 -0
- package/cjs/components/CopyOnClick.d.ts +12 -0
- package/cjs/components/CopyOnClick.js +24 -0
- package/cjs/components/CopyOnClick.js.map +1 -0
- package/cjs/components/accordion/Accordion.d.ts +17 -1
- package/cjs/components/accordion/Accordion.js +4 -2
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionContext.d.ts +4 -0
- package/cjs/components/accordion/AccordionContext.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.js +6 -1
- package/cjs/components/accordion/AccordionDocs.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +5 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
- package/cjs/components/accordion/AccordionStore.js +2 -1
- package/cjs/components/accordion/AccordionStore.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +3 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/Button.d.ts +1 -1
- package/cjs/components/button/Button.js +5 -2
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +1 -1
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/cjs/components/copy-on-click/CopyOnClick.js +73 -0
- package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.js +30 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/cjs/components/copy-on-click/index.d.ts +7 -0
- package/cjs/components/copy-on-click/index.js +24 -0
- package/cjs/components/copy-on-click/index.js.map +1 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/cjs/components/copy-on-click/style/index.d.ts +5 -0
- package/cjs/components/copy-on-click/style/index.js +4 -0
- package/cjs/components/copy-on-click/style/index.js.map +1 -0
- package/cjs/components/copy-on-click/style.d.ts +5 -0
- package/cjs/components/copy-on-click/style.js +4 -0
- package/cjs/components/copy-on-click/style.js.map +1 -0
- package/cjs/components/copy-on-click/types.d.ts +24 -0
- package/cjs/components/copy-on-click/types.js +1 -0
- package/cjs/components/copy-on-click/types.js.map +1 -0
- package/cjs/components/drawer/style/dnb-drawer.css +3 -3
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/flex/Container.js +9 -1
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/utils.d.ts +1 -1
- package/cjs/components/flex/utils.js +1 -1
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/grid/style/dnb-grid.css +6 -6
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +7 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/lib.d.ts +6 -1
- package/cjs/components/lib.js +8 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +27 -1
- package/cjs/components/pagination/Pagination.js +3 -1
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js +20 -8
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/section/style/dnb-section.css +2 -2
- package/cjs/components/section/style/dnb-section.min.css +2 -2
- package/cjs/components/space/style/dnb-space.css +2 -2
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tag/Tag.js +2 -2
- package/cjs/components/tag/Tag.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +10 -7
- package/cjs/extensions/forms/DataContext/Context.js +0 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +7 -7
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +60 -34
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +36 -8
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js +33 -31
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -4
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +4 -4
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Value/Date/Date.js +15 -5
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
- package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +1 -0
- package/cjs/extensions/forms/Value/index.js +7 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -3
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +5 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/constants/countries.d.ts +5 -2
- package/cjs/extensions/forms/constants/countries.js +72 -0
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +7 -7
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +296 -115
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +13 -10
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +33 -4
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +7 -0
- package/cjs/index.js.map +1 -1
- package/cjs/shared/Context.js +4 -6
- package/cjs/shared/Context.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/locales/en-GB.d.ts +3 -0
- package/cjs/shared/locales/en-GB.js +3 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +3 -0
- package/cjs/shared/locales/index.d.ts +6 -0
- package/cjs/shared/locales/nb-NO.d.ts +3 -0
- package/cjs/shared/locales/nb-NO.js +3 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +3 -6
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +45 -34
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-components.scss +1 -0
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +13 -10
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +13 -10
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +2 -2
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +59 -45
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +59 -45
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +59 -45
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/CopyOnClick.d.ts +12 -0
- package/components/CopyOnClick.js +4 -0
- package/components/CopyOnClick.js.map +1 -0
- package/components/accordion/Accordion.d.ts +17 -1
- package/components/accordion/Accordion.js +4 -2
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionContext.d.ts +4 -0
- package/components/accordion/AccordionContext.js.map +1 -1
- package/components/accordion/AccordionDocs.js +6 -1
- package/components/accordion/AccordionDocs.js.map +1 -1
- package/components/accordion/AccordionGroup.js +5 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/components/accordion/AccordionProviderContext.js.map +1 -1
- package/components/accordion/AccordionStore.js +2 -1
- package/components/accordion/AccordionStore.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +3 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/Button.d.ts +1 -1
- package/components/button/Button.js +5 -2
- package/components/button/Button.js.map +1 -1
- package/components/card/style/dnb-card.css +1 -1
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/components/copy-on-click/CopyOnClick.js +63 -0
- package/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/components/copy-on-click/CopyOnClickDocs.js +23 -0
- package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/components/copy-on-click/index.d.ts +7 -0
- package/components/copy-on-click/index.js +4 -0
- package/components/copy-on-click/index.js.map +1 -0
- package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/components/copy-on-click/style/index.d.ts +5 -0
- package/components/copy-on-click/style/index.js +1 -0
- package/components/copy-on-click/style/index.js.map +1 -0
- package/components/copy-on-click/style.d.ts +5 -0
- package/components/copy-on-click/style.js +1 -0
- package/components/copy-on-click/style.js.map +1 -0
- package/components/copy-on-click/types.d.ts +24 -0
- package/components/copy-on-click/types.js +1 -0
- package/components/copy-on-click/types.js.map +1 -0
- package/components/drawer/style/dnb-drawer.css +3 -3
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.css +1 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/flex/Container.js +10 -2
- package/components/flex/Container.js.map +1 -1
- package/components/flex/utils.d.ts +1 -1
- package/components/flex/utils.js +1 -1
- package/components/flex/utils.js.map +1 -1
- package/components/form-row/style/dnb-form-row.css +1 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/grid/style/dnb-grid.css +6 -6
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/index.js.map +1 -1
- package/components/lib.d.ts +6 -1
- package/components/lib.js +3 -1
- package/components/lib.js.map +1 -1
- package/components/pagination/Pagination.d.ts +27 -1
- package/components/pagination/Pagination.js +3 -1
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationInfinity.js +20 -8
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/progress-indicator/ProgressIndicator.js +2 -2
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/section/style/dnb-section.css +2 -2
- package/components/section/style/dnb-section.min.css +2 -2
- package/components/space/style/dnb-space.css +2 -2
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/tabs/Tabs.js +2 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tag/Tag.js +2 -2
- package/components/tag/Tag.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/CopyOnClick.d.ts +12 -0
- package/es/components/CopyOnClick.js +4 -0
- package/es/components/CopyOnClick.js.map +1 -0
- package/es/components/accordion/Accordion.d.ts +17 -1
- package/es/components/accordion/Accordion.js +4 -2
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionContext.d.ts +4 -0
- package/es/components/accordion/AccordionContext.js.map +1 -1
- package/es/components/accordion/AccordionDocs.js +6 -1
- package/es/components/accordion/AccordionDocs.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +5 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
- package/es/components/accordion/AccordionProviderContext.js.map +1 -1
- package/es/components/accordion/AccordionStore.js +2 -1
- package/es/components/accordion/AccordionStore.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +3 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/Button.d.ts +1 -1
- package/es/components/button/Button.js +5 -2
- package/es/components/button/Button.js.map +1 -1
- package/es/components/card/style/dnb-card.css +1 -1
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/es/components/copy-on-click/CopyOnClick.js +63 -0
- package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/es/components/copy-on-click/CopyOnClickDocs.js +23 -0
- package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/es/components/copy-on-click/index.d.ts +7 -0
- package/es/components/copy-on-click/index.js +4 -0
- package/es/components/copy-on-click/index.js.map +1 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/es/components/copy-on-click/style/index.d.ts +5 -0
- package/es/components/copy-on-click/style/index.js +1 -0
- package/es/components/copy-on-click/style/index.js.map +1 -0
- package/es/components/copy-on-click/style.d.ts +5 -0
- package/es/components/copy-on-click/style.js +1 -0
- package/es/components/copy-on-click/style.js.map +1 -0
- package/es/components/copy-on-click/types.d.ts +24 -0
- package/es/components/copy-on-click/types.js +1 -0
- package/es/components/copy-on-click/types.js.map +1 -0
- package/es/components/drawer/style/dnb-drawer.css +3 -3
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/flex/Container.js +10 -2
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/utils.d.ts +1 -1
- package/es/components/flex/utils.js +1 -1
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.css +1 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/grid/style/dnb-grid.css +6 -6
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/index.js.map +1 -1
- package/es/components/lib.d.ts +6 -1
- package/es/components/lib.js +3 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +27 -1
- package/es/components/pagination/Pagination.js +3 -1
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js +20 -8
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicator.js +2 -2
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/section/style/dnb-section.css +2 -2
- package/es/components/section/style/dnb-section.min.css +2 -2
- package/es/components/space/style/dnb-space.css +2 -2
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/tabs/Tabs.js +2 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tag/Tag.js +2 -2
- package/es/components/tag/Tag.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +10 -7
- package/es/extensions/forms/DataContext/Context.js +0 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +7 -7
- package/es/extensions/forms/DataContext/Provider/Provider.js +59 -33
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/Email/Email.js +1 -1
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +37 -9
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js +33 -31
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.js +7 -7
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -4
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +1 -3
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +9 -7
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +4 -4
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Value/Date/Date.js +15 -5
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
- package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/es/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
- package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +1 -0
- package/es/extensions/forms/Value/index.js +1 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -3
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +5 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/constants/countries.d.ts +5 -2
- package/es/extensions/forms/constants/countries.js +72 -0
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -0
- package/es/extensions/forms/constants/locales/en-GB.js +3 -1
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -0
- package/es/extensions/forms/constants/locales/index.d.ts +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -1
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +7 -7
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/es/extensions/forms/hooks/useDataValue.js +7 -7
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +288 -112
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +13 -10
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +33 -4
- package/es/extensions/forms/types.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/shared/Context.js +4 -6
- package/es/shared/Context.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/locales/en-GB.d.ts +3 -0
- package/es/shared/locales/en-GB.js +3 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +3 -0
- package/es/shared/locales/index.d.ts +6 -0
- package/es/shared/locales/nb-NO.d.ts +3 -0
- package/es/shared/locales/nb-NO.js +3 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +3 -6
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +45 -34
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-components.scss +1 -0
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +13 -10
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +13 -10
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +2 -2
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +59 -45
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +59 -45
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +59 -45
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +10 -7
- package/extensions/forms/DataContext/Context.js +0 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +7 -7
- package/extensions/forms/DataContext/Provider/Provider.js +60 -34
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/Email/Email.js +1 -1
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +37 -9
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js +33 -31
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +1 -1
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.js +7 -7
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +3 -4
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +1 -3
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +9 -7
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +4 -4
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +1 -1
- package/extensions/forms/Value/Date/Date.js +15 -5
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Date/DateDocs.js +1 -1
- package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/extensions/forms/Value/SelectCountry/index.js +3 -0
- package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
- package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +1 -0
- package/extensions/forms/Value/index.js +1 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +4 -3
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +5 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/constants/countries.d.ts +5 -2
- package/extensions/forms/constants/countries.js +72 -0
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -0
- package/extensions/forms/constants/locales/en-GB.js +3 -1
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -0
- package/extensions/forms/constants/locales/index.d.ts +4 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
- package/extensions/forms/constants/locales/nb-NO.js +3 -1
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +7 -7
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +2 -1
- package/extensions/forms/hooks/useDataValue.js +7 -7
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +1 -1
- package/extensions/forms/hooks/useFieldProps.js +297 -116
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +13 -10
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +33 -4
- package/extensions/forms/types.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +2 -1
- package/shared/Context.js +4 -6
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/locales/en-GB.d.ts +3 -0
- package/shared/locales/en-GB.js +3 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +3 -0
- package/shared/locales/index.d.ts +6 -0
- package/shared/locales/nb-NO.d.ts +3 -0
- package/shared/locales/nb-NO.js +3 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +3 -6
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +45 -34
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-components.scss +1 -0
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +13 -10
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +13 -10
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-fragments.css +2 -2
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +59 -45
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +59 -45
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +59 -45
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +13 -10
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +13 -10
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/cjs/shared/helpers/useUnmountEffect.js +0 -14
- package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
- package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/es/shared/helpers/useUnmountEffect.js +0 -9
- package/es/shared/helpers/useUnmountEffect.js.map +0 -1
- package/shared/helpers/useUnmountEffect.d.ts +0 -4
- package/shared/helpers/useUnmountEffect.js +0 -9
- package/shared/helpers/useUnmountEffect.js.map +0 -1
|
@@ -11,11 +11,9 @@ import { FormError } from '../types';
|
|
|
11
11
|
import { Context as DataContext } from '../DataContext';
|
|
12
12
|
import { clearedData } from '../DataContext/Provider/Provider';
|
|
13
13
|
import FieldPropsContext from '../Form/FieldProps/FieldPropsContext';
|
|
14
|
-
import { combineDescribedBy } from '../../../shared/component-helper';
|
|
14
|
+
import { combineDescribedBy, warn } from '../../../shared/component-helper';
|
|
15
15
|
import useId from '../../../shared/helpers/useId';
|
|
16
16
|
import useUpdateEffect from '../../../shared/helpers/useUpdateEffect';
|
|
17
|
-
import useMountEffect from '../../../shared/helpers/useMountEffect';
|
|
18
|
-
import useUnmountEffect from '../../../shared/helpers/useUnmountEffect';
|
|
19
17
|
import FieldBlockContext from '../FieldBlock/FieldBlockContext';
|
|
20
18
|
import IterateElementContext from '../Iterate/IterateItemContext';
|
|
21
19
|
import SectionContext from '../Form/Section/SectionContext';
|
|
@@ -26,6 +24,7 @@ import { createSharedState, useSharedState } from '../../../shared/helpers/useSh
|
|
|
26
24
|
import { isAsync } from '../../../shared/helpers/isAsync';
|
|
27
25
|
import useTranslation from './useTranslation';
|
|
28
26
|
import useExternalValue from './useExternalValue';
|
|
27
|
+
import useDataValue from './useDataValue';
|
|
29
28
|
export default function useFieldProps(localeProps, {
|
|
30
29
|
executeOnChangeRegardlessOfError = false
|
|
31
30
|
} = {}) {
|
|
@@ -51,6 +50,7 @@ export default function useFieldProps(localeProps, {
|
|
|
51
50
|
onChange,
|
|
52
51
|
onBlurValidator,
|
|
53
52
|
validator,
|
|
53
|
+
exportValidators,
|
|
54
54
|
schema,
|
|
55
55
|
validateInitially,
|
|
56
56
|
validateUnchanged,
|
|
@@ -72,7 +72,11 @@ export default function useFieldProps(localeProps, {
|
|
|
72
72
|
return res;
|
|
73
73
|
}
|
|
74
74
|
} = props;
|
|
75
|
-
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
75
|
+
const [salt, forceUpdate] = useReducer(() => ({}), {});
|
|
76
|
+
const isInternalRerenderRef = useRef(undefined);
|
|
77
|
+
useMemo(() => {
|
|
78
|
+
isInternalRerenderRef.current = salt;
|
|
79
|
+
}, [salt]);
|
|
76
80
|
const {
|
|
77
81
|
startProcess
|
|
78
82
|
} = useProcessManager();
|
|
@@ -103,10 +107,13 @@ export default function useFieldProps(localeProps, {
|
|
|
103
107
|
setFieldError: setFieldErrorDataContext,
|
|
104
108
|
setFieldProps: setPropsDataContext,
|
|
105
109
|
setHasVisibleError: setHasVisibleErrorDataContext,
|
|
110
|
+
handleMountField,
|
|
111
|
+
handleUnMountField,
|
|
112
|
+
setFieldEventListener,
|
|
106
113
|
errors: dataContextErrors,
|
|
107
114
|
showAllErrors,
|
|
108
115
|
contextErrorMessages
|
|
109
|
-
} = dataContext
|
|
116
|
+
} = dataContext || {};
|
|
110
117
|
const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
|
|
111
118
|
const disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : props.readOnly;
|
|
112
119
|
const inFieldBlock = Boolean(fieldBlockContext);
|
|
@@ -114,18 +121,18 @@ export default function useFieldProps(localeProps, {
|
|
|
114
121
|
setFieldState: setFieldStateFieldBlock,
|
|
115
122
|
showFieldError: showFieldErrorFieldBlock,
|
|
116
123
|
mountedFieldsRef: mountedFieldsRefFieldBlock
|
|
117
|
-
} = fieldBlockContext
|
|
124
|
+
} = fieldBlockContext || {};
|
|
118
125
|
const {
|
|
119
126
|
handleChange: handleChangeIterateContext
|
|
120
|
-
} = iterateItemContext
|
|
127
|
+
} = iterateItemContext || {};
|
|
121
128
|
const {
|
|
122
129
|
path: sectionPath,
|
|
123
130
|
errorPrioritization
|
|
124
|
-
} = sectionContext
|
|
131
|
+
} = sectionContext || {};
|
|
125
132
|
const {
|
|
126
133
|
setFieldError,
|
|
127
134
|
showBoundaryErrors
|
|
128
|
-
} = fieldBoundaryContext
|
|
135
|
+
} = fieldBoundaryContext || {};
|
|
129
136
|
const hasPath = Boolean(pathProp);
|
|
130
137
|
const {
|
|
131
138
|
path,
|
|
@@ -145,8 +152,8 @@ export default function useFieldProps(localeProps, {
|
|
|
145
152
|
emptyValue
|
|
146
153
|
})) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValueRef.current;
|
|
147
154
|
const valueRef = useRef(externalValue);
|
|
148
|
-
const changedRef = useRef(
|
|
149
|
-
const hasFocusRef = useRef(
|
|
155
|
+
const changedRef = useRef();
|
|
156
|
+
const hasFocusRef = useRef();
|
|
150
157
|
const required = useMemo(() => {
|
|
151
158
|
if (requiredProp) {
|
|
152
159
|
return requiredProp;
|
|
@@ -177,9 +184,9 @@ export default function useFieldProps(localeProps, {
|
|
|
177
184
|
return path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[identifier] : undefined;
|
|
178
185
|
}, [dataContextErrors, identifier, path]);
|
|
179
186
|
const contextErrorRef = useRef(dataContextError);
|
|
180
|
-
const
|
|
187
|
+
const onChangeValidatorRef = useRef(validator);
|
|
181
188
|
useUpdateEffect(() => {
|
|
182
|
-
|
|
189
|
+
onChangeValidatorRef.current = validator;
|
|
183
190
|
}, [validator]);
|
|
184
191
|
const onBlurValidatorRef = useRef(onBlurValidator);
|
|
185
192
|
useUpdateEffect(() => {
|
|
@@ -258,22 +265,21 @@ export default function useFieldProps(localeProps, {
|
|
|
258
265
|
}
|
|
259
266
|
}, [setFieldStateDataContext, identifier, validateInitially]);
|
|
260
267
|
const revealError = useCallback(() => {
|
|
261
|
-
revealErrorRef.current
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier,
|
|
265
|
-
} else {
|
|
266
|
-
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
|
|
268
|
+
if (!revealErrorRef.current) {
|
|
269
|
+
revealErrorRef.current = true;
|
|
270
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
|
|
271
|
+
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, !!localErrorRef.current);
|
|
267
272
|
}
|
|
268
|
-
}, [
|
|
273
|
+
}, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
|
|
269
274
|
const hideError = useCallback(() => {
|
|
270
|
-
revealErrorRef.current
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
275
|
+
if (revealErrorRef.current) {
|
|
276
|
+
revealErrorRef.current = false;
|
|
277
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
|
|
278
|
+
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
|
|
279
|
+
}
|
|
280
|
+
}, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
|
|
274
281
|
const prepareError = useCallback(error => {
|
|
275
282
|
if (error instanceof FormError) {
|
|
276
|
-
var _error$messageValues;
|
|
277
283
|
let message = error.message;
|
|
278
284
|
const {
|
|
279
285
|
validationRule
|
|
@@ -285,10 +291,10 @@ export default function useFieldProps(localeProps, {
|
|
|
285
291
|
message = fieldMessage;
|
|
286
292
|
}
|
|
287
293
|
}
|
|
288
|
-
const
|
|
294
|
+
const messageHasValues = Object.entries(error.messageValues || {}).reduce((message, [key, value]) => {
|
|
289
295
|
return message.replace(`{${key}}`, value);
|
|
290
296
|
}, message);
|
|
291
|
-
error.message =
|
|
297
|
+
error.message = messageHasValues;
|
|
292
298
|
return error;
|
|
293
299
|
}
|
|
294
300
|
return error;
|
|
@@ -308,6 +314,73 @@ export default function useFieldProps(localeProps, {
|
|
|
308
314
|
var _ref2;
|
|
309
315
|
return Boolean((_ref2 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref2 !== void 0 ? _ref2 : contextErrorRef.current);
|
|
310
316
|
}, [errorProp]);
|
|
317
|
+
const connectWithPathListenerRef = useRef(async () => {
|
|
318
|
+
if (localErrorRef.current || validateUnchanged || continuousValidation) {
|
|
319
|
+
if (onChangeValidatorRef.current) {
|
|
320
|
+
runOnChangeValidator();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
if (localErrorRef.current && onBlurValidatorRef.current) {
|
|
324
|
+
runOnBlurValidator();
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
const {
|
|
328
|
+
getValueByPath
|
|
329
|
+
} = useDataValue();
|
|
330
|
+
const exportValidatorsRef = useRef(exportValidators);
|
|
331
|
+
exportValidatorsRef.current = exportValidators;
|
|
332
|
+
const additionalArgs = useMemo(() => {
|
|
333
|
+
const errorMessages = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
334
|
+
const args = _objectSpread(_objectSpread({}, errorMessages), {}, {
|
|
335
|
+
errorMessages,
|
|
336
|
+
validators: exportValidatorsRef.current,
|
|
337
|
+
connectWithPath: path => {
|
|
338
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onPathChange', connectWithPathListenerRef.current);
|
|
339
|
+
return {
|
|
340
|
+
getValue: () => getValueByPath(path)
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
return args;
|
|
345
|
+
}, [contextErrorMessages, getValueByPath, setFieldEventListener]);
|
|
346
|
+
const extendWithExportedValidators = useCallback((validator, result) => {
|
|
347
|
+
if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current) && !Array.isArray(result)) {
|
|
348
|
+
return Object.values(exportValidatorsRef.current);
|
|
349
|
+
}
|
|
350
|
+
return result;
|
|
351
|
+
}, []);
|
|
352
|
+
const callValidatorFnSync = useCallback((validator, value = valueRef.current) => {
|
|
353
|
+
if (typeof validator !== 'function') {
|
|
354
|
+
return undefined;
|
|
355
|
+
}
|
|
356
|
+
const result = extendWithExportedValidators(validator, validator(value, additionalArgs));
|
|
357
|
+
if (Array.isArray(result)) {
|
|
358
|
+
for (const validator of result) {
|
|
359
|
+
const result = callValidatorFnSync(validator, value);
|
|
360
|
+
if (result instanceof Error) {
|
|
361
|
+
return result;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
return result;
|
|
367
|
+
}, [additionalArgs, extendWithExportedValidators]);
|
|
368
|
+
const callValidatorFnAsync = useCallback(async (validator, value = valueRef.current) => {
|
|
369
|
+
if (typeof validator !== 'function') {
|
|
370
|
+
return undefined;
|
|
371
|
+
}
|
|
372
|
+
const result = extendWithExportedValidators(validator, await validator(value, additionalArgs));
|
|
373
|
+
if (Array.isArray(result)) {
|
|
374
|
+
for (const validator of result) {
|
|
375
|
+
const result = await callValidatorFnAsync(validator, value);
|
|
376
|
+
if (result instanceof Error) {
|
|
377
|
+
return result;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
return result;
|
|
383
|
+
}, [additionalArgs, extendWithExportedValidators]);
|
|
311
384
|
const stateId = useId();
|
|
312
385
|
const persistErrorState = useCallback((method, errorArg = undefined) => {
|
|
313
386
|
const error = prepareError(errorArg);
|
|
@@ -339,23 +412,18 @@ export default function useFieldProps(localeProps, {
|
|
|
339
412
|
persistErrorState('wipe');
|
|
340
413
|
hasLocalErrorRef.current = false;
|
|
341
414
|
}, [persistErrorState]);
|
|
342
|
-
const
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
}
|
|
352
|
-
const opts = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
353
|
-
const tmpValue = valueRef.current;
|
|
354
|
-
const result = await validatorRef.current(valueRef.current, opts);
|
|
355
|
-
const unchangedValue = tmpValue === valueRef.current;
|
|
415
|
+
const validatorCacheRef = useRef({
|
|
416
|
+
onChangeValidator: null,
|
|
417
|
+
onBlurValidator: null
|
|
418
|
+
});
|
|
419
|
+
const revealOnChangeValidatorResult = useCallback(({
|
|
420
|
+
result,
|
|
421
|
+
unchangedValue
|
|
422
|
+
}) => {
|
|
423
|
+
const runAsync = isAsync(onChangeValidatorRef.current);
|
|
356
424
|
if (unchangedValue) {
|
|
357
425
|
persistErrorState('gracefully', result);
|
|
358
|
-
if (continuousValidation || runAsync) {
|
|
426
|
+
if (validateInitially && !changedRef.current || validateUnchanged || continuousValidation || runAsync) {
|
|
359
427
|
window.requestAnimationFrame(() => {
|
|
360
428
|
revealError();
|
|
361
429
|
forceUpdate();
|
|
@@ -370,29 +438,129 @@ export default function useFieldProps(localeProps, {
|
|
|
370
438
|
setFieldState('pending');
|
|
371
439
|
}
|
|
372
440
|
}
|
|
373
|
-
|
|
374
|
-
|
|
441
|
+
}, [continuousValidation, defineAsyncProcess, persistErrorState, revealError, setFieldState, validateInitially, validateUnchanged]);
|
|
442
|
+
const callOnChangeValidator = useCallback(async () => {
|
|
443
|
+
if (typeof onChangeValidatorRef.current !== 'function') {
|
|
444
|
+
return {};
|
|
445
|
+
}
|
|
446
|
+
const tmpValue = valueRef.current;
|
|
447
|
+
let result = isAsync(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
|
|
448
|
+
if (result instanceof Promise) {
|
|
449
|
+
result = await result;
|
|
450
|
+
}
|
|
451
|
+
const unchangedValue = tmpValue === valueRef.current;
|
|
452
|
+
return {
|
|
453
|
+
result,
|
|
454
|
+
unchangedValue
|
|
455
|
+
};
|
|
456
|
+
}, [callValidatorFnAsync, callValidatorFnSync]);
|
|
457
|
+
const startOnChangeValidatorValidation = useCallback(async () => {
|
|
458
|
+
if (typeof onChangeValidatorRef.current !== 'function') {
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
if (isAsync(onChangeValidatorRef.current)) {
|
|
462
|
+
defineAsyncProcess('validator');
|
|
463
|
+
setFieldState('validating');
|
|
464
|
+
hideError();
|
|
465
|
+
}
|
|
466
|
+
const tmpValue = valueRef.current;
|
|
467
|
+
let result = isAsync(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
|
|
468
|
+
if (result instanceof Promise) {
|
|
469
|
+
result = await result;
|
|
470
|
+
}
|
|
471
|
+
const unchangedValue = tmpValue === valueRef.current;
|
|
472
|
+
revealOnChangeValidatorResult({
|
|
473
|
+
result,
|
|
474
|
+
unchangedValue
|
|
475
|
+
});
|
|
476
|
+
return {
|
|
477
|
+
result
|
|
478
|
+
};
|
|
479
|
+
}, [callValidatorFnAsync, callValidatorFnSync, defineAsyncProcess, hideError, revealOnChangeValidatorResult, setFieldState]);
|
|
480
|
+
const runOnChangeValidator = useCallback(async () => {
|
|
481
|
+
if (!onChangeValidatorRef.current) {
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
const {
|
|
485
|
+
result,
|
|
486
|
+
unchangedValue
|
|
487
|
+
} = await callOnChangeValidator();
|
|
488
|
+
if (String(result) !== String(validatorCacheRef.current.onChangeValidator)) {
|
|
489
|
+
if (result) {
|
|
490
|
+
revealOnChangeValidatorResult({
|
|
491
|
+
result,
|
|
492
|
+
unchangedValue
|
|
493
|
+
});
|
|
494
|
+
} else {
|
|
495
|
+
hideError();
|
|
496
|
+
clearErrorState();
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
validatorCacheRef.current.onChangeValidator = result || null;
|
|
500
|
+
}, [callOnChangeValidator, clearErrorState, hideError, revealOnChangeValidatorResult]);
|
|
375
501
|
const callOnBlurValidator = useCallback(async ({
|
|
376
|
-
|
|
502
|
+
overrideValue = null
|
|
377
503
|
} = {}) => {
|
|
378
504
|
if (typeof onBlurValidatorRef.current !== 'function') {
|
|
379
|
-
return;
|
|
505
|
+
return {};
|
|
380
506
|
}
|
|
381
|
-
const value = transformers.current.toEvent(
|
|
382
|
-
|
|
383
|
-
if (
|
|
384
|
-
|
|
385
|
-
setFieldState('validating');
|
|
507
|
+
const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, 'onBlurValidator');
|
|
508
|
+
let result = isAsync(onBlurValidatorRef.current) ? await callValidatorFnAsync(onBlurValidatorRef.current, value) : callValidatorFnSync(onBlurValidatorRef.current, value);
|
|
509
|
+
if (result instanceof Promise) {
|
|
510
|
+
result = await result;
|
|
386
511
|
}
|
|
387
|
-
|
|
512
|
+
return {
|
|
513
|
+
result
|
|
514
|
+
};
|
|
515
|
+
}, [callValidatorFnAsync, callValidatorFnSync]);
|
|
516
|
+
const revealOnBlurValidatorResult = useCallback(({
|
|
517
|
+
result
|
|
518
|
+
}) => {
|
|
388
519
|
persistErrorState('gracefully', result);
|
|
389
|
-
if (
|
|
520
|
+
if (isAsync(onBlurValidatorRef.current)) {
|
|
390
521
|
defineAsyncProcess(undefined);
|
|
391
522
|
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
392
523
|
}
|
|
393
524
|
revealError();
|
|
394
|
-
|
|
395
|
-
|
|
525
|
+
}, [defineAsyncProcess, persistErrorState, revealError, setFieldState]);
|
|
526
|
+
const startOnBlurValidatorProcess = useCallback(async ({
|
|
527
|
+
overrideValue = null
|
|
528
|
+
} = {}) => {
|
|
529
|
+
if (typeof onBlurValidatorRef.current !== 'function') {
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
if (isAsync(onBlurValidatorRef.current)) {
|
|
533
|
+
defineAsyncProcess('onBlurValidator');
|
|
534
|
+
setFieldState('validating');
|
|
535
|
+
}
|
|
536
|
+
const {
|
|
537
|
+
result
|
|
538
|
+
} = await callOnBlurValidator({
|
|
539
|
+
overrideValue
|
|
540
|
+
});
|
|
541
|
+
revealOnBlurValidatorResult({
|
|
542
|
+
result
|
|
543
|
+
});
|
|
544
|
+
}, [callOnBlurValidator, defineAsyncProcess, revealOnBlurValidatorResult, setFieldState]);
|
|
545
|
+
const runOnBlurValidator = useCallback(async () => {
|
|
546
|
+
if (!onBlurValidatorRef.current) {
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
549
|
+
const {
|
|
550
|
+
result
|
|
551
|
+
} = await callOnBlurValidator();
|
|
552
|
+
if (String(result) !== String(validatorCacheRef.current.onBlurValidator) && revealErrorRef.current) {
|
|
553
|
+
if (result) {
|
|
554
|
+
revealOnBlurValidatorResult({
|
|
555
|
+
result
|
|
556
|
+
});
|
|
557
|
+
} else {
|
|
558
|
+
hideError();
|
|
559
|
+
clearErrorState();
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
validatorCacheRef.current.onBlurValidator = result || null;
|
|
563
|
+
}, [callOnBlurValidator, clearErrorState, hideError, revealOnBlurValidatorResult]);
|
|
396
564
|
const prioritizeContextSchema = useMemo(() => {
|
|
397
565
|
if (errorPrioritization) {
|
|
398
566
|
const schemaPath = identifier.split('/').join('/properties/');
|
|
@@ -429,8 +597,10 @@ export default function useFieldProps(localeProps, {
|
|
|
429
597
|
const error = ajvErrorsToOneFormError(schemaValidatorRef.current.errors, valueRef.current);
|
|
430
598
|
throw error;
|
|
431
599
|
}
|
|
432
|
-
if (
|
|
433
|
-
const
|
|
600
|
+
if (onChangeValidatorRef.current && (changedRef.current || validateInitially || validateUnchanged)) {
|
|
601
|
+
const {
|
|
602
|
+
result
|
|
603
|
+
} = await startOnChangeValidatorValidation();
|
|
434
604
|
if (result instanceof Error) {
|
|
435
605
|
throw result;
|
|
436
606
|
}
|
|
@@ -445,7 +615,7 @@ export default function useFieldProps(localeProps, {
|
|
|
445
615
|
persistErrorState('weak', error);
|
|
446
616
|
}
|
|
447
617
|
}
|
|
448
|
-
}, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially,
|
|
618
|
+
}, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially, validateUnchanged, startOnChangeValidatorValidation, persistErrorState]);
|
|
449
619
|
const handleError = useCallback(() => {
|
|
450
620
|
if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
|
|
451
621
|
revealError();
|
|
@@ -453,9 +623,9 @@ export default function useFieldProps(localeProps, {
|
|
|
453
623
|
hideError();
|
|
454
624
|
}
|
|
455
625
|
}, [continuousValidation, hideError, revealError]);
|
|
456
|
-
const setHasFocus = useCallback(async (hasFocus,
|
|
626
|
+
const setHasFocus = useCallback(async (hasFocus, overrideValue, additionalArgs) => {
|
|
457
627
|
const getArgs = type => {
|
|
458
|
-
const value = transformers.current.toEvent(
|
|
628
|
+
const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, type);
|
|
459
629
|
const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
|
|
460
630
|
return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
|
|
461
631
|
};
|
|
@@ -470,15 +640,15 @@ export default function useFieldProps(localeProps, {
|
|
|
470
640
|
if (!changedRef.current && !validateUnchanged) {
|
|
471
641
|
return;
|
|
472
642
|
}
|
|
473
|
-
addToPool('onBlurValidator', async () => await
|
|
474
|
-
|
|
643
|
+
addToPool('onBlurValidator', async () => await startOnBlurValidatorProcess({
|
|
644
|
+
overrideValue
|
|
475
645
|
}), isAsync(onBlurValidatorRef.current));
|
|
476
646
|
await runPool(() => {
|
|
477
647
|
revealError();
|
|
478
648
|
forceUpdate();
|
|
479
649
|
});
|
|
480
650
|
}
|
|
481
|
-
}, [
|
|
651
|
+
}, [onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
|
|
482
652
|
const yieldAsyncProcess = useCallback(async ({
|
|
483
653
|
name,
|
|
484
654
|
waitFor
|
|
@@ -584,7 +754,7 @@ export default function useFieldProps(localeProps, {
|
|
|
584
754
|
if (hasPath) {
|
|
585
755
|
handlePathChangeUnvalidatedDataContext(identifier, newValue);
|
|
586
756
|
}
|
|
587
|
-
addToPool('validator', validateValue, isAsync(
|
|
757
|
+
addToPool('validator', validateValue, isAsync(onChangeValidatorRef.current));
|
|
588
758
|
addToPool('onChangeContext', callOnChangeContext, isAsync(onChangeContext));
|
|
589
759
|
await runPool(() => {
|
|
590
760
|
handleError();
|
|
@@ -646,16 +816,18 @@ export default function useFieldProps(localeProps, {
|
|
|
646
816
|
const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
|
|
647
817
|
const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
|
|
648
818
|
setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
|
|
649
|
-
|
|
650
|
-
|
|
819
|
+
useEffect(() => {
|
|
820
|
+
handleMountField(identifier);
|
|
821
|
+
return () => {
|
|
822
|
+
handleUnMountField(identifier);
|
|
823
|
+
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
|
|
824
|
+
setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
|
|
825
|
+
localErrorRef.current = undefined;
|
|
826
|
+
};
|
|
827
|
+
}, [handleMountField, handleUnMountField, identifier, setFieldError, setFieldErrorDataContext]);
|
|
828
|
+
useEffect(() => {
|
|
651
829
|
validateValue();
|
|
652
|
-
});
|
|
653
|
-
useUnmountEffect(() => {
|
|
654
|
-
dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleUnMountField(identifier);
|
|
655
|
-
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
|
|
656
|
-
setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
|
|
657
|
-
localErrorRef.current = undefined;
|
|
658
|
-
});
|
|
830
|
+
}, [validateValue]);
|
|
659
831
|
useUpdateEffect(() => {
|
|
660
832
|
var _dataContext$ajvInsta2;
|
|
661
833
|
schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
|
|
@@ -686,6 +858,14 @@ export default function useFieldProps(localeProps, {
|
|
|
686
858
|
}
|
|
687
859
|
}
|
|
688
860
|
}, [clearErrorState, dataContextError, handleError, persistErrorState, prepareError, validateInitially]);
|
|
861
|
+
useEffect(() => {
|
|
862
|
+
if (itemPath && valueProp !== undefined) {
|
|
863
|
+
warn(`Using value="${valueProp}" prop inside Iterate is not supported yet`);
|
|
864
|
+
}
|
|
865
|
+
if (itemPath && defaultValue !== undefined) {
|
|
866
|
+
warn(`Using defaultValue="${defaultValue}" prop inside Iterate is not supported yet`);
|
|
867
|
+
}
|
|
868
|
+
}, [defaultValue, itemPath, valueProp]);
|
|
689
869
|
useEffect(() => {
|
|
690
870
|
if (hasPath) {
|
|
691
871
|
let value = valueProp;
|
|
@@ -710,7 +890,7 @@ export default function useFieldProps(localeProps, {
|
|
|
710
890
|
validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
|
|
711
891
|
}
|
|
712
892
|
}
|
|
713
|
-
}, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
|
|
893
|
+
}, [dataContext.data, dataContext.id, defaultValue, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
|
|
714
894
|
useEffect(() => {
|
|
715
895
|
if (showAllErrors || showBoundaryErrors) {
|
|
716
896
|
if (fieldStateRef.current !== 'validating') {
|
|
@@ -721,7 +901,7 @@ export default function useFieldProps(localeProps, {
|
|
|
721
901
|
}
|
|
722
902
|
}, [hideError, revealError, showAllErrors, showBoundaryErrors]);
|
|
723
903
|
useEffect(() => {
|
|
724
|
-
if (dataContext.formState === 'pending' && (
|
|
904
|
+
if (dataContext.formState === 'pending' && (onChangeValidatorRef.current || onBlurValidatorRef.current)) {
|
|
725
905
|
hideError();
|
|
726
906
|
forceUpdate();
|
|
727
907
|
}
|
|
@@ -730,50 +910,43 @@ export default function useFieldProps(localeProps, {
|
|
|
730
910
|
if (hasError()) {
|
|
731
911
|
return;
|
|
732
912
|
}
|
|
733
|
-
addToPool('validator',
|
|
734
|
-
addToPool('onBlurValidator',
|
|
913
|
+
addToPool('validator', startOnChangeValidatorValidation, isAsync(onChangeValidatorRef.current));
|
|
914
|
+
addToPool('onBlurValidator', startOnBlurValidatorProcess, isAsync(onBlurValidatorRef.current));
|
|
735
915
|
await runPool();
|
|
736
|
-
}, [addToPool,
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
useMountEffect(() => {
|
|
916
|
+
}, [addToPool, startOnBlurValidatorProcess, hasError, runPool, startOnChangeValidatorValidation]);
|
|
917
|
+
useEffect(() => {
|
|
918
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(identifier, 'onSubmit', onSubmitHandler);
|
|
919
|
+
}, [identifier, onSubmitHandler, setFieldEventListener]);
|
|
920
|
+
useEffect(() => {
|
|
742
921
|
if (inFieldBlock) {
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
type: 'info',
|
|
765
|
-
content: info,
|
|
766
|
-
showInitially: true,
|
|
767
|
-
show: true
|
|
768
|
-
});
|
|
769
|
-
}
|
|
922
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
923
|
+
identifier,
|
|
924
|
+
type: 'error',
|
|
925
|
+
content: errorProp,
|
|
926
|
+
showInitially: true,
|
|
927
|
+
show: true
|
|
928
|
+
});
|
|
929
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
930
|
+
identifier,
|
|
931
|
+
type: 'warning',
|
|
932
|
+
content: warning,
|
|
933
|
+
showInitially: true,
|
|
934
|
+
show: true
|
|
935
|
+
});
|
|
936
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
937
|
+
identifier,
|
|
938
|
+
type: 'info',
|
|
939
|
+
content: info,
|
|
940
|
+
showInitially: true,
|
|
941
|
+
show: true
|
|
942
|
+
});
|
|
770
943
|
return () => {
|
|
771
944
|
if (mountedFieldsRefFieldBlock) {
|
|
772
945
|
mountedFieldsRefFieldBlock.current[identifier] = true;
|
|
773
946
|
}
|
|
774
947
|
};
|
|
775
948
|
}
|
|
776
|
-
});
|
|
949
|
+
}, [errorProp, identifier, inFieldBlock, info, mountedFieldsRefFieldBlock, setFieldStateFieldBlock, warning]);
|
|
777
950
|
const infoRef = useRef(info);
|
|
778
951
|
const warningRef = useRef(warning);
|
|
779
952
|
useUpdateEffect(() => {
|
|
@@ -819,13 +992,16 @@ export default function useFieldProps(localeProps, {
|
|
|
819
992
|
};
|
|
820
993
|
const sharedData = useSharedState('field-block-props-' + id);
|
|
821
994
|
sharedData.set(fieldBlockProps);
|
|
995
|
+
useEffect(() => {
|
|
996
|
+
isInternalRerenderRef.current = undefined;
|
|
997
|
+
});
|
|
822
998
|
return _objectSpread(_objectSpread(_objectSpread({}, props), fieldBlockProps), {}, {
|
|
823
999
|
name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
|
|
824
1000
|
autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : undefined,
|
|
825
1001
|
id,
|
|
826
1002
|
value: transformers.current.transformIn(transformers.current.toInput(valueRef.current)),
|
|
827
1003
|
hasError: hasVisibleError,
|
|
828
|
-
isChanged: changedRef.current,
|
|
1004
|
+
isChanged: Boolean(changedRef.current),
|
|
829
1005
|
props,
|
|
830
1006
|
htmlAttributes,
|
|
831
1007
|
setHasFocus,
|