@dnb/eufemia 10.34.1 → 10.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
- package/assets/images/sbanken/sbanken-compact.svg +3 -0
- package/assets/images/sbanken/sbanken.svg +3 -0
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/cjs/components/help-button/HelpButton.js +3 -0
- package/cjs/components/help-button/HelpButton.js.map +1 -1
- package/cjs/components/help-button/style/dnb-help-button.css +4 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
- package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/logo/Logo.d.ts +47 -43
- package/cjs/components/logo/Logo.js +77 -221
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/logo/LogoDocs.d.ts +2 -0
- package/cjs/components/logo/LogoDocs.js +50 -0
- package/cjs/components/logo/LogoDocs.js.map +1 -0
- package/cjs/components/logo/LogoSvg.d.ts +7 -0
- package/cjs/components/logo/LogoSvg.js +81 -0
- package/cjs/components/logo/LogoSvg.js.map +1 -0
- package/cjs/components/modal/Modal.d.ts +2 -0
- package/cjs/components/modal/Modal.js +25 -10
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +4 -0
- package/cjs/components/number-format/NumberFormat.js +5 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +3 -0
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/types.d.ts +1 -1
- package/cjs/components/progress-indicator/types.js.map +1 -1
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -0
- package/cjs/components/table/Table.js +15 -3
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableAccordion.d.ts +7 -11
- package/cjs/components/table/TableAccordion.js +32 -21
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableTr.js +24 -25
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +1 -5
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsDocs.js +1 -1
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/cjs/extensions/forms/Form/Section/Section.js +10 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +46 -44
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/cjs/fragments/text-counter/TextCounter.js +3 -2
- package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
- package/cjs/shared/Context.d.ts +9 -5
- package/cjs/shared/Context.js +40 -35
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.d.ts +1 -1
- package/cjs/shared/Provider.js +49 -42
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/Translation.d.ts +5 -5
- package/cjs/shared/Translation.js +6 -11
- package/cjs/shared/Translation.js.map +1 -1
- package/cjs/shared/index.d.ts +1 -0
- package/cjs/shared/index.js +26 -1
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +0 -3
- package/cjs/shared/locales/en-GB.js +0 -3
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +0 -3
- package/cjs/shared/locales/index.d.ts +0 -6
- package/cjs/shared/locales/nb-NO.d.ts +0 -3
- package/cjs/shared/locales/nb-NO.js +0 -3
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +5 -4
- package/cjs/shared/useTranslation.js +14 -12
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +57 -44
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +46 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +46 -44
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +2 -1
- package/cjs/style/dnb-ui-fragments.css +4 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/globals.scss +3 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/components/button/Button.js.map +1 -1
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/GlobalStatusController.js.map +1 -1
- package/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/components/help-button/HelpButton.js +3 -0
- package/components/help-button/HelpButton.js.map +1 -1
- package/components/help-button/style/dnb-help-button.css +4 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -0
- package/components/help-button/style/dnb-help-button.scss +6 -0
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/logo/Logo.d.ts +47 -43
- package/components/logo/Logo.js +75 -221
- package/components/logo/Logo.js.map +1 -1
- package/components/logo/LogoDocs.d.ts +2 -0
- package/components/logo/LogoDocs.js +43 -0
- package/components/logo/LogoDocs.js.map +1 -0
- package/components/logo/LogoSvg.d.ts +7 -0
- package/components/logo/LogoSvg.js +73 -0
- package/components/logo/LogoSvg.js.map +1 -0
- package/components/modal/Modal.d.ts +2 -0
- package/components/modal/Modal.js +25 -10
- package/components/modal/Modal.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +4 -0
- package/components/number-format/NumberFormat.js +5 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/style/dnb-number-format.css +3 -0
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/number-format/style/dnb-number-format.scss +4 -0
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationHelpers.js.map +1 -1
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/types.d.ts +1 -1
- package/components/progress-indicator/types.js.map +1 -1
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/switch/Switch.js.map +1 -1
- package/components/table/Table.d.ts +6 -0
- package/components/table/Table.js +13 -3
- package/components/table/Table.js.map +1 -1
- package/components/table/TableAccordion.d.ts +7 -11
- package/components/table/TableAccordion.js +29 -20
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableTr.js +25 -26
- package/components/table/TableTr.js.map +1 -1
- package/components/tabs/Tabs.js +1 -5
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsDocs.js +1 -1
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/es/components/button/Button.js.map +1 -1
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatusController.js.map +1 -1
- package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/es/components/help-button/HelpButton.js +3 -0
- package/es/components/help-button/HelpButton.js.map +1 -1
- package/es/components/help-button/style/dnb-help-button.css +4 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -0
- package/es/components/help-button/style/dnb-help-button.scss +6 -0
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/logo/Logo.d.ts +47 -43
- package/es/components/logo/Logo.js +75 -221
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/logo/LogoDocs.d.ts +2 -0
- package/es/components/logo/LogoDocs.js +43 -0
- package/es/components/logo/LogoDocs.js.map +1 -0
- package/es/components/logo/LogoSvg.d.ts +7 -0
- package/es/components/logo/LogoSvg.js +72 -0
- package/es/components/logo/LogoSvg.js.map +1 -0
- package/es/components/modal/Modal.d.ts +2 -0
- package/es/components/modal/Modal.js +25 -10
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +4 -0
- package/es/components/number-format/NumberFormat.js +5 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/style/dnb-number-format.css +3 -0
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/number-format/style/dnb-number-format.scss +4 -0
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationHelpers.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/types.d.ts +1 -1
- package/es/components/progress-indicator/types.js.map +1 -1
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -0
- package/es/components/table/Table.js +13 -3
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableAccordion.d.ts +7 -11
- package/es/components/table/TableAccordion.js +29 -19
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableTr.js +25 -26
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/tabs/Tabs.js +1 -5
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsDocs.js +1 -1
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +7 -2
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/es/extensions/forms/Form/Section/Section.js +10 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/es/extensions/forms/hooks/useDataValue.js +30 -5
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +14 -9
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +7 -12
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +46 -44
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/es/fragments/text-counter/TextCounter.js +3 -2
- package/es/fragments/text-counter/TextCounter.js.map +1 -1
- package/es/shared/Context.d.ts +9 -5
- package/es/shared/Context.js +39 -35
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.d.ts +1 -1
- package/es/shared/Provider.js +49 -41
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/Translation.d.ts +5 -5
- package/es/shared/Translation.js +8 -10
- package/es/shared/Translation.js.map +1 -1
- package/es/shared/index.d.ts +1 -0
- package/es/shared/index.js +1 -0
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +0 -3
- package/es/shared/locales/en-GB.js +0 -3
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +0 -3
- package/es/shared/locales/index.d.ts +0 -6
- package/es/shared/locales/nb-NO.d.ts +0 -3
- package/es/shared/locales/nb-NO.js +0 -3
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTranslation.d.ts +5 -4
- package/es/shared/useTranslation.js +13 -11
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +57 -44
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +46 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +46 -44
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +2 -1
- package/es/style/dnb-ui-fragments.css +4 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/globals.scss +3 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/globals.scss +3 -2
- package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +2 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +7 -2
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/extensions/forms/Form/Section/Section.js +10 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +1 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/extensions/forms/hooks/useDataValue.js +30 -5
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +14 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +7 -12
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +46 -44
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/fragments/text-counter/TextCounter.js +3 -2
- package/fragments/text-counter/TextCounter.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +9 -5
- package/shared/Context.js +40 -35
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.d.ts +1 -1
- package/shared/Provider.js +49 -41
- package/shared/Provider.js.map +1 -1
- package/shared/Translation.d.ts +5 -5
- package/shared/Translation.js +8 -10
- package/shared/Translation.js.map +1 -1
- package/shared/index.d.ts +1 -0
- package/shared/index.js +1 -0
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +0 -3
- package/shared/locales/en-GB.js +0 -3
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +0 -3
- package/shared/locales/index.d.ts +0 -6
- package/shared/locales/nb-NO.d.ts +0 -3
- package/shared/locales/nb-NO.js +0 -3
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTranslation.d.ts +5 -4
- package/shared/useTranslation.js +13 -11
- package/shared/useTranslation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +57 -44
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +46 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +46 -44
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +2 -1
- package/style/dnb-ui-fragments.css +4 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/globals.scss +3 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/globals.scss +3 -2
- package/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormLabel","FormStatus","Flex","Context","Suffix","ToggleButtonGroupContext","pickFormElementProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","getTranslation","ToggleButton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","disabled","skeleton","className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","Fieldset","createElement","Provider","_AlignmentHelper","Container","align","direction","spacing","element","srOnly","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n disabled,\n skeleton,\n className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const Fieldset = label ? 'fieldset' : 'div'\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <Fieldset>\n <Flex.Container\n align=\"baseline\"\n direction={\n vertical || label_direction === 'vertical'\n ? 'vertical'\n : 'horizontal'\n }\n spacing={vertical ? 'x-small' : 'small'}\n >\n {label && (\n <FormLabel\n element=\"legend\"\n id={id + '-label'}\n srOnly={label_sr_only}\n >\n {label}\n </FormLabel>\n )}\n\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </Flex.Container>\n </Fieldset>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n\nToggleButtonGroup._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormLabel","FormStatus","Flex","Context","Suffix","ToggleButtonGroupContext","pickFormElementProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","getTranslation","ToggleButton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","disabled","skeleton","className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","Fieldset","createElement","Provider","_AlignmentHelper","Container","align","direction","spacing","element","srOnly","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nexport default class ToggleButtonGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n values: undefined,\n attributes: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n disabled,\n skeleton,\n className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const Fieldset = label ? 'fieldset' : 'div'\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <Fieldset>\n <Flex.Container\n align=\"baseline\"\n direction={\n vertical || label_direction === 'vertical'\n ? 'vertical'\n : 'horizontal'\n }\n spacing={vertical ? 'x-small' : 'small'}\n >\n {label && (\n <FormLabel\n element=\"legend\"\n id={id + '-label'}\n srOnly={label_sr_only}\n >\n {label}\n </FormLabel>\n )}\n\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\n >\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </Flex.Container>\n </Fieldset>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n\nToggleButtonGroup._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -63,11 +63,13 @@ export interface ContextState {
|
|
|
63
63
|
skipErrorCheck?: boolean;
|
|
64
64
|
}) => void;
|
|
65
65
|
setFieldEventListener: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
|
|
66
|
+
setHasVisibleError?: (path: Path, hasError: boolean) => void;
|
|
66
67
|
setFieldProps?: (path: Path, props: any) => void;
|
|
67
68
|
setValueProps?: (path: Path, props: any) => void;
|
|
68
69
|
fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
|
|
69
70
|
valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
|
|
70
71
|
showAllErrors: boolean;
|
|
72
|
+
hasVisibleError: boolean;
|
|
71
73
|
formState: SubmitState;
|
|
72
74
|
ajvInstance: Ajv;
|
|
73
75
|
contextErrorMessages: CustomErrorMessagesWithPaths;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path: Path\n type: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: (data: unknown) => void) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setFieldProps?: (path: Path, props: any) => void\n setValueProps?: (path: Path, props: any) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n showAllErrors: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","setFieldEventListener","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path: Path\n type: 'onSubmit'\n callback: () => any\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: (data: unknown) => void) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehaviour,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehaviour: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: any) => void\n setValueProps?: (path: Path, props: any) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n setFieldEventListener: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AAiInD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,qBAAqB,EAAEA,CAAA,KAAM,IAAI;EACjCC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE7B,eAAe,CAAC,CAAC;EAC9B8B,oBAAoB,EAAE1B,SAAS;EAC/B2B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGlC,KAAK,CAACmC,aAAa,CAAejC,mBAAmB,CAAC;AAEtE,eAAegC,OAAO"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Path } from '../../types';
|
|
3
3
|
export interface FieldBoundaryContextState {
|
|
4
|
+
/**
|
|
5
|
+
* Will be set to true when one or more nested fields are in error state.
|
|
6
|
+
*/
|
|
4
7
|
hasError?: boolean;
|
|
5
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.
|
|
10
|
+
*/
|
|
11
|
+
hasSubmitError?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Will be set to true when a nested field contains a visible error.
|
|
14
|
+
*/
|
|
15
|
+
hasVisibleError?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Contains the nested field errors.
|
|
18
|
+
*/
|
|
6
19
|
errorsRef?: React.RefObject<unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* To set the local error state.
|
|
22
|
+
*/
|
|
7
23
|
setFieldError?: (path: Path, error: Error) => void;
|
|
8
24
|
}
|
|
9
25
|
declare const FieldBoundaryContext: React.Context<FieldBoundaryContextState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n hasError?: boolean\n
|
|
1
|
+
{"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA8BzB,MAAMC,oBAAoB,GAAGD,KAAK,CAACE,aAAa,CAE9CC,SAAS,CAAC;AAEZ,eAAeF,oBAAoB"}
|
|
@@ -7,11 +7,12 @@ export default function FieldBoundaryProvider({
|
|
|
7
7
|
children
|
|
8
8
|
}) {
|
|
9
9
|
const {
|
|
10
|
-
showAllErrors
|
|
10
|
+
showAllErrors,
|
|
11
|
+
hasVisibleError
|
|
11
12
|
} = useContext(DataContext);
|
|
12
13
|
const errorsRef = useRef({});
|
|
13
14
|
const hasError = Object.keys(errorsRef.current || {}).length > 0;
|
|
14
|
-
const
|
|
15
|
+
const hasSubmitError = showAllErrors && hasError;
|
|
15
16
|
const setFieldError = useCallback((path, error) => {
|
|
16
17
|
if (error) {
|
|
17
18
|
errorsRef.current[path] = !!error;
|
|
@@ -22,7 +23,8 @@ export default function FieldBoundaryProvider({
|
|
|
22
23
|
}, []);
|
|
23
24
|
const context = {
|
|
24
25
|
hasError,
|
|
25
|
-
|
|
26
|
+
hasSubmitError,
|
|
27
|
+
hasVisibleError,
|
|
26
28
|
errorsRef,
|
|
27
29
|
setFieldError
|
|
28
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","children","showAllErrors","errorsRef","hasError","Object","keys","current","length","
|
|
1
|
+
{"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","children","showAllErrors","hasVisibleError","errorsRef","hasError","Object","keys","current","length","hasSubmitError","setFieldError","path","error","_errorsRef$current","context","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport default function FieldBoundaryProvider({ children }) {\n const { showAllErrors, hasVisibleError } = useContext(DataContext)\n\n const errorsRef = useRef<Record<Path, boolean>>({})\n const hasError = Object.keys(errorsRef.current || {}).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n }, [])\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError,\n errorsRef,\n setFieldError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC9D,OAAOC,oBAAoB,MAEpB,wBAAwB;AAC/B,OAAOC,WAAW,MAAM,YAAY;AAGpC,eAAe,SAASC,qBAAqBA,CAAC;EAAEC;AAAS,CAAC,EAAE;EAC1D,MAAM;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAAGP,UAAU,CAACG,WAAW,CAAC;EAElE,MAAMK,SAAS,GAAGP,MAAM,CAAwB,CAAC,CAAC,CAAC;EACnD,MAAMQ,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACH,SAAS,CAACI,OAAO,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;EAChE,MAAMC,cAAc,GAAGR,aAAa,IAAIG,QAAQ;EAEhD,MAAMM,aAAa,GAAGhB,WAAW,CAAC,CAACiB,IAAU,EAAEC,KAAY,KAAK;IAC9D,IAAIA,KAAK,EAAE;MACTT,SAAS,CAACI,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC,CAACC,KAAK;IACnC,CAAC,MAAM;MAAA,IAAAC,kBAAA;MACL,CAAAA,kBAAA,GAAOV,SAAS,CAACI,OAAO,cAAAM,kBAAA,qBAAxB,OAAOA,kBAAA,CAAoBF,IAAI,CAAC;IAClC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,OAAkC,GAAG;IACzCV,QAAQ;IACRK,cAAc;IACdP,eAAe;IACfC,SAAS;IACTO;EACF,CAAC;EAED,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,oBAAoB,CAACmB,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAC3Cd,QAC4B,CAAC;AAEpC"}
|
|
@@ -59,12 +59,21 @@ export default function Provider(props) {
|
|
|
59
59
|
const translation = useTranslation().Form;
|
|
60
60
|
const ajvRef = useRef(makeAjvInstance(ajvInstance));
|
|
61
61
|
const mountedFieldPathsRef = useRef([]);
|
|
62
|
+
const hasVisibleErrorRef = useRef({});
|
|
62
63
|
const errorsRef = useRef();
|
|
63
64
|
const showAllErrorsRef = useRef(false);
|
|
64
65
|
const setShowAllErrors = useCallback(showAllErrors => {
|
|
65
66
|
showAllErrorsRef.current = showAllErrors;
|
|
66
67
|
forceUpdate();
|
|
67
68
|
}, []);
|
|
69
|
+
const setHasVisibleError = useCallback((path, hasError) => {
|
|
70
|
+
if (hasError) {
|
|
71
|
+
hasVisibleErrorRef.current[path] = hasError;
|
|
72
|
+
} else {
|
|
73
|
+
delete hasVisibleErrorRef.current[path];
|
|
74
|
+
}
|
|
75
|
+
forceUpdate();
|
|
76
|
+
}, []);
|
|
68
77
|
const submitStateRef = useRef({});
|
|
69
78
|
const setSubmitState = useCallback(state => {
|
|
70
79
|
Object.assign(submitStateRef.current, state);
|
|
@@ -168,7 +177,10 @@ export default function Provider(props) {
|
|
|
168
177
|
});
|
|
169
178
|
return data;
|
|
170
179
|
} else if (filter) {
|
|
171
|
-
|
|
180
|
+
const runFilter = ({
|
|
181
|
+
path,
|
|
182
|
+
condition
|
|
183
|
+
}) => {
|
|
172
184
|
const exists = pointer.has(data, path);
|
|
173
185
|
if (exists) {
|
|
174
186
|
var _fieldPropsRef$curren, _fieldErrorRef$curren2;
|
|
@@ -185,7 +197,38 @@ export default function Provider(props) {
|
|
|
185
197
|
}) : condition;
|
|
186
198
|
mutate(path, result);
|
|
187
199
|
}
|
|
200
|
+
};
|
|
201
|
+
const wildcardPaths = [];
|
|
202
|
+
Object.entries(filter).forEach(([path, condition]) => {
|
|
203
|
+
if (path.includes('*')) {
|
|
204
|
+
const parts = path.split(/\/\*/g);
|
|
205
|
+
const exists = pointer.has(data, parts[0]);
|
|
206
|
+
if (exists) {
|
|
207
|
+
const traverse = (subData, subPath, idx) => {
|
|
208
|
+
if (idx === parts.length - 1) {
|
|
209
|
+
wildcardPaths.push({
|
|
210
|
+
path: subPath,
|
|
211
|
+
condition
|
|
212
|
+
});
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const list = pointer.get(subData, subPath);
|
|
216
|
+
if (Array.isArray(list)) {
|
|
217
|
+
list.forEach((_, i) => {
|
|
218
|
+
traverse(list[i], `${subPath}/${i}${parts[idx + 1]}`, idx + 1);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
traverse(data, parts[0], 0);
|
|
223
|
+
}
|
|
224
|
+
} else {
|
|
225
|
+
runFilter({
|
|
226
|
+
path,
|
|
227
|
+
condition
|
|
228
|
+
});
|
|
229
|
+
}
|
|
188
230
|
});
|
|
231
|
+
wildcardPaths.forEach(runFilter);
|
|
189
232
|
return data;
|
|
190
233
|
}
|
|
191
234
|
return data;
|
|
@@ -549,6 +592,7 @@ export default function Provider(props) {
|
|
|
549
592
|
setFormState,
|
|
550
593
|
setSubmitState,
|
|
551
594
|
setShowAllErrors,
|
|
595
|
+
setHasVisibleError,
|
|
552
596
|
setFieldEventListener,
|
|
553
597
|
setFieldState,
|
|
554
598
|
setFieldError,
|
|
@@ -572,6 +616,7 @@ export default function Provider(props) {
|
|
|
572
616
|
hasContext: true,
|
|
573
617
|
errors: errorsRef.current,
|
|
574
618
|
showAllErrors: showAllErrorsRef.current,
|
|
619
|
+
hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
|
|
575
620
|
fieldPropsRef,
|
|
576
621
|
valuePropsRef,
|
|
577
622
|
ajvInstance: ajvRef.current,
|