@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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
const _excluded = ["data", "defaultData", "isolatedData", "bubbleValidation", "preventUncommittedChanges", "requireCommit", "showResetButton", "path", "itemPath", "insertAt", "title", "required", "children", "openButton", "showOpenButtonWhen", "onCommit"],
|
|
6
|
+
const _excluded = ["data", "defaultData", "isolatedData", "bubbleValidation", "preventUncommittedChanges", "requireCommit", "dataReference", "showResetButton", "path", "itemPath", "insertAt", "title", "required", "children", "openButton", "showOpenButtonWhen", "onCommit"],
|
|
7
7
|
_excluded2 = ["title", "openButton", "showOpenButton", "showResetButton", "switchContainerModeRef", "cancelHandler", "containerModeRef", "rerenderPushContainer", "preventUncommittedChanges", "outerContext", "children"];
|
|
8
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
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; }
|
|
@@ -40,6 +40,7 @@ function PushContainer(props) {
|
|
|
40
40
|
bubbleValidation,
|
|
41
41
|
preventUncommittedChanges = props === null || props === void 0 ? void 0 : props.requireCommit,
|
|
42
42
|
requireCommit,
|
|
43
|
+
dataReference,
|
|
43
44
|
showResetButton,
|
|
44
45
|
path,
|
|
45
46
|
itemPath,
|
|
@@ -124,6 +125,7 @@ function PushContainer(props) {
|
|
|
124
125
|
data: data,
|
|
125
126
|
defaultData: defaultData,
|
|
126
127
|
required: required,
|
|
128
|
+
dataReference: dataReference,
|
|
127
129
|
emptyData: emptyData,
|
|
128
130
|
bubbleValidation: containerModeRef.current === 'view' ? false : bubbleValidation,
|
|
129
131
|
commitHandleRef: commitHandleRef,
|
|
@@ -196,13 +198,15 @@ function NewContainer(_ref3) {
|
|
|
196
198
|
} = useHandleStatus({
|
|
197
199
|
outerContext,
|
|
198
200
|
preventUncommittedChanges,
|
|
199
|
-
error: pushContainerError
|
|
201
|
+
error: pushContainerError,
|
|
202
|
+
name: 'push-container'
|
|
200
203
|
});
|
|
201
204
|
useEffect(() => {
|
|
202
205
|
rerenderPushContainer();
|
|
203
206
|
}, [containerMode, rerenderPushContainer]);
|
|
207
|
+
const visibilityContext = useContext(VisibilityContext);
|
|
204
208
|
switchContainerModeRef.current = switchContainerMode;
|
|
205
|
-
const isVisible = Boolean(!showOpenButton || containerMode === 'edit');
|
|
209
|
+
const isVisible = (visibilityContext === null || visibilityContext === void 0 ? void 0 : visibilityContext.isVisible) === false ? false : Boolean(!showOpenButton || containerMode === 'edit' || showCommitStatus);
|
|
206
210
|
const {
|
|
207
211
|
preventUncommittedChangesText
|
|
208
212
|
} = useTranslation().Isolation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useEffect","useMemo","useReducer","useRef","classnames","Isolation","useHandleStatus","PushContainerContext","IterateItemContext","DataContext","VisibilityContext","useDataValue","EditContainer","DoneButton","CancelButton","ResetButton","IterateArray","OpenButton","Flex","FormStatus","HeightAnimation","useArrayLimit","useItemPath","useSwitchContainerMode","Toolbar","usePath","useTranslation","clearedData","structuredClone","PushContainer","props","forceUpdate","outerContext","data","outerData","required","requiredInherited","dataProp","defaultData","defaultDataProp","isolatedData","bubbleValidation","preventUncommittedChanges","requireCommit","showResetButton","path","itemPath","insertAt","title","children","openButton","showOpenButtonWhen","onCommit","rest","_objectWithoutProperties","_excluded","absolutePath","relativePath","commitHandleRef","switchContainerModeRef","containerModeRef","value","entries","moveValueToPath","getValueByPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","_Object$freeze","_objectSpread","pushContainerItems","Object","freeze","isFrozen","assign","emptyData","_data$pushContainerIt","_ref","firstItem","createElement","transformOnCommit","_ref2","slice","options","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","withoutFlex","omitSectionPath","NewContainer","_extends","rerenderPushContainer","_ref3","_DoneButton","_CancelButton","_FormStatus","_excluded2","hasContentChanged","showStatus","showCommitStatus","error","pushContainerError","isVisible","Boolean","preventUncommittedChangesText","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","Horizontal","gap","text","onClick","hidden","no_animation","show","keepInDOM","open","className","Error","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport Isolation from '../../Form/Isolation'\nimport useHandleStatus from '../../Form/Isolation/useHandleStatus'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport VisibilityContext from '../../Form/Visibility/VisibilityContext'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, {\n DoneButton,\n CancelButton,\n ResetButton,\n AllProps as EditContainerProps,\n} from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, FormStatus, HeightAnimation } from '../../../../components'\nimport { OnCommit, Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport {\n useArrayLimit,\n useItemPath,\n useSwitchContainerMode,\n} from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { usePath, useTranslation } from '../../hooks'\nimport { clearedData } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype OnlyPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath?: Path\n}\n\ntype OnlyItemPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path?: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath: Path\n}\n\nexport type Props = (OnlyPathRequired | OnlyItemPathRequired) & {\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * If the fields inside the container are required.\n */\n required?: boolean\n\n /**\n * The index to insert the new item at.\n */\n insertAt?: number\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n defaultData?: unknown | Record<string, unknown>\n\n /**\n * Provide additional data that will be put into the root of the isolated data context (parallel to \"/pushContainerItems/0\").\n */\n isolatedData?: Record<string, unknown>\n\n /**\n * Prevent the form from being submitted when there are fields with errors inside the PushContainer.\n */\n bubbleValidation?: boolean\n\n /**\n * If the container should be committed before the form is submitted.\n */\n /**\n * @deprecated – Replaced with preventUncommittedChanges, requireCommit will be removed in v11.\n */\n requireCommit?: boolean\n\n /**\n * Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.\n */\n preventUncommittedChanges?: boolean\n\n /**\n * Show a button to clear the PushContainer data.\n */\n showResetButton?: boolean\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * Will be called when the user clicks on the \"Done\" button.\n */\n onCommit?: OnCommit\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props &\n SpacingProps &\n Omit<EditContainerProps, 'data'>\n\nfunction PushContainer(props: AllProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const outerContext = useContext(DataContext)\n const { data: outerData, required: requiredInherited } = outerContext\n\n const {\n data: dataProp,\n defaultData: defaultDataProp,\n isolatedData,\n bubbleValidation,\n preventUncommittedChanges = props?.requireCommit,\n requireCommit, // eslint-disable-line @typescript-eslint/no-unused-vars\n showResetButton,\n path,\n itemPath,\n insertAt,\n title,\n required = requiredInherited,\n children,\n openButton,\n showOpenButtonWhen,\n onCommit,\n ...rest\n } = props\n\n const { absolutePath } = useItemPath(itemPath)\n const { path: relativePath } = usePath({ path, itemPath })\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const containerModeRef = useRef<ContainerMode>()\n const {\n value: entries = [],\n moveValueToPath,\n getValueByPath,\n } = useDataValue<Array<unknown>>(path || itemPath)\n\n const { setNextContainerMode } = useSwitchContainerMode(\n path || absolutePath\n )\n const { hasReachedLimit, setShowStatus } = useArrayLimit(\n path || absolutePath\n )\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n itemPath,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const data = useMemo(() => {\n if (defaultDataProp) {\n return // don't return a fallback, because we want to use the defaultData\n }\n return {\n ...isolatedData,\n pushContainerItems: [Object.freeze(dataProp) ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n if (outerData) {\n // Use assign to avoid mutating the original data object.\n // Because changes from outside should only silently be applied to the\n // data object, without triggering a rerender.\n // This way \"pushContainerItems\" will not clear/unset changed data.\n if (!Object.isFrozen(data)) {\n Object.assign(data || {}, outerData)\n }\n }\n\n const defaultData = useMemo(() => {\n return {\n ...(!dataProp ? isolatedData : null),\n pushContainerItems: [Object.freeze(defaultDataProp ?? clearedData)],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const emptyData = useCallback(\n (data: { pushContainerItems: unknown[] }) => {\n const firstItem = data.pushContainerItems?.[0]\n if (firstItem === null || typeof firstItem !== 'object') {\n return {\n ...isolatedData,\n pushContainerItems: [null],\n }\n }\n\n return {\n ...isolatedData,\n pushContainerItems: [dataProp ?? defaultDataProp ?? clearedData],\n }\n },\n [dataProp, defaultDataProp, isolatedData]\n )\n\n return (\n <Isolation\n data={data}\n defaultData={defaultData}\n required={required}\n emptyData={emptyData}\n bubbleValidation={\n containerModeRef.current === 'view' ? false : bubbleValidation\n }\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ pushContainerItems }) => {\n return moveValueToPath(\n absolutePath || relativePath,\n typeof insertAt === 'number'\n ? [\n ...entries.slice(0, insertAt),\n ...pushContainerItems,\n ...entries.slice(insertAt),\n ]\n : [...entries, ...pushContainerItems],\n absolutePath ? structuredClone(getValueByPath('/')) : {}\n )\n }}\n onCommit={(data, options) => {\n const { clearData, preventCommit } = options\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n onCommit?.(data, options)\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/pushContainerItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n withoutFlex\n omitSectionPath\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n containerModeRef={containerModeRef}\n rerenderPushContainer={forceUpdate}\n preventUncommittedChanges={preventUncommittedChanges}\n showResetButton={showResetButton}\n outerContext={outerContext}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n showResetButton,\n switchContainerModeRef,\n cancelHandler,\n containerModeRef,\n rerenderPushContainer,\n preventUncommittedChanges,\n outerContext,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n containerModeRef.current = containerMode\n\n const { hasContentChanged, showStatus: showCommitStatus } =\n useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error: pushContainerError,\n })\n\n useEffect(() => {\n rerenderPushContainer()\n }, [containerMode, rerenderPushContainer])\n\n switchContainerModeRef.current = switchContainerMode\n const isVisible = Boolean(!showOpenButton || containerMode === 'edit')\n const { preventUncommittedChangesText } = useTranslation().Isolation\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n {(preventUncommittedChanges || showResetButton) && (\n <ResetButton\n // Use hidden in order to render the useHasContentChanged hook\n hidden={!(showResetButton || showCommitStatus)}\n />\n )}\n </Flex.Horizontal>\n\n {preventUncommittedChanges && showCommitStatus && (\n <FormStatus no_animation={false} show={hasContentChanged}>\n {preventUncommittedChangesText}\n </FormStatus>\n )}\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <VisibilityContext.Provider value={{ isVisible, keepInDOM: false }}>\n <EditContainer\n open={isVisible}\n title={title}\n toolbar={toolbar}\n {...rest}\n // Add the class by default, because we don't get a \"hasSubmitError\" trigger\n className={classnames(\n 'dnb-forms-section-block--error',\n rest.className\n )}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </VisibilityContext.Provider>\n )\n}\n\nconst pushContainerError = new Error('Iterate.PushContainer')\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useEffect","useMemo","useReducer","useRef","classnames","Isolation","useHandleStatus","PushContainerContext","IterateItemContext","DataContext","VisibilityContext","useDataValue","EditContainer","DoneButton","CancelButton","ResetButton","IterateArray","OpenButton","Flex","FormStatus","HeightAnimation","useArrayLimit","useItemPath","useSwitchContainerMode","Toolbar","usePath","useTranslation","clearedData","structuredClone","PushContainer","props","forceUpdate","outerContext","data","outerData","required","requiredInherited","dataProp","defaultData","defaultDataProp","isolatedData","bubbleValidation","preventUncommittedChanges","requireCommit","dataReference","showResetButton","path","itemPath","insertAt","title","children","openButton","showOpenButtonWhen","onCommit","rest","_objectWithoutProperties","_excluded","absolutePath","relativePath","commitHandleRef","switchContainerModeRef","containerModeRef","value","entries","moveValueToPath","getValueByPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","_Object$freeze","_objectSpread","pushContainerItems","Object","freeze","isFrozen","assign","emptyData","_data$pushContainerIt","_ref","firstItem","createElement","transformOnCommit","_ref2","slice","options","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","withoutFlex","omitSectionPath","NewContainer","_extends","rerenderPushContainer","_ref3","_DoneButton","_CancelButton","_FormStatus","_excluded2","hasContentChanged","showStatus","showCommitStatus","error","pushContainerError","name","visibilityContext","isVisible","Boolean","preventUncommittedChangesText","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","Horizontal","gap","text","onClick","hidden","no_animation","show","keepInDOM","open","className","Error","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport Isolation, { IsolationProps } from '../../Form/Isolation'\nimport useHandleStatus from '../../Form/Isolation/useHandleStatus'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport VisibilityContext from '../../Form/Visibility/VisibilityContext'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, {\n DoneButton,\n CancelButton,\n ResetButton,\n AllProps as EditContainerProps,\n} from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, FormStatus, HeightAnimation } from '../../../../components'\nimport { OnCommit, Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport {\n useArrayLimit,\n useItemPath,\n useSwitchContainerMode,\n} from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { usePath, useTranslation } from '../../hooks'\nimport { JsonObject } from '../../utils'\nimport { clearedData } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype OnlyPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath?: Path\n}\n\ntype OnlyItemPathRequired = {\n /**\n * The path to the array to add the new item to.\n */\n path?: Path\n\n /** The sub path to the array to add the new item to. */\n itemPath: Path\n}\n\nexport type Props = (OnlyPathRequired | OnlyItemPathRequired) & {\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * If the fields inside the container are required.\n */\n required?: boolean\n\n /**\n * The index to insert the new item at.\n */\n insertAt?: number\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n defaultData?: unknown | Record<string, unknown>\n\n /**\n * Provide additional data that will be put into the root of the isolated data context (parallel to \"/pushContainerItems/0\").\n */\n isolatedData?: Record<string, unknown>\n\n /**\n * Prevent the form from being submitted when there are fields with errors inside the PushContainer.\n */\n bubbleValidation?: boolean\n\n /**\n * If the container should be committed before the form is submitted.\n */\n /**\n * @deprecated – Replaced with preventUncommittedChanges, requireCommit will be removed in v11.\n */\n requireCommit?: boolean\n\n /**\n * Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.\n */\n preventUncommittedChanges?: boolean\n\n /**\n * Show a button to clear the PushContainer data.\n */\n showResetButton?: boolean\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * Will be called when the user clicks on the \"Done\" button.\n */\n onCommit?: OnCommit\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n} & Pick<IsolationProps<JsonObject>, 'dataReference'>\n\nexport type AllProps = Props &\n SpacingProps &\n Omit<EditContainerProps, 'data'>\n\nfunction PushContainer(props: AllProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const outerContext = useContext(DataContext)\n const { data: outerData, required: requiredInherited } = outerContext\n\n const {\n data: dataProp,\n defaultData: defaultDataProp,\n isolatedData,\n bubbleValidation,\n preventUncommittedChanges = props?.requireCommit,\n requireCommit, // eslint-disable-line @typescript-eslint/no-unused-vars\n dataReference,\n showResetButton,\n path,\n itemPath,\n insertAt,\n title,\n required = requiredInherited,\n children,\n openButton,\n showOpenButtonWhen,\n onCommit,\n ...rest\n } = props\n\n const { absolutePath } = useItemPath(itemPath)\n const { path: relativePath } = usePath({ path, itemPath })\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const containerModeRef = useRef<ContainerMode>()\n const {\n value: entries = [],\n moveValueToPath,\n getValueByPath,\n } = useDataValue<Array<unknown>>(path || itemPath)\n\n const { setNextContainerMode } = useSwitchContainerMode(\n path || absolutePath\n )\n const { hasReachedLimit, setShowStatus } = useArrayLimit(\n path || absolutePath\n )\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n itemPath,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const data = useMemo(() => {\n if (defaultDataProp) {\n return // don't return a fallback, because we want to use the defaultData\n }\n return {\n ...isolatedData,\n pushContainerItems: [Object.freeze(dataProp) ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n if (outerData) {\n // Use assign to avoid mutating the original data object.\n // Because changes from outside should only silently be applied to the\n // data object, without triggering a rerender.\n // This way \"pushContainerItems\" will not clear/unset changed data.\n if (!Object.isFrozen(data)) {\n Object.assign(data || {}, outerData)\n }\n }\n\n const defaultData = useMemo(() => {\n return {\n ...(!dataProp ? isolatedData : null),\n pushContainerItems: [Object.freeze(defaultDataProp ?? clearedData)],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const emptyData = useCallback(\n (data: { pushContainerItems: unknown[] }) => {\n const firstItem = data.pushContainerItems?.[0]\n if (firstItem === null || typeof firstItem !== 'object') {\n return {\n ...isolatedData,\n pushContainerItems: [null],\n }\n }\n\n return {\n ...isolatedData,\n pushContainerItems: [dataProp ?? defaultDataProp ?? clearedData],\n }\n },\n [dataProp, defaultDataProp, isolatedData]\n )\n\n return (\n <Isolation\n data={data}\n defaultData={defaultData}\n required={required}\n dataReference={dataReference}\n emptyData={emptyData}\n bubbleValidation={\n containerModeRef.current === 'view' ? false : bubbleValidation\n }\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ pushContainerItems }) => {\n return moveValueToPath(\n absolutePath || relativePath,\n typeof insertAt === 'number'\n ? [\n ...entries.slice(0, insertAt),\n ...pushContainerItems,\n ...entries.slice(insertAt),\n ]\n : [...entries, ...pushContainerItems],\n absolutePath ? structuredClone(getValueByPath('/')) : {}\n )\n }}\n onCommit={(data, options) => {\n const { clearData, preventCommit } = options\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n onCommit?.(data, options)\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/pushContainerItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n withoutFlex\n omitSectionPath\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n containerModeRef={containerModeRef}\n rerenderPushContainer={forceUpdate}\n preventUncommittedChanges={preventUncommittedChanges}\n showResetButton={showResetButton}\n outerContext={outerContext}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n showResetButton,\n switchContainerModeRef,\n cancelHandler,\n containerModeRef,\n rerenderPushContainer,\n preventUncommittedChanges,\n outerContext,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n containerModeRef.current = containerMode\n\n const { hasContentChanged, showStatus: showCommitStatus } =\n useHandleStatus({\n outerContext,\n preventUncommittedChanges,\n error: pushContainerError,\n name: 'push-container',\n })\n\n useEffect(() => {\n rerenderPushContainer()\n }, [containerMode, rerenderPushContainer])\n\n const visibilityContext = useContext(VisibilityContext)\n switchContainerModeRef.current = switchContainerMode\n const isVisible =\n visibilityContext?.isVisible === false\n ? false\n : Boolean(\n !showOpenButton || containerMode === 'edit' || showCommitStatus\n )\n const { preventUncommittedChangesText } = useTranslation().Isolation\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n {(preventUncommittedChanges || showResetButton) && (\n <ResetButton\n // Use hidden in order to render the useHasContentChanged hook\n hidden={!(showResetButton || showCommitStatus)}\n />\n )}\n </Flex.Horizontal>\n\n {preventUncommittedChanges && showCommitStatus && (\n <FormStatus no_animation={false} show={hasContentChanged}>\n {preventUncommittedChangesText}\n </FormStatus>\n )}\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <VisibilityContext.Provider value={{ isVisible, keepInDOM: false }}>\n <EditContainer\n open={isVisible}\n title={title}\n toolbar={toolbar}\n {...rest}\n // Add the class by default, because we don't get a \"hasSubmitError\" trigger\n className={classnames(\n 'dnb-forms-section-block--error',\n rest.className\n )}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </VisibilityContext.Provider>\n )\n}\n\nconst pushContainerError = new Error('Iterate.PushContainer')\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,UAAU,EACVC,MAAM,QACD,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAA0B,sBAAsB;AAChE,OAAOC,eAAe,MAAM,sCAAsC;AAClE,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,iBAAiB,MAAM,yCAAyC;AACvE,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,aAAa,IAClBC,UAAU,EACVC,YAAY,EACZC,WAAW,QAEN,kBAAkB;AACzB,OAAOC,YAAY,MAAyB,UAAU;AACtD,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,IAAI,EAAEC,UAAU,EAAEC,eAAe,QAAQ,wBAAwB;AAG1E,SACEC,aAAa,EACbC,WAAW,EACXC,sBAAsB,QACjB,UAAU;AACjB,OAAOC,OAAO,MAAM,YAAY;AAChC,SAASC,OAAO,EAAEC,cAAc,QAAQ,aAAa;AAErD,SAASC,WAAW,QAAQ,4BAA4B;AAMxD,OAAOC,eAAe,MAAM,yBAAyB;AA2GrD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAM,GAAGC,WAAW,CAAC,GAAG7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM8B,YAAY,GAAGjC,UAAU,CAACU,WAAW,CAAC;EAC5C,MAAM;IAAEwB,IAAI,EAAEC,SAAS;IAAEC,QAAQ,EAAEC;EAAkB,CAAC,GAAGJ,YAAY;EAErE,MAAM;MACJC,IAAI,EAAEI,QAAQ;MACdC,WAAW,EAAEC,eAAe;MAC5BC,YAAY;MACZC,gBAAgB;MAChBC,yBAAyB,GAAGZ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEa,aAAa;MAChDA,aAAa;MACbC,aAAa;MACbC,eAAe;MACfC,IAAI;MACJC,QAAQ;MACRC,QAAQ;MACRC,KAAK;MACLd,QAAQ,GAAGC,iBAAiB;MAC5Bc,QAAQ;MACRC,UAAU;MACVC,kBAAkB;MAClBC;IAEF,CAAC,GAAGvB,KAAK;IADJwB,IAAI,GAAAC,wBAAA,CACLzB,KAAK,EAAA0B,SAAA;EAET,MAAM;IAAEC;EAAa,CAAC,GAAGnC,WAAW,CAACyB,QAAQ,CAAC;EAC9C,MAAM;IAAED,IAAI,EAAEY;EAAa,CAAC,GAAGjC,OAAO,CAAC;IAAEqB,IAAI;IAAEC;EAAS,CAAC,CAAC;EAC1D,MAAMY,eAAe,GAAGxD,MAAM,CAAa,CAAC;EAC5C,MAAMyD,sBAAsB,GAAGzD,MAAM,CAAgC,CAAC;EACtE,MAAM0D,gBAAgB,GAAG1D,MAAM,CAAgB,CAAC;EAChD,MAAM;IACJ2D,KAAK,EAAEC,OAAO,GAAG,EAAE;IACnBC,eAAe;IACfC;EACF,CAAC,GAAGtD,YAAY,CAAiBmC,IAAI,IAAIC,QAAQ,CAAC;EAElD,MAAM;IAAEmB;EAAqB,CAAC,GAAG3C,sBAAsB,CACrDuB,IAAI,IAAIW,YACV,CAAC;EACD,MAAM;IAAEU,eAAe;IAAEC;EAAc,CAAC,GAAG/C,aAAa,CACtDyB,IAAI,IAAIW,YACV,CAAC;EACD,MAAMY,aAAa,GAAGvE,WAAW,CAAC,MAAM;IACtC,IAAIqE,eAAe,EAAE;MACnBC,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACD,eAAe,EAAEC,aAAa,CAAC,CAAC;EAEpC,MAAME,cAAc,GAAGlB,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGW,OAAO,CAAC;EACpD,MAAMQ,mBAAyC,GAAG;IAChDzB,IAAI;IACJC,QAAQ;IACRgB,OAAO;IACPJ,eAAe;IACfa,mBAAmB,EAAEZ,sBAAsB,CAACa;EAC9C,CAAC;EAED,MAAMxC,IAAI,GAAGhC,OAAO,CAAC,MAAM;IAAA,IAAAyE,cAAA;IACzB,IAAInC,eAAe,EAAE;MACnB;IACF;IACA,OAAAoC,aAAA,CAAAA,aAAA,KACKnC,YAAY;MACfoC,kBAAkB,EAAE,EAAAF,cAAA,GAACG,MAAM,CAACC,MAAM,CAACzC,QAAQ,CAAC,cAAAqC,cAAA,cAAAA,cAAA,GAAI/C,WAAW;IAAC;EAEhE,CAAC,EAAE,CAACU,QAAQ,EAAEE,eAAe,EAAEC,YAAY,CAAC,CAAC;EAE7C,IAAIN,SAAS,EAAE;IAKb,IAAI,CAAC2C,MAAM,CAACE,QAAQ,CAAC9C,IAAI,CAAC,EAAE;MAC1B4C,MAAM,CAACG,MAAM,CAAC/C,IAAI,IAAI,CAAC,CAAC,EAAEC,SAAS,CAAC;IACtC;EACF;EAEA,MAAMI,WAAW,GAAGrC,OAAO,CAAC,MAAM;IAChC,OAAA0E,aAAA,CAAAA,aAAA,KACM,CAACtC,QAAQ,GAAGG,YAAY,GAAG,IAAI;MACnCoC,kBAAkB,EAAE,CAACC,MAAM,CAACC,MAAM,CAACvC,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAIZ,WAAW,CAAC;IAAC;EAEvE,CAAC,EAAE,CAACU,QAAQ,EAAEE,eAAe,EAAEC,YAAY,CAAC,CAAC;EAE7C,MAAMyC,SAAS,GAAGnF,WAAW,CAC1BmC,IAAuC,IAAK;IAAA,IAAAiD,qBAAA,EAAAC,IAAA;IAC3C,MAAMC,SAAS,IAAAF,qBAAA,GAAGjD,IAAI,CAAC2C,kBAAkB,cAAAM,qBAAA,uBAAvBA,qBAAA,CAA0B,CAAC,CAAC;IAC9C,IAAIE,SAAS,KAAK,IAAI,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;MACvD,OAAAT,aAAA,CAAAA,aAAA,KACKnC,YAAY;QACfoC,kBAAkB,EAAE,CAAC,IAAI;MAAC;IAE9B;IAEA,OAAAD,aAAA,CAAAA,aAAA,KACKnC,YAAY;MACfoC,kBAAkB,EAAE,EAAAO,IAAA,GAAC9C,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIE,eAAe,cAAA4C,IAAA,cAAAA,IAAA,GAAIxD,WAAW;IAAC;EAEpE,CAAC,EACD,CAACU,QAAQ,EAAEE,eAAe,EAAEC,YAAY,CAC1C,CAAC;EAED,OACE3C,KAAA,CAAAwF,aAAA,CAAChF,SAAS;IACR4B,IAAI,EAAEA,IAAK;IACXK,WAAW,EAAEA,WAAY;IACzBH,QAAQ,EAAEA,QAAS;IACnBS,aAAa,EAAEA,aAAc;IAC7BqC,SAAS,EAAEA,SAAU;IACrBxC,gBAAgB,EACdoB,gBAAgB,CAACY,OAAO,KAAK,MAAM,GAAG,KAAK,GAAGhC,gBAC/C;IACDkB,eAAe,EAAEA,eAAgB;IACjC2B,iBAAiB,EAAEC,KAAA,IAA4B;MAAA,IAA3B;QAAEX;MAAmB,CAAC,GAAAW,KAAA;MACxC,OAAOvB,eAAe,CACpBP,YAAY,IAAIC,YAAY,EAC5B,OAAOV,QAAQ,KAAK,QAAQ,GACxB,CACE,GAAGe,OAAO,CAACyB,KAAK,CAAC,CAAC,EAAExC,QAAQ,CAAC,EAC7B,GAAG4B,kBAAkB,EACrB,GAAGb,OAAO,CAACyB,KAAK,CAACxC,QAAQ,CAAC,CAC3B,GACD,CAAC,GAAGe,OAAO,EAAE,GAAGa,kBAAkB,CAAC,EACvCnB,YAAY,GAAG7B,eAAe,CAACqC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CACzD,CAAC;IACH,CAAE;IACFZ,QAAQ,EAAEA,CAACpB,IAAI,EAAEwD,OAAO,KAAK;MAC3B,MAAM;QAAEC,SAAS;QAAEC;MAAc,CAAC,GAAGF,OAAO;MAC5C,IAAItB,eAAe,EAAE;QACnBwB,aAAa,CAAC,CAAC;QACfvB,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAM;QAAA,IAAAwB,qBAAA;QACL1B,oBAAoB,CAAC,MAAM,CAAC;QAC5B,CAAA0B,qBAAA,GAAAhC,sBAAsB,CAACa,OAAO,cAAAmB,qBAAA,uBAA9BA,qBAAA,CAAAC,IAAA,CAAAjC,sBAAsB,EAAW,MAAM,CAAC;QACxC8B,SAAS,CAAC,CAAC;MACb;MACArC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGpB,IAAI,EAAEwD,OAAO,CAAC;IAC3B;EAAE,GAEF5F,KAAA,CAAAwF,aAAA,CAAC9E,oBAAoB,CAACuF,QAAQ;IAAChC,KAAK,EAAES;EAAoB,GACxD1E,KAAA,CAAAwF,aAAA,CAACrE,YAAY;IACX8B,IAAI,EAAC,qBAAqB;IAC1BiD,aAAa,EAAEzB,cAAc,GAAG,MAAM,GAAG,MAAO;IAChD0B,WAAW;IACXC,eAAe;EAAA,GAEfpG,KAAA,CAAAwF,aAAA,CAACa,YAAY,EAAAC,QAAA;IACXlD,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBS,sBAAsB,EAAEA,sBAAuB;IAC/CU,cAAc,EAAEA,cAAe;IAC/BD,aAAa,EAAEA,aAAc;IAC7BR,gBAAgB,EAAEA,gBAAiB;IACnCuC,qBAAqB,EAAErE,WAAY;IACnCW,yBAAyB,EAAEA,yBAA0B;IACrDG,eAAe,EAAEA,eAAgB;IACjCb,YAAY,EAAEA;EAAa,GACvBsB,IAAI,GAEPJ,QACW,CACF,CACe,CACtB,CAAC;AAEhB;AAEA,SAASgD,YAAYA,CAAAG,KAAA,EAalB;EAAA,IAAAC,WAAA,EAAAC,aAAA,EAAAC,WAAA;EAAA,IAbmB;MACpBvD,KAAK;MACLE,UAAU;MACVmB,cAAc;MACdzB,eAAe;MACfe,sBAAsB;MACtBS,aAAa;MACbR,gBAAgB;MAChBuC,qBAAqB;MACrB1D,yBAAyB;MACzBV,YAAY;MACZkB;IAEF,CAAC,GAAAmD,KAAA;IADI/C,IAAI,GAAAC,wBAAA,CAAA8C,KAAA,EAAAI,UAAA;EAEP,MAAM;IAAEV,aAAa;IAAEvB;EAAoB,CAAC,GAC1CzE,UAAU,CAACS,kBAAkB,CAAC,IAAI,CAAC,CAAC;EACtCqD,gBAAgB,CAACY,OAAO,GAAGsB,aAAa;EAExC,MAAM;IAAEW,iBAAiB;IAAEC,UAAU,EAAEC;EAAiB,CAAC,GACvDtG,eAAe,CAAC;IACd0B,YAAY;IACZU,yBAAyB;IACzBmE,KAAK,EAAEC,kBAAkB;IACzBC,IAAI,EAAE;EACR,CAAC,CAAC;EAEJ/G,SAAS,CAAC,MAAM;IACdoG,qBAAqB,CAAC,CAAC;EACzB,CAAC,EAAE,CAACL,aAAa,EAAEK,qBAAqB,CAAC,CAAC;EAE1C,MAAMY,iBAAiB,GAAGjH,UAAU,CAACW,iBAAiB,CAAC;EACvDkD,sBAAsB,CAACa,OAAO,GAAGD,mBAAmB;EACpD,MAAMyC,SAAS,GACb,CAAAD,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEC,SAAS,MAAK,KAAK,GAClC,KAAK,GACLC,OAAO,CACL,CAAC5C,cAAc,IAAIyB,aAAa,KAAK,MAAM,IAAIa,gBACjD,CAAC;EACP,MAAM;IAAEO;EAA8B,CAAC,GAAGzF,cAAc,CAAC,CAAC,CAACrB,SAAS;EACpE,MAAM;IAAE+G;EAAa,CAAC,GAAG1F,cAAc,CAAC,CAAC,CAAC2F,oBAAoB;EAC9D,MAAM;IAAE3B;EAAU,CAAC,GAAG3F,UAAU,CAACU,WAAW,CAAC,IAAI,CAAC,CAAC;EACnD,MAAM6G,oBAAoB,GAAGxH,WAAW,CAAC,MAAM;IAC7C4F,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAM6B,OAAO,GACX1H,KAAA,CAAAwF,aAAA,CAAC7D,OAAO,QACN3B,KAAA,CAAAwF,aAAA,CAAC7E,kBAAkB,CAACgH,QAAQ,QACxBC,OAAO,IAAK;IACZ,MAAMlD,mBAAmB,GAAAI,aAAA,CAAAA,aAAA,KACpB8C,OAAO;MACVH;IAAoB,EACrB;IACD,OACEzH,KAAA,CAAAwF,aAAA,CAAC7E,kBAAkB,CAACsF,QAAQ;MAAChC,KAAK,EAAES;IAAoB,GACtD1E,KAAA,CAAAwF,aAAA,CAACnE,IAAI,CAACwG,UAAU;MAACC,GAAG,EAAC;IAAO,GAAArB,WAAA,KAAAA,WAAA,GAC1BzG,KAAA,CAAAwF,aAAA,CAACxE,UAAU;MAAC+G,IAAI,EAAER;IAAa,CAAE,CAAC,GACjC9C,cAAc,KAAAiC,aAAA,KAAAA,aAAA,GACb1G,KAAA,CAAAwF,aAAA,CAACvE,YAAY;MAAC+G,OAAO,EAAExD;IAAc,CAAE,CAAC,EACzC,EACA,CAAC3B,yBAAyB,IAAIG,eAAe,KAC5ChD,KAAA,CAAAwF,aAAA,CAACtE,WAAW;MAEV+G,MAAM,EAAE,EAAEjF,eAAe,IAAI+D,gBAAgB;IAAE,CAChD,CAEY,CAAC,EAEjBlE,yBAAyB,IAAIkE,gBAAgB,KAAAJ,WAAA,KAAAA,WAAA,GAC5C3G,KAAA,CAAAwF,aAAA,CAAClE,UAAU;MAAC4G,YAAY,EAAE,KAAM;MAACC,IAAI,EAAEtB;IAAkB,GACtDS,6BACS,CAAC,EAEY,CAAC;EAElC,CAC2B,CACtB,CACV;EAED,OACEtH,KAAA,CAAAwF,aAAA,CAAC3E,iBAAiB,CAACoF,QAAQ;IAAChC,KAAK,EAAE;MAAEmD,SAAS;MAAEgB,SAAS,EAAE;IAAM;EAAE,GACjEpI,KAAA,CAAAwF,aAAA,CAACzE,aAAa,EAAAuF,QAAA;IACZ+B,IAAI,EAAEjB,SAAU;IAChBhE,KAAK,EAAEA,KAAM;IACbsE,OAAO,EAAEA;EAAQ,GACbjE,IAAI;IAER6E,SAAS,EAAE/H,UAAU,CACnB,gCAAgC,EAChCkD,IAAI,CAAC6E,SACP;EAAE,IAEDjF,QACY,CAAC,EAEfC,UAAU,IAAI,OAAOmB,cAAc,KAAK,SAAS,IAChDzE,KAAA,CAAAwF,aAAA,CAACjE,eAAe;IAAC8G,IAAI,EAAE5D,cAAc,IAAIyB,aAAa,KAAK;EAAO,GAC/D5C,UACc,CAEO,CAAC;AAEjC;AAEA,MAAM2D,kBAAkB,GAAG,IAAIsB,KAAK,CAAC,uBAAuB,CAAC;AAE7DvG,aAAa,CAACZ,UAAU,GAAGA,UAAU;AACrCY,aAAa,CAACwG,qBAAqB,GAAG,IAAI;AAE1C,eAAexG,aAAa","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ export const PushContainerProperties = {
|
|
|
26
26
|
status: 'optional'
|
|
27
27
|
},
|
|
28
28
|
defaultData: {
|
|
29
|
-
doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0
|
|
29
|
+
doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`.',
|
|
30
30
|
type: ['object', 'array'],
|
|
31
31
|
status: 'optional'
|
|
32
32
|
},
|
|
@@ -75,6 +75,11 @@ export const PushContainerProperties = {
|
|
|
75
75
|
type: 'React.Node',
|
|
76
76
|
status: 'optional'
|
|
77
77
|
},
|
|
78
|
+
dataReference: {
|
|
79
|
+
doc: 'Provide a reference by using `Form.Isolation.createDataReference`.',
|
|
80
|
+
type: 'IsolationDataReference',
|
|
81
|
+
status: 'optional'
|
|
82
|
+
},
|
|
78
83
|
children: {
|
|
79
84
|
doc: 'The container contents.',
|
|
80
85
|
type: 'React.Node',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","itemPath","insertAt","title","data","defaultData","isolatedData","required","bubbleValidation","preventUncommittedChanges","showResetButton","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n itemPath: {\n doc: 'The path to the item in a nested array, to add the new item to.',\n type: 'string',\n status: 'optional',\n },\n insertAt: {\n doc: 'The index to insert the new item at.',\n type: 'number',\n status: 'optional',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0
|
|
1
|
+
{"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","itemPath","insertAt","title","data","defaultData","isolatedData","required","bubbleValidation","preventUncommittedChanges","showResetButton","openButton","showOpenButtonWhen","variant","toolbar","dataReference","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n itemPath: {\n doc: 'The path to the item in a nested array, to add the new item to.',\n type: 'string',\n status: 'optional',\n },\n insertAt: {\n doc: 'The index to insert the new item at.',\n type: 'number',\n status: 'optional',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`.',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'If the fields inside the container are required.',\n type: 'boolean',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n preventUncommittedChanges: {\n doc: 'Prevents uncommitted changes before the form is submitted. Will display an error message if user tries to submit without committing their changes.',\n type: 'boolean',\n status: 'optional',\n },\n showResetButton: {\n doc: 'Show a button to clear the PushContainer data.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n dataReference: {\n doc: 'Provide a reference by using `Form.Isolation.createDataReference`.',\n type: 'IsolationDataReference',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,iEAAiE;IACtEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,sCAAsC;IAC3CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,WAAW,EAAE;IACXP,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDM,YAAY,EAAE;IACZR,GAAG,EAAE,4HAA4H;IACjIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;IACRT,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,gBAAgB,EAAE;IAChBV,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDS,yBAAyB,EAAE;IACzBX,GAAG,EAAE,oJAAoJ;IACzJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,eAAe,EAAE;IACfZ,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,UAAU,EAAE;IACVb,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDY,kBAAkB,EAAE;IAClBd,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDa,OAAO,EAAE;IACPf,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDc,OAAO,EAAE;IACPhB,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDe,aAAa,EAAE;IACbjB,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMiB,mBAAyC,GAAG;EACvDC,QAAQ,EAAEvB,eAAe,CAACuB;AAC5B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
4
|
+
import React, { useCallback, useContext, useReducer } from 'react';
|
|
5
|
+
import DataContext from '../DataContext/Context';
|
|
6
|
+
import Log from './Log';
|
|
7
|
+
import useEventListener from '../DataContext/Provider/useEventListener';
|
|
8
|
+
function Errors() {
|
|
9
|
+
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
10
|
+
const {
|
|
11
|
+
fieldErrorRef,
|
|
12
|
+
errorsRef
|
|
13
|
+
} = useContext(DataContext);
|
|
14
|
+
const fieldErrors = Object.keys((fieldErrorRef === null || fieldErrorRef === void 0 ? void 0 : fieldErrorRef.current) || {}).reduce((acc, key) => {
|
|
15
|
+
var _fieldErrorRef$curren;
|
|
16
|
+
acc[key] = fieldErrorRef === null || fieldErrorRef === void 0 ? void 0 : (_fieldErrorRef$curren = fieldErrorRef.current[key]) === null || _fieldErrorRef$curren === void 0 ? void 0 : _fieldErrorRef$curren.message;
|
|
17
|
+
return acc;
|
|
18
|
+
}, {});
|
|
19
|
+
const formErrors = Object.keys((errorsRef === null || errorsRef === void 0 ? void 0 : errorsRef.current) || {}).reduce((acc, key) => {
|
|
20
|
+
var _errorsRef$current$ke;
|
|
21
|
+
acc[key || '/'] = errorsRef === null || errorsRef === void 0 ? void 0 : (_errorsRef$current$ke = errorsRef.current[key]) === null || _errorsRef$current$ke === void 0 ? void 0 : _errorsRef$current$ke.message;
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
const handleSetFieldError = useCallback(() => {
|
|
25
|
+
forceUpdate();
|
|
26
|
+
}, []);
|
|
27
|
+
useEventListener('onSetFieldError', handleSetFieldError);
|
|
28
|
+
const data = {
|
|
29
|
+
fieldErrors,
|
|
30
|
+
formErrors
|
|
31
|
+
};
|
|
32
|
+
return React.createElement(Log, {
|
|
33
|
+
data: data
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
Errors._supportsSpacingProps = true;
|
|
37
|
+
export default Errors;
|
|
38
|
+
//# sourceMappingURL=Errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.js","names":["React","useCallback","useContext","useReducer","DataContext","Log","useEventListener","Errors","forceUpdate","fieldErrorRef","errorsRef","fieldErrors","Object","keys","current","reduce","acc","key","_fieldErrorRef$curren","message","formErrors","_errorsRef$current$ke","handleSetFieldError","data","createElement","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/Tools/Errors.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Log from './Log'\nimport useEventListener from '../DataContext/Provider/useEventListener'\n\nfunction Errors() {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { fieldErrorRef, errorsRef } = useContext(DataContext)\n\n const fieldErrors = Object.keys(fieldErrorRef?.current || {}).reduce(\n (acc, key) => {\n acc[key] = fieldErrorRef?.current[key]?.message\n return acc\n },\n {}\n )\n const formErrors = Object.keys(errorsRef?.current || {}).reduce(\n (acc, key) => {\n acc[key || '/'] = errorsRef?.current[key]?.message\n return acc\n },\n {}\n )\n\n const handleSetFieldError = useCallback(() => {\n forceUpdate()\n }, [])\n useEventListener('onSetFieldError', handleSetFieldError)\n\n const data = {\n fieldErrors,\n formErrors,\n }\n\n return <Log data={data} />\n}\n\nErrors._supportsSpacingProps = true\nexport default Errors\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,QAAQ,OAAO;AAClE,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,gBAAgB,MAAM,0CAA0C;AAEvE,SAASC,MAAMA,CAAA,EAAG;EAChB,MAAM,GAAGC,WAAW,CAAC,GAAGL,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEM,aAAa;IAAEC;EAAU,CAAC,GAAGR,UAAU,CAACE,WAAW,CAAC;EAE5D,MAAMO,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAAJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,OAAO,KAAI,CAAC,CAAC,CAAC,CAACC,MAAM,CAClE,CAACC,GAAG,EAAEC,GAAG,KAAK;IAAA,IAAAC,qBAAA;IACZF,GAAG,CAACC,GAAG,CAAC,GAAGR,aAAa,aAAbA,aAAa,wBAAAS,qBAAA,GAAbT,aAAa,CAAEK,OAAO,CAACG,GAAG,CAAC,cAAAC,qBAAA,uBAA3BA,qBAAA,CAA6BC,OAAO;IAC/C,OAAOH,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EACD,MAAMI,UAAU,GAAGR,MAAM,CAACC,IAAI,CAAC,CAAAH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,OAAO,KAAI,CAAC,CAAC,CAAC,CAACC,MAAM,CAC7D,CAACC,GAAG,EAAEC,GAAG,KAAK;IAAA,IAAAI,qBAAA;IACZL,GAAG,CAACC,GAAG,IAAI,GAAG,CAAC,GAAGP,SAAS,aAATA,SAAS,wBAAAW,qBAAA,GAATX,SAAS,CAAEI,OAAO,CAACG,GAAG,CAAC,cAAAI,qBAAA,uBAAvBA,qBAAA,CAAyBF,OAAO;IAClD,OAAOH,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,MAAMM,mBAAmB,GAAGrB,WAAW,CAAC,MAAM;IAC5CO,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EACNF,gBAAgB,CAAC,iBAAiB,EAAEgB,mBAAmB,CAAC;EAExD,MAAMC,IAAI,GAAG;IACXZ,WAAW;IACXS;EACF,CAAC;EAED,OAAOpB,KAAA,CAAAwB,aAAA,CAACnB,GAAG;IAACkB,IAAI,EAAEA;EAAK,CAAE,CAAC;AAC5B;AAEAhB,MAAM,CAACkB,qBAAqB,GAAG,IAAI;AACnC,eAAelB,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","GenerateSchema","ListAllProps","Log"],"sources":["../../../../../src/extensions/forms/Tools/index.ts"],"sourcesContent":["export { default as GenerateSchema } from './GenerateSchema'\nexport { default as ListAllProps } from './ListAllProps'\nexport { default as Log } from './Log'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc,QAAQ,kBAAkB;AAC5D,SAASD,OAAO,IAAIE,YAAY,QAAQ,gBAAgB;AACxD,SAASF,OAAO,IAAIG,GAAG,QAAQ,OAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","GenerateSchema","ListAllProps","Log","Errors"],"sources":["../../../../../src/extensions/forms/Tools/index.ts"],"sourcesContent":["export { default as GenerateSchema } from './GenerateSchema'\nexport { default as ListAllProps } from './ListAllProps'\nexport { default as Log } from './Log'\nexport { default as Errors } from './Errors'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc,QAAQ,kBAAkB;AAC5D,SAASD,OAAO,IAAIE,YAAY,QAAQ,gBAAgB;AACxD,SAASF,OAAO,IAAIG,GAAG,QAAQ,OAAO;AACtC,SAASH,OAAO,IAAII,MAAM,QAAQ,UAAU","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'r
|
|
|
8
8
|
import ReactDOM from 'react-dom';
|
|
9
9
|
import DataContext, { defaultContextState } from '../../DataContext/Context';
|
|
10
10
|
import WizardContext from '../Context/WizardContext';
|
|
11
|
+
import useEventListener from '../../DataContext/Provider/useEventListener';
|
|
11
12
|
export function PrerenderFieldPropsOfOtherSteps(_ref) {
|
|
12
13
|
let {
|
|
13
14
|
prerenderFieldPropsRef,
|
|
@@ -45,16 +46,13 @@ export function PrerenderFieldPropsOfOtherSteps(_ref) {
|
|
|
45
46
|
}
|
|
46
47
|
function usePrerenderState() {
|
|
47
48
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
48
|
-
const {
|
|
49
|
-
setFieldEventListener
|
|
50
|
-
} = useContext(DataContext);
|
|
51
49
|
let renderContent = true;
|
|
52
50
|
const hasRenderedRef = useRef(false);
|
|
53
51
|
const handleBeforeSubmit = useCallback(() => {
|
|
54
52
|
hasRenderedRef.current = null;
|
|
55
53
|
forceUpdate();
|
|
56
54
|
}, []);
|
|
57
|
-
|
|
55
|
+
useEventListener('onBeforeSubmit', handleBeforeSubmit);
|
|
58
56
|
const state = hasRenderedRef.current;
|
|
59
57
|
useEffect(() => {
|
|
60
58
|
if (hasRenderedRef.current === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrerenderFieldPropsOfOtherSteps.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","ReactDOM","DataContext","defaultContextState","WizardContext","PrerenderFieldPropsOfOtherSteps","_ref","prerenderFieldPropsRef","stepsRef","activeIndex","renderContent","hasRenderedRef","usePrerenderState","usePreventSubmit","createElement","PrerenderPortal","PrerenderFieldPropsProvider","showAllErrorsNow","current","title","hidden","Object","values","map","_ref2","index","fn","Fn","step","get","keepInDOM","key","forceUpdate","setFieldEventListener","handleBeforeSubmit","undefined","state","useEffectPromise","promiseRef","resolveRef","effectPromise","Promise","resolve","_resolveRef$current","call","hasInvalidStepsState","hasUnknownSteps","handleSubmit","_ref3","preventSubmit","remove","_ref4","children","document","createPortal","body","_ref5","dataContext","data","setFieldInternals","updateDataValue","showAllErrors","Provider","value","_objectSpread","hasContext","prerenderFieldProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\n\nexport function PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n stepsRef,\n}: Pick<WizardContextState, 'prerenderFieldPropsRef' | 'stepsRef'>) {\n const { activeIndex } = useContext(WizardContext) || {}\n const { renderContent, hasRenderedRef } = usePrerenderState()\n\n // Prevent submit when there is an error in the other steps\n usePreventSubmit()\n\n return (\n <PrerenderPortal>\n <PrerenderFieldPropsProvider\n showAllErrorsNow={hasRenderedRef.current === null}\n >\n <iframe title=\"Wizard Prerender\" hidden>\n {renderContent &&\n Object.values(prerenderFieldPropsRef.current).map(\n ({ index, fn: Fn }) => {\n if (activeIndex === index) {\n return null\n }\n const step = stepsRef.current.get(index)\n if (step?.keepInDOM === true) {\n return null\n }\n return <Fn key={index} />\n }\n )}\n </iframe>\n </PrerenderFieldPropsProvider>\n </PrerenderPortal>\n )\n}\n\nfunction usePrerenderState() {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { setFieldEventListener } = useContext(DataContext)\n\n // Keep track whether to render the content or not\n let renderContent = true\n\n // Tracks the rendering state: false (initial), null (show content), true (hide content)\n const hasRenderedRef = useRef(false)\n\n const handleBeforeSubmit = useCallback(() => {\n // Ensure we render the content and also force a re-render so it actually gets rendered\n hasRenderedRef.current = null\n forceUpdate()\n }, [])\n setFieldEventListener?.(undefined, 'onBeforeSubmit', handleBeforeSubmit)\n\n // Track state changes to handle re-rendering\n const state = hasRenderedRef.current\n useEffect(() => {\n // Ensure whe don't render the content after the content has been rendered\n if (hasRenderedRef.current === null) {\n hasRenderedRef.current = true\n forceUpdate()\n }\n }, [state])\n\n // Don't render the content\n if (hasRenderedRef.current) {\n renderContent = false\n }\n\n // Ensure we don't render the content again on the next render\n if (hasRenderedRef.current !== null) {\n hasRenderedRef.current = true\n }\n\n return {\n renderContent,\n hasRenderedRef,\n }\n}\n\nfunction useEffectPromise() {\n const promiseRef = useRef<Promise<void>>()\n const resolveRef = useRef<() => void>()\n\n const effectPromise = useCallback(() => {\n promiseRef.current = new Promise((resolve) => {\n resolveRef.current = resolve\n })\n\n return promiseRef.current\n }, [])\n\n useEffect(() => {\n // Delay the promise to allow the prerendered steps to be rendered\n if (resolveRef.current) {\n resolveRef.current?.()\n resolveRef.current = null\n }\n }) // No deps, because we want to run this effect always\n\n return effectPromise\n}\n\nfunction usePreventSubmit() {\n const { setFieldEventListener } = useContext(DataContext)\n const { hasInvalidStepsState } = useContext(WizardContext) || {}\n\n const effectPromise = useEffectPromise()\n const hasUnknownSteps = hasInvalidStepsState(undefined, ['unknown'])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n // - Wait for the prerendered steps to be rendered\n if (hasUnknownSteps) {\n await effectPromise()\n }\n\n // - If there is a step with an error state, we need to prevent the submit\n if (hasInvalidStepsState(undefined, ['error'])) {\n return preventSubmit()\n }\n },\n [hasUnknownSteps, hasInvalidStepsState, effectPromise]\n )\n\n // Only add the listener when there is an unknown step state\n if (hasUnknownSteps) {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit)\n }\n\n useEffect(() => {\n return () => {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit, {\n remove: true,\n })\n }\n }, [handleSubmit, setFieldEventListener])\n}\n\nfunction PrerenderPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ showAllErrorsNow, children }) {\n const dataContext = useContext(DataContext)\n\n const { data, setFieldInternals, updateDataValue, showAllErrors } =\n dataContext || {}\n\n // Run validation of all fields\n if (showAllErrorsNow) {\n return (\n <DataContext.Provider\n value={{\n ...dataContext,\n hasContext: true,\n prerenderFieldProps: true,\n showAllErrors: showAllErrorsNow ? true : showAllErrors,\n }}\n >\n {children}\n </DataContext.Provider>\n )\n }\n\n // Pre-render field props\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n hasContext: true,\n prerenderFieldProps: true,\n\n // Essential methods to pre-render field props\n data,\n setFieldInternals,\n updateDataValue,\n }}\n >\n {children}\n </DataContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PrerenderFieldPropsOfOtherSteps.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","ReactDOM","DataContext","defaultContextState","WizardContext","useEventListener","PrerenderFieldPropsOfOtherSteps","_ref","prerenderFieldPropsRef","stepsRef","activeIndex","renderContent","hasRenderedRef","usePrerenderState","usePreventSubmit","createElement","PrerenderPortal","PrerenderFieldPropsProvider","showAllErrorsNow","current","title","hidden","Object","values","map","_ref2","index","fn","Fn","step","get","keepInDOM","key","forceUpdate","handleBeforeSubmit","state","useEffectPromise","promiseRef","resolveRef","effectPromise","Promise","resolve","_resolveRef$current","call","setFieldEventListener","hasInvalidStepsState","hasUnknownSteps","undefined","handleSubmit","_ref3","preventSubmit","remove","_ref4","children","document","createPortal","body","_ref5","dataContext","data","setFieldInternals","updateDataValue","showAllErrors","Provider","value","_objectSpread","hasContext","prerenderFieldProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport useEventListener from '../../DataContext/Provider/useEventListener'\n\nexport function PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n stepsRef,\n}: Pick<WizardContextState, 'prerenderFieldPropsRef' | 'stepsRef'>) {\n const { activeIndex } = useContext(WizardContext) || {}\n const { renderContent, hasRenderedRef } = usePrerenderState()\n\n // Prevent submit when there is an error in the other steps\n usePreventSubmit()\n\n return (\n <PrerenderPortal>\n <PrerenderFieldPropsProvider\n showAllErrorsNow={hasRenderedRef.current === null}\n >\n <iframe title=\"Wizard Prerender\" hidden>\n {renderContent &&\n Object.values(prerenderFieldPropsRef.current).map(\n ({ index, fn: Fn }) => {\n if (activeIndex === index) {\n return null\n }\n const step = stepsRef.current.get(index)\n if (step?.keepInDOM === true) {\n return null\n }\n return <Fn key={index} />\n }\n )}\n </iframe>\n </PrerenderFieldPropsProvider>\n </PrerenderPortal>\n )\n}\n\nfunction usePrerenderState() {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n // Keep track whether to render the content or not\n let renderContent = true\n\n // Tracks the rendering state: false (initial), null (show content), true (hide content)\n const hasRenderedRef = useRef(false)\n\n const handleBeforeSubmit = useCallback(() => {\n // Ensure we render the content and also force a re-render so it actually gets rendered\n hasRenderedRef.current = null\n forceUpdate()\n }, [])\n useEventListener('onBeforeSubmit', handleBeforeSubmit)\n\n // Track state changes to handle re-rendering\n const state = hasRenderedRef.current\n useEffect(() => {\n // Ensure whe don't render the content after the content has been rendered\n if (hasRenderedRef.current === null) {\n hasRenderedRef.current = true\n forceUpdate()\n }\n }, [state])\n\n // Don't render the content\n if (hasRenderedRef.current) {\n renderContent = false\n }\n\n // Ensure we don't render the content again on the next render\n if (hasRenderedRef.current !== null) {\n hasRenderedRef.current = true\n }\n\n return {\n renderContent,\n hasRenderedRef,\n }\n}\n\nfunction useEffectPromise() {\n const promiseRef = useRef<Promise<void>>()\n const resolveRef = useRef<() => void>()\n\n const effectPromise = useCallback(() => {\n promiseRef.current = new Promise((resolve) => {\n resolveRef.current = resolve\n })\n\n return promiseRef.current\n }, [])\n\n useEffect(() => {\n // Delay the promise to allow the prerendered steps to be rendered\n if (resolveRef.current) {\n resolveRef.current?.()\n resolveRef.current = null\n }\n }) // No deps, because we want to run this effect always\n\n return effectPromise\n}\n\nfunction usePreventSubmit() {\n const { setFieldEventListener } = useContext(DataContext)\n const { hasInvalidStepsState } = useContext(WizardContext) || {}\n\n const effectPromise = useEffectPromise()\n const hasUnknownSteps = hasInvalidStepsState(undefined, ['unknown'])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n // - Wait for the prerendered steps to be rendered\n if (hasUnknownSteps) {\n await effectPromise()\n }\n\n // - If there is a step with an error state, we need to prevent the submit\n if (hasInvalidStepsState(undefined, ['error'])) {\n return preventSubmit()\n }\n },\n [hasUnknownSteps, hasInvalidStepsState, effectPromise]\n )\n\n // Only add the listener when there is an unknown step state\n if (hasUnknownSteps) {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit)\n }\n\n useEffect(() => {\n return () => {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit, {\n remove: true,\n })\n }\n }, [handleSubmit, setFieldEventListener])\n}\n\nfunction PrerenderPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ showAllErrorsNow, children }) {\n const dataContext = useContext(DataContext)\n\n const { data, setFieldInternals, updateDataValue, showAllErrors } =\n dataContext || {}\n\n // Run validation of all fields\n if (showAllErrorsNow) {\n return (\n <DataContext.Provider\n value={{\n ...dataContext,\n hasContext: true,\n prerenderFieldProps: true,\n showAllErrors: showAllErrorsNow ? true : showAllErrors,\n }}\n >\n {children}\n </DataContext.Provider>\n )\n }\n\n // Pre-render field props\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n hasContext: true,\n prerenderFieldProps: true,\n\n // Essential methods to pre-render field props\n data,\n setFieldInternals,\n updateDataValue,\n }}\n >\n {children}\n </DataContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ import { isAsync } from '../../../../shared/helpers/isAsync';
|
|
|
16
16
|
import useId from '../../../../shared/helpers/useId';
|
|
17
17
|
import WizardContext from '../Context/WizardContext';
|
|
18
18
|
import DataContext from '../../DataContext/Context';
|
|
19
|
+
import useEventListener from '../../DataContext/Provider/useEventListener';
|
|
19
20
|
import Handler from '../../Form/Handler/Handler';
|
|
20
21
|
import { createReferenceKey, useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
21
22
|
import useHandleLayoutEffect from './useHandleLayoutEffect';
|
|
@@ -58,8 +59,7 @@ function WizardContainer(props) {
|
|
|
58
59
|
setFormState,
|
|
59
60
|
handleSubmitCall,
|
|
60
61
|
setShowAllErrors,
|
|
61
|
-
setSubmitState
|
|
62
|
-
setFieldEventListener
|
|
62
|
+
setSubmitState
|
|
63
63
|
} = dataContext;
|
|
64
64
|
const id = useId(idProp);
|
|
65
65
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
@@ -68,6 +68,7 @@ function WizardContainer(props) {
|
|
|
68
68
|
const visitedStepsRef = useRef(new Map());
|
|
69
69
|
const fieldErrorRef = useRef(new Map());
|
|
70
70
|
const storeStepStateRef = useRef(new Map());
|
|
71
|
+
const onStepChangeEventsRef = useRef(new Set());
|
|
71
72
|
const hasErrorInOtherStepRef = useRef(false);
|
|
72
73
|
const elementRef = useRef();
|
|
73
74
|
const stepElementRef = useRef();
|
|
@@ -226,8 +227,12 @@ function WizardContainer(props) {
|
|
|
226
227
|
let didSubmit = false;
|
|
227
228
|
const onSubmit = async () => {
|
|
228
229
|
if (!skipStepChangeCallFromHook) {
|
|
229
|
-
var
|
|
230
|
-
|
|
230
|
+
var _onStepChangeEventsRe;
|
|
231
|
+
onStepChangeEventsRef === null || onStepChangeEventsRef === void 0 ? void 0 : (_onStepChangeEventsRe = onStepChangeEventsRef.current) === null || _onStepChangeEventsRe === void 0 ? void 0 : _onStepChangeEventsRe.forEach(onStepChange => {
|
|
232
|
+
if (typeof onStepChange === 'function') {
|
|
233
|
+
onStepChange(index, mode, getStepChangeOptions(index));
|
|
234
|
+
}
|
|
235
|
+
});
|
|
231
236
|
}
|
|
232
237
|
let result = undefined;
|
|
233
238
|
if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
|
|
@@ -305,7 +310,7 @@ function WizardContainer(props) {
|
|
|
305
310
|
preventSubmit();
|
|
306
311
|
}
|
|
307
312
|
}, [hasInvalidStepsState, handleNext]);
|
|
308
|
-
|
|
313
|
+
useEventListener('onSubmit', handleSubmit);
|
|
309
314
|
const {
|
|
310
315
|
check
|
|
311
316
|
} = useVisibility();
|
|
@@ -328,6 +333,7 @@ function WizardContainer(props) {
|
|
|
328
333
|
prerenderFieldProps,
|
|
329
334
|
prerenderFieldPropsRef,
|
|
330
335
|
hasErrorInOtherStepRef,
|
|
336
|
+
onStepChangeEventsRef,
|
|
331
337
|
keepInDOM,
|
|
332
338
|
enableMapOverChildren,
|
|
333
339
|
mapOverChildrenRef,
|