@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
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
5
|
const _excluded = ["sizeAsString"],
|
|
6
|
-
_excluded2 = ["icon", "size", "width", "height", "border", "color", "inherit_color", "modifier", "alt", "title", "skeleton", "className"];
|
|
6
|
+
_excluded2 = ["icon", "size", "width", "height", "border", "color", "inheritColor", "inherit_color", "modifier", "alt", "title", "skeleton", "className"];
|
|
7
7
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import PropTypes from 'prop-types';
|
|
9
|
+
import React, { useContext } from 'react';
|
|
11
10
|
import classnames from 'classnames';
|
|
12
11
|
import { ErrorHandler } from '../../shared/error-helper';
|
|
13
|
-
import {
|
|
14
|
-
import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
|
|
15
|
-
import { createSkeletonClass } from '../skeleton/SkeletonHelper';
|
|
12
|
+
import { validateDOMAttributes, processChildren, extendPropsWithContext } from '../../shared/component-helper';
|
|
16
13
|
import Context from '../../shared/Context';
|
|
14
|
+
import { createSpacingClasses } from '../space/SpacingHelper';
|
|
15
|
+
import { createSkeletonClass } from '../skeleton/SkeletonHelper';
|
|
17
16
|
import { iconCase } from './IconHelpers';
|
|
18
17
|
export const DefaultIconSize = 16;
|
|
19
18
|
export const DefaultIconSizes = {
|
|
@@ -21,134 +20,91 @@ export const DefaultIconSizes = {
|
|
|
21
20
|
medium: 24
|
|
22
21
|
};
|
|
23
22
|
export const ListDefaultIconSizes = [['default', 16], ['medium', 24]];
|
|
24
|
-
export const
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
export default class Icon extends React.PureComponent {
|
|
43
|
-
static getIcon(props) {
|
|
44
|
-
if (props.icon) {
|
|
45
|
-
return props.icon;
|
|
46
|
-
}
|
|
47
|
-
return processChildren(props);
|
|
23
|
+
export const ValidIconType = ['small', 'default', 'medium', 'large', 'x-large', 'xx-large'];
|
|
24
|
+
export default function Icon(localProps) {
|
|
25
|
+
const context = useContext(Context);
|
|
26
|
+
const props = extendPropsWithContext(localProps, {}, {
|
|
27
|
+
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
28
|
+
}, context.Icon);
|
|
29
|
+
const {
|
|
30
|
+
icon: iconProp,
|
|
31
|
+
size,
|
|
32
|
+
wrapperParams,
|
|
33
|
+
iconParams,
|
|
34
|
+
alt,
|
|
35
|
+
children
|
|
36
|
+
} = prepareIcon(props, context);
|
|
37
|
+
const icon = iconProp !== null && iconProp !== void 0 ? iconProp : children;
|
|
38
|
+
if (!icon) {
|
|
39
|
+
return null;
|
|
48
40
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
size,
|
|
57
|
-
wrapperParams,
|
|
58
|
-
iconParams,
|
|
59
|
-
alt
|
|
60
|
-
} = prepareIcon(props, this.context);
|
|
61
|
-
if (!icon) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
const IconContainer = prerenderIcon({
|
|
65
|
-
icon,
|
|
66
|
-
size,
|
|
67
|
-
alt
|
|
68
|
-
});
|
|
69
|
-
if (!IconContainer) return React.createElement(React.Fragment, null);
|
|
70
|
-
return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
|
|
41
|
+
const IconContainer = prerenderIcon({
|
|
42
|
+
icon,
|
|
43
|
+
size,
|
|
44
|
+
alt
|
|
45
|
+
});
|
|
46
|
+
if (!IconContainer) {
|
|
47
|
+
return React.createElement(React.Fragment, null);
|
|
71
48
|
}
|
|
49
|
+
return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
|
|
72
50
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
icon: null,
|
|
76
|
-
modifier: null,
|
|
77
|
-
size: null,
|
|
78
|
-
width: null,
|
|
79
|
-
height: null,
|
|
80
|
-
border: null,
|
|
81
|
-
color: null,
|
|
82
|
-
inherit_color: true,
|
|
83
|
-
alt: null,
|
|
84
|
-
title: null,
|
|
85
|
-
skeleton: null,
|
|
86
|
-
attributes: null,
|
|
87
|
-
className: null,
|
|
88
|
-
children: null
|
|
89
|
-
});
|
|
90
|
-
process.env.NODE_ENV !== "production" ? Icon.propTypes = _objectSpread({}, iconPropTypes) : void 0;
|
|
91
|
-
export const getIconNameFromComponent = icon => {
|
|
92
|
-
const name = typeof icon === 'string' ? icon : icon && (icon.displayName || icon.name);
|
|
51
|
+
export function getIconNameFromComponent(icon) {
|
|
52
|
+
const name = typeof icon === 'function' ? icon.name : String(icon);
|
|
93
53
|
if (/^data:image\//.test(name)) {
|
|
94
54
|
return null;
|
|
95
55
|
}
|
|
96
56
|
return name;
|
|
97
|
-
}
|
|
98
|
-
export
|
|
57
|
+
}
|
|
58
|
+
export function calcSize(props) {
|
|
99
59
|
const {
|
|
100
60
|
icon,
|
|
101
61
|
size,
|
|
102
62
|
width,
|
|
103
63
|
height
|
|
104
64
|
} = props;
|
|
105
|
-
let sizeAsInt =
|
|
65
|
+
let sizeAsInt = null;
|
|
106
66
|
let sizeAsString = null;
|
|
107
67
|
if (!size || size === DefaultIconSize) {
|
|
108
68
|
const name = getIconNameFromComponent(icon);
|
|
109
69
|
const nameParts = String(name || '').split('_');
|
|
110
70
|
if (nameParts.length > 1) {
|
|
71
|
+
var _ListDefaultIconSizes, _ListDefaultIconSizes2;
|
|
111
72
|
const lastPartOfIconName = nameParts.reverse()[0];
|
|
112
|
-
const potentialSize = ListDefaultIconSizes.filter(([key]) => key === lastPartOfIconName)
|
|
113
|
-
return key && value;
|
|
114
|
-
}, null);
|
|
73
|
+
const potentialSize = (_ListDefaultIconSizes = ListDefaultIconSizes.filter(([key]) => key === lastPartOfIconName)) === null || _ListDefaultIconSizes === void 0 ? void 0 : (_ListDefaultIconSizes2 = _ListDefaultIconSizes[0]) === null || _ListDefaultIconSizes2 === void 0 ? void 0 : _ListDefaultIconSizes2[1];
|
|
115
74
|
if (potentialSize) {
|
|
116
75
|
sizeAsInt = potentialSize;
|
|
117
76
|
}
|
|
118
|
-
if (
|
|
77
|
+
if (ValidIconType.includes(lastPartOfIconName)) {
|
|
119
78
|
sizeAsString = lastPartOfIconName;
|
|
120
79
|
}
|
|
121
80
|
} else {
|
|
122
81
|
if (typeof icon === 'function') {
|
|
123
82
|
const elem = icon();
|
|
124
83
|
if (elem.props) {
|
|
125
|
-
let potentialSize =
|
|
84
|
+
let potentialSize = null;
|
|
126
85
|
if (elem.props.width) {
|
|
127
86
|
potentialSize = elem.props.width;
|
|
128
87
|
}
|
|
129
88
|
if (!potentialSize && elem.props.viewBox) {
|
|
130
|
-
potentialSize = /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1];
|
|
89
|
+
potentialSize = parseFloat(/[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]);
|
|
131
90
|
}
|
|
132
|
-
if (potentialSize) {
|
|
91
|
+
if (!isNaN(potentialSize)) {
|
|
133
92
|
sizeAsInt = potentialSize;
|
|
134
93
|
}
|
|
135
94
|
}
|
|
136
95
|
}
|
|
137
96
|
}
|
|
138
97
|
} else if (typeof size === 'string' && !(parseFloat(size) > 0)) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (ValidIconSizes.includes(size)) {
|
|
98
|
+
var _ListDefaultIconSizes3, _ListDefaultIconSizes4, _ListDefaultIconSizes5;
|
|
99
|
+
sizeAsInt = (_ListDefaultIconSizes3 = (_ListDefaultIconSizes4 = ListDefaultIconSizes.filter(([key]) => key === size)) === null || _ListDefaultIconSizes4 === void 0 ? void 0 : (_ListDefaultIconSizes5 = _ListDefaultIconSizes4[0]) === null || _ListDefaultIconSizes5 === void 0 ? void 0 : _ListDefaultIconSizes5[1]) !== null && _ListDefaultIconSizes3 !== void 0 ? _ListDefaultIconSizes3 : -1;
|
|
100
|
+
if (ValidIconType.includes(size)) {
|
|
143
101
|
sizeAsString = size;
|
|
144
102
|
}
|
|
145
|
-
} else if (parseFloat(size) > 0) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return acc;
|
|
149
|
-
}, -1);
|
|
103
|
+
} else if (parseFloat(String(size)) > 0) {
|
|
104
|
+
var _ListDefaultIconSizes6, _ListDefaultIconSizes7, _ListDefaultIconSizes8;
|
|
105
|
+
sizeAsInt = (_ListDefaultIconSizes6 = (_ListDefaultIconSizes7 = ListDefaultIconSizes.filter(([key, value]) => key && value === parseFloat(String(size)))) === null || _ListDefaultIconSizes7 === void 0 ? void 0 : (_ListDefaultIconSizes8 = _ListDefaultIconSizes7[0]) === null || _ListDefaultIconSizes8 === void 0 ? void 0 : _ListDefaultIconSizes8[1]) !== null && _ListDefaultIconSizes6 !== void 0 ? _ListDefaultIconSizes6 : -1;
|
|
150
106
|
if (sizeAsInt === -1) {
|
|
151
|
-
sizeAsInt = parseFloat(size);
|
|
107
|
+
sizeAsInt = parseFloat(String(size));
|
|
152
108
|
sizeAsString = 'custom-size';
|
|
153
109
|
}
|
|
154
110
|
}
|
|
@@ -189,8 +145,8 @@ export const calcSize = props => {
|
|
|
189
145
|
sizeAsInt,
|
|
190
146
|
sizeAsString
|
|
191
147
|
};
|
|
192
|
-
}
|
|
193
|
-
|
|
148
|
+
}
|
|
149
|
+
function prepareIconParams(_ref) {
|
|
194
150
|
let {
|
|
195
151
|
sizeAsString
|
|
196
152
|
} = _ref,
|
|
@@ -202,26 +158,26 @@ const prepareIconParams = _ref => {
|
|
|
202
158
|
sizeAsInt
|
|
203
159
|
} = rest;
|
|
204
160
|
const params = {};
|
|
205
|
-
if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(size) > -1) {
|
|
206
|
-
params.width = params.height = parseFloat(size);
|
|
161
|
+
if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {
|
|
162
|
+
params.width = params.height = parseFloat(String(size));
|
|
207
163
|
} else if (sizeAsString === 'custom-size') {
|
|
208
|
-
params.width = params.height = parseFloat(sizeAsInt);
|
|
164
|
+
params.width = params.height = parseFloat(String(sizeAsInt));
|
|
209
165
|
}
|
|
210
|
-
if (parseFloat(width) > -1) {
|
|
166
|
+
if (parseFloat(String(width)) > -1) {
|
|
211
167
|
sizeAsString = 'custom-size';
|
|
212
|
-
params.width = parseFloat(width);
|
|
168
|
+
params.width = parseFloat(String(width));
|
|
213
169
|
}
|
|
214
|
-
if (parseFloat(height) > -1) {
|
|
170
|
+
if (parseFloat(String(height)) > -1) {
|
|
215
171
|
sizeAsString = 'custom-size';
|
|
216
|
-
params.height = parseFloat(height);
|
|
172
|
+
params.height = parseFloat(String(height));
|
|
217
173
|
}
|
|
218
174
|
validateDOMAttributes({}, params);
|
|
219
175
|
return {
|
|
220
176
|
params,
|
|
221
177
|
sizeAsString
|
|
222
178
|
};
|
|
223
|
-
}
|
|
224
|
-
export
|
|
179
|
+
}
|
|
180
|
+
export function prepareIcon(props, context) {
|
|
225
181
|
const {
|
|
226
182
|
icon,
|
|
227
183
|
size,
|
|
@@ -229,6 +185,7 @@ export const prepareIcon = (props, context) => {
|
|
|
229
185
|
height,
|
|
230
186
|
border,
|
|
231
187
|
color,
|
|
188
|
+
inheritColor,
|
|
232
189
|
inherit_color,
|
|
233
190
|
modifier,
|
|
234
191
|
alt,
|
|
@@ -265,8 +222,8 @@ export const prepareIcon = (props, context) => {
|
|
|
265
222
|
}
|
|
266
223
|
delete wrapperParams['aria-label'];
|
|
267
224
|
}
|
|
268
|
-
wrapperParams.className = classnames('dnb-icon', sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default', createSkeletonClass(null, skeleton, context), createSpacingClasses(props), className, modifier && `dnb-icon--${modifier}`,
|
|
269
|
-
let iconToRender =
|
|
225
|
+
wrapperParams.className = classnames('dnb-icon', sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default', createSkeletonClass(null, skeleton, context), createSpacingClasses(props), className, modifier && `dnb-icon--${modifier}`, border && 'dnb-icon--border', (inheritColor !== null && inheritColor !== void 0 ? inheritColor : inherit_color) !== false && 'dnb-icon--inherit-color');
|
|
226
|
+
let iconToRender = getIcon(props);
|
|
270
227
|
if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {
|
|
271
228
|
iconToRender = React.createElement(iconToRender, validateDOMAttributes({}, {
|
|
272
229
|
color,
|
|
@@ -282,16 +239,19 @@ export const prepareIcon = (props, context) => {
|
|
|
282
239
|
iconParams,
|
|
283
240
|
wrapperParams
|
|
284
241
|
});
|
|
285
|
-
}
|
|
286
|
-
export
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
} =
|
|
242
|
+
}
|
|
243
|
+
export function prerenderIcon(props) {
|
|
244
|
+
const {
|
|
245
|
+
size = null,
|
|
246
|
+
listOfIcons = null,
|
|
247
|
+
alt = null
|
|
248
|
+
} = props;
|
|
249
|
+
let {
|
|
250
|
+
icon
|
|
251
|
+
} = props;
|
|
292
252
|
if (typeof icon === 'string' && /^data:image\//.test(icon)) {
|
|
293
253
|
return () => React.createElement("img", {
|
|
294
|
-
src: icon,
|
|
254
|
+
src: String(icon),
|
|
295
255
|
alt: alt || 'no-alt'
|
|
296
256
|
});
|
|
297
257
|
}
|
|
@@ -307,7 +267,7 @@ export const prerenderIcon = ({
|
|
|
307
267
|
}
|
|
308
268
|
try {
|
|
309
269
|
icon = iconCase(icon);
|
|
310
|
-
if (size && DefaultIconSizes[size] && size !== 'default' && !(parseFloat(size) > 0) && !icon.includes(size)) {
|
|
270
|
+
if (size && DefaultIconSizes[size] && size !== 'basis' && size !== 'default' && !(parseFloat(String(size)) > 0) && !icon.includes(size)) {
|
|
311
271
|
icon = `${icon}_${size}`;
|
|
312
272
|
}
|
|
313
273
|
const mod = (listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons)[icon];
|
|
@@ -316,6 +276,12 @@ export const prerenderIcon = ({
|
|
|
316
276
|
ErrorHandler(`Icon '${icon}' did not exist!`);
|
|
317
277
|
return null;
|
|
318
278
|
}
|
|
319
|
-
}
|
|
279
|
+
}
|
|
280
|
+
function getIcon(props) {
|
|
281
|
+
if (props.icon) {
|
|
282
|
+
return props.icon;
|
|
283
|
+
}
|
|
284
|
+
return processChildren(props);
|
|
285
|
+
}
|
|
320
286
|
Icon._supportsSpacingProps = true;
|
|
321
287
|
//# sourceMappingURL=Icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","names":["React","PropTypes","classnames","ErrorHandler","isTrue","validateDOMAttributes","processChildren","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","createSkeletonClass","Context","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconSizes","iconPropTypes","_objectSpread","icon","oneOfType","string","node","func","modifier","size","number","oneOf","width","height","border","bool","color","inherit_color","alt","title","skeleton","attributes","object","className","children","Icon","PureComponent","getIcon","props","render","_this$context","defaultProps","context","wrapperParams","iconParams","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","_defineProperty","process","env","NODE_ENV","propTypes","getIconNameFromComponent","name","displayName","test","calcSize","sizeAsInt","sizeAsString","nameParts","String","split","length","lastPartOfIconName","reverse","potentialSize","filter","key","reduce","acc","value","includes","elem","viewBox","exec","parseFloat","potentialSizeAsString","isCustomSize","params","prepareIconParams","_ref","rest","_objectWithoutProperties","_excluded","_excluded2","label","role","replace","iconToRender","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.js"],"sourcesContent":["/**\n * Web Icon Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n isTrue,\n validateDOMAttributes,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport { iconCase } from './IconHelpers'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n}\n// instead of using Object.entries(DefaultIconSizes)\nexport const ListDefaultIconSizes = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconSizes = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n]\n\nexport const iconPropTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n modifier: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.oneOf(['default', 'medium', 'large']),\n ]),\n\n ...spacingPropTypes,\n\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n border: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n color: PropTypes.string,\n inherit_color: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n alt: PropTypes.string,\n title: PropTypes.string,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n}\n\n/**\n * The icon component is a span wrapping an inline svg. When using this component in your preferred framework. To load an svg file dynamically, you may need a \"svg-loader\". Feel free to use whatever tool you want (regarding the setup/tooling), as long as the output is the same markup as shown below.\n */\nexport default class Icon extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n /**\n * Use spread, so generateTypes.js makes a valid copy to create the types\n */\n ...iconPropTypes,\n }\n\n static defaultProps = {\n icon: null,\n modifier: null,\n size: null,\n width: null,\n height: null,\n border: null,\n color: null,\n inherit_color: true,\n alt: null,\n title: null,\n skeleton: null,\n attributes: null,\n\n className: null,\n children: null,\n }\n\n static getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Icon.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.Icon\n )\n\n const { icon, size, wrapperParams, iconParams, alt } = prepareIcon(\n props,\n this.context\n )\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we don't could get the icon\n if (!IconContainer) return <></>\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n }\n}\n\nexport const getIconNameFromComponent = (icon) => {\n const name =\n typeof icon === 'string'\n ? icon\n : icon && (icon.displayName || icon.name)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport const calcSize = (props) => {\n const { icon, size, width, height } = props\n\n let sizeAsInt = -1\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use is for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0]\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n ).reduce((acc, [key, value]) => {\n return key && value\n }, null)\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconSizes.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize = -1\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = /[0-9]+ [0-9]+ ([0-9]+)/.exec(\n elem.props.viewBox\n )[1] // get the width\n }\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt = ListDefaultIconSizes.filter(\n ([key]) => key === size\n ).reduce((acc, [key, value]) => {\n return key && value\n }, -1)\n\n // of if the size is a default size defined as a string\n if (ValidIconSizes.includes(size)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if is a default size\n else if (parseFloat(size) > 0) {\n sizeAsInt = ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(size)\n ).reduce((acc, [key, value]) => {\n if (key && value) return value\n return acc\n }, -1)\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(size)\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nconst prepareIconParams = ({ sizeAsString, ...rest }) => {\n const { size, width, height, sizeAsInt } = rest\n const params = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(size) > -1) {\n params.width = params.height = parseFloat(size)\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(sizeAsInt)\n }\n if (parseFloat(width) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(width)\n }\n if (parseFloat(height) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(height)\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport const prepareIcon = (props, context) => {\n const {\n icon,\n size, // eslint-disable-line\n width,\n height,\n border,\n color,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n isTrue(border) && 'dnb-icon--border',\n isTrue(inherit_color) && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = Icon.getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport const prerenderIcon = ({\n icon,\n size = null,\n listOfIcons = null,\n alt = null,\n} = {}) => {\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={icon} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // for importing react component\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'default' &&\n !(parseFloat(size) > 0) &&\n !icon.includes(size)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","value","potentialSizeAsString","reduce","acc","isCustomSize","params","prepareIconParams","_ref","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component or the icon name (in case we use `IconPrimary` or `dnb-icon-primary`).\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { IconIcon } from './Icon';
|
|
2
|
+
export declare const iconCase: (name: IconIcon) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const iconCase = name => name.replace(/((?!^)[A-Z])/g, '_$1').toLowerCase().replace(/^[0-9]/g, '$1').replace(/[^a-z0-9_]/gi, '_');
|
|
1
|
+
export const iconCase = name => String(name).replace(/((?!^)[A-Z])/g, '_$1').toLowerCase().replace(/^[0-9]/g, '$1').replace(/[^a-z0-9_]/gi, '_');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconHelpers.js","names":["iconCase","name","replace","toLowerCase"],"sources":["../../../../src/components/icon/IconHelpers.
|
|
1
|
+
{"version":3,"file":"IconHelpers.js","names":["iconCase","name","String","replace","toLowerCase"],"sources":["../../../../src/components/icon/IconHelpers.ts"],"sourcesContent":["import { IconIcon } from './Icon'\n\n// to replace icon names\nexport const iconCase = (name: IconIcon) =>\n String(name)\n .replace(/((?!^)[A-Z])/g, '_$1')\n .toLowerCase()\n .replace(/^[0-9]/g, '$1')\n .replace(/[^a-z0-9_]/gi, '_')\n"],"mappings":"AAGA,OAAO,MAAMA,QAAQ,GAAIC,IAAc,IACrCC,MAAM,CAACD,IAAI,CAAC,CACTE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAC/BC,WAAW,CAAC,CAAC,CACbD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CACxBA,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconPrimary.js","names":["IconPrimary"],"sources":["../../../../src/components/icon/IconPrimary.
|
|
1
|
+
{"version":3,"file":"IconPrimary.js","names":["IconPrimary"],"sources":["../../../../src/components/icon/IconPrimary.ts"],"sourcesContent":["import IconPrimary from '../icon-primary/IconPrimary'\nexport default IconPrimary\nexport * from '../icon-primary/IconPrimary'\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,6BAA6B;AACrD,eAAeA,WAAW;AAC1B,cAAc,6BAA6B"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
any
|
|
9
|
-
> {
|
|
10
|
-
static defaultProps: object;
|
|
11
|
-
render(): JSX.Element;
|
|
1
|
+
import { IconAllProps, IconProps } from '../icon/Icon';
|
|
2
|
+
export * from '../icon/Icon';
|
|
3
|
+
export type IconPrimaryProps = IconProps;
|
|
4
|
+
export type IconPrimaryAllProps = IconAllProps;
|
|
5
|
+
declare function IconPrimary(localProps: IconAllProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare namespace IconPrimary {
|
|
7
|
+
var _supportsSpacingProps: boolean;
|
|
12
8
|
}
|
|
9
|
+
export default IconPrimary;
|
|
@@ -3,42 +3,36 @@
|
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
4
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
-
import React from 'react';
|
|
6
|
+
import React, { useContext } from 'react';
|
|
7
7
|
import Context from '../../shared/Context';
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
8
|
+
import { extendPropsWithContext } from '../../shared/component-helper';
|
|
9
|
+
import { prerenderIcon, prepareIcon } from '../icon/Icon';
|
|
10
10
|
import * as primary_icons from '../../icons/dnb/primary_icons';
|
|
11
11
|
import * as primary_icons_medium from '../../icons/dnb/primary_icons_medium';
|
|
12
|
+
export * from '../icon/Icon';
|
|
12
13
|
const icons = _objectSpread(_objectSpread({}, primary_icons), primary_icons_medium);
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
alt,
|
|
34
|
-
listOfIcons: icons
|
|
35
|
-
});
|
|
36
|
-
if (!IconContainer) return React.createElement(React.Fragment, null);
|
|
37
|
-
return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
|
|
14
|
+
export default function IconPrimary(localProps) {
|
|
15
|
+
const context = useContext(Context);
|
|
16
|
+
const props = extendPropsWithContext(localProps, {}, {
|
|
17
|
+
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
18
|
+
}, context.Icon, context.IconPrimary);
|
|
19
|
+
const {
|
|
20
|
+
icon,
|
|
21
|
+
size,
|
|
22
|
+
wrapperParams,
|
|
23
|
+
iconParams,
|
|
24
|
+
alt
|
|
25
|
+
} = prepareIcon(props, context);
|
|
26
|
+
const IconContainer = prerenderIcon({
|
|
27
|
+
icon,
|
|
28
|
+
size,
|
|
29
|
+
alt,
|
|
30
|
+
listOfIcons: icons
|
|
31
|
+
});
|
|
32
|
+
if (!IconContainer) {
|
|
33
|
+
return React.createElement(React.Fragment, null);
|
|
38
34
|
}
|
|
35
|
+
return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
|
|
39
36
|
}
|
|
40
|
-
_defineProperty(IconPrimary, "contextType", Context);
|
|
41
|
-
_defineProperty(IconPrimary, "defaultProps", _objectSpread({}, DefaultIcon.defaultProps));
|
|
42
|
-
process.env.NODE_ENV !== "production" ? IconPrimary.propTypes = _objectSpread({}, iconPropTypes) : void 0;
|
|
43
37
|
IconPrimary._supportsSpacingProps = true;
|
|
44
38
|
//# sourceMappingURL=IconPrimary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconPrimary.js","names":["React","
|
|
1
|
+
{"version":3,"file":"IconPrimary.js","names":["React","useContext","Context","extendPropsWithContext","prerenderIcon","prepareIcon","primary_icons","primary_icons_medium","icons","_objectSpread","IconPrimary","localProps","context","props","skeleton","Icon","icon","size","wrapperParams","iconParams","alt","IconContainer","listOfIcons","createElement","Fragment","_supportsSpacingProps"],"sources":["../../../../src/components/icon-primary/IconPrimary.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport Context from '../../shared/Context'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport {\n prerenderIcon,\n prepareIcon,\n IconAllProps,\n IconProps,\n} from '../icon/Icon'\n\n// NB: The path reflects the rollup.config.js -> external: '../../icons/dnb/primary_icons'\nimport * as primary_icons from '../../icons/dnb/primary_icons'\nimport * as primary_icons_medium from '../../icons/dnb/primary_icons_medium'\n\nexport * from '../icon/Icon'\n\nexport type IconPrimaryProps = IconProps\nexport type IconPrimaryAllProps = IconAllProps\n\nconst icons = { ...primary_icons, ...primary_icons_medium }\n\nexport default function IconPrimary(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon,\n context.IconPrimary\n )\n\n const { icon, size, wrapperParams, iconParams, alt } = prepareIcon(\n props,\n context\n )\n\n const IconContainer = prerenderIcon({\n icon,\n size,\n alt,\n listOfIcons: icons,\n })\n\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nIconPrimary._supportsSpacingProps = true\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SACEC,aAAa,EACbC,WAAW,QAGN,cAAc;AAGrB,OAAO,KAAKC,aAAa,MAAM,+BAA+B;AAC9D,OAAO,KAAKC,oBAAoB,MAAM,sCAAsC;AAE5E,cAAc,cAAc;AAK5B,MAAMC,KAAK,GAAAC,aAAA,CAAAA,aAAA,KAAQH,aAAa,GAAKC,oBAAoB,CAAE;AAE3D,eAAe,SAASG,WAAWA,CAACC,UAAwB,EAAE;EAC5D,MAAMC,OAAO,GAAGX,UAAU,CAACC,OAAO,CAAC;EAGnC,MAAMW,KAAK,GAAGV,sBAAsB,CAClCQ,UAAU,EACV,CAAC,CAAC,EACF;IAAEG,QAAQ,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE;EAAS,CAAC,EAC/BF,OAAO,CAACG,IAAI,EACZH,OAAO,CAACF,WACV,CAAC;EAED,MAAM;IAAEM,IAAI;IAAEC,IAAI;IAAEC,aAAa;IAAEC,UAAU;IAAEC;EAAI,CAAC,GAAGf,WAAW,CAChEQ,KAAK,EACLD,OACF,CAAC;EAED,MAAMS,aAAa,GAAGjB,aAAa,CAAC;IAClCY,IAAI;IACJC,IAAI;IACJG,GAAG;IACHE,WAAW,EAAEd;EACf,CAAC,CAAC;EAEF,IAAI,CAACa,aAAa,EAAE;IAClB,OAAOrB,KAAA,CAAAuB,aAAA,CAAAvB,KAAA,CAAAwB,QAAA,MAAI,CAAC;EACd;EAEA,OACExB,KAAA,CAAAuB,aAAA,SAAUL,aAAa,EACrBlB,KAAA,CAAAuB,aAAA,CAACF,aAAa,EAAKF,UAAa,CAC5B,CAAC;AAEX;AAEAT,WAAW,CAACe,qBAAqB,GAAG,IAAI"}
|