@dnb/eufemia 10.22.0 → 10.23.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 +42 -0
- package/cjs/components/accordion/Accordion.js +1 -1
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionContext.d.ts +1 -1
- package/cjs/components/accordion/AccordionGroup.js +1 -1
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +2 -3
- package/cjs/components/anchor/Anchor.js +14 -23
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +16 -10
- package/cjs/components/anchor/style/dnb-anchor.css +6 -12
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
- package/cjs/components/breadcrumb/Breadcrumb.js +26 -17
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
- package/cjs/components/breadcrumb/BreadcrumbItem.js +17 -9
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
- package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
- package/cjs/components/button/style/button--tertiary.scss +30 -75
- package/cjs/components/button/style/dnb-button.css +43 -49
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/dnb-button.scss +46 -59
- package/cjs/components/button/style/themes/button-mixins.scss +26 -5
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +29 -60
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/cjs/components/card/Card.d.ts +15 -2
- package/cjs/components/card/Card.js +19 -7
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/CardDocs.d.ts +2 -0
- package/cjs/components/card/CardDocs.js +65 -0
- package/cjs/components/card/CardDocs.js.map +1 -0
- package/cjs/components/card/style/dnb-card.css +24 -5
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +47 -16
- package/cjs/components/checkbox/style/dnb-checkbox.css +3 -0
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +7 -0
- package/cjs/components/date-picker/DatePicker.d.ts +2 -0
- package/cjs/components/date-picker/DatePicker.js +2 -1
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +19 -3
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +8 -3
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +3 -0
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.scss +4 -0
- package/cjs/components/form-label/FormLabel.js +1 -1
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/form-label/style/dnb-form-label.css +3 -0
- package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
- package/cjs/components/form-label/style/dnb-form-label.scss +4 -0
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
- package/cjs/components/heading/HeadingContext.d.ts +1 -1
- package/cjs/components/height-animation/style/dnb-height-animation.css +2 -2
- package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/cjs/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/cjs/components/number-format/NumberUtils.d.ts +1 -1
- package/cjs/components/radio/style/dnb-radio.css +4 -0
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +9 -0
- package/cjs/components/section/style/themes/dnb-section-theme-ui.css +3 -6
- package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/cjs/components/skeleton/SkeletonHelper.d.ts +6 -6
- package/cjs/components/skeleton/style/dnb-skeleton.css +1 -0
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.scss +1 -0
- package/cjs/components/slider/SliderInstance.js +1 -0
- package/cjs/components/slider/SliderInstance.js.map +1 -1
- package/cjs/components/slider/SliderThumb.js +4 -2
- package/cjs/components/slider/SliderThumb.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicator.js +11 -5
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
- package/cjs/components/table/TableScrollView.d.ts +5 -1
- package/cjs/components/table/TableScrollView.js +1 -0
- package/cjs/components/table/TableScrollView.js.map +1 -1
- package/cjs/components/table/TableTr.d.ts +1 -2
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +8 -1
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/dnb-table.scss +7 -1
- package/cjs/components/table/style/table-header-buttons.scss +4 -1
- package/cjs/components/table/useTableAnimationHandler.d.ts +1 -1
- package/cjs/components/table/useTableAnimationHandler.js +3 -3
- package/cjs/components/table/useTableAnimationHandler.js.map +1 -1
- package/cjs/components/tag/Tag.d.ts +11 -0
- package/cjs/components/tag/Tag.js +55 -40
- package/cjs/components/tag/Tag.js.map +1 -1
- package/cjs/components/tag/style/dnb-tag.css +50 -86
- package/cjs/components/tag/style/dnb-tag.min.css +1 -1
- package/cjs/components/tag/style/dnb-tag.scss +37 -45
- package/cjs/components/tag/style/themes/tag-mixins.scss +24 -6
- package/cjs/components/tooltip/Tooltip.js +1 -1
- package/cjs/components/tooltip/Tooltip.js.map +1 -1
- package/cjs/elements/Element.d.ts +3 -4
- package/cjs/elements/Element.js.map +1 -1
- package/cjs/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +31 -8
- package/cjs/extensions/forms/DataContext/Context.js +14 -3
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +324 -77
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +93 -0
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +3 -3
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -4
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +3 -3
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/Password.d.ts +1 -1
- package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -4
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +5 -5
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.js +3 -3
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/String/StringDocs.js +9 -4
- package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +41 -19
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +50 -8
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +49 -0
- package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +19 -10
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +30 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +81 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +25 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/index.js +27 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js +4 -0
- package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
- package/cjs/extensions/forms/Form/data-context/getData.d.ts +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -3
- package/cjs/extensions/forms/Form/data-context/useData.js +32 -12
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useError.d.ts +3 -2
- package/cjs/extensions/forms/Form/data-context/useError.js +8 -5
- package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +1 -1
- package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +1 -1
- package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
- package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
- package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +54 -25
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +58 -0
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js +1 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/Number.js +5 -5
- package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/String/String.js +1 -1
- package/cjs/extensions/forms/Value/String/String.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +6 -3
- package/cjs/extensions/forms/hooks/index.js +4 -12
- package/cjs/extensions/forms/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +23 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +774 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -0
- package/cjs/extensions/forms/style/dnb-forms.css +105 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +67 -4
- package/cjs/extensions/forms/types.js +3 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.d.ts +9 -7
- package/cjs/extensions/forms/utils/ajv.js +29 -16
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -2
- package/cjs/fragments/scroll-view/ScrollView.js +4 -1
- package/cjs/fragments/scroll-view/ScrollView.js.map +1 -1
- package/cjs/shared/Context.d.ts +20 -11
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +2 -2
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/defaults.d.ts +3 -3
- package/cjs/shared/defaults.js.map +1 -1
- package/cjs/shared/helpers/debounce.d.ts +21 -30
- package/cjs/shared/helpers/debounce.js +23 -11
- package/cjs/shared/helpers/debounce.js.map +1 -1
- package/cjs/shared/helpers/isAsync.d.ts +7 -0
- package/cjs/shared/helpers/isAsync.js +20 -0
- package/cjs/shared/helpers/isAsync.js.map +1 -0
- package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js +31 -0
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
- package/cjs/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
- package/cjs/shared/helpers/useId.js.map +1 -0
- package/cjs/shared/helpers/useMountEffect.js.map +1 -0
- package/cjs/shared/helpers/useMounted.js.map +1 -0
- package/cjs/shared/helpers/useSharedState.js +15 -9
- package/cjs/shared/helpers/useSharedState.js.map +1 -1
- package/cjs/shared/helpers/useUnmountEffect.js.map +1 -0
- package/cjs/shared/helpers/useUpdateEffect.js.map +1 -0
- package/cjs/shared/helpers.js +2 -0
- package/cjs/shared/helpers.js.map +1 -1
- package/cjs/shared/index.d.ts +10 -10
- package/cjs/shared/index.js +7 -1
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +2 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +4 -2
- package/cjs/shared/locales/index.js +2 -1
- package/cjs/shared/locales/index.js.map +1 -1
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/types.d.ts +4 -1
- package/cjs/shared/types.js.map +1 -1
- package/cjs/shared/useLocale.d.ts +2 -0
- package/cjs/shared/useLocale.js +37 -0
- package/cjs/shared/useLocale.js.map +1 -0
- package/cjs/style/core/scopes.scss +3 -0
- package/cjs/style/dnb-ui-basis.css +1 -0
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -0
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +281 -160
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +1 -0
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +105 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +105 -1
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +427 -250
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +105 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +566 -315
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +20 -8
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +105 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -6
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +427 -250
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +16 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +105 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +105 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -6
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/Accordion.js +1 -1
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionContext.d.ts +1 -1
- package/components/accordion/AccordionGroup.js +1 -1
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/anchor/Anchor.d.ts +2 -3
- package/components/anchor/Anchor.js +14 -23
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +16 -10
- package/components/anchor/style/dnb-anchor.css +6 -12
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/aria-live/useAriaLive.d.ts +1 -1
- package/components/breadcrumb/Breadcrumb.js +27 -18
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
- package/components/breadcrumb/BreadcrumbItem.js +18 -10
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
- package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
- package/components/button/style/button--tertiary.scss +30 -75
- package/components/button/style/dnb-button.css +43 -49
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/dnb-button.scss +46 -59
- package/components/button/style/themes/button-mixins.scss +26 -5
- package/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
- package/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
- package/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
- package/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
- package/components/button/style/themes/dnb-button-theme-ui.css +29 -60
- package/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
- package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/components/card/Card.d.ts +15 -2
- package/components/card/Card.js +19 -7
- package/components/card/Card.js.map +1 -1
- package/components/card/CardDocs.d.ts +2 -0
- package/components/card/CardDocs.js +58 -0
- package/components/card/CardDocs.js.map +1 -0
- package/components/card/style/dnb-card.css +24 -5
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +47 -16
- package/components/checkbox/style/dnb-checkbox.css +3 -0
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +7 -0
- package/components/date-picker/DatePicker.d.ts +2 -0
- package/components/date-picker/DatePicker.js +2 -1
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +19 -3
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +8 -3
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/dropdown/style/dnb-dropdown.css +3 -0
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.scss +4 -0
- package/components/form-label/FormLabel.js +1 -1
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/form-label/style/dnb-form-label.css +3 -0
- package/components/form-label/style/dnb-form-label.min.css +1 -1
- package/components/form-label/style/dnb-form-label.scss +4 -0
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
- package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
- package/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
- package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
- package/components/heading/HeadingContext.d.ts +1 -1
- package/components/height-animation/style/dnb-height-animation.css +2 -2
- package/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/components/number-format/NumberUtils.d.ts +1 -1
- package/components/radio/style/dnb-radio.css +4 -0
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/radio/style/dnb-radio.scss +9 -0
- package/components/section/style/themes/dnb-section-theme-ui.css +3 -6
- package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/components/skeleton/SkeletonHelper.d.ts +6 -6
- package/components/skeleton/style/dnb-skeleton.css +1 -0
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/skeleton/style/dnb-skeleton.scss +1 -0
- package/components/slider/SliderInstance.js +1 -0
- package/components/slider/SliderInstance.js.map +1 -1
- package/components/slider/SliderThumb.js +4 -2
- package/components/slider/SliderThumb.js.map +1 -1
- package/components/step-indicator/StepIndicator.js +11 -6
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
- package/components/table/TableScrollView.d.ts +5 -1
- package/components/table/TableScrollView.js +1 -0
- package/components/table/TableScrollView.js.map +1 -1
- package/components/table/TableTr.d.ts +1 -2
- package/components/table/TableTr.js.map +1 -1
- package/components/table/style/dnb-table.css +8 -1
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/dnb-table.scss +7 -1
- package/components/table/style/table-header-buttons.scss +4 -1
- package/components/table/useTableAnimationHandler.d.ts +1 -1
- package/components/table/useTableAnimationHandler.js +3 -3
- package/components/table/useTableAnimationHandler.js.map +1 -1
- package/components/tag/Tag.d.ts +11 -0
- package/components/tag/Tag.js +54 -39
- package/components/tag/Tag.js.map +1 -1
- package/components/tag/style/dnb-tag.css +50 -86
- package/components/tag/style/dnb-tag.min.css +1 -1
- package/components/tag/style/dnb-tag.scss +37 -45
- package/components/tag/style/themes/tag-mixins.scss +24 -6
- package/components/tooltip/Tooltip.js +1 -1
- package/components/tooltip/Tooltip.js.map +1 -1
- package/elements/Element.d.ts +3 -4
- package/elements/Element.js.map +1 -1
- package/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
- package/es/components/accordion/Accordion.js +1 -1
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionContext.d.ts +1 -1
- package/es/components/accordion/AccordionGroup.js +1 -1
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +2 -3
- package/es/components/anchor/Anchor.js +14 -23
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +16 -10
- package/es/components/anchor/style/dnb-anchor.css +6 -12
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/aria-live/useAriaLive.d.ts +1 -1
- package/es/components/breadcrumb/Breadcrumb.js +27 -18
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
- package/es/components/breadcrumb/BreadcrumbItem.js +18 -10
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
- package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
- package/es/components/button/style/button--tertiary.scss +30 -75
- package/es/components/button/style/dnb-button.css +43 -49
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/dnb-button.scss +46 -59
- package/es/components/button/style/themes/button-mixins.scss +26 -5
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
- package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
- package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
- package/es/components/button/style/themes/dnb-button-theme-ui.css +29 -60
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/es/components/card/Card.d.ts +15 -2
- package/es/components/card/Card.js +19 -7
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/CardDocs.d.ts +2 -0
- package/es/components/card/CardDocs.js +58 -0
- package/es/components/card/CardDocs.js.map +1 -0
- package/es/components/card/style/dnb-card.css +24 -5
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +47 -16
- package/es/components/checkbox/style/dnb-checkbox.css +3 -0
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +7 -0
- package/es/components/date-picker/DatePicker.d.ts +2 -0
- package/es/components/date-picker/DatePicker.js +2 -1
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +19 -3
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +8 -3
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +3 -0
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.scss +4 -0
- package/es/components/form-label/FormLabel.js +1 -1
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/form-label/style/dnb-form-label.css +3 -0
- package/es/components/form-label/style/dnb-form-label.min.css +1 -1
- package/es/components/form-label/style/dnb-form-label.scss +4 -0
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
- package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
- package/es/components/heading/HeadingContext.d.ts +1 -1
- package/es/components/height-animation/style/dnb-height-animation.css +2 -2
- package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/es/components/height-animation/style/dnb-height-animation.scss +3 -2
- package/es/components/number-format/NumberUtils.d.ts +1 -1
- package/es/components/radio/style/dnb-radio.css +4 -0
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/radio/style/dnb-radio.scss +9 -0
- package/es/components/section/style/themes/dnb-section-theme-ui.css +3 -6
- package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
- package/es/components/skeleton/SkeletonHelper.d.ts +6 -6
- package/es/components/skeleton/style/dnb-skeleton.css +1 -0
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/skeleton/style/dnb-skeleton.scss +1 -0
- package/es/components/slider/SliderInstance.js +1 -0
- package/es/components/slider/SliderInstance.js.map +1 -1
- package/es/components/slider/SliderThumb.js +4 -2
- package/es/components/slider/SliderThumb.js.map +1 -1
- package/es/components/step-indicator/StepIndicator.js +11 -6
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
- package/es/components/table/TableScrollView.d.ts +5 -1
- package/es/components/table/TableScrollView.js +1 -0
- package/es/components/table/TableScrollView.js.map +1 -1
- package/es/components/table/TableTr.d.ts +1 -2
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/style/dnb-table.css +8 -1
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/dnb-table.scss +7 -1
- package/es/components/table/style/table-header-buttons.scss +4 -1
- package/es/components/table/useTableAnimationHandler.d.ts +1 -1
- package/es/components/table/useTableAnimationHandler.js +3 -3
- package/es/components/table/useTableAnimationHandler.js.map +1 -1
- package/es/components/tag/Tag.d.ts +11 -0
- package/es/components/tag/Tag.js +54 -39
- package/es/components/tag/Tag.js.map +1 -1
- package/es/components/tag/style/dnb-tag.css +50 -86
- package/es/components/tag/style/dnb-tag.min.css +1 -1
- package/es/components/tag/style/dnb-tag.scss +37 -45
- package/es/components/tag/style/themes/tag-mixins.scss +24 -6
- package/es/components/tooltip/Tooltip.js +1 -1
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/elements/Element.d.ts +3 -4
- package/es/elements/Element.js.map +1 -1
- package/es/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +31 -8
- package/es/extensions/forms/DataContext/Context.js +14 -3
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
- package/es/extensions/forms/DataContext/Provider/Provider.js +321 -75
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +4 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +5 -5
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +4 -4
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Password/Password.d.ts +1 -1
- package/es/extensions/forms/Field/Password/Password.js.map +1 -1
- package/es/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +6 -6
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String/String.js +4 -4
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/String/StringDocs.js +9 -4
- package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +8 -8
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +41 -20
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +45 -9
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
- package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitIndicator/index.js +3 -0
- package/es/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
- package/es/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
- package/es/extensions/forms/Form/data-context/getData.d.ts +1 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +3 -3
- package/es/extensions/forms/Form/data-context/useData.js +30 -12
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useError.d.ts +3 -2
- package/es/extensions/forms/Form/data-context/useError.js +7 -6
- package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +2 -2
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
- package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
- package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
- package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
- package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
- package/es/extensions/forms/StepsLayout/StepsLayout.js +55 -26
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
- package/es/extensions/forms/Value/Boolean/Boolean.js +2 -2
- package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Number/Number.js +5 -5
- package/es/extensions/forms/Value/Number/Number.js.map +1 -1
- package/es/extensions/forms/Value/String/String.js +2 -2
- package/es/extensions/forms/Value/String/String.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +6 -3
- package/es/extensions/forms/hooks/index.js +2 -3
- package/es/extensions/forms/hooks/index.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +23 -0
- package/es/extensions/forms/hooks/useFieldProps.js +749 -0
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -0
- package/es/extensions/forms/style/dnb-forms.css +105 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +67 -4
- package/es/extensions/forms/types.js +3 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.d.ts +9 -7
- package/es/extensions/forms/utils/ajv.js +29 -14
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/fragments/scroll-view/ScrollView.d.ts +2 -2
- package/es/fragments/scroll-view/ScrollView.js +4 -1
- package/es/fragments/scroll-view/ScrollView.js.map +1 -1
- package/es/shared/Context.d.ts +20 -11
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +2 -2
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/defaults.d.ts +3 -3
- package/es/shared/defaults.js.map +1 -1
- package/es/shared/helpers/debounce.d.ts +21 -30
- package/es/shared/helpers/debounce.js +21 -9
- package/es/shared/helpers/debounce.js.map +1 -1
- package/es/shared/helpers/isAsync.d.ts +7 -0
- package/es/shared/helpers/isAsync.js +14 -0
- package/es/shared/helpers/isAsync.js.map +1 -0
- package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
- package/es/shared/helpers/runCssVersionMismatchWarning.js +25 -0
- package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
- package/es/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
- package/es/shared/helpers/useId.js.map +1 -0
- package/es/shared/helpers/useMountEffect.js.map +1 -0
- package/es/shared/helpers/useMounted.js.map +1 -0
- package/es/shared/helpers/useSharedState.js +15 -9
- package/es/shared/helpers/useSharedState.js.map +1 -1
- package/es/shared/helpers/useUnmountEffect.js.map +1 -0
- package/es/shared/helpers/useUpdateEffect.js.map +1 -0
- package/es/shared/helpers.js +2 -0
- package/es/shared/helpers.js.map +1 -1
- package/es/shared/index.d.ts +10 -10
- package/es/shared/index.js +9 -11
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +2 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +4 -2
- package/es/shared/locales/index.js +2 -1
- package/es/shared/locales/index.js.map +1 -1
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/types.d.ts +4 -1
- package/es/shared/types.js.map +1 -1
- package/es/shared/useLocale.d.ts +2 -0
- package/es/shared/useLocale.js +29 -0
- package/es/shared/useLocale.js.map +1 -0
- package/es/style/core/scopes.scss +3 -0
- package/es/style/dnb-ui-basis.css +1 -0
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -0
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +281 -160
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +1 -0
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +105 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +105 -1
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +427 -250
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +105 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +566 -315
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +20 -8
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +105 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +3 -6
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +427 -250
- package/es/style/themes/theme-ui/ui-theme-components.min.css +16 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +3 -6
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +105 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +105 -1
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -6
- 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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +31 -8
- package/extensions/forms/DataContext/Context.js +14 -3
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
- package/extensions/forms/DataContext/Provider/Provider.js +325 -78
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +4 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +5 -5
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +4 -4
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Password/Password.d.ts +1 -1
- package/extensions/forms/Field/Password/Password.js.map +1 -1
- package/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +6 -6
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/String/String.js +4 -4
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/String/StringDocs.js +9 -4
- package/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +8 -8
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +42 -20
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +49 -9
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
- package/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
- package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
- package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
- package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
- package/extensions/forms/Form/SubmitIndicator/index.js +3 -0
- package/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
- package/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
- package/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
- package/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
- package/extensions/forms/Form/data-context/getData.d.ts +1 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +3 -3
- package/extensions/forms/Form/data-context/useData.js +32 -12
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useError.d.ts +3 -2
- package/extensions/forms/Form/data-context/useError.js +8 -6
- package/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +2 -2
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
- package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
- package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
- package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
- package/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
- package/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
- package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
- package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
- package/extensions/forms/StepsLayout/StepsLayout.js +55 -26
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
- package/extensions/forms/Value/Boolean/Boolean.js +2 -2
- package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Value/Number/Number.js +5 -5
- package/extensions/forms/Value/Number/Number.js.map +1 -1
- package/extensions/forms/Value/String/String.js +2 -2
- package/extensions/forms/Value/String/String.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +6 -3
- package/extensions/forms/hooks/index.js +2 -3
- package/extensions/forms/hooks/index.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +23 -0
- package/extensions/forms/hooks/useFieldProps.js +764 -0
- package/extensions/forms/hooks/useFieldProps.js.map +1 -0
- package/extensions/forms/style/dnb-forms.css +105 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +67 -4
- package/extensions/forms/types.js +3 -2
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.d.ts +9 -7
- package/extensions/forms/utils/ajv.js +29 -14
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/fragments/scroll-view/ScrollView.d.ts +2 -2
- package/fragments/scroll-view/ScrollView.js +4 -1
- package/fragments/scroll-view/ScrollView.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +20 -11
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +2 -2
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.js.map +1 -1
- package/shared/defaults.d.ts +3 -3
- package/shared/defaults.js.map +1 -1
- package/shared/helpers/debounce.d.ts +21 -30
- package/shared/helpers/debounce.js +23 -11
- package/shared/helpers/debounce.js.map +1 -1
- package/shared/helpers/isAsync.d.ts +7 -0
- package/shared/helpers/isAsync.js +14 -0
- package/shared/helpers/isAsync.js.map +1 -0
- package/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
- package/shared/helpers/runCssVersionMismatchWarning.js +25 -0
- package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
- package/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
- package/shared/helpers/useId.js.map +1 -0
- package/shared/helpers/useMountEffect.js.map +1 -0
- package/shared/helpers/useMounted.js.map +1 -0
- package/shared/helpers/useSharedState.js +15 -9
- package/shared/helpers/useSharedState.js.map +1 -1
- package/shared/helpers/useUnmountEffect.js.map +1 -0
- package/shared/helpers/useUpdateEffect.js.map +1 -0
- package/shared/helpers.js +2 -0
- package/shared/helpers.js.map +1 -1
- package/shared/index.d.ts +10 -10
- package/shared/index.js +9 -11
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +2 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +4 -2
- package/shared/locales/index.js +2 -1
- package/shared/locales/index.js.map +1 -1
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/types.d.ts +4 -1
- package/shared/types.js.map +1 -1
- package/shared/useLocale.d.ts +2 -0
- package/shared/useLocale.js +29 -0
- package/shared/useLocale.js.map +1 -0
- package/style/core/scopes.scss +3 -0
- package/style/dnb-ui-basis.css +1 -0
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -0
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +281 -160
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -0
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +105 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +105 -1
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +427 -250
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +105 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +566 -315
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +20 -8
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +105 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +3 -6
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +427 -250
- package/style/themes/theme-ui/ui-theme-components.min.css +16 -6
- package/style/themes/theme-ui/ui-theme-elements.css +3 -6
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +105 -1
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +105 -1
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +3 -6
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +0 -18
- package/cjs/extensions/forms/hooks/useDataValue.js +0 -461
- package/cjs/extensions/forms/hooks/useDataValue.js.map +0 -1
- package/cjs/extensions/forms/hooks/useId.js.map +0 -1
- package/cjs/extensions/forms/hooks/useMountEffect.js.map +0 -1
- package/cjs/extensions/forms/hooks/useMounted.js.map +0 -1
- package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
- package/cjs/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +0 -18
- package/es/extensions/forms/hooks/useDataValue.js +0 -443
- package/es/extensions/forms/hooks/useDataValue.js.map +0 -1
- package/es/extensions/forms/hooks/useId.js.map +0 -1
- package/es/extensions/forms/hooks/useMountEffect.js.map +0 -1
- package/es/extensions/forms/hooks/useMounted.js.map +0 -1
- package/es/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
- package/es/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
- package/extensions/forms/hooks/useDataValue.d.ts +0 -18
- package/extensions/forms/hooks/useDataValue.js +0 -451
- package/extensions/forms/hooks/useDataValue.js.map +0 -1
- package/extensions/forms/hooks/useId.js.map +0 -1
- package/extensions/forms/hooks/useMountEffect.js.map +0 -1
- package/extensions/forms/hooks/useMounted.js.map +0 -1
- package/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
- package/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
- /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
- /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
- /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
|
@@ -0,0 +1,749 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
+
const _excluded = ["name", "error", "warning", "info", "hasError", "isChanged", "htmlAttributes", "setHasFocus", "handleFocus", "handleBlur", "handleChange", "updateValue", "forceUpdate", "autoComplete", "dataContext", "fieldState"];
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
+
import { useRef, useEffect, useContext, useCallback, useMemo, useReducer } from 'react';
|
|
9
|
+
import pointer from 'json-pointer';
|
|
10
|
+
import { errorChanged } from '../utils';
|
|
11
|
+
import { ajvErrorsToOneFormError } from '../utils/ajv';
|
|
12
|
+
import { FormError } from '../types';
|
|
13
|
+
import { Context as DataContext } from '../DataContext';
|
|
14
|
+
import { combineDescribedBy } from '../../../shared/component-helper';
|
|
15
|
+
import useId from '../../../shared/helpers/useId';
|
|
16
|
+
import useUpdateEffect from '../../../shared/helpers/useUpdateEffect';
|
|
17
|
+
import useMountEffect from '../../../shared/helpers/useMountEffect';
|
|
18
|
+
import useUnmountEffect from '../../../shared/helpers/useUnmountEffect';
|
|
19
|
+
import SharedContext from '../../../shared/Context';
|
|
20
|
+
import FieldBlockContext from '../FieldBlock/FieldBlockContext';
|
|
21
|
+
import IterateElementContext from '../Iterate/IterateElementContext';
|
|
22
|
+
import useProcessManager from './useProcessManager';
|
|
23
|
+
import { createSharedState, useSharedState } from '../../../shared/helpers/useSharedState';
|
|
24
|
+
import { isAsync } from '../../../shared/helpers/isAsync';
|
|
25
|
+
export default function useFieldProps(props) {
|
|
26
|
+
var _props$disabled, _dataContext$props, _dataContext$ajvInsta, _localErrorRef$curren, _ref, _props$path, _props$autoComplete;
|
|
27
|
+
const {
|
|
28
|
+
path,
|
|
29
|
+
itemPath,
|
|
30
|
+
emptyValue,
|
|
31
|
+
required,
|
|
32
|
+
info,
|
|
33
|
+
warning,
|
|
34
|
+
error: errorProp,
|
|
35
|
+
errorMessages,
|
|
36
|
+
onFocus,
|
|
37
|
+
onBlur,
|
|
38
|
+
onChange,
|
|
39
|
+
onBlurValidator,
|
|
40
|
+
validator,
|
|
41
|
+
schema,
|
|
42
|
+
validateInitially,
|
|
43
|
+
validateUnchanged,
|
|
44
|
+
continuousValidation,
|
|
45
|
+
toInput = value => value,
|
|
46
|
+
fromInput = value => value,
|
|
47
|
+
toEvent = value => value,
|
|
48
|
+
transformValue = value => value,
|
|
49
|
+
fromExternal = value => value,
|
|
50
|
+
validateRequired = (value, {
|
|
51
|
+
emptyValue,
|
|
52
|
+
required,
|
|
53
|
+
error
|
|
54
|
+
}) => {
|
|
55
|
+
const res = required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '') ? error : undefined;
|
|
56
|
+
return res;
|
|
57
|
+
}
|
|
58
|
+
} = props;
|
|
59
|
+
const disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props.readOnly;
|
|
60
|
+
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
61
|
+
const {
|
|
62
|
+
startProcess
|
|
63
|
+
} = useProcessManager();
|
|
64
|
+
const id = useId(props.id);
|
|
65
|
+
const dataContext = useContext(DataContext);
|
|
66
|
+
const fieldBlockContext = useContext(FieldBlockContext);
|
|
67
|
+
const iterateElementContext = useContext(IterateElementContext);
|
|
68
|
+
const sharedContext = useContext(SharedContext);
|
|
69
|
+
const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
|
|
70
|
+
const transformers = useRef({
|
|
71
|
+
toInput,
|
|
72
|
+
fromInput,
|
|
73
|
+
toEvent,
|
|
74
|
+
fromExternal,
|
|
75
|
+
transformValue,
|
|
76
|
+
validateRequired
|
|
77
|
+
});
|
|
78
|
+
const {
|
|
79
|
+
handlePathChange: handlePathChangeDataContext,
|
|
80
|
+
updateDataValue: updateDataValueDataContext,
|
|
81
|
+
validateData: validateDataDataContext,
|
|
82
|
+
setFieldState: setFieldStateDataContext,
|
|
83
|
+
setFieldError: setFieldErrorDataContext,
|
|
84
|
+
setProps: setPropsDataContext,
|
|
85
|
+
errors: dataContextErrors,
|
|
86
|
+
contextErrorMessages
|
|
87
|
+
} = dataContext !== null && dataContext !== void 0 ? dataContext : {};
|
|
88
|
+
const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
|
|
89
|
+
const dataContextError = path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[path] : undefined;
|
|
90
|
+
const inFieldBlock = Boolean(fieldBlockContext);
|
|
91
|
+
const {
|
|
92
|
+
setFieldState: setFieldStateFieldBlock,
|
|
93
|
+
showFieldError: showFieldErrorFieldBlock
|
|
94
|
+
} = fieldBlockContext !== null && fieldBlockContext !== void 0 ? fieldBlockContext : {};
|
|
95
|
+
const inIterate = Boolean(iterateElementContext);
|
|
96
|
+
const {
|
|
97
|
+
index: iterateElementIndex,
|
|
98
|
+
value: iterateElementValue,
|
|
99
|
+
handleChange: handleIterateElementChange
|
|
100
|
+
} = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
|
|
101
|
+
if (path && path.substring(0, 1) !== '/') {
|
|
102
|
+
throw new Error('Invalid path. Data value path JSON Pointers must be from root (starting with a /).');
|
|
103
|
+
}
|
|
104
|
+
if (itemPath && itemPath.substring(0, 1) !== '/') {
|
|
105
|
+
throw new Error('Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).');
|
|
106
|
+
}
|
|
107
|
+
if (itemPath && !iterateElementContext) {
|
|
108
|
+
throw new Error('itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.');
|
|
109
|
+
}
|
|
110
|
+
const identifier = useMemo(() => {
|
|
111
|
+
return path !== null && path !== void 0 ? path : id;
|
|
112
|
+
}, [path, id]);
|
|
113
|
+
const externalValue = useMemo(() => {
|
|
114
|
+
if (props.value !== emptyValue) {
|
|
115
|
+
return transformers.current.fromExternal(props.value);
|
|
116
|
+
}
|
|
117
|
+
if (inIterate && itemPath) {
|
|
118
|
+
if (itemPath === '/') {
|
|
119
|
+
return iterateElementValue;
|
|
120
|
+
}
|
|
121
|
+
return pointer.has(iterateElementValue, itemPath) ? pointer.get(iterateElementValue, itemPath) : emptyValue;
|
|
122
|
+
}
|
|
123
|
+
if (dataContext.data && path) {
|
|
124
|
+
if (path === '/') {
|
|
125
|
+
return dataContext.data;
|
|
126
|
+
}
|
|
127
|
+
return pointer.has(dataContext.data, path) ? pointer.get(dataContext.data, path) : emptyValue;
|
|
128
|
+
}
|
|
129
|
+
return emptyValue;
|
|
130
|
+
}, [props.value, emptyValue, inIterate, itemPath, dataContext.data, path, iterateElementValue]);
|
|
131
|
+
const valueRef = useRef(externalValue);
|
|
132
|
+
const changedRef = useRef(false);
|
|
133
|
+
const hasFocusRef = useRef(false);
|
|
134
|
+
const showErrorRef = useRef(Boolean(validateInitially || errorProp));
|
|
135
|
+
const errorMethodRef = useRef({});
|
|
136
|
+
const localErrorRef = useRef();
|
|
137
|
+
const contextErrorRef = useRef(dataContextError);
|
|
138
|
+
const validatorRef = useRef(validator);
|
|
139
|
+
useUpdateEffect(() => {
|
|
140
|
+
validatorRef.current = validator;
|
|
141
|
+
}, [validator]);
|
|
142
|
+
const onBlurValidatorRef = useRef(onBlurValidator);
|
|
143
|
+
useUpdateEffect(() => {
|
|
144
|
+
onBlurValidatorRef.current = onBlurValidator;
|
|
145
|
+
}, [onBlurValidator]);
|
|
146
|
+
const schemaValidatorRef = useRef(schema ? (_dataContext$ajvInsta = dataContext.ajvInstance) === null || _dataContext$ajvInsta === void 0 ? void 0 : _dataContext$ajvInsta.compile(schema) : undefined);
|
|
147
|
+
const asyncBehaviorIsEnabled = useMemo(() => {
|
|
148
|
+
return isAsync(onChange) || isAsync(onChangeContext);
|
|
149
|
+
}, [onChangeContext, onChange]);
|
|
150
|
+
const validatedWithValue = useRef();
|
|
151
|
+
const changeEventResultRef = useRef(null);
|
|
152
|
+
const currentAsyncProcessRef = useRef(null);
|
|
153
|
+
const setCurrentAsyncProcess = useCallback(name => {
|
|
154
|
+
currentAsyncProcessRef.current = name;
|
|
155
|
+
}, []);
|
|
156
|
+
const asyncBufferRef = useRef({});
|
|
157
|
+
for (const key in asyncBufferRef.current) {
|
|
158
|
+
const {
|
|
159
|
+
fulfill,
|
|
160
|
+
hasAsyncProcesses
|
|
161
|
+
} = asyncBufferRef.current[key] || {};
|
|
162
|
+
if ((hasAsyncProcesses === null || hasAsyncProcesses === void 0 ? void 0 : hasAsyncProcesses()) === false) {
|
|
163
|
+
delete asyncBufferRef.current[key];
|
|
164
|
+
if (typeof fulfill === 'function') {
|
|
165
|
+
window.requestAnimationFrame(fulfill);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const eventPool = useRef({
|
|
170
|
+
validator: null,
|
|
171
|
+
onBlurValidator: null,
|
|
172
|
+
onChangeContext: null,
|
|
173
|
+
onChangeLocal: null
|
|
174
|
+
});
|
|
175
|
+
const addToPool = useCallback((name, fn, runAsync) => {
|
|
176
|
+
if (!eventPool.current[name]) {
|
|
177
|
+
eventPool.current[name] = {
|
|
178
|
+
fn,
|
|
179
|
+
runAsync
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}, []);
|
|
183
|
+
const runPool = useCallback(async (cb = null) => {
|
|
184
|
+
for (const key in eventPool.current) {
|
|
185
|
+
if (!eventPool.current[key] || eventPool.current[key].pending) {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const {
|
|
189
|
+
fn,
|
|
190
|
+
runAsync
|
|
191
|
+
} = eventPool.current[key] || {};
|
|
192
|
+
if (fn) {
|
|
193
|
+
eventPool.current[key].pending = true;
|
|
194
|
+
eventPool.current[key] = null;
|
|
195
|
+
if (runAsync) {
|
|
196
|
+
await fn();
|
|
197
|
+
} else {
|
|
198
|
+
fn();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
cb === null || cb === void 0 ? void 0 : cb();
|
|
203
|
+
}, []);
|
|
204
|
+
setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
|
|
205
|
+
const fieldStateRef = useRef();
|
|
206
|
+
const setFieldState = useCallback(state => {
|
|
207
|
+
fieldStateRef.current = state;
|
|
208
|
+
setFieldStateDataContext(identifier, resolveValidatingState(state));
|
|
209
|
+
if (!validateInitially) {
|
|
210
|
+
forceUpdate();
|
|
211
|
+
}
|
|
212
|
+
}, [setFieldStateDataContext, identifier, validateInitially]);
|
|
213
|
+
const showError = useCallback(() => {
|
|
214
|
+
showErrorRef.current = true;
|
|
215
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
|
|
216
|
+
}, [showFieldErrorFieldBlock, identifier]);
|
|
217
|
+
const hideError = useCallback(() => {
|
|
218
|
+
showErrorRef.current = false;
|
|
219
|
+
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
|
|
220
|
+
}, [showFieldErrorFieldBlock, identifier]);
|
|
221
|
+
const error = showErrorRef.current || ((_localErrorRef$curren = localErrorRef.current) === null || _localErrorRef$curren === void 0 ? void 0 : _localErrorRef$curren['validationRule']) === 'type' ? (_ref = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref !== void 0 ? _ref : contextErrorRef.current : undefined;
|
|
222
|
+
const hasVisibleError = Boolean(error) || inFieldBlock && fieldBlockContext.hasErrorProp;
|
|
223
|
+
const hasError = useCallback(() => {
|
|
224
|
+
var _ref2;
|
|
225
|
+
return Boolean((_ref2 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref2 !== void 0 ? _ref2 : contextErrorRef.current);
|
|
226
|
+
}, [errorProp]);
|
|
227
|
+
const errorMessagesRef = useRef(null);
|
|
228
|
+
errorMessagesRef.current = useMemo(() => {
|
|
229
|
+
return _objectSpread({
|
|
230
|
+
required: tr.fieldErrorRequired
|
|
231
|
+
}, errorMessages);
|
|
232
|
+
}, [errorMessages, tr.fieldErrorRequired]);
|
|
233
|
+
const prepareError = useCallback(error => {
|
|
234
|
+
if (error instanceof FormError) {
|
|
235
|
+
var _error$messageValues;
|
|
236
|
+
let message = error.message;
|
|
237
|
+
const {
|
|
238
|
+
validationRule
|
|
239
|
+
} = error;
|
|
240
|
+
if (typeof validationRule === 'string') {
|
|
241
|
+
var _errorMessagesRef$cur;
|
|
242
|
+
const fieldMessage = (_errorMessagesRef$cur = errorMessagesRef.current) === null || _errorMessagesRef$cur === void 0 ? void 0 : _errorMessagesRef$cur[validationRule];
|
|
243
|
+
if (fieldMessage) {
|
|
244
|
+
message = fieldMessage;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
const messageWithValues = Object.entries((_error$messageValues = error.messageValues) !== null && _error$messageValues !== void 0 ? _error$messageValues : {}).reduce((message, [key, value]) => {
|
|
248
|
+
return message.replace(`{${key}}`, value);
|
|
249
|
+
}, message);
|
|
250
|
+
error.message = messageWithValues;
|
|
251
|
+
return error;
|
|
252
|
+
}
|
|
253
|
+
return error;
|
|
254
|
+
}, []);
|
|
255
|
+
const stateId = useId();
|
|
256
|
+
const persistErrorState = useCallback((method, errorArg = undefined) => {
|
|
257
|
+
const error = prepareError(errorArg);
|
|
258
|
+
if (!errorChanged(error, localErrorRef.current)) {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (method === 'wipe') {
|
|
262
|
+
errorMethodRef.current = {};
|
|
263
|
+
} else {
|
|
264
|
+
errorMethodRef.current[method] = error;
|
|
265
|
+
}
|
|
266
|
+
if (!error && method === 'gracefully' && Object.keys(errorMethodRef.current).filter(Boolean).length > 0) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
localErrorRef.current = error;
|
|
270
|
+
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, error);
|
|
271
|
+
setFieldStateDataContext === null || setFieldStateDataContext === void 0 ? void 0 : setFieldStateDataContext(identifier, error ? 'error' : undefined);
|
|
272
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
273
|
+
stateId,
|
|
274
|
+
identifier,
|
|
275
|
+
type: 'error',
|
|
276
|
+
content: error,
|
|
277
|
+
showInitially: Boolean(inFieldBlock && validateInitially)
|
|
278
|
+
});
|
|
279
|
+
forceUpdate();
|
|
280
|
+
}, [prepareError, setFieldErrorDataContext, identifier, setFieldStateDataContext, setFieldStateFieldBlock, stateId, inFieldBlock, validateInitially]);
|
|
281
|
+
const clearErrorState = useCallback(() => {
|
|
282
|
+
persistErrorState('wipe');
|
|
283
|
+
}, [persistErrorState]);
|
|
284
|
+
const callValidator = useCallback(async () => {
|
|
285
|
+
if (typeof validatorRef.current !== 'function') {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const runAsync = isAsync(validatorRef.current);
|
|
289
|
+
if (runAsync) {
|
|
290
|
+
setCurrentAsyncProcess('validator');
|
|
291
|
+
setFieldState('validating');
|
|
292
|
+
hideError();
|
|
293
|
+
}
|
|
294
|
+
const opts = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
|
|
295
|
+
const result = await validatorRef.current(valueRef.current, opts);
|
|
296
|
+
persistErrorState('gracefully', result);
|
|
297
|
+
if (runAsync) {
|
|
298
|
+
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
299
|
+
}
|
|
300
|
+
if (continuousValidation || runAsync) {
|
|
301
|
+
window.requestAnimationFrame(() => {
|
|
302
|
+
showError();
|
|
303
|
+
forceUpdate();
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
return result;
|
|
307
|
+
}, [contextErrorMessages, continuousValidation, hideError, persistErrorState, setCurrentAsyncProcess, setFieldState, showError]);
|
|
308
|
+
const callOnBlurValidator = useCallback(async ({
|
|
309
|
+
valueOverride = null
|
|
310
|
+
} = {}) => {
|
|
311
|
+
if (typeof onBlurValidatorRef.current !== 'function') {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlurValidator');
|
|
315
|
+
const runAsync = isAsync(onBlurValidatorRef.current);
|
|
316
|
+
if (runAsync) {
|
|
317
|
+
setCurrentAsyncProcess('onBlurValidator');
|
|
318
|
+
setFieldState('validating');
|
|
319
|
+
}
|
|
320
|
+
const result = await onBlurValidatorRef.current(value);
|
|
321
|
+
persistErrorState('gracefully', result);
|
|
322
|
+
if (runAsync) {
|
|
323
|
+
setFieldState(result instanceof Error ? 'error' : 'complete');
|
|
324
|
+
}
|
|
325
|
+
showError();
|
|
326
|
+
forceUpdate();
|
|
327
|
+
}, [persistErrorState, setCurrentAsyncProcess, setFieldState, showError]);
|
|
328
|
+
const validateValue = useCallback(async () => {
|
|
329
|
+
const isProcessActive = startProcess();
|
|
330
|
+
if (disabled) {
|
|
331
|
+
if (isProcessActive()) {
|
|
332
|
+
clearErrorState();
|
|
333
|
+
}
|
|
334
|
+
hideError();
|
|
335
|
+
setFieldState(undefined);
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const value = valueRef.current;
|
|
339
|
+
changeEventResultRef.current = null;
|
|
340
|
+
validatedWithValue.current = null;
|
|
341
|
+
try {
|
|
342
|
+
const requiredError = transformers.current.validateRequired(value, {
|
|
343
|
+
emptyValue,
|
|
344
|
+
required,
|
|
345
|
+
isChanged: changedRef.current,
|
|
346
|
+
error: new FormError('The value is required', {
|
|
347
|
+
validationRule: 'required'
|
|
348
|
+
})
|
|
349
|
+
});
|
|
350
|
+
if (requiredError instanceof Error) {
|
|
351
|
+
throw requiredError;
|
|
352
|
+
}
|
|
353
|
+
if (schemaValidatorRef.current && value !== undefined && !schemaValidatorRef.current(value)) {
|
|
354
|
+
const error = ajvErrorsToOneFormError(schemaValidatorRef.current.errors, valueRef.current);
|
|
355
|
+
throw error;
|
|
356
|
+
}
|
|
357
|
+
if (validatorRef.current && (changedRef.current || validateInitially)) {
|
|
358
|
+
const result = await callValidator();
|
|
359
|
+
if (result instanceof Error) {
|
|
360
|
+
throw result;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
if (isProcessActive()) {
|
|
364
|
+
clearErrorState();
|
|
365
|
+
}
|
|
366
|
+
validatedWithValue.current = value;
|
|
367
|
+
} catch (error) {
|
|
368
|
+
if (isProcessActive()) {
|
|
369
|
+
persistErrorState('weak', error);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, required, validateInitially, callValidator, persistErrorState]);
|
|
373
|
+
const handleError = useCallback(() => {
|
|
374
|
+
if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
|
|
375
|
+
showError();
|
|
376
|
+
} else {
|
|
377
|
+
hideError();
|
|
378
|
+
}
|
|
379
|
+
}, [continuousValidation, hideError, showError]);
|
|
380
|
+
const setHasFocus = useCallback(async (hasFocus, valueOverride) => {
|
|
381
|
+
if (hasFocus) {
|
|
382
|
+
hasFocusRef.current = true;
|
|
383
|
+
const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onFocus');
|
|
384
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(value);
|
|
385
|
+
} else {
|
|
386
|
+
hasFocusRef.current = false;
|
|
387
|
+
const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlur');
|
|
388
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(value);
|
|
389
|
+
if (!changedRef.current && !validateUnchanged) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
addToPool('onBlurValidator', async () => await callOnBlurValidator({
|
|
393
|
+
valueOverride
|
|
394
|
+
}), isAsync(onBlurValidatorRef.current));
|
|
395
|
+
await runPool(() => {
|
|
396
|
+
showError();
|
|
397
|
+
forceUpdate();
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
}, [addToPool, callOnBlurValidator, onBlur, onFocus, runPool, showError, validateUnchanged]);
|
|
401
|
+
const yieldAsyncProcess = useCallback(async ({
|
|
402
|
+
name,
|
|
403
|
+
waitFor,
|
|
404
|
+
withValidatedValueOf
|
|
405
|
+
}) => {
|
|
406
|
+
return new Promise(resolve => {
|
|
407
|
+
const fulfill = () => {
|
|
408
|
+
if (typeof withValidatedValueOf === 'undefined' || withValidatedValueOf === validatedWithValue.current) {
|
|
409
|
+
resolve();
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
const hasAsyncProcesses = () => {
|
|
413
|
+
return waitFor.some(({
|
|
414
|
+
processName,
|
|
415
|
+
withStates
|
|
416
|
+
}) => {
|
|
417
|
+
return (processName ? processName === currentAsyncProcessRef.current : true) && withStates.some(state => {
|
|
418
|
+
return state === fieldStateRef.current;
|
|
419
|
+
});
|
|
420
|
+
});
|
|
421
|
+
};
|
|
422
|
+
if (hasAsyncProcesses() === true) {
|
|
423
|
+
asyncBufferRef.current[name] = {
|
|
424
|
+
fulfill,
|
|
425
|
+
hasAsyncProcesses
|
|
426
|
+
};
|
|
427
|
+
} else {
|
|
428
|
+
fulfill();
|
|
429
|
+
setFieldState('pending');
|
|
430
|
+
}
|
|
431
|
+
});
|
|
432
|
+
}, [setFieldState]);
|
|
433
|
+
const handleChangeEventResult = useCallback(async () => {
|
|
434
|
+
const result = changeEventResultRef.current;
|
|
435
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.error) !== 'undefined') {
|
|
436
|
+
persistErrorState('gracefully', result.error);
|
|
437
|
+
showError();
|
|
438
|
+
}
|
|
439
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.warning) !== 'undefined') {
|
|
440
|
+
warningRef.current = result.warning;
|
|
441
|
+
}
|
|
442
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.info) !== 'undefined') {
|
|
443
|
+
infoRef.current = result.info;
|
|
444
|
+
}
|
|
445
|
+
if (asyncBehaviorIsEnabled) {
|
|
446
|
+
await yieldAsyncProcess({
|
|
447
|
+
name: 'onSubmitContext',
|
|
448
|
+
waitFor: [{
|
|
449
|
+
withStates: ['validating']
|
|
450
|
+
}]
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
if ((result === null || result === void 0 ? void 0 : result.success) === 'saved') {
|
|
454
|
+
setFieldState('success');
|
|
455
|
+
} else if (result !== null && result !== void 0 && result.error) {
|
|
456
|
+
setFieldState('error');
|
|
457
|
+
} else if (asyncBehaviorIsEnabled) {
|
|
458
|
+
setFieldState('complete');
|
|
459
|
+
}
|
|
460
|
+
}, [asyncBehaviorIsEnabled, persistErrorState, setFieldState, showError, yieldAsyncProcess]);
|
|
461
|
+
const setEventResult = useCallback(result => {
|
|
462
|
+
if (result instanceof Error) {
|
|
463
|
+
result = {
|
|
464
|
+
error: result
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
changeEventResultRef.current = _objectSpread(_objectSpread({}, changeEventResultRef.current), result);
|
|
468
|
+
handleChangeEventResult();
|
|
469
|
+
}, [handleChangeEventResult]);
|
|
470
|
+
const callOnChangeContext = useCallback(async () => {
|
|
471
|
+
if (asyncBehaviorIsEnabled) {
|
|
472
|
+
await yieldAsyncProcess({
|
|
473
|
+
name: 'onChangeContext',
|
|
474
|
+
withValidatedValueOf: valueRef.current,
|
|
475
|
+
waitFor: [{
|
|
476
|
+
processName: 'validator',
|
|
477
|
+
withStates: ['validating', 'error']
|
|
478
|
+
}, {
|
|
479
|
+
processName: 'onBlurValidator',
|
|
480
|
+
withStates: ['validating', 'error']
|
|
481
|
+
}]
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
if (path) {
|
|
485
|
+
if (isAsync(onChangeContext)) {
|
|
486
|
+
setCurrentAsyncProcess('onChangeContext');
|
|
487
|
+
setEventResult(await (handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(path, valueRef.current)));
|
|
488
|
+
} else {
|
|
489
|
+
setEventResult(handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(path, valueRef.current));
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
forceUpdate();
|
|
493
|
+
}, [asyncBehaviorIsEnabled, path, yieldAsyncProcess, onChangeContext, setCurrentAsyncProcess, setEventResult, handlePathChangeDataContext]);
|
|
494
|
+
const updateValue = useCallback(async newValue => {
|
|
495
|
+
if (newValue === valueRef.current) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
valueRef.current = newValue;
|
|
499
|
+
addToPool('validator', validateValue, isAsync(validatorRef.current));
|
|
500
|
+
addToPool('onChangeContext', callOnChangeContext, isAsync(onChangeContext));
|
|
501
|
+
await runPool(() => {
|
|
502
|
+
handleError();
|
|
503
|
+
});
|
|
504
|
+
}, [addToPool, callOnChangeContext, handleError, onChangeContext, runPool, validateValue]);
|
|
505
|
+
const handleChange = useCallback(async (argFromInput, additionalArgs = undefined) => {
|
|
506
|
+
const currentValue = valueRef.current;
|
|
507
|
+
const fromInput = transformers.current.fromInput(argFromInput);
|
|
508
|
+
if (fromInput === currentValue) {
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
const transformedValue = transformers.current.transformValue(fromInput, currentValue);
|
|
512
|
+
changedRef.current = true;
|
|
513
|
+
if (asyncBehaviorIsEnabled) {
|
|
514
|
+
hideError();
|
|
515
|
+
await updateValue(transformedValue);
|
|
516
|
+
} else {
|
|
517
|
+
updateValue(transformedValue);
|
|
518
|
+
}
|
|
519
|
+
const getArgs = () => {
|
|
520
|
+
const value = transformers.current.toEvent(valueRef.current, 'onChange');
|
|
521
|
+
return typeof additionalArgs !== 'undefined' ? [value, additionalArgs] : [value];
|
|
522
|
+
};
|
|
523
|
+
if (isAsync(onChange)) {
|
|
524
|
+
addToPool('onChangeLocal', async () => {
|
|
525
|
+
const args = getArgs();
|
|
526
|
+
await yieldAsyncProcess({
|
|
527
|
+
name: 'onChangeLocal',
|
|
528
|
+
withValidatedValueOf: args[0],
|
|
529
|
+
waitFor: [{
|
|
530
|
+
processName: 'validator',
|
|
531
|
+
withStates: ['validating', 'error']
|
|
532
|
+
}, {
|
|
533
|
+
processName: 'onBlurValidator',
|
|
534
|
+
withStates: ['validating', 'error']
|
|
535
|
+
}, {
|
|
536
|
+
processName: 'onChangeContext',
|
|
537
|
+
withStates: ['pending', 'error']
|
|
538
|
+
}]
|
|
539
|
+
});
|
|
540
|
+
setCurrentAsyncProcess('onChangeLocal');
|
|
541
|
+
setEventResult(await (onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, args)));
|
|
542
|
+
}, true);
|
|
543
|
+
} else {
|
|
544
|
+
setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, getArgs()));
|
|
545
|
+
}
|
|
546
|
+
await runPool(() => {
|
|
547
|
+
if (itemPath) {
|
|
548
|
+
const iterateValuePath = `/${iterateElementIndex}${itemPath && itemPath !== '/' ? itemPath : ''}`;
|
|
549
|
+
handleIterateElementChange === null || handleIterateElementChange === void 0 ? void 0 : handleIterateElementChange(iterateValuePath, valueRef.current);
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
}, [addToPool, asyncBehaviorIsEnabled, handleIterateElementChange, hideError, itemPath, iterateElementIndex, onChange, runPool, setCurrentAsyncProcess, setEventResult, updateValue, yieldAsyncProcess]);
|
|
553
|
+
const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
|
|
554
|
+
const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
|
|
555
|
+
useMountEffect(() => {
|
|
556
|
+
dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleMountField(identifier);
|
|
557
|
+
validateValue();
|
|
558
|
+
});
|
|
559
|
+
useUnmountEffect(() => {
|
|
560
|
+
dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleUnMountField(identifier);
|
|
561
|
+
});
|
|
562
|
+
useUpdateEffect(() => {
|
|
563
|
+
var _dataContext$ajvInsta2;
|
|
564
|
+
schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
|
|
565
|
+
validateValue();
|
|
566
|
+
}, [schema, validateValue]);
|
|
567
|
+
useUpdateEffect(() => {
|
|
568
|
+
if (valueRef.current !== externalValue) {
|
|
569
|
+
valueRef.current = externalValue;
|
|
570
|
+
validateValue();
|
|
571
|
+
}
|
|
572
|
+
forceUpdate();
|
|
573
|
+
}, [externalValue, validateValue]);
|
|
574
|
+
useEffect(() => {
|
|
575
|
+
const error = prepareError(dataContextError);
|
|
576
|
+
if (errorChanged(error, contextErrorRef.current)) {
|
|
577
|
+
contextErrorRef.current = error;
|
|
578
|
+
forceUpdate();
|
|
579
|
+
}
|
|
580
|
+
}, [dataContextError, prepareError]);
|
|
581
|
+
useEffect(() => {
|
|
582
|
+
if (path) {
|
|
583
|
+
let value = props.value;
|
|
584
|
+
const hasValue = pointer.has(dataContext.data, path);
|
|
585
|
+
const existingValue = hasValue ? pointer.get(dataContext.data, path) : undefined;
|
|
586
|
+
if (dataContext.id && !hasValue && typeof existingValue === 'undefined' && typeof value === 'undefined') {
|
|
587
|
+
const sharedState = createSharedState(dataContext.id);
|
|
588
|
+
const hasValue = pointer.has(sharedState.data, path);
|
|
589
|
+
if (hasValue) {
|
|
590
|
+
const sharedValue = pointer.get(sharedState.data, path);
|
|
591
|
+
if (sharedValue) {
|
|
592
|
+
value = sharedValue;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
if (!hasValue || value !== existingValue && valueRef.current !== existingValue) {
|
|
597
|
+
updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(path, value);
|
|
598
|
+
validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}, [dataContext.data, dataContext.id, path, props.value, updateDataValueDataContext, validateDataDataContext]);
|
|
602
|
+
useEffect(() => {
|
|
603
|
+
if (dataContext.showAllErrors) {
|
|
604
|
+
showError();
|
|
605
|
+
forceUpdate();
|
|
606
|
+
}
|
|
607
|
+
}, [dataContext.showAllErrors, showError]);
|
|
608
|
+
useEffect(() => {
|
|
609
|
+
if (dataContext.formState === 'pending' && (validatorRef.current || onBlurValidatorRef.current)) {
|
|
610
|
+
hideError();
|
|
611
|
+
forceUpdate();
|
|
612
|
+
}
|
|
613
|
+
}, [dataContext.formState, hideError]);
|
|
614
|
+
const onSubmitHandler = useCallback(async () => {
|
|
615
|
+
if (hasError()) {
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
618
|
+
addToPool('validator', callValidator, isAsync(validatorRef.current));
|
|
619
|
+
addToPool('onBlurValidator', callOnBlurValidator, isAsync(onBlurValidatorRef.current));
|
|
620
|
+
await runPool();
|
|
621
|
+
}, [addToPool, callOnBlurValidator, callValidator, hasError, runPool]);
|
|
622
|
+
useMountEffect(() => {
|
|
623
|
+
var _dataContext$setField;
|
|
624
|
+
dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$setField = dataContext.setFieldEventListener) === null || _dataContext$setField === void 0 ? void 0 : _dataContext$setField.call(dataContext, identifier, 'onSubmit', onSubmitHandler);
|
|
625
|
+
});
|
|
626
|
+
useMountEffect(() => {
|
|
627
|
+
if (inFieldBlock) {
|
|
628
|
+
if (errorProp) {
|
|
629
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
630
|
+
identifier,
|
|
631
|
+
type: 'error',
|
|
632
|
+
content: errorProp,
|
|
633
|
+
showInitially: true,
|
|
634
|
+
show: true
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
if (warning) {
|
|
638
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
639
|
+
identifier,
|
|
640
|
+
type: 'warning',
|
|
641
|
+
content: warning,
|
|
642
|
+
showInitially: true,
|
|
643
|
+
show: true
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
if (info) {
|
|
647
|
+
setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
|
|
648
|
+
identifier,
|
|
649
|
+
type: 'info',
|
|
650
|
+
content: info,
|
|
651
|
+
showInitially: true,
|
|
652
|
+
show: true
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
return () => {
|
|
656
|
+
if (fieldBlockContext.mountedFieldsRef) {
|
|
657
|
+
fieldBlockContext.mountedFieldsRef.current[identifier] = true;
|
|
658
|
+
}
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
const infoRef = useRef(info);
|
|
663
|
+
const warningRef = useRef(warning);
|
|
664
|
+
useUpdateEffect(() => {
|
|
665
|
+
infoRef.current = info;
|
|
666
|
+
warningRef.current = warning;
|
|
667
|
+
forceUpdate();
|
|
668
|
+
}, [info, warning]);
|
|
669
|
+
const htmlAttributes = useMemo(() => {
|
|
670
|
+
return Object.keys(props).reduce((acc, cur) => {
|
|
671
|
+
if (cur.startsWith('aria-') || cur.startsWith('data-')) {
|
|
672
|
+
acc[cur] = props[cur];
|
|
673
|
+
}
|
|
674
|
+
return acc;
|
|
675
|
+
}, {});
|
|
676
|
+
}, [props]);
|
|
677
|
+
if (error) {
|
|
678
|
+
htmlAttributes['aria-invalid'] = error ? 'true' : 'false';
|
|
679
|
+
}
|
|
680
|
+
if (required) {
|
|
681
|
+
htmlAttributes['aria-required'] = required ? 'true' : 'false';
|
|
682
|
+
}
|
|
683
|
+
if (inFieldBlock) {
|
|
684
|
+
var _fieldBlockContext$fi;
|
|
685
|
+
if (fieldBlockContext.mountedFieldsRef) {
|
|
686
|
+
fieldBlockContext.mountedFieldsRef.current[identifier] = true;
|
|
687
|
+
}
|
|
688
|
+
const stateIds = (_fieldBlockContext$fi = fieldBlockContext.fieldStateIdsRef) === null || _fieldBlockContext$fi === void 0 ? void 0 : _fieldBlockContext$fi.current;
|
|
689
|
+
if (stateIds) {
|
|
690
|
+
htmlAttributes['aria-describedby'] = combineDescribedBy(htmlAttributes, [error && stateIds.error, warning && stateIds.warning, info && stateIds.info].filter(Boolean));
|
|
691
|
+
}
|
|
692
|
+
} else {
|
|
693
|
+
const ids = [(error || errorProp) && `${id}-form-status--error`, warning && `${id}-form-status--warning`, info && `${id}-form-status--info`].filter(Boolean);
|
|
694
|
+
if (ids.length) {
|
|
695
|
+
htmlAttributes['aria-describedby'] = combineDescribedBy(htmlAttributes, ids);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
const fieldBlockProps = {
|
|
699
|
+
info: !inFieldBlock ? infoRef.current : undefined,
|
|
700
|
+
warning: !inFieldBlock ? warningRef.current : undefined,
|
|
701
|
+
error: !inFieldBlock ? error : undefined,
|
|
702
|
+
disabled: onBlurValidator && currentAsyncProcessRef.current === 'onBlurValidator' && fieldStateRef.current === 'validating' ? true : disabled,
|
|
703
|
+
fieldState: resolveValidatingState(fieldStateRef.current)
|
|
704
|
+
};
|
|
705
|
+
const sharedData = useSharedState(id);
|
|
706
|
+
sharedData.set(fieldBlockProps);
|
|
707
|
+
return _objectSpread(_objectSpread(_objectSpread({}, props), fieldBlockProps), {}, {
|
|
708
|
+
name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
|
|
709
|
+
autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : undefined,
|
|
710
|
+
id,
|
|
711
|
+
value: transformers.current.toInput(valueRef.current),
|
|
712
|
+
hasError: hasVisibleError,
|
|
713
|
+
isChanged: changedRef.current,
|
|
714
|
+
htmlAttributes,
|
|
715
|
+
setHasFocus,
|
|
716
|
+
handleFocus,
|
|
717
|
+
handleBlur,
|
|
718
|
+
handleChange,
|
|
719
|
+
updateValue,
|
|
720
|
+
forceUpdate,
|
|
721
|
+
dataContext
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
export function omitFieldProps(props) {
|
|
725
|
+
const {
|
|
726
|
+
name,
|
|
727
|
+
error,
|
|
728
|
+
warning,
|
|
729
|
+
info,
|
|
730
|
+
hasError,
|
|
731
|
+
isChanged,
|
|
732
|
+
htmlAttributes,
|
|
733
|
+
setHasFocus,
|
|
734
|
+
handleFocus,
|
|
735
|
+
handleBlur,
|
|
736
|
+
handleChange,
|
|
737
|
+
updateValue,
|
|
738
|
+
forceUpdate,
|
|
739
|
+
autoComplete,
|
|
740
|
+
dataContext,
|
|
741
|
+
fieldState
|
|
742
|
+
} = props,
|
|
743
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
744
|
+
return restProps;
|
|
745
|
+
}
|
|
746
|
+
function resolveValidatingState(state) {
|
|
747
|
+
return state === 'validating' ? 'pending' : state;
|
|
748
|
+
}
|
|
749
|
+
//# sourceMappingURL=useFieldProps.js.map
|