@dnb/eufemia 10.34.0 → 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 +50 -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/accordion/Accordion.d.ts +0 -2
- package/cjs/components/accordion/Accordion.js +2 -3
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +2 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +3 -0
- package/cjs/components/anchor/Anchor.js +22 -15
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +2 -4
- 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.d.ts +0 -4
- package/cjs/components/button/Button.js +2 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +0 -1
- package/cjs/components/date-picker/DatePicker.js +2 -5
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +2 -5
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.d.ts +0 -1
- package/cjs/components/form-row/FormRow.js +2 -5
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.d.ts +0 -1
- package/cjs/components/form-set/FormSet.js +3 -4
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +0 -1
- package/cjs/components/form-status/FormStatus.js +2 -5
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
- package/cjs/components/global-status/GlobalStatus.js +2 -5
- 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/HelpButtonInstance.js +3 -4
- package/cjs/components/help-button/HelpButtonInstance.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 +2 -3
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/input/Input.d.ts +0 -1
- package/cjs/components/input/Input.js +2 -5
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -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 -224
- 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 -1
- package/cjs/components/modal/Modal.js +26 -12
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/types.d.ts +0 -4
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +4 -0
- package/cjs/components/number-format/NumberFormat.js +5 -5
- 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.d.ts +0 -3
- package/cjs/components/pagination/Pagination.js +2 -5
- 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.d.ts +0 -1
- package/cjs/components/radio/Radio.js +2 -5
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.d.ts +0 -1
- package/cjs/components/radio/RadioGroup.js +2 -5
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.d.ts +0 -1
- package/cjs/components/skeleton/Skeleton.js +2 -5
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +0 -1
- package/cjs/components/switch/Switch.js +2 -5
- 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.d.ts +0 -1
- package/cjs/components/tabs/Tabs.js +1 -7
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
- package/cjs/components/tabs/TabsCustomContent.js +5 -8
- package/cjs/components/tabs/TabsCustomContent.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.d.ts +0 -1
- package/cjs/components/textarea/Textarea.js +2 -5
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButton.js +2 -5
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
- 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/Boolean/Boolean.d.ts +2 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- 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/Password/Password.js +2 -1
- package/cjs/extensions/forms/Field/Password/Password.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.d.ts +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +13 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +20 -37
- 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/Wizard/Container/WizardContainer.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/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 +56 -44
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +0 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/cjs/fragments/drawer-list/DrawerList.js +6 -13
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +0 -2
- 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 +67 -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 +56 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +56 -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 +123 -88
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -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 +124 -89
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -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 +123 -88
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +56 -44
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/accordion/Accordion.d.ts +0 -2
- package/components/accordion/Accordion.js +2 -3
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionGroup.js +2 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/anchor/Anchor.d.ts +3 -0
- package/components/anchor/Anchor.js +21 -15
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +2 -4
- 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.d.ts +0 -4
- package/components/button/Button.js +2 -5
- package/components/button/Button.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +0 -1
- package/components/date-picker/DatePicker.js +2 -5
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/dropdown/Dropdown.js +2 -5
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.d.ts +0 -1
- package/components/form-row/FormRow.js +2 -5
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.d.ts +0 -1
- package/components/form-set/FormSet.js +3 -4
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +0 -1
- package/components/form-status/FormStatus.js +2 -5
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-status/GlobalStatus.d.ts +0 -1
- package/components/global-status/GlobalStatus.js +2 -5
- 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/HelpButtonInstance.js +3 -4
- package/components/help-button/HelpButtonInstance.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 +2 -3
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/input/Input.d.ts +0 -1
- package/components/input/Input.js +2 -5
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -1
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/logo/Logo.d.ts +47 -43
- package/components/logo/Logo.js +75 -224
- 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 -1
- package/components/modal/Modal.js +26 -12
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/types.d.ts +0 -4
- package/components/modal/types.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +4 -0
- package/components/number-format/NumberFormat.js +5 -5
- 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.d.ts +0 -3
- package/components/pagination/Pagination.js +2 -5
- 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.d.ts +0 -1
- package/components/radio/Radio.js +2 -5
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.d.ts +0 -1
- package/components/radio/RadioGroup.js +2 -5
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/skeleton/Skeleton.d.ts +0 -1
- package/components/skeleton/Skeleton.js +2 -5
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/switch/Switch.d.ts +0 -1
- package/components/switch/Switch.js +2 -5
- 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.d.ts +0 -1
- package/components/tabs/Tabs.js +1 -7
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsCustomContent.d.ts +0 -1
- package/components/tabs/TabsCustomContent.js +5 -8
- package/components/tabs/TabsCustomContent.js.map +1 -1
- package/components/tabs/TabsDocs.js +1 -1
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/textarea/Textarea.d.ts +0 -1
- package/components/textarea/Textarea.js +2 -5
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.d.ts +0 -1
- package/components/toggle-button/ToggleButton.js +2 -5
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/accordion/Accordion.d.ts +0 -2
- package/es/components/accordion/Accordion.js +2 -3
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +2 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +3 -0
- package/es/components/anchor/Anchor.js +21 -15
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +2 -4
- 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.d.ts +0 -4
- package/es/components/button/Button.js +2 -5
- package/es/components/button/Button.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +0 -1
- package/es/components/date-picker/DatePicker.js +2 -5
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +2 -5
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.d.ts +0 -1
- package/es/components/form-row/FormRow.js +2 -5
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.d.ts +0 -1
- package/es/components/form-set/FormSet.js +3 -4
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +0 -1
- package/es/components/form-status/FormStatus.js +2 -5
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatus.d.ts +0 -1
- package/es/components/global-status/GlobalStatus.js +2 -5
- 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/HelpButtonInstance.js +3 -4
- package/es/components/help-button/HelpButtonInstance.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 +2 -3
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/input/Input.d.ts +0 -1
- package/es/components/input/Input.js +2 -5
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -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 -224
- 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 -1
- package/es/components/modal/Modal.js +26 -12
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/types.d.ts +0 -4
- package/es/components/modal/types.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +4 -0
- package/es/components/number-format/NumberFormat.js +5 -5
- 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.d.ts +0 -3
- package/es/components/pagination/Pagination.js +2 -5
- 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.d.ts +0 -1
- package/es/components/radio/Radio.js +2 -5
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.d.ts +0 -1
- package/es/components/radio/RadioGroup.js +2 -5
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/skeleton/Skeleton.d.ts +0 -1
- package/es/components/skeleton/Skeleton.js +2 -5
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +0 -1
- package/es/components/switch/Switch.js +2 -5
- 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.d.ts +0 -1
- package/es/components/tabs/Tabs.js +1 -7
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsCustomContent.d.ts +0 -1
- package/es/components/tabs/TabsCustomContent.js +5 -8
- package/es/components/tabs/TabsCustomContent.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.d.ts +0 -1
- package/es/components/textarea/Textarea.js +2 -5
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +0 -1
- package/es/components/toggle-button/ToggleButton.js +2 -5
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
- 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/Boolean/Boolean.d.ts +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- 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/Password/Password.js +2 -1
- package/es/extensions/forms/Field/Password/Password.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.d.ts +2 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js +14 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
- 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/Wizard/Container/WizardContainer.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/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 +56 -44
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/PaymentCard.js +0 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/es/fragments/drawer-list/DrawerList.js +6 -13
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/es/fragments/drawer-list/DrawerListHelpers.js +0 -2
- 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 +67 -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 +56 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +56 -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 +123 -88
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -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 +124 -89
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -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 +123 -88
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +56 -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/Boolean/Boolean.d.ts +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/Password/Password.js +2 -1
- package/extensions/forms/Field/Password/Password.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.d.ts +2 -2
- package/extensions/forms/Field/Toggle/Toggle.js +14 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
- 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/Wizard/Container/WizardContainer.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +1 -1
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/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 +56 -44
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/PaymentCard.js +0 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/fragments/drawer-list/DrawerList.js +6 -13
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/fragments/drawer-list/DrawerListHelpers.js +0 -2
- 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 +67 -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 +56 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +56 -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 +123 -88
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -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 +124 -89
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -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 +123 -88
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +56 -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":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_ajv","_helpers","_FieldProps","_useMountEffect","_useUpdateEffect","_isAsync","_useSharedState","_useTranslation","_Context","_structuredClone","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","filterData","locale","translations","required","errorMessages","contextErrorMessages","children","rest","Error","nestedContext","useContext","Context","hasContext","translation","useTranslation","Form","ajvRef","useRef","makeAjvInstance","mountedFieldPathsRef","errorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","submitStateRef","setSubmitState","state","assign","formStateRef","setFormState","formState","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","path","_errorsRef$current","Boolean","hasFieldState","some","hasFieldError","p","hasErrors","setFieldError","error","setFieldState","fieldState","mutateDataHandler","remove","mutate","result","structuredClone","pointer","entries","fieldPropsRef","_ref","exists","_fieldErrorRef$curren","internal","_ref2","condition","_fieldPropsRef$curren","_fieldErrorRef$curren2","filterDataHandler","valuePropsRef","setFieldProps","setValueProps","hasFieldWithAsyncValidator","includes","isAsync","validator","onBlurValidator","sharedData","useSharedState","sharedAttachments","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","update","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","updateDataValue","_internalDataRef$curr","givenData","match","newData","e","setData","handlePathChangeUnvalidated","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","callback","handleMountField","addListPath","handleUnMountField","removeListPath","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehaviour","skipFieldValidation","skipErrorCheck","asyncBehaviorIsEnabled","type","fieldEventListenersRef","warning","info","requestAnimationFrame","onSubmitContinueRef","handleSubmit","formElement","filteredData","opts","resetForm","_formElement$reset","reset","removeItem","clearData","completeResult","setFieldEventListener","_ref3","t","_onSubmitContinueRef$","useMountEffect","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","paths","concat","thisPath","stateRef","nowRef","timeoutRef","setState","clear","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","Date","now","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n} from '../../utils/ajv'\nimport {\n FormError,\n CustomErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n FieldProps,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n} from '../../types'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Form/FieldProps'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\nimport { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport Context, {\n ContextState,\n EventListenerCall,\n FilterData,\n TransformData,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport interface Props<Data extends JsonObject> {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: string\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: CustomErrorMessagesWithPaths\n /**\n * Filter the `onSubmit` output data, based on your criteria: `({ path, value, data, props, internal }) => !props?.disabled`. It will iterate on each data entry (/path). Return false to exclude the entry.\n */\n filterSubmitData?: FilterData\n /**\n * @deprecated Use `filterSubmitData` instead\n */\n filterData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: any\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: () => void\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n\n children: React.ReactNode\n}\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n filterData,\n locale,\n translations,\n required,\n errorMessages: contextErrorMessages,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const nestedContext = useContext(Context)\n if (nestedContext?.hasContext) {\n throw new Error('DataContext (Form.Handler) can not be nested')\n }\n\n // - Locale\n const translation = useTranslation().Form\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldPathsRef = useRef<Path[]>([])\n\n // - Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const showAllErrorsRef = useRef<boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors\n forceUpdate()\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n Object.assign(submitStateRef.current, state)\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const setFormState = useCallback((formState: SubmitState) => {\n formStateRef.current = formState\n forceUpdate()\n }, [])\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n return mountedFieldPathsRef.current.some((path) => {\n return checkFieldStateFor(path, state)\n })\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n return mountedFieldPathsRef.current.some((p) => {\n return p === path && checkFieldStateFor(p, 'error')\n })\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError = useCallback(\n (path: Path, error: Error | FormError) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState = useCallback(\n (path: Path, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (data: Data, filter: FilterData | TransformData, remove = false) => {\n const mutate = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n data = structuredClone(data)\n pointer.set(data, path, result)\n }\n }\n }\n\n if (typeof filter === 'function') {\n Object.entries(fieldPropsRef.current).forEach(([path, props]) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const internal = {\n error: fieldErrorRef.current?.[path],\n }\n const result = filter({\n path,\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n mutate(path, result)\n }\n })\n\n return data\n } else if (filter) {\n Object.entries(filter).forEach(([path, condition]) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const props = fieldPropsRef.current?.[path]\n const internal = { error: fieldErrorRef.current?.[path] }\n const result =\n typeof condition === 'function'\n ? condition({\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n : condition\n mutate(path, result)\n }\n })\n return data\n }\n\n return data\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter = filterData || filterSubmitData) => {\n if (filter) {\n return mutateDataHandler(data, filter, true)\n }\n\n return data\n },\n [filterData, filterSubmitData, mutateDataHandler]\n )\n\n const fieldPropsRef = useRef<Record<Path, FieldProps>>({})\n const valuePropsRef = useRef<Record<Path, ValueProps<unknown>>>({})\n const setFieldProps = useCallback(\n (path: Path, props: Record<string, unknown>) => {\n fieldPropsRef.current[path] = props\n },\n []\n )\n const setValueProps = useCallback(\n (path: Path, props: Record<string, unknown>) => {\n valuePropsRef.current[path] = props\n },\n []\n )\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldPropsRef.current) {\n if (mountedFieldPathsRef.current.includes(path)) {\n const props = fieldPropsRef.current[path]\n if (isAsync(props.validator) || isAsync(props.onBlurValidator)) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<{\n filterDataHandler?: Props<Data>['filterSubmitData']\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n }>(id + '-attachments')\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n internalDataRef.current = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData\n ) {\n return {\n ...internalDataRef.current,\n ...sharedData.data,\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current\n ) {\n cacheRef.current.shared = sharedData.data\n return {\n ...internalDataRef.current,\n ...sharedData.data,\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [data, id, initialData, sharedData])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id && initialData && !sharedData.data) {\n extendSharedData?.(initialData)\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment?.({\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n })\n if (filterData || filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n extendAttachment,\n filterData,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setShowAllErrors,\n setSubmitState,\n ])\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData?.(newData)\n if (filterData || filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n forceUpdate()\n },\n [\n extendSharedData,\n filterData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n const setData = useCallback((newData: Data) => {\n internalDataRef.current = newData\n forceUpdate()\n }, [])\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData)\n } else {\n cb(transformedData)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData)\n }\n\n return onChange?.(transformedData)\n },\n [\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback(\n (callback: (data: unknown) => void) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n },\n []\n )\n\n // - Mounted fields\n const handleMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behaviour if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehaviour || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const {\n path,\n type,\n callback,\n } of fieldEventListenersRef.current) {\n if (\n type === 'onSubmit' &&\n mountedFieldPathsRef.current.includes(path)\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let result: EventStateObject | unknown\n\n try {\n result = await onSubmit()\n\n if (result instanceof Error) {\n throw result\n }\n } catch (error) {\n result = { error }\n }\n\n const state = result as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n setFormState(state?.error ? 'abort' : 'complete')\n }\n\n // Force the state to be set by a custom status\n if (state?.['status']) {\n setFormState(state?.['status'])\n }\n\n if (state?.error || state?.warning || state?.info) {\n setSubmitState(state)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n window.requestAnimationFrame(() => {\n setFormState(undefined)\n })\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n onSubmitRequest?.()\n\n setShowAllErrors(true)\n }\n\n return internalDataRef.current\n },\n [\n setSubmitState,\n hasErrors,\n hasFieldWithAsyncValidator,\n hasFieldState,\n setFormState,\n onSubmitRequest,\n setShowAllErrors,\n ]\n )\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<ContextState['handleSubmit']>(\n async ({ formElement = null } = {}) => {\n handleSubmitCall({\n enableAsyncBehaviour: isAsync(onSubmit),\n onSubmit: async () => {\n // - Mutate the data context\n const data = internalDataRef.current\n const filteredData = filterDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data\n )\n const opts = {\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData: () => {\n internalDataRef.current = {} as Data\n if (id) {\n setSharedData?.({} as Data)\n } else {\n forceUpdate()\n }\n },\n }\n\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(filteredData, opts)\n } else {\n result = onSubmit?.(filteredData, opts)\n }\n\n const completeResult = await onSubmitComplete?.(\n filteredData,\n result\n )\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n },\n [\n filterDataHandler,\n handleSubmitCall,\n id,\n mutateDataHandler,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n sessionStorageId,\n setSharedData,\n transformOut,\n ]\n )\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(({ path: p, type: t }) => {\n return !(p === path && t === type)\n })\n fieldEventListenersRef.current.push({ path, type, callback })\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useMountEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n })\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n })\n }, [setFormState, setSubmitState])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n\n return (\n <Context.Provider\n value={{\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n handleMountField,\n handleUnMountField,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldProps,\n setValueProps,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n filterDataHandler,\n addOnChangeHandler,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n fieldPropsRef,\n valuePropsRef,\n ajvInstance: ajvRef.current,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n props,\n ...rest,\n }}\n >\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: showAllErrorsRef.current,\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </Context.Provider>\n )\n}\n\ntype PathList = string[]\n\nexport function addListPath(paths: PathList, path: Path): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nexport function removeListPath(paths: PathList, path: Path): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<unknown>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<unknown>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_ajv","_helpers","_FieldProps","_useMountEffect","_useUpdateEffect","_isAsync","_useSharedState","_useTranslation","_Context","_structuredClone","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","filterData","locale","translations","required","errorMessages","contextErrorMessages","children","rest","Error","nestedContext","useContext","Context","hasContext","translation","useTranslation","Form","ajvRef","useRef","makeAjvInstance","mountedFieldPathsRef","hasVisibleErrorRef","errorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","setHasVisibleError","path","hasError","submitStateRef","setSubmitState","state","assign","formStateRef","setFormState","formState","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","some","hasFieldError","p","hasErrors","setFieldError","error","setFieldState","fieldState","mutateDataHandler","remove","mutate","result","structuredClone","pointer","entries","fieldPropsRef","_ref","exists","_fieldErrorRef$curren","internal","runFilter","_ref2","condition","_fieldPropsRef$curren","_fieldErrorRef$curren2","wildcardPaths","_ref3","includes","parts","split","traverse","subData","subPath","idx","list","Array","isArray","_","filterDataHandler","valuePropsRef","setFieldProps","setValueProps","hasFieldWithAsyncValidator","isAsync","validator","onBlurValidator","sharedData","useSharedState","sharedAttachments","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","update","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","updateDataValue","_internalDataRef$curr","givenData","match","newData","e","setData","handlePathChangeUnvalidated","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","callback","handleMountField","addListPath","handleUnMountField","removeListPath","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehaviour","skipFieldValidation","skipErrorCheck","asyncBehaviorIsEnabled","type","fieldEventListenersRef","warning","info","requestAnimationFrame","onSubmitContinueRef","handleSubmit","formElement","filteredData","opts","resetForm","_formElement$reset","reset","removeItem","clearData","completeResult","setFieldEventListener","_ref4","t","_onSubmitContinueRef$","useMountEffect","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","createElement","hasVisibleError","FormStatus","globalStatus","title","errorSummaryTitle","show","paths","concat","thisPath","stateRef","nowRef","timeoutRef","setState","clear","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","Date","now","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n} from '../../utils/ajv'\nimport {\n FormError,\n CustomErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n FieldProps,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n} from '../../types'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Form/FieldProps'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\nimport { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport Context, {\n ContextState,\n EventListenerCall,\n FilterData,\n TransformData,\n} from '../Context'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport interface Props<Data extends JsonObject> {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: string\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: CustomErrorMessagesWithPaths\n /**\n * Filter the `onSubmit` output data, based on your criteria: `({ path, value, data, props, internal }) => !props?.disabled`. It will iterate on each data entry (/path). Return false to exclude the entry.\n */\n filterSubmitData?: FilterData\n /**\n * @deprecated Use `filterSubmitData` instead\n */\n filterData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: any\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: () => void\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n\n children: React.ReactNode\n}\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n filterData,\n locale,\n translations,\n required,\n errorMessages: contextErrorMessages,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const nestedContext = useContext(Context)\n if (nestedContext?.hasContext) {\n throw new Error('DataContext (Form.Handler) can not be nested')\n }\n\n // - Locale\n const translation = useTranslation().Form\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldPathsRef = useRef<Path[]>([])\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const showAllErrorsRef = useRef<boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors\n forceUpdate()\n }, [])\n const setHasVisibleError = useCallback(\n (path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate()\n },\n []\n )\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n Object.assign(submitStateRef.current, state)\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const setFormState = useCallback((formState: SubmitState) => {\n formStateRef.current = formState\n forceUpdate()\n }, [])\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n return mountedFieldPathsRef.current.some((path) => {\n return checkFieldStateFor(path, state)\n })\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n return mountedFieldPathsRef.current.some((p) => {\n return p === path && checkFieldStateFor(p, 'error')\n })\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError = useCallback(\n (path: Path, error: Error | FormError) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState = useCallback(\n (path: Path, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (data: Data, filter: FilterData | TransformData, remove = false) => {\n const mutate = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n data = structuredClone(data)\n pointer.set(data, path, result)\n }\n }\n }\n\n if (typeof filter === 'function') {\n Object.entries(fieldPropsRef.current).forEach(([path, props]) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const internal = {\n error: fieldErrorRef.current?.[path],\n }\n const result = filter({\n path,\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n mutate(path, result)\n }\n })\n\n return data\n } else if (filter) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const props = fieldPropsRef.current?.[path]\n const internal = { error: fieldErrorRef.current?.[path] }\n const result =\n typeof condition === 'function'\n ? condition({\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n : condition\n mutate(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(filter).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter = filterData || filterSubmitData) => {\n if (filter) {\n return mutateDataHandler(data, filter, true)\n }\n\n return data\n },\n [filterData, filterSubmitData, mutateDataHandler]\n )\n\n const fieldPropsRef = useRef<Record<Path, FieldProps>>({})\n const valuePropsRef = useRef<Record<Path, ValueProps<unknown>>>({})\n const setFieldProps = useCallback(\n (path: Path, props: Record<string, unknown>) => {\n fieldPropsRef.current[path] = props\n },\n []\n )\n const setValueProps = useCallback(\n (path: Path, props: Record<string, unknown>) => {\n valuePropsRef.current[path] = props\n },\n []\n )\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldPropsRef.current) {\n if (mountedFieldPathsRef.current.includes(path)) {\n const props = fieldPropsRef.current[path]\n if (isAsync(props.validator) || isAsync(props.onBlurValidator)) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<{\n filterDataHandler?: Props<Data>['filterSubmitData']\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n }>(id + '-attachments')\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n internalDataRef.current = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData\n ) {\n return {\n ...internalDataRef.current,\n ...sharedData.data,\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current\n ) {\n cacheRef.current.shared = sharedData.data\n return {\n ...internalDataRef.current,\n ...sharedData.data,\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [data, id, initialData, sharedData])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id && initialData && !sharedData.data) {\n extendSharedData?.(initialData)\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment?.({\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n })\n if (filterData || filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n extendAttachment,\n filterData,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setShowAllErrors,\n setSubmitState,\n ])\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData?.(newData)\n if (filterData || filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n forceUpdate()\n },\n [\n extendSharedData,\n filterData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n const setData = useCallback((newData: Data) => {\n internalDataRef.current = newData\n forceUpdate()\n }, [])\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData)\n } else {\n cb(transformedData)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData)\n }\n\n return onChange?.(transformedData)\n },\n [\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback(\n (callback: (data: unknown) => void) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n },\n []\n )\n\n // - Mounted fields\n const handleMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behaviour if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehaviour || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const {\n path,\n type,\n callback,\n } of fieldEventListenersRef.current) {\n if (\n type === 'onSubmit' &&\n mountedFieldPathsRef.current.includes(path)\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let result: EventStateObject | unknown\n\n try {\n result = await onSubmit()\n\n if (result instanceof Error) {\n throw result\n }\n } catch (error) {\n result = { error }\n }\n\n const state = result as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n setFormState(state?.error ? 'abort' : 'complete')\n }\n\n // Force the state to be set by a custom status\n if (state?.['status']) {\n setFormState(state?.['status'])\n }\n\n if (state?.error || state?.warning || state?.info) {\n setSubmitState(state)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n window.requestAnimationFrame(() => {\n setFormState(undefined)\n })\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n onSubmitRequest?.()\n\n setShowAllErrors(true)\n }\n\n return internalDataRef.current\n },\n [\n setSubmitState,\n hasErrors,\n hasFieldWithAsyncValidator,\n hasFieldState,\n setFormState,\n onSubmitRequest,\n setShowAllErrors,\n ]\n )\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<ContextState['handleSubmit']>(\n async ({ formElement = null } = {}) => {\n handleSubmitCall({\n enableAsyncBehaviour: isAsync(onSubmit),\n onSubmit: async () => {\n // - Mutate the data context\n const data = internalDataRef.current\n const filteredData = filterDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data\n )\n const opts = {\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData: () => {\n internalDataRef.current = {} as Data\n if (id) {\n setSharedData?.({} as Data)\n } else {\n forceUpdate()\n }\n },\n }\n\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(filteredData, opts)\n } else {\n result = onSubmit?.(filteredData, opts)\n }\n\n const completeResult = await onSubmitComplete?.(\n filteredData,\n result\n )\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n },\n [\n filterDataHandler,\n handleSubmitCall,\n id,\n mutateDataHandler,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n sessionStorageId,\n setSharedData,\n transformOut,\n ]\n )\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(({ path: p, type: t }) => {\n return !(p === path && t === type)\n })\n fieldEventListenersRef.current.push({ path, type, callback })\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useMountEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n })\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n })\n }, [setFormState, setSubmitState])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n\n return (\n <Context.Provider\n value={{\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n handleMountField,\n handleUnMountField,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n setHasVisibleError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldProps,\n setValueProps,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n filterDataHandler,\n addOnChangeHandler,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError:\n Object.keys(hasVisibleErrorRef.current).length > 0,\n fieldPropsRef,\n valuePropsRef,\n ajvInstance: ajvRef.current,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n props,\n ...rest,\n }}\n >\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: showAllErrorsRef.current,\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </Context.Provider>\n )\n}\n\ntype PathList = string[]\n\nexport function addListPath(paths: PathList, path: Path): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nexport function removeListPath(paths: PathList, path: Path): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<unknown>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<unknown>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAH,OAAA;AAkBA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,eAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,gBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAEA,IAAAU,eAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,QAAA,GAAAT,sBAAA,CAAAF,OAAA;AAWA,IAAAY,gBAAA,GAAAV,sBAAA,CAAAF,OAAA;AAAqD,MAAAa,SAAA;AAAA,SAAAX,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAnB,wBAAAe,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,2BAAA/B,GAAA,gBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAArB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,GAAA2B,6BAAA,CAAAvB,MAAA,EAAAsB,QAAA,OAAA5C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAoC,gBAAA,GAAAjD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA2B,gBAAA,CAAAzB,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAA8C,gBAAA,CAAA3B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+C,oBAAA,CAAA7C,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA2B,8BAAAvB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,WAAA+B,UAAA,GAAApD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8B,UAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,UAAA,CAAA9B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AAGrD,MAAMgC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGC,cAAK,CAACC,SAAS,GAAGD,cAAK,CAACF,eAAe;AAoHzE,MAAMI,kBAAkB,GAAG,cAAc;AAE1B,SAASC,QAAQA,CAC9BC,KAAkB,EAClB;EAAA,IAAAC,qBAAA;EACA,MAAM,GAAGC,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAElD,MAAM;MACJC,EAAE;MACFC,cAAc,GAAG,MAAM;MACvBC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,gBAAgB;MAChBC,iBAAiB;MACjBC,wBAAwB;MACxBC,kBAAkB;MAClBC,gBAAgB;MAChBC,WAAW;MACXC,WAAW;MACXC,YAAY;MACZC,gBAAgB;MAChBC,UAAU;MACVC,MAAM;MACNC,YAAY;MACZC,QAAQ;MACRC,aAAa,EAAEC,oBAAoB;MACnCC;IAEF,CAAC,GAAG5B,KAAK;IADJ6B,IAAI,GAAA1C,wBAAA,CACLa,KAAK,EAAAzE,SAAA;EAGT,IAAIgF,IAAI,KAAKxB,SAAS,IAAIkC,gBAAgB,KAAKlC,SAAS,EAAE;IACxD,MAAM,IAAI+C,KAAK,CACb,iEACF,CAAC;EACH;EAEA,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAO,CAAC;EACzC,IAAIF,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEG,UAAU,EAAE;IAC7B,MAAM,IAAIJ,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAGA,MAAMK,WAAW,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,IAAI;EAGzC,MAAMC,MAAM,GAAG,IAAAC,aAAM,EAAM,IAAAC,oBAAe,EAACtB,WAAW,CAAC,CAAC;EAGxD,MAAMuB,oBAAoB,GAAG,IAAAF,aAAM,EAAS,EAAE,CAAC;EAG/C,MAAMG,kBAAkB,GAAG,IAAAH,aAAM,EAAwB,CAAC,CAAC,CAAC;EAC5D,MAAMI,SAAS,GAAG,IAAAJ,aAAM,EAAsC,CAAC;EAC/D,MAAMK,gBAAgB,GAAG,IAAAL,aAAM,EAAU,KAAK,CAAC;EAC/C,MAAMM,gBAAgB,GAAG,IAAAC,kBAAW,EAAEC,aAAsB,IAAK;IAC/DH,gBAAgB,CAACI,OAAO,GAAGD,aAAa;IACxC7C,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EACN,MAAM+C,kBAAkB,GAAG,IAAAH,kBAAW,EACpC,CAACI,IAAU,EAAEC,QAAiB,KAAK;IACjC,IAAIA,QAAQ,EAAE;MACZT,kBAAkB,CAACM,OAAO,CAACE,IAAI,CAAC,GAAGC,QAAQ;IAC7C,CAAC,MAAM;MACL,OAAOT,kBAAkB,CAACM,OAAO,CAACE,IAAI,CAAC;IACzC;IACAhD,WAAW,CAAC,CAAC;EACf,CAAC,EACD,EACF,CAAC;EACD,MAAMkD,cAAc,GAAG,IAAAb,aAAM,EAA4B,CAAC,CAAC,CAAC;EAC5D,MAAMc,cAAc,GAAG,IAAAP,kBAAW,EAAEQ,KAAuB,IAAK;IAC9DjH,MAAM,CAACkH,MAAM,CAACH,cAAc,CAACJ,OAAO,EAAEM,KAAK,CAAC;IAC5CpD,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMsD,YAAY,GAAG,IAAAjB,aAAM,EAAc,CAAC;EAC1C,MAAMkB,YAAY,GAAG,IAAAX,kBAAW,EAAEY,SAAsB,IAAK;IAC3DF,YAAY,CAACR,OAAO,GAAGU,SAAS;IAChCxD,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMyD,aAAa,GAAG,IAAApB,aAAM,EAAsB,CAAC,CAAC,CAAC;EACrD,MAAMqB,aAAa,GAAG,IAAArB,aAAM,EAA4B,CAAC,CAAC,CAAC;EAG3D,MAAMsB,WAAW,GAAG,IAAAC,cAAO,EAAO,MAAM;IACtC,IAAI7C,gBAAgB,IAAI,OAAOtB,MAAM,KAAK,WAAW,EAAE;MAAA,IAAAoE,qBAAA;MACrD,MAAMC,eAAe,IAAAD,qBAAA,GACnBpE,MAAM,CAACsE,cAAc,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBG,OAAO,CAACjD,gBAAgB,CAAC;MAClD,IAAI+C,eAAe,EAAE;QACnB,OAAOG,IAAI,CAACC,KAAK,CAACJ,eAAe,CAAC;MACpC;IACF;IACA,OAAOzD,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAID,WAAW;EAE5B,CAAC,EAAE,EAAE,CAAC;EACN,MAAM+D,eAAe,GAAG,IAAA9B,aAAM,EAAOsB,WAAW,CAAC;EAGjD,MAAMS,eAAe,GAAG,IAAA/B,aAAM,EAAmB,CAAC;EAClD,MAAMgC,mBAAmB,GAAG,IAAAzB,kBAAW,EAAC,MAAM;IAAA,IAAA0B,qBAAA;IAC5C,IAAI,CAACF,eAAe,CAACtB,OAAO,EAAE;MAE5B;IACF;IAEA,IAAI,GAAAwB,qBAAA,GAACF,eAAe,CAACtB,OAAO,cAAAwB,qBAAA,eAAvBA,qBAAA,CAAA7H,IAAA,CAAA2H,eAAe,EAAWD,eAAe,CAACrB,OAAO,CAAC,GAAE;MAEvDL,SAAS,CAACK,OAAO,GAAG,IAAAyB,0BAAqB,EACvCH,eAAe,CAACtB,OAAO,CAAC0B,MAAM,EAC9BL,eAAe,CAACrB,OAClB,CAAC;IACH,CAAC,MAAM;MACLL,SAAS,CAACK,OAAO,GAAGjE,SAAS;IAC/B;EACF,CAAC,EAAE,EAAE,CAAC;EACN,MAAM4F,YAAY,GAAG,IAAA7B,kBAAW,EAAC,MAAM;IACrC,IAAI,CAACwB,eAAe,CAACtB,OAAO,EAAE;MAE5B;IACF;IAEAuB,mBAAmB,CAAC,CAAC;IACrBrE,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,CAACqE,mBAAmB,CAAC,CAAC;EAGzB,MAAMK,kBAAkB,GAAG,IAAA9B,kBAAW,EACpC,CAACI,IAAU,EAAEI,KAAkB,KAAK;IAAA,IAAAuB,kBAAA;IAClC,OAAOC,OAAO,CACZxB,KAAK,KAAK,OAAO,GACb,EAAAuB,kBAAA,GAAAlC,SAAS,CAACK,OAAO,cAAA6B,kBAAA,uBAAjBA,kBAAA,CAAoB3B,IAAI,CAAC,aAAYpB,KAAK,IACxC6B,aAAa,CAACX,OAAO,CAACE,IAAI,CAAC,YAAYpB,KAAK,GAC9C8B,aAAa,CAACZ,OAAO,CAACE,IAAI,CAAC,KAAKI,KACtC,CAAC;EACH,CAAC,EACD,EACF,CAAC;EACD,MAAMyB,aAAa,GAAG,IAAAjC,kBAAW,EAC9BQ,KAAkB,IAAK;IACtB,OAAOb,oBAAoB,CAACO,OAAO,CAACgC,IAAI,CAAE9B,IAAI,IAAK;MACjD,OAAO0B,kBAAkB,CAAC1B,IAAI,EAAEI,KAAK,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,EACD,CAACsB,kBAAkB,CACrB,CAAC;EACD,MAAMK,aAAa,GAAG,IAAAnC,kBAAW,EAC9BI,IAAU,IAAK;IACd,OAAOT,oBAAoB,CAACO,OAAO,CAACgC,IAAI,CAAEE,CAAC,IAAK;MAC9C,OAAOA,CAAC,KAAKhC,IAAI,IAAI0B,kBAAkB,CAACM,CAAC,EAAE,OAAO,CAAC;IACrD,CAAC,CAAC;EACJ,CAAC,EACD,CAACN,kBAAkB,CACrB,CAAC;EACD,MAAMO,SAAS,GAAG,IAAArC,kBAAW,EAAC,MAAM;IAClC,OAAOiC,aAAa,CAAC,OAAO,CAAC;EAC/B,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAKnB,MAAMK,aAAa,GAAG,IAAAtC,kBAAW,EAC/B,CAACI,IAAU,EAAEmC,KAAwB,KAAK;IACxC1B,aAAa,CAACX,OAAO,CAACE,IAAI,CAAC,GAAGmC,KAAK;EACrC,CAAC,EACD,EACF,CAAC;EAKD,MAAMC,aAAa,GAAG,IAAAxC,kBAAW,EAC/B,CAACI,IAAU,EAAEqC,UAAuB,KAAK;IACvC,IAAIA,UAAU,KAAK3B,aAAa,CAACZ,OAAO,CAACE,IAAI,CAAC,EAAE;MAE9CU,aAAa,CAACZ,OAAO,CAACE,IAAI,CAAC,GAAGqC,UAAU;MACxCrF,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EACD,EACF,CAAC;EAKD,MAAMsF,iBAAiB,GAAG,IAAA1C,kBAAW,EACnC,UAACvC,IAAU,EAAEnD,MAAkC,EAAqB;IAAA,IAAnBqI,MAAM,GAAA7H,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,KAAK;IAC7D,MAAM8H,MAAM,GAAGA,CAACxC,IAAU,EAAEyC,MAAyB,KAAK;MACxD,IAAIF,MAAM,EAAE;QACV,IAAIE,MAAM,KAAK,KAAK,EAAE;UACpBpF,IAAI,GAAG,IAAAqF,wBAAe,EAACrF,IAAI,CAAC;UAC5BsF,oBAAO,CAACJ,MAAM,CAAClF,IAAI,EAAE2C,IAAI,CAAC;QAC5B;MACF,CAAC,MAAM;QACL,IAAI,OAAOyC,MAAM,KAAK,WAAW,EAAE;UACjCpF,IAAI,GAAG,IAAAqF,wBAAe,EAACrF,IAAI,CAAC;UAC5BsF,oBAAO,CAAChJ,GAAG,CAAC0D,IAAI,EAAE2C,IAAI,EAAEyC,MAAM,CAAC;QACjC;MACF;IACF,CAAC;IAED,IAAI,OAAOvI,MAAM,KAAK,UAAU,EAAE;MAChCf,MAAM,CAACyJ,OAAO,CAACC,aAAa,CAAC/C,OAAO,CAAC,CAACjF,OAAO,CAACiI,IAAA,IAAmB;QAAA,IAAlB,CAAC9C,IAAI,EAAElD,KAAK,CAAC,GAAAgG,IAAA;QAC1D,MAAMC,MAAM,GAAGJ,oBAAO,CAAC5J,GAAG,CAACsE,IAAI,EAAE2C,IAAI,CAAC;QACtC,IAAI+C,MAAM,EAAE;UAAA,IAAAC,qBAAA;UACV,MAAM/H,KAAK,GAAG0H,oBAAO,CAAC3J,GAAG,CAACqE,IAAI,EAAE2C,IAAI,CAAC;UACrC,MAAMiD,QAAQ,GAAG;YACfd,KAAK,GAAAa,qBAAA,GAAEvC,aAAa,CAACX,OAAO,cAAAkD,qBAAA,uBAArBA,qBAAA,CAAwBhD,IAAI;UACrC,CAAC;UACD,MAAMyC,MAAM,GAAGvI,MAAM,CAAC;YACpB8F,IAAI;YACJ/E,KAAK;YACLoC,IAAI,EAAE8D,eAAe,CAACrB,OAAO;YAC7BhD,KAAK;YACLmG;UACF,CAAC,CAAC;UACFT,MAAM,CAACxC,IAAI,EAAEyC,MAAM,CAAC;QACtB;MACF,CAAC,CAAC;MAEF,OAAOpF,IAAI;IACb,CAAC,MAAM,IAAInD,MAAM,EAAE;MACjB,MAAMgJ,SAAS,GAAGC,KAAA,IAAyB;QAAA,IAAxB;UAAEnD,IAAI;UAAEoD;QAAU,CAAC,GAAAD,KAAA;QACpC,MAAMJ,MAAM,GAAGJ,oBAAO,CAAC5J,GAAG,CAACsE,IAAI,EAAE2C,IAAI,CAAC;QACtC,IAAI+C,MAAM,EAAE;UAAA,IAAAM,qBAAA,EAAAC,sBAAA;UACV,MAAMrI,KAAK,GAAG0H,oBAAO,CAAC3J,GAAG,CAACqE,IAAI,EAAE2C,IAAI,CAAC;UACrC,MAAMlD,KAAK,IAAAuG,qBAAA,GAAGR,aAAa,CAAC/C,OAAO,cAAAuD,qBAAA,uBAArBA,qBAAA,CAAwBrD,IAAI,CAAC;UAC3C,MAAMiD,QAAQ,GAAG;YAAEd,KAAK,GAAAmB,sBAAA,GAAE7C,aAAa,CAACX,OAAO,cAAAwD,sBAAA,uBAArBA,sBAAA,CAAwBtD,IAAI;UAAE,CAAC;UACzD,MAAMyC,MAAM,GACV,OAAOW,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;YACRnI,KAAK;YACLoC,IAAI,EAAE8D,eAAe,CAACrB,OAAO;YAC7BhD,KAAK;YACLmG;UACF,CAAC,CAAC,GACFG,SAAS;UACfZ,MAAM,CAACxC,IAAI,EAAEyC,MAAM,CAAC;QACtB;MACF,CAAC;MAED,MAAMc,aAAa,GAAG,EAAE;MAExBpK,MAAM,CAACyJ,OAAO,CAAC1I,MAAM,CAAC,CAACW,OAAO,CAAC2I,KAAA,IAAuB;QAAA,IAAtB,CAACxD,IAAI,EAAEoD,SAAS,CAAC,GAAAI,KAAA;QAC/C,IAAIxD,IAAI,CAACyD,QAAQ,CAAC,GAAG,CAAC,EAAE;UACtB,MAAMC,KAAK,GAAG1D,IAAI,CAAC2D,KAAK,CAAC,OAAO,CAAC;UACjC,MAAMZ,MAAM,GAAGJ,oBAAO,CAAC5J,GAAG,CAACsE,IAAI,EAAEqG,KAAK,CAAC,CAAC,CAAC,CAAC;UAC1C,IAAIX,MAAM,EAAE;YACV,MAAMa,QAAQ,GAAGA,CACfC,OAAgB,EAChBC,OAAe,EACfC,GAAW,KACR;cACH,IAAIA,GAAG,KAAKL,KAAK,CAAC/I,MAAM,GAAG,CAAC,EAAE;gBAC5B4I,aAAa,CAAClJ,IAAI,CAAC;kBAAE2F,IAAI,EAAE8D,OAAO;kBAAEV;gBAAU,CAAC,CAAC;gBAChD;cACF;cACA,MAAMY,IAAI,GAAGrB,oBAAO,CAAC3J,GAAG,CAAC6K,OAAO,EAAEC,OAAO,CAAC;cAC1C,IAAIG,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;gBACvBA,IAAI,CAACnJ,OAAO,CAAC,CAACsJ,CAAC,EAAE1J,CAAC,KAAK;kBACrBmJ,QAAQ,CACNI,IAAI,CAACvJ,CAAC,CAAC,EACN,GAAEqJ,OAAQ,IAAGrJ,CAAE,GAAEiJ,KAAK,CAACK,GAAG,GAAG,CAAC,CAAE,EAAC,EAClCA,GAAG,GAAG,CACR,CAAC;gBACH,CAAC,CAAC;cACJ;YACF,CAAC;YACDH,QAAQ,CAACvG,IAAI,EAAEqG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;UAC7B;QACF,CAAC,MAAM;UACLR,SAAS,CAAC;YAAElD,IAAI;YAAEoD;UAAU,CAAC,CAAC;QAChC;MACF,CAAC,CAAC;MAEFG,aAAa,CAAC1I,OAAO,CAACqI,SAAS,CAAC;MAEhC,OAAO7F,IAAI;IACb;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,EACF,CAAC;EAKD,MAAM+G,iBAAiB,GAAG,IAAAxE,kBAAW,EACnC,UAACvC,IAAU,EAA8C;IAAA,IAA5CnD,MAAM,GAAAQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG0D,UAAU,IAAID,gBAAgB;IAClD,IAAIjE,MAAM,EAAE;MACV,OAAOoI,iBAAiB,CAACjF,IAAI,EAAEnD,MAAM,EAAE,IAAI,CAAC;IAC9C;IAEA,OAAOmD,IAAI;EACb,CAAC,EACD,CAACe,UAAU,EAAED,gBAAgB,EAAEmE,iBAAiB,CAClD,CAAC;EAED,MAAMO,aAAa,GAAG,IAAAxD,aAAM,EAA2B,CAAC,CAAC,CAAC;EAC1D,MAAMgF,aAAa,GAAG,IAAAhF,aAAM,EAAoC,CAAC,CAAC,CAAC;EACnE,MAAMiF,aAAa,GAAG,IAAA1E,kBAAW,EAC/B,CAACI,IAAU,EAAElD,KAA8B,KAAK;IAC9C+F,aAAa,CAAC/C,OAAO,CAACE,IAAI,CAAC,GAAGlD,KAAK;EACrC,CAAC,EACD,EACF,CAAC;EACD,MAAMyH,aAAa,GAAG,IAAA3E,kBAAW,EAC/B,CAACI,IAAU,EAAElD,KAA8B,KAAK;IAC9CuH,aAAa,CAACvE,OAAO,CAACE,IAAI,CAAC,GAAGlD,KAAK;EACrC,CAAC,EACD,EACF,CAAC;EACD,MAAM0H,0BAA0B,GAAG,IAAA5E,kBAAW,EAAC,MAAM;IACnD,KAAK,MAAMI,IAAI,IAAI6C,aAAa,CAAC/C,OAAO,EAAE;MACxC,IAAIP,oBAAoB,CAACO,OAAO,CAAC2D,QAAQ,CAACzD,IAAI,CAAC,EAAE;QAC/C,MAAMlD,KAAK,GAAG+F,aAAa,CAAC/C,OAAO,CAACE,IAAI,CAAC;QACzC,IAAI,IAAAyE,gBAAO,EAAC3H,KAAK,CAAC4H,SAAS,CAAC,IAAI,IAAAD,gBAAO,EAAC3H,KAAK,CAAC6H,eAAe,CAAC,EAAE;UAC9D,OAAO,IAAI;QACb;MACF;IACF;IAEA,OAAO,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMC,UAAU,GAAG,IAAAC,8BAAc,EAAO3H,EAAE,CAAC;EAC3C,MAAM4H,iBAAiB,GAAG,IAAAD,8BAAc,EAOrC3H,EAAE,GAAG,cAAc,CAAC;EAEvB,MAAM6H,aAAa,GAAGH,UAAU,CAACjL,GAAG;EACpC,MAAMqL,gBAAgB,GAAGJ,UAAU,CAACK,MAAM;EAC1C,MAAMC,gBAAgB,GAAGJ,iBAAiB,CAACG,MAAM;EACjD,MAAME,mBAAmB,IAAApI,qBAAA,GAAG+H,iBAAiB,CAACzH,IAAI,cAAAN,qBAAA,uBAAtBA,qBAAA,CAAwBoI,mBAAmB;EAEvE,MAAMC,QAAQ,GAAG,IAAA/F,aAAM,EAAC;IACtBhC,IAAI;IACJC,MAAM;IACN+H,MAAM,EAAET,UAAU,CAACvH,IAAI;IACvBiI,kBAAkB,EAAE;EACtB,CAAC,CAAC;EAEFnE,eAAe,CAACrB,OAAO,GAAG,IAAAc,cAAO,EAAC,MAAM;IAItC,IAAI1D,EAAE,IAAIyD,WAAW,IAAI,CAACiE,UAAU,CAACvH,IAAI,EAAE;MACzCuH,UAAU,CAACW,MAAM,CAAC5E,WAAW,CAAC;IAChC;IAGA,IACEzD,EAAE,IACFyD,WAAW,IACXiE,UAAU,CAACvH,IAAI,IACf+H,QAAQ,CAACtF,OAAO,CAACuF,MAAM,KAAKT,UAAU,CAACvH,IAAI,IAC3C8D,eAAe,CAACrB,OAAO,KAAKa,WAAW,EACvC;MACA,OAAApG,aAAA,CAAAA,aAAA,KACK4G,eAAe,CAACrB,OAAO,GACvB8E,UAAU,CAACvH,IAAI;IAEtB;IAGA,IACEH,EAAE,IACF,CAACyD,WAAW,IACZ,CAACQ,eAAe,CAACrB,OAAO,IACxB8E,UAAU,CAACvH,IAAI,IACf+H,QAAQ,CAACtF,OAAO,CAACuF,MAAM,KAAKT,UAAU,CAACvH,IAAI,EAC3C;MACA,OAAOuH,UAAU,CAACvH,IAAI;IACxB;IAGA,IACEH,EAAE,IACF0H,UAAU,CAACvH,IAAI,IACf+H,QAAQ,CAACtF,OAAO,CAACuF,MAAM,KAAKT,UAAU,CAACvH,IAAI,IAC3CuH,UAAU,CAACvH,IAAI,KAAK8D,eAAe,CAACrB,OAAO,EAC3C;MACAsF,QAAQ,CAACtF,OAAO,CAACuF,MAAM,GAAGT,UAAU,CAACvH,IAAI;MACzC,OAAA9C,aAAA,CAAAA,aAAA,KACK4G,eAAe,CAACrB,OAAO,GACvB8E,UAAU,CAACvH,IAAI;IAEtB;IAGA,IAAIA,IAAI,KAAK+H,QAAQ,CAACtF,OAAO,CAACzC,IAAI,EAAE;MAClC+H,QAAQ,CAACtF,OAAO,CAACzC,IAAI,GAAGA,IAAI;MAC5B,OAAOA,IAAI;IACb;IAEA,OAAO8D,eAAe,CAACrB,OAAO;EAChC,CAAC,EAAE,CAACzC,IAAI,EAAEH,EAAE,EAAEyD,WAAW,EAAEiE,UAAU,CAAC,CAAC;EAEvCpI,eAAe,CAAC,MAAM;IAEpB,IAAIU,EAAE,IAAIyD,WAAW,IAAI,CAACiE,UAAU,CAACvH,IAAI,EAAE;MACzC2H,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAGrE,WAAW,CAAC;IACjC;EACF,CAAC,EAAE,CAACzD,EAAE,EAAEyD,WAAW,EAAEqE,gBAAgB,EAAEJ,UAAU,CAACvH,IAAI,CAAC,CAAC;EAExD,IAAAuD,cAAO,EAAC,MAAM;IACZS,mBAAmB,CAAC,CAAC;EAGvB,CAAC,EAAE,CAACF,eAAe,CAACrB,OAAO,CAAC,CAAC;EAE7BtD,eAAe,CAAC,MAAM;IACpB,IAAIU,EAAE,EAAE;MACNgI,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAG;QACjBd,iBAAiB;QACjBnC,SAAS;QACTF,aAAa;QACbpC,gBAAgB;QAChBQ;MACF,CAAC,CAAC;MACF,IAAI/B,UAAU,IAAID,gBAAgB,EAAE;QAClCgH,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,CAAC;MACzB;IACF;EACF,CAAC,EAAE,CACDD,gBAAgB,EAChB9G,UAAU,EACVgG,iBAAiB,EACjBjG,gBAAgB,EAChB8D,SAAS,EACTF,aAAa,EACb7E,EAAE,EACFiI,mBAAmB,EACnBxF,gBAAgB,EAChBQ,cAAc,CACf,CAAC;EAEF,MAAMqF,cAAc,GAAG,IAAA5E,cAAO,EAAC,MAAM;IACnC,OAAO,IAAA6E,iBAAQ,EACb,MAAM;MAAA,IAAAC,sBAAA;MACJ,CAAAA,sBAAA,GAAAjJ,MAAM,CAACsE,cAAc,cAAA2E,sBAAA,uBAArBA,sBAAA,CAAuBC,OAAO,CAC5B5H,gBAAgB,EAChBkD,IAAI,CAAC2E,SAAS,CAACzE,eAAe,CAACrB,OAAO,CACxC,CAAC;IACH,CAAC,EACD+F,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GACxC,CAAC;EACH,CAAC,EAAE,CAAChI,gBAAgB,CAAC,CAAC;EAKtB,MAAMiI,eAAgD,GAAG,IAAApG,kBAAW,EAClE,CAACI,IAAI,EAAE/E,KAAK,KAAK;IAAA,IAAAgL,qBAAA;IACf,IAAI,CAACjG,IAAI,EAAE;MACT;IACF;IAEA,MAAMkG,SAAS,GACblG,IAAI,KAAK,GAAG,GAER/E,KAAK,IAAAgL,qBAAA,GAEL9E,eAAe,CAACrB,OAAO,cAAAmG,qBAAA,cAAAA,qBAAA,GACtBjG,IAAI,CAACmG,KAAK,CAACvJ,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CACrC;IAET,IAAIwJ,OAAa,GAAG,IAAI;IACxB,IAAI;MAEFA,OAAO,GAAG,IAAA1D,wBAAe,EAACwD,SAAS,CAAC;IACtC,CAAC,CAAC,OAAOG,CAAC,EAAE;MACVD,OAAO,GAAGF,SAAS;IACrB;IAEA,IAAIlG,IAAI,KAAK,GAAG,EAAE;MAChB2C,oBAAO,CAAChJ,GAAG,CAACyM,OAAO,EAAEpG,IAAI,EAAE/E,KAAK,CAAC;IACnC;IAGA,IAAIgD,WAAW,EAAE;MACfmI,OAAO,GAAG9D,iBAAiB,CAAC8D,OAAO,EAAEnI,WAAW,CAAC;IACnD;IAEAkD,eAAe,CAACrB,OAAO,GAAGsG,OAAO;IAEjC,IAAIlJ,EAAE,EAAE;MAEN8H,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAGoB,OAAO,CAAC;MAC3B,IAAIhI,UAAU,IAAID,gBAAgB,EAAE;QAClCgH,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,CAAC;MACzB;IACF;IAEA,IAAIpH,gBAAgB,IAAI,OAAOtB,MAAM,KAAK,WAAW,EAAE;MACrD+I,cAAc,CAAC,CAAC;IAClB;IAEAxI,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CACEgI,gBAAgB,EAChB5G,UAAU,EACVD,gBAAgB,EAChBjB,EAAE,EACFoF,iBAAiB,EACjB6C,mBAAmB,EACnBpH,gBAAgB,EAChByH,cAAc,EACdvH,WAAW,CAEf,CAAC;EAED,MAAMqI,OAAO,GAAG,IAAA1G,kBAAW,EAAEwG,OAAa,IAAK;IAC7CjF,eAAe,CAACrB,OAAO,GAAGsG,OAAO;IACjCpJ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAKN,MAAMuJ,2BAA6D,GACjE,IAAA3G,kBAAW,EACT,OAAOI,IAAI,EAAE/E,KAAK,KAAK;IACrB,IAAI,CAAC+E,IAAI,EAAE;MACT,OAAO,IAAI;IACb;IAEAgG,eAAe,CAAChG,IAAI,EAAE/E,KAAK,CAAC;IAE5B,IAAI,IAAAwJ,gBAAO,EAACjH,YAAY,CAAC,EAAE;MACzB,OAAMA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwC,IAAI,EAAE/E,KAAK,CAAC;IACnC,CAAC,MAAM;MACLuC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGwC,IAAI,EAAE/E,KAAK,CAAC;IAC7B;EACF,CAAC,EACD,CAACuC,YAAY,EAAEwI,eAAe,CAChC,CAAC;EAKH,MAAMQ,gBAAkD,GAAG,IAAA5G,kBAAW,EACpE,gBAAOI,IAAI,EAA4B;IAAA,IAA1B/E,KAAK,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,aAAa;IAChC,IAAI,CAACsF,IAAI,EAAE;MACT,OAAO,IAAI;IACb;IAEA,IAAI/E,KAAK,KAAK,aAAa,EAAE;MAC3BsL,2BAA2B,CAACvG,IAAI,EAAE/E,KAAK,CAAC;IAC1C;IAEAyE,gBAAgB,CAACI,OAAO,GAAG,KAAK;IAEhC2B,YAAY,CAAC,CAAC;IAEd,MAAMpE,IAAI,GAAG8D,eAAe,CAACrB,OAAe;IAC5C,MAAM2G,eAAe,GAAGvI,YAAY,GAChCoE,iBAAiB,CAACjF,IAAI,EAAEa,YAAY,CAAC,GACrCb,IAAI;IAER,KAAK,MAAMqJ,EAAE,IAAIC,qBAAqB,CAAC7G,OAAO,EAAE;MAC9C,IAAI,IAAA2E,gBAAO,EAAClH,QAAQ,CAAC,EAAE;QACrB,MAAMmJ,EAAE,CAACD,eAAe,CAAC;MAC3B,CAAC,MAAM;QACLC,EAAE,CAACD,eAAe,CAAC;MACrB;IACF;IAEA,IAAI,IAAAhC,gBAAO,EAAClH,QAAQ,CAAC,EAAE;MACrB,OAAO,MAAMA,QAAQ,CAACkJ,eAAe,CAAC;IACxC;IAEA,OAAOlJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGkJ,eAAe,CAAC;EACpC,CAAC,EACD,CACEF,2BAA2B,EAC3BjE,iBAAiB,EACjB/E,QAAQ,EACRW,YAAY,EACZuD,YAAY,CAEhB,CAAC;EAED,MAAMkF,qBAAqB,GAAG,IAAAtH,aAAM,EAAwB,EAAE,CAAC;EAC/D,MAAMuH,kBAAkB,GAAG,IAAAhH,kBAAW,EACnCiH,QAAiC,IAAK;IACrC,MAAM9D,MAAM,GAAG4D,qBAAqB,CAAC7G,OAAO,CAACgC,IAAI,CAAE4E,EAAE,IAAK;MACxD,OAAOG,QAAQ,KAAKH,EAAE;IACxB,CAAC,CAAC;IACF,IAAI,CAAC3D,MAAM,EAAE;MACX4D,qBAAqB,CAAC7G,OAAO,CAACzF,IAAI,CAACwM,QAAQ,CAAC;IAC9C;EACF,CAAC,EACD,EACF,CAAC;EAGD,MAAMC,gBAAgB,GAAG,IAAAlH,kBAAW,EAAEI,IAAU,IAAK;IACnDT,oBAAoB,CAACO,OAAO,GAAGiH,WAAW,CACxCxH,oBAAoB,CAACO,OAAO,EAC5BE,IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMgH,kBAAkB,GAAG,IAAApH,kBAAW,EAAEI,IAAU,IAAK;IACrDT,oBAAoB,CAACO,OAAO,GAAGmH,cAAc,CAC3C1H,oBAAoB,CAACO,OAAO,EAC5BE,IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMkH,WAAW,GAAG,IAAAtH,kBAAW,EAAC,MAAM;IACpC,IAAI,OAAOnD,MAAM,KAAK,WAAW,EAAE;MAAA,IAAA0K,OAAA,EAAAC,gBAAA;MACjC,CAAAD,OAAA,GAAA1K,MAAM,cAAA0K,OAAA,wBAAAC,gBAAA,GAAND,OAAA,CAAQE,QAAQ,cAAAD,gBAAA,uBAAhBA,gBAAA,CAAA3N,IAAA,CAAA0N,OAAA,EAAmB;QAAEG,GAAG,EAAE,CAAC;QAAEC,QAAQ,EAAE;MAAS,CAAC,CAAC;IACpD;EACF,CAAC,EAAE,EAAE,CAAC;EAKN,MAAMC,gBAAgB,GAAG,IAAA5H,kBAAW,EAClC,MAAO6H,IAAI,IAAK;IACd,MAAM;MACJhK,QAAQ;MACRiK,oBAAoB;MACpBC,mBAAmB;MACnBC;IACF,CAAC,GAAGH,IAAI;IAERtH,cAAc,CAAC;MAAEgC,KAAK,EAAEtG;IAAU,CAAC,CAAC;IAEpC,MAAMgM,sBAAsB,GAC1B,CAACD,cAAc,GACX,IAAI,GAEJ,CAAC3F,SAAS,CAAC,CAAC,IAAIJ,aAAa,CAAC,SAAS,CAAC,MAC3C6F,oBAAoB,IAAIlD,0BAA0B,CAAC,CAAC,CAAC;IAExD,IAAIqD,sBAAsB,EAAE;MAC1BtH,YAAY,CAAC,SAAS,CAAC;IACzB;IAGA,IAAI,CAACoH,mBAAmB,EAAE;MACxB,KAAK,MAAM;QACT3H,IAAI;QACJ8H,IAAI;QACJjB;MACF,CAAC,IAAIkB,sBAAsB,CAACjI,OAAO,EAAE;QACnC,IACEgI,IAAI,KAAK,UAAU,IACnBvI,oBAAoB,CAACO,OAAO,CAAC2D,QAAQ,CAACzD,IAAI,CAAC,EAC3C;UAEA,IAAI6H,sBAAsB,EAAE;YAC1B,MAAMhB,QAAQ,CAAC,CAAC;UAClB,CAAC,MAAM;YACLA,QAAQ,CAAC,CAAC;UACZ;QACF;MACF;IACF;IAEA,IACE,EAAEe,cAAc,GAAG,KAAK,GAAG3F,SAAS,CAAC,CAAC,CAAC,IACvC,CAACJ,aAAa,CAAC,SAAS,CAAC,KACxB8F,mBAAmB,GAAG,IAAI,GAAG,CAAC9F,aAAa,CAAC,OAAO,CAAC,CAAC,EACtD;MACA,IAAIY,MAAkC;MAEtC,IAAI;QACFA,MAAM,GAAG,MAAMhF,QAAQ,CAAC,CAAC;QAEzB,IAAIgF,MAAM,YAAY7D,KAAK,EAAE;UAC3B,MAAM6D,MAAM;QACd;MACF,CAAC,CAAC,OAAON,KAAK,EAAE;QACdM,MAAM,GAAG;UAAEN;QAAM,CAAC;MACpB;MAEA,MAAM/B,KAAK,GAAGqC,MAA0B;MAExC,IAAIoF,sBAAsB,EAAE;QAC1BtH,YAAY,CAACH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE+B,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;MACnD;MAGA,IAAI/B,KAAK,aAALA,KAAK,eAALA,KAAK,CAAG,QAAQ,CAAC,EAAE;QACrBG,YAAY,CAACH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,QAAQ,CAAC,CAAC;MACjC;MAEA,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE+B,KAAK,IAAI/B,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE4H,OAAO,IAAI5H,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE6H,IAAI,EAAE;QACjD9H,cAAc,CAACC,KAAK,CAAC;MACvB;IACF,CAAC,MAAM;MACL,IAAIyH,sBAAsB,EAAE;QAC1BpL,MAAM,CAACyL,qBAAqB,CAAC,MAAM;UACjC3H,YAAY,CAAC1E,SAAS,CAAC;QACzB,CAAC,CAAC;QAEF,IAAI,CAAC8L,mBAAmB,EAAE;UAExBQ,mBAAmB,CAACrI,OAAO,GAAG,MAAM;YAClCrD,MAAM,CAACyL,qBAAqB,CAAC,MAAM;cAIjCV,gBAAgB,CAAAjN,aAAA,CAAAA,aAAA,KAAMkN,IAAI;gBAAEE,mBAAmB,EAAE;cAAI,EAAE,CAAC;YAC1D,CAAC,CAAC;UACJ,CAAC;QACH;MACF;MAEAjK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAG,CAAC;MAEnBiC,gBAAgB,CAAC,IAAI,CAAC;IACxB;IAEA,OAAOwB,eAAe,CAACrB,OAAO;EAChC,CAAC,EACD,CACEK,cAAc,EACd8B,SAAS,EACTuC,0BAA0B,EAC1B3C,aAAa,EACbtB,YAAY,EACZ7C,eAAe,EACfiC,gBAAgB,CAEpB,CAAC;EAKD,MAAMyI,YAAY,GAAG,IAAAxI,kBAAW,EAC9B,kBAAuC;IAAA,IAAhC;MAAEyI,WAAW,GAAG;IAAK,CAAC,GAAA3N,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,CAAC,CAAC;IAChC8M,gBAAgB,CAAC;MACfE,oBAAoB,EAAE,IAAAjD,gBAAO,EAAChH,QAAQ,CAAC;MACvCA,QAAQ,EAAE,MAAAA,CAAA,KAAY;QAEpB,MAAMJ,IAAI,GAAG8D,eAAe,CAACrB,OAAO;QACpC,MAAMwI,YAAY,GAAGlE,iBAAiB,CACpClG,YAAY,GAAGoE,iBAAiB,CAACjF,IAAI,EAAEa,YAAY,CAAC,GAAGb,IACzD,CAAC;QACD,MAAMkL,IAAI,GAAG;UACXC,SAAS,EAAEA,CAAA,KAAM;YAAA,IAAAC,kBAAA;YACfJ,WAAW,aAAXA,WAAW,wBAAAI,kBAAA,GAAXJ,WAAW,CAAEK,KAAK,cAAAD,kBAAA,uBAAlBA,kBAAA,CAAAhP,IAAA,CAAA4O,WAAqB,CAAC;YAEtB,IAAI,OAAO5L,MAAM,KAAK,WAAW,EAAE;cACjC,IAAIsB,gBAAgB,EAAE;gBACpBtB,MAAM,CAACsE,cAAc,CAAC4H,UAAU,CAAC5K,gBAAgB,CAAC;cACpD;YACF;YAEAf,WAAW,CAAC,CAAC;UACf,CAAC;UACD4L,SAAS,EAAEA,CAAA,KAAM;YACfzH,eAAe,CAACrB,OAAO,GAAG,CAAC,CAAS;YACpC,IAAI5C,EAAE,EAAE;cACN6H,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG,CAAC,CAAS,CAAC;YAC7B,CAAC,MAAM;cACL/H,WAAW,CAAC,CAAC;YACf;UACF;QACF,CAAC;QAED,IAAIyF,MAAM,GAAG5G,SAAS;QAEtB,IAAI,IAAA4I,gBAAO,EAAChH,QAAQ,CAAC,EAAE;UACrBgF,MAAM,GAAG,MAAMhF,QAAQ,CAAC6K,YAAY,EAAEC,IAAI,CAAC;QAC7C,CAAC,MAAM;UACL9F,MAAM,GAAGhF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG6K,YAAY,EAAEC,IAAI,CAAC;QACzC;QAEA,MAAMM,cAAc,GAAG,OAAMlL,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAC3C2K,YAAY,EACZ7F,MACF,CAAC;QACD,IAAIoG,cAAc,EAAE;UAClBpG,MAAM,GACJtJ,MAAM,CAACY,IAAI,CAAC0I,MAAM,CAAC,CAAC9H,MAAM,GAAG,CAAC,GAAAJ,aAAA,CAAAA,aAAA,KACrBkI,MAAM,GAAKoG,cAAc,IAC9BA,cAAc;QACtB;QAEA,IAAIjL,iBAAiB,EAAE;UACrBsJ,WAAW,CAAC,CAAC;QACf;QAEA,OAAOzE,MAAM;MACf;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACE2B,iBAAiB,EACjBoD,gBAAgB,EAChBtK,EAAE,EACFoF,iBAAiB,EACjB7E,QAAQ,EACRE,gBAAgB,EAChBuJ,WAAW,EACXtJ,iBAAiB,EACjBG,gBAAgB,EAChBgH,aAAa,EACb7G,YAAY,CAEhB,CAAC;EAGD,MAAM6J,sBAAsB,GAAG,IAAA1I,aAAM,EAA2B,EAAE,CAAC;EACnE,MAAMyJ,qBAAqB,GAAG,IAAAlJ,kBAAW,EACvC,CACEI,IAA+B,EAC/B8H,IAA+B,EAC/BjB,QAAuC,KACpC;IACHkB,sBAAsB,CAACjI,OAAO,GAC5BiI,sBAAsB,CAACjI,OAAO,CAAC5F,MAAM,CAAC6O,KAAA,IAA0B;MAAA,IAAzB;QAAE/I,IAAI,EAAEgC,CAAC;QAAE8F,IAAI,EAAEkB;MAAE,CAAC,GAAAD,KAAA;MACzD,OAAO,EAAE/G,CAAC,KAAKhC,IAAI,IAAIgJ,CAAC,KAAKlB,IAAI,CAAC;IACpC,CAAC,CAAC;IACJC,sBAAsB,CAACjI,OAAO,CAACzF,IAAI,CAAC;MAAE2F,IAAI;MAAE8H,IAAI;MAAEjB;IAAS,CAAC,CAAC;EAC/D,CAAC,EACD,EACF,CAAC;EAGD,MAAMsB,mBAAmB,GAAG,IAAA9I,aAAM,EAAa,IAAI,CAAC;EACpD,IAAI,CAACwC,aAAa,CAAC,SAAS,CAAC,EAAE;IAAA,IAAAoH,qBAAA;IAC7B,CAAAA,qBAAA,GAAAd,mBAAmB,CAACrI,OAAO,cAAAmJ,qBAAA,uBAA3BA,qBAAA,CAAAxP,IAAA,CAAA0O,mBAA8B,CAAC;IAC/BA,mBAAmB,CAACrI,OAAO,GAAG,IAAI;EACpC;EAGA,IAAAoJ,uBAAc,EAAC,MAAM;IACnB,IAAI5L,MAAM,EAAE;MAAA,IAAA6L,eAAA;MACV/H,eAAe,CAACtB,OAAO,IAAAqJ,eAAA,GAAG/J,MAAM,CAACU,OAAO,cAAAqJ,eAAA,uBAAdA,eAAA,CAAgBC,OAAO,CAAC9L,MAAM,CAAC;IAC3D;IAGAmE,YAAY,CAAC,CAAC;EAChB,CAAC,CAAC;EACF,IAAA4H,wBAAe,EAAC,MAAM;IACpB,IAAI/L,MAAM,IAAIA,MAAM,KAAK8H,QAAQ,CAACtF,OAAO,CAACxC,MAAM,EAAE;MAAA,IAAAgM,gBAAA;MAChDlE,QAAQ,CAACtF,OAAO,CAACxC,MAAM,GAAGA,MAAM;MAChC8D,eAAe,CAACtB,OAAO,IAAAwJ,gBAAA,GAAGlK,MAAM,CAACU,OAAO,cAAAwJ,gBAAA,uBAAdA,gBAAA,CAAgBF,OAAO,CAAC9L,MAAM,CAAC;MAEzDmE,YAAY,CAAC,CAAC;MACdzE,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACM,MAAM,EAAEmE,YAAY,EAAEzE,WAAW,CAAC,CAAC;EAEvC,MAAMuM,SAAS,GAAG,IAAA3J,kBAAW,EAAC,MAAM;IAClCW,YAAY,CAAC1E,SAAS,CAAC;IACvBsE,cAAc,CAAC;MACb8H,IAAI,EAAEpM,SAAS;MACfmM,OAAO,EAAEnM,SAAS;MAClBsG,KAAK,EAAEtG;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC0E,YAAY,EAAEJ,cAAc,CAAC,CAAC;EAElC,MAAM;IAAEqJ,iBAAiB,EAAEhJ;EAAU,CAAC,GAAGiJ,mBAAmB,CAAC;IAC3DjJ,SAAS,EAAEF,YAAY,CAACR,OAAO;IAC/B4J,OAAO,EAAE7H,aAAa,CAAC,SAAS,CAAC;IACjChE,wBAAwB;IACxBC,kBAAkB;IAClByL;EACF,CAAC,CAAC;EAEF,MAAMI,WAAW,GAAGzJ,cAAc,CAACJ,OAAO;EAC1C,MAAM8J,QAAQ,GACZ,QAAOjL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG,UAAU,CAAC,MAAK,SAAS,GACnCA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG,UAAU,CAAC,GACjB6B,SAAS,KAAK,SAAS,KAAM,IAAI,GAClC,IAAI,GACJ3E,SAAS;EAEf,OACEvE,MAAA,CAAAkB,OAAA,CAAAqR,aAAA,CAAC1R,QAAA,CAAAK,OAAO,CAACqE,QAAQ;IACf5B,KAAK,EAAAV,aAAA;MAEHiM,gBAAgB;MAChBD,2BAA2B;MAC3B6B,YAAY;MACZtB,gBAAgB;MAChBE,kBAAkB;MAClBQ,gBAAgB;MAChBjH,YAAY;MACZJ,cAAc;MACdR,gBAAgB;MAChBI,kBAAkB;MAClB+I,qBAAqB;MACrB1G,aAAa;MACbF,aAAa;MACboC,aAAa;MACbC,aAAa;MACbtC,SAAS;MACTF,aAAa;MACbF,aAAa;MACbJ,YAAY;MACZuE,eAAe;MACfM,OAAO;MACPlC,iBAAiB;MACjBwC,kBAAkB;MAClBM,WAAW;MAGX5J,MAAM;MACNsM,QAAQ;MACRrL,QAAQ;MACRiC,SAAS;MACTmJ,WAAW;MACXlL,oBAAoB;MACpBO,UAAU,EAAE,IAAI;MAChBwC,MAAM,EAAE/B,SAAS,CAACK,OAAO;MACzBD,aAAa,EAAEH,gBAAgB,CAACI,OAAO;MACvCgK,eAAe,EACb3Q,MAAM,CAACY,IAAI,CAACyF,kBAAkB,CAACM,OAAO,CAAC,CAACnF,MAAM,GAAG,CAAC;MACpDkI,aAAa;MACbwB,aAAa;MACbrG,WAAW,EAAEoB,MAAM,CAACU,OAAO;MAG3B5C,EAAE;MACFG,IAAI,EAAE8D,eAAe,CAACrB,OAAO;MAC7BhD;IAAK,GACF6B,IAAI;EACP,GAEFrH,MAAA,CAAAkB,OAAA,CAAAqR,aAAA,CAAChS,WAAA,CAAAW,OAAkB;IACjBuR,UAAU,EACR5M,cAAc,GACV;MACE6M,YAAY,EAAE;QACZ9M,EAAE,EAAEC,cAAc;QAClB8M,KAAK,EAAEhL,WAAW,CAACiL,iBAAiB;QACpCC,IAAI,EAAEzK,gBAAgB,CAACI;MACzB;IACF,CAAC,GACDjE,SACL;IACDwM,WAAW,EAAEuB,QAAQ,GAAG;MAAEA,QAAQ,EAAE;IAAK,CAAC,GAAG/N,SAAU;IACvDwC,MAAM,EAAEA,MAAM,GAAGA,MAAM,GAAGxC,SAAU;IACpCyC,YAAY,EAAEA,YAAY,GAAGA,YAAY,GAAGzC;EAAU,GAErD6C,QACiB,CACJ,CAAC;AAEvB;AAIO,SAASqI,WAAWA,CAACqD,KAAe,EAAEpK,IAAU,EAAY;EACjE,OAAOoK,KAAK,CAAC3G,QAAQ,CAACzD,IAAI,CAAC,GAAGoK,KAAK,GAAGA,KAAK,CAACC,MAAM,CAACrK,IAAI,CAAC;AAC1D;AAEO,SAASiH,cAAcA,CAACmD,KAAe,EAAEpK,IAAU,EAAY;EACpE,OAAOoK,KAAK,CAAClQ,MAAM,CAAEoQ,QAAQ,IAAKA,QAAQ,KAAKtK,IAAI,CAAC;AACtD;AAUA,SAASyJ,mBAAmBA,CAAC3M,KAA4B,EAAE;EACzD,MAAM;IACJ0D,SAAS;IACTkJ,OAAO;IACP7L,wBAAwB;IACxBC,kBAAkB;IAClByL;EACF,CAAC,GAAGzM,KAAK,IAAI,CAAC,CAAC;EAEf,MAAM,GAAGE,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMsN,QAAQ,GAAG,IAAAlL,aAAM,EAAc,CAAC;EACtC,MAAMmL,MAAM,GAAG,IAAAnL,aAAM,EAAgB,IAAI,CAAC;EAC1C,MAAMoL,UAAU,GAAG,IAAApL,aAAM,EAItB,CAAC,CAAC,CAAC;EAEN,MAAMqL,QAAQ,GAAG,IAAA9K,kBAAW,EACzBQ,KAAkB,IAAK;IACtBmK,QAAQ,CAACzK,OAAO,GAAGM,KAAK;IACxBpD,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CAACA,WAAW,CACd,CAAC;EAED,MAAM2N,KAAK,GAAG,IAAA/K,kBAAW,EAAC,MAAM;IAC9B,KAAK,MAAMtG,GAAG,IAAImR,UAAU,CAAC3K,OAAO,EAAE;MACpC8K,YAAY,CAACH,UAAU,CAAC3K,OAAO,CAACxG,GAAG,CAAC,CAAC;IACvC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMuR,cAAc,GAAG,IAAAxL,aAAM,EAAC,KAAK,CAAC;EACpC,MAAMyL,gBAAgB,GAAG,IAAAzL,aAAM,EAAc,IAAI,CAAC;EAElD,IAAA1C,gBAAS,EAAC,MAAM;IAKd,MAAMoO,MAAM,GAAGlF,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;IAC9C,MAAMiF,OAAO,GACXnN,wBAAwB,aAAxBA,wBAAwB,cAAxBA,wBAAwB,GAEvBkN,MAAM,GAAG,CAAC,GAAG,IAAK;IAErB,IAAIR,QAAQ,CAACzK,OAAO,IAAIU,SAAS,KAAK,OAAO,EAAE;MAC7CmK,KAAK,CAAC,CAAC;MACPD,QAAQ,CAAC7O,SAAS,CAAC;MACnB;IACF;IAEA,IAAI2E,SAAS,KAAK,OAAO,EAAE;MACzBmK,KAAK,CAAC,CAAC;MACPD,QAAQ,CAAC,OAAO,CAAC;MAEjBD,UAAU,CAAC3K,OAAO,CAAC4I,KAAK,GAAGuC,UAAU,CAAC,MAAM;QAC1CT,MAAM,CAAC1K,OAAO,GAAG,CAAC;QAClB4K,QAAQ,CAAC7O,SAAS,CAAC;MACrB,CAAC,EAAEmP,OAAO,CAAC;MACX;IACF;IAEA,IAAIxK,SAAS,KAAK,UAAU,EAAE;MAC5BqK,cAAc,CAAC/K,OAAO,GAAG,IAAI;IAC/B;IAEA,IAAIU,SAAS,KAAK,SAAS,IAAI+J,QAAQ,CAACzK,OAAO,KAAK,SAAS,EAAE;MAC7DgL,gBAAgB,CAAChL,OAAO,GAAGoL,QAAQ,CAACC,aAA4B;MAChER,KAAK,CAAC,CAAC;MACPH,MAAM,CAAC1K,OAAO,GAAGsL,IAAI,CAACC,GAAG,CAAC,CAAC;MAC3BR,cAAc,CAAC/K,OAAO,GAAG,KAAK;MAC9B4K,QAAQ,CAAC,SAAS,CAAC;IACrB,CAAC,MAAM,IAAIH,QAAQ,CAACzK,OAAO,KAAK,SAAS,EAAE;MACzC,MAAMwL,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACJ,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGb,MAAM,CAAC1K,OAAO,CAAC;MACpD,MAAM2L,KAAK,GAAGV,MAAM,GAAGC,OAAO,GAAGO,IAAI,CAACC,GAAG,CAACR,OAAO,GAAGM,MAAM,EAAE,CAAC,CAAC;MAE9D,IAAI,CAAC5B,OAAO,EAAE;QACZe,UAAU,CAAC3K,OAAO,CAAC4L,QAAQ,GAAGT,UAAU,CAAC,MAAM;UAC7C,IAAIJ,cAAc,CAAC/K,OAAO,EAAE;YAC1B4K,QAAQ,CAAC,UAAU,CAAC;UACtB;UACAjO,MAAM,CAACyL,qBAAqB,CAAC,MAAM;YAAA,IAAAyD,qBAAA,EAAAC,sBAAA;YACjC,CAAAD,qBAAA,GAAAb,gBAAgB,CAAChL,OAAO,cAAA6L,qBAAA,wBAAAC,sBAAA,GAAxBD,qBAAA,CAA0BE,KAAK,cAAAD,sBAAA,uBAA/BA,sBAAA,CAAAnS,IAAA,CAAAkS,qBAAkC,CAAC;UACrC,CAAC,CAAC;QACJ,CAAC,EAAEF,KAAK,CAAC;QAEThB,UAAU,CAAC3K,OAAO,CAAC4I,KAAK,GAAGuC,UAAU,CAAC,MAAM;UAC1CT,MAAM,CAAC1K,OAAO,GAAG,CAAC;UAClB4K,QAAQ,CAAC7O,SAAS,CAAC;UACnB8O,KAAK,CAAC,CAAC;QACT,CAAC,EAAEc,KAAK,GAAGT,OAAO,CAAC;MACrB;IACF;IAEA,IAAIT,QAAQ,CAACzK,OAAO,KAAK,SAAS,EAAE;MAClC2K,UAAU,CAAC3K,OAAO,CAACgM,OAAO,GAAGb,UAAU,CAAC,MAAM;QAC5CN,KAAK,CAAC,CAAC;QACPD,QAAQ,CAAC7O,SAAS,CAAC;QACnB0N,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC;MACf,CAAC,EAAEzL,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,KAAK,CAAC;IACjC;IAEA,OAAO6M,KAAK;EACd,CAAC,EAAE,CACDA,KAAK,EACL9M,wBAAwB,EACxB2C,SAAS,EACTkK,QAAQ,EACRhB,OAAO,EACP5L,kBAAkB,EAClByL,SAAS,CACV,CAAC;EAEF,OAAO;IAAEC,iBAAiB,EAAEe,QAAQ,CAACzK;EAAQ,CAAC;AAChD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { FieldProps } from '../../types';
|
|
3
|
-
export type Props = FieldProps<Array<string | number> | undefined> & {
|
|
2
|
+
import { FieldHelpProps, FieldProps } from '../../types';
|
|
3
|
+
export type Props = FieldHelpProps & FieldProps<Array<string | number> | undefined> & {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
variant?: 'checkbox' | 'button';
|
|
6
6
|
optionsLayout?: 'horizontal' | 'vertical';
|
|
@@ -32,6 +32,7 @@ function ArraySelection(props) {
|
|
|
32
32
|
value,
|
|
33
33
|
error,
|
|
34
34
|
hasError,
|
|
35
|
+
help,
|
|
35
36
|
info,
|
|
36
37
|
warning,
|
|
37
38
|
disabled,
|
|
@@ -43,12 +44,17 @@ function ArraySelection(props) {
|
|
|
43
44
|
forId: id,
|
|
44
45
|
className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--layout-${layout} dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
|
|
45
46
|
contentClassName: 'dnb-forms-field-array-selection__options',
|
|
47
|
+
help,
|
|
46
48
|
info,
|
|
47
49
|
warning,
|
|
48
50
|
error,
|
|
49
51
|
layout,
|
|
50
52
|
label,
|
|
51
|
-
labelDescription
|
|
53
|
+
labelDescription: _react.default.createElement(_react.default.Fragment, null, labelDescription, help ? _react.default.createElement(_components.HelpButton, {
|
|
54
|
+
size: "small",
|
|
55
|
+
left: labelDescription ? 'x-small' : false,
|
|
56
|
+
title: help.title
|
|
57
|
+
}, help.content) : undefined)
|
|
52
58
|
}, (0, _utils.pickSpacingProps)(props));
|
|
53
59
|
const options = (0, _react.useMemo)(() => _react.default.Children.toArray(children).filter(child => _react.default.isValidElement(child) && child.type === _Option.default).map(option => {
|
|
54
60
|
var _option$props$title;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_Option","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","error","hasError","info","warning","disabled","emptyValue","handleChange","children","useFieldProps","fieldSectionProps","forId","classnames","contentClassName","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","OptionField","map","option","_option$props$title","title","handleSelect","selected","newValue","includes","createElement","Provider","status","ToggleButton","text","checked","on_change","Checkbox","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport OptionField from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldProps<Array<string | number> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n value,\n error,\n hasError,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const fieldSectionProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n ...pickSpacingProps(props),\n }\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) =>\n React.isValidElement(child) && child.type === OptionField\n )\n .map((option: React.ReactElement) => ({\n title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldSectionProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options.map((option, i) => (\n <ToggleButton\n key={`option-${i}-${option.value}`}\n text={option.title}\n checked={value?.includes(option.value)}\n on_change={option.handleSelect}\n />\n ))}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldSectionProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n status={hasError ? 'error' : undefined}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_Option","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","error","hasError","help","info","warning","disabled","emptyValue","handleChange","children","useFieldProps","fieldSectionProps","forId","classnames","contentClassName","createElement","Fragment","HelpButton","size","left","title","content","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","OptionField","map","option","_option$props$title","handleSelect","selected","newValue","includes","Provider","status","ToggleButton","text","checked","on_change","Checkbox","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport OptionField from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<Array<string | number> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n }\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n value,\n error,\n hasError,\n help,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useFieldProps(props)\n\n const fieldSectionProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n help,\n info,\n warning,\n error,\n layout,\n label,\n labelDescription: (\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n ),\n ...pickSpacingProps(props),\n }\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) =>\n React.isValidElement(child) && child.type === OptionField\n )\n .map((option: React.ReactElement) => ({\n title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldSectionProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options.map((option, i) => (\n <ToggleButton\n key={`option-${i}-${option.value}`}\n text={option.title}\n checked={value?.includes(option.value)}\n on_change={option.handleSelect}\n />\n ))}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldSectionProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n status={hasError ? 'error' : undefined}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Props as ToggleFieldProps } from '../Toggle';
|
|
2
|
-
import { FieldProps, Path } from '../../types';
|
|
2
|
+
import { FieldHelpProps, FieldProps, Path } from '../../types';
|
|
3
3
|
type BooleanProps = {
|
|
4
4
|
trueText?: string;
|
|
5
5
|
falseText?: string;
|
|
@@ -12,7 +12,7 @@ type NeverBooleanProps = {
|
|
|
12
12
|
export type IndeterminateProps = FieldProps<unknown> & {
|
|
13
13
|
dependencePaths: Array<Path>;
|
|
14
14
|
} & NeverBooleanProps;
|
|
15
|
-
export type Props = FieldProps<unknown> & BooleanProps;
|
|
15
|
+
export type Props = FieldHelpProps & FieldProps<unknown> & BooleanProps;
|
|
16
16
|
declare function BooleanComponent(props: Props | IndeterminateProps): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
declare namespace BooleanComponent {
|
|
18
18
|
var _supportsSpacingProps: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boolean.js","names":["_react","_interopRequireDefault","require","_Toggle","_useTranslation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","BooleanComponent","props","trueText","falseText","restProps","translations","useTranslation","BooleanField","createElement","valueOn","valueOff","textOn","yes","textOff","no","valueType","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FieldProps, Path } from '../../types'\n\ntype BooleanProps = {\n trueText?: string\n falseText?: string\n variant?: ToggleFieldProps['variant']\n dependencePaths?: never\n}\ntype NeverBooleanProps = {\n // eslint-disable-next-line no-unused-vars\n [K in keyof Partial<Omit<BooleanProps, 'dependencePaths'>>]: never\n}\nexport type IndeterminateProps = FieldProps<unknown> & {\n dependencePaths: Array<Path>\n} & NeverBooleanProps\nexport type Props = FieldProps<unknown> & BooleanProps\n\nfunction BooleanComponent(props: Props | IndeterminateProps) {\n const { trueText, falseText, ...restProps } = props\n const translations = useTranslation().BooleanField\n\n return (\n <ToggleField\n {...(restProps as ToggleFieldProps)}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? translations.yes}\n textOff={falseText ?? translations.no}\n valueType=\"boolean\"\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAuD,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAkBvD,SAASmB,gBAAgBA,CAACC,KAAiC,EAAE;EAC3D,MAAM;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAb,wBAAA,CAAKU,KAAK,EAAA5B,SAAA;EACnD,MAAMgC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,YAAY;EAElD,OACEvC,MAAA,CAAAQ,OAAA,CAAAgC,aAAA,CAACrC,OAAA,CAAAK,OAAW,EAAAC,QAAA,KACL2B,SAAS;IACdK,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,YAAY,CAACO,GAAI;IACrCC,OAAO,EAAEV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,YAAY,CAACS,EAAG;IACtCC,SAAS,EAAC;EAAS,EACpB,CAAC;AAEN;AAEAf,gBAAgB,CAACgB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BjB,gBAAgB;AAAAkB,OAAA,CAAA1C,OAAA,GAAAyC,QAAA"}
|
|
1
|
+
{"version":3,"file":"Boolean.js","names":["_react","_interopRequireDefault","require","_Toggle","_useTranslation","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","BooleanComponent","props","trueText","falseText","restProps","translations","useTranslation","BooleanField","createElement","valueOn","valueOff","textOn","yes","textOff","no","valueType","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport ToggleField, { Props as ToggleFieldProps } from '../Toggle'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FieldHelpProps, FieldProps, Path } from '../../types'\n\ntype BooleanProps = {\n trueText?: string\n falseText?: string\n variant?: ToggleFieldProps['variant']\n dependencePaths?: never\n}\ntype NeverBooleanProps = {\n // eslint-disable-next-line no-unused-vars\n [K in keyof Partial<Omit<BooleanProps, 'dependencePaths'>>]: never\n}\nexport type IndeterminateProps = FieldProps<unknown> & {\n dependencePaths: Array<Path>\n} & NeverBooleanProps\nexport type Props = FieldHelpProps & FieldProps<unknown> & BooleanProps\n\nfunction BooleanComponent(props: Props | IndeterminateProps) {\n const { trueText, falseText, ...restProps } = props\n const translations = useTranslation().BooleanField\n\n return (\n <ToggleField\n {...(restProps as ToggleFieldProps)}\n valueOn={true}\n valueOff={false}\n textOn={trueText ?? translations.yes}\n textOff={falseText ?? translations.no}\n valueType=\"boolean\"\n />\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAuD,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAkBvD,SAASmB,gBAAgBA,CAACC,KAAiC,EAAE;EAC3D,MAAM;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGF,KAAK;IAAnBG,SAAS,GAAAb,wBAAA,CAAKU,KAAK,EAAA5B,SAAA;EACnD,MAAMgC,YAAY,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACC,YAAY;EAElD,OACEvC,MAAA,CAAAQ,OAAA,CAAAgC,aAAA,CAACrC,OAAA,CAAAK,OAAW,EAAAC,QAAA,KACL2B,SAAS;IACdK,OAAO,EAAE,IAAK;IACdC,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAET,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIG,YAAY,CAACO,GAAI;IACrCC,OAAO,EAAEV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,YAAY,CAACS,EAAG;IACtCC,SAAS,EAAC;EAAS,EACpB,CAAC;AAEN;AAEAf,gBAAgB,CAACgB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAC9BjB,gBAAgB;AAAAkB,OAAA,CAAA1C,OAAA,GAAAyC,QAAA"}
|
|
@@ -117,4 +117,14 @@ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-control
|
|
|
117
117
|
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before,
|
|
118
118
|
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after {
|
|
119
119
|
width: var(--number-control-button-width--large);
|
|
120
|
+
}
|
|
121
|
+
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch {
|
|
122
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
123
|
+
}
|
|
124
|
+
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before,
|
|
125
|
+
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after {
|
|
126
|
+
width: var(--number-control-button-width--large);
|
|
127
|
+
}
|
|
128
|
+
.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border {
|
|
129
|
+
flex-grow: 1;
|
|
120
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}
|
|
1
|
+
.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}
|
|
@@ -127,5 +127,16 @@
|
|
|
127
127
|
width: var(--number-control-button-width--large);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
+
&--has-controls.dnb-forms-field-block__contents--width-stretch {
|
|
131
|
+
.dnb-button--control-before,
|
|
132
|
+
.dnb-button--control-after {
|
|
133
|
+
width: var(--number-control-button-width--large);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
137
|
+
.dnb-input__border {
|
|
138
|
+
flex-grow: 1;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
130
141
|
}
|
|
131
142
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { FieldProps } from '../../types';
|
|
2
|
+
import type { FieldHelpProps, FieldProps } from '../../types';
|
|
3
3
|
import { DrawerListProps } from '../../../../fragments/DrawerList';
|
|
4
|
-
export type Props = FieldProps<number | string> & {
|
|
4
|
+
export type Props = FieldHelpProps & FieldProps<number | string> & {
|
|
5
5
|
title?: string;
|
|
6
6
|
text?: string;
|
|
7
7
|
children?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","names":["_react","_interopRequireDefault","require","_classnames","_em","obj","__esModule","default","Option","_ref","className","title","text","children","createElement","classnames","role","makeOptions","React","Children","map","child","isValidElement","type","_child$props$value","_ref2","_child$props$children","_child$props$children2","props","selectedKey","String","value","content","filter","Boolean"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldProps } from '../../types'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\n\nexport type Props = FieldProps<number | string> & {\n
|
|
1
|
+
{"version":3,"file":"Option.js","names":["_react","_interopRequireDefault","require","_classnames","_em","obj","__esModule","default","Option","_ref","className","title","text","children","createElement","classnames","role","makeOptions","React","Children","map","child","isValidElement","type","_child$props$value","_ref2","_child$props$children","_child$props$children2","props","selectedKey","String","value","content","filter","Boolean"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldHelpProps, FieldProps } from '../../types'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\n\nexport type Props = FieldHelpProps &\n FieldProps<number | string> & {\n title?: string\n text?: string\n children?: React.ReactNode\n }\n\nexport default function Option({\n className,\n title,\n text,\n children,\n}: Props) {\n return (\n <span\n className={classnames('dnb-forms-field-option', className)}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n >\n {children ?? title}\n {text}\n </span>\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\n }\n }\n\n if (child) {\n // For other children, just show them as content\n return {\n content: child,\n }\n }\n }).filter(Boolean) as T\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAmC,IAAAE,GAAA;AAAA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAWpB,SAASG,MAAMA,CAAAC,IAAA,EAKpB;EAAA,IALqB;IAC7BC,SAAS;IACTC,KAAK;IACLC,IAAI;IACJC;EACK,CAAC,GAAAJ,IAAA;EACN,OACET,MAAA,CAAAO,OAAA,CAAAO,aAAA;IACEJ,SAAS,EAAE,IAAAK,mBAAU,EAAC,wBAAwB,EAAEL,SAAS,CAAE;IAE3DM,IAAI,EAAC;EAAQ,GAEZH,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,EACjBC,IACG,CAAC;AAEX;AAEO,SAASK,WAAWA,CACzBJ,QAAyB,EACtB;EACH,OAAOK,cAAK,CAACC,QAAQ,CAACC,GAAG,CAACP,QAAQ,EAAGQ,KAAK,IAAK;IAC7C,IAAIH,cAAK,CAACI,cAAc,CAACD,KAAK,CAAC,IAAIA,KAAK,CAACE,IAAI,KAAKf,MAAM,EAAE;MAAA,IAAAgB,kBAAA,EAAAC,KAAA,EAAAC,qBAAA,EAAAC,sBAAA;MAExD,OAAON,KAAK,CAACO,KAAK,CAAChB,IAAI,GACnB;QACEiB,WAAW,EAAEC,MAAM,EAAAN,kBAAA,GAACH,KAAK,CAACO,KAAK,CAACG,KAAK,cAAAP,kBAAA,cAAAA,kBAAA,GAAI,EAAE,CAAC;QAC5CQ,OAAO,EAAE,EAAAP,KAAA,IAAAC,qBAAA,GACPL,KAAK,CAACO,KAAK,CAACf,QAAQ,cAAAa,qBAAA,cAAAA,qBAAA,GAAIL,KAAK,CAACO,KAAK,CAACjB,KAAK,cAAAc,KAAA,cAAAA,KAAA,GAAArB,GAAA,KAAAA,GAAA,GACvCJ,MAAA,CAAAO,OAAA,CAAAO,aAAA,aAAI,UAAY,CAAC,GAEnBO,KAAK,CAACO,KAAK,CAAChB,IAAI;MAEpB,CAAC,GACD;QACEiB,WAAW,EAAER,KAAK,CAACO,KAAK,CAACG,KAAK;QAC9BC,OAAO,GAAAL,sBAAA,GAAEN,KAAK,CAACO,KAAK,CAACf,QAAQ,cAAAc,sBAAA,cAAAA,sBAAA,GAAIN,KAAK,CAACO,KAAK,CAACjB;MAC/C,CAAC;IACP;IAEA,IAAIU,KAAK,EAAE;MAET,OAAO;QACLW,OAAO,EAAEX;MACX,CAAC;IACH;EACF,CAAC,CAAC,CAACY,MAAM,CAACC,OAAO,CAAC;AACpB"}
|