@dnb/eufemia 10.34.0 → 10.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
- package/assets/images/sbanken/sbanken-compact.svg +3 -0
- package/assets/images/sbanken/sbanken.svg +3 -0
- package/cjs/components/accordion/Accordion.d.ts +0 -2
- package/cjs/components/accordion/Accordion.js +2 -3
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +2 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +3 -0
- package/cjs/components/anchor/Anchor.js +22 -15
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +2 -4
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/cjs/components/button/Button.d.ts +0 -4
- package/cjs/components/button/Button.js +2 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +0 -1
- package/cjs/components/date-picker/DatePicker.js +2 -5
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +2 -5
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.d.ts +0 -1
- package/cjs/components/form-row/FormRow.js +2 -5
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.d.ts +0 -1
- package/cjs/components/form-set/FormSet.js +3 -4
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +0 -1
- package/cjs/components/form-status/FormStatus.js +2 -5
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
- package/cjs/components/global-status/GlobalStatus.js +2 -5
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/cjs/components/help-button/HelpButton.js +3 -0
- package/cjs/components/help-button/HelpButton.js.map +1 -1
- package/cjs/components/help-button/HelpButtonInstance.js +3 -4
- package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
- package/cjs/components/help-button/style/dnb-help-button.css +4 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
- package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
- package/cjs/components/icon/Icon.js +2 -3
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/input/Input.d.ts +0 -1
- package/cjs/components/input/Input.js +2 -5
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -1
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/logo/Logo.d.ts +47 -43
- package/cjs/components/logo/Logo.js +77 -224
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/logo/LogoDocs.d.ts +2 -0
- package/cjs/components/logo/LogoDocs.js +50 -0
- package/cjs/components/logo/LogoDocs.js.map +1 -0
- package/cjs/components/logo/LogoSvg.d.ts +7 -0
- package/cjs/components/logo/LogoSvg.js +81 -0
- package/cjs/components/logo/LogoSvg.js.map +1 -0
- package/cjs/components/modal/Modal.d.ts +2 -1
- package/cjs/components/modal/Modal.js +26 -12
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/types.d.ts +0 -4
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +4 -0
- package/cjs/components/number-format/NumberFormat.js +5 -5
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +3 -0
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
- package/cjs/components/pagination/Pagination.d.ts +0 -3
- package/cjs/components/pagination/Pagination.js +2 -5
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/types.d.ts +1 -1
- package/cjs/components/progress-indicator/types.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +0 -1
- package/cjs/components/radio/Radio.js +2 -5
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.d.ts +0 -1
- package/cjs/components/radio/RadioGroup.js +2 -5
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.d.ts +0 -1
- package/cjs/components/skeleton/Skeleton.js +2 -5
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/switch/Switch.d.ts +0 -1
- package/cjs/components/switch/Switch.js +2 -5
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -0
- package/cjs/components/table/Table.js +15 -3
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableAccordion.d.ts +7 -11
- package/cjs/components/table/TableAccordion.js +32 -21
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableTr.js +24 -25
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/tabs/Tabs.d.ts +0 -1
- package/cjs/components/tabs/Tabs.js +1 -7
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
- package/cjs/components/tabs/TabsCustomContent.js +5 -8
- package/cjs/components/tabs/TabsCustomContent.js.map +1 -1
- package/cjs/components/tabs/TabsDocs.js +1 -1
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/textarea/Textarea.d.ts +0 -1
- package/cjs/components/textarea/Textarea.js +2 -5
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButton.js +2 -5
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/Password.js +2 -1
- package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +13 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +20 -37
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/cjs/extensions/forms/Form/Section/Section.js +10 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +56 -44
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +0 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/cjs/fragments/drawer-list/DrawerList.js +6 -13
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +0 -2
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/cjs/fragments/text-counter/TextCounter.js +3 -2
- package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
- package/cjs/shared/Context.d.ts +9 -5
- package/cjs/shared/Context.js +40 -35
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Provider.d.ts +1 -1
- package/cjs/shared/Provider.js +49 -42
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/Translation.d.ts +5 -5
- package/cjs/shared/Translation.js +6 -11
- package/cjs/shared/Translation.js.map +1 -1
- package/cjs/shared/index.d.ts +1 -0
- package/cjs/shared/index.js +26 -1
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +0 -3
- package/cjs/shared/locales/en-GB.js +0 -3
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +0 -3
- package/cjs/shared/locales/index.d.ts +0 -6
- package/cjs/shared/locales/nb-NO.d.ts +0 -3
- package/cjs/shared/locales/nb-NO.js +0 -3
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +5 -4
- package/cjs/shared/useTranslation.js +14 -12
- package/cjs/shared/useTranslation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +67 -44
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +56 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +56 -44
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +2 -1
- package/cjs/style/dnb-ui-fragments.css +4 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/globals.scss +3 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +123 -88
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +56 -44
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/accordion/Accordion.d.ts +0 -2
- package/components/accordion/Accordion.js +2 -3
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionGroup.js +2 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/anchor/Anchor.d.ts +3 -0
- package/components/anchor/Anchor.js +21 -15
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +2 -4
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/components/button/Button.d.ts +0 -4
- package/components/button/Button.js +2 -5
- package/components/button/Button.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +0 -1
- package/components/date-picker/DatePicker.js +2 -5
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/dropdown/Dropdown.js +2 -5
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.d.ts +0 -1
- package/components/form-row/FormRow.js +2 -5
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.d.ts +0 -1
- package/components/form-set/FormSet.js +3 -4
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +0 -1
- package/components/form-status/FormStatus.js +2 -5
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-status/GlobalStatus.d.ts +0 -1
- package/components/global-status/GlobalStatus.js +2 -5
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/GlobalStatusController.js.map +1 -1
- package/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/components/help-button/HelpButton.js +3 -0
- package/components/help-button/HelpButton.js.map +1 -1
- package/components/help-button/HelpButtonInstance.js +3 -4
- package/components/help-button/HelpButtonInstance.js.map +1 -1
- package/components/help-button/style/dnb-help-button.css +4 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -0
- package/components/help-button/style/dnb-help-button.scss +6 -0
- package/components/icon/Icon.js +2 -3
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/input/Input.d.ts +0 -1
- package/components/input/Input.js +2 -5
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -1
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/logo/Logo.d.ts +47 -43
- package/components/logo/Logo.js +75 -224
- package/components/logo/Logo.js.map +1 -1
- package/components/logo/LogoDocs.d.ts +2 -0
- package/components/logo/LogoDocs.js +43 -0
- package/components/logo/LogoDocs.js.map +1 -0
- package/components/logo/LogoSvg.d.ts +7 -0
- package/components/logo/LogoSvg.js +73 -0
- package/components/logo/LogoSvg.js.map +1 -0
- package/components/modal/Modal.d.ts +2 -1
- package/components/modal/Modal.js +26 -12
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/types.d.ts +0 -4
- package/components/modal/types.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +4 -0
- package/components/number-format/NumberFormat.js +5 -5
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/style/dnb-number-format.css +3 -0
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/number-format/style/dnb-number-format.scss +4 -0
- package/components/pagination/Pagination.d.ts +0 -3
- package/components/pagination/Pagination.js +2 -5
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationHelpers.js.map +1 -1
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/types.d.ts +1 -1
- package/components/progress-indicator/types.js.map +1 -1
- package/components/radio/Radio.d.ts +0 -1
- package/components/radio/Radio.js +2 -5
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.d.ts +0 -1
- package/components/radio/RadioGroup.js +2 -5
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/skeleton/Skeleton.d.ts +0 -1
- package/components/skeleton/Skeleton.js +2 -5
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/switch/Switch.d.ts +0 -1
- package/components/switch/Switch.js +2 -5
- package/components/switch/Switch.js.map +1 -1
- package/components/table/Table.d.ts +6 -0
- package/components/table/Table.js +13 -3
- package/components/table/Table.js.map +1 -1
- package/components/table/TableAccordion.d.ts +7 -11
- package/components/table/TableAccordion.js +29 -20
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableTr.js +25 -26
- package/components/table/TableTr.js.map +1 -1
- package/components/tabs/Tabs.d.ts +0 -1
- package/components/tabs/Tabs.js +1 -7
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsCustomContent.d.ts +0 -1
- package/components/tabs/TabsCustomContent.js +5 -8
- package/components/tabs/TabsCustomContent.js.map +1 -1
- package/components/tabs/TabsDocs.js +1 -1
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/textarea/Textarea.d.ts +0 -1
- package/components/textarea/Textarea.js +2 -5
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.d.ts +0 -1
- package/components/toggle-button/ToggleButton.js +2 -5
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/accordion/Accordion.d.ts +0 -2
- package/es/components/accordion/Accordion.js +2 -3
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +2 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +3 -0
- package/es/components/anchor/Anchor.js +21 -15
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +2 -4
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/es/components/button/Button.d.ts +0 -4
- package/es/components/button/Button.js +2 -5
- package/es/components/button/Button.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +0 -1
- package/es/components/date-picker/DatePicker.js +2 -5
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +2 -5
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.d.ts +0 -1
- package/es/components/form-row/FormRow.js +2 -5
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.d.ts +0 -1
- package/es/components/form-set/FormSet.js +3 -4
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +0 -1
- package/es/components/form-status/FormStatus.js +2 -5
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatus.d.ts +0 -1
- package/es/components/global-status/GlobalStatus.js +2 -5
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatusController.js.map +1 -1
- package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/es/components/help-button/HelpButton.js +3 -0
- package/es/components/help-button/HelpButton.js.map +1 -1
- package/es/components/help-button/HelpButtonInstance.js +3 -4
- package/es/components/help-button/HelpButtonInstance.js.map +1 -1
- package/es/components/help-button/style/dnb-help-button.css +4 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -0
- package/es/components/help-button/style/dnb-help-button.scss +6 -0
- package/es/components/icon/Icon.js +2 -3
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/input/Input.d.ts +0 -1
- package/es/components/input/Input.js +2 -5
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -1
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/logo/Logo.d.ts +47 -43
- package/es/components/logo/Logo.js +75 -224
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/logo/LogoDocs.d.ts +2 -0
- package/es/components/logo/LogoDocs.js +43 -0
- package/es/components/logo/LogoDocs.js.map +1 -0
- package/es/components/logo/LogoSvg.d.ts +7 -0
- package/es/components/logo/LogoSvg.js +72 -0
- package/es/components/logo/LogoSvg.js.map +1 -0
- package/es/components/modal/Modal.d.ts +2 -1
- package/es/components/modal/Modal.js +26 -12
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/types.d.ts +0 -4
- package/es/components/modal/types.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +4 -0
- package/es/components/number-format/NumberFormat.js +5 -5
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/style/dnb-number-format.css +3 -0
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/number-format/style/dnb-number-format.scss +4 -0
- package/es/components/pagination/Pagination.d.ts +0 -3
- package/es/components/pagination/Pagination.js +2 -5
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationHelpers.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/types.d.ts +1 -1
- package/es/components/progress-indicator/types.js.map +1 -1
- package/es/components/radio/Radio.d.ts +0 -1
- package/es/components/radio/Radio.js +2 -5
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.d.ts +0 -1
- package/es/components/radio/RadioGroup.js +2 -5
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/skeleton/Skeleton.d.ts +0 -1
- package/es/components/skeleton/Skeleton.js +2 -5
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/switch/Switch.d.ts +0 -1
- package/es/components/switch/Switch.js +2 -5
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -0
- package/es/components/table/Table.js +13 -3
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableAccordion.d.ts +7 -11
- package/es/components/table/TableAccordion.js +29 -19
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableTr.js +25 -26
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/tabs/Tabs.d.ts +0 -1
- package/es/components/tabs/Tabs.js +1 -7
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsCustomContent.d.ts +0 -1
- package/es/components/tabs/TabsCustomContent.js +5 -8
- package/es/components/tabs/TabsCustomContent.js.map +1 -1
- package/es/components/tabs/TabsDocs.js +1 -1
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/textarea/Textarea.d.ts +0 -1
- package/es/components/textarea/Textarea.js +2 -5
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +0 -1
- package/es/components/toggle-button/ToggleButton.js +2 -5
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/Password/Password.js +2 -1
- package/es/extensions/forms/Field/Password/Password.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +7 -2
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js +14 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/es/extensions/forms/Form/Section/Section.js +10 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/es/extensions/forms/hooks/useDataValue.js +30 -5
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +14 -9
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +7 -12
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +56 -44
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/PaymentCard.js +0 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/es/fragments/drawer-list/DrawerList.js +6 -13
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/es/fragments/drawer-list/DrawerListHelpers.js +0 -2
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/es/fragments/text-counter/TextCounter.js +3 -2
- package/es/fragments/text-counter/TextCounter.js.map +1 -1
- package/es/shared/Context.d.ts +9 -5
- package/es/shared/Context.js +39 -35
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Provider.d.ts +1 -1
- package/es/shared/Provider.js +49 -41
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/Translation.d.ts +5 -5
- package/es/shared/Translation.js +8 -10
- package/es/shared/Translation.js.map +1 -1
- package/es/shared/index.d.ts +1 -0
- package/es/shared/index.js +1 -0
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +0 -3
- package/es/shared/locales/en-GB.js +0 -3
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +0 -3
- package/es/shared/locales/index.d.ts +0 -6
- package/es/shared/locales/nb-NO.d.ts +0 -3
- package/es/shared/locales/nb-NO.js +0 -3
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTranslation.d.ts +5 -4
- package/es/shared/useTranslation.js +13 -11
- package/es/shared/useTranslation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +67 -44
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +56 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +56 -44
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +2 -1
- package/es/style/dnb-ui-fragments.css +4 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/globals.scss +3 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/globals.scss +3 -2
- package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +123 -88
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +56 -44
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +2 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/Password/Password.js +2 -1
- package/extensions/forms/Field/Password/Password.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +7 -2
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/extensions/forms/Field/Toggle/Toggle.js +14 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/extensions/forms/Form/Section/Section.js +10 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +1 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +1 -1
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/extensions/forms/hooks/useDataValue.js +30 -5
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +14 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +7 -12
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +56 -44
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/PaymentCard.js +0 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/fragments/drawer-list/DrawerList.js +6 -13
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/fragments/drawer-list/DrawerListHelpers.js +0 -2
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/fragments/text-counter/TextCounter.js +3 -2
- package/fragments/text-counter/TextCounter.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +9 -5
- package/shared/Context.js +40 -35
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Provider.d.ts +1 -1
- package/shared/Provider.js +49 -41
- package/shared/Provider.js.map +1 -1
- package/shared/Translation.d.ts +5 -5
- package/shared/Translation.js +8 -10
- package/shared/Translation.js.map +1 -1
- package/shared/index.d.ts +1 -0
- package/shared/index.js +1 -0
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +0 -3
- package/shared/locales/en-GB.js +0 -3
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +0 -3
- package/shared/locales/index.d.ts +0 -6
- package/shared/locales/nb-NO.d.ts +0 -3
- package/shared/locales/nb-NO.js +0 -3
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTranslation.d.ts +5 -4
- package/shared/useTranslation.js +13 -11
- package/shared/useTranslation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +67 -44
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +56 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +56 -44
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +2 -1
- package/style/dnb-ui-fragments.css +4 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/globals.scss +3 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/globals.scss +3 -2
- package/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +123 -88
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +56 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +56 -44
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
|
-
const _excluded = ["show", "no_animation", "figure", "skeleton", "aria_busy", "aria_ready", "className", "
|
|
6
|
+
const _excluded = ["show", "no_animation", "figure", "skeleton", "aria_busy", "aria_ready", "className", "children"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
import React from 'react';
|
|
@@ -71,7 +71,6 @@ export default class Skeleton extends React.PureComponent {
|
|
|
71
71
|
aria_busy,
|
|
72
72
|
aria_ready,
|
|
73
73
|
className,
|
|
74
|
-
class: _className,
|
|
75
74
|
children
|
|
76
75
|
} = props,
|
|
77
76
|
attributes = _objectWithoutProperties(props, _excluded);
|
|
@@ -80,7 +79,7 @@ export default class Skeleton extends React.PureComponent {
|
|
|
80
79
|
} = this.state;
|
|
81
80
|
const showSkeleton = typeof show === 'boolean' || typeof show === 'string' ? isTrue(show) : skeleton;
|
|
82
81
|
const params = _objectSpread({
|
|
83
|
-
className: classnames(figure ? 'dnb-skeleton__figure' : 'dnb-skeleton__root', createSpacingClasses(props), className,
|
|
82
|
+
className: classnames(figure ? 'dnb-skeleton__figure' : 'dnb-skeleton__root', createSpacingClasses(props), className, isTrue(showSkeleton) && 'dnb-skeleton', isTrue(no_animation) && 'dnb-skeleton--no-animation'),
|
|
84
83
|
'aria-busy': showSkeleton,
|
|
85
84
|
'aria-label': showSkeleton ? aria_busy : undefined,
|
|
86
85
|
lang: this.context.locale || LOCALE
|
|
@@ -104,7 +103,6 @@ _defineProperty(Skeleton, "defaultProps", {
|
|
|
104
103
|
aria_busy: null,
|
|
105
104
|
aria_ready: null,
|
|
106
105
|
element: null,
|
|
107
|
-
class: null,
|
|
108
106
|
className: null,
|
|
109
107
|
children: null
|
|
110
108
|
});
|
|
@@ -116,7 +114,6 @@ process.env.NODE_ENV !== "production" ? Skeleton.propTypes = _objectSpread(_obje
|
|
|
116
114
|
aria_ready: PropTypes.string,
|
|
117
115
|
element: PropTypes.node
|
|
118
116
|
}, spacingPropTypes), {}, {
|
|
119
|
-
class: PropTypes.string,
|
|
120
117
|
className: PropTypes.string,
|
|
121
118
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node])
|
|
122
119
|
}) : void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","validateDOMAttributes","isTrue","LOCALE","Space","spacingPropTypes","createSpacingClasses","Context","Provider","Skeleton","PureComponent","constructor","props","state","ariaLiveUpdate","componentWillUnmount","clearTimeout","_ariaLiveUpdateTimeout","componentDidUpdate","prevProps","show","setAriaLiveUpdate","getProps","context","defaultProps","skeleton","no_animation","skeleton_no_animation","getTranslation","setTimeout","aria_busy","aria_ready","newString","setState","render","figure","className","
|
|
1
|
+
{"version":3,"file":"Skeleton.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","validateDOMAttributes","isTrue","LOCALE","Space","spacingPropTypes","createSpacingClasses","Context","Provider","Skeleton","PureComponent","constructor","props","state","ariaLiveUpdate","componentWillUnmount","clearTimeout","_ariaLiveUpdateTimeout","componentDidUpdate","prevProps","show","setAriaLiveUpdate","getProps","context","defaultProps","skeleton","no_animation","skeleton_no_animation","getTranslation","setTimeout","aria_busy","aria_ready","newString","setState","render","figure","className","children","attributes","_objectWithoutProperties","_excluded","showSkeleton","params","_objectSpread","undefined","lang","locale","createElement","_defineProperty","element","process","env","NODE_ENV","propTypes","oneOfType","string","bool","func","node","Exclude","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/skeleton/Skeleton.js"],"sourcesContent":["/**\n * Web Skeleton 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 extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n isTrue,\n} from '../../shared/component-helper'\nimport { LOCALE } from '../../shared/defaults'\nimport Space from '../space/Space'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\n\nexport default class Skeleton extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n show: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n figure: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n aria_busy: PropTypes.string,\n aria_ready: PropTypes.string,\n element: PropTypes.node,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n show: null,\n skeleton: null, // only to make sure we process extendPropsWithContextInClassComponent\n no_animation: null,\n figure: null,\n aria_busy: null,\n aria_ready: null,\n element: null,\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this.state = { ariaLiveUpdate: null }\n }\n\n componentWillUnmount() {\n clearTimeout(this._ariaLiveUpdateTimeout)\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.show !== this.props.show) {\n this.setAriaLiveUpdate()\n }\n }\n\n getProps(props = this.props, context = this.context) {\n return extendPropsWithContextInClassComponent(\n props,\n Skeleton.defaultProps,\n {\n skeleton: context.Skeleton || context.skeleton,\n no_animation: context.skeleton_no_animation,\n },\n context.getTranslation(props).Skeleton\n )\n }\n\n setAriaLiveUpdate() {\n // this is only to make a better screen reader ux\n clearTimeout(this._ariaLiveUpdateTimeout)\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n const { aria_busy, aria_ready } = this.getProps()\n\n let newString = null\n\n if (isTrue(this.props.show)) {\n newString = aria_busy\n } else {\n newString = aria_ready\n }\n\n if (newString) {\n this.setState({\n ariaLiveUpdate: newString,\n })\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n this.setState({\n ariaLiveUpdate: null,\n })\n }, 1e3)\n }\n }, 1e3) // so that the input gets read out first, and then the results\n }\n\n render() {\n // consume the skeleton context\n const props = this.getProps()\n\n const {\n show,\n no_animation,\n figure,\n skeleton,\n aria_busy,\n aria_ready, // eslint-disable-line\n className,\n children,\n\n ...attributes\n } = props\n\n const { ariaLiveUpdate } = this.state\n\n const showSkeleton =\n typeof show === 'boolean' || typeof show === 'string'\n ? isTrue(show)\n : skeleton\n\n const params = {\n className: classnames(\n figure ? 'dnb-skeleton__figure' : 'dnb-skeleton__root',\n isTrue(showSkeleton) && 'dnb-skeleton',\n isTrue(no_animation) && 'dnb-skeleton--no-animation',\n createSpacingClasses(props),\n className\n ),\n // role: 'status',// is not needed as for now\n 'aria-busy': showSkeleton,\n 'aria-label': showSkeleton ? aria_busy : undefined,\n lang: this.context.locale || LOCALE,\n ...attributes,\n }\n\n validateDOMAttributes(props, params)\n\n return (\n <Space {...params}>\n {figure ? (\n showSkeleton ? (\n typeof figure === 'function' ? (\n figure()\n ) : (\n figure\n )\n ) : (\n children\n )\n ) : (\n <Provider\n skeleton={showSkeleton}\n skeleton_no_animation={no_animation}\n >\n {children}\n </Provider>\n )}\n <span className=\"dnb-sr-only\" aria-live=\"assertive\">\n {ariaLiveUpdate}\n </span>\n </Space>\n )\n }\n}\n\nfunction Exclude(props) {\n return <Provider {...props} skeleton={false} />\n}\n\nSkeleton.Exclude = Exclude\n\nSkeleton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
var _AlignmentHelper, _span;
|
|
7
|
-
const _excluded = ["value", "size", "status", "status_state", "status_props", "globalStatus", "status_no_animation", "suffix", "label", "label_position", "label_sr_only", "title", "disabled", "readOnly", "skeleton", "className", "
|
|
7
|
+
const _excluded = ["value", "size", "status", "status_state", "status_props", "globalStatus", "status_no_animation", "suffix", "label", "label_position", "label_sr_only", "title", "disabled", "readOnly", "skeleton", "className", "id", "checked", "children", "on_change", "on_state_update", "innerRef"];
|
|
8
8
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
10
|
import React from 'react';
|
|
@@ -114,7 +114,6 @@ export default class Switch extends React.PureComponent {
|
|
|
114
114
|
readOnly,
|
|
115
115
|
skeleton,
|
|
116
116
|
className,
|
|
117
|
-
class: _className,
|
|
118
117
|
id: _id,
|
|
119
118
|
checked: _checked,
|
|
120
119
|
children,
|
|
@@ -129,7 +128,7 @@ export default class Switch extends React.PureComponent {
|
|
|
129
128
|
const id = this._id;
|
|
130
129
|
const showStatus = getStatusState(status);
|
|
131
130
|
const mainParams = {
|
|
132
|
-
className: classnames(`dnb-switch dnb-switch--label-position-${label_position || 'right'} dnb-form-component`, createSkeletonClass(null, skeleton), createSpacingClasses(props), className,
|
|
131
|
+
className: classnames(`dnb-switch dnb-switch--label-position-${label_position || 'right'} dnb-form-component`, createSkeletonClass(null, skeleton), createSpacingClasses(props), className, size && `dnb-switch--${size}`, status && `dnb-switch__status--${status_state}`)
|
|
133
132
|
};
|
|
134
133
|
const inputParams = _objectSpread({
|
|
135
134
|
disabled: isTrue(disabled),
|
|
@@ -222,7 +221,6 @@ _defineProperty(Switch, "defaultProps", {
|
|
|
222
221
|
attributes: null,
|
|
223
222
|
readOnly: false,
|
|
224
223
|
skeleton: null,
|
|
225
|
-
class: null,
|
|
226
224
|
className: null,
|
|
227
225
|
children: null,
|
|
228
226
|
on_change: null,
|
|
@@ -255,7 +253,6 @@ process.env.NODE_ENV !== "production" ? Switch.propTypes = _objectSpread(_object
|
|
|
255
253
|
skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
|
|
256
254
|
innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
257
255
|
}, spacingPropTypes), {}, {
|
|
258
|
-
class: PropTypes.string,
|
|
259
256
|
className: PropTypes.string,
|
|
260
257
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
|
|
261
258
|
on_change: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","class","_className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch 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 isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch 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_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\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 globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: 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 = Switch.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) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\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 Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\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 width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__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 </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch 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 isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch 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_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\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 globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: 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 = Switch.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) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\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 Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\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 width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__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 </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -54,6 +54,12 @@ export type TableProps = {
|
|
|
54
54
|
* Default: null.
|
|
55
55
|
*/
|
|
56
56
|
fixed?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.
|
|
59
|
+
*
|
|
60
|
+
* Default: `undefined`
|
|
61
|
+
*/
|
|
62
|
+
collapseAllHandleRef?: React.MutableRefObject<() => void>;
|
|
57
63
|
} & StickyTableHeaderProps;
|
|
58
64
|
export type TableAllProps = TableProps & Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> & LocaleProps & SpacingProps;
|
|
59
65
|
export declare const defaultProps: {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement"];
|
|
6
|
+
const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement", "collapseAllHandleRef"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
import React from 'react';
|
|
9
|
+
import React, { useEffect } from 'react';
|
|
10
10
|
import classnames from 'classnames';
|
|
11
11
|
import Context from '../../shared/Context';
|
|
12
12
|
import Provider from '../../shared/Provider';
|
|
@@ -39,7 +39,8 @@ const Table = componentProps => {
|
|
|
39
39
|
border,
|
|
40
40
|
outline,
|
|
41
41
|
accordion,
|
|
42
|
-
accordionChevronPlacement
|
|
42
|
+
accordionChevronPlacement,
|
|
43
|
+
collapseAllHandleRef
|
|
43
44
|
} = allProps,
|
|
44
45
|
props = _objectWithoutProperties(allProps, _excluded);
|
|
45
46
|
const {
|
|
@@ -51,6 +52,14 @@ const Table = componentProps => {
|
|
|
51
52
|
} = useHandleOddEven({
|
|
52
53
|
children
|
|
53
54
|
});
|
|
55
|
+
const collapseTrCallbacks = React.useRef([]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (collapseAllHandleRef) {
|
|
58
|
+
collapseAllHandleRef.current = () => {
|
|
59
|
+
collapseTrCallbacks.current.forEach(callback => callback());
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}, [collapseAllHandleRef]);
|
|
54
63
|
const skeletonClasses = createSkeletonClass('font', skeleton, context);
|
|
55
64
|
const spacingClasses = createSpacingClasses(props);
|
|
56
65
|
validateDOMAttributes(allProps, props);
|
|
@@ -60,6 +69,7 @@ const Table = componentProps => {
|
|
|
60
69
|
value: {
|
|
61
70
|
trCountRef,
|
|
62
71
|
rerenderAlias,
|
|
72
|
+
collapseTrCallbacks,
|
|
63
73
|
allProps: _objectSpread(_objectSpread({}, allProps), context.getTranslation(componentProps).Table)
|
|
64
74
|
}
|
|
65
75
|
}, React.createElement("table", _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["React","classnames","Context","Provider","createSpacingClasses","createSkeletonClass","extendPropsWithContext","validateDOMAttributes","ScrollView","TableContext","useStickyHeader","useHandleOddEven","defaultProps","size","variant","Table","componentProps","context","useContext","allProps","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","props","_objectWithoutProperties","_excluded","elementRef","trCountRef","rerenderAlias","skeletonClasses","spacingClasses","createElement","Boolean","value","_objectSpread","getTranslation","_extends","ref","_supportsSpacingProps"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"file":"Table.js","names":["React","useEffect","classnames","Context","Provider","createSpacingClasses","createSkeletonClass","extendPropsWithContext","validateDOMAttributes","ScrollView","TableContext","useStickyHeader","useHandleOddEven","defaultProps","size","variant","Table","componentProps","context","useContext","allProps","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","collapseAllHandleRef","props","_objectWithoutProperties","_excluded","elementRef","trCountRef","rerenderAlias","collapseTrCallbacks","useRef","current","forEach","callback","skeletonClasses","spacingClasses","createElement","Boolean","value","_objectSpread","getTranslation","_extends","ref","_supportsSpacingProps"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n\n /**\n * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.\n *\n * Default: `undefined`\n */\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n collapseAllHandleRef,\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n const collapseTrCallbacks = React.useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseTrCallbacks.current.forEach((callback) => callback())\n }\n }\n }, [collapseAllHandleRef])\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n collapseTrCallbacks,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
noAnimation: any;
|
|
8
|
-
onClick: any;
|
|
9
|
-
onOpened: any;
|
|
10
|
-
onClosed: any;
|
|
11
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TableTrProps } from './TableTr';
|
|
3
|
+
type TableAccordionProps = {
|
|
4
|
+
count: number;
|
|
5
|
+
};
|
|
6
|
+
export declare function TableAccordion(allProps: TableAccordionProps & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>): import("react/jsx-runtime").JSX.Element;
|
|
12
7
|
export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
5
|
var _Td;
|
|
3
|
-
|
|
6
|
+
const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
|
|
7
|
+
import React, { useEffect } from 'react';
|
|
4
8
|
import classnames from 'classnames';
|
|
5
9
|
import Button from '../button/Button';
|
|
6
10
|
import IconPrimary from '../icon/IconPrimary';
|
|
@@ -11,18 +15,19 @@ import keycode from 'keycode';
|
|
|
11
15
|
import { hasSelectedText } from '../../shared/helpers';
|
|
12
16
|
import TableAccordionTd from './TableAccordionTd';
|
|
13
17
|
import TableAccordionTr from './TableAccordionTr';
|
|
14
|
-
export function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
export function TableAccordion(allProps) {
|
|
19
|
+
const {
|
|
20
|
+
children,
|
|
21
|
+
className,
|
|
22
|
+
expanded,
|
|
23
|
+
disabled,
|
|
24
|
+
noAnimation,
|
|
25
|
+
onClick,
|
|
26
|
+
onOpened,
|
|
27
|
+
onClosed,
|
|
28
|
+
count
|
|
29
|
+
} = allProps,
|
|
30
|
+
props = _objectWithoutProperties(allProps, _excluded);
|
|
26
31
|
const tableContext = React.useContext(TableContext);
|
|
27
32
|
const [trIsOpen, setOpen] = React.useState(() => {
|
|
28
33
|
if (typeof expanded === 'boolean') {
|
|
@@ -37,9 +42,6 @@ export function useTableAccordion({
|
|
|
37
42
|
});
|
|
38
43
|
const [trIsHover, setHover] = React.useState(false);
|
|
39
44
|
const [trHadClick, setHadClick] = React.useState(false);
|
|
40
|
-
if (!(tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion)) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
45
|
let headerContent = React.Children.toArray(children);
|
|
44
46
|
const addExpandIcon = icon => {
|
|
45
47
|
if (tableContext.allProps.accordionChevronPlacement === 'end') {
|
|
@@ -52,6 +54,14 @@ export function useTableAccordion({
|
|
|
52
54
|
return isAccordionElement(element);
|
|
53
55
|
});
|
|
54
56
|
const hasAccordionContent = accordionContent.length !== 0 && accordionContent.every(element => React.isValidElement(element));
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
var _tableContext$collaps;
|
|
59
|
+
if (hasAccordionContent && tableContext !== null && tableContext !== void 0 && (_tableContext$collaps = tableContext.collapseTrCallbacks) !== null && _tableContext$collaps !== void 0 && _tableContext$collaps.current && count) {
|
|
60
|
+
tableContext.collapseTrCallbacks.current[count] = () => {
|
|
61
|
+
setOpen(false);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
|
|
55
65
|
const trParams = !disabled && hasAccordionContent ? {
|
|
56
66
|
onClick: toggleOpenTr,
|
|
57
67
|
onMouseEnter: onMouseEnterHandler,
|
|
@@ -67,12 +77,12 @@ export function useTableAccordion({
|
|
|
67
77
|
key: "td-icon"
|
|
68
78
|
}, React.createElement(TableAccordionToggleButton, null))));
|
|
69
79
|
} else if (isTableHead(headerContent)) {
|
|
70
|
-
var _tableContext$
|
|
80
|
+
var _tableContext$allProp;
|
|
71
81
|
addExpandIcon(React.createElement(Th, {
|
|
72
82
|
"aria-hidden": true,
|
|
73
83
|
className: "dnb-table__th__accordion-icon",
|
|
74
84
|
key: "th-icon"
|
|
75
|
-
}, React.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$
|
|
85
|
+
}, React.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
|
|
76
86
|
}
|
|
77
87
|
const countTds = hasAccordionContent ? headerContent.filter(element => {
|
|
78
88
|
return element.type === Td;
|
|
@@ -92,7 +102,7 @@ export function useTableAccordion({
|
|
|
92
102
|
className: classnames(className, hasAccordionContent && 'dnb-table__tr--has-accordion-content', trIsOpen && 'dnb-table__tr--expanded', disabled && 'dnb-table__tr--disabled', noAnimation && 'dnb-table__tr--no-animation', trIsHover && trHadClick && 'dnb-table__tr--hover')
|
|
93
103
|
}, trParams, props), headerContent), accordionContent);
|
|
94
104
|
function onKeydownHandler(event) {
|
|
95
|
-
switch (keycode(event)) {
|
|
105
|
+
switch (keycode(event.nativeEvent)) {
|
|
96
106
|
case 'space':
|
|
97
107
|
case 'enter':
|
|
98
108
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableAccordion.js","names":["React","classnames","Button","IconPrimary","Th","Td","TableAccordionContext","TableContext","keycode","hasSelectedText","TableAccordionTd","TableAccordionTr","useTableAccordion","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","_tableContext$allProp","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","allProps","accordion","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","length","every","isValidElement","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","_Td","createElement","key","TableAccordionToggleButton","isTableHead","_tableContext$allProp2","accordionToggleButtonSR","countTds","type","Provider","value","_extends","tabIndex","undefined","event","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","some"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport { TableAccordionContext, TableContext } from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\n\nimport TableAccordionTd from './TableAccordionTd'\nimport TableAccordionTr from './TableAccordionTr'\nimport type { TableAccordionTdProps } from './TableAccordionTd'\nimport type { TableAccordionTrProps } from './TableAccordionTr'\n\ntype TableAccordionContentProps =\n | TableAccordionTdProps\n | TableAccordionTrProps\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<TableAccordionContentProps>[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: MouseEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionTd || element.type === TableAccordionTr\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableAccordion.js","names":["React","useEffect","classnames","Button","IconPrimary","Th","Td","TableAccordionContext","TableContext","keycode","hasSelectedText","TableAccordionTd","TableAccordionTr","TableAccordion","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","_objectWithoutProperties","_excluded","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","length","every","isValidElement","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","_Td","createElement","key","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Provider","value","_extends","tabIndex","undefined","event","nativeEvent","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","some"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport { TableAccordionContext, TableContext } from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\n\nimport TableAccordionTd from './TableAccordionTd'\nimport TableAccordionTr from './TableAccordionTr'\nimport type { TableAccordionTdProps } from './TableAccordionTd'\nimport type { TableAccordionTrProps } from './TableAccordionTr'\nimport type { TableTrProps } from './TableTr'\n\ntype TableAccordionContentProps =\n | TableAccordionTdProps\n | TableAccordionTrProps\n\ntype TableAccordionProps = {\n count: number\n}\n\nexport function TableAccordion(\n allProps: TableAccordionProps &\n TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n children,\n className,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<TableAccordionContentProps>[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: React.SyntheticEvent) {\n switch (keycode(event.nativeEvent)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionTd || element.type === TableAccordionTr\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
|