@dnb/eufemia 10.75.1 → 10.75.3
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 +41 -0
- package/cjs/components/accordion/Accordion.js +2 -3
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionContext.d.ts +0 -4
- package/cjs/components/accordion/AccordionContext.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +1 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/accordion/AccordionProviderContext.d.ts +0 -4
- package/cjs/components/accordion/AccordionProviderContext.js +3 -1
- package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
- package/cjs/components/accordion/AccordionStore.js +1 -2
- package/cjs/components/accordion/AccordionStore.js.map +1 -1
- package/cjs/components/accordion/style/dnb-accordion.css +0 -6
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
- package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/button/Button.js +8 -7
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +3 -3
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +2 -2
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/dialog/style/dnb-dialog.css +0 -4
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/dialog/style/dnb-dialog.scss +0 -5
- package/cjs/components/drawer/DrawerDocs.js +2 -2
- package/cjs/components/drawer/DrawerDocs.js.map +1 -1
- package/cjs/components/drawer/style/dnb-drawer.css +0 -4
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/drawer/style/dnb-drawer.scss +0 -5
- package/cjs/components/dropdown/Dropdown.js +1 -1
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-label/style/dnb-form-label.css +0 -1
- package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
- package/cjs/components/form-row/FormRow.d.ts +1 -1
- package/cjs/components/form-row/FormRowDocs.js +1 -1
- package/cjs/components/form-row/FormRowDocs.js.map +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +0 -1
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/list-format/ListFormatDocs.js +2 -2
- package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
- package/cjs/components/modal/style/dnb-modal.css +0 -4
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/modal/style/dnb-modal.scss +0 -5
- package/cjs/components/pagination/PaginationDocs.js +2 -2
- package/cjs/components/pagination/PaginationDocs.js.map +1 -1
- package/cjs/components/slider/SliderDocs.js +1 -1
- package/cjs/components/slider/SliderDocs.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorDocs.js +4 -4
- package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/cjs/components/timeline/TimelineItem.js +5 -5
- package/cjs/components/timeline/TimelineItem.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
- package/cjs/components/toggle-button/ToggleButtonDocs.js +2 -2
- package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/cjs/components/upload/Upload.js +5 -2
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadFileInput.d.ts +2 -1
- package/cjs/components/upload/UploadFileInput.js +7 -4
- package/cjs/components/upload/UploadFileInput.js.map +1 -1
- package/cjs/components/upload/style/dnb-upload.css +0 -1
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/core/jest/jestSetupScreenshots.css +6 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
- package/cjs/extensions/forms/DataContext/Provider/useEventListener.js +29 -0
- package/cjs/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +8 -2
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +10 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +8 -2
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +8 -2
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js +8 -2
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +9 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/String/StringDocs.js +7 -7
- package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +3 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
- package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
- package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
- package/cjs/extensions/forms/Form/Isolation/useReportError.js +22 -7
- package/cjs/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
- package/cjs/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Tools/Errors.d.ts +5 -0
- package/cjs/extensions/forms/Tools/Errors.js +46 -0
- package/cjs/extensions/forms/Tools/Errors.js.map +1 -0
- package/cjs/extensions/forms/Tools/index.d.ts +1 -0
- package/cjs/extensions/forms/Tools/index.js +7 -0
- package/cjs/extensions/forms/Tools/index.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
- package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +13 -5
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +6 -6
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +8 -1
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
- package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js +2 -2
- package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
- package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
- package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
- package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
- package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/shared/AlignmentHelper.d.ts +14 -8
- package/cjs/shared/AlignmentHelper.js +4 -8
- package/cjs/shared/AlignmentHelper.js.map +1 -1
- package/cjs/shared/BuildInfo.d.cts +2 -0
- package/cjs/shared/BuildInfo.js +5 -0
- package/cjs/shared/BuildInfo.js.map +1 -0
- package/cjs/shared/Eufemia.d.ts +14 -1
- package/cjs/shared/Eufemia.js +31 -3
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
- package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/cjs/shared/useMedia.js +66 -55
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/style/core/helper-classes/helper-classes.scss +3 -0
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +3 -1
- package/cjs/style/dnb-ui-basis.css +13 -2
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -2
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +0 -22
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +13 -3
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-components.css +0 -22
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/components/accordion/Accordion.js +2 -3
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionContext.d.ts +0 -4
- package/components/accordion/AccordionContext.js.map +1 -1
- package/components/accordion/AccordionGroup.js +1 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/accordion/AccordionProviderContext.d.ts +0 -4
- package/components/accordion/AccordionProviderContext.js +3 -1
- package/components/accordion/AccordionProviderContext.js.map +1 -1
- package/components/accordion/AccordionStore.js +1 -2
- package/components/accordion/AccordionStore.js.map +1 -1
- package/components/accordion/style/dnb-accordion.css +0 -6
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/dnb-accordion.scss +0 -5
- package/components/autocomplete/Autocomplete.d.ts +1 -1
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/AutocompleteDocs.js +1 -1
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/button/Button.js +8 -7
- package/components/button/Button.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +3 -3
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +2 -2
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/style/dnb-date-picker.css +0 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/dialog/style/dnb-dialog.css +0 -4
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/dialog/style/dnb-dialog.scss +0 -5
- package/components/drawer/DrawerDocs.js +2 -2
- package/components/drawer/DrawerDocs.js.map +1 -1
- package/components/drawer/style/dnb-drawer.css +0 -4
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/drawer/style/dnb-drawer.scss +0 -5
- package/components/dropdown/Dropdown.js +2 -2
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-label/style/dnb-form-label.css +0 -1
- package/components/form-label/style/dnb-form-label.min.css +1 -1
- package/components/form-row/FormRow.d.ts +1 -1
- package/components/form-row/FormRowDocs.js +1 -1
- package/components/form-row/FormRowDocs.js.map +1 -1
- package/components/input-masked/style/dnb-input-masked.css +0 -1
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/list-format/ListFormatDocs.js +2 -2
- package/components/list-format/ListFormatDocs.js.map +1 -1
- package/components/modal/style/dnb-modal.css +0 -4
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/modal/style/dnb-modal.scss +0 -5
- package/components/pagination/PaginationDocs.js +2 -2
- package/components/pagination/PaginationDocs.js.map +1 -1
- package/components/slider/SliderDocs.js +1 -1
- package/components/slider/SliderDocs.js.map +1 -1
- package/components/step-indicator/StepIndicatorDocs.js +4 -4
- package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/components/timeline/TimelineItem.js +5 -5
- package/components/timeline/TimelineItem.js.map +1 -1
- package/components/toggle-button/ToggleButton.d.ts +1 -1
- package/components/toggle-button/ToggleButtonDocs.js +2 -2
- package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/components/upload/Upload.js +5 -2
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadFileInput.d.ts +2 -1
- package/components/upload/UploadFileInput.js +7 -4
- package/components/upload/UploadFileInput.js.map +1 -1
- package/components/upload/style/dnb-upload.css +0 -1
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/core/jest/jestSetupScreenshots.css +6 -0
- package/es/components/accordion/Accordion.js +2 -3
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionContext.d.ts +0 -4
- package/es/components/accordion/AccordionContext.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +1 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/accordion/AccordionProviderContext.d.ts +0 -4
- package/es/components/accordion/AccordionProviderContext.js +3 -1
- package/es/components/accordion/AccordionProviderContext.js.map +1 -1
- package/es/components/accordion/AccordionStore.js +1 -2
- package/es/components/accordion/AccordionStore.js.map +1 -1
- package/es/components/accordion/style/dnb-accordion.css +0 -6
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.scss +0 -5
- package/es/components/autocomplete/Autocomplete.d.ts +1 -1
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/AutocompleteDocs.js +1 -1
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/button/Button.js +8 -7
- package/es/components/button/Button.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +3 -3
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +2 -2
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/style/dnb-date-picker.css +0 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/dialog/style/dnb-dialog.css +0 -4
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/dialog/style/dnb-dialog.scss +0 -5
- package/es/components/drawer/DrawerDocs.js +2 -2
- package/es/components/drawer/DrawerDocs.js.map +1 -1
- package/es/components/drawer/style/dnb-drawer.css +0 -4
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/drawer/style/dnb-drawer.scss +0 -5
- package/es/components/dropdown/Dropdown.js +2 -2
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-label/style/dnb-form-label.css +0 -1
- package/es/components/form-label/style/dnb-form-label.min.css +1 -1
- package/es/components/form-row/FormRow.d.ts +1 -1
- package/es/components/form-row/FormRowDocs.js +1 -1
- package/es/components/form-row/FormRowDocs.js.map +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +0 -1
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/list-format/ListFormatDocs.js +2 -2
- package/es/components/list-format/ListFormatDocs.js.map +1 -1
- package/es/components/modal/style/dnb-modal.css +0 -4
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/modal/style/dnb-modal.scss +0 -5
- package/es/components/pagination/PaginationDocs.js +2 -2
- package/es/components/pagination/PaginationDocs.js.map +1 -1
- package/es/components/slider/SliderDocs.js +1 -1
- package/es/components/slider/SliderDocs.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorDocs.js +4 -4
- package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
- package/es/components/timeline/TimelineItem.js +5 -5
- package/es/components/timeline/TimelineItem.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +1 -1
- package/es/components/toggle-button/ToggleButtonDocs.js +2 -2
- package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/es/components/upload/Upload.js +5 -2
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadFileInput.d.ts +2 -1
- package/es/components/upload/UploadFileInput.js +7 -4
- package/es/components/upload/UploadFileInput.js.map +1 -1
- package/es/components/upload/style/dnb-upload.css +0 -1
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/core/jest/jestSetupScreenshots.css +6 -0
- package/es/extensions/forms/DataContext/Context.d.ts +5 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
- package/es/extensions/forms/DataContext/Provider/useEventListener.js +22 -0
- package/es/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +10 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Password/PasswordDocs.js +6 -2
- package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/String/StringDocs.js +7 -7
- package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +3 -1
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +18 -4
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +14 -8
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
- package/es/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -2
- package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
- package/es/extensions/forms/Form/Isolation/useReportError.js +22 -7
- package/es/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
- package/es/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Tools/Errors.d.ts +5 -0
- package/es/extensions/forms/Tools/Errors.js +37 -0
- package/es/extensions/forms/Tools/Errors.js.map +1 -0
- package/es/extensions/forms/Tools/index.d.ts +1 -0
- package/es/extensions/forms/Tools/index.js +1 -0
- package/es/extensions/forms/Tools/index.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
- package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +13 -5
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/es/extensions/forms/constants/locales/en-GB.js +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/es/extensions/forms/constants/locales/index.d.ts +2 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +8 -8
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.js +1 -0
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
- package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
- package/es/extensions/payment-card/icons/providers/BankAxept.js +2 -2
- package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
- package/es/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
- package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
- package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
- package/es/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
- package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
- package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js +2 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/shared/AlignmentHelper.d.ts +14 -8
- package/es/shared/AlignmentHelper.js +4 -8
- package/es/shared/AlignmentHelper.js.map +1 -1
- package/es/shared/BuildInfo.cjs +6 -0
- package/es/shared/BuildInfo.d.cts +2 -0
- package/es/shared/Eufemia.d.ts +14 -1
- package/es/shared/Eufemia.js +27 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
- package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/es/shared/useMedia.js +66 -55
- package/es/shared/useMedia.js.map +1 -1
- package/es/style/core/helper-classes/helper-classes.scss +3 -0
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +3 -1
- package/es/style/dnb-ui-basis.css +13 -2
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -2
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +0 -22
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +13 -3
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-components.css +0 -22
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- 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/Context.d.ts +5 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
- package/extensions/forms/DataContext/Provider/useEventListener.js +23 -0
- package/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +10 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
- package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Password/PasswordDocs.js +6 -2
- package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/String/StringDocs.js +7 -7
- package/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/extensions/forms/Field/Upload/Upload.js +3 -1
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
- package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +2 -3
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
- package/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
- package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
- package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
- package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
- package/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
- package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
- package/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
- package/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
- package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
- package/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
- package/extensions/forms/Form/Isolation/useReportError.js +22 -7
- package/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
- package/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Tools/Errors.d.ts +5 -0
- package/extensions/forms/Tools/Errors.js +38 -0
- package/extensions/forms/Tools/Errors.js.map +1 -0
- package/extensions/forms/Tools/index.d.ts +1 -0
- package/extensions/forms/Tools/index.js +1 -0
- package/extensions/forms/Tools/index.js.map +1 -1
- package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
- package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +1 -1
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +13 -5
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/extensions/forms/constants/locales/en-GB.js +2 -1
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/extensions/forms/constants/locales/index.d.ts +2 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
- package/extensions/forms/constants/locales/sv-SE.js +2 -1
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +8 -8
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/payment-card/PaymentCard.js +1 -0
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
- package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
- package/extensions/payment-card/icons/providers/BankAxept.js +2 -2
- package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
- package/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
- package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
- package/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
- package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
- package/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
- package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
- package/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
- package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js +2 -1
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/package.json +1 -1
- package/shared/AlignmentHelper.d.ts +14 -8
- package/shared/AlignmentHelper.js +4 -8
- package/shared/AlignmentHelper.js.map +1 -1
- package/shared/BuildInfo.cjs +6 -0
- package/shared/BuildInfo.d.cts +2 -0
- package/shared/Eufemia.d.ts +14 -1
- package/shared/Eufemia.js +27 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
- package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
- package/shared/useMedia.js +67 -56
- package/shared/useMedia.js.map +1 -1
- package/style/core/helper-classes/helper-classes.scss +3 -0
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +3 -1
- package/style/dnb-ui-basis.css +13 -2
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -2
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +0 -22
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +13 -3
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-components.css +0 -22
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- 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 +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
- package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
- package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
- /package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
- /package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
- /package/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
|
@@ -170,7 +170,20 @@ function Provider(props) {
|
|
|
170
170
|
return hasFieldState('error');
|
|
171
171
|
}, [hasFieldState]);
|
|
172
172
|
const setFieldError = (0, _react.useCallback)((path, error) => {
|
|
173
|
-
|
|
173
|
+
if (error) {
|
|
174
|
+
fieldErrorRef.current[path] = error;
|
|
175
|
+
} else {
|
|
176
|
+
delete fieldErrorRef.current[path];
|
|
177
|
+
}
|
|
178
|
+
for (const item of fieldEventListenersRef.current) {
|
|
179
|
+
const {
|
|
180
|
+
type,
|
|
181
|
+
callback
|
|
182
|
+
} = item;
|
|
183
|
+
if (type === 'onSetFieldError') {
|
|
184
|
+
callback();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
174
187
|
}, []);
|
|
175
188
|
const setFieldState = (0, _react.useCallback)((path, fieldState) => {
|
|
176
189
|
if (fieldState !== fieldStateRef.current[path]) {
|
|
@@ -421,7 +434,9 @@ function Provider(props) {
|
|
|
421
434
|
}, process.env.NODE_ENV === 'test' ? 1 : 800);
|
|
422
435
|
}, [sessionStorageId]);
|
|
423
436
|
const setData = (0, _react.useCallback)(function (newData) {
|
|
424
|
-
let
|
|
437
|
+
let {
|
|
438
|
+
preventUpdate = false
|
|
439
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
425
440
|
if (transformIn) {
|
|
426
441
|
newData = mutateDataHandler(newData, transformIn);
|
|
427
442
|
}
|
|
@@ -459,7 +474,9 @@ function Provider(props) {
|
|
|
459
474
|
if (path !== '/') {
|
|
460
475
|
_jsonPointer.default.set(newData, path, value);
|
|
461
476
|
}
|
|
462
|
-
setData(newData,
|
|
477
|
+
setData(newData, {
|
|
478
|
+
preventUpdate
|
|
479
|
+
});
|
|
463
480
|
onUpdateDataValue === null || onUpdateDataValue === void 0 ? void 0 : onUpdateDataValue(path, value, {
|
|
464
481
|
preventUpdate
|
|
465
482
|
});
|
|
@@ -778,7 +795,7 @@ function Provider(props) {
|
|
|
778
795
|
(_onSubmitContinueRef$ = onSubmitContinueRef.current) === null || _onSubmitContinueRef$ === void 0 ? void 0 : _onSubmitContinueRef$.call(onSubmitContinueRef);
|
|
779
796
|
onSubmitContinueRef.current = null;
|
|
780
797
|
}
|
|
781
|
-
(
|
|
798
|
+
useLayoutEffect(() => {
|
|
782
799
|
if (schema) {
|
|
783
800
|
var _ajvRef$current;
|
|
784
801
|
ajvValidatorRef.current = (_ajvRef$current = ajvRef.current) === null || _ajvRef$current === void 0 ? void 0 : _ajvRef$current.compile(schema);
|
|
@@ -903,6 +920,7 @@ function Provider(props) {
|
|
|
903
920
|
formElementRef,
|
|
904
921
|
isEmptyDataRef,
|
|
905
922
|
fieldErrorRef,
|
|
923
|
+
errorsRef,
|
|
906
924
|
ajvInstance: ajvRef.current,
|
|
907
925
|
countryCode: countryCode ? getSourceValue(countryCode) : undefined,
|
|
908
926
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","onUpdateDataValue","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","countryCode","locale","translations","required","errorMessages","isolate","children","rest","undefined","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","Map","snapshotsRef","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","revealError","path","hasError","delete","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","Array","from","entries","some","_ref","item","isMounted","hasFieldError","_ref2","p","hasErrors","setFieldError","error","setFieldState","fieldState","getDataPathHandlerParameters","_fieldInternalsRef$cu","pointer","displayValue","fieldDisplayValueRef","fieldInternalsRef","label","internal","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","run","type","exists","walk","runFilter","_ref3","condition","wildcardPaths","_ref4","includes","parts","split","traverse","subData","subPath","idx","list","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","internals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref5","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","handlePathChangeUnvalidated","itm","fieldEventListenersRef","callback","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","Promise","resolve","onSubmitContinueRef","getErrors","map","_ref6","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref7","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","stop","preventSubmit","completeResult","setFieldEventListener","_ref8","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","getSourceValue","startsWith","contextValue","hasVisibleError","size","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","key","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","exports","freeze"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n OnSubmitRequest,\n CountryCode,\n PathStrict,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n MountState,\n TransformData,\n VisibleDataHandler,\n DataPathHandlerParameters,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: OnSubmitRequest\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will be called when the form is committed.\n * For internal use only.\n */\n onUpdateDataValue?: ContextState['updateDataValue']\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Will change the country code for fields supporting `countryCode`.\n * You can also set a path as the value, e.g. `/myCountryCodePath`.\n */\n countryCode?: ContextState['countryCode']\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n onUpdateDataValue,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n countryCode,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) cannot be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef(\n new Map()\n )\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Map<Path, boolean>>(new Map())\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\n const revealError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current.set(path, hasError)\n } else {\n hasVisibleErrorRef.current.delete(path)\n }\n forceUpdate() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([path, item]) => {\n return item.isMounted && checkFieldStateFor(path, state)\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([p, item]) => {\n return (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n )\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n const getDataPathHandlerParameters = useCallback(\n (\n path: Path,\n data: Data = internalDataRef.current\n ): DataPathHandlerParameters => {\n const value = pointer.has(data, path)\n ? pointer.get(data, path)\n : undefined\n const { value: displayValue } =\n fieldDisplayValueRef.current[path] || {}\n const props = fieldInternalsRef.current[path]?.props || {}\n const label = props?.['label']\n const error = fieldErrorRef.current[path]\n\n return {\n path,\n value,\n displayValue,\n label,\n props,\n data: internalDataRef.current, // always use the internal data\n error,\n\n /** @deprecated – can be removed in v11 */\n internal: { error },\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n const run = (path) => {\n const { type } = fieldDisplayValueRef.current[path] || {}\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler(\n getDataPathHandlerParameters(path, data)\n )\n mutateEntry(path, result)\n }\n }\n\n // First, iterate over fields which are already mounted\n for (const path in fieldInternalsRef.current) {\n const exists = pointer.has(data, path)\n if (exists) {\n run(path)\n }\n }\n\n // Then iterate over the rest of the internal data set\n pointer.walk(internalDataRef.current, (value, path) => {\n if (fieldInternalsRef.current[path] === undefined) {\n run(path)\n }\n })\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const result =\n typeof condition === 'function'\n ? condition(getDataPathHandlerParameters(path, data))\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n [getDataPathHandlerParameters]\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n mountedFieldsRef.current.forEach((item, path) => {\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals: ContextState['setFieldInternals'] = useCallback(\n (path, internals) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n internals\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current.get(path)?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData = useCallback(\n (newData: Data, preventUpdate = false) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, preventUpdate)\n onUpdateDataValue?.(path, value, { preventUpdate })\n },\n [onUpdateDataValue, setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n mountedFieldsRef.current.set(path, {\n ...mountedFieldsRef.current.get(path),\n ...state,\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmitCall' &&\n mountedFieldsRef.current.get(path)?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onBeforeCommit') {\n callback()\n }\n }\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n // Because we buffer the \"revealError\" in the useFieldProps hook,\n // we need to wait for the next frame before we continue and call \"setShowAllErrors\".\n await new Promise((resolve) =>\n window.requestAnimationFrame(resolve)\n )\n\n setFormState(undefined)\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n setShowAllErrors(true)\n\n onSubmitRequest?.({\n getErrors: () =>\n Object.keys(fieldErrorRef.current)\n .map((path) => {\n return getDataPathHandlerParameters(path)\n })\n .filter(({ error }) => error),\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onSubmitRequest') {\n itm.callback()\n }\n }\n }\n\n return result\n },\n [\n clearData,\n getDataPathHandlerParameters,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onBeforeSubmit') {\n callback()\n }\n }\n\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n let stop = false\n const preventSubmit = () => (stop = true)\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onSubmit') {\n if (isAsync(callback)) {\n await callback({ preventSubmit })\n } else {\n callback({ preventSubmit })\n }\n }\n }\n if (stop) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n { remove = false } = {}\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n if (!remove) {\n fieldEventListenersRef.current.push({ path, type, callback })\n }\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const getSourceValue = useCallback(\n <Return extends string>(value: PathStrict | unknown): Return => {\n const data = internalDataRef.current\n if (\n String(value).startsWith('/') &&\n pointer.has(data, String(value))\n ) {\n return pointer.get(data, String(value)) as unknown as Return\n }\n return value as Return\n },\n []\n )\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n revealError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: hasVisibleErrorRef.current.size > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n ajvInstance: ajvRef.current,\n countryCode: countryCode\n ? getSourceValue<CountryCode>(countryCode)\n : undefined,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","onUpdateDataValue","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","countryCode","locale","translations","required","errorMessages","isolate","children","rest","undefined","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","Map","snapshotsRef","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","revealError","path","hasError","delete","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","Array","from","entries","some","_ref","item","isMounted","hasFieldError","_ref2","p","hasErrors","setFieldError","error","fieldEventListenersRef","type","callback","setFieldState","fieldState","getDataPathHandlerParameters","_fieldInternalsRef$cu","pointer","displayValue","fieldDisplayValueRef","fieldInternalsRef","label","internal","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","run","exists","walk","runFilter","_ref3","condition","wildcardPaths","_ref4","includes","parts","split","traverse","subData","subPath","idx","list","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","internals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref5","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","handlePathChangeUnvalidated","itm","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","Promise","resolve","onSubmitContinueRef","getErrors","map","_ref6","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref7","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","stop","preventSubmit","completeResult","setFieldEventListener","_ref8","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","getSourceValue","startsWith","contextValue","hasVisibleError","size","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","key","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","exports","freeze"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n OnSubmitRequest,\n CountryCode,\n PathStrict,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n MountState,\n TransformData,\n VisibleDataHandler,\n DataPathHandlerParameters,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: OnSubmitRequest\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will be called when the form is committed.\n * For internal use only.\n */\n onUpdateDataValue?: ContextState['updateDataValue']\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Will change the country code for fields supporting `countryCode`.\n * You can also set a path as the value, e.g. `/myCountryCodePath`.\n */\n countryCode?: ContextState['countryCode']\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n onUpdateDataValue,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n countryCode,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) cannot be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef(\n new Map()\n )\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Map<Path, boolean>>(new Map())\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\n const revealError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current.set(path, hasError)\n } else {\n hasVisibleErrorRef.current.delete(path)\n }\n forceUpdate() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([path, item]) => {\n return item.isMounted && checkFieldStateFor(path, state)\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n return Array.from(mountedFieldsRef.current.entries()).some(\n ([p, item]) => {\n return (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n )\n }\n )\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n if (error) {\n fieldErrorRef.current[path] = error\n } else {\n delete fieldErrorRef.current[path]\n }\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onSetFieldError') {\n callback()\n }\n }\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n const getDataPathHandlerParameters = useCallback(\n (\n path: Path,\n data: Data = internalDataRef.current\n ): DataPathHandlerParameters => {\n const value = pointer.has(data, path)\n ? pointer.get(data, path)\n : undefined\n const { value: displayValue } =\n fieldDisplayValueRef.current[path] || {}\n const props = fieldInternalsRef.current[path]?.props || {}\n const label = props?.['label']\n const error = fieldErrorRef.current[path]\n\n return {\n path,\n value,\n displayValue,\n label,\n props,\n data: internalDataRef.current, // always use the internal data\n error,\n\n /** @deprecated – can be removed in v11 */\n internal: { error },\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n const run = (path) => {\n const { type } = fieldDisplayValueRef.current[path] || {}\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler(\n getDataPathHandlerParameters(path, data)\n )\n mutateEntry(path, result)\n }\n }\n\n // First, iterate over fields which are already mounted\n for (const path in fieldInternalsRef.current) {\n const exists = pointer.has(data, path)\n if (exists) {\n run(path)\n }\n }\n\n // Then iterate over the rest of the internal data set\n pointer.walk(internalDataRef.current, (value, path) => {\n if (fieldInternalsRef.current[path] === undefined) {\n run(path)\n }\n })\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const result =\n typeof condition === 'function'\n ? condition(getDataPathHandlerParameters(path, data))\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n [getDataPathHandlerParameters]\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n mountedFieldsRef.current.forEach((item, path) => {\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals: ContextState['setFieldInternals'] = useCallback(\n (path, internals) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n internals\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current.get(path)?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData: ContextState['setData'] = useCallback(\n (newData: Data, { preventUpdate = false } = {}) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, { preventUpdate })\n onUpdateDataValue?.(path, value, { preventUpdate })\n },\n [onUpdateDataValue, setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n mountedFieldsRef.current.set(path, {\n ...mountedFieldsRef.current.get(path),\n ...state,\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmitCall' &&\n mountedFieldsRef.current.get(path)?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onBeforeCommit') {\n callback()\n }\n }\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n // Because we buffer the \"revealError\" in the useFieldProps hook,\n // we need to wait for the next frame before we continue and call \"setShowAllErrors\".\n await new Promise((resolve) =>\n window.requestAnimationFrame(resolve)\n )\n\n setFormState(undefined)\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n setShowAllErrors(true)\n\n onSubmitRequest?.({\n getErrors: () =>\n Object.keys(fieldErrorRef.current)\n .map((path) => {\n return getDataPathHandlerParameters(path)\n })\n .filter(({ error }) => error),\n })\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onSubmitRequest') {\n itm.callback()\n }\n }\n }\n\n return result\n },\n [\n clearData,\n getDataPathHandlerParameters,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onBeforeSubmit') {\n callback()\n }\n }\n\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n let stop = false\n const preventSubmit = () => (stop = true)\n for (const item of fieldEventListenersRef.current) {\n const { type, callback } = item\n if (type === 'onSubmit') {\n if (isAsync(callback)) {\n await callback({ preventSubmit })\n } else {\n callback({ preventSubmit })\n }\n }\n }\n if (stop) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n { remove = false } = {}\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n if (!remove) {\n fieldEventListenersRef.current.push({ path, type, callback })\n }\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useLayoutEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const getSourceValue = useCallback(\n <Return extends string>(value: PathStrict | unknown): Return => {\n const data = internalDataRef.current\n if (\n String(value).startsWith('/') &&\n pointer.has(data, String(value))\n ) {\n return pointer.get(data, String(value)) as unknown as Return\n }\n return value as Return\n },\n []\n )\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n revealError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: hasVisibleErrorRef.current.size > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n errorsRef,\n ajvInstance: ajvRef.current,\n countryCode: countryCode\n ? getSourceValue<CountryCode>(countryCode)\n : undefined,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = useEventListener;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _Context = _interopRequireDefault(require("../Context"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function useEventListener(id, listener) {
|
|
12
|
+
let path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
13
|
+
const {
|
|
14
|
+
setFieldEventListener
|
|
15
|
+
} = (0, _react.useContext)(_Context.default);
|
|
16
|
+
(0, _react.useMemo)(() => {
|
|
17
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, id, listener);
|
|
18
|
+
}, [id, listener, path, setFieldEventListener]);
|
|
19
|
+
const removeEvent = (0, _react.useCallback)(() => {
|
|
20
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, id, listener, {
|
|
21
|
+
remove: true
|
|
22
|
+
});
|
|
23
|
+
}, [id, listener, path, setFieldEventListener]);
|
|
24
|
+
(0, _react.useEffect)(() => removeEvent, [removeEvent]);
|
|
25
|
+
return {
|
|
26
|
+
removeEvent
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=useEventListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEventListener.js","names":["_react","require","_Context","_interopRequireDefault","e","__esModule","default","useEventListener","id","listener","path","arguments","length","undefined","setFieldEventListener","useContext","DataContext","useMemo","removeEvent","useCallback","remove","useEffect"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/useEventListener.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo } from 'react'\nimport DataContext from '../Context'\n\nexport default function useEventListener(id, listener, path = undefined) {\n const { setFieldEventListener } = useContext(DataContext)\n\n useMemo(() => {\n setFieldEventListener?.(path, id, listener)\n }, [id, listener, path, setFieldEventListener])\n\n const removeEvent = useCallback(() => {\n setFieldEventListener?.(path, id, listener, {\n remove: true,\n })\n }, [id, listener, path, setFieldEventListener])\n\n useEffect(() => removeEvent, [removeEvent])\n\n return { removeEvent }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAoC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,SAASG,gBAAgBA,CAACC,EAAE,EAAEC,QAAQ,EAAoB;EAAA,IAAlBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EACrE,MAAM;IAAEC;EAAsB,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAEzD,IAAAC,cAAO,EAAC,MAAM;IACZH,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAGJ,IAAI,EAAEF,EAAE,EAAEC,QAAQ,CAAC;EAC7C,CAAC,EAAE,CAACD,EAAE,EAAEC,QAAQ,EAAEC,IAAI,EAAEI,qBAAqB,CAAC,CAAC;EAE/C,MAAMI,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpCL,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAGJ,IAAI,EAAEF,EAAE,EAAEC,QAAQ,EAAE;MAC1CW,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC,EAAE,CAACZ,EAAE,EAAEC,QAAQ,EAAEC,IAAI,EAAEI,qBAAqB,CAAC,CAAC;EAE/C,IAAAO,gBAAS,EAAC,MAAMH,WAAW,EAAE,CAACA,WAAW,CAAC,CAAC;EAE3C,OAAO;IAAEA;EAAY,CAAC;AACxB","ignoreList":[]}
|
|
@@ -4,7 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BankAccountNumberProperties = void 0;
|
|
7
|
-
|
|
7
|
+
var _StringDocs = require("../String/StringDocs");
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
+
const BankAccountNumberProperties = exports.BankAccountNumberProperties = _objectSpread(_objectSpread({}, _StringDocs.stringProperties), {}, {
|
|
8
14
|
validate: {
|
|
9
15
|
doc: 'Using this prop you can disable the default validation.',
|
|
10
16
|
type: 'boolean',
|
|
@@ -15,5 +21,5 @@ const BankAccountNumberProperties = exports.BankAccountNumberProperties = {
|
|
|
15
21
|
type: 'function',
|
|
16
22
|
status: 'optional'
|
|
17
23
|
}
|
|
18
|
-
};
|
|
24
|
+
});
|
|
19
25
|
//# sourceMappingURL=BankAccountNumberDocs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankAccountNumberDocs.js","names":["BankAccountNumberProperties","exports","validate","doc","type","status","onBlurValidator"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const BankAccountNumberProperties: PropertiesTableProps = {\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BankAccountNumberDocs.js","names":["_StringDocs","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BankAccountNumberProperties","exports","stringProperties","validate","doc","type","status","onBlurValidator"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { stringProperties } from '../String/StringDocs'\n\nexport const BankAccountNumberProperties: PropertiesTableProps = {\n ...stringProperties,\n validate: {\n doc: 'Using this prop you can disable the default validation.',\n type: 'boolean',\n status: 'optional',\n },\n onBlurValidator: {\n doc: 'Custom validator function that is triggered when the user leaves a field (e.g., blurring a text input or closing a dropdown). The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }. Defaults to bank account number validation, using `bankAccountNumberValidator`. Can be disabled using `false`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAAuD,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAEhD,MAAM8B,2BAAiD,GAAAC,OAAA,CAAAD,2BAAA,GAAApB,aAAA,CAAAA,aAAA,KACzDsB,4BAAgB;EACnBC,QAAQ,EAAE;IACRC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,eAAe,EAAE;IACfH,GAAG,EAAE,8aAA8a;IACnbC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AAAC,EACF","ignoreList":[]}
|