@dnb/eufemia 10.34.1 → 10.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
- package/assets/images/sbanken/sbanken-compact.svg +3 -0
- package/assets/images/sbanken/sbanken.svg +3 -0
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/cjs/components/help-button/HelpButton.js +3 -0
- package/cjs/components/help-button/HelpButton.js.map +1 -1
- package/cjs/components/help-button/style/dnb-help-button.css +4 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
- package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/logo/Logo.d.ts +47 -43
- package/cjs/components/logo/Logo.js +77 -221
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/logo/LogoDocs.d.ts +2 -0
- package/cjs/components/logo/LogoDocs.js +50 -0
- package/cjs/components/logo/LogoDocs.js.map +1 -0
- package/cjs/components/logo/LogoSvg.d.ts +7 -0
- package/cjs/components/logo/LogoSvg.js +81 -0
- package/cjs/components/logo/LogoSvg.js.map +1 -0
- package/cjs/components/modal/Modal.d.ts +2 -0
- package/cjs/components/modal/Modal.js +25 -10
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +4 -0
- package/cjs/components/number-format/NumberFormat.js +5 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +3 -0
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/types.d.ts +1 -1
- package/cjs/components/progress-indicator/types.js.map +1 -1
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -0
- package/cjs/components/table/Table.js +15 -3
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableAccordion.d.ts +7 -11
- package/cjs/components/table/TableAccordion.js +32 -21
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableTr.js +24 -25
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +1 -5
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsDocs.js +1 -1
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/cjs/extensions/forms/Form/Section/Section.js +10 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +46 -44
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/cjs/fragments/text-counter/TextCounter.js +3 -2
- package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
- package/cjs/shared/Context.d.ts +9 -5
- package/cjs/shared/Context.js +40 -35
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.d.ts +1 -1
- package/cjs/shared/Provider.js +49 -42
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/Translation.d.ts +5 -5
- package/cjs/shared/Translation.js +6 -11
- package/cjs/shared/Translation.js.map +1 -1
- package/cjs/shared/index.d.ts +1 -0
- package/cjs/shared/index.js +26 -1
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +0 -3
- package/cjs/shared/locales/en-GB.js +0 -3
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +0 -3
- package/cjs/shared/locales/index.d.ts +0 -6
- package/cjs/shared/locales/nb-NO.d.ts +0 -3
- package/cjs/shared/locales/nb-NO.js +0 -3
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +5 -4
- package/cjs/shared/useTranslation.js +14 -12
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +57 -44
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +46 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +46 -44
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +2 -1
- package/cjs/style/dnb-ui-fragments.css +4 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/globals.scss +3 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/components/button/Button.js.map +1 -1
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/GlobalStatusController.js.map +1 -1
- package/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/components/help-button/HelpButton.js +3 -0
- package/components/help-button/HelpButton.js.map +1 -1
- package/components/help-button/style/dnb-help-button.css +4 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -0
- package/components/help-button/style/dnb-help-button.scss +6 -0
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/logo/Logo.d.ts +47 -43
- package/components/logo/Logo.js +75 -221
- package/components/logo/Logo.js.map +1 -1
- package/components/logo/LogoDocs.d.ts +2 -0
- package/components/logo/LogoDocs.js +43 -0
- package/components/logo/LogoDocs.js.map +1 -0
- package/components/logo/LogoSvg.d.ts +7 -0
- package/components/logo/LogoSvg.js +73 -0
- package/components/logo/LogoSvg.js.map +1 -0
- package/components/modal/Modal.d.ts +2 -0
- package/components/modal/Modal.js +25 -10
- package/components/modal/Modal.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +4 -0
- package/components/number-format/NumberFormat.js +5 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/style/dnb-number-format.css +3 -0
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/number-format/style/dnb-number-format.scss +4 -0
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationHelpers.js.map +1 -1
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/types.d.ts +1 -1
- package/components/progress-indicator/types.js.map +1 -1
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/switch/Switch.js.map +1 -1
- package/components/table/Table.d.ts +6 -0
- package/components/table/Table.js +13 -3
- package/components/table/Table.js.map +1 -1
- package/components/table/TableAccordion.d.ts +7 -11
- package/components/table/TableAccordion.js +29 -20
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableTr.js +25 -26
- package/components/table/TableTr.js.map +1 -1
- package/components/tabs/Tabs.js +1 -5
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsDocs.js +1 -1
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/es/components/button/Button.js.map +1 -1
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatusController.js.map +1 -1
- package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/es/components/help-button/HelpButton.js +3 -0
- package/es/components/help-button/HelpButton.js.map +1 -1
- package/es/components/help-button/style/dnb-help-button.css +4 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -0
- package/es/components/help-button/style/dnb-help-button.scss +6 -0
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/logo/Logo.d.ts +47 -43
- package/es/components/logo/Logo.js +75 -221
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/logo/LogoDocs.d.ts +2 -0
- package/es/components/logo/LogoDocs.js +43 -0
- package/es/components/logo/LogoDocs.js.map +1 -0
- package/es/components/logo/LogoSvg.d.ts +7 -0
- package/es/components/logo/LogoSvg.js +72 -0
- package/es/components/logo/LogoSvg.js.map +1 -0
- package/es/components/modal/Modal.d.ts +2 -0
- package/es/components/modal/Modal.js +25 -10
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +4 -0
- package/es/components/number-format/NumberFormat.js +5 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/style/dnb-number-format.css +3 -0
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/number-format/style/dnb-number-format.scss +4 -0
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationHelpers.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/types.d.ts +1 -1
- package/es/components/progress-indicator/types.js.map +1 -1
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -0
- package/es/components/table/Table.js +13 -3
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableAccordion.d.ts +7 -11
- package/es/components/table/TableAccordion.js +29 -19
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableTr.js +25 -26
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/tabs/Tabs.js +1 -5
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsDocs.js +1 -1
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +7 -2
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/es/extensions/forms/Form/Section/Section.js +10 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/es/extensions/forms/hooks/useDataValue.js +30 -5
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +14 -9
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +7 -12
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +46 -44
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/es/fragments/text-counter/TextCounter.js +3 -2
- package/es/fragments/text-counter/TextCounter.js.map +1 -1
- package/es/shared/Context.d.ts +9 -5
- package/es/shared/Context.js +39 -35
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.d.ts +1 -1
- package/es/shared/Provider.js +49 -41
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/Translation.d.ts +5 -5
- package/es/shared/Translation.js +8 -10
- package/es/shared/Translation.js.map +1 -1
- package/es/shared/index.d.ts +1 -0
- package/es/shared/index.js +1 -0
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +0 -3
- package/es/shared/locales/en-GB.js +0 -3
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +0 -3
- package/es/shared/locales/index.d.ts +0 -6
- package/es/shared/locales/nb-NO.d.ts +0 -3
- package/es/shared/locales/nb-NO.js +0 -3
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTranslation.d.ts +5 -4
- package/es/shared/useTranslation.js +13 -11
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +57 -44
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +46 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +46 -44
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +2 -1
- package/es/style/dnb-ui-fragments.css +4 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/globals.scss +3 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/globals.scss +3 -2
- package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +2 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +7 -2
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/extensions/forms/Form/Section/Section.js +10 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +1 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/extensions/forms/hooks/useDataValue.js +30 -5
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +14 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +7 -12
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +46 -44
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/fragments/text-counter/TextCounter.js +3 -2
- package/fragments/text-counter/TextCounter.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +9 -5
- package/shared/Context.js +40 -35
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.d.ts +1 -1
- package/shared/Provider.js +49 -41
- package/shared/Provider.js.map +1 -1
- package/shared/Translation.d.ts +5 -5
- package/shared/Translation.js +8 -10
- package/shared/Translation.js.map +1 -1
- package/shared/index.d.ts +1 -0
- package/shared/index.js +1 -0
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +0 -3
- package/shared/locales/en-GB.js +0 -3
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +0 -3
- package/shared/locales/index.d.ts +0 -6
- package/shared/locales/nb-NO.d.ts +0 -3
- package/shared/locales/nb-NO.js +0 -3
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTranslation.d.ts +5 -4
- package/shared/useTranslation.js +13 -11
- package/shared/useTranslation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +57 -44
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +46 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +46 -44
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +2 -1
- package/style/dnb-ui-fragments.css +4 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/globals.scss +3 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/globals.scss +3 -2
- package/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","extend","props","path","pathProp","value","valueProp","defaultValue","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","errorPrioritization","hasPath","identifier","makeIteratePath","defaultValueRef","externalValue","current","valueRef","changedRef","hasFocusRef","paths","split","length","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","arguments","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","errorMessagesRef","messageWithValues","Object","entries","messageValues","reduce","_ref2","replace","hasVisibleError","hasErrorProp","hasError","_ref4","_objectSpread","Field","errorRequired","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","_ref5","waitFor","Promise","_ref6","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","data","existingValue","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldSectionProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n defaultValue,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateElementContext ?? {}\n const { path: sectionPath, errorPrioritization } = sectionContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const defaultValueRef = useRef(defaultValue)\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n }) ?? defaultValueRef.current\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n }, [showFieldErrorFieldBlock, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n }, [showFieldErrorFieldBlock, identifier])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n hasPath,\n identifier,\n hasError,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(makeIteratePath(), transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = valueProp\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, identifier)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n typeof defaultValueRef.current !== 'undefined' &&\n typeof value === 'undefined'\n ) {\n value = defaultValueRef.current\n defaultValueRef.current = undefined\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n hasPath,\n identifier,\n updateDataValueDataContext,\n validateDataDataContext,\n valueProp,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldSectionProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldSectionProps)\n\n return {\n ...props,\n ...fieldSectionProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","extend","props","path","pathProp","value","valueProp","defaultValue","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","setHasVisibleError","setHasVisibleErrorDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","errorPrioritization","hasPath","identifier","makeIteratePath","defaultValueRef","externalValue","current","valueRef","changedRef","hasFocusRef","paths","split","length","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","errorMessagesRef","_objectSpread","Field","errorRequired","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","arguments","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messageWithValues","Object","entries","messageValues","reduce","_ref2","replace","hasVisibleError","hasErrorProp","hasError","_ref4","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","_ref5","waitFor","Promise","_ref6","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","data","existingValue","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldSectionProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n defaultValue,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n setHasVisibleError: setHasVisibleErrorDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateElementContext ?? {}\n const { path: sectionPath, errorPrioritization } = sectionContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const defaultValueRef = useRef(defaultValue)\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n }) ?? defaultValueRef.current\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // Needs to be placed before \"prepareError\"\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n if (localErrorRef.current) {\n setHasVisibleErrorDataContext?.(identifier, true)\n }\n }, [showFieldErrorFieldBlock, identifier, setHasVisibleErrorDataContext])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n setHasVisibleErrorDataContext?.(identifier, false)\n }, [setHasVisibleErrorDataContext, identifier, showFieldErrorFieldBlock])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n hasPath,\n yieldAsyncProcess,\n identifier,\n onChangeContext,\n defineAsyncProcess,\n hasError,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(makeIteratePath(), transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = valueProp\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, identifier)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n typeof defaultValueRef.current !== 'undefined' &&\n typeof value === 'undefined'\n ) {\n value = defaultValueRef.current\n defaultValueRef.current = undefined\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n hasPath,\n identifier,\n updateDataValueDataContext,\n validateDataDataContext,\n valueProp,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldSectionProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldSectionProps)\n\n return {\n ...props,\n ...fieldSectionProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":";;;;;AAAA,SACEA,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,UAAU,QAEL,OAAO;AACd,OAAOC,OAAO,MAAM,cAAc;AAElC,SAASC,YAAY,QAAQ,UAAU;AACvC,SAASC,uBAAuB,QAAQ,cAAc;AACtD,SACEC,SAAS,QAMJ,UAAU;AACjB,SAASC,OAAO,IAAIC,WAAW,QAAsB,gBAAgB;AACrE,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,OAAOC,KAAK,MAAM,+BAA+B;AACjD,OAAOC,eAAe,MAAM,yCAAyC;AACrE,OAAOC,cAAc,MAAM,wCAAwC;AACnE,OAAOC,gBAAgB,MAAM,0CAA0C;AACvE,OAAOC,iBAAiB,MAAM,iCAAiC;AAC/D,OAAOC,qBAAqB,MAAM,kCAAkC;AACpE,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,OAAOC,oBAAoB,MAAM,mDAAmD;AACpF,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,OAAO,MAAM,WAAW;AAC/B,SACEC,iBAAiB,EACjBC,cAAc,QACT,wCAAwC;AAC/C,SAASC,OAAO,QAAQ,iCAAiC;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,gBAAgB,MAAM,oBAAoB;AAiCjD,eAAe,SAASC,aAAaA,CAInCC,WAAkB,EACmC;EAAA,IAAAC,kBAAA;IAAAC,iBAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,KAAA;IAAAC,KAAA;IAAAC,WAAA;IAAAC,mBAAA;EACrD,MAAM;IAAEC;EAAO,CAAC,GAAGrC,UAAU,CAACU,iBAAiB,CAAC;EAChD,MAAM4B,KAAK,GAAGD,MAAM,CAAQT,WAAW,CAAC;EAExC,MAAM;IACJW,IAAI,EAAEC,QAAQ;IACdC,KAAK,EAAEC,SAAS;IAChBC,YAAY;IACZC,QAAQ;IACRC,UAAU;IACVC,QAAQ,EAAEC,YAAY;IACtBC,QAAQ,EAAEC,YAAY;IACtBC,IAAI;IACJC,OAAO;IACPC,KAAK,EAAEC,SAAS;IAChBC,aAAa;IACbC,OAAO;IACPC,MAAM;IACNC,QAAQ;IACRC,eAAe;IACfC,SAAS;IACTC,MAAM;IACNC,iBAAiB;IACjBC,iBAAiB;IACjBC,oBAAoB;IACpBC,WAAW,GAAIvB,KAAY,IAAKA,KAAK;IACrCwB,YAAY,GAAIxB,KAAY,IAAKA,KAAK;IACtCyB,OAAO,GAAIzB,KAAY,IAAKA,KAAK;IACjC0B,SAAS,GAAI1B,KAAY,IAAKA,KAAK;IACnC2B,OAAO,GAAI3B,KAAY,IAAKA,KAAK;IACjC4B,cAAc,GAAI5B,KAAY,IAAKA,KAAK;IACxC6B,YAAY,GAAI7B,KAAY,IAAKA,KAAK;IACtC8B,gBAAgB,GAAGA,CAAC9B,KAAY,EAAA+B,IAAA,KAAsC;MAAA,IAApC;QAAE3B,UAAU;QAAEC,QAAQ;QAAEM;MAAM,CAAC,GAAAoB,IAAA;MAC/D,MAAMC,GAAG,GACP3B,QAAQ,KACPL,KAAK,KAAKI,UAAU,IAClB,OAAOA,UAAU,KAAK,WAAW,IAAIJ,KAAK,KAAK,EAAG,CAAC,GAClDW,KAAK,GACLsB,SAAS;MAEf,OAAOD,GAAG;IACZ;EACF,CAAC,GAAGnC,KAAK;EAET,MAAM,GAAGqC,WAAW,CAAC,GAAGxE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEyE;EAAa,CAAC,GAAGxD,iBAAiB,CAAC,CAAC;EAC5C,MAAMyD,EAAE,GAAGjE,KAAK,CAAC0B,KAAK,CAACuC,EAAE,CAAC;EAC1B,MAAMC,WAAW,GAAG9E,UAAU,CAACS,WAAW,CAAC;EAC3C,MAAMsE,iBAAiB,GAAG/E,UAAU,CAACgB,iBAAiB,CAAC;EACvD,MAAMgE,qBAAqB,GAAGhF,UAAU,CAACiB,qBAAqB,CAAC;EAC/D,MAAMgE,cAAc,GAAGjF,UAAU,CAACkB,cAAc,CAAC;EACjD,MAAMgE,oBAAoB,GAAGlF,UAAU,CAACmB,oBAAoB,CAAC;EAC7D,MAAMgE,WAAW,GAAG1D,cAAc,CAAC,CAAC;EAEpC,MAAM2D,YAAY,GAAGtF,MAAM,CAAC;IAC1BkE,WAAW;IACXC,YAAY;IACZC,OAAO;IACPC,SAAS;IACTC,OAAO;IACPE,YAAY;IACZD,cAAc;IACdE;EACF,CAAC,CAAC;EAEF,MAAM;IACJc,2BAA2B,EAAEC,sCAAsC;IACnEC,gBAAgB,EAAEC,2BAA2B;IAC7CC,eAAe,EAAEC,0BAA0B;IAC3CC,YAAY,EAAEC,uBAAuB;IACrCC,aAAa,EAAEC,wBAAwB;IACvCC,aAAa,EAAEC,wBAAwB;IACvCC,aAAa,EAAEC,mBAAmB;IAClCC,kBAAkB,EAAEC,6BAA6B;IACjDC,MAAM,EAAEC,iBAAiB;IACzBC;EACF,CAAC,GAAGzB,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,CAAC,CAAC;EACrB,MAAM0B,eAAe,GAAG1B,WAAW,aAAXA,WAAW,wBAAAjD,kBAAA,GAAXiD,WAAW,CAAExC,KAAK,cAAAT,kBAAA,uBAAlBA,kBAAA,CAAoB4B,QAAQ;EAEpD,MAAMT,QAAQ,GAAGC,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAIX,KAAK,CAACmE,QAAQ;EAC/C,MAAMC,YAAY,GAAGC,OAAO,CAAC5B,iBAAiB,CAAC;EAC/C,MAAM;IACJc,aAAa,EAAEe,uBAAuB;IACtCC,cAAc,EAAEC,wBAAwB;IACxCC,gBAAgB,EAAEC;EACpB,CAAC,GAAGjC,iBAAiB,aAAjBA,iBAAiB,cAAjBA,iBAAiB,GAAI,CAAC,CAAC;EAC3B,MAAM;IAAEkC,YAAY,EAAEC;EAA2B,CAAC,GAChDlC,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAC7B,MAAM;IAAEzC,IAAI,EAAE4E,WAAW;IAAEC;EAAoB,CAAC,GAAGnC,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAC;EACvE,MAAM;IAAEc;EAAc,CAAC,GAAGb,oBAAoB,aAApBA,oBAAoB,cAApBA,oBAAoB,GAAI,CAAC,CAAC;EAEpD,MAAMmC,OAAO,GAAGV,OAAO,CAACnE,QAAQ,CAAC;EACjC,MAAM;IAAED,IAAI;IAAE+E,UAAU;IAAEC;EAAgB,CAAC,GAAGlG,OAAO,CAAC;IACpDwD,EAAE;IACFtC,IAAI,EAAEC,QAAQ;IACdI;EACF,CAAC,CAAC;EAEF,MAAM4E,eAAe,GAAG1H,MAAM,CAAC6C,YAAY,CAAC;EAC5C,MAAM8E,aAAa,IAAA3F,iBAAA,GACjBJ,gBAAgB,CAAQ;IACtBa,IAAI;IACJK,QAAQ;IACRH,KAAK,EAAEC,SAAS;IAChB0C,YAAY;IACZvC;EACF,CAAC,CAAC,cAAAf,iBAAA,cAAAA,iBAAA,GAAI0F,eAAe,CAACE,OAAO;EAO/B,MAAMC,QAAQ,GAAG7H,MAAM,CAAQ2H,aAAa,CAAC;EAC7C,MAAMG,UAAU,GAAG9H,MAAM,CAAU,KAAK,CAAC;EACzC,MAAM+H,WAAW,GAAG/H,MAAM,CAAU,KAAK,CAAC;EAE1C,MAAMgD,QAAQ,GAAG5C,OAAO,CAAC,MAAM;IAC7B,IAAI6C,YAAY,EAAE;MAChB,OAAOA,YAAY;IACrB;IAEA,MAAM+E,KAAK,GAAGR,UAAU,CAACS,KAAK,CAAC,GAAG,CAAC;IACnC,IAAID,KAAK,CAACE,MAAM,GAAG,CAAC,KAAKpE,MAAM,IAAIkB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAElB,MAAM,CAAC,EAAE;MACvD,MAAMqE,YAAY,GAAG,CAACrE,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAG,UAAU,CAAC,CAAC;MAE3C,IAAIkE,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;QACpB,MAAMpE,MAAM,GAAGkB,WAAW,CAAClB,MAAM;QACjC,MAAMsE,UAAU,GAAGJ,KAAK,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,cAAc,CAAC;QAC1D,MAAMC,UAAU,GAAGjI,OAAO,CAACkI,GAAG,CAAC1E,MAAM,EAAEsE,UAAU,CAAC,GAC9C9H,OAAO,CAACmI,GAAG,CAAC3E,MAAM,EAAEsE,UAAU,CAAC,GAC/BtE,MAAM;QAEVqE,YAAY,CAACO,IAAI,CAACH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEvF,QAAQ,CAAC;MACzC;MAEA,IAAIqE,WAAW,EAAE;QACfW,KAAK,CAACU,IAAI,CAACrB,WAAW,CAACsB,SAAS,CAAC,CAAC,CAAC,CAAC;MACtC;MAEA,MAAMC,SAAS,GAAGT,YAAY,CAACU,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAACC,MAAM,CAAClC,OAAO,CAAC;MAChE,IACEmB,KAAK,CACFe,MAAM,CAAClC,OAAO,CAAC,CACfmC,IAAI,CAAEC,CAAC,IAAKL,SAAS,CAACI,IAAI,CAAEE,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACF,CAAC,CAAC,CAAC,CAAC,EACpD;QACA,OAAO,IAAI;MACb;IACF;EACF,CAAC,EAAE,CAAC5B,WAAW,EAAErC,WAAW,CAAClB,MAAM,EAAE0D,UAAU,EAAEvE,YAAY,EAAEa,MAAM,CAAC,CAAC;EAKvE,MAAMsF,YAAY,GAAGpJ,MAAM,CACzB6G,OAAO,CAAC9C,iBAAiB,IAAIR,SAAS,CACxC,CAAC;EAED,MAAM8F,cAAc,GAAGrJ,MAAM,CAE3B,CAAC,CAAC,CAAC;EACL,MAAMsJ,aAAa,GAAGtJ,MAAM,CAAgC,CAAC;EAC7D,MAAMuJ,gBAAgB,GAAGvJ,MAAM,CAAC,KAAK,CAAC;EAEtC,MAAMwJ,gBAAgB,GAAGpJ,OAAO,CAAC,MAAM;IACrC,OAAOqC,IAAI,GAAG+D,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAGgB,UAAU,CAAC,GAAG5C,SAAS;EAC3D,CAAC,EAAE,CAAC4B,iBAAiB,EAAEgB,UAAU,EAAE/E,IAAI,CAAC,CAAC;EACzC,MAAMgH,eAAe,GAAGzJ,MAAM,CAC5BwJ,gBACF,CAAC;EAED,MAAME,YAAY,GAAG1J,MAAM,CAAC6D,SAAS,CAAC;EACtC9C,eAAe,CAAC,MAAM;IACpB2I,YAAY,CAAC9B,OAAO,GAAG/D,SAAS;EAClC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACf,MAAM8F,kBAAkB,GAAG3J,MAAM,CAAC4D,eAAe,CAAC;EAClD7C,eAAe,CAAC,MAAM;IACpB4I,kBAAkB,CAAC/B,OAAO,GAAGhE,eAAe;EAC9C,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErB,MAAMgG,kBAAkB,GAAG5J,MAAM,CAC/B8D,MAAM,IAAA7B,qBAAA,GAAG+C,WAAW,CAAC6E,WAAW,cAAA5H,qBAAA,uBAAvBA,qBAAA,CAAyB6H,OAAO,CAAChG,MAAM,CAAC,GAAGc,SACtD,CAAC;EAGD,MAAMmF,gBAAgB,GAAG/J,MAAM,CAAC,IAAI,CAAC;EACrC+J,gBAAgB,CAACnC,OAAO,GAAGxH,OAAO,CAAC,MAAM;IACvC,OAAA4J,aAAA;MACEhH,QAAQ,EAAEqC,WAAW,CAAC4E,KAAK,CAACC;IAAa,GACtC1G,aAAa;EAEpB,CAAC,EAAE,CAACA,aAAa,EAAE6B,WAAW,CAAC4E,KAAK,CAACC,aAAa,CAAC,CAAC;EAGpD,MAAMC,sBAAsB,GAAG/J,OAAO,CAAC,MAAM;IAC3C,OAAOsB,OAAO,CAACiC,QAAQ,CAAC,IAAIjC,OAAO,CAACgF,eAAe,CAAC;EACtD,CAAC,EAAE,CAACA,eAAe,EAAE/C,QAAQ,CAAC,CAAC;EAC/B,MAAMyG,cAAc,GAAGpK,MAAM,CAAQ,CAAC;EACtC,MAAMqK,oBAAoB,GAAGrK,MAAM,CAA8B,IAAI,CAAC;EACtE,MAAMsK,eAAe,GAAGtK,MAAM,CAAiB,IAAI,CAAC;EACpD,MAAMuK,kBAAkB,GAAGpK,WAAW,CAAEqK,IAAoB,IAAK;IAC/DF,eAAe,CAAC1C,OAAO,GAAG4C,IAAI;EAChC,CAAC,EAAE,EAAE,CAAC;EAIN,MAAMC,cAAc,GAAGzK,MAAM,CAE3B,CAAC,CAAC,CAAC;EAEL,KAAK,MAAM0K,GAAG,IAAID,cAAc,CAAC7C,OAAO,EAAE;IACxC,MAAM;MAAE+C,OAAO;MAAEC;IAAkB,CAAC,GAAIH,cAAc,CAAC7C,OAAO,CAAC8C,GAAG,CAAC,IACjE,CAAC,CAA0B;IAC7B,IAAI,CAAAE,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAG,CAAC,MAAK,KAAK,EAAE;MACnC,OAAOH,cAAc,CAAC7C,OAAO,CAAC8C,GAAG,CAAC;MAClC,IAAI,OAAOC,OAAO,KAAK,UAAU,EAAE;QACjCE,MAAM,CAACC,qBAAqB,CAACH,OAAO,CAAC;MACvC;IACF;EACF;EAEA,MAAMI,SAAS,GAAG/K,MAAM,CAAC;IACvB6D,SAAS,EAAE,IAAI;IACfD,eAAe,EAAE,IAAI;IACrB8C,eAAe,EAAE,IAAI;IACrBsE,aAAa,EAAE;EACjB,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAG9K,WAAW,CAC3B,CAACqK,IAAoC,EAAEU,EAAE,EAAEC,QAAQ,KAAK;IACtD,IAAI,CAACJ,SAAS,CAACnD,OAAO,CAAC4C,IAAI,CAAC,EAAE;MAC5BO,SAAS,CAACnD,OAAO,CAAC4C,IAAI,CAAC,GAAG;QAAEU,EAAE;QAAEC;MAAS,CAAC;IAC5C;EACF,CAAC,EACD,EACF,CAAC;EAED,MAAMC,OAAO,GAAGjL,WAAW,CAAC,kBAAqB;IAAA,IAAdkL,EAAE,GAAAC,SAAA,CAAApD,MAAA,QAAAoD,SAAA,QAAA1G,SAAA,GAAA0G,SAAA,MAAG,IAAI;IAC1C,KAAK,MAAMZ,GAAG,IAAIK,SAAS,CAACnD,OAAO,EAAE;MACnC,IAAI,CAACmD,SAAS,CAACnD,OAAO,CAAC8C,GAAG,CAAC,IAAIK,SAAS,CAACnD,OAAO,CAAC8C,GAAG,CAAC,CAACa,OAAO,EAAE;QAC7D;MACF;MAEA,MAAM;QAAEL,EAAE;QAAEC;MAAS,CAAC,GAAGJ,SAAS,CAACnD,OAAO,CAAC8C,GAAG,CAAC,IAAI,CAAC,CAAC;MACrD,IAAIQ,EAAE,EAAE;QACNH,SAAS,CAACnD,OAAO,CAAC8C,GAAG,CAAC,CAACa,OAAO,GAAG,IAAI;QACrCR,SAAS,CAACnD,OAAO,CAAC8C,GAAG,CAAC,GAAG,IAAI;QAE7B,IAAIS,QAAQ,EAAE;UACZ,MAAMD,EAAE,CAAC,CAAC;QACZ,CAAC,MAAM;UACLA,EAAE,CAAC,CAAC;QACN;MACF;IACF;IAIAG,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAG,CAAC;EACR,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,aAAa,GAAGxL,MAAM,CAA4B,CAAC;EACzD,MAAM+F,aAAa,GAAG5F,WAAW,CAC9BsL,KAAgC,IAAK;IACpCD,aAAa,CAAC5D,OAAO,GAAG6D,KAAK;IAC7BzF,wBAAwB,CAACwB,UAAU,EAAEkE,sBAAsB,CAACD,KAAK,CAAC,CAAC;IACnE,IAAI,CAAC1H,iBAAiB,EAAE;MACtBc,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EACD,CAACmB,wBAAwB,EAAEwB,UAAU,EAAEzD,iBAAiB,CAC1D,CAAC;EAED,MAAM4H,SAAS,GAAGxL,WAAW,CAAC,MAAM;IAClCiJ,YAAY,CAACxB,OAAO,GAAG,IAAI;IAC3BZ,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGQ,UAAU,EAAE,IAAI,CAAC;IAC5C,IAAI8B,aAAa,CAAC1B,OAAO,EAAE;MACzBtB,6BAA6B,aAA7BA,6BAA6B,uBAA7BA,6BAA6B,CAAGkB,UAAU,EAAE,IAAI,CAAC;IACnD;EACF,CAAC,EAAE,CAACR,wBAAwB,EAAEQ,UAAU,EAAElB,6BAA6B,CAAC,CAAC;EAEzE,MAAMsF,SAAS,GAAGzL,WAAW,CAAC,MAAM;IAClCiJ,YAAY,CAACxB,OAAO,GAAG,KAAK;IAC5BZ,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGQ,UAAU,EAAE,KAAK,CAAC;IAC7ClB,6BAA6B,aAA7BA,6BAA6B,uBAA7BA,6BAA6B,CAAGkB,UAAU,EAAE,KAAK,CAAC;EACpD,CAAC,EAAE,CAAClB,6BAA6B,EAAEkB,UAAU,EAAER,wBAAwB,CAAC,CAAC;EAKzE,MAAM6E,YAAY,GAAG1L,WAAW,CAC7BmD,KAAoC,IAA4B;IAC/D,IAAIA,KAAK,YAAY7C,SAAS,EAAE;MAAA,IAAAqL,oBAAA;MAC9B,IAAIC,OAAO,GAAGzI,KAAK,CAACyI,OAAO;MAE3B,MAAM;QAAEC;MAAe,CAAC,GAAG1I,KAAK;MAChC,IAAI,OAAO0I,cAAc,KAAK,QAAQ,EAAE;QAAA,IAAAC,qBAAA;QACtC,MAAMC,YAAY,IAAAD,qBAAA,GAAGlC,gBAAgB,CAACnC,OAAO,cAAAqE,qBAAA,uBAAxBA,qBAAA,CAA2BD,cAAc,CAAC;QAC/D,IAAIE,YAAY,EAAE;UAChBH,OAAO,GAAGG,YAAY;QACxB;MACF;MAEA,MAAMC,iBAAiB,GAAGC,MAAM,CAACC,OAAO,EAAAP,oBAAA,GACtCxI,KAAK,CAACgJ,aAAa,cAAAR,oBAAA,cAAAA,oBAAA,GAAI,CAAC,CAC1B,CAAC,CAACS,MAAM,CAAC,CAACR,OAAO,EAAAS,KAAA,KAAmB;QAAA,IAAjB,CAAC9B,GAAG,EAAE/H,KAAK,CAAC,GAAA6J,KAAA;QAC7B,OAAOT,OAAO,CAACU,OAAO,CAAE,IAAG/B,GAAI,GAAE,EAAE/H,KAAK,CAAC;MAC3C,CAAC,EAAEoJ,OAAO,CAAC;MAEXzI,KAAK,CAACyI,OAAO,GAAGI,iBAAiB;MAEjC,OAAO7I,KAAK;IACd;IAEA,OAAOA,KAAK;EACd,CAAC,EACD,EACF,CAAC;EAEDmG,eAAe,CAAC7B,OAAO,GAAGxH,OAAO,CAAC,MAAM;IACtC,IAAI,CAACoJ,gBAAgB,EAAE;MACrB,OAAO5E,SAAS;IAClB;IACA,MAAMtB,KAAK,GAAGuI,YAAY,CAACrC,gBAAgB,CAAC;IAC5C,IAAIjJ,YAAY,CAAC+C,KAAK,EAAEmG,eAAe,CAAC7B,OAAO,CAAC,EAAE;MAChD,OAAOtE,KAAK;IACd;EACF,CAAC,EAAE,CAACkG,gBAAgB,EAAEqC,YAAY,CAAC,CAAC;EAEpC,MAAMvI,KAAK,GACT8F,YAAY,CAACxB,OAAO,IAEpB,EAAA1F,qBAAA,GAAAoH,aAAa,CAAC1B,OAAO,cAAA1F,qBAAA,uBAArBA,qBAAA,CAAwB,gBAAgB,CAAC,MAAK,MAAM,IAAAC,KAAA,GAChDoB,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI+F,aAAa,CAAC1B,OAAO,cAAAzF,KAAA,cAAAA,KAAA,GAAIsH,eAAe,CAAC7B,OAAO,GAC7DhD,SAAS;EAEf,MAAM8H,eAAe,GACnB7F,OAAO,CAACvD,KAAK,CAAC,IAAKsD,YAAY,IAAI3B,iBAAiB,CAAC0H,YAAa;EACpE,MAAMC,QAAQ,GAAGzM,WAAW,CAAC,MAAM;IAAA,IAAA0M,KAAA;IACjC,OAAOhG,OAAO,EAAAgG,KAAA,GACZtJ,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI+F,aAAa,CAAC1B,OAAO,cAAAiF,KAAA,cAAAA,KAAA,GAAIpD,eAAe,CAAC7B,OACxD,CAAC;EACH,CAAC,EAAE,CAACrE,SAAS,CAAC,CAAC;EAKf,MAAMuJ,OAAO,GAAGhM,KAAK,CAAC,CAAC;EACvB,MAAMiM,iBAAiB,GAAG5M,WAAW,CACnC,UACE6M,MAA+B,EAE5B;IAAA,IADHC,QAAuC,GAAA3B,SAAA,CAAApD,MAAA,QAAAoD,SAAA,QAAA1G,SAAA,GAAA0G,SAAA,MAAG1G,SAAS;IAEnD,MAAMtB,KAAK,GAAGuI,YAAY,CAACoB,QAAQ,CAAC;IAEpC,IAAI,CAAC1M,YAAY,CAAC+C,KAAK,EAAEgG,aAAa,CAAC1B,OAAO,CAAC,EAAE;MAG/C;IACF;IAEA,IAAIoF,MAAM,KAAK,MAAM,EAAE;MACrB3D,cAAc,CAACzB,OAAO,GAAG,CAAC,CAAC;IAC7B,CAAC,MAAM;MACLyB,cAAc,CAACzB,OAAO,CAACoF,MAAM,CAAC,GAAG1J,KAAK;IACxC;IAEA,IACE,CAACA,KAAK,IACN0J,MAAM,KAAK,YAAY,IACvBZ,MAAM,CAACc,IAAI,CAAC7D,cAAc,CAACzB,OAAO,CAAC,CAACmB,MAAM,CAAClC,OAAO,CAAC,CAACqB,MAAM,GAAG,CAAC,EAC9D;MAEA;IACF;IAEAoB,aAAa,CAAC1B,OAAO,GAAGtE,KAAK;IAG7B4C,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGsB,UAAU,EAAElE,KAAK,CAAC;IAC7C2C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGuB,UAAU,EAAElE,KAAK,CAAC;IAGlC0C,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGwB,UAAU,EAAElE,KAAK,GAAG,OAAO,GAAGsB,SAAS,CAAC;IACnEkC,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAG;MACxBgG,OAAO;MACPtF,UAAU;MACV2F,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE9J,KAAK;MACd+J,aAAa,EAAExG,OAAO,CAACD,YAAY,IAAI7C,iBAAiB;IAC1D,CAAC,CAAC;IAEFc,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CACEgH,YAAY,EACZ3F,wBAAwB,EACxBsB,UAAU,EACVvB,aAAa,EACbD,wBAAwB,EACxBc,uBAAuB,EACvBgG,OAAO,EACPlG,YAAY,EACZ7C,iBAAiB,CAErB,CAAC;EAED,MAAMuJ,eAAe,GAAGnN,WAAW,CAAC,MAAM;IACxC4M,iBAAiB,CAAC,MAAM,CAAC;IACzBxD,gBAAgB,CAAC3B,OAAO,GAAG,KAAK;EAClC,CAAC,EAAE,CAACmF,iBAAiB,CAAC,CAAC;EAEvB,MAAMQ,aAAa,GAAGpN,WAAW,CAAC,YAAY;IAC5C,IAAI,OAAOuJ,YAAY,CAAC9B,OAAO,KAAK,UAAU,EAAE;MAC9C;IACF;IAEA,MAAMuD,QAAQ,GAAGzJ,OAAO,CAACgI,YAAY,CAAC9B,OAAO,CAAC;IAE9C,IAAIuD,QAAQ,EAAE;MACZZ,kBAAkB,CAAC,WAAW,CAAC;MAC/BxE,aAAa,CAAC,YAAY,CAAC;MAC3B6F,SAAS,CAAC,CAAC;IACb;IAEA,MAAM4B,IAAI,GAAAxD,aAAA,CAAAA,aAAA,KACLvD,oBAAoB,GACpBsD,gBAAgB,CAACnC,OAAO,CAC5B;IAED,MAAM6F,QAAQ,GAAG5F,QAAQ,CAACD,OAAO;IAGjC,MAAM8F,MAAM,GAAG,MAAMhE,YAAY,CAAC9B,OAAO,CAACC,QAAQ,CAACD,OAAO,EAAE4F,IAAI,CAAC;IAEjE,MAAMG,cAAc,GAAGF,QAAQ,KAAK5F,QAAQ,CAACD,OAAO;IAGpD,IAAI+F,cAAc,EAAE;MAClBZ,iBAAiB,CAAC,YAAY,EAAEW,MAAe,CAAC;MAGhD,IAAIzJ,oBAAoB,IAAIkH,QAAQ,EAAE;QAEpCN,MAAM,CAACC,qBAAqB,CAAC,MAAM;UACjCa,SAAS,CAAC,CAAC;UACX9G,WAAW,CAAC,CAAC;QACf,CAAC,CAAC;MACJ;IACF;IAEA,IAAIsG,QAAQ,EAAE;MACZZ,kBAAkB,CAAC3F,SAAS,CAAC;MAE7B,IAAI+I,cAAc,EAAE;QAClB5H,aAAa,CAAC2H,MAAM,YAAYE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;MAC/D,CAAC,MAAM;QACL7H,aAAa,CAAC,SAAS,CAAC;MAC1B;IACF;IAEA,OAAO2H,MAAM;EACf,CAAC,EAAE,CACDjH,oBAAoB,EACpBxC,oBAAoB,EACpB2H,SAAS,EACTmB,iBAAiB,EACjBxC,kBAAkB,EAClBxE,aAAa,EACb4F,SAAS,CACV,CAAC;EAEF,MAAMkC,mBAAmB,GAAG1N,WAAW,CACrC,kBAAyC;IAAA,IAAlC;MAAE2N,aAAa,GAAG;IAAK,CAAC,GAAAxC,SAAA,CAAApD,MAAA,QAAAoD,SAAA,QAAA1G,SAAA,GAAA0G,SAAA,MAAG,CAAC,CAAC;IAClC,IAAI,OAAO3B,kBAAkB,CAAC/B,OAAO,KAAK,UAAU,EAAE;MACpD;IACF;IAKA,MAAMjF,KAAK,GAAG2C,YAAY,CAACsC,OAAO,CAACtD,OAAO,CACxCwJ,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIjG,QAAQ,CAACD,OAAO,EACjC,iBACF,CAAC;IAED,MAAMuD,QAAQ,GAAGzJ,OAAO,CAACiI,kBAAkB,CAAC/B,OAAO,CAAC;IAEpD,IAAIuD,QAAQ,EAAE;MACZZ,kBAAkB,CAAC,iBAAiB,CAAC;MACrCxE,aAAa,CAAC,YAAY,CAAC;IAC7B;IAGA,MAAM2H,MAAM,GAAG,MAAM/D,kBAAkB,CAAC/B,OAAO,CAACjF,KAAK,CAAC;IAEtDoK,iBAAiB,CAAC,YAAY,EAAEW,MAAe,CAAC;IAEhD,IAAIvC,QAAQ,EAAE;MACZZ,kBAAkB,CAAC3F,SAAS,CAAC;MAC7BmB,aAAa,CAAC2H,MAAM,YAAYE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IAC/D;IAEAjC,SAAS,CAAC,CAAC;IACX9G,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CAACkI,iBAAiB,EAAExC,kBAAkB,EAAExE,aAAa,EAAE4F,SAAS,CAClE,CAAC;EAED,MAAMoC,uBAAuB,GAAG3N,OAAO,CAAC,MAAM;IAC5C,IAAIkH,mBAAmB,EAAE;MACvB,MAAMc,UAAU,GAAGZ,UAAU,CAACS,KAAK,CAAC,GAAG,CAAC,CAACK,IAAI,CAAC,cAAc,CAAC;MAC7D,MAAM0F,gBAAgB,GAAG1N,OAAO,CAACkI,GAAG,CAClC,CAAAxD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAElB,MAAM,KAAI,CAAC,CAAC,EACzBsE,UACF,CAAC;MACD,OACE4F,gBAAgB,IAChB,CAAA1G,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAE2G,OAAO,CAAC,eAAe,CAAC,MAAK,CAAC;IAEvD;EACF,CAAC,EAAE,CAACjJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAElB,MAAM,EAAEwD,mBAAmB,EAAEE,UAAU,CAAC,CAAC;EAK1D,MAAM0G,aAAa,GAAG/N,WAAW,CAAC,YAAY;IAC5C,MAAMgO,eAAe,GAAGrJ,YAAY,CAAC,CAAC;IAEtC,IAAI5B,QAAQ,EAAE;MACZ,IAAIiL,eAAe,CAAC,CAAC,EAAE;QACrBb,eAAe,CAAC,CAAC;MACnB;MACA1B,SAAS,CAAC,CAAC;MACX7F,aAAa,CAACnB,SAAS,CAAC;MACxB;IACF;IAEA,MAAMjC,KAAK,GAAGkF,QAAQ,CAACD,OAAO;IAC9ByC,oBAAoB,CAACzC,OAAO,GAAG,IAAI;IACnCwC,cAAc,CAACxC,OAAO,GAAG,IAAI;IAE7B,IAAI;MACF,MAAMwG,aAAa,GAAG9I,YAAY,CAACsC,OAAO,CAACnD,gBAAgB,CAAC9B,KAAK,EAAE;QACjEI,UAAU;QACVC,QAAQ,EAAEC,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAID,QAAQ;QAClCqL,SAAS,EAAEvG,UAAU,CAACF,OAAO;QAC7BtE,KAAK,EAAE,IAAI7C,SAAS,CAAC,uBAAuB,EAAE;UAC5CuL,cAAc,EAAE;QAClB,CAAC;MACH,CAAC,CAAC;MACF,IAAIoC,aAAa,YAAYR,KAAK,EAAE;QAClC,MAAMQ,aAAa;MACrB;MAGA,IACExE,kBAAkB,CAAChC,OAAO,IAC1BjF,KAAK,KAAKiC,SAAS,IACnB,CAACgF,kBAAkB,CAAChC,OAAO,CAACjF,KAAK,CAAC,IAClC,CAACoL,uBAAuB,EACxB;QACA,MAAMzK,KAAK,GAAG9C,uBAAuB,CACnCoJ,kBAAkB,CAAChC,OAAO,CAACrB,MAAM,EACjCsB,QAAQ,CAACD,OACX,CAAC;QACD,MAAMtE,KAAK;MACb;MAGA,IACEoG,YAAY,CAAC9B,OAAO,KACnBE,UAAU,CAACF,OAAO,IAAI7D,iBAAiB,CAAC,EACzC;QACA,MAAM2J,MAAM,GAAG,MAAMH,aAAa,CAAC,CAAC;QAEpC,IAAIG,MAAM,YAAYE,KAAK,EAAE;UAC3B,MAAMF,MAAM;QACd;MACF;MAEA,IAAIS,eAAe,CAAC,CAAC,EAAE;QACrBb,eAAe,CAAC,CAAC;MACnB;MAEAlD,cAAc,CAACxC,OAAO,GAAGjF,KAAK;IAChC,CAAC,CAAC,OAAOW,KAAc,EAAE;MACvB,IAAI6K,eAAe,CAAC,CAAC,EAAE;QACrB5E,gBAAgB,CAAC3B,OAAO,GAAG,IAAI;QAC/BmF,iBAAiB,CAAC,MAAM,EAAEzJ,KAAc,CAAC;MAC3C;IACF;EACF,CAAC,EAAE,CACDwB,YAAY,EACZ5B,QAAQ,EACR0I,SAAS,EACT7F,aAAa,EACbuH,eAAe,EACfvK,UAAU,EACVE,YAAY,EACZD,QAAQ,EACR+K,uBAAuB,EACvBhK,iBAAiB,EACjBwJ,aAAa,EACbR,iBAAiB,CAClB,CAAC;EAEF,MAAMuB,WAAW,GAAGnO,WAAW,CAAC,MAAM;IACpC,IACE8D,oBAAoB,IACnBA,oBAAoB,KAAK,KAAK,IAAI,CAAC8D,WAAW,CAACH,OAAQ,EACxD;MAIA+D,SAAS,CAAC,CAAC;IACb,CAAC,MAAM;MAELC,SAAS,CAAC,CAAC;IACb;EACF,CAAC,EAAE,CAAC3H,oBAAoB,EAAE2H,SAAS,EAAED,SAAS,CAAC,CAAC;EAEhD,MAAM4C,WAAW,GAAGpO,WAAW,CAC7B,OAAOqO,QAAiB,EAAEV,aAAqB,KAAK;IAClD,IAAIU,QAAQ,EAAE;MAEZzG,WAAW,CAACH,OAAO,GAAG,IAAI;MAC1B,MAAMjF,KAAK,GAAG2C,YAAY,CAACsC,OAAO,CAACtD,OAAO,CACxCwJ,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIjG,QAAQ,CAACD,OAAO,EACjC,SACF,CAAC;MACDnE,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGd,KAAK,CAAC;IAClB,CAAC,MAAM;MAELoF,WAAW,CAACH,OAAO,GAAG,KAAK;MAC3B,MAAMjF,KAAK,GAAG2C,YAAY,CAACsC,OAAO,CAACtD,OAAO,CACxCwJ,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIjG,QAAQ,CAACD,OAAO,EACjC,QACF,CAAC;MACDlE,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAGf,KAAK,CAAC;MAEf,IAAI,CAACmF,UAAU,CAACF,OAAO,IAAI,CAAC5D,iBAAiB,EAAE;QAG7C;MACF;MAEAiH,SAAS,CACP,iBAAiB,EACjB,YAAY,MAAM4C,mBAAmB,CAAC;QAAEC;MAAc,CAAC,CAAC,EACxDpM,OAAO,CAACiI,kBAAkB,CAAC/B,OAAO,CACpC,CAAC;MAED,MAAMwD,OAAO,CAAC,MAAM;QAElBO,SAAS,CAAC,CAAC;QACX9G,WAAW,CAAC,CAAC;MACf,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CACEoG,SAAS,EACT4C,mBAAmB,EACnBnK,MAAM,EACND,OAAO,EACP2H,OAAO,EACPO,SAAS,EACT3H,iBAAiB,CAErB,CAAC;EAGD,MAAMyK,iBAAiB,GAAGtO,WAAW,CACnC,MAAAuO,KAAA,IAUM;IAAA,IAVC;MACLlE,IAAI;MACJmE;IAQF,CAAC,GAAAD,KAAA;IACC,OAAO,IAAIE,OAAO,CAAQjE,OAAO,IAAK;MACpC,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;QAC9B,MAAM8C,MAAM,GAAGiB,OAAO,CAAC3F,IAAI,CACzB6F,KAAA,IAA4C;UAAA,IAA3C;YAAEC,WAAW;YAAEC,UAAU;YAAEC;UAAU,CAAC,GAAAH,KAAA;UACrC,MAAMI,gBAAgB,GAEpBD,SAAS,KAAK5E,cAAc,CAACxC,OAAO;UAEtC,MAAM8F,MAAM,GACV,CAAC,OAAOsB,SAAS,KAAK,WAAW,GAC7B,KAAK,GACL,CAACC,gBAAgB,KACpB,CAACH,WAAW,GACTA,WAAW,KAAKxE,eAAe,CAAC1C,OAAO,GACvC,IAAI,MACNmH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE/F,IAAI,CAAEyC,KAAK,IAAK;YAC1B,OAAOA,KAAK,KAAKD,aAAa,CAAC5D,OAAO;UACxC,CAAC,CAAC,CAAC;UAEP,OAAO8F,MAAM;QACf,CACF,CAAC;QAED,OAAOA,MAAM;MACf,CAAC;MAED,IAAI9C,iBAAiB,CAAC,CAAC,KAAK,IAAI,EAAE;QAChCH,cAAc,CAAC7C,OAAO,CAAC4C,IAAI,CAAC,GAAG;UAAEG,OAAO;UAAEC;QAAkB,CAAC;MAC/D,CAAC,MAAM;QACLD,OAAO,CAAC,CAAC;QACT5E,aAAa,CAAC,SAAS,CAAC;MAC1B;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACA,aAAa,CAChB,CAAC;EAED,MAAMmJ,uBAAuB,GAAG/O,WAAW,CAAC,YAAY;IACtD,MAAMuN,MAAmC,GACvCrD,oBAAoB,CAACzC,OAAO;IAE9B,IAAI,QAAO8F,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpK,KAAK,MAAK,WAAW,EAAE;MACxCyJ,iBAAiB,CAAC,YAAY,EAAEW,MAAM,CAACpK,KAAK,CAAC;MAC7CqI,SAAS,CAAC,CAAC;IACb;IACA,IAAI,QAAO+B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErK,OAAO,MAAK,WAAW,EAAE;MAC1C8L,UAAU,CAACvH,OAAO,GAAG8F,MAAM,CAACrK,OAAO;IACrC;IACA,IAAI,QAAOqK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEtK,IAAI,MAAK,WAAW,EAAE;MACvCgM,OAAO,CAACxH,OAAO,GAAG8F,MAAM,CAACtK,IAAI;IAC/B;IAEA,IAAI+G,sBAAsB,EAAE;MAC1B,MAAMsE,iBAAiB,CAAC;QACtBjE,IAAI,EAAE,iBAAiB;QACvBmE,OAAO,EAAE,CAAC;UAAEI,UAAU,EAAE,CAAC,YAAY;QAAE,CAAC;MAC1C,CAAC,CAAC;IACJ;IAEAxE,kBAAkB,CAAC3F,SAAS,CAAC;IAE7B,IAAI,CAAA8I,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE2B,OAAO,MAAK,OAAO,EAAE;MAC/BtJ,aAAa,CAAC,SAAS,CAAC;IAC1B,CAAC,MAAM,IAAI2H,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEpK,KAAK,EAAE;MACxByC,aAAa,CAAC,OAAO,CAAC;IACxB,CAAC,MAAM,IAAIoE,sBAAsB,EAAE;MACjCpE,aAAa,CAAC,UAAU,CAAC;IAC3B;EACF,CAAC,EAAE,CACDoE,sBAAsB,EACtBI,kBAAkB,EAClBwC,iBAAiB,EACjBhH,aAAa,EACb4F,SAAS,EACT8C,iBAAiB,CAClB,CAAC;EAEF,MAAMa,cAAc,GAAGnP,WAAW,CAC/BuN,MAA4C,IAAK;IAChD,IAAIA,MAAM,YAAYE,KAAK,EAAE;MAC3BF,MAAM,GAAG;QAAEpK,KAAK,EAAEoK;MAAO,CAAC;IAC5B;IACArD,oBAAoB,CAACzC,OAAO,GAAAoC,aAAA,CAAAA,aAAA,KACvBK,oBAAoB,CAACzC,OAAO,GAC5B8F,MAAM,CACqB;IAEhCwB,uBAAuB,CAAC,CAAC;EAC3B,CAAC,EACD,CAACA,uBAAuB,CAC1B,CAAC;EAED,MAAMK,mBAAmB,GAAGpP,WAAW,CAAC,YAAY;IAClD,IAAIgK,sBAAsB,EAAE;MAC1B,MAAMsE,iBAAiB,CAAC;QACtBjE,IAAI,EAAE,iBAAiB;QACvBmE,OAAO,EAAE,CACP;UACEG,WAAW,EAAE,WAAW;UACxBC,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;UACnCC,SAAS,EAAEnH,QAAQ,CAACD;QACtB,CAAC,EACD;UACEkH,WAAW,EAAE,iBAAiB;UAC9BC,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;UACnCC,SAAS,EAAEnH,QAAQ,CAACD;QACtB,CAAC;MAEL,CAAC,CAAC;IACJ;IAEA,IAAIL,OAAO,EAAE;MACX,IAAI7F,OAAO,CAACgF,eAAe,CAAC,EAAE;QAC5B6D,kBAAkB,CAAC,iBAAiB,CAAC;QAGrC,IAAI,CAACqC,QAAQ,CAAC,CAAC,EAAE;UACf0C,cAAc,CACX,OAAM5J,2BAA2B,aAA3BA,2BAA2B,uBAA3BA,2BAA2B,CAChC8B,UACF,CAAC,CACH,CAAC;QACH,CAAC,MAAM;UACL8H,cAAc,CAAC,IAAI,CAAC;QACtB;MACF,CAAC,MAAM;QACLA,cAAc,CACZ5J,2BAA2B,aAA3BA,2BAA2B,uBAA3BA,2BAA2B,CACzB8B,UACF,CACF,CAAC;MACH;IACF;IAEA3C,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CACDsF,sBAAsB,EACtB5C,OAAO,EACPkH,iBAAiB,EACjBjH,UAAU,EACVd,eAAe,EACf6D,kBAAkB,EAClBqC,QAAQ,EACR0C,cAAc,EACd5J,2BAA2B,CAC5B,CAAC;EAEF,MAAM8J,WAAW,GAAGrP,WAAW,CAC7B,MAAOsP,QAAe,IAAK;IACzB,IAAIA,QAAQ,KAAK5H,QAAQ,CAACD,OAAO,EAAE;MAGjC;IACF;IAEAC,QAAQ,CAACD,OAAO,GAAG6H,QAAQ;IAE3B,IAAIlI,OAAO,EAAE;MACX/B,sCAAsC,CAACgC,UAAU,EAAEiI,QAAQ,CAAC;IAC9D;IAEAxE,SAAS,CAAC,WAAW,EAAEiD,aAAa,EAAExM,OAAO,CAACgI,YAAY,CAAC9B,OAAO,CAAC,CAAC;IAEpEqD,SAAS,CACP,iBAAiB,EACjBsE,mBAAmB,EACnB7N,OAAO,CAACgF,eAAe,CACzB,CAAC;IAED,MAAM0E,OAAO,CAAC,MAAM;MAClBkD,WAAW,CAAC,CAAC;IACf,CAAC,CAAC;EACJ,CAAC,EACD,CACE/G,OAAO,EACP0D,SAAS,EACTiD,aAAa,EACbqB,mBAAmB,EACnB7I,eAAe,EACf0E,OAAO,EACP5F,sCAAsC,EACtCgC,UAAU,EACV8G,WAAW,CAEf,CAAC;EAED,MAAMnH,YAAY,GAAGhH,WAAW,CAC9B,gBACEuP,YAAmB,EAEhB;IAAA,IADHC,cAAmC,GAAArE,SAAA,CAAApD,MAAA,QAAAoD,SAAA,QAAA1G,SAAA,GAAA0G,SAAA,MAAG1G,SAAS;IAE/C,MAAMgL,YAAY,GAAG/H,QAAQ,CAACD,OAAO;IACrC,MAAMvD,SAAS,GAAGiB,YAAY,CAACsC,OAAO,CAACvD,SAAS,CAACqL,YAAY,CAAC;IAE9D,IAAIrL,SAAS,KAAKuL,YAAY,EAAE;MAG9B;IACF;IAEA,MAAMC,gBAAgB,GAAGvK,YAAY,CAACsC,OAAO,CAACzD,YAAY,CACxDmB,YAAY,CAACsC,OAAO,CAACrD,cAAc,CAACF,SAAS,EAAEuL,YAAY,CAC7D,CAAC;IAGD9H,UAAU,CAACF,OAAO,GAAG,IAAI;IAGzB,IAAI9E,QAAQ,EAAE;MACZsE,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAAGK,eAAe,CAAC,CAAC,EAAEoI,gBAAgB,CAAC;IACnE;IAEA,IAAI1F,sBAAsB,EAAE;MAC1ByB,SAAS,CAAC,CAAC;MACX,MAAM4D,WAAW,CAACK,gBAAgB,CAAC;IACrC,CAAC,MAAM;MACLL,WAAW,CAACK,gBAAgB,CAAC;IAC/B;IAEA,MAAMC,OAAO,GAAGA,CAAA,KAA8C;MAC5D,MAAMnN,KAAK,GAAG2C,YAAY,CAACsC,OAAO,CAACtD,OAAO,CACxCuD,QAAQ,CAACD,OAAO,EAChB,UACF,CAAC;MAED,OAAO,OAAO+H,cAAc,KAAK,WAAW,GACxC,CAAChN,KAAK,EAAEgN,cAAc,CAAC,GACvB,CAAChN,KAAK,CAAC;IACb,CAAC;IAED,IAAIjB,OAAO,CAACiC,QAAQ,CAAC,EAAE;MACrBsH,SAAS,CACP,eAAe,EACf,YAAY;QACV,MAAM8E,IAAI,GAAGD,OAAO,CAAC,CAAC;QAEtB,MAAMrB,iBAAiB,CAAC;UACtBjE,IAAI,EAAE,eAAe;UACrBmE,OAAO,EAAE,CACP;YACEG,WAAW,EAAE,WAAW;YACxBC,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;YACnCC,SAAS,EAAEe,IAAI,CAAC,CAAC;UACnB,CAAC,EACD;YACEjB,WAAW,EAAE,iBAAiB;YAC9BC,UAAU,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;YACnCC,SAAS,EAAEe,IAAI,CAAC,CAAC;UACnB,CAAC,EACD;YACEjB,WAAW,EAAE,iBAAiB;YAC9BC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YAChCC,SAAS,EAAEe,IAAI,CAAC,CAAC;UACnB,CAAC;QAEL,CAAC,CAAC;QAEFxF,kBAAkB,CAAC,eAAe,CAAC;QAGnC,IAAI,CAACqC,QAAQ,CAAC,CAAC,EAAE;UAEf0C,cAAc,CAAC,OAAM3L,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqM,KAAK,CAAC5N,KAAI,EAAE2N,IAAI,CAAC,EAAC;QACnD,CAAC,MAAM;UACLT,cAAc,CAAC,IAAI,CAAC;QACtB;MACF,CAAC,EACD,IACF,CAAC;IACH,CAAC,MAAM;MACLA,cAAc,CAAC3L,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqM,KAAK,CAAC5N,KAAI,EAAE0N,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD;IAEA,MAAM1E,OAAO,CAAC,CAAC;EACjB,CAAC,EACD,CACEtI,QAAQ,EACRqH,sBAAsB,EACtBxG,QAAQ,EACRyH,OAAO,EACPhE,0BAA0B,EAC1BK,eAAe,EACfmE,SAAS,EACT4D,WAAW,EACXvE,SAAS,EACTwD,iBAAiB,EACjBlE,kBAAkB,EAClBqC,QAAQ,EACR0C,cAAc,CAElB,CAAC;EAED,MAAMW,WAAW,GAAG9P,WAAW,CAAC,MAAMoO,WAAW,CAAC,IAAI,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EACvE,MAAM2B,UAAU,GAAG/P,WAAW,CAAC,MAAMoO,WAAW,CAAC,KAAK,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAGvEnI,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGoB,UAAU,EAAEhF,KAAK,CAAC;EAExCxB,cAAc,CAAC,MAAM;IACnBgE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEmL,gBAAgB,CAAC3I,UAAU,CAAC;IACzC0G,aAAa,CAAC,CAAC;EACjB,CAAC,CAAC;EACFjN,gBAAgB,CAAC,MAAM;IACrB+D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoL,kBAAkB,CAAC5I,UAAU,CAAC;IAC3CtB,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGsB,UAAU,EAAE5C,SAAS,CAAC;IACjDqB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGuB,UAAU,EAAE5C,SAAS,CAAC;IACtC0E,aAAa,CAAC1B,OAAO,GAAGhD,SAAS;EACnC,CAAC,CAAC;EAEF7D,eAAe,CAAC,MAAM;IAAA,IAAAsP,sBAAA;IACpBzG,kBAAkB,CAAChC,OAAO,GAAG9D,MAAM,IAAAuM,sBAAA,GAC/BrL,WAAW,CAAC6E,WAAW,cAAAwG,sBAAA,uBAAvBA,sBAAA,CAAyBvG,OAAO,CAAChG,MAAM,CAAC,GACxCc,SAAS;IACbsJ,aAAa,CAAC,CAAC;EACjB,CAAC,EAAE,CAACpK,MAAM,EAAEoK,aAAa,CAAC,CAAC;EAE3BnN,eAAe,CAAC,MAAM;IAEpB,IAAI8G,QAAQ,CAACD,OAAO,KAAKD,aAAa,EAAE;MACtCE,QAAQ,CAACD,OAAO,GAAGD,aAAa;MAChCuG,aAAa,CAAC,CAAC;IACjB;IACArJ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CAAC8C,aAAa,EAAEuG,aAAa,CAAC,CAAC;EAElCjO,SAAS,CAAC,MAAM;IAGd,IAAI,CAACsJ,gBAAgB,CAAC3B,OAAO,EAAE;MAC7B,MAAMtE,KAAK,GAAGuI,YAAY,CAACrC,gBAAgB,CAAC;MAC5C,IAAIlG,KAAK,EAAE;QACTyJ,iBAAiB,CAAC,MAAM,EAAEzJ,KAAK,CAAC;QAChC,IAAIS,iBAAiB,EAAE;UACrBuK,WAAW,CAAC,CAAC;QACf;MACF,CAAC,MAAM;QACLhB,eAAe,CAAC,CAAC;MACnB;IACF;EACF,CAAC,EAAE,CACDA,eAAe,EACf9D,gBAAgB,EAChB8E,WAAW,EACXvB,iBAAiB,EACjBlB,YAAY,EACZ9H,iBAAiB,CAClB,CAAC;EAEF9D,SAAS,CAAC,MAAM;IACd,IAAIsH,OAAO,EAAE;MACX,IAAI5E,KAAK,GAAGC,SAAS;MAGrB,MAAM0N,QAAQ,GAAGhQ,OAAO,CAACkI,GAAG,CAACxD,WAAW,CAACuL,IAAI,EAAE/I,UAAU,CAAC;MAC1D,MAAMgJ,aAAa,GAAGF,QAAQ,GAC1BhQ,OAAO,CAACmI,GAAG,CAACzD,WAAW,CAACuL,IAAI,EAAE/I,UAAU,CAAC,GACzC5C,SAAS;MAGb,IACEI,WAAW,CAACD,EAAE,IACd,CAACuL,QAAQ,IACT,OAAOE,aAAa,KAAK,WAAW,IACpC,OAAO7N,KAAK,KAAK,WAAW,EAC5B;QACA,MAAM8N,WAAW,GAAGjP,iBAAiB,CAACwD,WAAW,CAACD,EAAE,CAAC;QACrD,MAAMuL,QAAQ,GAAGhQ,OAAO,CAACkI,GAAG,CAACiI,WAAW,CAACF,IAAI,EAAE/I,UAAU,CAAC;QAC1D,IAAI8I,QAAQ,EAAE;UACZ,MAAMI,WAAW,GAAGpQ,OAAO,CAACmI,GAAG,CAACgI,WAAW,CAACF,IAAI,EAAE/I,UAAU,CAAC;UAC7D,IAAIkJ,WAAW,EAAE;YACf/N,KAAK,GAAG+N,WAAW;UACrB;QACF;MACF;MAEA,IACE,OAAOhJ,eAAe,CAACE,OAAO,KAAK,WAAW,IAC9C,OAAOjF,KAAK,KAAK,WAAW,EAC5B;QACAA,KAAK,GAAG+E,eAAe,CAACE,OAAO;QAC/BF,eAAe,CAACE,OAAO,GAAGhD,SAAS;MACrC;MAEA,IACE,CAAC0L,QAAQ,IACR3N,KAAK,KAAK6N,aAAa,IAEtB3I,QAAQ,CAACD,OAAO,KAAK4I,aAAc,EACrC;QAGA5K,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAAG4B,UAAU,EAAE7E,KAAK,CAAC;QAC/CmD,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAG,CAAC;MAC7B;IACF;EACF,CAAC,EAAE,CACDd,WAAW,CAACuL,IAAI,EAChBvL,WAAW,CAACD,EAAE,EACdwC,OAAO,EACPC,UAAU,EACV5B,0BAA0B,EAC1BE,uBAAuB,EACvBlD,SAAS,CACV,CAAC;EAEF3C,SAAS,CAAC,MAAM;IACd,IAAI+E,WAAW,CAAC2L,aAAa,EAAE;MAE7B,IAAInF,aAAa,CAAC5D,OAAO,KAAK,YAAY,EAAE;QAG1C+D,SAAS,CAAC,CAAC;QACX9G,WAAW,CAAC,CAAC;MACf;IACF;EACF,CAAC,EAAE,CAACG,WAAW,CAAC2L,aAAa,EAAEhF,SAAS,CAAC,CAAC;EAE1C1L,SAAS,CAAC,MAAM;IACd,IACE+E,WAAW,CAAC4L,SAAS,KAAK,SAAS,KAClClH,YAAY,CAAC9B,OAAO,IAAI+B,kBAAkB,CAAC/B,OAAO,CAAC,EACpD;MACAgE,SAAS,CAAC,CAAC;MACX/G,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACG,WAAW,CAAC4L,SAAS,EAAEhF,SAAS,CAAC,CAAC;EAEtC,MAAMiF,eAAe,GAAG1Q,WAAW,CAAC,YAAY;IAC9C,IAAIyM,QAAQ,CAAC,CAAC,EAAE;MACd;IACF;IAEA3B,SAAS,CAAC,WAAW,EAAEsC,aAAa,EAAE7L,OAAO,CAACgI,YAAY,CAAC9B,OAAO,CAAC,CAAC;IACpEqD,SAAS,CACP,iBAAiB,EACjB4C,mBAAmB,EACnBnM,OAAO,CAACiI,kBAAkB,CAAC/B,OAAO,CACpC,CAAC;IAED,MAAMwD,OAAO,CAAC,CAAC;EACjB,CAAC,EAAE,CAACH,SAAS,EAAE4C,mBAAmB,EAAEN,aAAa,EAAEX,QAAQ,EAAExB,OAAO,CAAC,CAAC;EAGtEpK,cAAc,CAAC,MAAM;IAAA,IAAA8P,qBAAA;IACnB9L,WAAW,aAAXA,WAAW,wBAAA8L,qBAAA,GAAX9L,WAAW,CAAE+L,qBAAqB,cAAAD,qBAAA,uBAAlCA,qBAAA,CAAAE,IAAA,CAAAhM,WAAW,EACTwC,UAAU,EACV,UAAU,EACVqJ,eACF,CAAC;EACH,CAAC,CAAC;EAGF7P,cAAc,CAAC,MAAM;IACnB,IAAI4F,YAAY,EAAE;MAChB,IAAIrD,SAAS,EAAE;QACbuD,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAG;UACxBU,UAAU;UACV2F,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE7J,SAAS;UAClB8J,aAAa,EAAE,IAAI;UACnB4D,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;MACA,IAAI5N,OAAO,EAAE;QACXyD,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAG;UACxBU,UAAU;UACV2F,IAAI,EAAE,SAAS;UACfC,OAAO,EAAE/J,OAAO;UAChBgK,aAAa,EAAE,IAAI;UACnB4D,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;MACA,IAAI7N,IAAI,EAAE;QACR0D,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,CAAG;UACxBU,UAAU;UACV2F,IAAI,EAAE,MAAM;UACZC,OAAO,EAAEhK,IAAI;UACbiK,aAAa,EAAE,IAAI;UACnB4D,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;MAEA,OAAO,MAAM;QAEX,IAAI/J,0BAA0B,EAAE;UAC9BA,0BAA0B,CAACU,OAAO,CAACJ,UAAU,CAAC,GAAG,IAAI;QACvD;MACF,CAAC;IACH;EACF,CAAC,CAAC;EAEF,MAAM4H,OAAO,GAAGpP,MAAM,CAAkBoD,IAAI,CAAC;EAC7C,MAAM+L,UAAU,GAAGnP,MAAM,CAAkBqD,OAAO,CAAC;EACnDtC,eAAe,CAAC,MAAM;IACpBqO,OAAO,CAACxH,OAAO,GAAGxE,IAAI;IACtB+L,UAAU,CAACvH,OAAO,GAAGvE,OAAO;IAC5BwB,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CAACzB,IAAI,EAAEC,OAAO,CAAC,CAAC;EAGnB,MAAM6N,cAAc,GAAG9Q,OAAO,CAAC,MAAM;IACnC,OAAOgM,MAAM,CAACc,IAAI,CAAC1K,KAAK,CAAC,CAAC+J,MAAM,CAC9B,CAAC4E,GAAG,EAAEC,GAAG,KAAK;MACZ,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,IAAID,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,EAAE;QACtDF,GAAG,CAACC,GAAG,CAAC,GAAG5O,KAAK,CAAC4O,GAAG,CAAC;MACvB;MACA,OAAOD,GAAG;IACZ,CAAC,EAAAnH,aAAA,KACIxH,KAAK,CAAC0O,cAAc,CAC3B,CAAC;EACH,CAAC,EAAE,CAAC1O,KAAK,CAAC,CAAC;EAEX,IAAIc,KAAK,EAAE;IACT4N,cAAc,CAAC,cAAc,CAAC,GAAG5N,KAAK,GAAG,MAAM,GAAG,OAAO;EAC3D;EACA,IAAIN,QAAQ,EAAE;IACZkO,cAAc,CAAC,eAAe,CAAC,GAAG,MAAM;EAC1C;EACA,IAAItK,YAAY,EAAE;IAAA,IAAA0K,qBAAA;IAEhB,IAAIpK,0BAA0B,EAAE;MAC9BA,0BAA0B,CAACU,OAAO,CAACJ,UAAU,CAAC,GAAG,IAAI;IACvD;IAGA,MAAM+J,QAAQ,IAAAD,qBAAA,GAAGrM,iBAAiB,CAACuM,gBAAgB,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoC1J,OAAO;IAE5D,IAAI2J,QAAQ,EAAE;MACZL,cAAc,CAAC,kBAAkB,CAAC,GAAGrQ,kBAAkB,CACrDqQ,cAAc,EACd,CACE5N,KAAK,IAAIiO,QAAQ,CAACjO,KAAK,EACvBD,OAAO,IAAIkO,QAAQ,CAAClO,OAAO,EAC3BD,IAAI,IAAImO,QAAQ,CAACnO,IAAI,CACtB,CAAC2F,MAAM,CAAClC,OAAO,CAClB,CAAC;IACH;EACF,CAAC,MAAM;IACL,MAAM4K,GAAG,GAAG,CACV,CAACnO,KAAK,IAAIC,SAAS,KAAM,GAAEwB,EAAG,qBAAoB,EAClD1B,OAAO,IAAK,GAAE0B,EAAG,uBAAsB,EACvC3B,IAAI,IAAK,GAAE2B,EAAG,oBAAmB,CAClC,CAACgE,MAAM,CAAClC,OAAO,CAAC;IAEjB,IAAI4K,GAAG,CAACvJ,MAAM,EAAE;MACdgJ,cAAc,CAAC,kBAAkB,CAAC,GAAGrQ,kBAAkB,CACrDqQ,cAAc,EACdO,GACF,CAAC;IACH;EACF;EAEA,MAAMC,iBAAiB,GAAG;IAExBtO,IAAI,EAAE,CAACwD,YAAY,GAAGwI,OAAO,CAACxH,OAAO,GAAGhD,SAAS;IACjDvB,OAAO,EAAE,CAACuD,YAAY,GAAGuI,UAAU,CAACvH,OAAO,GAAGhD,SAAS;IACvDtB,KAAK,EAAE,CAACsD,YAAY,GAAGtD,KAAK,GAAGsB,SAAS;IAGxC1B,QAAQ,EACNU,eAAe,IACf0G,eAAe,CAAC1C,OAAO,KAAK,iBAAiB,IAC7C4D,aAAa,CAAC5D,OAAO,KAAK,YAAY,GAClC,IAAI,GACJ1E,QAAQ;IAGdyO,UAAU,EAAEjG,sBAAsB,CAACF,aAAa,CAAC5D,OAAO;EAC1D,CAAC;EAED,MAAMgK,UAAU,GAAGnQ,cAAc,CAACsD,EAAE,CAAC;EACrC6M,UAAU,CAACC,GAAG,CAACH,iBAAiB,CAAC;EAEjC,OAAA1H,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACKxH,KAAK,GACLkP,iBAAiB;IAGpBlH,IAAI,EAAEhI,KAAK,CAACgI,IAAI,MAAAnI,WAAA,GAAIG,KAAK,CAACC,IAAI,cAAAJ,WAAA,uBAAVA,WAAA,CAAYoK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAI1H,EAAE;IACtD+M,YAAY,GAAAxP,mBAAA,GACVE,KAAK,CAACsP,YAAY,cAAAxP,mBAAA,cAAAA,mBAAA,GACjB0C,WAAW,CAAC8M,YAAY,KAAK,IAAI,GAAG,IAAI,GAAGlN,SAAU;IAGxDG,EAAE;IACFpC,KAAK,EAAE2C,YAAY,CAACsC,OAAO,CAAC1D,WAAW,CACrCoB,YAAY,CAACsC,OAAO,CAACxD,OAAO,CAACyD,QAAQ,CAACD,OAAO,CAC/C,CAAC;IACDgF,QAAQ,EAAEF,eAAe;IACzB2B,SAAS,EAAEvG,UAAU,CAACF,OAAO;IAC7BsJ,cAAc;IACd3C,WAAW;IACX0B,WAAW;IACXC,UAAU;IACV/I,YAAY;IACZqI,WAAW;IACX3K,WAAW;IAGXG;EAAW;AAEf;AAuBA,SAAS0G,sBAAsBA,CAACD,KAAgC,EAAE;EAChE,OAAOA,KAAK,KAAK,YAAY,GAAG,SAAS,GAAGA,KAAK;AACnD"}
|
|
@@ -2,27 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMemo, useContext } from 'react';
|
|
4
4
|
import SharedContext from '../../../shared/Context';
|
|
5
|
-
import {
|
|
5
|
+
import { combineWithExternalTranslations } from '../../../shared/useTranslation';
|
|
6
|
+
import { extendDeep } from '../../../shared/component-helper';
|
|
6
7
|
import { LOCALE } from '../../../shared/defaults';
|
|
7
8
|
import formsLocales from '../constants/locales';
|
|
8
9
|
export default function useTranslation(messages) {
|
|
9
10
|
const {
|
|
10
11
|
locale,
|
|
11
|
-
translation
|
|
12
|
+
translation: globalTranslation
|
|
12
13
|
} = useContext(SharedContext);
|
|
13
14
|
return useMemo(() => {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
for (const key in Forms) {
|
|
18
|
-
tr[key] = Object.assign((tr === null || tr === void 0 ? void 0 : tr[key]) || {}, Forms[key]);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return combineTranslations({
|
|
22
|
-
translation: tr,
|
|
15
|
+
const translation = extendDeep({}, formsLocales[locale] || formsLocales[LOCALE], globalTranslation);
|
|
16
|
+
return combineWithExternalTranslations({
|
|
17
|
+
translation,
|
|
23
18
|
messages,
|
|
24
19
|
locale
|
|
25
20
|
});
|
|
26
|
-
}, [locale, messages
|
|
21
|
+
}, [globalTranslation, locale, messages]);
|
|
27
22
|
}
|
|
28
23
|
//# sourceMappingURL=useTranslation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTranslation.js","names":["useMemo","useContext","SharedContext","
|
|
1
|
+
{"version":3,"file":"useTranslation.js","names":["useMemo","useContext","SharedContext","combineWithExternalTranslations","extendDeep","LOCALE","formsLocales","useTranslation","messages","locale","translation","globalTranslation"],"sources":["../../../../../src/extensions/forms/hooks/useTranslation.tsx"],"sourcesContent":["import { useMemo, useContext } from 'react'\nimport SharedContext from '../../../shared/Context'\nimport { combineWithExternalTranslations } from '../../../shared/useTranslation'\nimport { extendDeep } from '../../../shared/component-helper'\nimport { DeepPartial } from '../../../shared/types'\nimport { LOCALE } from '../../../shared/defaults'\nimport formsLocales from '../constants/locales'\n\nexport type FormsTranslationDefaultLocales = typeof formsLocales\nexport type FormsTranslationLocale = keyof FormsTranslationDefaultLocales\nexport type FormsTranslationKeys =\n keyof FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslationValues =\n FormsTranslationDefaultLocales[FormsTranslationLocale]\nexport type FormsTranslation = DeepPartial<\n FormsTranslationDefaultLocales[FormsTranslationLocale]\n>\n\ntype CustomLocales = Partial<\n Record<FormsTranslationLocale, FormsTranslation>\n>\n\nexport default function useTranslation<T = FormsTranslation>(\n messages?:\n | FormsTranslation\n | CustomLocales\n | Record<FormsTranslationLocale, T>\n) {\n const { locale, translation: globalTranslation } =\n useContext(SharedContext)\n\n return useMemo(() => {\n const translation = extendDeep(\n {},\n formsLocales[locale] || formsLocales[LOCALE],\n globalTranslation\n )\n\n return combineWithExternalTranslations({\n translation,\n messages,\n locale,\n }) as T\n }, [globalTranslation, locale, messages])\n}\n"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,QAAQ,OAAO;AAC3C,OAAOC,aAAa,MAAM,yBAAyB;AACnD,SAASC,+BAA+B,QAAQ,gCAAgC;AAChF,SAASC,UAAU,QAAQ,kCAAkC;AAE7D,SAASC,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,YAAY,MAAM,sBAAsB;AAgB/C,eAAe,SAASC,cAAcA,CACpCC,QAGqC,EACrC;EACA,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC9CV,UAAU,CAACC,aAAa,CAAC;EAE3B,OAAOF,OAAO,CAAC,MAAM;IACnB,MAAMU,WAAW,GAAGN,UAAU,CAC5B,CAAC,CAAC,EACFE,YAAY,CAACG,MAAM,CAAC,IAAIH,YAAY,CAACD,MAAM,CAAC,EAC5CM,iBACF,CAAC;IAED,OAAOR,+BAA+B,CAAC;MACrCO,WAAW;MACXF,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACE,iBAAiB,EAAEF,MAAM,EAAED,QAAQ,CAAC,CAAC;AAC3C"}
|
|
@@ -390,6 +390,52 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
390
390
|
margin-bottom: var(--spacing-small);
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
+
.dnb-forms-section-block {
|
|
394
|
+
--block-outline-color: var(--outline-color, var(--color-lavender));
|
|
395
|
+
}
|
|
396
|
+
.dnb-forms-section-block--error:has(.dnb-form-status--error) {
|
|
397
|
+
--block-outline-color: var(--color-fire-red);
|
|
398
|
+
}
|
|
399
|
+
.dnb-forms-section-block:not(.dnb-height-animation--hidden) {
|
|
400
|
+
display: flex;
|
|
401
|
+
flex-direction: column;
|
|
402
|
+
}
|
|
403
|
+
.dnb-forms-section-block__inner {
|
|
404
|
+
flex: 1;
|
|
405
|
+
outline: none;
|
|
406
|
+
margin-bottom: var(--space);
|
|
407
|
+
padding: var(--padding, 1rem);
|
|
408
|
+
transition: transform 400ms var(--easing-default) 50ms, box-shadow 0.8s var(--easing-default);
|
|
409
|
+
transform: translateY(-2.5rem);
|
|
410
|
+
}
|
|
411
|
+
.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner, .dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]) {
|
|
412
|
+
--padding: 0;
|
|
413
|
+
}
|
|
414
|
+
.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing] {
|
|
415
|
+
border-radius: 0.375rem;
|
|
416
|
+
}
|
|
417
|
+
.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small {
|
|
418
|
+
--space: var(--spacing-small);
|
|
419
|
+
}
|
|
420
|
+
.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium {
|
|
421
|
+
--space: var(--spacing-medium);
|
|
422
|
+
}
|
|
423
|
+
.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large {
|
|
424
|
+
--space: var(--spacing-large);
|
|
425
|
+
}
|
|
426
|
+
.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing] {
|
|
427
|
+
box-shadow: inset 0 0 0 2px var(--block-outline-color);
|
|
428
|
+
}
|
|
429
|
+
.dnb-forms-section-block__inner .dnb-dl .dnb-dd {
|
|
430
|
+
margin-bottom: 0;
|
|
431
|
+
}
|
|
432
|
+
.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner {
|
|
433
|
+
transform: translateY(-0.5rem);
|
|
434
|
+
}
|
|
435
|
+
.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner {
|
|
436
|
+
transform: translateY(0);
|
|
437
|
+
}
|
|
438
|
+
|
|
393
439
|
/*
|
|
394
440
|
* Utilities
|
|
395
441
|
*/
|
|
@@ -499,50 +545,6 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
499
545
|
font-size: 0;
|
|
500
546
|
}
|
|
501
547
|
}
|
|
502
|
-
.dnb-forms-iterate-block {
|
|
503
|
-
--block-outline-color: var(--outline-color, var(--color-lavender));
|
|
504
|
-
}
|
|
505
|
-
.dnb-forms-iterate-block--error:has(.dnb-form-status--error) {
|
|
506
|
-
--block-outline-color: var(--color-fire-red);
|
|
507
|
-
}
|
|
508
|
-
.dnb-forms-iterate-block:not(.dnb-height-animation--hidden) {
|
|
509
|
-
display: flex;
|
|
510
|
-
flex-direction: column;
|
|
511
|
-
}
|
|
512
|
-
.dnb-forms-iterate-block__inner {
|
|
513
|
-
flex: 1;
|
|
514
|
-
margin-bottom: var(--space);
|
|
515
|
-
padding: var(--padding, 1rem);
|
|
516
|
-
transition: transform 400ms var(--easing-default) 50ms, box-shadow 0.8s var(--easing-default);
|
|
517
|
-
transform: translateY(-2.5rem);
|
|
518
|
-
}
|
|
519
|
-
.dnb-forms-iterate-block--variant-basic .dnb-forms-iterate-block__inner, .dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]) {
|
|
520
|
-
--padding: 0;
|
|
521
|
-
}
|
|
522
|
-
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
|
|
523
|
-
border-radius: 0.375rem;
|
|
524
|
-
}
|
|
525
|
-
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small {
|
|
526
|
-
--space: var(--spacing-small);
|
|
527
|
-
}
|
|
528
|
-
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium {
|
|
529
|
-
--space: var(--spacing-medium);
|
|
530
|
-
}
|
|
531
|
-
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large {
|
|
532
|
-
--space: var(--spacing-large);
|
|
533
|
-
}
|
|
534
|
-
.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
|
|
535
|
-
box-shadow: inset 0 0 0 2px var(--block-outline-color);
|
|
536
|
-
}
|
|
537
|
-
.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd {
|
|
538
|
-
margin-bottom: 0;
|
|
539
|
-
}
|
|
540
|
-
.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner {
|
|
541
|
-
transform: translateY(-0.5rem);
|
|
542
|
-
}
|
|
543
|
-
.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner {
|
|
544
|
-
transform: translateY(0);
|
|
545
|
-
}
|
|
546
548
|
.dnb-forms-iterate__element {
|
|
547
549
|
outline: none;
|
|
548
550
|
}
|