@dnb/eufemia 9.17.0 → 9.19.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 +63 -0
- 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 +149 -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 +145 -0
- package/cjs/components/avatar/style/dnb-avatar.css +218 -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/BreadcrumbItem.js +3 -3
- package/cjs/components/button/Button.d.ts +8 -8
- 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 +2 -2
- 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 +45 -52
- 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 +30 -30
- package/cjs/components/pagination/Pagination.js +11 -1
- 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 +2 -2
- 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/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 +157 -0
- package/cjs/components/tag/TagContext.js +14 -0
- package/cjs/components/tag/TagGroup.js +123 -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 +129 -0
- package/cjs/components/timeline/TimelineItem.js +149 -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/Img.d.ts +2 -2
- 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/Context.js +11 -4
- 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 +716 -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 +3 -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 +6 -0
- package/cjs/style/dnb-ui-tags.min.css +2 -2
- package/cjs/style/elements/code.scss +3 -0
- package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -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 +226 -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 +89 -0
- package/components/avatar/Avatar.tsx +163 -0
- package/components/avatar/AvatarGroup.js +94 -0
- package/components/avatar/AvatarGroup.tsx +167 -0
- package/components/avatar/index.d.ts +8 -0
- package/components/avatar/index.js +3 -0
- package/components/avatar/style/_avatar.scss +145 -0
- package/components/avatar/style/dnb-avatar.css +218 -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/BreadcrumbItem.js +3 -3
- package/components/breadcrumb/BreadcrumbItem.tsx +2 -2
- package/components/button/Button.d.ts +7 -7
- 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/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 +249 -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 +43 -46
- 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 +515 -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 +30 -30
- package/components/pagination/Pagination.js +7 -0
- 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/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/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 +122 -0
- package/components/tag/Tag.tsx +194 -0
- package/components/tag/TagContext.js +2 -0
- package/components/tag/TagContext.tsx +3 -0
- package/components/tag/TagGroup.js +60 -0
- package/components/tag/TagGroup.tsx +80 -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 +57 -0
- package/components/timeline/Timeline.tsx +91 -0
- package/components/timeline/TimelineItem.js +112 -0
- package/components/timeline/TimelineItem.tsx +193 -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/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 +83 -0
- package/es/components/avatar/Avatar.tsx +163 -0
- package/es/components/avatar/AvatarGroup.js +89 -0
- package/es/components/avatar/AvatarGroup.tsx +167 -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 +145 -0
- package/es/components/avatar/style/dnb-avatar.css +218 -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/BreadcrumbItem.js +3 -3
- package/es/components/breadcrumb/BreadcrumbItem.tsx +2 -2
- package/es/components/button/Button.d.ts +8 -8
- 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 +2 -2
- 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 +249 -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 +28 -31
- 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 +515 -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 +30 -30
- package/es/components/pagination/Pagination.js +3 -0
- 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 +2 -2
- 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/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 +115 -0
- package/es/components/tag/Tag.tsx +194 -0
- package/es/components/tag/TagContext.js +2 -0
- package/es/components/tag/TagContext.tsx +3 -0
- package/es/components/tag/TagGroup.js +53 -0
- package/es/components/tag/TagGroup.tsx +80 -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 +48 -0
- package/es/components/timeline/Timeline.tsx +91 -0
- package/es/components/timeline/TimelineItem.js +111 -0
- package/es/components/timeline/TimelineItem.tsx +193 -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/Img.d.ts +2 -2
- 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/Context.js +11 -4
- 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 +716 -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 +3 -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 +6 -0
- package/es/style/dnb-ui-tags.min.css +2 -2
- package/es/style/elements/code.scss +3 -0
- package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -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 +226 -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 +89 -0
- package/esm/components/avatar/Avatar.tsx +163 -0
- package/esm/components/avatar/AvatarGroup.js +94 -0
- package/esm/components/avatar/AvatarGroup.tsx +167 -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 +145 -0
- package/esm/components/avatar/style/dnb-avatar.css +218 -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/BreadcrumbItem.js +3 -3
- package/esm/components/breadcrumb/BreadcrumbItem.tsx +2 -2
- package/esm/components/button/Button.d.ts +7 -7
- 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/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 +249 -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 +43 -46
- 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 +515 -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 +30 -30
- package/esm/components/pagination/Pagination.js +7 -0
- 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/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/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 +122 -0
- package/esm/components/tag/Tag.tsx +194 -0
- package/esm/components/tag/TagContext.js +2 -0
- package/esm/components/tag/TagContext.tsx +3 -0
- package/esm/components/tag/TagGroup.js +60 -0
- package/esm/components/tag/TagGroup.tsx +80 -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 +57 -0
- package/esm/components/timeline/Timeline.tsx +91 -0
- package/esm/components/timeline/TimelineItem.js +112 -0
- package/esm/components/timeline/TimelineItem.tsx +193 -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/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/Context.js +11 -4
- 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 +716 -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 +3 -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 +6 -0
- package/esm/style/dnb-ui-tags.min.css +2 -2
- package/esm/style/elements/code.scss +3 -0
- package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -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 +226 -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/Context.js +11 -4
- 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 +716 -0
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-components.scss +4 -0
- package/style/dnb-ui-elements.css +3 -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 +6 -0
- package/style/dnb-ui-tags.min.css +2 -2
- package/style/elements/code.scss +3 -0
- package/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
- package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
- package/style/themes/theme-ui/dnb-theme-ui.css +226 -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
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import classnames from 'classnames'
|
|
3
|
+
|
|
4
|
+
// Components
|
|
5
|
+
import Button, { ButtonProps } from '../button/Button'
|
|
6
|
+
import IconPrimary, { IconPrimaryIcon } from '../icon-primary/IconPrimary'
|
|
7
|
+
import Img, { ImgProps } from '../../elements/Img'
|
|
8
|
+
import Div from '../../elements/Div'
|
|
9
|
+
import H3 from '../../elements/H3'
|
|
10
|
+
import P from '../../elements/P'
|
|
11
|
+
|
|
12
|
+
// Icons
|
|
13
|
+
import { lightbulb_medium as LightbulbIcon } from '../../icons'
|
|
14
|
+
|
|
15
|
+
// Shared
|
|
16
|
+
import { createSpacingClasses } from '../space/SpacingHelper'
|
|
17
|
+
import { createSkeletonClass } from '../skeleton/SkeletonHelper'
|
|
18
|
+
import Context from '../../shared/Context'
|
|
19
|
+
import { ISpacingProps, SkeletonTypes } from '../../shared/interfaces'
|
|
20
|
+
import { extendPropsWithContext } from '../../shared/component-helper'
|
|
21
|
+
|
|
22
|
+
export interface InfoCardProps {
|
|
23
|
+
/**
|
|
24
|
+
* Used in combination with `src` to provide an alt attribute for the `img` element.
|
|
25
|
+
* Default: null
|
|
26
|
+
*/
|
|
27
|
+
alt?: string
|
|
28
|
+
/**
|
|
29
|
+
* Aligns the content to center, rather than left
|
|
30
|
+
* Default: false
|
|
31
|
+
*/
|
|
32
|
+
centered?: boolean
|
|
33
|
+
/**
|
|
34
|
+
* Custom className on the component root
|
|
35
|
+
* Default: null
|
|
36
|
+
*/
|
|
37
|
+
className?: string
|
|
38
|
+
/**
|
|
39
|
+
* Replace the default icon with custom icon.
|
|
40
|
+
* Default: Lightbulb (icon)
|
|
41
|
+
*/
|
|
42
|
+
icon?: IconPrimaryIcon
|
|
43
|
+
/**
|
|
44
|
+
* Props applied to the `img` element if the component is used to display an image. Replace the 'icon'
|
|
45
|
+
* Default: null
|
|
46
|
+
*/
|
|
47
|
+
imgProps?: ImgProps
|
|
48
|
+
/**
|
|
49
|
+
* Skeleton should be applied when loading content
|
|
50
|
+
* Default: null
|
|
51
|
+
*/
|
|
52
|
+
skeleton?: SkeletonTypes
|
|
53
|
+
/**
|
|
54
|
+
* Specifies the path to the image
|
|
55
|
+
* Default: null
|
|
56
|
+
*/
|
|
57
|
+
src?: string
|
|
58
|
+
/**
|
|
59
|
+
* Image src, will replace the 'icon' with the image
|
|
60
|
+
* Default: null
|
|
61
|
+
*/
|
|
62
|
+
text: string
|
|
63
|
+
/**
|
|
64
|
+
* Component title
|
|
65
|
+
* Default: null
|
|
66
|
+
*/
|
|
67
|
+
title?: string
|
|
68
|
+
/**
|
|
69
|
+
* Is called when the close button is clicked
|
|
70
|
+
* Default: null
|
|
71
|
+
*/
|
|
72
|
+
onClose?: React.MouseEventHandler<HTMLButtonElement>
|
|
73
|
+
/**
|
|
74
|
+
* The text of the close button.
|
|
75
|
+
* Default: null
|
|
76
|
+
*/
|
|
77
|
+
closeButtonText?: string
|
|
78
|
+
/**
|
|
79
|
+
* Is called when the accept button is clicked
|
|
80
|
+
* Default: null
|
|
81
|
+
*/
|
|
82
|
+
onAccept?: React.MouseEventHandler<HTMLButtonElement>
|
|
83
|
+
/**
|
|
84
|
+
* The text of the accept button.
|
|
85
|
+
* Default: null
|
|
86
|
+
*/
|
|
87
|
+
acceptButtonText?: string
|
|
88
|
+
/**
|
|
89
|
+
* Additional attributes for the close button.
|
|
90
|
+
* Default: null
|
|
91
|
+
*/
|
|
92
|
+
closeButtonAttributes?: ButtonProps
|
|
93
|
+
/**
|
|
94
|
+
* Additional attributes for the accept button
|
|
95
|
+
* Default: null
|
|
96
|
+
*/
|
|
97
|
+
acceptButtonAttributes?: ButtonProps
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export const defaultProps = {
|
|
101
|
+
alt: null,
|
|
102
|
+
centered: false,
|
|
103
|
+
className: null,
|
|
104
|
+
skeleton: false,
|
|
105
|
+
icon: LightbulbIcon,
|
|
106
|
+
imgProps: null,
|
|
107
|
+
src: null,
|
|
108
|
+
title: null,
|
|
109
|
+
onAccept: null,
|
|
110
|
+
onClose: null,
|
|
111
|
+
closeButtonText: null,
|
|
112
|
+
acceptButtonText: null,
|
|
113
|
+
closeButtonAttributes: null,
|
|
114
|
+
acceptButtonAttributes: null,
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function InfoCard(localProps: InfoCardProps & ISpacingProps) {
|
|
118
|
+
// Every component should have a context
|
|
119
|
+
const context = React.useContext(Context)
|
|
120
|
+
// Extract additional props from global context
|
|
121
|
+
const {
|
|
122
|
+
alt,
|
|
123
|
+
centered,
|
|
124
|
+
title,
|
|
125
|
+
skeleton,
|
|
126
|
+
className,
|
|
127
|
+
icon,
|
|
128
|
+
src,
|
|
129
|
+
imgProps,
|
|
130
|
+
text,
|
|
131
|
+
onClose,
|
|
132
|
+
onAccept,
|
|
133
|
+
closeButtonText,
|
|
134
|
+
acceptButtonText,
|
|
135
|
+
closeButtonAttributes,
|
|
136
|
+
acceptButtonAttributes,
|
|
137
|
+
...props
|
|
138
|
+
} = extendPropsWithContext({
|
|
139
|
+
...defaultProps,
|
|
140
|
+
...localProps,
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
const skeletonClasses = createSkeletonClass('shape', skeleton, context)
|
|
144
|
+
const spacingClasses = createSpacingClasses(props)
|
|
145
|
+
|
|
146
|
+
const closeButtonIsHidden = !onClose && !closeButtonText
|
|
147
|
+
const acceptButtonIsHidden = !onAccept && !acceptButtonText
|
|
148
|
+
|
|
149
|
+
return (
|
|
150
|
+
<Div
|
|
151
|
+
className={classnames(
|
|
152
|
+
'dnb-info-card',
|
|
153
|
+
skeletonClasses,
|
|
154
|
+
spacingClasses,
|
|
155
|
+
centered && 'dnb-info-card--centered',
|
|
156
|
+
className
|
|
157
|
+
)}
|
|
158
|
+
data-testid="info-card"
|
|
159
|
+
{...props}
|
|
160
|
+
>
|
|
161
|
+
<Div right={!centered && 'small'} bottom={centered && 'small'}>
|
|
162
|
+
{getIllustration()}
|
|
163
|
+
</Div>
|
|
164
|
+
|
|
165
|
+
<div
|
|
166
|
+
className="dnb-info-card--content"
|
|
167
|
+
data-testid="info-card-content"
|
|
168
|
+
>
|
|
169
|
+
{title && (
|
|
170
|
+
<H3
|
|
171
|
+
size="small"
|
|
172
|
+
data-testid="info-card-title"
|
|
173
|
+
bottom="x-small"
|
|
174
|
+
top="0"
|
|
175
|
+
>
|
|
176
|
+
{title}
|
|
177
|
+
</H3>
|
|
178
|
+
)}
|
|
179
|
+
<P size="small" data-testid="info-card-text" bottom="0">
|
|
180
|
+
{text}
|
|
181
|
+
</P>
|
|
182
|
+
|
|
183
|
+
{getButtons()}
|
|
184
|
+
</div>
|
|
185
|
+
</Div>
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
function getButtons() {
|
|
189
|
+
if (closeButtonIsHidden && acceptButtonIsHidden) return null
|
|
190
|
+
|
|
191
|
+
return (
|
|
192
|
+
<Div
|
|
193
|
+
top={centered ? 'medium' : 'small'}
|
|
194
|
+
className={classnames(
|
|
195
|
+
'dnb-info-card--buttons',
|
|
196
|
+
centered && 'dnb-info-card--buttons-centered'
|
|
197
|
+
)}
|
|
198
|
+
>
|
|
199
|
+
{!acceptButtonIsHidden && (
|
|
200
|
+
<Button
|
|
201
|
+
type="button"
|
|
202
|
+
data-testid="into-card-accept-button"
|
|
203
|
+
variant="secondary"
|
|
204
|
+
right={!centered && 'small'}
|
|
205
|
+
on_click={onAccept}
|
|
206
|
+
text={acceptButtonText}
|
|
207
|
+
{...acceptButtonAttributes}
|
|
208
|
+
/>
|
|
209
|
+
)}
|
|
210
|
+
{!closeButtonIsHidden && (
|
|
211
|
+
<Button
|
|
212
|
+
type="button"
|
|
213
|
+
data-testid="into-card-close-button"
|
|
214
|
+
variant="tertiary"
|
|
215
|
+
top={centered && 'small'}
|
|
216
|
+
on_click={onClose}
|
|
217
|
+
icon="close"
|
|
218
|
+
icon_position="left"
|
|
219
|
+
text={closeButtonText}
|
|
220
|
+
{...closeButtonAttributes}
|
|
221
|
+
/>
|
|
222
|
+
)}
|
|
223
|
+
</Div>
|
|
224
|
+
)
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function getIllustration() {
|
|
228
|
+
if (src || imgProps) {
|
|
229
|
+
const imageProps = { src, alt, ...imgProps }
|
|
230
|
+
return (
|
|
231
|
+
<Img
|
|
232
|
+
data-testid="info-card-image"
|
|
233
|
+
className="dnb-info-card--image"
|
|
234
|
+
{...imageProps}
|
|
235
|
+
/>
|
|
236
|
+
)
|
|
237
|
+
}
|
|
238
|
+
return (
|
|
239
|
+
<IconPrimary
|
|
240
|
+
size="medium"
|
|
241
|
+
className="dnb-info-card--icon"
|
|
242
|
+
icon={icon}
|
|
243
|
+
data-testid="info-card-icon"
|
|
244
|
+
/>
|
|
245
|
+
)
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export default InfoCard
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* InfoCard component
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
.dnb-info-card {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
|
|
10
|
+
background: white;
|
|
11
|
+
|
|
12
|
+
border: 1px solid var(--color-black-8);
|
|
13
|
+
border-radius: 0.25rem;
|
|
14
|
+
padding: 1rem;
|
|
15
|
+
|
|
16
|
+
@include defaultDropShadow();
|
|
17
|
+
|
|
18
|
+
&--centered {
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
align-items: center;
|
|
21
|
+
text-align: center;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&--content {
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
margin-top: 0.1875rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&--centered &--content {
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
margin-top: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&--icon {
|
|
35
|
+
color: var(--color-emerald-green);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&--image {
|
|
39
|
+
height: 4rem;
|
|
40
|
+
width: 4rem;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&--buttons {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: row;
|
|
46
|
+
&-centered {
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
align-items: center;
|
|
49
|
+
text-align: center;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DNB InfoCard
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* This file is only used to make components independent
|
|
7
|
+
* so that they can get imported individually, without the core styles
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
/*
|
|
11
|
+
* Utilities
|
|
12
|
+
*/
|
|
13
|
+
/*
|
|
14
|
+
* Scopes
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
/*
|
|
18
|
+
* Document Reset
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
.dnb-info-card {
|
|
22
|
+
font-family: 'DNB', sans-serif;
|
|
23
|
+
font-family: var(--font-family-default);
|
|
24
|
+
font-weight: normal;
|
|
25
|
+
font-weight: var(--font-weight-basis);
|
|
26
|
+
font-size: 1rem;
|
|
27
|
+
font-size: var(--font-size-small);
|
|
28
|
+
font-style: normal;
|
|
29
|
+
line-height: 1.5rem;
|
|
30
|
+
line-height: var(--line-height-basis);
|
|
31
|
+
color: #333;
|
|
32
|
+
color: var(--color-black-80, #333);
|
|
33
|
+
-moz-osx-font-smoothing: grayscale;
|
|
34
|
+
-webkit-font-smoothing: antialiased;
|
|
35
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
36
|
+
/**
|
|
37
|
+
* Ensure consistency and use the same as HTML reset -> html {...}
|
|
38
|
+
* between base and code package
|
|
39
|
+
*/
|
|
40
|
+
-moz-tab-size: 4;
|
|
41
|
+
-o-tab-size: 4;
|
|
42
|
+
tab-size: 4;
|
|
43
|
+
-ms-text-size-adjust: 100%;
|
|
44
|
+
-webkit-text-size-adjust: 100%;
|
|
45
|
+
word-break: break-word;
|
|
46
|
+
/**
|
|
47
|
+
* 1. Remove repeating backgrounds in all browsers (opinionated).
|
|
48
|
+
* 2. Add border box sizing in all browsers (opinionated).
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* 1. Add text decoration inheritance in all browsers (opinionated).
|
|
52
|
+
* 2. Add vertical alignment inheritance in all browsers (opinionated).
|
|
53
|
+
*/
|
|
54
|
+
margin: 0;
|
|
55
|
+
padding: 0; }
|
|
56
|
+
.dnb-info-card *,
|
|
57
|
+
.dnb-info-card ::before,
|
|
58
|
+
.dnb-info-card ::after {
|
|
59
|
+
background-repeat: no-repeat;
|
|
60
|
+
/* 1 */
|
|
61
|
+
-webkit-box-sizing: border-box;
|
|
62
|
+
box-sizing: border-box;
|
|
63
|
+
/* 2 */ }
|
|
64
|
+
.dnb-info-card ::before,
|
|
65
|
+
.dnb-info-card ::after {
|
|
66
|
+
text-decoration: inherit;
|
|
67
|
+
/* 1 */
|
|
68
|
+
vertical-align: inherit;
|
|
69
|
+
/* 2 */ }
|
|
70
|
+
|
|
71
|
+
/*
|
|
72
|
+
* InfoCard component
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
.dnb-info-card {
|
|
76
|
+
display: -webkit-box;
|
|
77
|
+
display: -ms-flexbox;
|
|
78
|
+
display: flex;
|
|
79
|
+
-webkit-box-orient: horizontal;
|
|
80
|
+
-webkit-box-direction: normal;
|
|
81
|
+
-ms-flex-direction: row;
|
|
82
|
+
flex-direction: row;
|
|
83
|
+
background: white;
|
|
84
|
+
border: 1px solid #ebebeb;
|
|
85
|
+
border: 1px solid var(--color-black-8);
|
|
86
|
+
border-radius: 0.25rem;
|
|
87
|
+
padding: 1rem;
|
|
88
|
+
-webkit-box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
|
|
89
|
+
box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
|
|
90
|
+
-webkit-box-shadow: var(--shadow-default);
|
|
91
|
+
box-shadow: var(--shadow-default); }
|
|
92
|
+
.dnb-info-card--centered {
|
|
93
|
+
-webkit-box-orient: vertical;
|
|
94
|
+
-webkit-box-direction: normal;
|
|
95
|
+
-ms-flex-direction: column;
|
|
96
|
+
flex-direction: column;
|
|
97
|
+
-webkit-box-align: center;
|
|
98
|
+
-ms-flex-align: center;
|
|
99
|
+
align-items: center;
|
|
100
|
+
text-align: center; }
|
|
101
|
+
.dnb-info-card--content {
|
|
102
|
+
-webkit-box-orient: vertical;
|
|
103
|
+
-webkit-box-direction: normal;
|
|
104
|
+
-ms-flex-direction: column;
|
|
105
|
+
flex-direction: column;
|
|
106
|
+
margin-top: 0.1875rem; }
|
|
107
|
+
.dnb-info-card--centered .dnb-info-card--content {
|
|
108
|
+
-webkit-box-orient: vertical;
|
|
109
|
+
-webkit-box-direction: normal;
|
|
110
|
+
-ms-flex-direction: column;
|
|
111
|
+
flex-direction: column;
|
|
112
|
+
margin-top: 0; }
|
|
113
|
+
.dnb-info-card--icon {
|
|
114
|
+
color: #14555a;
|
|
115
|
+
color: var(--color-emerald-green); }
|
|
116
|
+
.dnb-info-card--image {
|
|
117
|
+
height: 4rem;
|
|
118
|
+
width: 4rem; }
|
|
119
|
+
.dnb-info-card--buttons {
|
|
120
|
+
display: -webkit-box;
|
|
121
|
+
display: -ms-flexbox;
|
|
122
|
+
display: flex;
|
|
123
|
+
-webkit-box-orient: horizontal;
|
|
124
|
+
-webkit-box-direction: normal;
|
|
125
|
+
-ms-flex-direction: row;
|
|
126
|
+
flex-direction: row; }
|
|
127
|
+
.dnb-info-card--buttons-centered {
|
|
128
|
+
-webkit-box-orient: vertical;
|
|
129
|
+
-webkit-box-direction: normal;
|
|
130
|
+
-ms-flex-direction: column;
|
|
131
|
+
flex-direction: column;
|
|
132
|
+
-webkit-box-align: center;
|
|
133
|
+
-ms-flex-align: center;
|
|
134
|
+
align-items: center;
|
|
135
|
+
text-align: center; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dnb-info-card{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-info-card *,.dnb-info-card :after,.dnb-info-card :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-info-card :after,.dnb-info-card :before{text-decoration:inherit;vertical-align:inherit}.dnb-info-card{-webkit-box-orient:horizontal;-webkit-box-direction:normal;background:#fff;border:1px solid #ebebeb;border:1px solid var(--color-black-8);border-radius:.25rem;-webkit-box-shadow:0 8px 16px rgba(51,51,51,.08);box-shadow:0 8px 16px rgba(51,51,51,.08);-webkit-box-shadow:var(--shadow-default);box-shadow:var(--shadow-default);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:1rem}.dnb-info-card--centered{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.dnb-info-card--centered,.dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dnb-info-card--content{margin-top:.1875rem}.dnb-info-card--centered .dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:0}.dnb-info-card--icon{color:#14555a;color:var(--color-emerald-green)}.dnb-info-card--image{height:4rem;width:4rem}.dnb-info-card--buttons{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.dnb-info-card--buttons-centered{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./dnb-info-card.min.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./style/dnb-info-card.min.css";
|
|
@@ -43,7 +43,8 @@ export type InputSubmitButtonVariant =
|
|
|
43
43
|
| 'primary'
|
|
44
44
|
| 'secondary'
|
|
45
45
|
| 'tertiary'
|
|
46
|
-
| 'signal'
|
|
46
|
+
| 'signal'
|
|
47
|
+
| 'unstyled';
|
|
47
48
|
export type InputSubmitButtonIcon =
|
|
48
49
|
| string
|
|
49
50
|
| React.ReactNode
|
|
@@ -89,7 +90,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
89
90
|
type?: string;
|
|
90
91
|
|
|
91
92
|
/**
|
|
92
|
-
* The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then
|
|
93
|
+
* The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then it will be forwarded as the input element attribute.
|
|
93
94
|
*/
|
|
94
95
|
size?: InputSize;
|
|
95
96
|
|
|
@@ -120,7 +121,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
120
121
|
status?: InputStatus;
|
|
121
122
|
|
|
122
123
|
/**
|
|
123
|
-
* Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.
|
|
124
|
+
* Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
|
|
124
125
|
*/
|
|
125
126
|
status_state?: string;
|
|
126
127
|
|
|
@@ -141,7 +142,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
141
142
|
global_status_id?: string;
|
|
142
143
|
|
|
143
144
|
/**
|
|
144
|
-
* Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a
|
|
145
|
+
* Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendant of a `<form>` element, 3. and have a submit button inside the form.
|
|
145
146
|
*/
|
|
146
147
|
autocomplete?: string;
|
|
147
148
|
|
|
@@ -162,7 +163,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
162
163
|
clear?: InputClear;
|
|
163
164
|
|
|
164
165
|
/**
|
|
165
|
-
* Set to `true` in case the `placeholder` has to be kept during focus. By default the placeholder disappears on focus.
|
|
166
|
+
* Set to `true` in case the `placeholder` has to be kept during focus. By default, the placeholder disappears on focus.
|
|
166
167
|
*/
|
|
167
168
|
keep_placeholder?: InputKeepPlaceholder;
|
|
168
169
|
|
|
@@ -199,17 +200,17 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
199
200
|
input_class?: string;
|
|
200
201
|
|
|
201
202
|
/**
|
|
202
|
-
* Provide the Input element with any attributes by using an Object `input_attributes={{size:'2'}}` or a JSON Object `input_attributes='{"size":"2"}'`. "NB:" Keep in mind, that also every not listed component property will be
|
|
203
|
+
* Provide the Input element with any attributes by using an Object `input_attributes={{size:'2'}}` or a JSON Object `input_attributes='{"size":"2"}'`. "NB:" Keep in mind, that also every not listed component property will be sent along and set as an Input element attribute.
|
|
203
204
|
*/
|
|
204
205
|
input_attributes?: InputInputAttributes;
|
|
205
206
|
|
|
206
207
|
/**
|
|
207
|
-
* <em>(internal)</em> by providing a new component we can change the
|
|
208
|
+
* <em>(internal)</em> by providing a new component we can change the internally used element. Also supports a string only, like `input_element="input"`.
|
|
208
209
|
*/
|
|
209
210
|
input_element?: InputInputElement;
|
|
210
211
|
|
|
211
212
|
/**
|
|
212
|
-
* Icon to show before or after the input / placeholder. Can be either a string defining a primary icon
|
|
213
|
+
* Icon to show before or after the input / placeholder. Can be either a string defining a primary icon or a Component using an SVG icon of either 16px or 24px.
|
|
213
214
|
*/
|
|
214
215
|
icon?: InputIcon;
|
|
215
216
|
|
|
@@ -224,7 +225,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
224
225
|
icon_position?: InputIconPosition;
|
|
225
226
|
|
|
226
227
|
/**
|
|
227
|
-
* By providing a React.ref we can get the
|
|
228
|
+
* By providing a React.ref we can get the internally used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
|
|
228
229
|
*/
|
|
229
230
|
inner_ref?: InputInnerRef;
|
|
230
231
|
readOnly?: InputReadOnly;
|
|
@@ -267,7 +268,7 @@ export interface InputProps extends React.HTMLProps<HTMLElement> {
|
|
|
267
268
|
custom_method?: (...args: any[]) => any;
|
|
268
269
|
|
|
269
270
|
/**
|
|
270
|
-
* Will be called on value changes made by the user. Returns an object with the value as a string and the
|
|
271
|
+
* Will be called on value changes made by the user. Returns an object with the value as a string and the native event: `{ value, event }`.
|
|
271
272
|
*/
|
|
272
273
|
on_change?: (...args: any[]) => any;
|
|
273
274
|
|
|
@@ -96,7 +96,7 @@ export type InputMaskedChildren =
|
|
|
96
96
|
*/
|
|
97
97
|
export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
98
98
|
/**
|
|
99
|
-
* A mask can be
|
|
99
|
+
* A mask can be defined both as a <a href="https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme">RegExp style of characters</a> or a callback function. Example below.
|
|
100
100
|
*/
|
|
101
101
|
mask?: InputMaskedMask;
|
|
102
102
|
|
|
@@ -106,7 +106,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
106
106
|
number_mask?: InputMaskedNumberMask;
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
|
-
* Set to `true` or set the <em>valuta</em> (currency_mask="kr") to enable
|
|
109
|
+
* Set to `true` or set the <em>valuta</em> (currency_mask="kr") to enable a custom currency mask – or give an `object` containing the number mask properties. More details below. Can be a JSON string as well, containing the number mask properties. Is disabled by default. Defaults to `kr`.
|
|
110
110
|
*/
|
|
111
111
|
currency_mask?: InputMaskedCurrencyMask;
|
|
112
112
|
|
|
@@ -162,12 +162,12 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
162
162
|
placeholder_char?: string;
|
|
163
163
|
|
|
164
164
|
/**
|
|
165
|
-
* By providing a React.ref we can get the
|
|
165
|
+
* By providing a React.ref we can get the internally used input element (DOM). E.g. `inner_ref={myRef}` by using `React.createRef()` or `React.useRef()`.
|
|
166
166
|
*/
|
|
167
167
|
inner_ref?: Object;
|
|
168
168
|
|
|
169
169
|
/**
|
|
170
|
-
* Will be called on value changes made by the user. Returns an object with the value as a string and the
|
|
170
|
+
* Will be called on value changes made by the user. Returns an object with the value as a string and the native event: `{ value, event }`.
|
|
171
171
|
*/
|
|
172
172
|
on_change?: (...args: any[]) => any;
|
|
173
173
|
|
|
@@ -194,7 +194,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
194
194
|
type?: string;
|
|
195
195
|
|
|
196
196
|
/**
|
|
197
|
-
* The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then
|
|
197
|
+
* The sizes you can sue is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`. Also, if You define a number like `size="2"` then it will be forwarded as the input element attribute.
|
|
198
198
|
*/
|
|
199
199
|
size?: InputMaskedSize;
|
|
200
200
|
|
|
@@ -225,7 +225,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
225
225
|
status?: InputMaskedStatus;
|
|
226
226
|
|
|
227
227
|
/**
|
|
228
|
-
* Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.
|
|
228
|
+
* Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
|
|
229
229
|
*/
|
|
230
230
|
status_state?: string;
|
|
231
231
|
|
|
@@ -246,7 +246,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
246
246
|
global_status_id?: string;
|
|
247
247
|
|
|
248
248
|
/**
|
|
249
|
-
* Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a
|
|
249
|
+
* Defaults to `off`. Set to `on` or any of <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete">allowed `attributes`</a>. Keep in mind, 1. you may have to define a `name`, 2. have the input as a descendant of a `<form>` element, 3. and have a submit button inside the form.
|
|
250
250
|
*/
|
|
251
251
|
autocomplete?: string;
|
|
252
252
|
|
|
@@ -267,7 +267,7 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
267
267
|
clear?: InputMaskedClear;
|
|
268
268
|
|
|
269
269
|
/**
|
|
270
|
-
* Set to `true` in case the `placeholder` has to be kept during focus. By default the placeholder disappears on focus.
|
|
270
|
+
* Set to `true` in case the `placeholder` has to be kept during focus. By default, the placeholder disappears on focus.
|
|
271
271
|
*/
|
|
272
272
|
keep_placeholder?: InputMaskedKeepPlaceholder;
|
|
273
273
|
|
|
@@ -304,17 +304,17 @@ export interface InputMaskedProps extends React.HTMLProps<HTMLElement> {
|
|
|
304
304
|
input_class?: string;
|
|
305
305
|
|
|
306
306
|
/**
|
|
307
|
-
* Provide the Input element with any attributes by using an Object `input_attributes={{size:'2'}}` or a JSON Object `input_attributes='{"size":"2"}'`. "NB:" Keep in mind, that also every not listed component property will be
|
|
307
|
+
* Provide the Input element with any attributes by using an Object `input_attributes={{size:'2'}}` or a JSON Object `input_attributes='{"size":"2"}'`. "NB:" Keep in mind, that also every not listed component property will be sent along and set as an Input element attribute.
|
|
308
308
|
*/
|
|
309
309
|
input_attributes?: InputMaskedInputAttributes;
|
|
310
310
|
|
|
311
311
|
/**
|
|
312
|
-
* <em>(internal)</em> by providing a new component we can change the
|
|
312
|
+
* <em>(internal)</em> by providing a new component we can change the internally used element. Also supports a string only, like `input_element="input"`.
|
|
313
313
|
*/
|
|
314
314
|
input_element?: InputMaskedInputElement;
|
|
315
315
|
|
|
316
316
|
/**
|
|
317
|
-
* Icon to show before or after the input / placeholder. Can be either a string defining a primary icon
|
|
317
|
+
* Icon to show before or after the input / placeholder. Can be either a string defining a primary icon or a Component using an SVG icon of either 16px or 24px.
|
|
318
318
|
*/
|
|
319
319
|
icon?: InputMaskedIcon;
|
|
320
320
|
|
|
@@ -8,18 +8,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import { registerElement } from '../../shared/component-helper';
|
|
11
|
+
import { registerElement, extendPropsWithContext } from '../../shared/component-helper';
|
|
12
12
|
import InputMaskedContext from './InputMaskedContext';
|
|
13
13
|
import InputMaskedElement from './InputMaskedElement';
|
|
14
14
|
import Input, { inputPropTypes } from '../input/Input';
|
|
15
15
|
import Context from '../../shared/Context';
|
|
16
16
|
const InputMasked = React.forwardRef((props, ref) => {
|
|
17
17
|
const context = React.useContext(Context);
|
|
18
|
+
const contextAndProps = React.useCallback(extendPropsWithContext(props, InputMasked.defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked), [props, InputMasked.defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked]);
|
|
18
19
|
return React.createElement(InputMaskedContext.Provider, {
|
|
19
|
-
value:
|
|
20
|
+
value: {
|
|
20
21
|
inner_ref: ref,
|
|
21
|
-
props
|
|
22
|
-
|
|
22
|
+
props: contextAndProps,
|
|
23
|
+
context
|
|
24
|
+
}
|
|
23
25
|
}, _InputMaskedElement || (_InputMaskedElement = React.createElement(InputMaskedElement, null)));
|
|
24
26
|
});
|
|
25
27
|
export default InputMasked;
|