@dnb/eufemia 10.35.0 → 10.37.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 +40 -0
- package/cjs/components/accordion/Accordion.d.ts +15 -3
- package/cjs/components/accordion/Accordion.js +7 -0
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.d.ts +4 -0
- package/cjs/components/accordion/AccordionDocs.js +161 -0
- package/cjs/components/accordion/AccordionDocs.js.map +1 -0
- package/cjs/components/accordion/AccordionGroup.js +13 -3
- package/cjs/components/accordion/AccordionGroup.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/accordion/AccordionProviderContext.d.ts +2 -0
- package/cjs/components/accordion/AccordionProviderContext.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 +18 -4
- 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 +10 -9
- 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/Value/Date/Date.d.ts +5 -1
- package/cjs/extensions/forms/Value/Date/Date.js +26 -3
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.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/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.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 +15 -3
- package/components/accordion/Accordion.js +7 -0
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionDocs.d.ts +4 -0
- package/components/accordion/AccordionDocs.js +152 -0
- package/components/accordion/AccordionDocs.js.map +1 -0
- package/components/accordion/AccordionGroup.js +14 -4
- package/components/accordion/AccordionGroup.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/accordion/AccordionProviderContext.d.ts +2 -0
- package/components/accordion/AccordionProviderContext.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 +19 -5
- 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 +11 -10
- 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 +15 -3
- package/es/components/accordion/Accordion.js +7 -0
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionDocs.d.ts +4 -0
- package/es/components/accordion/AccordionDocs.js +152 -0
- package/es/components/accordion/AccordionDocs.js.map +1 -0
- package/es/components/accordion/AccordionGroup.js +14 -4
- package/es/components/accordion/AccordionGroup.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/accordion/AccordionProviderContext.d.ts +2 -0
- package/es/components/accordion/AccordionProviderContext.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 +19 -5
- 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 +11 -10
- 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/Value/Date/Date.d.ts +5 -1
- package/es/extensions/forms/Value/Date/Date.js +25 -3
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Value/Date/DateDocs.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/shared/component-helper.js +1 -1
- package/es/shared/component-helper.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/Value/Date/Date.d.ts +5 -1
- package/extensions/forms/Value/Date/Date.js +25 -3
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/extensions/forms/Value/Date/DateDocs.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/shared/component-helper.js +1 -1
- package/shared/component-helper.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","_ref4","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"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","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","_ref4","icon","iconProp","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"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":";;;;;;;;;;;AAKA,OAAOA,KAAK,IAAeC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAG9D,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,+BAA+B;AACtC,OAAOC,WAAW,MAAM,6BAA6B;AACrD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,4BAA4B;AAenC,SAASC,oBAAoBA,CAAAC,IAAA,EAGC;EAAA,IAHA;MAC5BC,QAAQ,GAAG;IAEc,CAAC,GAAAD,IAAA;IADvBE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAEP,OACEhB,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAEZ,UAAU,CACnB,8BAA8B,EAC9BE,oBAAoB,CAACM,IAAI,CAC3B;EAAE,GAEDD,QACG,CAAC;AAEX;AAMA,SAASM,0BAA0BA,CAAAC,KAAA,EAGC;EAAA,IAHA;MAClCP,QAAQ,GAAG;IAEoB,CAAC,GAAAO,KAAA;IAD7BN,IAAI,GAAAC,wBAAA,CAAAK,KAAA,EAAAC,UAAA;EAEP,OAAOR,QAAQ,GACbb,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAEZ,UAAU,CACnB,oCAAoC,EACpCE,oBAAoB,CAACM,IAAI,CAC3B;EAAE,GAEDD,QACG,CAAC,GACL,IAAI;AACV;AAMA,SAASS,wBAAwBA,CAAAC,KAAA,EAGC;EAAA,IAHA;MAChCV,QAAQ,GAAG;IAEkB,CAAC,GAAAU,KAAA;IAD3BT,IAAI,GAAAC,wBAAA,CAAAQ,KAAA,EAAAC,UAAA;EAEP,OAAOX,QAAQ,GACbb,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAEZ,UAAU,CACnB,kCAAkC,EAClCE,oBAAoB,CAACM,IAAI,CAC3B;EAAE,GAEDD,QACG,CAAC,GACL,IAAI;AACV;AAgBA,SAASY,mBAAmBA,CAAAC,KAAA,EAKC;EAAA,IALA;IAC3BC,IAAI,EAAEC,QAAQ;IACdC,QAAQ;IACRC,IAAI,GAAG,QAAQ;IACfC;EACwB,CAAC,GAAAL,KAAA;EACzB,MAAMC,IAAI,GACRC,QAAQ,IACR,OAAOA,QAAQ,KAAK,QAAQ,IAC5B,UAAU,IAAIA,QAAQ,IACtB,QAAOA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,QAAQ,MAAK,WAAW,GACrCD,QAAQ,CAACC,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC,GAC1CD,QAAQ,IAAI,cACL;EACb,OACE5B,KAAA,CAAAiB,aAAA;IACEC,SAAS,EACP,6BAA6B,IAC7Ba,aAAa,oCAAoCA,aAAc;EAC/D,GAEF/B,KAAA,CAAAiB,aAAA,CAACZ,WAAW;IAACyB,IAAI,EAAEA,IAAK;IAACH,IAAI,EAAEA,IAAK;IAAC;EAAW,CAAE,CAC9C,CAAC;AAEX;AAmDA,MAAMK,2BAA2B,GAAG;EAClCC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGC,KAAA,IAGH;EAAA,IAHI;MAC9BF,SAAS,EAAEG,iBAAiB,GAAG;IAEX,CAAC,GAAAD,KAAA;IADlBE,WAAW,GAAAtB,wBAAA,CAAAoB,KAAA,EAAAG,UAAA;EAEd,MAAMC,KAAK,GAAAC,aAAA;IAAKP,SAAS,EAAEG;EAAiB,GAAKC,WAAW,CAAE;EAE9D,MAAM,CAACI,UAAU,EAAEC,aAAa,CAAC,GAAGxC,QAAQ,CAAU,KAAK,CAAC;EAC5D,MAAM,CAACyC,UAAU,EAAEC,aAAa,CAAC,GAAG1C,QAAQ,CAAU,KAAK,CAAC;EAE5D,MAAM2C,OAAO,GAAG5C,UAAU,CAACM,gBAAgB,CAAC;EAE5C,SAASuC,gBAAgBA,CAACC,KAAuC,EAAE;IACjE,MAAMC,UAAU,GAAGD,KAAK,CAACE,GAAG;IAE5B,IAAID,UAAU,KAAK,OAAO,IAAIA,UAAU,KAAK,GAAG,EAAE;MAChDD,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBC,cAAc,CAACJ,KAAK,CAAC;IACvB;EACF;EAEA,SAASI,cAAcA,CACrBJ,KAAuE,EACvE;IACA,MAAM;MAAEK,EAAE;MAAEC;IAAM,CAAC,GAAGR,OAAO;IAE7B,IAAIS,QAAQ,CAAC,CAAC,EAAE;MACd,MAAMzB,QAAQ,GAAG,CAACgB,OAAO,CAAChB,QAAQ;MAClCgB,OAAO,CAACU,YAAY,CAAC;QAAEH,EAAE;QAAEC,KAAK;QAAExB,QAAQ;QAAEkB;MAAM,CAAC,CAAC;MAEpDH,aAAa,CAAC,IAAI,CAAC;IACrB;EACF;EAEA,SAASY,kBAAkBA,CAAA,EAAG;IAC5Bd,aAAa,CAAC,IAAI,CAAC;EACrB;EAEA,SAASe,iBAAiBA,CAAA,EAAG;IAC3Bf,aAAa,CAAC,KAAK,CAAC;IACpBE,aAAa,CAAC,KAAK,CAAC;EACtB;EAEA,SAASU,QAAQA,CAAA,EAAG;IAClB,MAAM;MAAEzB,QAAQ;MAAE6B,eAAe;MAAEL;IAAM,CAAC,GAAGR,OAAO;IACpD,OAAO,CAACQ,KAAK,IAAKA,KAAK,IAAI,CAACxB,QAAS,IAAI6B,eAAe;EAC1D;EAEA,MAAMC,aAAa,GAAGvD,sBAAsB,CAC1CmC,KAAK,EACLP,2BAA2B,EAC3Ba,OACF,CAAC;EAED,MAAM;IACJO,EAAE;IAGFQ,cAAc;IACd/B,QAAQ;IACRgC,KAAK;IACLC,WAAW;IACXC,OAAO;IACPC,OAAO;IACPC,aAAa;IACbtC,IAAI;IACJM,SAAS;IACTiC,QAAQ;IACRC,QAAQ;IACRC,YAAY;IACZC;EACF,CAAC,GAAGV,aAAa;EAEjB,IAAI;IAAE5B;EAAc,CAAC,GAAG4B,aAAa;EAErC,MAAM;MACJ9C,QAAQ;MACRK,SAAS;MAGT0C,cAAc,EAAEU,eAAe;MAC/BzC,QAAQ,EAAE0C,SAAS;MACnBV,KAAK,EAAEW,MAAM;MACbV,WAAW,EAAEW,YAAY;MACzB9C,IAAI,EAAE+C,KAAK;MACXzC,SAAS,EAAE0C,UAAU;MACrBT,QAAQ,EAAEU;IAGZ,CAAC,GAAGrC,KAAK;IADJzB,IAAI,GAAAC,wBAAA,CACLwB,KAAK,EAAAsC,UAAA;EAET,MAAMC,YAAY,GAAG,CACnB9E,KAAA,CAAAiB,aAAA,CAACQ,mBAAmB;IAClBwB,GAAG,EAAC,MAAM;IACVtB,IAAI,EAAEA,IAAK;IACXG,IAAI,EAAEG,SAAU;IAChBJ,QAAQ,EAAEgB,OAAO,CAAChB,QAAS;IAC3BE,aAAa,EAAEA;EAAc,CAC9B,CAAC,EACF/B,KAAA,CAAAiB,aAAA,CAACK,wBAAwB;IAAC2B,GAAG,EAAC;EAAW,GACtCW,cACuB,CAAC,EAC3B5D,KAAA,CAAAiB,aAAA,CAACN,oBAAoB;IAACsC,GAAG,EAAC;EAAO,GAC9BY,KAAK,KACHkB,KAAK,CAACC,OAAO,CAACnE,QAAQ,CAAC,GACpBA,QAAQ,CAACoE,MAAM,CAAEC,GAAG,IAAK,CAAClF,KAAK,CAACmF,cAAc,CAACD,GAAG,CAAC,CAAC,GACpDrE,QAAQ,CACM,CAAC,EACvBb,KAAA,CAAAiB,aAAA,CAACE,0BAA0B;IAAC8B,GAAG,EAAC;EAAa,GAC1Ca,WACyB,CAAC,CAC9B;EAED,IAAIiB,KAAK,CAACC,OAAO,CAACnE,QAAQ,CAAC,EAAE;IAC3B,MAAMuE,WAAW,GAAG,EAAE;IACtBvE,QAAQ,CAACwE,OAAO,CAAEH,GAAG,IAAK;MACxB,IAAIlF,KAAK,CAACmF,cAAc,CAACD,GAAG,CAAC,EAAE;QAC7B,MAAMI,IAAI,GAAGR,YAAY,CAACS,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKP,GAAG,CAACO,IAAI,CAAC;QAC1D,IAAIH,IAAI,EAAE;UACRF,WAAW,CAACM,IAAI,CAACJ,IAAI,CAAC;QACxB;QAQAR,YAAY,CAACY,IAAI,CAACR,GAAG,CAAC;MACxB;IACF,CAAC,CAAC;IACFE,WAAW,CAACC,OAAO,CAAEC,IAAI,IAAK;MAC5B,MAAMK,KAAK,GAAGb,YAAY,CAACc,SAAS,CAAEJ,CAAC,IAAKA,CAAC,KAAKF,IAAI,CAAC;MACvD,IAAIK,KAAK,GAAG,CAAC,CAAC,EAAE;QACdb,YAAY,CAACe,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAC/B;IACF,CAAC,CAAC;EACJ;EAEA,MAAMG,aAAa,GAAG,EAAE;EACxB,MAAMC,YAAY,GAAG,EAAE;EACvB,MAAMC,WAAW,GACfhG,KAAA,CAAAiB,aAAA;IAAMC,SAAS,EAAC,gCAAgC;IAAC+B,GAAG,EAAC;EAAS,GAC3D8C,YACG,CACP;EAEDjB,YAAY,CAACO,OAAO,CAAEC,IAAI,IAAK;IAC7B,IACEtF,KAAK,CAACmF,cAAc,CAACG,IAAI,CAAC,KACzBA,IAAI,CAACG,IAAI,KAAK9E,oBAAoB,IACjC2E,IAAI,CAACG,IAAI,KAAKtE,0BAA0B,CAAC,EAC3C;MACA4E,YAAY,CAACL,IAAI,CAACJ,IAAI,CAAC;MACvB,IAAIQ,aAAa,CAACF,SAAS,CAAEJ,CAAC,IAAKA,CAAC,KAAKQ,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;QAC5DF,aAAa,CAACJ,IAAI,CAACM,WAAW,CAAC;MACjC;IACF,CAAC,MAAM;MACLF,aAAa,CAACJ,IAAI,CAACJ,IAAI,CAAC;IAC1B;EACF,CAAC,CAAC;EAGF,IAAIvD,aAAa,KAAKkE,SAAS,EAAE;IAC/B,MAAMC,SAAS,GAAGJ,aAAa,CAACF,SAAS,CACtCJ,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKhE,mBACpB,CAAC;IAED,IAAIyE,SAAS,GAAG,CAAC,EAAE;MACjBnE,aAAa,GAAG,OAAO;IACzB;IAEA,IAAI6B,cAAc,EAAE;MAClB7B,aAAa,GAAG,OAAO;IACzB;EACF;EAEA,MAAMoE,YAAY,GAAA3D,aAAA;IAChBY,EAAE,EAAG,GAAEA,EAAG,SAAQ;IAClB,eAAe,EAAG,GAAEA,EAAG,UAAS;IAChC,eAAe,EAAEP,OAAO,CAAChB,QAAQ;IACjCuE,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXnF,SAAS,EAAEZ,UAAU,CACnB,uBAAuB,EAWvBI,mBAAmB,CAAC,MAAM,EAAEyD,QAAQ,EAAEtB,OAAO,CAAC,EAC9CrC,oBAAoB,CAACM,IAAI,CAAC,EAC1BI,SAAS,EAXT2B,OAAO,CAAChB,QAAQ,IAAI,iCAAiC,IAErDY,UAAU,IACRE,UAAU,gDAJZ0B,OAAO,IAAK,0BAAyBA,OAAQ,EAAC,EAE9CtC,aAAa,IAAK,+BAA8BA,aAAc,EAAC,EAK/D,CAACuB,QAAQ,CAAC,CAAC,IAAI,sCAAsC,EACrDQ,WAAW,IAAI,oCAAoC,EACnDM,YAAY,IAAI,qCAIlB,CAAC;IACDF;EAAQ,GACLpD,IAAI,CACyB;EAElC,IAAIoD,QAAQ,IAAIC,QAAQ,EAAE;IACxBgC,YAAY,CAACE,QAAQ,GAAG,CAAC,CAAC;IAC1BF,YAAY,CAACjC,QAAQ,GAAG,IAAI;IAC5BiC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI;EACtC,CAAC,MAAM;IACLA,YAAY,CAACG,OAAO,GAAGnD,cAAc;IACrCgD,YAAY,CAACI,SAAS,GAAGzD,gBAAgB;IACzCqD,YAAY,CAACK,WAAW,GAAGhD,kBAAkB;IAC7C2C,YAAY,CAACM,UAAU,GAAGhD,iBAAiB;EAC7C;EAEAhD,qBAAqB,CAAC0F,YAAY,EAAEhC,QAAQ,EAAEtB,OAAO,CAAC;EAEtD1C,qBAAqB,CAACoC,KAAK,EAAE4D,YAAY,CAAC;EAE1C,IAAIO,OAAO,GAAG,KAAK;EAGnB,IAAI1C,OAAO,KAAK2C,MAAM,CAAC3C,OAAO,CAAC,KAAK,MAAM,IAAI2C,MAAM,CAAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;IACtEmC,YAAY,CAACC,IAAI,GAAG,SAAS;IAC7BD,YAAY,CAAC,YAAY,CAAC,GAAGlC,aAAa,GAAG2C,MAAM,CAAC3C,aAAa,CAAC,GAAG,CAAC;EACxE,CAAC,MAAM,IAAID,OAAO,EAAE;IAClBmC,YAAY,CAACC,IAAI,GAAG,IAAI;IACxBM,OAAO,GAAG1C,OAAiB;EAC7B,CAAC,MAAM,IAAID,OAAO,EAAE;IAClBoC,YAAY,CAACC,IAAI,GAAG,IAAI;IACxBM,OAAO,GAAG3C,OAAiB;EAC7B;EAEA,OAAO/D,KAAA,CAAAiB,aAAA,CAACyF,OAAO,EAAKP,YAAY,EAAGL,aAAuB,CAAC;AAC7D,CAAC;AAED5D,eAAe,CAAC2E,SAAS,GAAGvF,wBAAwB;AACpDY,eAAe,CAAC4E,IAAI,GAAGrF,mBAAmB;AAC1CS,eAAe,CAAC6E,KAAK,GAAGpG,oBAAoB;AAC5CuB,eAAe,CAAC8E,WAAW,GAAG7F,0BAA0B;AAExDe,eAAe,CAAC+E,qBAAqB,GAAG,IAAI;AAE5C,eAAe/E,eAAe"}
|
|
@@ -12,6 +12,8 @@ type AccordionGroupContextProps = {
|
|
|
12
12
|
expanded_id?: string;
|
|
13
13
|
onChange?: (...params: unknown[]) => void;
|
|
14
14
|
onInit?: (...args: any[]) => any;
|
|
15
|
+
collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>;
|
|
16
|
+
collapseAllHandleRef?: React.MutableRefObject<() => void>;
|
|
15
17
|
};
|
|
16
18
|
declare const AccordionGroupContext: React.Context<AccordionGroupContextProps>;
|
|
17
19
|
export default AccordionGroupContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({})\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({})\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAezB,MAAMC,qBAAqB,GACzBD,KAAK,CAACE,aAAa,CAA6B,CAAC,CAAC,CAAC;AAErD,eAAeD,qBAAqB"}
|
|
@@ -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;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
var _IconPrimary;
|
|
6
|
-
const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle"];
|
|
6
|
+
const _excluded = ["id", "element", "className", "children", "tooltip", "icon", "iconPosition", "omitClass", "innerRef", "targetBlankTitle", "noAnimation", "noHover", "noStyle", "noUnderline"];
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import classnames from 'classnames';
|
|
9
9
|
import E from '../../elements/Element';
|
|
@@ -13,7 +13,12 @@ import { getOffsetTop } from '../../shared/helpers';
|
|
|
13
13
|
import IconPrimary from '../icon-primary/IconPrimary';
|
|
14
14
|
import Tooltip from '../tooltip/Tooltip';
|
|
15
15
|
import { launch as launchIcon } from '../../icons';
|
|
16
|
-
const defaultProps = {
|
|
16
|
+
const defaultProps = {
|
|
17
|
+
noAnimation: false,
|
|
18
|
+
noStyle: false,
|
|
19
|
+
noHover: false,
|
|
20
|
+
noUnderline: false
|
|
21
|
+
};
|
|
17
22
|
export function AnchorInstance(localProps) {
|
|
18
23
|
const context = React.useContext(Context);
|
|
19
24
|
const allProps = extendPropsWithContext(localProps, defaultProps, {
|
|
@@ -36,7 +41,11 @@ export function AnchorInstance(localProps) {
|
|
|
36
41
|
iconPosition = 'left',
|
|
37
42
|
omitClass,
|
|
38
43
|
innerRef,
|
|
39
|
-
targetBlankTitle
|
|
44
|
+
targetBlankTitle,
|
|
45
|
+
noAnimation,
|
|
46
|
+
noHover,
|
|
47
|
+
noStyle,
|
|
48
|
+
noUnderline
|
|
40
49
|
} = allProps,
|
|
41
50
|
rest = _objectWithoutProperties(allProps, _excluded);
|
|
42
51
|
const attributes = rest;
|
|
@@ -55,7 +64,7 @@ export function AnchorInstance(localProps) {
|
|
|
55
64
|
return React.createElement(React.Fragment, null, React.createElement(E, _extends({
|
|
56
65
|
as: as,
|
|
57
66
|
id: id,
|
|
58
|
-
className: classnames(className, omitClass !== true && classnames('dnb-anchor', prefix && 'dnb-anchor--icon-left', suffix && 'dnb-anchor--icon-right', typeof children !== 'string' && 'dnb-anchor--was-node'))
|
|
67
|
+
className: classnames(className, omitClass !== true && classnames('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'))
|
|
59
68
|
}, attributes, {
|
|
60
69
|
innerRef: innerRef
|
|
61
70
|
}), prefix, children, suffix), showTooltip && React.createElement(Tooltip, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","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","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","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","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","noAnimation","noStyle","noHover","noUnderline","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","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","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","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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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const AnchorProperties = {
|
|
2
|
+
element: {
|
|
3
|
+
doc: 'Define what HTML or React element should be used (e.g. `element={Link}`). Defaults to semantic `a` element.',
|
|
4
|
+
type: 'React.Element',
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
href: {
|
|
8
|
+
doc: 'Relative or absolute url.',
|
|
9
|
+
type: 'string',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
},
|
|
12
|
+
to: {
|
|
13
|
+
doc: 'Use this prop only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',
|
|
14
|
+
type: 'string',
|
|
15
|
+
status: 'optional'
|
|
16
|
+
},
|
|
17
|
+
target: {
|
|
18
|
+
doc: 'Defines the opening method. Use `_blank` to open a new browser window/tab.',
|
|
19
|
+
type: 'string',
|
|
20
|
+
status: 'optional'
|
|
21
|
+
},
|
|
22
|
+
targetBlankTitle: {
|
|
23
|
+
doc: 'The title shown as a tooltip when target is set to `_blank`.',
|
|
24
|
+
type: 'string',
|
|
25
|
+
status: 'optional'
|
|
26
|
+
},
|
|
27
|
+
tooltip: {
|
|
28
|
+
doc: 'Provide a string or a React Element to be shown as the tooltip content.',
|
|
29
|
+
type: 'string',
|
|
30
|
+
status: 'optional'
|
|
31
|
+
},
|
|
32
|
+
icon: {
|
|
33
|
+
doc: '[Primary Icons](/icons/primary) can be set as a string (e.g. icon="chevron_right"), other icons should be set as React elements.',
|
|
34
|
+
type: 'React.Node',
|
|
35
|
+
status: 'optional'
|
|
36
|
+
},
|
|
37
|
+
iconPosition: {
|
|
38
|
+
doc: '`left` (default) or `right`. Places icon to the left or to the right of the text.',
|
|
39
|
+
type: 'string',
|
|
40
|
+
status: 'optional'
|
|
41
|
+
},
|
|
42
|
+
noAnimation: {
|
|
43
|
+
doc: 'Removes animations if set to `true`. Defaults to `false`.',
|
|
44
|
+
type: 'boolean',
|
|
45
|
+
status: 'optional'
|
|
46
|
+
},
|
|
47
|
+
noHover: {
|
|
48
|
+
doc: 'Removes hover effects if set to `true`. Defaults to `false`.',
|
|
49
|
+
type: 'boolean',
|
|
50
|
+
status: 'optional'
|
|
51
|
+
},
|
|
52
|
+
noStyle: {
|
|
53
|
+
doc: 'Removes styling if set to `true`. Defaults to `false`.',
|
|
54
|
+
type: 'boolean',
|
|
55
|
+
status: 'optional'
|
|
56
|
+
},
|
|
57
|
+
noUnderline: {
|
|
58
|
+
doc: 'Removes underline if set to `true`. Defaults to `false`.',
|
|
59
|
+
type: 'boolean',
|
|
60
|
+
status: 'optional'
|
|
61
|
+
},
|
|
62
|
+
skeleton: {
|
|
63
|
+
doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
|
|
64
|
+
type: 'boolean',
|
|
65
|
+
status: 'optional'
|
|
66
|
+
},
|
|
67
|
+
'[Space](/uilib/layout/space/properties)': {
|
|
68
|
+
doc: 'Spacing properties like `top` or `bottom` are supported.',
|
|
69
|
+
type: ['string', 'object'],
|
|
70
|
+
status: 'optional'
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
export const AnchorEvents = {};
|
|
74
|
+
//# sourceMappingURL=AnchorDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnchorDocs.js","names":["AnchorProperties","element","doc","type","status","href","to","target","targetBlankTitle","tooltip","icon","iconPosition","noAnimation","noHover","noStyle","noUnderline","skeleton","AnchorEvents"],"sources":["../../../../src/components/anchor/AnchorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const AnchorProperties: PropertiesTableProps = {\n element: {\n doc: 'Define what HTML or React element should be used (e.g. `element={Link}`). Defaults to semantic `a` element.',\n type: 'React.Element',\n status: 'optional',\n },\n href: {\n doc: 'Relative or absolute url.',\n type: 'string',\n status: 'optional',\n },\n to: {\n doc: 'Use this prop only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',\n type: 'string',\n status: 'optional',\n },\n target: {\n doc: 'Defines the opening method. Use `_blank` to open a new browser window/tab.',\n type: 'string',\n status: 'optional',\n },\n targetBlankTitle: {\n doc: 'The title shown as a tooltip when target is set to `_blank`.',\n type: 'string',\n status: 'optional',\n },\n tooltip: {\n doc: 'Provide a string or a React Element to be shown as the tooltip content.',\n type: 'string',\n status: 'optional',\n },\n icon: {\n doc: '[Primary Icons](/icons/primary) can be set as a string (e.g. icon=\"chevron_right\"), other icons should be set as React elements.',\n type: 'React.Node',\n status: 'optional',\n },\n iconPosition: {\n doc: '`left` (default) or `right`. Places icon to the left or to the right of the text.',\n type: 'string',\n status: 'optional',\n },\n noAnimation: {\n doc: 'Removes animations if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noHover: {\n doc: 'Removes hover effects if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noStyle: {\n doc: 'Removes styling if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n noUnderline: {\n doc: 'Removes underline if set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AnchorEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,EAAE,EAAE;IACFJ,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,4EAA4E;IACjFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,gBAAgB,EAAE;IAChBN,GAAG,EAAE,8DAA8D;IACnEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACPP,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,IAAI,EAAE;IACJR,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,YAAY,EAAE;IACZT,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,WAAW,EAAE;IACXV,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,8DAA8D;IACnEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,WAAW,EAAE;IACXb,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,QAAQ,EAAE;IACRd,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMa,YAAkC,GAAG,CAAC,CAAC"}
|
|
@@ -25,7 +25,7 @@ import ProgressIndicator from '../progress-indicator/ProgressIndicator';
|
|
|
25
25
|
import DrawerList, { ItemContent } from '../../fragments/drawer-list/DrawerList';
|
|
26
26
|
import DrawerListContext from '../../fragments/drawer-list/DrawerListContext';
|
|
27
27
|
import DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider';
|
|
28
|
-
import { drawerListPropTypes, parseContentTitle, getCurrentData, getCurrentIndex } from '../../fragments/drawer-list/DrawerListHelpers';
|
|
28
|
+
import { drawerListPropTypes, parseContentTitle, getCurrentData, getCurrentIndex, normalizeData } from '../../fragments/drawer-list/DrawerListHelpers';
|
|
29
29
|
export default class Autocomplete extends React.PureComponent {
|
|
30
30
|
constructor(props) {
|
|
31
31
|
super(props);
|
|
@@ -239,11 +239,25 @@ class AutocompleteInstance extends React.PureComponent {
|
|
|
239
239
|
}
|
|
240
240
|
static getDerivedStateFromProps(props, state) {
|
|
241
241
|
if (state._listenForPropChanges) {
|
|
242
|
-
var _props$input_value;
|
|
242
|
+
var _props$input_value, _props$data, _state$prevData;
|
|
243
243
|
state.disableHighlighting = isTrue(props.disable_highlighting);
|
|
244
|
-
if (props.input_value !== 'initval' &&
|
|
244
|
+
if (props.input_value !== 'initval' && ((_props$input_value = props.input_value) === null || _props$input_value === void 0 ? void 0 : _props$input_value.length) > 0) {
|
|
245
245
|
state.inputValue = props.input_value;
|
|
246
246
|
}
|
|
247
|
+
if ((props === null || props === void 0 ? void 0 : (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) > 0 && (state === null || state === void 0 ? void 0 : (_state$prevData = state.prevData) === null || _state$prevData === void 0 ? void 0 : _state$prevData.length) === 0) {
|
|
248
|
+
let selectedItem = state.selected_item;
|
|
249
|
+
if (props.default_value) {
|
|
250
|
+
selectedItem = props.default_value;
|
|
251
|
+
}
|
|
252
|
+
if (!props.default_value && props.value && props.value !== 'initval') {
|
|
253
|
+
selectedItem = props.value;
|
|
254
|
+
}
|
|
255
|
+
const currentData = getCurrentData(selectedItem, normalizeData(props.data));
|
|
256
|
+
state.inputValue = parseContentTitle(currentData, {
|
|
257
|
+
separator: ' ',
|
|
258
|
+
preferSelectedValue: true
|
|
259
|
+
});
|
|
260
|
+
}
|
|
247
261
|
if (props.data !== state.prevData) {
|
|
248
262
|
state.updateData(props.data);
|
|
249
263
|
state.prevData = props.data;
|
|
@@ -1241,7 +1255,7 @@ class AutocompleteInstance extends React.PureComponent {
|
|
|
1241
1255
|
const currentDataItem = getCurrentData(active_item, this.context.drawerList.data);
|
|
1242
1256
|
return React.createElement(AriaLive, {
|
|
1243
1257
|
hidden: !IS_MAC,
|
|
1244
|
-
priority: "
|
|
1258
|
+
priority: "high",
|
|
1245
1259
|
delay: 0
|
|
1246
1260
|
}, currentDataItem && React.createElement(React.Fragment, null, active_item === selected_item ? React.createElement(React.Fragment, null, selected_sr, " ") : null, React.createElement(ItemContent, null, currentDataItem)));
|
|
1247
1261
|
}
|
|
@@ -1493,7 +1507,7 @@ class AutocompleteInstance extends React.PureComponent {
|
|
|
1493
1507
|
id: id + '-suffix',
|
|
1494
1508
|
context: props
|
|
1495
1509
|
}, suffix))), this.getVoiceOverActiveItem(selected_sr), React.createElement(AriaLive, {
|
|
1496
|
-
priority: "
|
|
1510
|
+
priority: "high"
|
|
1497
1511
|
}, this.getAriaLiveUpdate()));
|
|
1498
1512
|
}
|
|
1499
1513
|
}
|