@dnb/eufemia 10.35.0 → 10.36.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 +26 -0
- package/cjs/components/accordion/Accordion.d.ts +3 -3
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
- package/cjs/components/accordion/AccordionHeader.js +3 -2
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +20 -0
- package/cjs/components/anchor/Anchor.js +13 -4
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
- package/cjs/components/anchor/AnchorDocs.js +82 -0
- package/cjs/components/anchor/AnchorDocs.js.map +1 -0
- package/cjs/components/autocomplete/Autocomplete.js +16 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
- package/cjs/components/icon/Icon.d.ts +493 -61
- package/cjs/components/icon/Icon.js +97 -134
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon/IconHelpers.d.ts +2 -1
- package/cjs/components/icon/IconHelpers.js +1 -1
- package/cjs/components/icon/IconHelpers.js.map +1 -1
- package/cjs/components/icon/IconPrimary.d.ts +2 -2
- package/cjs/components/icon/IconPrimary.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
- package/cjs/components/icon-primary/IconPrimary.js +37 -38
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
- package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
- package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +9 -7
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/table/Table.d.ts +1 -1
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableContext.d.ts +12 -2
- package/cjs/components/table/TableContext.js +1 -3
- package/cjs/components/table/TableContext.js.map +1 -1
- package/cjs/components/table/TableDocs.d.ts +7 -0
- package/cjs/components/table/TableDocs.js +202 -0
- package/cjs/components/table/TableDocs.js.map +1 -0
- package/cjs/components/table/TableTd.d.ts +3 -3
- package/cjs/components/table/TableTd.js +2 -2
- package/cjs/components/table/TableTd.js.map +1 -1
- package/cjs/components/table/TableTr.d.ts +9 -5
- package/cjs/components/table/TableTr.js +4 -4
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
- package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +17 -18
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
- package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/cjs/components/tabs/Tabs.d.ts +0 -3
- package/cjs/components/tabs/TabsDocs.d.ts +1 -0
- package/cjs/components/tabs/TabsDocs.js +32 -4
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/en-GB.js +7 -9
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/index.d.ts +14 -18
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/shared/Context.d.ts +4 -0
- 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/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 +15 -6
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/components/accordion/Accordion.d.ts +3 -3
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionHeader.d.ts +5 -5
- package/components/accordion/AccordionHeader.js +3 -2
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/anchor/Anchor.d.ts +20 -0
- package/components/anchor/Anchor.js +13 -4
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/AnchorDocs.d.ts +3 -0
- package/components/anchor/AnchorDocs.js +74 -0
- package/components/anchor/AnchorDocs.js.map +1 -0
- package/components/autocomplete/Autocomplete.js +17 -3
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/components/height-animation/useHeightAnimation.js.map +1 -1
- package/components/icon/Icon.d.ts +493 -61
- package/components/icon/Icon.js +89 -127
- package/components/icon/Icon.js.map +1 -1
- package/components/icon/IconHelpers.d.ts +2 -1
- package/components/icon/IconHelpers.js +1 -1
- package/components/icon/IconHelpers.js.map +1 -1
- package/components/icon/IconPrimary.d.ts +2 -2
- package/components/icon/IconPrimary.js.map +1 -1
- package/components/icon-primary/IconPrimary.d.ts +8 -11
- package/components/icon-primary/IconPrimary.js +25 -31
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/step-indicator/StepIndicatorContext.js +67 -60
- package/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.js +16 -24
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorModal.js +6 -6
- package/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/components/step-indicator/StepIndicatorSidebar.js +10 -8
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/table/Table.d.ts +1 -1
- package/components/table/Table.js.map +1 -1
- package/components/table/TableContext.d.ts +12 -2
- package/components/table/TableContext.js +0 -1
- package/components/table/TableContext.js.map +1 -1
- package/components/table/TableDocs.d.ts +7 -0
- package/components/table/TableDocs.js +190 -0
- package/components/table/TableDocs.js.map +1 -0
- package/components/table/TableTd.d.ts +3 -3
- package/components/table/TableTd.js +2 -2
- package/components/table/TableTd.js.map +1 -1
- package/components/table/TableTr.d.ts +9 -5
- package/components/table/TableTr.js +4 -4
- package/components/table/TableTr.js.map +1 -1
- package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/components/table/table-accordion/TableAccordionContent.js +95 -0
- package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/components/table/table-accordion/TableAccordionContext.js +3 -0
- package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
- package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/components/tabs/Tabs.d.ts +0 -3
- package/components/tabs/TabsDocs.d.ts +1 -0
- package/components/tabs/TabsDocs.js +30 -3
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/es/components/accordion/Accordion.d.ts +3 -3
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionHeader.d.ts +5 -5
- package/es/components/accordion/AccordionHeader.js +3 -2
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +20 -0
- package/es/components/anchor/Anchor.js +13 -4
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/AnchorDocs.d.ts +3 -0
- package/es/components/anchor/AnchorDocs.js +74 -0
- package/es/components/anchor/AnchorDocs.js.map +1 -0
- package/es/components/autocomplete/Autocomplete.js +17 -3
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/es/components/height-animation/useHeightAnimation.js.map +1 -1
- package/es/components/icon/Icon.d.ts +493 -61
- package/es/components/icon/Icon.js +82 -116
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon/IconHelpers.d.ts +2 -1
- package/es/components/icon/IconHelpers.js +1 -1
- package/es/components/icon/IconHelpers.js.map +1 -1
- package/es/components/icon/IconPrimary.d.ts +2 -2
- package/es/components/icon/IconPrimary.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.d.ts +8 -11
- package/es/components/icon-primary/IconPrimary.js +25 -31
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorContext.js +67 -60
- package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.js +17 -25
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorModal.js +6 -6
- package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorSidebar.js +10 -8
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/table/Table.d.ts +1 -1
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableContext.d.ts +12 -2
- package/es/components/table/TableContext.js +0 -1
- package/es/components/table/TableContext.js.map +1 -1
- package/es/components/table/TableDocs.d.ts +7 -0
- package/es/components/table/TableDocs.js +190 -0
- package/es/components/table/TableDocs.js.map +1 -0
- package/es/components/table/TableTd.d.ts +3 -3
- package/es/components/table/TableTd.js +2 -2
- package/es/components/table/TableTd.js.map +1 -1
- package/es/components/table/TableTr.d.ts +9 -5
- package/es/components/table/TableTr.js +4 -4
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
- package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
- package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
- package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/es/components/tabs/Tabs.d.ts +0 -3
- package/es/components/tabs/TabsDocs.d.ts +1 -0
- package/es/components/tabs/TabsDocs.js +30 -3
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/es/extensions/forms/Wizard/Step/Step.js +6 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/es/extensions/forms/constants/locales/en-GB.js +7 -9
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/es/extensions/forms/constants/locales/index.d.ts +14 -18
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/es/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/shared/Context.d.ts +4 -0
- 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/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 +15 -6
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/es/style/themes/theme-ui/ui-theme-components.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/Provider/Provider.js +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/extensions/forms/Form/Visibility/Visibility.js +20 -71
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/extensions/forms/Wizard/Step/Step.js +6 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/extensions/forms/constants/locales/en-GB.js +7 -9
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/extensions/forms/constants/locales/index.d.ts +14 -18
- package/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +4 -0
- 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/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 +15 -6
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/style/themes/theme-ui/ui-theme-components.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/components/table/TableAccordion.d.ts +0 -8
- package/cjs/components/table/TableAccordion.js.map +0 -1
- package/cjs/components/table/TableAccordionTd.d.ts +0 -9
- package/cjs/components/table/TableAccordionTd.js.map +0 -1
- package/cjs/components/table/TableAccordionTr.d.ts +0 -13
- package/cjs/components/table/TableAccordionTr.js +0 -61
- package/cjs/components/table/TableAccordionTr.js.map +0 -1
- package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
- package/components/table/TableAccordion.d.ts +0 -8
- package/components/table/TableAccordion.js.map +0 -1
- package/components/table/TableAccordionTd.d.ts +0 -9
- package/components/table/TableAccordionTd.js +0 -61
- package/components/table/TableAccordionTd.js.map +0 -1
- package/components/table/TableAccordionTr.d.ts +0 -13
- package/components/table/TableAccordionTr.js +0 -51
- package/components/table/TableAccordionTr.js.map +0 -1
- package/components/table/useTableAnimationHandler.js.map +0 -1
- package/es/components/table/TableAccordion.d.ts +0 -8
- package/es/components/table/TableAccordion.js.map +0 -1
- package/es/components/table/TableAccordionTd.d.ts +0 -9
- package/es/components/table/TableAccordionTd.js +0 -61
- package/es/components/table/TableAccordionTd.js.map +0 -1
- package/es/components/table/TableAccordionTr.d.ts +0 -13
- package/es/components/table/TableAccordionTr.js +0 -51
- package/es/components/table/TableAccordionTr.js.map +0 -1
- package/es/components/table/useTableAnimationHandler.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,32 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.36.0](https://github.com/dnbexperience/eufemia/compare/v10.35.0...v10.36.0) (2024-06-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :sparkles: Features
|
|
10
|
+
|
|
11
|
+
* **Anchor:** add helper classes as props ([#3701](https://github.com/dnbexperience/eufemia/issues/3701)) ([62b23e8](https://github.com/dnbexperience/eufemia/commit/62b23e8fbf626f795a129e4dcb2f21d5b65b14a1))
|
|
12
|
+
* **forms:** add `activeWhen` prop to Wizard.Step ([#3705](https://github.com/dnbexperience/eufemia/issues/3705)) ([edd6214](https://github.com/dnbexperience/eufemia/commit/edd6214e79c153f5557b9c6c7554c0d5afb03056))
|
|
13
|
+
* **Icon:** rewrite to TypeScript and hooks ([#3703](https://github.com/dnbexperience/eufemia/issues/3703)) ([70b1f8b](https://github.com/dnbexperience/eufemia/commit/70b1f8ba5129bcdf9860ed967db3d0919fb9ccc3)), closes [#3699](https://github.com/dnbexperience/eufemia/issues/3699)
|
|
14
|
+
* **Table:** refactoring of types, documentation, and accordion file structure ([#3683](https://github.com/dnbexperience/eufemia/issues/3683)) ([6045e42](https://github.com/dnbexperience/eufemia/commit/6045e42ee4c61059da8159ec1bc7a94dae6f8971))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### :bug: Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **Autocomplete:** make `input_value` react to prop change ([#3706](https://github.com/dnbexperience/eufemia/issues/3706)) ([641e5e7](https://github.com/dnbexperience/eufemia/commit/641e5e79f22e20dc647b250be3f8ce98e7e9751f))
|
|
20
|
+
* **Autocomplete:** make inputValue update on data prop changes ([#3581](https://github.com/dnbexperience/eufemia/issues/3581)) ([83b05cf](https://github.com/dnbexperience/eufemia/commit/83b05cfeeb3cc9a88f0e710c35fdb65d8f39c81d))
|
|
21
|
+
* **forms:** ensure useReactRouter to handle initial data given by url ([#3708](https://github.com/dnbexperience/eufemia/issues/3708)) ([a16f1f7](https://github.com/dnbexperience/eufemia/commit/a16f1f7d4d313f4b8d497a754ea025558141d970)), closes [#3702](https://github.com/dnbexperience/eufemia/issues/3702)
|
|
22
|
+
* **StepIndicator:** avoid re-assigning functions that can cause titles to be not in sync ([#3697](https://github.com/dnbexperience/eufemia/issues/3697)) ([d8d740c](https://github.com/dnbexperience/eufemia/commit/d8d740cd129e4027bf94936f8898f7018c8f86f6)), closes [#3685](https://github.com/dnbexperience/eufemia/issues/3685)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### :memo: Documentation
|
|
26
|
+
|
|
27
|
+
* **forms:** add translations table ([#3693](https://github.com/dnbexperience/eufemia/issues/3693)) ([84605b7](https://github.com/dnbexperience/eufemia/commit/84605b70bd922bede930185aed7c981cf5ae2a48))
|
|
28
|
+
* **Tabs:** fix the title of Tabs breakout example ([#3696](https://github.com/dnbexperience/eufemia/issues/3696)) ([7747e06](https://github.com/dnbexperience/eufemia/commit/7747e0639482a8541fe6013844b00375653cd1b9))
|
|
29
|
+
* **Tabs:** improve property docs ([#3665](https://github.com/dnbexperience/eufemia/issues/3665)) ([7849cba](https://github.com/dnbexperience/eufemia/commit/7849cbac776b14bf0250843f160b593367457692))
|
|
30
|
+
* update grid layout example without responsive sidebar ([#3709](https://github.com/dnbexperience/eufemia/issues/3709)) ([f4363c2](https://github.com/dnbexperience/eufemia/commit/f4363c260d0f6537fc457916625f6ed61c335a27))
|
|
31
|
+
|
|
6
32
|
## [10.35.0](https://github.com/dnbexperience/eufemia/compare/v10.34.1...v10.35.0) (2024-06-11)
|
|
7
33
|
|
|
8
34
|
|
|
@@ -13,11 +13,11 @@ import { Store } from './AccordionStore';
|
|
|
13
13
|
export type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled';
|
|
14
14
|
export type AccordionHeading = boolean | React.ReactNode;
|
|
15
15
|
export type AccordionIcon = IconIcon | {
|
|
16
|
-
closed?:
|
|
16
|
+
closed?: IconIcon;
|
|
17
17
|
/**
|
|
18
18
|
* If set to `true` the accordion will be expanded as its initial state.
|
|
19
19
|
*/
|
|
20
|
-
expanded?:
|
|
20
|
+
expanded?: IconIcon;
|
|
21
21
|
};
|
|
22
22
|
export type AccordionAttributes = string | Record<string, unknown>;
|
|
23
23
|
export type AccordionIconPosition = ButtonIconPosition;
|
|
@@ -234,7 +234,7 @@ declare namespace Accordion {
|
|
|
234
234
|
var Header: {
|
|
235
235
|
({ icon_size: icon_size_default, ...restOfProps }: import("./AccordionHeader").AccordionHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
236
236
|
Container: ({ children, ...rest }: import("./AccordionHeader").AccordionHeaderContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
237
|
-
Icon: ({ icon, expanded, size, icon_position, }: import("./AccordionHeader").AccordionHeaderIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
237
|
+
Icon: ({ icon: iconProp, expanded, size, icon_position, }: import("./AccordionHeader").AccordionHeaderIconProps) => import("react/jsx-runtime").JSX.Element;
|
|
238
238
|
Title: ({ children, ...rest }: import("./AccordionHeader").AccordionHeaderTitleProps) => import("react/jsx-runtime").JSX.Element;
|
|
239
239
|
Description: ({ children, ...rest }: import("./AccordionHeader").AccordionHeaderDescriptionProps) => import("react/jsx-runtime").JSX.Element;
|
|
240
240
|
_supportsSpacingProps: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_SpacingHelper","_AccordionGroup","_AccordionHeader2","_AccordionContent","_AccordionContext","_AccordionProviderContext","_Context","_AccordionStore","_defaultProps","_AccordionHeader","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Accordion","_ref","variant","icon_size","restOfProps","props","context","useContext","AccordionProviderContext","group","id","useRef","makeUniqueId","current","store","Store","previousExpanded","setPreviousExpanded","useState","expanded","setExpanded","getInitialExpandedState","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","useEffect","window","AccordionStore","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","expanded_ssr","remember_state","storedExpanded","getState","changeOpened","saveState","e","preventDefault","_len","params","Array","_key","onChange","_window2","_window2$__dnbAccordi","event","dispatchCustomElementEvent","createElement","Consumer","globalContext","nestedContext","expandedState","extendedProps","extendPropsWithContext","accordionDefaultProps","skeleton","translation","className","prerender","prevent_rerender","prevent_rerender_conditional","single_container","disabled","no_animation","_expanded_ssr","children","_group","title","description","left_component","icon","icon_position","on_change","on_state_update","contentRef","restOfExtendedProps","mainParams","classnames","createSpacingClasses","onClick","validateDOMAttributes","extendedPropsForContext","accordionContext","Provider","findElementInChildren","cur","type","AccordionHeader","AccordionContent","defaultProps","Group","rememberWarning","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","AccordionGroup","Header","Content","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, {\n useContext,\n useState,\n useEffect,\n useRef,\n HTMLProps,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n findElementInChildren,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { ButtonIconPosition } from '../Button'\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { SpacingProps } from '../space/types'\n\nimport AccordionGroup from './AccordionGroup'\nimport AccordionHeader from './AccordionHeader'\nimport AccordionContent from './AccordionContent'\nimport AccordionContext from './AccordionContext'\nimport AccordionProviderContext from './AccordionProviderContext'\nimport Context from '../../shared/Context'\n\nimport { AccordionStore, Store, rememberWarning } from './AccordionStore'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled'\n\nexport type AccordionHeading = boolean | React.ReactNode\n\nexport type AccordionIcon =\n | IconIcon\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionAttributes = string | Record<string, unknown>\n\nexport type AccordionIconPosition = ButtonIconPosition\n\nexport type AccordionProps = Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps & {\n /**\n * A title as a string or React element. It will be used as the button text.\n */\n title?: React.ReactNode\n description?: React.ReactNode\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: boolean\n /**\n * If set to `true`, the open and close animation will be omitted.\n */\n no_animation?: boolean\n /**\n * If set to `true` the accordion will be expanded during SSR. Can be potentially useful for SEO, although it will disturb client hydration, where React expects the same state. But that's mainly a technical aspect to consider.\n */\n expanded_ssr?: boolean\n /**\n */\n prerender?: boolean\n /**\n * If set to `true` the accordion component will not re-render its content – can be useful for widgets you don't have control of storing the temporary state during an interaction.\n */\n prevent_rerender?: boolean\n /**\n * Use this prop together with `prevent_rerender` – and if it is to `true`, the accordion component will re-render if the children are a new React element and does not match the previous one anymore.\n */\n prevent_rerender_conditional?: boolean\n /**\n * If set to `true`, it will remember a changed state initiated by the user. It requires a unique `id`. It will store the sate in the local storage.\n */\n remember_state?: boolean\n /**\n * Send along a custom React Ref for `.dnb-accordion__content`.\n */\n contentRef?: React.MutableRefObject<unknown>\n /**\n * If set to `true`, the saved (remembered) will be removed and the initial component state will be used and set.\n */\n flush_remembered_state?: boolean\n /**\n * If set to `true`, a group of accordions will be wrapped to sidebar looking menu for medium and larger screens.\n */\n single_container?: boolean\n /**\n * Defines the used styling. As of now, only `outlined` is available. Use `plain` for no styles. It defaults to `outlined`.\n */\n variant?: AccordionVariant\n /**\n * Will add a React element on the left side of the `title`, inside `AccordionHeaderContainer`.\n */\n left_component?: React.ReactNode\n /**\n * If set to `true`, the accordion button will be disabled (dimmed).\n */\n disabled?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * A unique `id` that will be used on the button element. If you use `remember_state`, an id is required.\n */\n id?: string\n group?: string\n /**\n * Gives you the option to replace the used `button` element. Provide a React element, including a string (HTML element). Defaults to a `div` with all the needed accessibility features included.\n */\n element?: React.ReactNode\n /**\n * If set to `true`, level 2 (h2) will be used. You can provide your own HTML heading (`h3`), or provide a `heading_level` property.\n */\n heading?: AccordionHeading\n /**\n * If `heading` is set to `true`, you can provide a numeric value to define a different heading level. Defaults to `2`.\n */\n heading_level?: HeadingLevel\n /**\n * Will replace the `chevron` icon. The icon will still rotate (by CSS). You can use an object to use two different icons, one for the closed state and one for the expanded state `{ closed, expanded }`.\n */\n icon?: AccordionIcon\n /**\n * Will set the placement of the icon. Defaults to `left`.\n */\n icon_position?: AccordionIconPosition\n /**\n * Define a different icon size. Defaults to `medium` (1.5rem).\n */\n icon_size?: IconSize\n attributes?: AccordionAttributes\n className?: string\n children?: React.ReactNode\n /**\n * Will be called by user click interaction. Returns an object with a boolean state `expanded` inside `{ expanded, id, event, ...event }`.\n */\n on_change?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n }\n\nfunction Accordion({\n variant = 'outlined',\n icon_size = 'medium',\n ...restOfProps\n}: AccordionProps) {\n const props = { variant, icon_size, ...restOfProps }\n\n const context = useContext(AccordionProviderContext)\n\n const group = props.group || context?.group\n const id = useRef(props.id || makeUniqueId()).current\n\n const store = new Store({ id: props.id, group })\n\n // States ordered last here to make sure that the getInitialExpandedState have access to the store\n const [previousExpanded, setPreviousExpanded] = useState(props.expanded)\n const [expanded, setExpanded] = useState<boolean>(\n getInitialExpandedState()\n )\n\n // replacement for getDerivedStateFromProps\n if (props.expanded !== previousExpanded) {\n setExpanded(props.expanded !== undefined ? props.expanded : false)\n setPreviousExpanded(props.expanded)\n }\n\n const thisInstance = {\n _id: id,\n context,\n handleDisabledClick,\n callOnChange,\n callOnChangeHandler,\n close,\n setExpandedState,\n state: { expanded, group },\n props,\n store,\n }\n\n // Constructor\n useEffect(() => {\n if (group && typeof window !== 'undefined') {\n window['__dnbAccordion'] = window['__dnbAccordion'] || {}\n window['__dnbAccordion'][group] =\n window['__dnbAccordion'][group] || new AccordionStore(group)\n\n window['__dnbAccordion'][group].addInstance(thisInstance)\n }\n\n if (context && typeof context?.onInit === 'function') {\n context.onInit(thisInstance)\n }\n\n return () => {\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.removeInstance(thisInstance)\n }\n }\n }, [])\n\n // componentDidUpdate\n useEffect(() => {\n if (context.flush_remembered_state) {\n store.flush()\n setExpanded(props.expanded)\n }\n\n if (context?.expanded_id && context.expanded_id === props.id) {\n setExpanded(true)\n }\n }, [context.flush_remembered_state, context.expanded_id])\n\n // Gets the initial expanded sate, to prevent the opening and closing of Accordion\n // That happens when if we put this logic in a useEffect that runs after the initial expanded state is set\n // Since useEffect runs after every render\n function getInitialExpandedState() {\n if (props.expanded_ssr || context?.expanded_ssr) {\n return typeof window === 'undefined'\n }\n\n if (props.remember_state || context.remember_state) {\n const storedExpanded = store.getState()\n\n if (props.expanded && storedExpanded === false) {\n return false\n }\n\n if (storedExpanded) {\n return true\n }\n }\n\n return props.expanded !== undefined\n ? props.expanded\n : context?.expanded !== undefined\n ? context.expanded\n : false\n }\n\n function setExpandedState(expanded: boolean) {\n setExpanded(expanded)\n }\n\n function close() {\n changeOpened(false)\n }\n\n function changeOpened(expanded: boolean) {\n setExpanded(expanded)\n\n // check if a event exists, because, then it's a user click\n if (props.remember_state || context.remember_state) {\n store.saveState(expanded)\n }\n }\n\n function handleDisabledClick(e: React.MouseEvent<HTMLElement>) {\n e.preventDefault()\n return false\n }\n\n function callOnChangeHandler(...params: any[]) {\n callOnChange(...params)\n if (context?.onChange) {\n context?.onChange(...params)\n }\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.onChange(...params)\n }\n }\n\n function callOnChange(...params: any[]) {\n const { expanded, event } = params[0]\n\n changeOpened(expanded)\n\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n expanded,\n event,\n })\n }\n\n return (\n <Context.Consumer>\n {(globalContext) => (\n <AccordionContext.Consumer>\n {(nestedContext) => {\n // use only the props from context, who are available here anyway\n let expandedState = expanded\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context, // group context\n nestedContext as Record<string, unknown>, // internal context\n { skeleton: globalContext?.skeleton },\n globalContext.Accordion, // global context\n globalContext.translation['Accordion']\n )\n\n if (expandedState === undefined && globalContext.Accordion) {\n if (globalContext.Accordion.expanded) {\n expandedState = extendedProps.expanded\n }\n }\n\n const {\n variant,\n className,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n single_container,\n remember_state,\n disabled,\n skeleton,\n no_animation,\n expanded_ssr: _expanded_ssr, // eslint-disable-line\n children,\n\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n // expanded: _expanded, // eslint-disable-line\n\n title, // eslint-disable-line\n description, // eslint-disable-line\n left_component, // eslint-disable-line\n icon, // eslint-disable-line\n icon_position, // eslint-disable-line\n icon_size, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n contentRef, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const mainParams = {\n id,\n className: classnames(\n 'dnb-accordion',\n expandedState && 'dnb-accordion--expanded',\n variant && `dnb-accordion__variant--${variant}`,\n prerender && 'dnb-accordion--prerender',\n createSpacingClasses(extendedProps),\n className\n ),\n } as HTMLProps<HTMLDivElement>\n\n if (disabled) {\n mainParams.onClick = handleDisabledClick\n }\n\n // to remove spacing props\n validateDOMAttributes(props, restOfExtendedProps)\n\n const extendedPropsForContext = extendPropsWithContext(\n props,\n accordionDefaultProps,\n { expanded, group },\n context\n )\n\n const accordionContext = {\n ...extendedPropsForContext,\n id,\n expanded: expandedState,\n prerender: prerender,\n prevent_rerender: prevent_rerender,\n prevent_rerender_conditional: prevent_rerender_conditional,\n single_container: single_container,\n remember_state: remember_state,\n disabled: disabled,\n skeleton: skeleton,\n no_animation: no_animation,\n callOnChange: callOnChangeHandler,\n }\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <div {...mainParams}>\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionHeader\n ) ? null : (\n <AccordionHeader />\n )}\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionContent\n ) ? (\n children\n ) : (\n <AccordionContent>{children}</AccordionContent>\n )}\n </div>\n </AccordionContext.Provider>\n )\n }}\n </AccordionContext.Consumer>\n )}\n </Context.Consumer>\n )\n}\n// TEMPORARY SOLUTION (defaultProps will be deprecated at one point). Needs to replacement with default prop parameters for example \"({expanded: null})\"\n// Only solved this way to prevent tests from failing, for when expanded is undefined instead of null\nAccordion.defaultProps = accordionDefaultProps\n\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n expanded_id?: string\n}\n\nconst Group = (props: GroupProps) => {\n if (props.remember_state && !props.id) {\n rememberWarning('accordion group')\n }\n\n const [expandedId, setExpandedId] = useState<string | null>(null)\n\n const instanceIDs = useRef<string[]>([])\n\n const group = props?.id\n ? props.id\n : !props.group\n ? '#' + makeUniqueId()\n : undefined\n\n const store = new Store({ group })\n\n // Set stored expanded_id on mount\n useEffect(() => {\n const storedData = store.getData()\n const currentIDs = instanceIDs?.current\n\n if (!storedData?.id) {\n return\n }\n\n if (currentIDs.includes(storedData?.id)) {\n return\n }\n\n // 1. get the fallback id\n const fallbackId = currentIDs[0]\n\n if (!fallbackId) {\n return\n }\n\n // 2. set the fallback ids\n setExpandedId(fallbackId)\n }, [])\n\n // Store and reset fallback id\n useEffect(() => {\n if (!expandedId) {\n return\n }\n\n // 3. save the fallback id\n store.saveState(true, expandedId)\n\n // 4. and reset the fallback id\n setExpandedId(null)\n }, [expandedId])\n\n function onInit(instance) {\n if (\n instance.props.id &&\n !instanceIDs.current.includes(instance.props.id)\n ) {\n instanceIDs.current.push(instance.props.id)\n }\n }\n\n return (\n <AccordionGroup\n onInit={onInit}\n {...props}\n group={group}\n expanded_id={expandedId || props.expanded_id}\n />\n )\n}\n\nAccordion.Provider = AccordionGroup\nAccordion.Header = AccordionHeader\nAccordion.Content = AccordionContent\n\nAccordion.Group = Group\n\nGroup.Store = (group: string, id: string = null) => {\n return new Store({ group, id })\n}\n\nAccordion.Store = (id: string) => {\n return new Store({ id })\n}\n\nAccordion._supportsSpacingProps = true\n\nexport default Accordion\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Accordion.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_SpacingHelper","_AccordionGroup","_AccordionHeader2","_AccordionContent","_AccordionContext","_AccordionProviderContext","_Context","_AccordionStore","_defaultProps","_AccordionHeader","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Accordion","_ref","variant","icon_size","restOfProps","props","context","useContext","AccordionProviderContext","group","id","useRef","makeUniqueId","current","store","Store","previousExpanded","setPreviousExpanded","useState","expanded","setExpanded","getInitialExpandedState","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","useEffect","window","AccordionStore","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","expanded_ssr","remember_state","storedExpanded","getState","changeOpened","saveState","e","preventDefault","_len","params","Array","_key","onChange","_window2","_window2$__dnbAccordi","event","dispatchCustomElementEvent","createElement","Consumer","globalContext","nestedContext","expandedState","extendedProps","extendPropsWithContext","accordionDefaultProps","skeleton","translation","className","prerender","prevent_rerender","prevent_rerender_conditional","single_container","disabled","no_animation","_expanded_ssr","children","_group","title","description","left_component","icon","icon_position","on_change","on_state_update","contentRef","restOfExtendedProps","mainParams","classnames","createSpacingClasses","onClick","validateDOMAttributes","extendedPropsForContext","accordionContext","Provider","findElementInChildren","cur","type","AccordionHeader","AccordionContent","defaultProps","Group","rememberWarning","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","AccordionGroup","Header","Content","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, {\n useContext,\n useState,\n useEffect,\n useRef,\n HTMLProps,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n findElementInChildren,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { ButtonIconPosition } from '../Button'\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { SpacingProps } from '../space/types'\n\nimport AccordionGroup from './AccordionGroup'\nimport AccordionHeader from './AccordionHeader'\nimport AccordionContent from './AccordionContent'\nimport AccordionContext from './AccordionContext'\nimport AccordionProviderContext from './AccordionProviderContext'\nimport Context from '../../shared/Context'\n\nimport { AccordionStore, Store, rememberWarning } from './AccordionStore'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled'\n\nexport type AccordionHeading = boolean | React.ReactNode\n\nexport type AccordionIcon =\n | IconIcon\n | {\n closed?: IconIcon\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: IconIcon\n }\n\nexport type AccordionAttributes = string | Record<string, unknown>\n\nexport type AccordionIconPosition = ButtonIconPosition\n\nexport type AccordionProps = Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps & {\n /**\n * A title as a string or React element. It will be used as the button text.\n */\n title?: React.ReactNode\n description?: React.ReactNode\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: boolean\n /**\n * If set to `true`, the open and close animation will be omitted.\n */\n no_animation?: boolean\n /**\n * If set to `true` the accordion will be expanded during SSR. Can be potentially useful for SEO, although it will disturb client hydration, where React expects the same state. But that's mainly a technical aspect to consider.\n */\n expanded_ssr?: boolean\n /**\n */\n prerender?: boolean\n /**\n * If set to `true` the accordion component will not re-render its content – can be useful for widgets you don't have control of storing the temporary state during an interaction.\n */\n prevent_rerender?: boolean\n /**\n * Use this prop together with `prevent_rerender` – and if it is to `true`, the accordion component will re-render if the children are a new React element and does not match the previous one anymore.\n */\n prevent_rerender_conditional?: boolean\n /**\n * If set to `true`, it will remember a changed state initiated by the user. It requires a unique `id`. It will store the sate in the local storage.\n */\n remember_state?: boolean\n /**\n * Send along a custom React Ref for `.dnb-accordion__content`.\n */\n contentRef?: React.MutableRefObject<unknown>\n /**\n * If set to `true`, the saved (remembered) will be removed and the initial component state will be used and set.\n */\n flush_remembered_state?: boolean\n /**\n * If set to `true`, a group of accordions will be wrapped to sidebar looking menu for medium and larger screens.\n */\n single_container?: boolean\n /**\n * Defines the used styling. As of now, only `outlined` is available. Use `plain` for no styles. It defaults to `outlined`.\n */\n variant?: AccordionVariant\n /**\n * Will add a React element on the left side of the `title`, inside `AccordionHeaderContainer`.\n */\n left_component?: React.ReactNode\n /**\n * If set to `true`, the accordion button will be disabled (dimmed).\n */\n disabled?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * A unique `id` that will be used on the button element. If you use `remember_state`, an id is required.\n */\n id?: string\n group?: string\n /**\n * Gives you the option to replace the used `button` element. Provide a React element, including a string (HTML element). Defaults to a `div` with all the needed accessibility features included.\n */\n element?: React.ReactNode\n /**\n * If set to `true`, level 2 (h2) will be used. You can provide your own HTML heading (`h3`), or provide a `heading_level` property.\n */\n heading?: AccordionHeading\n /**\n * If `heading` is set to `true`, you can provide a numeric value to define a different heading level. Defaults to `2`.\n */\n heading_level?: HeadingLevel\n /**\n * Will replace the `chevron` icon. The icon will still rotate (by CSS). You can use an object to use two different icons, one for the closed state and one for the expanded state `{ closed, expanded }`.\n */\n icon?: AccordionIcon\n /**\n * Will set the placement of the icon. Defaults to `left`.\n */\n icon_position?: AccordionIconPosition\n /**\n * Define a different icon size. Defaults to `medium` (1.5rem).\n */\n icon_size?: IconSize\n attributes?: AccordionAttributes\n className?: string\n children?: React.ReactNode\n /**\n * Will be called by user click interaction. Returns an object with a boolean state `expanded` inside `{ expanded, id, event, ...event }`.\n */\n on_change?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n }\n\nfunction Accordion({\n variant = 'outlined',\n icon_size = 'medium',\n ...restOfProps\n}: AccordionProps) {\n const props = { variant, icon_size, ...restOfProps }\n\n const context = useContext(AccordionProviderContext)\n\n const group = props.group || context?.group\n const id = useRef(props.id || makeUniqueId()).current\n\n const store = new Store({ id: props.id, group })\n\n // States ordered last here to make sure that the getInitialExpandedState have access to the store\n const [previousExpanded, setPreviousExpanded] = useState(props.expanded)\n const [expanded, setExpanded] = useState<boolean>(\n getInitialExpandedState()\n )\n\n // replacement for getDerivedStateFromProps\n if (props.expanded !== previousExpanded) {\n setExpanded(props.expanded !== undefined ? props.expanded : false)\n setPreviousExpanded(props.expanded)\n }\n\n const thisInstance = {\n _id: id,\n context,\n handleDisabledClick,\n callOnChange,\n callOnChangeHandler,\n close,\n setExpandedState,\n state: { expanded, group },\n props,\n store,\n }\n\n // Constructor\n useEffect(() => {\n if (group && typeof window !== 'undefined') {\n window['__dnbAccordion'] = window['__dnbAccordion'] || {}\n window['__dnbAccordion'][group] =\n window['__dnbAccordion'][group] || new AccordionStore(group)\n\n window['__dnbAccordion'][group].addInstance(thisInstance)\n }\n\n if (context && typeof context?.onInit === 'function') {\n context.onInit(thisInstance)\n }\n\n return () => {\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.removeInstance(thisInstance)\n }\n }\n }, [])\n\n // componentDidUpdate\n useEffect(() => {\n if (context.flush_remembered_state) {\n store.flush()\n setExpanded(props.expanded)\n }\n\n if (context?.expanded_id && context.expanded_id === props.id) {\n setExpanded(true)\n }\n }, [context.flush_remembered_state, context.expanded_id])\n\n // Gets the initial expanded sate, to prevent the opening and closing of Accordion\n // That happens when if we put this logic in a useEffect that runs after the initial expanded state is set\n // Since useEffect runs after every render\n function getInitialExpandedState() {\n if (props.expanded_ssr || context?.expanded_ssr) {\n return typeof window === 'undefined'\n }\n\n if (props.remember_state || context.remember_state) {\n const storedExpanded = store.getState()\n\n if (props.expanded && storedExpanded === false) {\n return false\n }\n\n if (storedExpanded) {\n return true\n }\n }\n\n return props.expanded !== undefined\n ? props.expanded\n : context?.expanded !== undefined\n ? context.expanded\n : false\n }\n\n function setExpandedState(expanded: boolean) {\n setExpanded(expanded)\n }\n\n function close() {\n changeOpened(false)\n }\n\n function changeOpened(expanded: boolean) {\n setExpanded(expanded)\n\n // check if a event exists, because, then it's a user click\n if (props.remember_state || context.remember_state) {\n store.saveState(expanded)\n }\n }\n\n function handleDisabledClick(e: React.MouseEvent<HTMLElement>) {\n e.preventDefault()\n return false\n }\n\n function callOnChangeHandler(...params: any[]) {\n callOnChange(...params)\n if (context?.onChange) {\n context?.onChange(...params)\n }\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.onChange(...params)\n }\n }\n\n function callOnChange(...params: any[]) {\n const { expanded, event } = params[0]\n\n changeOpened(expanded)\n\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n expanded,\n event,\n })\n }\n\n return (\n <Context.Consumer>\n {(globalContext) => (\n <AccordionContext.Consumer>\n {(nestedContext) => {\n // use only the props from context, who are available here anyway\n let expandedState = expanded\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context, // group context\n nestedContext as Record<string, unknown>, // internal context\n { skeleton: globalContext?.skeleton },\n globalContext.Accordion, // global context\n globalContext.translation['Accordion']\n )\n\n if (expandedState === undefined && globalContext.Accordion) {\n if (globalContext.Accordion.expanded) {\n expandedState = extendedProps.expanded\n }\n }\n\n const {\n variant,\n className,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n single_container,\n remember_state,\n disabled,\n skeleton,\n no_animation,\n expanded_ssr: _expanded_ssr, // eslint-disable-line\n children,\n\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n // expanded: _expanded, // eslint-disable-line\n\n title, // eslint-disable-line\n description, // eslint-disable-line\n left_component, // eslint-disable-line\n icon, // eslint-disable-line\n icon_position, // eslint-disable-line\n icon_size, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n contentRef, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const mainParams = {\n id,\n className: classnames(\n 'dnb-accordion',\n expandedState && 'dnb-accordion--expanded',\n variant && `dnb-accordion__variant--${variant}`,\n prerender && 'dnb-accordion--prerender',\n createSpacingClasses(extendedProps),\n className\n ),\n } as HTMLProps<HTMLDivElement>\n\n if (disabled) {\n mainParams.onClick = handleDisabledClick\n }\n\n // to remove spacing props\n validateDOMAttributes(props, restOfExtendedProps)\n\n const extendedPropsForContext = extendPropsWithContext(\n props,\n accordionDefaultProps,\n { expanded, group },\n context\n )\n\n const accordionContext = {\n ...extendedPropsForContext,\n id,\n expanded: expandedState,\n prerender: prerender,\n prevent_rerender: prevent_rerender,\n prevent_rerender_conditional: prevent_rerender_conditional,\n single_container: single_container,\n remember_state: remember_state,\n disabled: disabled,\n skeleton: skeleton,\n no_animation: no_animation,\n callOnChange: callOnChangeHandler,\n }\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <div {...mainParams}>\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionHeader\n ) ? null : (\n <AccordionHeader />\n )}\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionContent\n ) ? (\n children\n ) : (\n <AccordionContent>{children}</AccordionContent>\n )}\n </div>\n </AccordionContext.Provider>\n )\n }}\n </AccordionContext.Consumer>\n )}\n </Context.Consumer>\n )\n}\n// TEMPORARY SOLUTION (defaultProps will be deprecated at one point). Needs to replacement with default prop parameters for example \"({expanded: null})\"\n// Only solved this way to prevent tests from failing, for when expanded is undefined instead of null\nAccordion.defaultProps = accordionDefaultProps\n\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n expanded_id?: string\n}\n\nconst Group = (props: GroupProps) => {\n if (props.remember_state && !props.id) {\n rememberWarning('accordion group')\n }\n\n const [expandedId, setExpandedId] = useState<string | null>(null)\n\n const instanceIDs = useRef<string[]>([])\n\n const group = props?.id\n ? props.id\n : !props.group\n ? '#' + makeUniqueId()\n : undefined\n\n const store = new Store({ group })\n\n // Set stored expanded_id on mount\n useEffect(() => {\n const storedData = store.getData()\n const currentIDs = instanceIDs?.current\n\n if (!storedData?.id) {\n return\n }\n\n if (currentIDs.includes(storedData?.id)) {\n return\n }\n\n // 1. get the fallback id\n const fallbackId = currentIDs[0]\n\n if (!fallbackId) {\n return\n }\n\n // 2. set the fallback ids\n setExpandedId(fallbackId)\n }, [])\n\n // Store and reset fallback id\n useEffect(() => {\n if (!expandedId) {\n return\n }\n\n // 3. save the fallback id\n store.saveState(true, expandedId)\n\n // 4. and reset the fallback id\n setExpandedId(null)\n }, [expandedId])\n\n function onInit(instance) {\n if (\n instance.props.id &&\n !instanceIDs.current.includes(instance.props.id)\n ) {\n instanceIDs.current.push(instance.props.id)\n }\n }\n\n return (\n <AccordionGroup\n onInit={onInit}\n {...props}\n group={group}\n expanded_id={expandedId || props.expanded_id}\n />\n )\n}\n\nAccordion.Provider = AccordionGroup\nAccordion.Header = AccordionHeader\nAccordion.Content = AccordionContent\n\nAccordion.Group = Group\n\nGroup.Store = (group: string, id: string = null) => {\n return new Store({ group, id })\n}\n\nAccordion.Store = (id: string) => {\n return new Store({ id })\n}\n\nAccordion._supportsSpacingProps = true\n\nexport default Accordion\n"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import type { SpacingProps } from '../space/types';
|
|
7
7
|
import type { HeadingLevel } from '../Heading';
|
|
8
|
-
import type { IconSize } from '../Icon';
|
|
8
|
+
import type { IconIcon, IconSize } from '../Icon';
|
|
9
9
|
import type { SkeletonShow } from '../Skeleton';
|
|
10
10
|
import type { AccordionIcon, AccordionIconPosition, AccordionVariant } from './Accordion';
|
|
11
11
|
export type AccordionHeaderTitleProps = SpacingProps & {
|
|
@@ -20,9 +20,9 @@ export type AccordionHeaderContainerProps = SpacingProps & {
|
|
|
20
20
|
children?: React.ReactNode;
|
|
21
21
|
};
|
|
22
22
|
declare function AccordionHeaderContainer({ children, ...rest }: AccordionHeaderContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
type AccordionHeaderIconIcon =
|
|
24
|
-
closed?:
|
|
25
|
-
expanded?:
|
|
23
|
+
type AccordionHeaderIconIcon = IconIcon | {
|
|
24
|
+
closed?: IconIcon;
|
|
25
|
+
expanded?: IconIcon;
|
|
26
26
|
};
|
|
27
27
|
export type AccordionHeaderIconProps = {
|
|
28
28
|
icon?: AccordionHeaderIconIcon;
|
|
@@ -30,7 +30,7 @@ export type AccordionHeaderIconProps = {
|
|
|
30
30
|
expanded?: boolean;
|
|
31
31
|
icon_position?: AccordionIconPosition;
|
|
32
32
|
};
|
|
33
|
-
declare function AccordionHeaderIcon({ icon, expanded, size, icon_position, }: AccordionHeaderIconProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare function AccordionHeaderIcon({ icon: iconProp, expanded, size, icon_position, }: AccordionHeaderIconProps): import("react/jsx-runtime").JSX.Element;
|
|
34
34
|
export type AccordionHeaderTitle = string | React.ReactNode | ((...args: any[]) => any);
|
|
35
35
|
export type AccordionHeaderDescription = string | React.ReactNode | ((...args: any[]) => any);
|
|
36
36
|
export type AccordionHeaderLeftComponent = string | React.ReactNode | ((...args: any[]) => any);
|
|
@@ -56,16 +56,17 @@ function AccordionHeaderContainer(_ref3) {
|
|
|
56
56
|
}
|
|
57
57
|
function AccordionHeaderIcon(_ref4) {
|
|
58
58
|
let {
|
|
59
|
-
icon,
|
|
59
|
+
icon: iconProp,
|
|
60
60
|
expanded,
|
|
61
61
|
size = 'medium',
|
|
62
62
|
icon_position
|
|
63
63
|
} = _ref4;
|
|
64
|
+
const icon = iconProp && typeof iconProp === 'object' && 'expanded' in iconProp && typeof (iconProp === null || iconProp === void 0 ? void 0 : iconProp.expanded) !== 'undefined' ? iconProp[expanded ? 'expanded' : 'closed'] : iconProp || 'chevron-down';
|
|
64
65
|
return _react.default.createElement("span", {
|
|
65
66
|
className: 'dnb-accordion__header__icon' + (icon_position ? ` dnb-accordion__header__icon--${icon_position}` : "")
|
|
66
67
|
}, _react.default.createElement(_IconPrimary.default, {
|
|
67
68
|
size: size,
|
|
68
|
-
icon: icon
|
|
69
|
+
icon: icon,
|
|
69
70
|
"aria-hidden": true
|
|
70
71
|
}));
|
|
71
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionHeader.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_IconPrimary","_interopRequireDefault","_classnames","_AccordionContext","_SpacingHelper","_SkeletonHelper","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AccordionHeaderTitle","_ref","children","rest","createElement","className","classnames","createSpacingClasses","AccordionHeaderDescription","_ref2","AccordionHeaderContainer","_ref3","AccordionHeaderIcon","_ref4","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","props","isHovering","setIsHovering","useState","hasClicked","setHasClicked","context","useContext","AccordionContext","onKeyDownHandler","event","keyPressed","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","extendPropsWithContext","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","defaultParts","Array","isArray","cur","React","isValidElement","removeParts","part","find","c","type","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","iconIndex","headerParams","role","tabIndex","createSkeletonClass","onClick","onKeyDown","onMouseOver","onMouseOut","skeletonDOMAttributes","validateDOMAttributes","Element","exports","Container","Icon","Title","Description","_supportsSpacingProps","_default"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n AccordionIcon,\n AccordionIconPosition,\n AccordionVariant,\n} from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | React.ReactNode\n | ((...args: any[]) => React.ReactNode)\n | {\n closed?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n expanded?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary\n size={size}\n // There has to be a better way than to do so much casting\n icon={\n icon &&\n typeof icon === 'object' &&\n 'expanded' in icon &&\n typeof icon?.expanded !== 'undefined'\n ? icon[expanded ? 'expanded' : 'closed']\n : (icon as React.ReactNode | ((...args: any[]) => any)) ||\n 'chevron-down'\n }\n aria-hidden\n />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n variant?: AccordionVariant\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n variant,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n variant && `dnb-accordion__header--${variant}`,\n context.expanded && 'dnb-accordion__header--expanded',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering &&\n hasClicked &&\n context.expanded &&\n 'dnb-accordion__header--after-click',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccordionHeader.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_IconPrimary","_interopRequireDefault","_classnames","_AccordionContext","_SpacingHelper","_SkeletonHelper","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AccordionHeaderTitle","_ref","children","rest","createElement","className","classnames","createSpacingClasses","AccordionHeaderDescription","_ref2","AccordionHeaderContainer","_ref3","AccordionHeaderIcon","_ref4","icon","iconProp","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","props","isHovering","setIsHovering","useState","hasClicked","setHasClicked","context","useContext","AccordionContext","onKeyDownHandler","event","keyPressed","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","extendPropsWithContext","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","defaultParts","Array","isArray","cur","React","isValidElement","removeParts","part","find","c","type","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","iconIndex","headerParams","role","tabIndex","createSkeletonClass","onClick","onKeyDown","onMouseOver","onMouseOut","skeletonDOMAttributes","validateDOMAttributes","Element","exports","Container","Icon","Title","Description","_supportsSpacingProps","_default"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n AccordionIcon,\n AccordionIconPosition,\n AccordionVariant,\n} from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | IconIcon\n | {\n closed?: IconIcon\n expanded?: IconIcon\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon: iconProp,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n const icon = (\n iconProp &&\n typeof iconProp === 'object' &&\n 'expanded' in iconProp &&\n typeof iconProp?.expanded !== 'undefined'\n ? iconProp[expanded ? 'expanded' : 'closed']\n : iconProp || 'chevron-down'\n ) as IconIcon\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary size={size} icon={icon} aria-hidden />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n variant?: AccordionVariant\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n variant,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n variant && `dnb-accordion__header--${variant}`,\n context.expanded && 'dnb-accordion__header--expanded',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering &&\n hasClicked &&\n context.expanded &&\n 'dnb-accordion__header--after-click',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
|
|
@@ -27,6 +27,26 @@ export type AnchorProps = {
|
|
|
27
27
|
innerRef?: React.RefObject<HTMLAnchorElement>;
|
|
28
28
|
/** @deprecated use innerRef instead */
|
|
29
29
|
inner_ref?: React.RefObject<HTMLAnchorElement>;
|
|
30
|
+
/**
|
|
31
|
+
* Removes default animation.
|
|
32
|
+
* Default: `false`
|
|
33
|
+
*/
|
|
34
|
+
noAnimation?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Removes default styling.
|
|
37
|
+
* Default: `false`
|
|
38
|
+
*/
|
|
39
|
+
noStyle?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Removes default hover style.
|
|
42
|
+
* Default: `false`
|
|
43
|
+
*/
|
|
44
|
+
noHover?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Removes underline.
|
|
47
|
+
* Default: `false`
|
|
48
|
+
*/
|
|
49
|
+
noUnderline?: boolean;
|
|
30
50
|
};
|
|
31
51
|
export type AnchorAllProps = AnchorProps & Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> & SpacingProps;
|
|
32
52
|
export declare function AnchorInstance(localProps: AnchorAllProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -19,12 +19,17 @@ var _IconPrimary2 = _interopRequireDefault(require("../icon-primary/IconPrimary"
|
|
|
19
19
|
var _Tooltip = _interopRequireDefault(require("../tooltip/Tooltip"));
|
|
20
20
|
var _icons = require("../../icons");
|
|
21
21
|
var _IconPrimary;
|
|
22
|
-
const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle"];
|
|
22
|
+
const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle", "noAnimation", "noHover", "noStyle", "noUnderline"];
|
|
23
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
24
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
25
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
26
26
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
27
|
-
const defaultProps = {
|
|
27
|
+
const defaultProps = {
|
|
28
|
+
noAnimation: false,
|
|
29
|
+
noStyle: false,
|
|
30
|
+
noHover: false,
|
|
31
|
+
noUnderline: false
|
|
32
|
+
};
|
|
28
33
|
function AnchorInstance(localProps) {
|
|
29
34
|
const context = _react.default.useContext(_Context.default);
|
|
30
35
|
const allProps = (0, _componentHelper.extendPropsWithContext)(localProps, defaultProps, {
|
|
@@ -47,7 +52,11 @@ function AnchorInstance(localProps) {
|
|
|
47
52
|
iconPosition = 'left',
|
|
48
53
|
omitClass,
|
|
49
54
|
innerRef,
|
|
50
|
-
targetBlankTitle
|
|
55
|
+
targetBlankTitle,
|
|
56
|
+
noAnimation,
|
|
57
|
+
noHover,
|
|
58
|
+
noStyle,
|
|
59
|
+
noUnderline
|
|
51
60
|
} = allProps,
|
|
52
61
|
rest = _objectWithoutProperties(allProps, _excluded);
|
|
53
62
|
const attributes = rest;
|
|
@@ -66,7 +75,7 @@ function AnchorInstance(localProps) {
|
|
|
66
75
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Element.default, _extends({
|
|
67
76
|
as: as,
|
|
68
77
|
id: id,
|
|
69
|
-
className: (0, _classnames.default)(className, omitClass !== true && (0, _classnames.default)('dnb-anchor', prefix && 'dnb-anchor--icon-left', suffix && 'dnb-anchor--icon-right', typeof children !== 'string' && 'dnb-anchor--was-node'))
|
|
78
|
+
className: (0, _classnames.default)(className, omitClass !== true && (0, _classnames.default)('dnb-anchor', prefix && 'dnb-anchor--icon-left', suffix && 'dnb-anchor--icon-right', typeof children !== 'string' && 'dnb-anchor--was-node', noAnimation && 'dnb-anchor--no-animation', noHover && 'dnb-anchor--no-hover', noStyle && 'dnb-anchor--no-style', noUnderline && 'dnb-anchor--no-underline'))
|
|
70
79
|
}, attributes, {
|
|
71
80
|
innerRef: innerRef
|
|
72
81
|
}), prefix, children, suffix), showTooltip && _react.default.createElement(_Tooltip.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Anchor.js","names":["_react","_interopRequireDefault","require","_classnames","_Element","_Context","_componentHelper","_helpers","_IconPrimary2","_Tooltip","_icons","_IconPrimary","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","AnchorInstance","localProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","attributes","internalId","makeUniqueId","as","href","to","_opensNewTab","opensNewTab","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","createElement","launchIcon","prefix","Fragment","classnames","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","_default","exports","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","scrollToHash","hash","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","getOffsetTop","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\n// Local type for react-router-dom link with only the necessary props. Done this way to prevent react-router-dom dependency.\ntype ReactRouterLink = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href'\n> & {\n to: string | { pathname?: string; search?: string; has?: string }\n}\n\nexport type AnchorProps = {\n element?:\n | DynamicElement<HTMLAnchorElement | AnchorAllProps>\n | React.ForwardRefExoticComponent<\n ReactRouterLink & React.RefAttributes<HTMLAnchorElement>\n >\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n return scrollToHash(href)\n }\n}\n\nexport function scrollToHash(hash: string) {\n if (typeof document === 'undefined' || !hash || !hash.includes('#')) {\n return // stop here\n }\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n const id = hash.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement).scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon, className?: string) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, className),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Anchor.js","names":["_react","_interopRequireDefault","require","_classnames","_Element","_Context","_componentHelper","_helpers","_IconPrimary2","_Tooltip","_icons","_IconPrimary","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","noAnimation","noStyle","noHover","noUnderline","AnchorInstance","localProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","attributes","internalId","makeUniqueId","as","href","to","_opensNewTab","opensNewTab","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","createElement","launchIcon","prefix","Fragment","classnames","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","_default","exports","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","scrollToHash","hash","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","getOffsetTop","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\n// Local type for react-router-dom link with only the necessary props. Done this way to prevent react-router-dom dependency.\ntype ReactRouterLink = Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href'\n> & {\n to: string | { pathname?: string; search?: string; has?: string }\n}\n\nexport type AnchorProps = {\n element?:\n | DynamicElement<HTMLAnchorElement | AnchorAllProps>\n | React.ForwardRefExoticComponent<\n ReactRouterLink & React.RefAttributes<HTMLAnchorElement>\n >\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n /**\n * Removes default animation.\n * Default: `false`\n */\n noAnimation?: boolean\n /**\n * Removes default styling.\n * Default: `false`\n */\n noStyle?: boolean\n /**\n * Removes default hover style.\n * Default: `false`\n */\n noHover?: boolean\n /**\n * Removes underline.\n * Default: `false`\n */\n noUnderline?: boolean\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {\n noAnimation: false,\n noStyle: false,\n noHover: false,\n noUnderline: false,\n}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n noAnimation,\n noHover,\n noStyle,\n noUnderline,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n noAnimation && 'dnb-anchor--no-animation',\n noHover && 'dnb-anchor--no-hover',\n noStyle && 'dnb-anchor--no-style',\n noUnderline && 'dnb-anchor--no-underline'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n return scrollToHash(href)\n }\n}\n\nexport function scrollToHash(hash: string) {\n if (typeof document === 'undefined' || !hash || !hash.includes('#')) {\n return // stop here\n }\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n const id = hash.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement).scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon, className?: string) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, className),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
|