@dnb/eufemia 9.17.1 → 9.20.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 +20 -142
- package/cjs/components/Avatar.d.ts +14 -0
- package/cjs/components/Avatar.js +52 -0
- package/cjs/components/InfoCard.d.ts +14 -0
- package/cjs/components/InfoCard.js +52 -0
- package/cjs/components/Tag.d.ts +14 -0
- package/cjs/components/Tag.js +52 -0
- package/cjs/components/Timeline.d.ts +14 -0
- package/cjs/components/Timeline.js +52 -0
- package/cjs/components/accordion/Accordion.d.ts +7 -7
- package/cjs/components/autocomplete/Autocomplete.d.ts +13 -13
- package/cjs/components/avatar/Avatar.js +151 -0
- package/cjs/components/avatar/AvatarGroup.js +131 -0
- package/cjs/components/avatar/index.d.ts +8 -0
- package/cjs/components/avatar/index.js +52 -0
- package/cjs/components/avatar/style/_avatar.scss +147 -0
- package/cjs/components/avatar/style/dnb-avatar.css +221 -0
- package/cjs/components/avatar/style/dnb-avatar.min.css +1 -0
- package/cjs/components/avatar/style/dnb-avatar.scss +12 -0
- package/cjs/components/avatar/style/index.d.ts +6 -0
- package/cjs/components/avatar/style/index.js +3 -0
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
- package/cjs/components/avatar/style/themes/ui.js +3 -0
- package/cjs/components/avatar/style.js +3 -0
- package/cjs/components/breadcrumb/Breadcrumb.js +27 -52
- package/cjs/components/breadcrumb/BreadcrumbItem.js +18 -32
- package/cjs/components/button/Button.d.ts +19 -15
- package/cjs/components/button/Button.js +7 -5
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
- package/cjs/components/checkbox/Checkbox.d.ts +3 -3
- package/cjs/components/date-picker/DatePicker.d.ts +14 -14
- package/cjs/components/date-picker/DatePicker.js +4 -2
- package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerFooter.d.ts +1 -0
- package/cjs/components/date-picker/DatePickerFooter.js +10 -6
- package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
- package/cjs/components/dropdown/Dropdown.d.ts +11 -10
- package/cjs/components/form-label/FormLabel.d.ts +1 -1
- package/cjs/components/form-row/FormRow.d.ts +4 -4
- package/cjs/components/form-set/FormSet.d.ts +5 -5
- package/cjs/components/global-error/GlobalError.d.ts +1 -1
- package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
- package/cjs/components/heading/Heading.d.ts +2 -2
- package/cjs/components/heading/HeadingProvider.d.ts +2 -2
- package/cjs/components/help-button/HelpButton.d.ts +1 -1
- package/cjs/components/help-button/HelpButtonInstance.d.ts +3 -2
- package/cjs/components/icon/Icon.d.ts +2 -2
- package/cjs/components/icon-primary/IconPrimary.d.ts +4 -3
- package/cjs/components/index.d.ts +8 -0
- package/cjs/components/index.js +32 -0
- package/cjs/components/info-card/InfoCard.js +180 -0
- package/cjs/components/info-card/index.d.ts +8 -0
- package/cjs/components/info-card/index.js +52 -0
- package/cjs/components/info-card/style/_info-card.scss +52 -0
- package/cjs/components/info-card/style/dnb-info-card.css +135 -0
- package/cjs/components/info-card/style/dnb-info-card.min.css +1 -0
- package/cjs/components/info-card/style/dnb-info-card.scss +12 -0
- package/cjs/components/info-card/style/index.d.ts +6 -0
- package/cjs/components/info-card/style/index.js +3 -0
- package/cjs/components/info-card/style.js +3 -0
- package/cjs/components/input/Input.d.ts +11 -10
- package/cjs/components/input-masked/InputMasked.d.ts +11 -11
- package/cjs/components/input-masked/InputMasked.js +6 -3
- package/cjs/components/input-masked/InputMaskedHooks.js +44 -51
- package/cjs/components/input-masked/InputMaskedUtils.js +9 -20
- package/cjs/components/lib.js +36 -0
- package/cjs/components/modal/Modal.js +157 -299
- package/cjs/components/modal/ModalContent.js +169 -274
- package/cjs/components/modal/ModalRoot.js +194 -0
- package/cjs/components/modal/components/CloseButton.js +125 -0
- package/cjs/components/modal/components/ModalHeader.js +124 -0
- package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
- package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
- package/cjs/components/modal/helpers.js +80 -0
- package/cjs/components/modal/types.js +1 -0
- package/cjs/components/number-format/NumberFormat.d.ts +10 -10
- package/cjs/components/pagination/Pagination.d.ts +36 -36
- package/cjs/components/pagination/Pagination.js +13 -3
- package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
- package/cjs/components/radio/Radio.d.ts +5 -5
- package/cjs/components/radio/RadioGroup.d.ts +4 -4
- package/cjs/components/section/Section.d.ts +3 -2
- package/cjs/components/skeleton/Skeleton.d.ts +3 -3
- package/cjs/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/cjs/components/slider/Slider.d.ts +5 -5
- package/cjs/components/step-indicator/StepIndicator.d.ts +6 -6
- package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.d.ts +3 -3
- package/cjs/components/step-indicator/StepIndicatorItem.js +1 -0
- package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
- package/cjs/components/switch/Switch.d.ts +6 -6
- package/cjs/components/tabs/Tabs.d.ts +8 -8
- package/cjs/components/tabs/TabsContentWrapper.d.ts +2 -2
- package/cjs/components/tabs/TabsCustomContent.d.ts +1 -1
- package/cjs/components/tag/Tag.js +145 -0
- package/cjs/components/tag/TagContext.js +14 -0
- package/cjs/components/tag/TagGroup.js +109 -0
- package/cjs/components/tag/index.d.ts +8 -0
- package/cjs/components/tag/index.js +52 -0
- package/cjs/components/tag/style/_tag.scss +90 -0
- package/cjs/components/tag/style/dnb-tag.css +925 -0
- package/cjs/components/tag/style/dnb-tag.min.css +1 -0
- package/cjs/components/tag/style/dnb-tag.scss +15 -0
- package/cjs/components/tag/style/index.d.ts +6 -0
- package/cjs/components/tag/style/index.js +3 -0
- package/cjs/components/tag/style/themes/_tag-mixins.scss +18 -0
- package/cjs/components/tag/style.js +3 -0
- package/cjs/components/textarea/Textarea.d.ts +4 -4
- package/cjs/components/timeline/Timeline.js +89 -0
- package/cjs/components/timeline/TimelineItem.js +136 -0
- package/cjs/components/timeline/index.d.ts +8 -0
- package/cjs/components/timeline/index.js +52 -0
- package/cjs/components/timeline/style/_timeline.scss +42 -0
- package/cjs/components/timeline/style/dnb-timeline.css +307 -0
- package/cjs/components/timeline/style/dnb-timeline.min.css +1 -0
- package/cjs/components/timeline/style/dnb-timeline.scss +12 -0
- package/cjs/components/timeline/style/index.d.ts +6 -0
- package/cjs/components/timeline/style/index.js +3 -0
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
- package/cjs/components/timeline/style/themes/ui.js +3 -0
- package/cjs/components/timeline/style.js +3 -0
- package/cjs/components/toggle-button/ToggleButton.d.ts +7 -7
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
- package/cjs/components/tooltip/Tooltip.d.ts +5 -5
- package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
- package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
- package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/cjs/elements/Div.d.ts +1 -1
- package/cjs/elements/Img.d.ts +2 -2
- package/cjs/elements/P.d.ts +2 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +1 -1
- package/cjs/extensions/payment-card/style/_payment-card.scss +0 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -1
- package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
- package/cjs/fragments/scroll-view/ScrollView.js +7 -16
- package/cjs/index.d.ts +8 -0
- package/cjs/index.js +32 -0
- package/cjs/shared/AnimateHeight.js +19 -13
- package/cjs/shared/Context.js +11 -4
- package/cjs/shared/helpers.js +16 -4
- package/cjs/shared/hooks/index.js +13 -0
- package/cjs/shared/hooks/usePropsWithContext.js +92 -0
- package/cjs/shared/locales/en-GB.js +5 -0
- package/cjs/shared/locales/nb-NO.js +5 -0
- package/cjs/style/core/helper-classes/skip-link.scss +1 -1
- package/cjs/style/dnb-ui-components.css +719 -0
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-components.scss +4 -0
- package/cjs/style/dnb-ui-elements.css +1 -0
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +0 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-tags.css +2 -0
- package/cjs/style/dnb-ui-tags.min.css +2 -2
- package/cjs/style/elements/code.scss +1 -0
- package/cjs/style/stylis.d.ts +38 -0
- package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
- package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +224 -0
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
- package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/components/Avatar.d.ts +14 -0
- package/components/Avatar.js +3 -0
- package/components/InfoCard.d.ts +14 -0
- package/components/InfoCard.js +3 -0
- package/components/Tag.d.ts +14 -0
- package/components/Tag.js +3 -0
- package/components/Timeline.d.ts +14 -0
- package/components/Timeline.js +3 -0
- package/components/accordion/Accordion.d.ts +7 -7
- package/components/autocomplete/Autocomplete.d.ts +13 -13
- package/components/avatar/Avatar.js +90 -0
- package/components/avatar/Avatar.tsx +162 -0
- package/components/avatar/AvatarGroup.js +94 -0
- package/components/avatar/AvatarGroup.tsx +163 -0
- package/components/avatar/index.d.ts +8 -0
- package/components/avatar/index.js +3 -0
- package/components/avatar/style/_avatar.scss +147 -0
- package/components/avatar/style/dnb-avatar.css +221 -0
- package/components/avatar/style/dnb-avatar.min.css +1 -0
- package/components/avatar/style/dnb-avatar.scss +12 -0
- package/components/avatar/style/index.d.ts +6 -0
- package/components/avatar/style/index.js +1 -0
- package/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
- package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
- package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
- package/components/avatar/style/themes/ui.js +1 -0
- package/components/avatar/style.js +1 -0
- package/components/breadcrumb/Breadcrumb.js +22 -35
- package/components/breadcrumb/Breadcrumb.tsx +10 -10
- package/components/breadcrumb/BreadcrumbItem.js +17 -28
- package/components/breadcrumb/BreadcrumbItem.tsx +10 -13
- package/components/button/Button.d.ts +18 -14
- package/components/button/Button.js +7 -5
- package/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
- package/components/checkbox/Checkbox.d.ts +3 -3
- package/components/date-picker/DatePicker.d.ts +14 -14
- package/components/date-picker/DatePicker.js +4 -2
- package/components/date-picker/DatePickerAddon.d.ts +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/components/date-picker/DatePickerFooter.d.ts +1 -0
- package/components/date-picker/DatePickerFooter.js +10 -6
- package/components/date-picker/DatePickerInput.d.ts +1 -1
- package/components/dropdown/Dropdown.d.ts +11 -10
- package/components/form-label/FormLabel.d.ts +1 -1
- package/components/form-row/FormRow.d.ts +4 -4
- package/components/form-set/FormSet.d.ts +5 -5
- package/components/global-error/GlobalError.d.ts +1 -1
- package/components/global-status/GlobalStatus.d.ts +5 -5
- package/components/heading/Heading.d.ts +2 -2
- package/components/heading/HeadingProvider.d.ts +2 -2
- package/components/help-button/HelpButton.d.ts +1 -1
- package/components/help-button/HelpButtonInstance.d.ts +3 -2
- package/components/icon/Icon.d.ts +2 -2
- package/components/icon-primary/IconPrimary.d.ts +2 -1
- package/components/index.d.ts +8 -0
- package/components/index.js +5 -1
- package/components/info-card/InfoCard.js +140 -0
- package/components/info-card/InfoCard.tsx +250 -0
- package/components/info-card/index.d.ts +8 -0
- package/components/info-card/index.js +3 -0
- package/components/info-card/style/_info-card.scss +52 -0
- package/components/info-card/style/dnb-info-card.css +135 -0
- package/components/info-card/style/dnb-info-card.min.css +1 -0
- package/components/info-card/style/dnb-info-card.scss +12 -0
- package/components/info-card/style/index.d.ts +6 -0
- package/components/info-card/style/index.js +1 -0
- package/components/info-card/style.js +1 -0
- package/components/input/Input.d.ts +11 -10
- package/components/input-masked/InputMasked.d.ts +11 -11
- package/components/input-masked/InputMasked.js +6 -4
- package/components/input-masked/InputMaskedHooks.js +42 -45
- package/components/input-masked/InputMaskedUtils.js +9 -20
- package/components/lib.js +9 -1
- package/components/modal/Modal.js +146 -278
- package/components/modal/Modal.tsx +524 -0
- package/components/modal/ModalContent.js +162 -256
- package/components/modal/ModalContent.tsx +519 -0
- package/components/modal/ModalContext.tsx +10 -0
- package/components/modal/ModalRoot.js +145 -0
- package/components/modal/ModalRoot.tsx +131 -0
- package/components/modal/components/CloseButton.js +72 -0
- package/components/modal/components/CloseButton.tsx +56 -0
- package/components/modal/components/ModalHeader.js +70 -0
- package/components/modal/components/ModalHeader.tsx +79 -0
- package/components/modal/components/ModalHeaderBar.js +122 -0
- package/components/modal/components/ModalHeaderBar.tsx +118 -0
- package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
- package/components/modal/components/ModalInner.tsx +45 -0
- package/components/modal/helpers.js +64 -0
- package/components/modal/helpers.ts +63 -0
- package/components/modal/types.js +1 -0
- package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +125 -179
- package/components/number-format/NumberFormat.d.ts +10 -10
- package/components/pagination/Pagination.d.ts +36 -36
- package/components/pagination/Pagination.js +9 -2
- package/components/pagination/PaginationProvider.d.ts +2 -2
- package/components/radio/Radio.d.ts +5 -5
- package/components/radio/RadioGroup.d.ts +4 -4
- package/components/section/Section.d.ts +3 -1
- package/components/skeleton/Skeleton.d.ts +2 -2
- package/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/components/slider/Slider.d.ts +5 -5
- package/components/step-indicator/StepIndicator.d.ts +6 -6
- package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
- package/components/step-indicator/StepIndicatorItem.d.ts +3 -3
- package/components/step-indicator/StepIndicatorItem.js +1 -0
- package/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
- package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
- package/components/switch/Switch.d.ts +6 -6
- package/components/tabs/Tabs.d.ts +8 -8
- package/components/tabs/TabsContentWrapper.d.ts +2 -2
- package/components/tabs/TabsCustomContent.d.ts +1 -1
- package/components/tag/Tag.js +112 -0
- package/components/tag/Tag.tsx +196 -0
- package/components/tag/TagContext.js +2 -0
- package/components/tag/TagContext.tsx +3 -0
- package/components/tag/TagGroup.js +47 -0
- package/components/tag/TagGroup.tsx +76 -0
- package/components/tag/index.d.ts +8 -0
- package/components/tag/index.js +3 -0
- package/components/tag/style/_tag.scss +90 -0
- package/components/tag/style/dnb-tag.css +925 -0
- package/components/tag/style/dnb-tag.min.css +1 -0
- package/components/tag/style/dnb-tag.scss +15 -0
- package/components/tag/style/index.d.ts +6 -0
- package/components/tag/style/index.js +1 -0
- package/components/tag/style/themes/_tag-mixins.scss +18 -0
- package/components/tag/style.js +1 -0
- package/components/textarea/Textarea.d.ts +4 -4
- package/components/timeline/Timeline.js +53 -0
- package/components/timeline/Timeline.tsx +95 -0
- package/components/timeline/TimelineItem.js +102 -0
- package/components/timeline/TimelineItem.tsx +191 -0
- package/components/timeline/index.d.ts +8 -0
- package/components/timeline/index.js +3 -0
- package/components/timeline/style/_timeline.scss +42 -0
- package/components/timeline/style/dnb-timeline.css +307 -0
- package/components/timeline/style/dnb-timeline.min.css +1 -0
- package/components/timeline/style/dnb-timeline.scss +12 -0
- package/components/timeline/style/index.d.ts +6 -0
- package/components/timeline/style/index.js +1 -0
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
- package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
- package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
- package/components/timeline/style/themes/ui.js +1 -0
- package/components/timeline/style.js +1 -0
- package/components/toggle-button/ToggleButton.d.ts +7 -7
- package/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
- package/components/tooltip/Tooltip.d.ts +5 -5
- package/components/tooltip/TooltipContainer.d.ts +3 -3
- package/components/tooltip/TooltipPortal.d.ts +1 -1
- package/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/elements/Img.d.ts +1 -1
- package/elements/P.d.ts +2 -1
- package/es/components/Avatar.d.ts +14 -0
- package/es/components/Avatar.js +3 -0
- package/es/components/InfoCard.d.ts +14 -0
- package/es/components/InfoCard.js +3 -0
- package/es/components/Tag.d.ts +14 -0
- package/es/components/Tag.js +3 -0
- package/es/components/Timeline.d.ts +14 -0
- package/es/components/Timeline.js +3 -0
- package/es/components/accordion/Accordion.d.ts +7 -7
- package/es/components/autocomplete/Autocomplete.d.ts +13 -13
- package/es/components/avatar/Avatar.js +84 -0
- package/es/components/avatar/Avatar.tsx +162 -0
- package/es/components/avatar/AvatarGroup.js +89 -0
- package/es/components/avatar/AvatarGroup.tsx +163 -0
- package/es/components/avatar/index.d.ts +8 -0
- package/es/components/avatar/index.js +3 -0
- package/es/components/avatar/style/_avatar.scss +147 -0
- package/es/components/avatar/style/dnb-avatar.css +221 -0
- package/es/components/avatar/style/dnb-avatar.min.css +1 -0
- package/es/components/avatar/style/dnb-avatar.scss +12 -0
- package/es/components/avatar/style/index.d.ts +6 -0
- package/es/components/avatar/style/index.js +1 -0
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
- package/es/components/avatar/style/themes/ui.js +1 -0
- package/es/components/avatar/style.js +1 -0
- package/es/components/breadcrumb/Breadcrumb.js +8 -14
- package/es/components/breadcrumb/Breadcrumb.tsx +10 -10
- package/es/components/breadcrumb/BreadcrumbItem.js +12 -16
- package/es/components/breadcrumb/BreadcrumbItem.tsx +10 -13
- package/es/components/button/Button.d.ts +19 -15
- package/es/components/button/Button.js +7 -5
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
- package/es/components/checkbox/Checkbox.d.ts +3 -3
- package/es/components/date-picker/DatePicker.d.ts +14 -14
- package/es/components/date-picker/DatePicker.js +4 -2
- package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/es/components/date-picker/DatePickerFooter.d.ts +1 -0
- package/es/components/date-picker/DatePickerFooter.js +9 -6
- package/es/components/date-picker/DatePickerInput.d.ts +1 -1
- package/es/components/dropdown/Dropdown.d.ts +11 -10
- package/es/components/form-label/FormLabel.d.ts +1 -1
- package/es/components/form-row/FormRow.d.ts +4 -4
- package/es/components/form-set/FormSet.d.ts +5 -5
- package/es/components/global-error/GlobalError.d.ts +1 -1
- package/es/components/global-status/GlobalStatus.d.ts +5 -5
- package/es/components/heading/Heading.d.ts +2 -2
- package/es/components/heading/HeadingProvider.d.ts +2 -2
- package/es/components/help-button/HelpButton.d.ts +1 -1
- package/es/components/help-button/HelpButtonInstance.d.ts +3 -2
- package/es/components/icon/Icon.d.ts +2 -2
- package/es/components/icon-primary/IconPrimary.d.ts +4 -3
- package/es/components/index.d.ts +8 -0
- package/es/components/index.js +5 -1
- package/es/components/info-card/InfoCard.js +135 -0
- package/es/components/info-card/InfoCard.tsx +250 -0
- package/es/components/info-card/index.d.ts +8 -0
- package/es/components/info-card/index.js +3 -0
- package/es/components/info-card/style/_info-card.scss +52 -0
- package/es/components/info-card/style/dnb-info-card.css +135 -0
- package/es/components/info-card/style/dnb-info-card.min.css +1 -0
- package/es/components/info-card/style/dnb-info-card.scss +12 -0
- package/es/components/info-card/style/index.d.ts +6 -0
- package/es/components/info-card/style/index.js +1 -0
- package/es/components/info-card/style.js +1 -0
- package/es/components/input/Input.d.ts +11 -10
- package/es/components/input-masked/InputMasked.d.ts +11 -11
- package/es/components/input-masked/InputMasked.js +6 -4
- package/es/components/input-masked/InputMaskedHooks.js +27 -30
- package/es/components/input-masked/InputMaskedUtils.js +7 -18
- package/es/components/lib.js +9 -1
- package/es/components/modal/Modal.js +127 -251
- package/es/components/modal/Modal.tsx +524 -0
- package/es/components/modal/ModalContent.js +120 -213
- package/es/components/modal/ModalContent.tsx +519 -0
- package/es/components/modal/ModalContext.tsx +10 -0
- package/es/components/modal/ModalRoot.js +108 -0
- package/es/components/modal/ModalRoot.tsx +131 -0
- package/es/components/modal/components/CloseButton.js +41 -0
- package/es/components/modal/components/CloseButton.tsx +56 -0
- package/es/components/modal/components/ModalHeader.js +40 -0
- package/es/components/modal/components/ModalHeader.tsx +79 -0
- package/es/components/modal/components/ModalHeaderBar.js +88 -0
- package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
- package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
- package/es/components/modal/components/ModalInner.tsx +45 -0
- package/es/components/modal/helpers.js +60 -0
- package/es/components/modal/helpers.ts +63 -0
- package/es/components/modal/types.js +1 -0
- package/es/components/modal/{Modal.d.ts → types.ts} +125 -179
- package/es/components/number-format/NumberFormat.d.ts +10 -10
- package/es/components/pagination/Pagination.d.ts +36 -36
- package/es/components/pagination/Pagination.js +5 -2
- package/es/components/pagination/PaginationProvider.d.ts +2 -2
- package/es/components/radio/Radio.d.ts +5 -5
- package/es/components/radio/RadioGroup.d.ts +4 -4
- package/es/components/section/Section.d.ts +3 -2
- package/es/components/skeleton/Skeleton.d.ts +3 -3
- package/es/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/es/components/slider/Slider.d.ts +5 -5
- package/es/components/step-indicator/StepIndicator.d.ts +6 -6
- package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
- package/es/components/step-indicator/StepIndicatorItem.d.ts +3 -3
- package/es/components/step-indicator/StepIndicatorItem.js +1 -0
- package/es/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
- package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
- package/es/components/switch/Switch.d.ts +6 -6
- package/es/components/tabs/Tabs.d.ts +8 -8
- package/es/components/tabs/TabsContentWrapper.d.ts +2 -2
- package/es/components/tabs/TabsCustomContent.d.ts +1 -1
- package/es/components/tag/Tag.js +112 -0
- package/es/components/tag/Tag.tsx +196 -0
- package/es/components/tag/TagContext.js +2 -0
- package/es/components/tag/TagContext.tsx +3 -0
- package/es/components/tag/TagGroup.js +47 -0
- package/es/components/tag/TagGroup.tsx +76 -0
- package/es/components/tag/index.d.ts +8 -0
- package/es/components/tag/index.js +3 -0
- package/es/components/tag/style/_tag.scss +90 -0
- package/es/components/tag/style/dnb-tag.css +925 -0
- package/es/components/tag/style/dnb-tag.min.css +1 -0
- package/es/components/tag/style/dnb-tag.scss +15 -0
- package/es/components/tag/style/index.d.ts +6 -0
- package/es/components/tag/style/index.js +1 -0
- package/es/components/tag/style/themes/_tag-mixins.scss +18 -0
- package/es/components/tag/style.js +1 -0
- package/es/components/textarea/Textarea.d.ts +4 -4
- package/es/components/timeline/Timeline.js +52 -0
- package/es/components/timeline/Timeline.tsx +95 -0
- package/es/components/timeline/TimelineItem.js +108 -0
- package/es/components/timeline/TimelineItem.tsx +191 -0
- package/es/components/timeline/index.d.ts +8 -0
- package/es/components/timeline/index.js +3 -0
- package/es/components/timeline/style/_timeline.scss +42 -0
- package/es/components/timeline/style/dnb-timeline.css +307 -0
- package/es/components/timeline/style/dnb-timeline.min.css +1 -0
- package/es/components/timeline/style/dnb-timeline.scss +12 -0
- package/es/components/timeline/style/index.d.ts +6 -0
- package/es/components/timeline/style/index.js +1 -0
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
- package/es/components/timeline/style/themes/ui.js +1 -0
- package/es/components/timeline/style.js +1 -0
- package/es/components/toggle-button/ToggleButton.d.ts +7 -7
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
- package/es/components/tooltip/Tooltip.d.ts +5 -5
- package/es/components/tooltip/TooltipContainer.d.ts +3 -3
- package/es/components/tooltip/TooltipPortal.d.ts +1 -1
- package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/es/elements/Div.d.ts +1 -1
- package/es/elements/Img.d.ts +2 -2
- package/es/elements/P.d.ts +2 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +1 -1
- package/es/extensions/payment-card/style/_payment-card.scss +0 -1
- package/es/extensions/payment-card/style/dnb-payment-card.css +0 -1
- package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js +1 -0
- package/es/fragments/scroll-view/ScrollView.js +7 -15
- package/es/fragments/scroll-view/ScrollView.tsx +92 -0
- package/es/index.d.ts +8 -0
- package/es/index.js +5 -1
- package/es/shared/AnimateHeight.js +15 -13
- package/es/shared/Context.js +11 -4
- package/es/shared/helpers.js +9 -2
- package/es/shared/hooks/index.js +1 -0
- package/es/shared/hooks/index.ts +1 -0
- package/es/shared/hooks/usePropsWithContext.js +26 -0
- package/es/shared/hooks/usePropsWithContext.ts +45 -0
- package/es/shared/interfaces.tsx +0 -2
- package/es/shared/locales/en-GB.js +5 -0
- package/es/shared/locales/nb-NO.js +5 -0
- package/es/style/core/helper-classes/skip-link.scss +1 -1
- package/es/style/dnb-ui-components.css +719 -0
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-components.scss +4 -0
- package/es/style/dnb-ui-elements.css +1 -0
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +0 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-tags.css +2 -0
- package/es/style/dnb-ui-tags.min.css +2 -2
- package/es/style/elements/code.scss +1 -0
- package/es/style/stylis.d.ts +38 -0
- package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
- package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
- package/es/style/themes/theme-ui/dnb-theme-ui.css +224 -0
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
- package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/esm/components/Avatar.d.ts +14 -0
- package/esm/components/Avatar.js +3 -0
- package/esm/components/InfoCard.d.ts +14 -0
- package/esm/components/InfoCard.js +3 -0
- package/esm/components/Tag.d.ts +14 -0
- package/esm/components/Tag.js +3 -0
- package/esm/components/Timeline.d.ts +14 -0
- package/esm/components/Timeline.js +3 -0
- package/esm/components/accordion/Accordion.d.ts +7 -7
- package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
- package/esm/components/avatar/Avatar.js +90 -0
- package/esm/components/avatar/Avatar.tsx +162 -0
- package/esm/components/avatar/AvatarGroup.js +94 -0
- package/esm/components/avatar/AvatarGroup.tsx +163 -0
- package/esm/components/avatar/index.d.ts +8 -0
- package/esm/components/avatar/index.js +3 -0
- package/esm/components/avatar/style/_avatar.scss +147 -0
- package/esm/components/avatar/style/dnb-avatar.css +221 -0
- package/esm/components/avatar/style/dnb-avatar.min.css +1 -0
- package/esm/components/avatar/style/dnb-avatar.scss +12 -0
- package/esm/components/avatar/style/index.d.ts +6 -0
- package/esm/components/avatar/style/index.js +1 -0
- package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
- package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
- package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
- package/esm/components/avatar/style/themes/ui.js +1 -0
- package/esm/components/avatar/style.js +1 -0
- package/esm/components/breadcrumb/Breadcrumb.js +22 -35
- package/esm/components/breadcrumb/Breadcrumb.tsx +10 -10
- package/esm/components/breadcrumb/BreadcrumbItem.js +17 -28
- package/esm/components/breadcrumb/BreadcrumbItem.tsx +10 -13
- package/esm/components/button/Button.d.ts +18 -14
- package/esm/components/button/Button.js +7 -5
- package/esm/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
- package/esm/components/checkbox/Checkbox.d.ts +3 -3
- package/esm/components/date-picker/DatePicker.d.ts +14 -14
- package/esm/components/date-picker/DatePicker.js +4 -2
- package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
- package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
- package/esm/components/date-picker/DatePickerFooter.d.ts +1 -0
- package/esm/components/date-picker/DatePickerFooter.js +10 -6
- package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
- package/esm/components/dropdown/Dropdown.d.ts +11 -10
- package/esm/components/form-label/FormLabel.d.ts +1 -1
- package/esm/components/form-row/FormRow.d.ts +4 -4
- package/esm/components/form-set/FormSet.d.ts +5 -5
- package/esm/components/global-error/GlobalError.d.ts +1 -1
- package/esm/components/global-status/GlobalStatus.d.ts +5 -5
- package/esm/components/heading/Heading.d.ts +2 -2
- package/esm/components/heading/HeadingProvider.d.ts +2 -2
- package/esm/components/help-button/HelpButton.d.ts +1 -1
- package/esm/components/help-button/HelpButtonInstance.d.ts +3 -2
- package/esm/components/icon/Icon.d.ts +2 -2
- package/esm/components/icon-primary/IconPrimary.d.ts +2 -1
- package/esm/components/index.d.ts +8 -0
- package/esm/components/index.js +5 -1
- package/esm/components/info-card/InfoCard.js +140 -0
- package/esm/components/info-card/InfoCard.tsx +250 -0
- package/esm/components/info-card/index.d.ts +8 -0
- package/esm/components/info-card/index.js +3 -0
- package/esm/components/info-card/style/_info-card.scss +52 -0
- package/esm/components/info-card/style/dnb-info-card.css +135 -0
- package/esm/components/info-card/style/dnb-info-card.min.css +1 -0
- package/esm/components/info-card/style/dnb-info-card.scss +12 -0
- package/esm/components/info-card/style/index.d.ts +6 -0
- package/esm/components/info-card/style/index.js +1 -0
- package/esm/components/info-card/style.js +1 -0
- package/esm/components/input/Input.d.ts +11 -10
- package/esm/components/input-masked/InputMasked.d.ts +11 -11
- package/esm/components/input-masked/InputMasked.js +6 -4
- package/esm/components/input-masked/InputMaskedHooks.js +42 -45
- package/esm/components/input-masked/InputMaskedUtils.js +9 -20
- package/esm/components/lib.js +9 -1
- package/esm/components/modal/Modal.js +146 -278
- package/esm/components/modal/Modal.tsx +524 -0
- package/esm/components/modal/ModalContent.js +162 -256
- package/esm/components/modal/ModalContent.tsx +519 -0
- package/esm/components/modal/ModalContext.tsx +10 -0
- package/esm/components/modal/ModalRoot.js +145 -0
- package/esm/components/modal/ModalRoot.tsx +131 -0
- package/esm/components/modal/components/CloseButton.js +72 -0
- package/esm/components/modal/components/CloseButton.tsx +56 -0
- package/esm/components/modal/components/ModalHeader.js +70 -0
- package/esm/components/modal/components/ModalHeader.tsx +79 -0
- package/esm/components/modal/components/ModalHeaderBar.js +122 -0
- package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
- package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
- package/esm/components/modal/components/ModalInner.tsx +45 -0
- package/esm/components/modal/helpers.js +64 -0
- package/esm/components/modal/helpers.ts +63 -0
- package/esm/components/modal/types.js +1 -0
- package/esm/components/modal/{Modal.d.ts → types.ts} +125 -179
- package/esm/components/number-format/NumberFormat.d.ts +10 -10
- package/esm/components/pagination/Pagination.d.ts +36 -36
- package/esm/components/pagination/Pagination.js +9 -2
- package/esm/components/pagination/PaginationProvider.d.ts +2 -2
- package/esm/components/radio/Radio.d.ts +5 -5
- package/esm/components/radio/RadioGroup.d.ts +4 -4
- package/esm/components/section/Section.d.ts +3 -1
- package/esm/components/skeleton/Skeleton.d.ts +2 -2
- package/esm/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/esm/components/slider/Slider.d.ts +5 -5
- package/esm/components/step-indicator/StepIndicator.d.ts +6 -6
- package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
- package/esm/components/step-indicator/StepIndicatorItem.d.ts +3 -3
- package/esm/components/step-indicator/StepIndicatorItem.js +1 -0
- package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
- package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
- package/esm/components/step-indicator/StepIndicatorTriggerButton.js +4 -4
- package/esm/components/switch/Switch.d.ts +6 -6
- package/esm/components/tabs/Tabs.d.ts +8 -8
- package/esm/components/tabs/TabsContentWrapper.d.ts +2 -2
- package/esm/components/tabs/TabsCustomContent.d.ts +1 -1
- package/esm/components/tag/Tag.js +112 -0
- package/esm/components/tag/Tag.tsx +196 -0
- package/esm/components/tag/TagContext.js +2 -0
- package/esm/components/tag/TagContext.tsx +3 -0
- package/esm/components/tag/TagGroup.js +47 -0
- package/esm/components/tag/TagGroup.tsx +76 -0
- package/esm/components/tag/index.d.ts +8 -0
- package/esm/components/tag/index.js +3 -0
- package/esm/components/tag/style/_tag.scss +90 -0
- package/esm/components/tag/style/dnb-tag.css +925 -0
- package/esm/components/tag/style/dnb-tag.min.css +1 -0
- package/esm/components/tag/style/dnb-tag.scss +15 -0
- package/esm/components/tag/style/index.d.ts +6 -0
- package/esm/components/tag/style/index.js +1 -0
- package/esm/components/tag/style/themes/_tag-mixins.scss +18 -0
- package/esm/components/tag/style.js +1 -0
- package/esm/components/textarea/Textarea.d.ts +4 -4
- package/esm/components/timeline/Timeline.js +53 -0
- package/esm/components/timeline/Timeline.tsx +95 -0
- package/esm/components/timeline/TimelineItem.js +102 -0
- package/esm/components/timeline/TimelineItem.tsx +191 -0
- package/esm/components/timeline/index.d.ts +8 -0
- package/esm/components/timeline/index.js +3 -0
- package/esm/components/timeline/style/_timeline.scss +42 -0
- package/esm/components/timeline/style/dnb-timeline.css +307 -0
- package/esm/components/timeline/style/dnb-timeline.min.css +1 -0
- package/esm/components/timeline/style/dnb-timeline.scss +12 -0
- package/esm/components/timeline/style/index.d.ts +6 -0
- package/esm/components/timeline/style/index.js +1 -0
- package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
- package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
- package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
- package/esm/components/timeline/style/themes/ui.js +1 -0
- package/esm/components/timeline/style.js +1 -0
- package/esm/components/toggle-button/ToggleButton.d.ts +7 -7
- package/esm/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
- package/esm/components/tooltip/Tooltip.d.ts +5 -5
- package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
- package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
- package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/esm/dnb-ui-components.min.mjs +4 -4
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +4 -4
- package/esm/dnb-ui-web-components.min.mjs +4 -4
- package/esm/elements/Img.d.ts +1 -1
- package/esm/elements/P.d.ts +2 -1
- package/esm/extensions/payment-card/PaymentCard.d.ts +1 -1
- package/esm/extensions/payment-card/style/_payment-card.scss +0 -1
- package/esm/extensions/payment-card/style/dnb-payment-card.css +0 -1
- package/esm/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/esm/fragments/drawer-list/DrawerListProvider.js +1 -0
- package/esm/fragments/scroll-view/ScrollView.js +10 -16
- package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
- package/esm/index.d.ts +8 -0
- package/esm/index.js +5 -1
- package/esm/shared/AnimateHeight.js +19 -13
- package/esm/shared/Context.js +11 -4
- package/esm/shared/helpers.js +15 -4
- package/esm/shared/hooks/index.js +1 -0
- package/esm/shared/hooks/index.ts +1 -0
- package/esm/shared/hooks/usePropsWithContext.js +47 -0
- package/esm/shared/hooks/usePropsWithContext.ts +45 -0
- package/esm/shared/interfaces.tsx +0 -2
- package/esm/shared/locales/en-GB.js +5 -0
- package/esm/shared/locales/nb-NO.js +5 -0
- package/esm/style/core/helper-classes/skip-link.scss +1 -1
- package/esm/style/dnb-ui-components.css +719 -0
- package/esm/style/dnb-ui-components.min.css +3 -3
- package/esm/style/dnb-ui-components.scss +4 -0
- package/esm/style/dnb-ui-elements.css +1 -0
- package/esm/style/dnb-ui-elements.min.css +1 -1
- package/esm/style/dnb-ui-extensions.css +0 -1
- package/esm/style/dnb-ui-extensions.min.css +1 -1
- package/esm/style/dnb-ui-tags.css +2 -0
- package/esm/style/dnb-ui-tags.min.css +2 -2
- package/esm/style/elements/code.scss +1 -0
- package/esm/style/stylis.d.ts +38 -0
- package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
- package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
- package/esm/style/themes/theme-ui/dnb-theme-ui.css +224 -0
- package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
- package/esm/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/extensions/payment-card/PaymentCard.d.ts +1 -1
- package/extensions/payment-card/style/_payment-card.scss +0 -1
- package/extensions/payment-card/style/dnb-payment-card.css +0 -1
- package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
- package/fragments/drawer-list/DrawerListProvider.js +1 -0
- package/fragments/scroll-view/ScrollView.js +10 -16
- package/fragments/scroll-view/ScrollView.tsx +92 -0
- package/index.d.ts +8 -0
- package/index.js +5 -1
- package/package.json +2 -3
- package/shared/AnimateHeight.js +19 -13
- package/shared/Context.js +11 -4
- package/shared/helpers.js +15 -4
- package/shared/hooks/index.js +1 -0
- package/shared/hooks/index.ts +1 -0
- package/shared/hooks/usePropsWithContext.js +47 -0
- package/shared/hooks/usePropsWithContext.ts +45 -0
- package/shared/interfaces.tsx +0 -2
- package/shared/locales/en-GB.js +5 -0
- package/shared/locales/nb-NO.js +5 -0
- package/style/core/helper-classes/skip-link.scss +1 -1
- package/style/dnb-ui-components.css +719 -0
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-components.scss +4 -0
- package/style/dnb-ui-elements.css +1 -0
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +0 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-tags.css +2 -0
- package/style/dnb-ui-tags.min.css +2 -2
- package/style/elements/code.scss +1 -0
- package/style/stylis.d.ts +38 -0
- package/style/themes/theme-open-banking/dnb-theme-open-banking.css +224 -0
- package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
- package/style/themes/theme-ui/dnb-theme-ui.css +224 -0
- package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
- package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/umd/dnb-ui-components.min.js +5 -5
- package/umd/dnb-ui-elements.min.js +3 -3
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +5 -5
- package/umd/dnb-ui-web-components.min.js +5 -5
- package/cjs/components/modal/ModalContent.d.ts +0 -168
- package/cjs/components/modal/ModalHeader.d.ts +0 -73
- package/cjs/components/modal/ModalInner.d.ts +0 -20
- package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
- package/components/modal/Modal.d.ts +0 -325
- package/components/modal/ModalContent.d.ts +0 -168
- package/components/modal/ModalHeader.d.ts +0 -73
- package/components/modal/ModalHeader.js +0 -224
- package/components/modal/ModalInner.d.ts +0 -20
- package/es/components/modal/ModalContent.d.ts +0 -168
- package/es/components/modal/ModalHeader.d.ts +0 -73
- package/es/components/modal/ModalHeader.js +0 -166
- package/es/components/modal/ModalInner.d.ts +0 -20
- package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
- package/esm/components/modal/ModalContent.d.ts +0 -168
- package/esm/components/modal/ModalHeader.d.ts +0 -73
- package/esm/components/modal/ModalHeader.js +0 -224
- package/esm/components/modal/ModalInner.d.ts +0 -20
- package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
- package/fragments/scroll-view/ScrollView.d.ts +0 -1
|
@@ -12,7 +12,7 @@ export type StepIndicatorItemIsActive = string | boolean;
|
|
|
12
12
|
export interface StepIndicatorItemProps
|
|
13
13
|
extends React.HTMLProps<HTMLElement> {
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
|
|
16
16
|
*/
|
|
17
17
|
mode?: string;
|
|
18
18
|
title: StepIndicatorItemTitle;
|
|
@@ -29,13 +29,13 @@ export interface StepIndicatorItemProps
|
|
|
29
29
|
on_item_render?: (...args: any[]) => any;
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
* Will be called once the
|
|
32
|
+
* Will be called once the user visits actively a new step. Will be emitted only once. Returns an object `{ event, item, current_step }`.
|
|
33
33
|
*/
|
|
34
34
|
on_change?: (...args: any[]) => any;
|
|
35
35
|
on_render?: (...args: any[]) => any;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* Will be called once the
|
|
38
|
+
* Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.
|
|
39
39
|
*/
|
|
40
40
|
on_click?: (...args: any[]) => any;
|
|
41
41
|
is_current?: boolean;
|
|
@@ -13,7 +13,7 @@ export type StepIndicatorSidebarData =
|
|
|
13
13
|
status_state?: 'warn' | 'info' | 'error';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Will be called once the
|
|
16
|
+
* Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.
|
|
17
17
|
*/
|
|
18
18
|
on_click?: (...args: any[]) => any;
|
|
19
19
|
on_render?: (...args: any[]) => any;
|
|
@@ -29,12 +29,12 @@ export type StepIndicatorSidebarData =
|
|
|
29
29
|
export interface StepIndicatorSidebarProps
|
|
30
30
|
extends React.HTMLProps<HTMLElement> {
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
|
|
33
33
|
*/
|
|
34
34
|
sidebar_id: string;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
|
|
38
38
|
*/
|
|
39
39
|
mode?: StepIndicatorSidebarMode;
|
|
40
40
|
|
|
@@ -44,7 +44,7 @@ export interface StepIndicatorSidebarProps
|
|
|
44
44
|
current_step?: StepIndicatorSidebarCurrentStep;
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* <em>(required)</em> defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.
|
|
48
48
|
*/
|
|
49
49
|
data?: StepIndicatorSidebarData;
|
|
50
50
|
internalId?: string;
|
|
@@ -6,7 +6,7 @@ import * as React from 'react';
|
|
|
6
6
|
export interface StepIndicatorTriggerButtonProps
|
|
7
7
|
extends React.HTMLProps<HTMLElement> {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
|
|
10
10
|
*/
|
|
11
11
|
sidebar_id?: string;
|
|
12
12
|
className?: string;
|
|
@@ -32,6 +32,8 @@ export default class StepIndicatorTriggerButton extends React.PureComponent {
|
|
|
32
32
|
|
|
33
33
|
componentDidMount() {
|
|
34
34
|
this._heightAnim.setElement(this._buttonRef.current);
|
|
35
|
+
|
|
36
|
+
this._prevStep = this.context.activeStep;
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
componentWillUnmount() {
|
|
@@ -42,12 +44,10 @@ export default class StepIndicatorTriggerButton extends React.PureComponent {
|
|
|
42
44
|
if (this._prevStep !== this.context.activeStep) {
|
|
43
45
|
const toHeight = this._heightAnim.getUnknownHeight();
|
|
44
46
|
|
|
45
|
-
this._heightAnim.adjustFrom(height);
|
|
46
|
-
|
|
47
47
|
this._heightAnim.adjustTo(height, toHeight);
|
|
48
|
-
}
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
this._prevStep = this.context.activeStep;
|
|
50
|
+
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
render() {
|
|
@@ -57,7 +57,7 @@ export type SwitchChildren = string | ((...args: any[]) => any);
|
|
|
57
57
|
*/
|
|
58
58
|
export interface SwitchProps extends React.HTMLProps<HTMLElement> {
|
|
59
59
|
/**
|
|
60
|
-
* Use either the `label` property or provide custom one.
|
|
60
|
+
* Use either the `label` property or provide a custom one.
|
|
61
61
|
*/
|
|
62
62
|
label?: SwitchLabel;
|
|
63
63
|
|
|
@@ -67,13 +67,13 @@ export interface SwitchProps extends React.HTMLProps<HTMLElement> {
|
|
|
67
67
|
label_position?: SwitchLabelPosition;
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
70
|
+
* <em>(required)</em> the `title` of the input - describing it a bit further for accessibility reasons.
|
|
71
71
|
*/
|
|
72
72
|
title?: string;
|
|
73
73
|
default_state?: SwitchDefaultState;
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
* Determine whether the switch is checked or not.
|
|
76
|
+
* Determine whether the switch is checked or not. The default will be `false`.
|
|
77
77
|
*/
|
|
78
78
|
checked?: SwitchChecked;
|
|
79
79
|
disabled?: SwitchDisabled;
|
|
@@ -90,7 +90,7 @@ export interface SwitchProps extends React.HTMLProps<HTMLElement> {
|
|
|
90
90
|
status?: SwitchStatus;
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
* Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.
|
|
93
|
+
* Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
|
|
94
94
|
*/
|
|
95
95
|
status_state?: string;
|
|
96
96
|
|
|
@@ -149,12 +149,12 @@ export interface SwitchProps extends React.HTMLProps<HTMLElement> {
|
|
|
149
149
|
custom_method?: (...args: any[]) => any;
|
|
150
150
|
|
|
151
151
|
/**
|
|
152
|
-
* Will be called on state changes made by the user. Returns
|
|
152
|
+
* Will be called on state changes made by the user. Returns a boolean `{ checked, event }`.
|
|
153
153
|
*/
|
|
154
154
|
on_change?: (...args: any[]) => any;
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
|
-
* Will be called on state changes made by the user, but with a delay. This way the
|
|
157
|
+
* Will be called on state changes made by the user, but with a delay. This way the user sees the animation before e.g. an error will be removed. Returns a boolean `{ checked, event }`.
|
|
158
158
|
*/
|
|
159
159
|
on_change_end?: (...args: any[]) => any;
|
|
160
160
|
on_state_update?: (...args: any[]) => any;
|
|
@@ -66,12 +66,12 @@ export type TabsChildren =
|
|
|
66
66
|
*/
|
|
67
67
|
export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* <em>(required)</em> defines the data structure to load as a JSON. e.g. `[{title: '...', content: 'Current tab', key
|
|
70
70
|
*/
|
|
71
71
|
data?: TabsData;
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
|
|
75
75
|
*/
|
|
76
76
|
content?: TabsContent;
|
|
77
77
|
|
|
@@ -81,7 +81,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
|
81
81
|
content_style?: string;
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
|
-
* To modify the `spacing`
|
|
84
|
+
* To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
|
|
85
85
|
*/
|
|
86
86
|
content_spacing?: TabsContentSpacing;
|
|
87
87
|
label?: string;
|
|
@@ -107,7 +107,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
|
107
107
|
tabs_style?: string;
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
|
-
* To modify the `spacing` inside the
|
|
110
|
+
* To modify the `spacing` inside the tab list. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `false`.
|
|
111
111
|
*/
|
|
112
112
|
tabs_spacing?: TabsTabsSpacing;
|
|
113
113
|
use_hash?: TabsUseHash;
|
|
@@ -118,7 +118,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
|
118
118
|
prerender?: TabsPrerender;
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
|
-
* If set to `true`, the Tabs content will stay in the DOM. The visibility will be handled by using the `hidden` and `aria-hidden` HTML attributes. Similar to `prerender`, but in contrast, the content will render once the
|
|
121
|
+
* If set to `true`, the Tabs content will stay in the DOM. The visibility will be handled by using the `hidden` and `aria-hidden` HTML attributes. Similar to `prerender`, but in contrast, the content will render once the user is activating a tab. Defaults to `false`.
|
|
122
122
|
*/
|
|
123
123
|
prevent_rerender?: TabsPreventRerender;
|
|
124
124
|
|
|
@@ -161,7 +161,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
|
161
161
|
className?: string;
|
|
162
162
|
|
|
163
163
|
/**
|
|
164
|
-
*
|
|
164
|
+
* <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
|
|
165
165
|
*/
|
|
166
166
|
children?: TabsChildren;
|
|
167
167
|
render?: (...args: any[]) => any;
|
|
@@ -172,7 +172,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
|
|
|
172
172
|
on_change?: (...args: any[]) => any;
|
|
173
173
|
|
|
174
174
|
/**
|
|
175
|
-
* This event gets triggered once the
|
|
175
|
+
* This event gets triggered once the user's mouse enters a tab (hover). Returns `{ key, selected_key, focus_key, event }`.
|
|
176
176
|
*/
|
|
177
177
|
on_mouse_enter?: (...args: any[]) => any;
|
|
178
178
|
|
|
@@ -198,7 +198,7 @@ export default class Tabs extends React.Component<TabsProps, any> {
|
|
|
198
198
|
*/
|
|
199
199
|
export interface DummyProps {
|
|
200
200
|
/**
|
|
201
|
-
*
|
|
201
|
+
* <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
|
|
202
202
|
*/
|
|
203
203
|
children: React.ReactNode;
|
|
204
204
|
}
|
|
@@ -22,12 +22,12 @@ export interface ContentWrapperProps extends React.HTMLProps<HTMLElement> {
|
|
|
22
22
|
content_style?: string;
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* To modify the `spacing`
|
|
25
|
+
* To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
|
|
26
26
|
*/
|
|
27
27
|
content_spacing?: ContentWrapperContentSpacing;
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
|
|
31
31
|
*/
|
|
32
32
|
children?: ContentWrapperChildren;
|
|
33
33
|
}
|
|
@@ -74,7 +74,7 @@ export interface CustomContentProps extends React.HTMLProps<HTMLElement> {
|
|
|
74
74
|
left?: CustomContentLeft;
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
|
|
78
78
|
*/
|
|
79
79
|
children?: CustomContentChildren;
|
|
80
80
|
className?: string;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
|
|
4
|
+
var _IconPrimary;
|
|
5
|
+
|
|
6
|
+
const _excluded = ["className", "skeleton", "children", "text", "onClick", "onDelete", "omitOnKeyUpDeleteEvent"];
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import classnames from 'classnames';
|
|
9
|
+
import IconPrimary from '../icon-primary/IconPrimary';
|
|
10
|
+
import Button from '../button/Button';
|
|
11
|
+
import Context from '../../shared/Context';
|
|
12
|
+
import { warn } from '../../shared/component-helper';
|
|
13
|
+
import { usePropsWithContext } from '../../shared/hooks';
|
|
14
|
+
import TagGroup from './TagGroup';
|
|
15
|
+
import { TagGroupContext } from './TagContext';
|
|
16
|
+
export const defaultProps = {
|
|
17
|
+
className: null,
|
|
18
|
+
skeleton: false,
|
|
19
|
+
text: null,
|
|
20
|
+
children: null,
|
|
21
|
+
icon: null,
|
|
22
|
+
onClick: null,
|
|
23
|
+
onDelete: null,
|
|
24
|
+
omitOnKeyUpDeleteEvent: false
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const Tag = localProps => {
|
|
28
|
+
var _context$translation;
|
|
29
|
+
|
|
30
|
+
const context = React.useContext(Context);
|
|
31
|
+
const tagGroupContext = React.useContext(TagGroupContext);
|
|
32
|
+
|
|
33
|
+
const _usePropsWithContext = usePropsWithContext(localProps, defaultProps, context === null || context === void 0 ? void 0 : (_context$translation = context.translation) === null || _context$translation === void 0 ? void 0 : _context$translation.Tag, context === null || context === void 0 ? void 0 : context.Tag, tagGroupContext),
|
|
34
|
+
{
|
|
35
|
+
className,
|
|
36
|
+
skeleton,
|
|
37
|
+
children,
|
|
38
|
+
text,
|
|
39
|
+
onClick,
|
|
40
|
+
onDelete,
|
|
41
|
+
omitOnKeyUpDeleteEvent
|
|
42
|
+
} = _usePropsWithContext,
|
|
43
|
+
props = _objectWithoutProperties(_usePropsWithContext, _excluded);
|
|
44
|
+
|
|
45
|
+
const content = text || children;
|
|
46
|
+
const isClickable = !!onClick;
|
|
47
|
+
const isRemovable = !!onDelete && !isClickable;
|
|
48
|
+
const isInteractive = isClickable || isRemovable;
|
|
49
|
+
const tagClassNames = classnames('dnb-tag', className, isInteractive && 'dnb-tag--interactive', isRemovable && 'dnb-tag--removable');
|
|
50
|
+
|
|
51
|
+
const isDeleteKeyboardEvent = keyboardEvent => {
|
|
52
|
+
return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const handleKeyUp = event => {
|
|
56
|
+
if (onDelete && isDeleteKeyboardEvent(event)) {
|
|
57
|
+
onDelete(event);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const buttonAttr = props;
|
|
62
|
+
|
|
63
|
+
if (!isInteractive) {
|
|
64
|
+
buttonAttr.element = 'span';
|
|
65
|
+
buttonAttr.type = '';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (isRemovable) {
|
|
69
|
+
buttonAttr.icon = getDeleteIcon();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (!tagGroupContext) {
|
|
73
|
+
warn(`Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return React.createElement(Button, _extends({
|
|
77
|
+
"data-testid": "tag",
|
|
78
|
+
variant: "unstyled",
|
|
79
|
+
size: "small",
|
|
80
|
+
icon_position: isRemovable ? 'right' : 'left',
|
|
81
|
+
className: tagClassNames,
|
|
82
|
+
on_click: onClick || onDelete,
|
|
83
|
+
text: content,
|
|
84
|
+
skeleton: skeleton,
|
|
85
|
+
onKeyUp: isRemovable && !omitOnKeyUpDeleteEvent ? e => handleKeyUp(e) : undefined
|
|
86
|
+
}, buttonAttr));
|
|
87
|
+
|
|
88
|
+
function getDeleteIcon() {
|
|
89
|
+
return _IconPrimary || (_IconPrimary = React.createElement(IconPrimary, {
|
|
90
|
+
"data-testid": "tag-delete-icon",
|
|
91
|
+
inherit_color: false,
|
|
92
|
+
icon: React.createElement("svg", {
|
|
93
|
+
width: "16",
|
|
94
|
+
height: "16",
|
|
95
|
+
fill: "none",
|
|
96
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
97
|
+
}, React.createElement("path", {
|
|
98
|
+
d: "M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z",
|
|
99
|
+
className: "dnb-icon-close-circle-path"
|
|
100
|
+
}), React.createElement("path", {
|
|
101
|
+
d: "m5.5 10.5 5-5m0 5-5-5",
|
|
102
|
+
className: "dnb-icon-close-cross-path",
|
|
103
|
+
strokeWidth: "1.5",
|
|
104
|
+
strokeLinecap: "round",
|
|
105
|
+
strokeLinejoin: "round"
|
|
106
|
+
}))
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
Tag.Group = TagGroup;
|
|
112
|
+
export default Tag;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import classnames from 'classnames'
|
|
3
|
+
|
|
4
|
+
// Components
|
|
5
|
+
import IconPrimary, { IconPrimaryIcon } from '../icon-primary/IconPrimary'
|
|
6
|
+
import Button, { ButtonProps } from '../button/Button'
|
|
7
|
+
|
|
8
|
+
// Shared
|
|
9
|
+
import Context from '../../shared/Context'
|
|
10
|
+
import { ISpacingProps } from '../../shared/interfaces'
|
|
11
|
+
import { SkeletonShow } from '../skeleton/Skeleton'
|
|
12
|
+
import { warn } from '../../shared/component-helper'
|
|
13
|
+
import { usePropsWithContext } from '../../shared/hooks'
|
|
14
|
+
|
|
15
|
+
// Internal
|
|
16
|
+
import TagGroup from './TagGroup'
|
|
17
|
+
import { TagGroupContext } from './TagContext'
|
|
18
|
+
|
|
19
|
+
export interface TagProps {
|
|
20
|
+
/**
|
|
21
|
+
* The content of the tag element, can be a string or a React Element.
|
|
22
|
+
* Default: null
|
|
23
|
+
*/
|
|
24
|
+
text?: string | React.ReactNode
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Icon displaying on the left side
|
|
28
|
+
* Default: null
|
|
29
|
+
*/
|
|
30
|
+
icon?: IconPrimaryIcon
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Custom className on the component root
|
|
34
|
+
* Default: null
|
|
35
|
+
*/
|
|
36
|
+
className?: string
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Skeleton should be applied when loading content
|
|
40
|
+
* Default: null
|
|
41
|
+
*/
|
|
42
|
+
skeleton?: SkeletonShow
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The content of the tag element, can be a string or a React Element. Will be overwritten by text prop
|
|
46
|
+
* Default: null
|
|
47
|
+
*/
|
|
48
|
+
children?: string | React.ReactNode // ReactNode allows multiple elements, strings, numbers, fragments, portals...
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Handle the click event on 'tag' element
|
|
52
|
+
* Default: null
|
|
53
|
+
*/
|
|
54
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement>
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Handle the delete event on 'tag' element
|
|
58
|
+
* Default: null
|
|
59
|
+
*/
|
|
60
|
+
onDelete?: React.MouseEventHandler<HTMLButtonElement>
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Handle the delete event on 'tag' element
|
|
64
|
+
* Default: null
|
|
65
|
+
*/
|
|
66
|
+
omitOnKeyUpDeleteEvent?: boolean
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const defaultProps = {
|
|
70
|
+
className: null,
|
|
71
|
+
skeleton: false,
|
|
72
|
+
text: null,
|
|
73
|
+
children: null,
|
|
74
|
+
icon: null,
|
|
75
|
+
onClick: null,
|
|
76
|
+
onDelete: null,
|
|
77
|
+
omitOnKeyUpDeleteEvent: false,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const Tag = (localProps: TagProps & ISpacingProps) => {
|
|
81
|
+
// Every component should have a context
|
|
82
|
+
const context = React.useContext(Context)
|
|
83
|
+
const tagGroupContext = React.useContext(TagGroupContext)
|
|
84
|
+
|
|
85
|
+
// Extract additional props from global context
|
|
86
|
+
const {
|
|
87
|
+
className,
|
|
88
|
+
skeleton,
|
|
89
|
+
children,
|
|
90
|
+
text,
|
|
91
|
+
onClick,
|
|
92
|
+
onDelete,
|
|
93
|
+
omitOnKeyUpDeleteEvent,
|
|
94
|
+
...props
|
|
95
|
+
} = usePropsWithContext(
|
|
96
|
+
localProps,
|
|
97
|
+
defaultProps,
|
|
98
|
+
context?.translation?.Tag,
|
|
99
|
+
context?.Tag,
|
|
100
|
+
tagGroupContext
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
const content = text || children
|
|
104
|
+
const isClickable = !!onClick
|
|
105
|
+
const isRemovable = !!onDelete && !isClickable
|
|
106
|
+
const isInteractive = isClickable || isRemovable
|
|
107
|
+
|
|
108
|
+
const tagClassNames = classnames(
|
|
109
|
+
'dnb-tag',
|
|
110
|
+
className,
|
|
111
|
+
isInteractive && 'dnb-tag--interactive',
|
|
112
|
+
isRemovable && 'dnb-tag--removable'
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
const isDeleteKeyboardEvent = (keyboardEvent) => {
|
|
116
|
+
return (
|
|
117
|
+
keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete'
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const handleKeyUp = (event) => {
|
|
122
|
+
if (onDelete && isDeleteKeyboardEvent(event)) {
|
|
123
|
+
onDelete(event)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const buttonAttr: typeof props & Pick<ButtonProps, 'element' | 'type'> =
|
|
128
|
+
props
|
|
129
|
+
|
|
130
|
+
if (!isInteractive) {
|
|
131
|
+
buttonAttr.element = 'span'
|
|
132
|
+
buttonAttr.type = ''
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (isRemovable) {
|
|
136
|
+
buttonAttr.icon = getDeleteIcon()
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (!tagGroupContext) {
|
|
140
|
+
warn(
|
|
141
|
+
`Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.`
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return (
|
|
146
|
+
<Button
|
|
147
|
+
data-testid="tag"
|
|
148
|
+
variant="unstyled"
|
|
149
|
+
size="small"
|
|
150
|
+
icon_position={isRemovable ? 'right' : 'left'}
|
|
151
|
+
className={tagClassNames}
|
|
152
|
+
on_click={onClick || onDelete}
|
|
153
|
+
text={content}
|
|
154
|
+
skeleton={skeleton}
|
|
155
|
+
onKeyUp={
|
|
156
|
+
isRemovable && !omitOnKeyUpDeleteEvent
|
|
157
|
+
? (e) => handleKeyUp(e)
|
|
158
|
+
: undefined
|
|
159
|
+
}
|
|
160
|
+
{...buttonAttr}
|
|
161
|
+
/>
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
function getDeleteIcon() {
|
|
165
|
+
return (
|
|
166
|
+
<IconPrimary
|
|
167
|
+
data-testid="tag-delete-icon"
|
|
168
|
+
inherit_color={false}
|
|
169
|
+
icon={
|
|
170
|
+
<svg
|
|
171
|
+
width="16"
|
|
172
|
+
height="16"
|
|
173
|
+
fill="none"
|
|
174
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
175
|
+
>
|
|
176
|
+
<path
|
|
177
|
+
d="M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z"
|
|
178
|
+
className="dnb-icon-close-circle-path"
|
|
179
|
+
/>
|
|
180
|
+
<path
|
|
181
|
+
d="m5.5 10.5 5-5m0 5-5-5"
|
|
182
|
+
className="dnb-icon-close-cross-path"
|
|
183
|
+
strokeWidth="1.5"
|
|
184
|
+
strokeLinecap="round"
|
|
185
|
+
strokeLinejoin="round"
|
|
186
|
+
/>
|
|
187
|
+
</svg>
|
|
188
|
+
}
|
|
189
|
+
/>
|
|
190
|
+
)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
Tag.Group = TagGroup
|
|
195
|
+
|
|
196
|
+
export default Tag
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
const _excluded = ["label", "className", "children"];
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import { createSpacingClasses } from '../space/SpacingHelper';
|
|
7
|
+
import Context from '../../shared/Context';
|
|
8
|
+
import { usePropsWithContext } from '../../shared/hooks';
|
|
9
|
+
import { TagGroupContext } from './TagContext';
|
|
10
|
+
export const defaultProps = {
|
|
11
|
+
label: null,
|
|
12
|
+
className: null,
|
|
13
|
+
children: null
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const TagGroup = localProps => {
|
|
17
|
+
const context = React.useContext(Context);
|
|
18
|
+
|
|
19
|
+
const _usePropsWithContext = usePropsWithContext(localProps, defaultProps, context === null || context === void 0 ? void 0 : context.TagGroup),
|
|
20
|
+
{
|
|
21
|
+
label,
|
|
22
|
+
className,
|
|
23
|
+
children: childrenProp
|
|
24
|
+
} = _usePropsWithContext,
|
|
25
|
+
props = _objectWithoutProperties(_usePropsWithContext, _excluded);
|
|
26
|
+
|
|
27
|
+
let children = childrenProp;
|
|
28
|
+
|
|
29
|
+
if (Array.isArray(childrenProp)) {
|
|
30
|
+
children = [...childrenProp].map(child => {
|
|
31
|
+
return child;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const spacingClasses = createSpacingClasses(props);
|
|
36
|
+
return React.createElement(TagGroupContext.Provider, {
|
|
37
|
+
value: props
|
|
38
|
+
}, React.createElement("span", _extends({
|
|
39
|
+
className: classnames('dnb-tag__group', spacingClasses, className),
|
|
40
|
+
"data-testid": "tag-group"
|
|
41
|
+
}, props), React.createElement("span", {
|
|
42
|
+
"data-testid": "tag-group-label",
|
|
43
|
+
className: "dnb-sr-only"
|
|
44
|
+
}, label), children));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default TagGroup;
|