@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
|
var _dataContext$props,
|
|
31
30
|
_useExternalValue,
|
|
@@ -59,6 +58,7 @@ export default function useFieldProps(localeProps) {
|
|
|
59
58
|
onChange,
|
|
60
59
|
onBlurValidator,
|
|
61
60
|
validator,
|
|
61
|
+
exportValidators,
|
|
62
62
|
schema,
|
|
63
63
|
validateInitially,
|
|
64
64
|
validateUnchanged,
|
|
@@ -81,7 +81,11 @@ export default function useFieldProps(localeProps) {
|
|
|
81
81
|
return res;
|
|
82
82
|
}
|
|
83
83
|
} = props;
|
|
84
|
-
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
84
|
+
const [salt, forceUpdate] = useReducer(() => ({}), {});
|
|
85
|
+
const isInternalRerenderRef = useRef(undefined);
|
|
86
|
+
useMemo(() => {
|
|
87
|
+
isInternalRerenderRef.current = salt;
|
|
88
|
+
}, [salt]);
|
|
85
89
|
const {
|
|
86
90
|
startProcess
|
|
87
91
|
} = useProcessManager();
|
|
@@ -112,10 +116,13 @@ export default function useFieldProps(localeProps) {
|
|
|
112
116
|
setFieldError: setFieldErrorDataContext,
|
|
113
117
|
setFieldProps: setPropsDataContext,
|
|
114
118
|
setHasVisibleError: setHasVisibleErrorDataContext,
|
|
119
|
+
handleMountField,
|
|
120
|
+
handleUnMountField,
|
|
121
|
+
setFieldEventListener,
|
|
115
122
|
errors: dataContextErrors,
|
|
116
123
|
showAllErrors,
|
|
117
124
|
contextErrorMessages
|
|
118
|
-
} = dataContext
|
|
125
|
+
} = dataContext || {};
|
|
119
126
|
const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
|
|
120
127
|
const disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : props.readOnly;
|
|
121
128
|
const inFieldBlock = Boolean(fieldBlockContext);
|
|
@@ -123,18 +130,18 @@ export default function useFieldProps(localeProps) {
|
|
|
123
130
|
setFieldState: setFieldStateFieldBlock,
|
|
124
131
|
showFieldError: showFieldErrorFieldBlock,
|
|
125
132
|
mountedFieldsRef: mountedFieldsRefFieldBlock
|
|
126
|
-
} = fieldBlockContext
|
|
133
|
+
} = fieldBlockContext || {};
|
|
127
134
|
const {
|
|
128
135
|
handleChange: handleChangeIterateContext
|
|
129
|
-
} = iterateItemContext
|
|
136
|
+
} = iterateItemContext || {};
|
|
130
137
|
const {
|
|
131
138
|
path: sectionPath,
|
|
132
139
|
errorPrioritization
|
|
133
|
-
} = sectionContext
|
|
140
|
+
} = sectionContext || {};
|
|
134
141
|
const {
|
|
135
142
|
setFieldError,
|
|
136
143
|
showBoundaryErrors
|
|
137
|
-
} = fieldBoundaryContext
|
|
144
|
+
} = fieldBoundaryContext || {};
|
|
138
145
|
const hasPath = Boolean(pathProp);
|
|
139
146
|
const {
|
|
140
147
|
path,
|
|
@@ -154,8 +161,8 @@ export default function useFieldProps(localeProps) {
|
|
|
154
161
|
emptyValue
|
|
155
162
|
})) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValueRef.current;
|
|
156
163
|
const valueRef = useRef(externalValue);
|
|
157
|
-
const changedRef = useRef(
|
|
158
|
-
const hasFocusRef = useRef(
|
|
164
|
+
const changedRef = useRef();
|
|
165
|
+
const hasFocusRef = useRef();
|
|
159
166
|
const required = useMemo(() => {
|
|
160
167
|
if (requiredProp) {
|
|
161
168
|
return requiredProp;
|
|
@@ -186,9 +193,9 @@ export default function useFieldProps(localeProps) {
|
|
|
186
193
|
return path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[identifier] : undefined;
|
|
187
194
|
}, [dataContextErrors, identifier, path]);
|
|
188
195
|
const contextErrorRef = useRef(dataContextError);
|
|
189
|
-
const
|
|
196
|
+
const onChangeValidatorRef = useRef(validator);
|
|
190
197
|
useUpdateEffect(() => {
|
|
191
|
-
|
|
198
|
+
onChangeValidatorRef.current = validator;
|
|
192
199
|
}, [validator]);
|
|
193
200
|
const onBlurValidatorRef = useRef(onBlurValidator);
|
|
194
201
|
useUpdateEffect(() => {
|
|
@@ -268,22 +275,21 @@ export default function useFieldProps(localeProps) {
|
|
|
268
275
|
}
|
|
269
276
|
}, [setFieldStateDataContext, identifier, validateInitially]);
|
|
270
277
|
const revealError = useCallback(() => {
|
|
271
|
-
revealErrorRef.current
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier,
|
|
275
|
-
} else {
|
|
276
|
-
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
|
|
278
|
+
if (!revealErrorRef.current) {
|
|
279
|
+
revealErrorRef.current = true;
|
|
280
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
|
|
281
|
+
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, !!localErrorRef.current);
|
|
277
282
|
}
|
|
278
|
-
}, [
|
|
283
|
+
}, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
|
|
279
284
|
const hideError = useCallback(() => {
|
|
280
|
-
revealErrorRef.current
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
285
|
+
if (revealErrorRef.current) {
|
|
286
|
+
revealErrorRef.current = false;
|
|
287
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
|
|
288
|
+
setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
|
|
289
|
+
}
|
|
290
|
+
}, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
|
|
284
291
|
const prepareError = useCallback(error => {
|
|
285
292
|
if (error instanceof FormError) {
|
|
286
|
-
var _error$messageValues;
|
|
287
293
|
let message = error.message;
|
|
288
294
|
const {
|
|
289
295
|
validationRule
|
|
@@ -295,11 +301,11 @@ export default function useFieldProps(localeProps) {
|
|
|
295
301
|
message = fieldMessage;
|
|
296
302
|
}
|
|
297
303
|
}
|
|
298
|
-
const
|
|
304
|
+
const messageHasValues = Object.entries(error.messageValues || {}).reduce((message, _ref2) => {
|
|
299
305
|
let [key, value] = _ref2;
|
|
300
306
|
return message.replace(`{${key}}`, value);
|
|
301
307
|
}, message);
|
|
302
|
-
error.message =
|
|
308
|
+
error.message = messageHasValues;
|
|
303
309
|
return error;
|
|
304
310
|
}
|
|
305
311
|
return error;
|
|
@@ -319,6 +325,75 @@ export default function useFieldProps(localeProps) {
|
|
|
319
325
|
var _ref4;
|
|
320
326
|
return Boolean((_ref4 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref4 !== void 0 ? _ref4 : contextErrorRef.current);
|
|
321
327
|
}, [errorProp]);
|
|
328
|
+
const connectWithPathListenerRef = useRef(async () => {
|
|
329
|
+
if (localErrorRef.current || validateUnchanged || continuousValidation) {
|
|
330
|
+
if (onChangeValidatorRef.current) {
|
|
331
|
+
runOnChangeValidator();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
if (localErrorRef.current && onBlurValidatorRef.current) {
|
|
335
|
+
runOnBlurValidator();
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
const {
|
|
339
|
+
getValueByPath
|
|
340
|
+
} = useDataValue();
|
|
341
|
+
const exportValidatorsRef = useRef(exportValidators);
|
|
342
|
+
exportValidatorsRef.current = exportValidators;
|
|
343
|
+
const additionalArgs = useMemo(() => {
|
|
344
|
+
const errorMessages = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
345
|
+
const args = _objectSpread(_objectSpread({}, errorMessages), {}, {
|
|
346
|
+
errorMessages,
|
|
347
|
+
validators: exportValidatorsRef.current,
|
|
348
|
+
connectWithPath: path => {
|
|
349
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onPathChange', connectWithPathListenerRef.current);
|
|
350
|
+
return {
|
|
351
|
+
getValue: () => getValueByPath(path)
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
return args;
|
|
356
|
+
}, [contextErrorMessages, getValueByPath, setFieldEventListener]);
|
|
357
|
+
const extendWithExportedValidators = useCallback((validator, result) => {
|
|
358
|
+
if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current) && !Array.isArray(result)) {
|
|
359
|
+
return Object.values(exportValidatorsRef.current);
|
|
360
|
+
}
|
|
361
|
+
return result;
|
|
362
|
+
}, []);
|
|
363
|
+
const callValidatorFnSync = useCallback(function (validator) {
|
|
364
|
+
let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
|
|
365
|
+
if (typeof validator !== 'function') {
|
|
366
|
+
return undefined;
|
|
367
|
+
}
|
|
368
|
+
const result = extendWithExportedValidators(validator, validator(value, additionalArgs));
|
|
369
|
+
if (Array.isArray(result)) {
|
|
370
|
+
for (const validator of result) {
|
|
371
|
+
const result = callValidatorFnSync(validator, value);
|
|
372
|
+
if (result instanceof Error) {
|
|
373
|
+
return result;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
return result;
|
|
379
|
+
}, [additionalArgs, extendWithExportedValidators]);
|
|
380
|
+
const callValidatorFnAsync = useCallback(async function (validator) {
|
|
381
|
+
let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
|
|
382
|
+
if (typeof validator !== 'function') {
|
|
383
|
+
return undefined;
|
|
384
|
+
}
|
|
385
|
+
const result = extendWithExportedValidators(validator, await validator(value, additionalArgs));
|
|
386
|
+
if (Array.isArray(result)) {
|
|
387
|
+
for (const validator of result) {
|
|
388
|
+
const result = await callValidatorFnAsync(validator, value);
|
|
389
|
+
if (result instanceof Error) {
|
|
390
|
+
return result;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
return result;
|
|
396
|
+
}, [additionalArgs, extendWithExportedValidators]);
|
|
322
397
|
const stateId = useId();
|
|
323
398
|
const persistErrorState = useCallback(function (method) {
|
|
324
399
|
let errorArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
@@ -351,23 +426,19 @@ export default function useFieldProps(localeProps) {
|
|
|
351
426
|
persistErrorState('wipe');
|
|
352
427
|
hasLocalErrorRef.current = false;
|
|
353
428
|
}, [persistErrorState]);
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
const opts = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
365
|
-
const tmpValue = valueRef.current;
|
|
366
|
-
const result = await validatorRef.current(valueRef.current, opts);
|
|
367
|
-
const unchangedValue = tmpValue === valueRef.current;
|
|
429
|
+
const validatorCacheRef = useRef({
|
|
430
|
+
onChangeValidator: null,
|
|
431
|
+
onBlurValidator: null
|
|
432
|
+
});
|
|
433
|
+
const revealOnChangeValidatorResult = useCallback(_ref5 => {
|
|
434
|
+
let {
|
|
435
|
+
result,
|
|
436
|
+
unchangedValue
|
|
437
|
+
} = _ref5;
|
|
438
|
+
const runAsync = isAsync(onChangeValidatorRef.current);
|
|
368
439
|
if (unchangedValue) {
|
|
369
440
|
persistErrorState('gracefully', result);
|
|
370
|
-
if (continuousValidation || runAsync) {
|
|
441
|
+
if (validateInitially && !changedRef.current || validateUnchanged || continuousValidation || runAsync) {
|
|
371
442
|
window.requestAnimationFrame(() => {
|
|
372
443
|
revealError();
|
|
373
444
|
forceUpdate();
|
|
@@ -382,30 +453,132 @@ export default function useFieldProps(localeProps) {
|
|
|
382
453
|
setFieldState('pending');
|
|
383
454
|
}
|
|
384
455
|
}
|
|
385
|
-
|
|
386
|
-
|
|
456
|
+
}, [continuousValidation, defineAsyncProcess, persistErrorState, revealError, setFieldState, validateInitially, validateUnchanged]);
|
|
457
|
+
const callOnChangeValidator = useCallback(async () => {
|
|
458
|
+
if (typeof onChangeValidatorRef.current !== 'function') {
|
|
459
|
+
return {};
|
|
460
|
+
}
|
|
461
|
+
const tmpValue = valueRef.current;
|
|
462
|
+
let result = isAsync(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
|
|
463
|
+
if (result instanceof Promise) {
|
|
464
|
+
result = await result;
|
|
465
|
+
}
|
|
466
|
+
const unchangedValue = tmpValue === valueRef.current;
|
|
467
|
+
return {
|
|
468
|
+
result,
|
|
469
|
+
unchangedValue
|
|
470
|
+
};
|
|
471
|
+
}, [callValidatorFnAsync, callValidatorFnSync]);
|
|
472
|
+
const startOnChangeValidatorValidation = useCallback(async () => {
|
|
473
|
+
if (typeof onChangeValidatorRef.current !== 'function') {
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
if (isAsync(onChangeValidatorRef.current)) {
|
|
477
|
+
defineAsyncProcess('validator');
|
|
478
|
+
setFieldState('validating');
|
|
479
|
+
hideError();
|
|
480
|
+
}
|
|
481
|
+
const tmpValue = valueRef.current;
|
|
482
|
+
let result = isAsync(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
|
|
483
|
+
if (result instanceof Promise) {
|
|
484
|
+
result = await result;
|
|
485
|
+
}
|
|
486
|
+
const unchangedValue = tmpValue === valueRef.current;
|
|
487
|
+
revealOnChangeValidatorResult({
|
|
488
|
+
result,
|
|
489
|
+
unchangedValue
|
|
490
|
+
});
|
|
491
|
+
return {
|
|
492
|
+
result
|
|
493
|
+
};
|
|
494
|
+
}, [callValidatorFnAsync, callValidatorFnSync, defineAsyncProcess, hideError, revealOnChangeValidatorResult, setFieldState]);
|
|
495
|
+
const runOnChangeValidator = useCallback(async () => {
|
|
496
|
+
if (!onChangeValidatorRef.current) {
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
const {
|
|
500
|
+
result,
|
|
501
|
+
unchangedValue
|
|
502
|
+
} = await callOnChangeValidator();
|
|
503
|
+
if (String(result) !== String(validatorCacheRef.current.onChangeValidator)) {
|
|
504
|
+
if (result) {
|
|
505
|
+
revealOnChangeValidatorResult({
|
|
506
|
+
result,
|
|
507
|
+
unchangedValue
|
|
508
|
+
});
|
|
509
|
+
} else {
|
|
510
|
+
hideError();
|
|
511
|
+
clearErrorState();
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
validatorCacheRef.current.onChangeValidator = result || null;
|
|
515
|
+
}, [callOnChangeValidator, clearErrorState, hideError, revealOnChangeValidatorResult]);
|
|
387
516
|
const callOnBlurValidator = useCallback(async function () {
|
|
388
517
|
let {
|
|
389
|
-
|
|
518
|
+
overrideValue = null
|
|
390
519
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
391
520
|
if (typeof onBlurValidatorRef.current !== 'function') {
|
|
392
|
-
return;
|
|
521
|
+
return {};
|
|
393
522
|
}
|
|
394
|
-
const value = transformers.current.toEvent(
|
|
395
|
-
|
|
396
|
-
if (
|
|
397
|
-
|
|
398
|
-
setFieldState('validating');
|
|
523
|
+
const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, 'onBlurValidator');
|
|
524
|
+
let result = isAsync(onBlurValidatorRef.current) ? await callValidatorFnAsync(onBlurValidatorRef.current, value) : callValidatorFnSync(onBlurValidatorRef.current, value);
|
|
525
|
+
if (result instanceof Promise) {
|
|
526
|
+
result = await result;
|
|
399
527
|
}
|
|
400
|
-
|
|
528
|
+
return {
|
|
529
|
+
result
|
|
530
|
+
};
|
|
531
|
+
}, [callValidatorFnAsync, callValidatorFnSync]);
|
|
532
|
+
const revealOnBlurValidatorResult = useCallback(_ref6 => {
|
|
533
|
+
let {
|
|
534
|
+
result
|
|
535
|
+
} = _ref6;
|
|
401
536
|
persistErrorState('gracefully', result);
|
|
402
|
-
if (
|
|
537
|
+
if (isAsync(onBlurValidatorRef.current)) {
|
|
403
538
|
defineAsyncProcess(undefined);
|
|
404
539
|
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
405
540
|
}
|
|
406
541
|
revealError();
|
|
407
|
-
|
|
408
|
-
|
|
542
|
+
}, [defineAsyncProcess, persistErrorState, revealError, setFieldState]);
|
|
543
|
+
const startOnBlurValidatorProcess = useCallback(async function () {
|
|
544
|
+
let {
|
|
545
|
+
overrideValue = null
|
|
546
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
547
|
+
if (typeof onBlurValidatorRef.current !== 'function') {
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
if (isAsync(onBlurValidatorRef.current)) {
|
|
551
|
+
defineAsyncProcess('onBlurValidator');
|
|
552
|
+
setFieldState('validating');
|
|
553
|
+
}
|
|
554
|
+
const {
|
|
555
|
+
result
|
|
556
|
+
} = await callOnBlurValidator({
|
|
557
|
+
overrideValue
|
|
558
|
+
});
|
|
559
|
+
revealOnBlurValidatorResult({
|
|
560
|
+
result
|
|
561
|
+
});
|
|
562
|
+
}, [callOnBlurValidator, defineAsyncProcess, revealOnBlurValidatorResult, setFieldState]);
|
|
563
|
+
const runOnBlurValidator = useCallback(async () => {
|
|
564
|
+
if (!onBlurValidatorRef.current) {
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
const {
|
|
568
|
+
result
|
|
569
|
+
} = await callOnBlurValidator();
|
|
570
|
+
if (String(result) !== String(validatorCacheRef.current.onBlurValidator) && revealErrorRef.current) {
|
|
571
|
+
if (result) {
|
|
572
|
+
revealOnBlurValidatorResult({
|
|
573
|
+
result
|
|
574
|
+
});
|
|
575
|
+
} else {
|
|
576
|
+
hideError();
|
|
577
|
+
clearErrorState();
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
validatorCacheRef.current.onBlurValidator = result || null;
|
|
581
|
+
}, [callOnBlurValidator, clearErrorState, hideError, revealOnBlurValidatorResult]);
|
|
409
582
|
const prioritizeContextSchema = useMemo(() => {
|
|
410
583
|
if (errorPrioritization) {
|
|
411
584
|
const schemaPath = identifier.split('/').join('/properties/');
|
|
@@ -442,8 +615,10 @@ export default function useFieldProps(localeProps) {
|
|
|
442
615
|
const error = ajvErrorsToOneFormError(schemaValidatorRef.current.errors, valueRef.current);
|
|
443
616
|
throw error;
|
|
444
617
|
}
|
|
445
|
-
if (
|
|
446
|
-
const
|
|
618
|
+
if (onChangeValidatorRef.current && (changedRef.current || validateInitially || validateUnchanged)) {
|
|
619
|
+
const {
|
|
620
|
+
result
|
|
621
|
+
} = await startOnChangeValidatorValidation();
|
|
447
622
|
if (result instanceof Error) {
|
|
448
623
|
throw result;
|
|
449
624
|
}
|
|
@@ -458,7 +633,7 @@ export default function useFieldProps(localeProps) {
|
|
|
458
633
|
persistErrorState('weak', error);
|
|
459
634
|
}
|
|
460
635
|
}
|
|
461
|
-
}, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially,
|
|
636
|
+
}, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially, validateUnchanged, startOnChangeValidatorValidation, persistErrorState]);
|
|
462
637
|
const handleError = useCallback(() => {
|
|
463
638
|
if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
|
|
464
639
|
revealError();
|
|
@@ -466,9 +641,9 @@ export default function useFieldProps(localeProps) {
|
|
|
466
641
|
hideError();
|
|
467
642
|
}
|
|
468
643
|
}, [continuousValidation, hideError, revealError]);
|
|
469
|
-
const setHasFocus = useCallback(async (hasFocus,
|
|
644
|
+
const setHasFocus = useCallback(async (hasFocus, overrideValue, additionalArgs) => {
|
|
470
645
|
const getArgs = type => {
|
|
471
|
-
const value = transformers.current.toEvent(
|
|
646
|
+
const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, type);
|
|
472
647
|
const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
|
|
473
648
|
return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
|
|
474
649
|
};
|
|
@@ -483,28 +658,28 @@ export default function useFieldProps(localeProps) {
|
|
|
483
658
|
if (!changedRef.current && !validateUnchanged) {
|
|
484
659
|
return;
|
|
485
660
|
}
|
|
486
|
-
addToPool('onBlurValidator', async () => await
|
|
487
|
-
|
|
661
|
+
addToPool('onBlurValidator', async () => await startOnBlurValidatorProcess({
|
|
662
|
+
overrideValue
|
|
488
663
|
}), isAsync(onBlurValidatorRef.current));
|
|
489
664
|
await runPool(() => {
|
|
490
665
|
revealError();
|
|
491
666
|
forceUpdate();
|
|
492
667
|
});
|
|
493
668
|
}
|
|
494
|
-
}, [
|
|
495
|
-
const yieldAsyncProcess = useCallback(async
|
|
669
|
+
}, [onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
|
|
670
|
+
const yieldAsyncProcess = useCallback(async _ref7 => {
|
|
496
671
|
let {
|
|
497
672
|
name,
|
|
498
673
|
waitFor
|
|
499
|
-
} =
|
|
674
|
+
} = _ref7;
|
|
500
675
|
return new Promise(resolve => {
|
|
501
676
|
const validateProcesses = () => {
|
|
502
|
-
const result = waitFor.some(
|
|
677
|
+
const result = waitFor.some(_ref8 => {
|
|
503
678
|
let {
|
|
504
679
|
processName,
|
|
505
680
|
withStates,
|
|
506
681
|
hasValue
|
|
507
|
-
} =
|
|
682
|
+
} = _ref8;
|
|
508
683
|
const hasMatchingValue = hasValue === validatedValue.current;
|
|
509
684
|
const result = (typeof hasValue === 'undefined' ? false : !hasMatchingValue) || (processName ? processName === asyncProcessRef.current : true) && (withStates === null || withStates === void 0 ? void 0 : withStates.some(state => {
|
|
510
685
|
return state === fieldStateRef.current;
|
|
@@ -599,7 +774,7 @@ export default function useFieldProps(localeProps) {
|
|
|
599
774
|
if (hasPath) {
|
|
600
775
|
handlePathChangeUnvalidatedDataContext(identifier, newValue);
|
|
601
776
|
}
|
|
602
|
-
addToPool('validator', validateValue, isAsync(
|
|
777
|
+
addToPool('validator', validateValue, isAsync(onChangeValidatorRef.current));
|
|
603
778
|
addToPool('onChangeContext', callOnChangeContext, isAsync(onChangeContext));
|
|
604
779
|
await runPool(() => {
|
|
605
780
|
handleError();
|
|
@@ -662,16 +837,18 @@ export default function useFieldProps(localeProps) {
|
|
|
662
837
|
const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
|
|
663
838
|
const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
|
|
664
839
|
setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
|
|
665
|
-
|
|
666
|
-
|
|
840
|
+
useEffect(() => {
|
|
841
|
+
handleMountField(identifier);
|
|
842
|
+
return () => {
|
|
843
|
+
handleUnMountField(identifier);
|
|
844
|
+
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
|
|
845
|
+
setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
|
|
846
|
+
localErrorRef.current = undefined;
|
|
847
|
+
};
|
|
848
|
+
}, [handleMountField, handleUnMountField, identifier, setFieldError, setFieldErrorDataContext]);
|
|
849
|
+
useEffect(() => {
|
|
667
850
|
validateValue();
|
|
668
|
-
});
|
|
669
|
-
useUnmountEffect(() => {
|
|
670
|
-
dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleUnMountField(identifier);
|
|
671
|
-
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
|
|
672
|
-
setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
|
|
673
|
-
localErrorRef.current = undefined;
|
|
674
|
-
});
|
|
851
|
+
}, [validateValue]);
|
|
675
852
|
useUpdateEffect(() => {
|
|
676
853
|
var _dataContext$ajvInsta2;
|
|
677
854
|
schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
|
|
@@ -702,6 +879,14 @@ export default function useFieldProps(localeProps) {
|
|
|
702
879
|
}
|
|
703
880
|
}
|
|
704
881
|
}, [clearErrorState, dataContextError, handleError, persistErrorState, prepareError, validateInitially]);
|
|
882
|
+
useEffect(() => {
|
|
883
|
+
if (itemPath && valueProp !== undefined) {
|
|
884
|
+
warn(`Using value="${valueProp}" prop inside Iterate is not supported yet`);
|
|
885
|
+
}
|
|
886
|
+
if (itemPath && defaultValue !== undefined) {
|
|
887
|
+
warn(`Using defaultValue="${defaultValue}" prop inside Iterate is not supported yet`);
|
|
888
|
+
}
|
|
889
|
+
}, [defaultValue, itemPath, valueProp]);
|
|
705
890
|
useEffect(() => {
|
|
706
891
|
if (hasPath) {
|
|
707
892
|
let value = valueProp;
|
|
@@ -726,7 +911,7 @@ export default function useFieldProps(localeProps) {
|
|
|
726
911
|
validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
|
|
727
912
|
}
|
|
728
913
|
}
|
|
729
|
-
}, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
|
|
914
|
+
}, [dataContext.data, dataContext.id, defaultValue, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
|
|
730
915
|
useEffect(() => {
|
|
731
916
|
if (showAllErrors || showBoundaryErrors) {
|
|
732
917
|
if (fieldStateRef.current !== 'validating') {
|
|
@@ -737,7 +922,7 @@ export default function useFieldProps(localeProps) {
|
|
|
737
922
|
}
|
|
738
923
|
}, [hideError, revealError, showAllErrors, showBoundaryErrors]);
|
|
739
924
|
useEffect(() => {
|
|
740
|
-
if (dataContext.formState === 'pending' && (
|
|
925
|
+
if (dataContext.formState === 'pending' && (onChangeValidatorRef.current || onBlurValidatorRef.current)) {
|
|
741
926
|
hideError();
|
|
742
927
|
forceUpdate();
|
|
743
928
|
}
|
|
@@ -746,50 +931,43 @@ export default function useFieldProps(localeProps) {
|
|
|
746
931
|
if (hasError()) {
|
|
747
932
|
return;
|
|
748
933
|
}
|
|
749
|
-
addToPool('validator',
|
|
750
|
-
addToPool('onBlurValidator',
|
|
934
|
+
addToPool('validator', startOnChangeValidatorValidation, isAsync(onChangeValidatorRef.current));
|
|
935
|
+
addToPool('onBlurValidator', startOnBlurValidatorProcess, isAsync(onBlurValidatorRef.current));
|
|
751
936
|
await runPool();
|
|
752
|
-
}, [addToPool,
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
useMountEffect(() => {
|
|
937
|
+
}, [addToPool, startOnBlurValidatorProcess, hasError, runPool, startOnChangeValidatorValidation]);
|
|
938
|
+
useEffect(() => {
|
|
939
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(identifier, 'onSubmit', onSubmitHandler);
|
|
940
|
+
}, [identifier, onSubmitHandler, setFieldEventListener]);
|
|
941
|
+
useEffect(() => {
|
|
758
942
|
if (inFieldBlock) {
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
type: 'info',
|
|
781
|
-
content: info,
|
|
782
|
-
showInitially: true,
|
|
783
|
-
show: true
|
|
784
|
-
});
|
|
785
|
-
}
|
|
943
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
944
|
+
identifier,
|
|
945
|
+
type: 'error',
|
|
946
|
+
content: errorProp,
|
|
947
|
+
showInitially: true,
|
|
948
|
+
show: true
|
|
949
|
+
});
|
|
950
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
951
|
+
identifier,
|
|
952
|
+
type: 'warning',
|
|
953
|
+
content: warning,
|
|
954
|
+
showInitially: true,
|
|
955
|
+
show: true
|
|
956
|
+
});
|
|
957
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
958
|
+
identifier,
|
|
959
|
+
type: 'info',
|
|
960
|
+
content: info,
|
|
961
|
+
showInitially: true,
|
|
962
|
+
show: true
|
|
963
|
+
});
|
|
786
964
|
return () => {
|
|
787
965
|
if (mountedFieldsRefFieldBlock) {
|
|
788
966
|
mountedFieldsRefFieldBlock.current[identifier] = true;
|
|
789
967
|
}
|
|
790
968
|
};
|
|
791
969
|
}
|
|
792
|
-
});
|
|
970
|
+
}, [errorProp, identifier, inFieldBlock, info, mountedFieldsRefFieldBlock, setFieldStateFieldBlock, warning]);
|
|
793
971
|
const infoRef = useRef(info);
|
|
794
972
|
const warningRef = useRef(warning);
|
|
795
973
|
useUpdateEffect(() => {
|
|
@@ -835,13 +1013,16 @@ export default function useFieldProps(localeProps) {
|
|
|
835
1013
|
};
|
|
836
1014
|
const sharedData = useSharedState('field-block-props-' + id);
|
|
837
1015
|
sharedData.set(fieldBlockProps);
|
|
1016
|
+
useEffect(() => {
|
|
1017
|
+
isInternalRerenderRef.current = undefined;
|
|
1018
|
+
});
|
|
838
1019
|
return _objectSpread(_objectSpread(_objectSpread({}, props), fieldBlockProps), {}, {
|
|
839
1020
|
name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
|
|
840
1021
|
autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : undefined,
|
|
841
1022
|
id,
|
|
842
1023
|
value: transformers.current.transformIn(transformers.current.toInput(valueRef.current)),
|
|
843
1024
|
hasError: hasVisibleError,
|
|
844
|
-
isChanged: changedRef.current,
|
|
1025
|
+
isChanged: Boolean(changedRef.current),
|
|
845
1026
|
props,
|
|
846
1027
|
htmlAttributes,
|
|
847
1028
|
setHasFocus,
|