@dnb/eufemia 9.29.0 → 9.31.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/assets/icons/add.svg +1 -1
- package/assets/icons/add_circled.svg +1 -1
- package/assets/icons/add_circled_medium.svg +1 -1
- package/assets/icons/add_medium.svg +1 -1
- package/assets/icons/boat.svg +1 -1
- package/assets/icons/boat_medium.svg +1 -1
- package/assets/icons/calculator.svg +1 -1
- package/assets/icons/card.svg +1 -1
- package/assets/icons/card_medium.svg +1 -1
- package/assets/icons/cat_medium.svg +1 -1
- package/assets/icons/chatbot.svg +1 -1
- package/assets/icons/chatbot_medium.svg +1 -1
- package/assets/icons/chip.svg +1 -1
- package/assets/icons/chip_medium.svg +1 -1
- package/assets/icons/cloud_download.svg +1 -1
- package/assets/icons/cloud_download_medium.svg +1 -1
- package/assets/icons/cloud_rain.svg +1 -1
- package/assets/icons/cloud_rain_medium.svg +1 -1
- package/assets/icons/cloud_sync.svg +1 -1
- package/assets/icons/cloud_sync_medium.svg +1 -1
- package/assets/icons/cloud_transfer.svg +1 -1
- package/assets/icons/cloud_transfer_medium.svg +1 -1
- package/assets/icons/cloud_upload.svg +1 -1
- package/assets/icons/cloud_upload_medium.svg +1 -1
- package/assets/icons/cookie.svg +1 -1
- package/assets/icons/cookie_medium.svg +1 -1
- package/assets/icons/diamond.svg +1 -1
- package/assets/icons/dog.svg +1 -1
- package/assets/icons/dog_medium.svg +1 -1
- package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
- package/assets/icons/eufemia-icons-pdf.tgz +0 -0
- package/assets/icons/exclamation_circled.svg +1 -1
- package/assets/icons/exclamation_circled_medium.svg +1 -1
- package/assets/icons/file_jpg.svg +1 -0
- package/assets/icons/file_jpg_medium.svg +1 -0
- package/assets/icons/file_png.svg +1 -0
- package/assets/icons/file_png_medium.svg +1 -0
- package/assets/icons/fish.svg +1 -0
- package/assets/icons/fish_medium.svg +1 -0
- package/assets/icons/hourglass.svg +1 -1
- package/assets/icons/instagram.svg +1 -1
- package/assets/icons/linkedin.svg +1 -1
- package/assets/icons/linkedin_medium.svg +1 -1
- package/assets/icons/loupe.svg +1 -1
- package/assets/icons/loupe_medium.svg +1 -1
- package/assets/icons/mastercard_card.svg +1 -1
- package/assets/icons/mastercard_card_medium.svg +1 -1
- package/assets/icons/news.svg +1 -1
- package/assets/icons/news_medium.svg +1 -1
- package/assets/icons/newspaper.svg +1 -0
- package/assets/icons/newspaper_medium.svg +1 -0
- package/assets/icons/phone.svg +1 -1
- package/assets/icons/phone_medium.svg +1 -1
- package/assets/icons/photo.svg +1 -1
- package/assets/icons/photo_medium.svg +1 -1
- package/assets/icons/pin.svg +1 -1
- package/assets/icons/pin_medium.svg +1 -1
- package/assets/icons/play.svg +1 -1
- package/assets/icons/savings_account.svg +1 -1
- package/assets/icons/sort.svg +1 -0
- package/assets/icons/sort_medium.svg +1 -0
- package/assets/icons/subtract.svg +1 -1
- package/assets/icons/subtract_circled.svg +1 -1
- package/assets/icons/subtract_circled_medium.svg +1 -1
- package/assets/icons/subtract_medium.svg +1 -1
- package/assets/icons/tag.svg +1 -1
- package/assets/icons/tag_medium.svg +1 -1
- package/assets/icons/thumbs_down.svg +1 -1
- package/assets/icons/thumbs_up.svg +1 -1
- package/assets/icons/video.svg +1 -1
- package/assets/icons/video_medium.svg +1 -1
- package/assets/icons/wallet_medium.svg +1 -1
- package/cjs/components/HeightAnimation.d.ts +3 -0
- package/cjs/components/HeightAnimation.js +52 -0
- package/cjs/components/accordion/Accordion.js +2 -2
- package/cjs/components/accordion/AccordionHeader.js +1 -1
- package/cjs/components/accordion/AccordionProvider.js +3 -1
- package/cjs/components/accordion/style/_accordion.scss +14 -15
- package/cjs/components/accordion/style/dnb-accordion.css +9 -6
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +102 -95
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +37 -37
- package/cjs/components/autocomplete/Autocomplete.d.ts +0 -10
- package/cjs/components/autocomplete/Autocomplete.js +3 -4
- package/cjs/components/autocomplete/style/_autocomplete.scss +2 -2
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +46 -46
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/avatar/Avatar.d.ts +3 -1
- package/cjs/components/avatar/Avatar.js +1 -3
- package/cjs/components/avatar/AvatarGroup.js +8 -10
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
- package/cjs/components/badge/Badge.js +1 -17
- package/cjs/components/breadcrumb/Breadcrumb.d.ts +10 -4
- package/cjs/components/breadcrumb/Breadcrumb.js +26 -28
- package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
- package/cjs/components/breadcrumb/BreadcrumbItem.js +13 -11
- package/cjs/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
- package/cjs/components/breadcrumb/BreadcrumbMultiple.js +50 -0
- package/cjs/components/breadcrumb/style/_breadcrumb.scss +25 -12
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
- package/cjs/components/button/Button.d.ts +6 -8
- package/cjs/components/button/Button.js +5 -3
- package/cjs/components/button/style/dnb-button.css +14 -14
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +2 -2
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
- package/cjs/components/checkbox/Checkbox.js +4 -2
- package/cjs/components/date-picker/DatePicker.js +4 -2
- package/cjs/components/date-picker/style/dnb-date-picker.css +56 -56
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/dialog/Dialog.js +2 -2
- package/cjs/components/dialog/parts/DialogBody.d.ts +2 -1
- package/cjs/components/dialog/style/_dialog.scss +1 -1
- package/cjs/components/dialog/style/dnb-dialog.css +26 -26
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/drawer/DrawerContent.d.ts +1 -1
- package/cjs/components/drawer/DrawerContent.js +2 -4
- package/cjs/components/drawer/parts/DrawerBody.d.ts +2 -1
- package/cjs/components/drawer/style/dnb-drawer.css +22 -22
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/Dropdown.d.ts +0 -4
- package/cjs/components/dropdown/Dropdown.js +4 -2
- package/cjs/components/dropdown/style/dnb-dropdown.css +14 -14
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/form-label/FormLabel.js +4 -2
- package/cjs/components/form-row/FormRow.js +9 -3
- package/cjs/components/form-row/style/_form-row.scss +4 -1
- package/cjs/components/form-row/style/dnb-form-row.css +4 -3
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-set/FormSet.js +1 -1
- package/cjs/components/form-status/FormStatus.js +4 -2
- package/cjs/components/global-error/style/dnb-global-error.css +14 -14
- package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
- package/cjs/components/global-status/GlobalStatus.js +3 -3
- package/cjs/components/global-status/style/dnb-global-status.css +24 -38
- package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
- package/cjs/components/height-animation/HeightAnimation.d.ts +27 -0
- package/cjs/components/height-animation/HeightAnimation.js +86 -0
- package/cjs/components/height-animation/index.d.ts +3 -0
- package/cjs/components/height-animation/index.js +52 -0
- package/cjs/components/height-animation/style/_height-animation.scss +12 -0
- package/cjs/components/height-animation/style/dnb-height-animation.css +81 -0
- package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -0
- package/cjs/components/height-animation/style/dnb-height-animation.scss +12 -0
- package/cjs/components/height-animation/style/index.d.ts +1 -0
- package/cjs/components/height-animation/style/index.js +3 -0
- package/cjs/components/height-animation/style.d.ts +1 -0
- package/cjs/components/height-animation/style.js +3 -0
- package/cjs/components/height-animation/useHeightAnimation.d.ts +40 -0
- package/cjs/components/height-animation/useHeightAnimation.js +245 -0
- package/cjs/components/help-button/HelpButton.d.ts +10 -236
- package/cjs/components/help-button/HelpButton.js +31 -124
- package/cjs/components/help-button/HelpButtonInstance.d.ts +5 -100
- package/cjs/components/help-button/HelpButtonInstance.js +54 -129
- package/cjs/components/help-button/style/dnb-help-button.css +14 -14
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
- package/cjs/components/icon/Icon.js +5 -3
- package/cjs/components/icon-primary/IconPrimary.js +4 -2
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +8 -0
- package/cjs/components/info-card/InfoCard.d.ts +0 -2
- package/cjs/components/info-card/InfoCard.js +23 -25
- package/cjs/components/input/Input.js +5 -3
- package/cjs/components/input/InputPassword.js +4 -2
- package/cjs/components/input/style/dnb-input.css +28 -28
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +28 -28
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/lib.d.ts +27 -9
- package/cjs/components/lib.js +9 -0
- package/cjs/components/logo/Logo.d.ts +5 -0
- package/cjs/components/logo/Logo.js +8 -3
- package/cjs/components/logo/style/_logo.scss +3 -0
- package/cjs/components/logo/style/dnb-logo.css +2 -0
- package/cjs/components/logo/style/dnb-logo.min.css +1 -1
- package/cjs/components/modal/Modal.d.ts +1 -1
- package/cjs/components/modal/Modal.js +5 -2
- package/cjs/components/modal/ModalRoot.d.ts +1 -1
- package/cjs/components/modal/parts/CloseButton.js +1 -1
- package/cjs/components/modal/style/_modal.scss +1 -2
- package/cjs/components/modal/style/dnb-modal.css +22 -22
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/number-format/NumberFormat.js +2 -2
- package/cjs/components/number-format/style/dnb-number-format.css +14 -14
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/number-format/useNumberFormat.js +2 -2
- package/cjs/components/pagination/Pagination.d.ts +0 -6
- package/cjs/components/pagination/Pagination.js +3 -3
- package/cjs/components/pagination/PaginationInfinity.js +0 -26
- package/cjs/components/pagination/PaginationProvider.js +11 -5
- package/cjs/components/pagination/style/dnb-pagination.css +14 -14
- package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
- package/cjs/components/progress-indicator/ProgressIndicator.js +3 -1
- package/cjs/components/radio/Radio.js +5 -2
- package/cjs/components/radio/RadioGroup.js +3 -1
- package/cjs/components/section/Section.d.ts +30 -83
- package/cjs/components/section/Section.js +33 -123
- package/cjs/components/section/style/_section.scss +8 -25
- package/cjs/components/section/style/dnb-section.css +10 -24
- package/cjs/components/section/style/dnb-section.min.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
- package/cjs/components/skeleton/Skeleton.js +1 -1
- package/cjs/components/slider/Slider.d.ts +3 -4
- package/cjs/components/slider/Slider.js +21 -0
- package/cjs/components/slider/SliderHelpers.d.ts +8 -6
- package/cjs/components/slider/SliderHelpers.js +28 -26
- package/cjs/components/slider/SliderInstance.js +6 -5
- package/cjs/components/slider/SliderProvider.d.ts +2 -2
- package/cjs/components/slider/SliderProvider.js +89 -36
- package/cjs/components/slider/SliderThumb.js +130 -66
- package/cjs/components/slider/SliderTrack.js +11 -12
- package/cjs/components/slider/hooks/useSliderEvents.d.ts +1 -3
- package/cjs/components/slider/hooks/useSliderEvents.js +24 -41
- package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -1
- package/cjs/components/slider/style/_range.scss +6 -0
- package/cjs/components/slider/style/_slider.scss +9 -12
- package/cjs/components/slider/style/dnb-range.css +10 -0
- package/cjs/components/slider/style/dnb-range.scss +6 -0
- package/cjs/components/slider/style/dnb-slider.css +212 -28
- package/cjs/components/slider/style/dnb-slider.min.css +1 -1
- package/cjs/components/slider/style/dnb-slider.scss +1 -0
- package/cjs/components/slider/types.d.ts +40 -7
- package/cjs/components/space/Space.d.ts +3 -2
- package/cjs/components/space/Space.js +17 -22
- package/cjs/components/step-indicator/StepIndicatorContext.js +4 -2
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/cjs/components/step-indicator/style/dnb-step-indicator.css +14 -14
- package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/cjs/components/switch/Switch.js +4 -2
- package/cjs/components/table/Table.js +1 -3
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/TabsContentWrapper.js +1 -1
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
- package/cjs/components/tag/Tag.d.ts +8 -1
- package/cjs/components/tag/Tag.js +8 -9
- package/cjs/components/tag/TagGroup.js +5 -7
- package/cjs/components/tag/style/dnb-tag.css +14 -14
- package/cjs/components/tag/style/dnb-tag.min.css +1 -1
- package/cjs/components/textarea/Textarea.js +4 -2
- package/cjs/components/timeline/Timeline.js +1 -3
- package/cjs/components/timeline/TimelineItem.js +2 -2
- package/cjs/components/toggle-button/ToggleButton.js +4 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +14 -14
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/tooltip/Tooltip.d.ts +8 -154
- package/cjs/components/tooltip/Tooltip.js +84 -166
- package/cjs/components/tooltip/TooltipContainer.d.ts +15 -68
- package/cjs/components/tooltip/TooltipContainer.js +207 -323
- package/cjs/components/tooltip/TooltipHelpers.d.ts +31 -1
- package/cjs/components/tooltip/TooltipHelpers.js +85 -1
- package/cjs/components/tooltip/TooltipPortal.d.ts +13 -31
- package/cjs/components/tooltip/TooltipPortal.js +152 -206
- package/cjs/components/tooltip/TooltipWithEvents.d.ts +11 -35
- package/cjs/components/tooltip/TooltipWithEvents.js +159 -195
- package/cjs/components/tooltip/style/_tooltip.scss +8 -7
- package/cjs/components/tooltip/style/dnb-tooltip.css +14 -14
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/types.d.ts +28 -0
- package/cjs/components/tooltip/types.js +1 -0
- package/cjs/components/visually-hidden/VisuallyHidden.d.ts +2 -3
- package/cjs/components/visually-hidden/VisuallyHidden.js +2 -20
- package/cjs/elements/Anchor.d.ts +3 -1
- package/cjs/elements/Anchor.js +3 -5
- package/cjs/elements/Dd.d.ts +10 -26
- package/cjs/elements/Dd.js +0 -31
- package/cjs/elements/Dl.d.ts +19 -26
- package/cjs/elements/Dl.js +24 -26
- package/cjs/elements/Dt.d.ts +10 -26
- package/cjs/elements/Dt.js +0 -31
- package/cjs/elements/Element.js +1 -3
- package/cjs/elements/Link.d.ts +3 -1
- package/cjs/elements/lib.d.ts +18 -5
- package/cjs/extensions/payment-card/PaymentCard.js +2 -2
- package/cjs/fragments/drawer-list/DrawerList.js +3 -1
- package/cjs/fragments/drawer-list/style/_drawer-list.scss +1 -1
- package/cjs/fragments/lib.d.ts +8 -1
- package/cjs/fragments/scroll-view/ScrollView.d.ts +13 -6
- package/cjs/fragments/scroll-view/ScrollView.js +29 -99
- package/cjs/icons/add.js +5 -2
- package/cjs/icons/add_circled.js +5 -2
- package/cjs/icons/add_circled_medium.js +5 -2
- package/cjs/icons/add_medium.js +5 -2
- package/cjs/icons/boat.js +10 -3
- package/cjs/icons/boat_medium.js +10 -3
- package/cjs/icons/calculator.js +10 -3
- package/cjs/icons/card.js +4 -2
- package/cjs/icons/card_medium.js +4 -2
- package/cjs/icons/cat_medium.js +10 -3
- package/cjs/icons/chatbot.js +5 -2
- package/cjs/icons/chatbot_medium.js +5 -2
- package/cjs/icons/chip.js +10 -3
- package/cjs/icons/chip_medium.js +10 -3
- package/cjs/icons/cloud_download.js +10 -3
- package/cjs/icons/cloud_download_medium.js +10 -3
- package/cjs/icons/cloud_rain.js +10 -3
- package/cjs/icons/cloud_rain_medium.js +10 -3
- package/cjs/icons/cloud_sync.js +10 -3
- package/cjs/icons/cloud_sync_medium.js +10 -3
- package/cjs/icons/cloud_transfer.js +10 -3
- package/cjs/icons/cloud_transfer_medium.js +10 -3
- package/cjs/icons/cloud_upload.js +10 -3
- package/cjs/icons/cloud_upload_medium.js +10 -3
- package/cjs/icons/cookie.js +10 -3
- package/cjs/icons/cookie_medium.js +10 -3
- package/cjs/icons/diamond.js +10 -3
- package/cjs/icons/dog.js +10 -3
- package/cjs/icons/dog_medium.js +10 -3
- package/cjs/icons/exclamation_circled.js +5 -2
- package/cjs/icons/exclamation_circled_medium.js +5 -2
- package/cjs/icons/file_jpg.d.ts +2 -0
- package/cjs/icons/file_jpg.js +32 -0
- package/cjs/icons/file_jpg_medium.d.ts +2 -0
- package/cjs/icons/file_jpg_medium.js +38 -0
- package/cjs/icons/file_png.d.ts +2 -0
- package/cjs/icons/file_png.js +32 -0
- package/cjs/icons/file_png_medium.d.ts +2 -0
- package/cjs/icons/file_png_medium.js +38 -0
- package/cjs/icons/fish.d.ts +2 -0
- package/cjs/icons/fish.js +40 -0
- package/cjs/icons/fish_medium.d.ts +2 -0
- package/cjs/icons/fish_medium.js +40 -0
- package/cjs/icons/hourglass.js +10 -3
- package/cjs/icons/icons-meta.json +71 -1
- package/cjs/icons/icons-pdf.lock +1098 -968
- package/cjs/icons/icons-svg.lock +1098 -968
- package/cjs/icons/index.d.ts +11 -1
- package/cjs/icons/index.js +80 -0
- package/cjs/icons/instagram.js +10 -3
- package/cjs/icons/linkedin.js +10 -3
- package/cjs/icons/linkedin_medium.js +10 -3
- package/cjs/icons/loupe.js +4 -2
- package/cjs/icons/loupe_medium.js +4 -2
- package/cjs/icons/mastercard_card.js +4 -2
- package/cjs/icons/mastercard_card_medium.js +4 -2
- package/cjs/icons/news.js +10 -3
- package/cjs/icons/news_medium.js +10 -3
- package/cjs/icons/newspaper.d.ts +2 -0
- package/cjs/icons/newspaper.js +35 -0
- package/cjs/icons/newspaper_medium.d.ts +2 -0
- package/cjs/icons/newspaper_medium.js +35 -0
- package/cjs/icons/phone.js +10 -3
- package/cjs/icons/phone_medium.js +10 -3
- package/cjs/icons/photo.js +10 -3
- package/cjs/icons/photo_medium.js +10 -3
- package/cjs/icons/pin.js +10 -3
- package/cjs/icons/pin_medium.js +10 -3
- package/cjs/icons/play.js +10 -3
- package/cjs/icons/savings_account.js +5 -2
- package/cjs/icons/secondary_icons.d.ts +6 -1
- package/cjs/icons/secondary_icons.js +40 -0
- package/cjs/icons/secondary_icons_medium.d.ts +6 -1
- package/cjs/icons/secondary_icons_medium.js +40 -0
- package/cjs/icons/sort.d.ts +2 -0
- package/cjs/icons/sort.js +35 -0
- package/cjs/icons/sort_medium.d.ts +2 -0
- package/cjs/icons/sort_medium.js +35 -0
- package/cjs/icons/subtract.js +5 -2
- package/cjs/icons/subtract_circled.js +5 -2
- package/cjs/icons/subtract_circled_medium.js +5 -2
- package/cjs/icons/subtract_medium.js +5 -2
- package/cjs/icons/tag.js +13 -10
- package/cjs/icons/tag_medium.js +13 -10
- package/cjs/icons/thumbs_down.js +10 -3
- package/cjs/icons/thumbs_up.js +10 -3
- package/cjs/icons/video.js +10 -3
- package/cjs/icons/video_medium.js +10 -3
- package/cjs/icons/wallet_medium.js +4 -2
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +8 -0
- package/cjs/shared/AnimateHeight.d.ts +46 -32
- package/cjs/shared/AnimateHeight.js +104 -66
- package/cjs/shared/Context.d.ts +9 -3
- package/cjs/shared/Eufemia.js +1 -1
- package/cjs/shared/MediaQueryUtils.d.ts +5 -1
- package/cjs/shared/MediaQueryUtils.js +5 -3
- package/cjs/shared/component-helper.d.ts +7 -18
- package/cjs/shared/component-helper.js +55 -260
- package/cjs/shared/helpers/EventEmitter.d.ts +46 -0
- package/cjs/shared/{EventEmitter.js → helpers/EventEmitter.js} +31 -26
- package/cjs/shared/helpers/InteractionInvalidation.d.ts +30 -0
- package/cjs/shared/helpers/InteractionInvalidation.js +256 -0
- package/{shared/hooks/usePropsWithContext.d.ts → cjs/shared/helpers/extendPropsWithContext.d.ts} +2 -3
- package/cjs/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -15
- package/cjs/shared/helpers/filterValidProps.d.ts +1 -1
- package/cjs/shared/helpers/filterValidProps.js +1 -1
- package/cjs/shared/helpers/getPreviousSibling.d.ts +10 -0
- package/cjs/shared/helpers/getPreviousSibling.js +47 -0
- package/cjs/shared/helpers/useEventEmitter.d.ts +14 -0
- package/cjs/shared/helpers/useEventEmitter.js +92 -0
- package/cjs/shared/helpers/withCamelCaseProps.js +7 -0
- package/cjs/shared/helpers.d.ts +2 -0
- package/cjs/shared/interfaces.d.ts +6 -4
- package/cjs/shared/locales/en-GB.d.ts +3 -0
- package/cjs/shared/locales/en-GB.js +3 -0
- package/cjs/shared/locales/en-US.d.ts +3 -0
- package/cjs/shared/locales/index.d.ts +6 -0
- package/cjs/shared/locales/nb-NO.d.ts +3 -0
- package/cjs/shared/locales/nb-NO.js +3 -0
- package/cjs/shared/useMediaQuery.js +19 -12
- package/cjs/style/core/helper-classes/helper-classes.scss +4 -0
- package/cjs/style/dnb-ui-basis.css +3 -0
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +113 -91
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-components.scss +1 -0
- package/cjs/style/dnb-ui-core.css +3 -0
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +25 -4
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +1 -1
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/dnb-ui-tags.css +50 -8
- package/cjs/style/dnb-ui-tags.min.css +1 -1
- package/cjs/style/elements/lists.scss +27 -5
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +129 -111
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
- package/components/HeightAnimation.d.ts +3 -0
- package/components/HeightAnimation.js +3 -0
- package/components/accordion/Accordion.js +3 -3
- package/components/accordion/AccordionHeader.js +2 -2
- package/components/accordion/AccordionProvider.js +3 -2
- package/components/accordion/style/_accordion.scss +14 -15
- package/components/accordion/style/dnb-accordion.css +9 -6
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-ui.css +102 -95
- package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
- package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +37 -37
- package/components/autocomplete/Autocomplete.d.ts +0 -10
- package/components/autocomplete/Autocomplete.js +3 -5
- package/components/autocomplete/style/_autocomplete.scss +2 -2
- package/components/autocomplete/style/dnb-autocomplete.css +46 -46
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/avatar/Avatar.d.ts +3 -1
- package/components/avatar/Avatar.js +2 -3
- package/components/avatar/AvatarGroup.js +9 -10
- package/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
- package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
- package/components/badge/Badge.js +2 -16
- package/components/breadcrumb/Breadcrumb.d.ts +10 -4
- package/components/breadcrumb/Breadcrumb.js +26 -27
- package/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
- package/components/breadcrumb/BreadcrumbItem.js +13 -11
- package/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
- package/components/breadcrumb/BreadcrumbMultiple.js +31 -0
- package/components/breadcrumb/style/_breadcrumb.scss +25 -12
- package/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
- package/components/button/Button.d.ts +6 -8
- package/components/button/Button.js +5 -4
- package/components/button/style/dnb-button.css +14 -14
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
- package/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
- package/components/button/style/themes/dnb-button-theme-ui.css +2 -2
- package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
- package/components/checkbox/Checkbox.js +4 -3
- package/components/date-picker/DatePicker.js +4 -3
- package/components/date-picker/style/dnb-date-picker.css +56 -56
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/dialog/Dialog.js +2 -2
- package/components/dialog/parts/DialogBody.d.ts +2 -1
- package/components/dialog/style/_dialog.scss +1 -1
- package/components/dialog/style/dnb-dialog.css +26 -26
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/drawer/DrawerContent.d.ts +1 -1
- package/components/drawer/DrawerContent.js +2 -4
- package/components/drawer/parts/DrawerBody.d.ts +2 -1
- package/components/drawer/style/dnb-drawer.css +22 -22
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/Dropdown.d.ts +0 -4
- package/components/dropdown/Dropdown.js +4 -3
- package/components/dropdown/style/dnb-dropdown.css +14 -14
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/form-label/FormLabel.js +4 -3
- package/components/form-row/FormRow.js +9 -4
- package/components/form-row/style/_form-row.scss +4 -1
- package/components/form-row/style/dnb-form-row.css +4 -3
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-set/FormSet.js +2 -2
- package/components/form-status/FormStatus.js +4 -3
- package/components/global-error/style/dnb-global-error.css +14 -14
- package/components/global-error/style/dnb-global-error.min.css +1 -1
- package/components/global-status/GlobalStatus.js +4 -4
- package/components/global-status/style/dnb-global-status.css +24 -38
- package/components/global-status/style/dnb-global-status.min.css +1 -1
- package/components/height-animation/HeightAnimation.d.ts +27 -0
- package/components/height-animation/HeightAnimation.js +60 -0
- package/components/height-animation/index.d.ts +3 -0
- package/components/height-animation/index.js +3 -0
- package/components/height-animation/style/_height-animation.scss +12 -0
- package/components/height-animation/style/dnb-height-animation.css +81 -0
- package/components/height-animation/style/dnb-height-animation.min.css +1 -0
- package/components/height-animation/style/dnb-height-animation.scss +12 -0
- package/components/height-animation/style/index.d.ts +1 -0
- package/components/height-animation/style/index.js +1 -0
- package/components/height-animation/style.d.ts +1 -0
- package/components/height-animation/style.js +1 -0
- package/components/height-animation/useHeightAnimation.d.ts +40 -0
- package/components/height-animation/useHeightAnimation.js +196 -0
- package/components/help-button/HelpButton.d.ts +10 -236
- package/components/help-button/HelpButton.js +30 -94
- package/components/help-button/HelpButtonInstance.d.ts +5 -100
- package/components/help-button/HelpButtonInstance.js +56 -101
- package/components/help-button/style/dnb-help-button.css +14 -14
- package/components/help-button/style/dnb-help-button.min.css +1 -1
- package/components/icon/Icon.js +5 -4
- package/components/icon-primary/IconPrimary.js +4 -3
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/info-card/InfoCard.d.ts +0 -2
- package/components/info-card/InfoCard.js +20 -22
- package/components/input/Input.js +5 -4
- package/components/input/InputPassword.js +4 -3
- package/components/input/style/dnb-input.css +28 -28
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.css +28 -28
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/lib.d.ts +27 -9
- package/components/lib.js +3 -1
- package/components/logo/Logo.d.ts +5 -0
- package/components/logo/Logo.js +8 -4
- package/components/logo/style/_logo.scss +3 -0
- package/components/logo/style/dnb-logo.css +2 -0
- package/components/logo/style/dnb-logo.min.css +1 -1
- package/components/modal/Modal.d.ts +1 -1
- package/components/modal/Modal.js +5 -3
- package/components/modal/ModalRoot.d.ts +1 -1
- package/components/modal/parts/CloseButton.js +2 -2
- package/components/modal/style/_modal.scss +1 -2
- package/components/modal/style/dnb-modal.css +22 -22
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/number-format/NumberFormat.js +3 -3
- package/components/number-format/style/dnb-number-format.css +14 -14
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/number-format/useNumberFormat.js +2 -2
- package/components/pagination/Pagination.d.ts +0 -6
- package/components/pagination/Pagination.js +3 -4
- package/components/pagination/PaginationInfinity.js +0 -26
- package/components/pagination/PaginationProvider.js +11 -5
- package/components/pagination/style/dnb-pagination.css +14 -14
- package/components/pagination/style/dnb-pagination.min.css +1 -1
- package/components/progress-indicator/ProgressIndicator.js +3 -2
- package/components/radio/Radio.js +5 -3
- package/components/radio/RadioGroup.js +3 -2
- package/components/section/Section.d.ts +30 -83
- package/components/section/Section.js +36 -99
- package/components/section/style/_section.scss +8 -25
- package/components/section/style/dnb-section.css +10 -24
- package/components/section/style/dnb-section.min.css +1 -1
- package/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
- package/components/skeleton/Skeleton.js +2 -2
- package/components/slider/Slider.d.ts +3 -4
- package/components/slider/Slider.js +1 -0
- package/components/slider/SliderHelpers.d.ts +8 -6
- package/components/slider/SliderHelpers.js +26 -21
- package/components/slider/SliderInstance.js +8 -7
- package/components/slider/SliderProvider.d.ts +2 -2
- package/components/slider/SliderProvider.js +92 -38
- package/components/slider/SliderThumb.js +107 -68
- package/components/slider/SliderTrack.js +13 -14
- package/components/slider/hooks/useSliderEvents.d.ts +1 -3
- package/components/slider/hooks/useSliderEvents.js +24 -41
- package/components/slider/hooks/useSliderProps.d.ts +1 -1
- package/components/slider/style/_range.scss +6 -0
- package/components/slider/style/_slider.scss +9 -12
- package/components/slider/style/dnb-range.css +10 -0
- package/components/slider/style/dnb-range.scss +6 -0
- package/components/slider/style/dnb-slider.css +212 -28
- package/components/slider/style/dnb-slider.min.css +1 -1
- package/components/slider/style/dnb-slider.scss +1 -0
- package/components/slider/types.d.ts +40 -7
- package/components/space/Space.d.ts +3 -2
- package/components/space/Space.js +18 -23
- package/components/step-indicator/StepIndicatorContext.js +4 -3
- package/components/step-indicator/StepIndicatorSidebar.js +2 -2
- package/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/components/step-indicator/style/dnb-step-indicator.css +14 -14
- package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/components/switch/Switch.js +4 -3
- package/components/table/Table.js +2 -3
- package/components/tabs/Tabs.js +3 -3
- package/components/tabs/TabsContentWrapper.js +1 -1
- package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
- package/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
- package/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
- package/components/tag/Tag.d.ts +8 -1
- package/components/tag/Tag.js +9 -9
- package/components/tag/TagGroup.js +6 -7
- package/components/tag/style/dnb-tag.css +14 -14
- package/components/tag/style/dnb-tag.min.css +1 -1
- package/components/textarea/Textarea.js +4 -3
- package/components/timeline/Timeline.js +2 -3
- package/components/timeline/TimelineItem.js +2 -2
- package/components/toggle-button/ToggleButton.js +4 -2
- package/components/toggle-button/ToggleButtonGroup.js +3 -2
- package/components/toggle-button/style/dnb-toggle-button.css +14 -14
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/tooltip/Tooltip.d.ts +8 -154
- package/components/tooltip/Tooltip.js +63 -150
- package/components/tooltip/TooltipContainer.d.ts +15 -68
- package/components/tooltip/TooltipContainer.js +188 -313
- package/components/tooltip/TooltipHelpers.d.ts +31 -1
- package/components/tooltip/TooltipHelpers.js +67 -1
- package/components/tooltip/TooltipPortal.d.ts +13 -31
- package/components/tooltip/TooltipPortal.js +139 -200
- package/components/tooltip/TooltipWithEvents.d.ts +11 -35
- package/components/tooltip/TooltipWithEvents.js +148 -191
- package/components/tooltip/style/_tooltip.scss +8 -7
- package/components/tooltip/style/dnb-tooltip.css +14 -14
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/types.d.ts +28 -0
- package/components/tooltip/types.js +1 -0
- package/components/visually-hidden/VisuallyHidden.d.ts +2 -3
- package/components/visually-hidden/VisuallyHidden.js +2 -17
- package/elements/Anchor.d.ts +3 -1
- package/elements/Anchor.js +4 -5
- package/elements/Dd.d.ts +10 -26
- package/elements/Dd.js +0 -22
- package/elements/Dl.d.ts +19 -26
- package/elements/Dl.js +19 -23
- package/elements/Dt.d.ts +10 -26
- package/elements/Dt.js +0 -22
- package/elements/Element.js +2 -3
- package/elements/Link.d.ts +3 -1
- package/elements/lib.d.ts +18 -5
- package/es/components/HeightAnimation.d.ts +3 -0
- package/es/components/HeightAnimation.js +3 -0
- package/es/components/accordion/Accordion.js +3 -3
- package/es/components/accordion/AccordionHeader.js +2 -2
- package/es/components/accordion/AccordionProvider.js +3 -2
- package/es/components/accordion/style/_accordion.scss +14 -15
- package/es/components/accordion/style/dnb-accordion.css +9 -6
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +102 -95
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +3 -3
- package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +37 -37
- package/es/components/autocomplete/Autocomplete.d.ts +0 -10
- package/es/components/autocomplete/Autocomplete.js +3 -5
- package/es/components/autocomplete/style/_autocomplete.scss +2 -2
- package/es/components/autocomplete/style/dnb-autocomplete.css +46 -46
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/avatar/Avatar.d.ts +3 -1
- package/es/components/avatar/Avatar.js +2 -3
- package/es/components/avatar/AvatarGroup.js +4 -5
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +0 -10
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +0 -8
- package/es/components/badge/Badge.js +2 -9
- package/es/components/breadcrumb/Breadcrumb.d.ts +10 -4
- package/es/components/breadcrumb/Breadcrumb.js +26 -22
- package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -0
- package/es/components/breadcrumb/BreadcrumbItem.js +9 -7
- package/es/components/breadcrumb/BreadcrumbMultiple.d.ts +10 -0
- package/es/components/breadcrumb/BreadcrumbMultiple.js +31 -0
- package/es/components/breadcrumb/style/_breadcrumb.scss +25 -12
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +933 -17
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +4 -0
- package/es/components/button/Button.d.ts +6 -8
- package/es/components/button/Button.js +5 -4
- package/es/components/button/style/dnb-button.css +14 -14
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +22 -2
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +3 -3
- package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.css +2 -2
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +2 -2
- package/es/components/checkbox/Checkbox.js +4 -3
- package/es/components/date-picker/DatePicker.js +4 -3
- package/es/components/date-picker/style/dnb-date-picker.css +56 -56
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/dialog/Dialog.js +2 -2
- package/es/components/dialog/parts/DialogBody.d.ts +2 -1
- package/es/components/dialog/style/_dialog.scss +1 -1
- package/es/components/dialog/style/dnb-dialog.css +26 -26
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/drawer/DrawerContent.d.ts +1 -1
- package/es/components/drawer/DrawerContent.js +2 -3
- package/es/components/drawer/parts/DrawerBody.d.ts +2 -1
- package/es/components/drawer/style/dnb-drawer.css +22 -22
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/Dropdown.d.ts +0 -4
- package/es/components/dropdown/Dropdown.js +4 -3
- package/es/components/dropdown/style/dnb-dropdown.css +14 -14
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/form-label/FormLabel.js +4 -3
- package/es/components/form-row/FormRow.js +9 -4
- package/es/components/form-row/style/_form-row.scss +4 -1
- package/es/components/form-row/style/dnb-form-row.css +4 -3
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-set/FormSet.js +2 -2
- package/es/components/form-status/FormStatus.js +4 -3
- package/es/components/global-error/style/dnb-global-error.css +14 -14
- package/es/components/global-error/style/dnb-global-error.min.css +1 -1
- package/es/components/global-status/GlobalStatus.js +4 -4
- package/es/components/global-status/style/dnb-global-status.css +24 -38
- package/es/components/global-status/style/dnb-global-status.min.css +1 -1
- package/es/components/height-animation/HeightAnimation.d.ts +27 -0
- package/es/components/height-animation/HeightAnimation.js +56 -0
- package/es/components/height-animation/index.d.ts +3 -0
- package/es/components/height-animation/index.js +3 -0
- package/es/components/height-animation/style/_height-animation.scss +12 -0
- package/es/components/height-animation/style/dnb-height-animation.css +81 -0
- package/es/components/height-animation/style/dnb-height-animation.min.css +1 -0
- package/es/components/height-animation/style/dnb-height-animation.scss +12 -0
- package/es/components/height-animation/style/index.d.ts +1 -0
- package/es/components/height-animation/style/index.js +1 -0
- package/es/components/height-animation/style.d.ts +1 -0
- package/es/components/height-animation/style.js +1 -0
- package/es/components/height-animation/useHeightAnimation.d.ts +40 -0
- package/es/components/height-animation/useHeightAnimation.js +168 -0
- package/es/components/help-button/HelpButton.d.ts +10 -236
- package/es/components/help-button/HelpButton.js +28 -57
- package/es/components/help-button/HelpButtonInstance.d.ts +5 -100
- package/es/components/help-button/HelpButtonInstance.js +55 -74
- package/es/components/help-button/style/dnb-help-button.css +14 -14
- package/es/components/help-button/style/dnb-help-button.min.css +1 -1
- package/es/components/icon/Icon.js +5 -4
- package/es/components/icon-primary/IconPrimary.js +4 -3
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/info-card/InfoCard.d.ts +0 -2
- package/es/components/info-card/InfoCard.js +6 -8
- package/es/components/input/Input.js +5 -4
- package/es/components/input/InputPassword.js +4 -3
- package/es/components/input/style/dnb-input.css +28 -28
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +28 -28
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/lib.d.ts +27 -9
- package/es/components/lib.js +3 -1
- package/es/components/logo/Logo.d.ts +5 -0
- package/es/components/logo/Logo.js +8 -4
- package/es/components/logo/style/_logo.scss +3 -0
- package/es/components/logo/style/dnb-logo.css +2 -0
- package/es/components/logo/style/dnb-logo.min.css +1 -1
- package/es/components/modal/Modal.d.ts +1 -1
- package/es/components/modal/Modal.js +5 -3
- package/es/components/modal/ModalRoot.d.ts +1 -1
- package/es/components/modal/parts/CloseButton.js +2 -2
- package/es/components/modal/style/_modal.scss +1 -2
- package/es/components/modal/style/dnb-modal.css +22 -22
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/number-format/NumberFormat.js +3 -3
- package/es/components/number-format/style/dnb-number-format.css +14 -14
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/number-format/useNumberFormat.js +2 -2
- package/es/components/pagination/Pagination.d.ts +0 -6
- package/es/components/pagination/Pagination.js +3 -4
- package/es/components/pagination/PaginationInfinity.js +0 -26
- package/es/components/pagination/PaginationProvider.js +11 -5
- package/es/components/pagination/style/dnb-pagination.css +14 -14
- package/es/components/pagination/style/dnb-pagination.min.css +1 -1
- package/es/components/progress-indicator/ProgressIndicator.js +3 -2
- package/es/components/radio/Radio.js +5 -3
- package/es/components/radio/RadioGroup.js +3 -2
- package/es/components/section/Section.d.ts +30 -83
- package/es/components/section/Section.js +35 -70
- package/es/components/section/style/_section.scss +8 -25
- package/es/components/section/style/dnb-section.css +10 -24
- package/es/components/section/style/dnb-section.min.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-ui.scss +1 -5
- package/es/components/skeleton/Skeleton.js +2 -2
- package/es/components/slider/Slider.d.ts +3 -4
- package/es/components/slider/Slider.js +1 -0
- package/es/components/slider/SliderHelpers.d.ts +8 -6
- package/es/components/slider/SliderHelpers.js +26 -18
- package/es/components/slider/SliderInstance.js +8 -7
- package/es/components/slider/SliderProvider.d.ts +2 -2
- package/es/components/slider/SliderProvider.js +71 -26
- package/es/components/slider/SliderThumb.js +100 -59
- package/es/components/slider/SliderTrack.js +13 -14
- package/es/components/slider/hooks/useSliderEvents.d.ts +1 -3
- package/es/components/slider/hooks/useSliderEvents.js +24 -37
- package/es/components/slider/hooks/useSliderProps.d.ts +1 -1
- package/es/components/slider/style/_range.scss +6 -0
- package/es/components/slider/style/_slider.scss +9 -12
- package/es/components/slider/style/dnb-range.css +10 -0
- package/es/components/slider/style/dnb-range.scss +6 -0
- package/es/components/slider/style/dnb-slider.css +212 -28
- package/es/components/slider/style/dnb-slider.min.css +1 -1
- package/es/components/slider/style/dnb-slider.scss +1 -0
- package/es/components/slider/types.d.ts +40 -7
- package/es/components/space/Space.d.ts +3 -2
- package/es/components/space/Space.js +20 -25
- package/es/components/step-indicator/StepIndicatorContext.js +4 -3
- package/es/components/step-indicator/StepIndicatorSidebar.js +2 -2
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/es/components/step-indicator/style/dnb-step-indicator.css +14 -14
- package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/es/components/switch/Switch.js +4 -3
- package/es/components/table/Table.js +2 -3
- package/es/components/tabs/Tabs.js +3 -3
- package/es/components/tabs/TabsContentWrapper.js +1 -1
- package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
- package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
- package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
- package/es/components/tag/Tag.d.ts +8 -1
- package/es/components/tag/Tag.js +10 -10
- package/es/components/tag/TagGroup.js +4 -5
- package/es/components/tag/style/dnb-tag.css +14 -14
- package/es/components/tag/style/dnb-tag.min.css +1 -1
- package/es/components/textarea/Textarea.js +4 -3
- package/es/components/timeline/Timeline.js +2 -3
- package/es/components/timeline/TimelineItem.js +2 -2
- package/es/components/toggle-button/ToggleButton.js +4 -2
- package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
- package/es/components/toggle-button/style/dnb-toggle-button.css +14 -14
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/tooltip/Tooltip.d.ts +8 -154
- package/es/components/tooltip/Tooltip.js +57 -122
- package/es/components/tooltip/TooltipContainer.d.ts +15 -68
- package/es/components/tooltip/TooltipContainer.js +162 -262
- package/es/components/tooltip/TooltipHelpers.d.ts +31 -1
- package/es/components/tooltip/TooltipHelpers.js +66 -1
- package/es/components/tooltip/TooltipPortal.d.ts +13 -31
- package/es/components/tooltip/TooltipPortal.js +122 -163
- package/es/components/tooltip/TooltipWithEvents.d.ts +11 -35
- package/es/components/tooltip/TooltipWithEvents.js +126 -150
- package/es/components/tooltip/style/_tooltip.scss +8 -7
- package/es/components/tooltip/style/dnb-tooltip.css +14 -14
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/types.d.ts +28 -0
- package/es/components/tooltip/types.js +1 -0
- package/es/components/visually-hidden/VisuallyHidden.d.ts +2 -3
- package/es/components/visually-hidden/VisuallyHidden.js +2 -10
- package/es/elements/Anchor.d.ts +3 -1
- package/es/elements/Anchor.js +4 -5
- package/es/elements/Dd.d.ts +10 -26
- package/es/elements/Dd.js +0 -15
- package/es/elements/Dl.d.ts +19 -26
- package/es/elements/Dl.js +27 -19
- package/es/elements/Dt.d.ts +10 -26
- package/es/elements/Dt.js +0 -15
- package/es/elements/Element.js +2 -3
- package/es/elements/Link.d.ts +3 -1
- package/es/elements/lib.d.ts +18 -5
- package/es/extensions/payment-card/PaymentCard.js +3 -3
- package/es/fragments/drawer-list/DrawerList.js +3 -2
- package/es/fragments/drawer-list/style/_drawer-list.scss +1 -1
- package/es/fragments/lib.d.ts +8 -1
- package/es/fragments/scroll-view/ScrollView.d.ts +13 -6
- package/es/fragments/scroll-view/ScrollView.js +30 -52
- package/es/icons/add.js +5 -2
- package/es/icons/add_circled.js +5 -2
- package/es/icons/add_circled_medium.js +5 -2
- package/es/icons/add_medium.js +5 -2
- package/es/icons/boat.js +10 -3
- package/es/icons/boat_medium.js +10 -3
- package/es/icons/calculator.js +10 -3
- package/es/icons/card.js +4 -2
- package/es/icons/card_medium.js +4 -2
- package/es/icons/cat_medium.js +10 -3
- package/es/icons/chatbot.js +5 -2
- package/es/icons/chatbot_medium.js +5 -2
- package/es/icons/chip.js +10 -3
- package/es/icons/chip_medium.js +10 -3
- package/es/icons/cloud_download.js +10 -3
- package/es/icons/cloud_download_medium.js +10 -3
- package/es/icons/cloud_rain.js +10 -3
- package/es/icons/cloud_rain_medium.js +10 -3
- package/es/icons/cloud_sync.js +10 -3
- package/es/icons/cloud_sync_medium.js +10 -3
- package/es/icons/cloud_transfer.js +10 -3
- package/es/icons/cloud_transfer_medium.js +10 -3
- package/es/icons/cloud_upload.js +10 -3
- package/es/icons/cloud_upload_medium.js +10 -3
- package/es/icons/cookie.js +10 -3
- package/es/icons/cookie_medium.js +10 -3
- package/es/icons/diamond.js +10 -3
- package/es/icons/dog.js +10 -3
- package/es/icons/dog_medium.js +10 -3
- package/es/icons/exclamation_circled.js +5 -2
- package/es/icons/exclamation_circled_medium.js +5 -2
- package/es/icons/file_jpg.d.ts +2 -0
- package/es/icons/file_jpg.js +18 -0
- package/es/icons/file_jpg_medium.d.ts +2 -0
- package/es/icons/file_jpg_medium.js +24 -0
- package/es/icons/file_png.d.ts +2 -0
- package/es/icons/file_png.js +18 -0
- package/es/icons/file_png_medium.d.ts +2 -0
- package/es/icons/file_png_medium.js +24 -0
- package/es/icons/fish.d.ts +2 -0
- package/es/icons/fish.js +26 -0
- package/es/icons/fish_medium.d.ts +2 -0
- package/es/icons/fish_medium.js +26 -0
- package/es/icons/hourglass.js +10 -3
- package/es/icons/icons-meta.json +71 -1
- package/es/icons/icons-pdf.lock +1098 -968
- package/es/icons/icons-svg.lock +1098 -968
- package/es/icons/index.d.ts +11 -1
- package/es/icons/index.js +11 -1
- package/es/icons/instagram.js +10 -3
- package/es/icons/linkedin.js +10 -3
- package/es/icons/linkedin_medium.js +10 -3
- package/es/icons/loupe.js +4 -2
- package/es/icons/loupe_medium.js +4 -2
- package/es/icons/mastercard_card.js +4 -2
- package/es/icons/mastercard_card_medium.js +4 -2
- package/es/icons/news.js +10 -3
- package/es/icons/news_medium.js +10 -3
- package/es/icons/newspaper.d.ts +2 -0
- package/es/icons/newspaper.js +21 -0
- package/es/icons/newspaper_medium.d.ts +2 -0
- package/es/icons/newspaper_medium.js +21 -0
- package/es/icons/phone.js +10 -3
- package/es/icons/phone_medium.js +10 -3
- package/es/icons/photo.js +10 -3
- package/es/icons/photo_medium.js +10 -3
- package/es/icons/pin.js +10 -3
- package/es/icons/pin_medium.js +10 -3
- package/es/icons/play.js +10 -3
- package/es/icons/savings_account.js +5 -2
- package/es/icons/secondary_icons.d.ts +6 -1
- package/es/icons/secondary_icons.js +6 -1
- package/es/icons/secondary_icons_medium.d.ts +6 -1
- package/es/icons/secondary_icons_medium.js +6 -1
- package/es/icons/sort.d.ts +2 -0
- package/es/icons/sort.js +21 -0
- package/es/icons/sort_medium.d.ts +2 -0
- package/es/icons/sort_medium.js +21 -0
- package/es/icons/subtract.js +5 -2
- package/es/icons/subtract_circled.js +5 -2
- package/es/icons/subtract_circled_medium.js +5 -2
- package/es/icons/subtract_medium.js +5 -2
- package/es/icons/tag.js +13 -10
- package/es/icons/tag_medium.js +13 -10
- package/es/icons/thumbs_down.js +10 -3
- package/es/icons/thumbs_up.js +10 -3
- package/es/icons/video.js +10 -3
- package/es/icons/video_medium.js +10 -3
- package/es/icons/wallet_medium.js +4 -2
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/shared/AnimateHeight.d.ts +46 -32
- package/es/shared/AnimateHeight.js +68 -38
- package/es/shared/Context.d.ts +9 -3
- package/es/shared/Eufemia.js +1 -1
- package/es/shared/MediaQueryUtils.d.ts +5 -1
- package/es/shared/MediaQueryUtils.js +4 -3
- package/es/shared/component-helper.d.ts +7 -18
- package/es/shared/component-helper.js +7 -167
- package/es/shared/helpers/EventEmitter.d.ts +46 -0
- package/es/shared/{EventEmitter.js → helpers/EventEmitter.js} +27 -21
- package/es/shared/helpers/InteractionInvalidation.d.ts +30 -0
- package/es/shared/helpers/InteractionInvalidation.js +141 -0
- package/{cjs/shared/hooks/usePropsWithContext.d.ts → es/shared/helpers/extendPropsWithContext.d.ts} +2 -3
- package/es/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +22 -10
- package/es/shared/helpers/filterValidProps.d.ts +1 -1
- package/es/shared/helpers/filterValidProps.js +1 -1
- package/es/shared/helpers/getPreviousSibling.d.ts +10 -0
- package/es/shared/helpers/getPreviousSibling.js +33 -0
- package/es/shared/helpers/useEventEmitter.d.ts +14 -0
- package/es/shared/helpers/useEventEmitter.js +30 -0
- package/es/shared/helpers/withCamelCaseProps.js +7 -0
- package/es/shared/helpers.d.ts +2 -0
- package/es/shared/interfaces.d.ts +6 -4
- package/es/shared/locales/en-GB.d.ts +3 -0
- package/es/shared/locales/en-GB.js +3 -0
- package/es/shared/locales/en-US.d.ts +3 -0
- package/es/shared/locales/index.d.ts +6 -0
- package/es/shared/locales/nb-NO.d.ts +3 -0
- package/es/shared/locales/nb-NO.js +3 -0
- package/es/shared/useMediaQuery.js +15 -4
- package/es/style/core/helper-classes/helper-classes.scss +4 -0
- package/es/style/dnb-ui-basis.css +3 -0
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-components.css +113 -91
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-components.scss +1 -0
- package/es/style/dnb-ui-core.css +3 -0
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +25 -4
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +1 -1
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/dnb-ui-tags.css +50 -8
- package/es/style/dnb-ui-tags.min.css +1 -1
- package/es/style/elements/lists.scss +27 -5
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
- package/es/style/themes/theme-ui/dnb-theme-ui.css +129 -111
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
- package/esm/dnb-ui-basis.min.mjs +2 -2
- package/esm/dnb-ui-components.min.mjs +3 -3
- package/esm/dnb-ui-elements.min.mjs +4 -4
- package/esm/dnb-ui-extensions.min.mjs +4 -4
- package/esm/dnb-ui-icons.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +4 -4
- package/esm/dnb-ui-web-components.min.mjs +4 -4
- package/extensions/payment-card/PaymentCard.js +3 -3
- package/fragments/drawer-list/DrawerList.js +3 -2
- package/fragments/drawer-list/style/_drawer-list.scss +1 -1
- package/fragments/lib.d.ts +8 -1
- package/fragments/scroll-view/ScrollView.d.ts +13 -6
- package/fragments/scroll-view/ScrollView.js +31 -79
- package/icons/add.js +5 -2
- package/icons/add_circled.js +5 -2
- package/icons/add_circled_medium.js +5 -2
- package/icons/add_medium.js +5 -2
- package/icons/boat.js +10 -3
- package/icons/boat_medium.js +10 -3
- package/icons/calculator.js +10 -3
- package/icons/card.js +4 -2
- package/icons/card_medium.js +4 -2
- package/icons/cat_medium.js +10 -3
- package/icons/chatbot.js +5 -2
- package/icons/chatbot_medium.js +5 -2
- package/icons/chip.js +10 -3
- package/icons/chip_medium.js +10 -3
- package/icons/cloud_download.js +10 -3
- package/icons/cloud_download_medium.js +10 -3
- package/icons/cloud_rain.js +10 -3
- package/icons/cloud_rain_medium.js +10 -3
- package/icons/cloud_sync.js +10 -3
- package/icons/cloud_sync_medium.js +10 -3
- package/icons/cloud_transfer.js +10 -3
- package/icons/cloud_transfer_medium.js +10 -3
- package/icons/cloud_upload.js +10 -3
- package/icons/cloud_upload_medium.js +10 -3
- package/icons/cookie.js +10 -3
- package/icons/cookie_medium.js +10 -3
- package/icons/diamond.js +10 -3
- package/icons/dog.js +10 -3
- package/icons/dog_medium.js +10 -3
- package/icons/exclamation_circled.js +5 -2
- package/icons/exclamation_circled_medium.js +5 -2
- package/icons/file_jpg.d.ts +2 -0
- package/icons/file_jpg.js +20 -0
- package/icons/file_jpg_medium.d.ts +2 -0
- package/icons/file_jpg_medium.js +26 -0
- package/icons/file_png.d.ts +2 -0
- package/icons/file_png.js +20 -0
- package/icons/file_png_medium.d.ts +2 -0
- package/icons/file_png_medium.js +26 -0
- package/icons/fish.d.ts +2 -0
- package/icons/fish.js +28 -0
- package/icons/fish_medium.d.ts +2 -0
- package/icons/fish_medium.js +28 -0
- package/icons/hourglass.js +10 -3
- package/icons/icons-meta.json +71 -1
- package/icons/icons-pdf.lock +1098 -968
- package/icons/icons-svg.lock +1098 -968
- package/icons/index.d.ts +11 -1
- package/icons/index.js +11 -1
- package/icons/instagram.js +10 -3
- package/icons/linkedin.js +10 -3
- package/icons/linkedin_medium.js +10 -3
- package/icons/loupe.js +4 -2
- package/icons/loupe_medium.js +4 -2
- package/icons/mastercard_card.js +4 -2
- package/icons/mastercard_card_medium.js +4 -2
- package/icons/news.js +10 -3
- package/icons/news_medium.js +10 -3
- package/icons/newspaper.d.ts +2 -0
- package/icons/newspaper.js +23 -0
- package/icons/newspaper_medium.d.ts +2 -0
- package/icons/newspaper_medium.js +23 -0
- package/icons/phone.js +10 -3
- package/icons/phone_medium.js +10 -3
- package/icons/photo.js +10 -3
- package/icons/photo_medium.js +10 -3
- package/icons/pin.js +10 -3
- package/icons/pin_medium.js +10 -3
- package/icons/play.js +10 -3
- package/icons/savings_account.js +5 -2
- package/icons/secondary_icons.d.ts +6 -1
- package/icons/secondary_icons.js +6 -1
- package/icons/secondary_icons_medium.d.ts +6 -1
- package/icons/secondary_icons_medium.js +6 -1
- package/icons/sort.d.ts +2 -0
- package/icons/sort.js +23 -0
- package/icons/sort_medium.d.ts +2 -0
- package/icons/sort_medium.js +23 -0
- package/icons/subtract.js +5 -2
- package/icons/subtract_circled.js +5 -2
- package/icons/subtract_circled_medium.js +5 -2
- package/icons/subtract_medium.js +5 -2
- package/icons/tag.js +13 -10
- package/icons/tag_medium.js +13 -10
- package/icons/thumbs_down.js +10 -3
- package/icons/thumbs_up.js +10 -3
- package/icons/video.js +10 -3
- package/icons/video_medium.js +10 -3
- package/icons/wallet_medium.js +4 -2
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/package.json +1 -1
- package/shared/AnimateHeight.d.ts +46 -32
- package/shared/AnimateHeight.js +102 -66
- package/shared/Context.d.ts +9 -3
- package/shared/Eufemia.js +1 -1
- package/shared/MediaQueryUtils.d.ts +5 -1
- package/shared/MediaQueryUtils.js +5 -3
- package/shared/component-helper.d.ts +7 -18
- package/shared/component-helper.js +18 -248
- package/shared/helpers/EventEmitter.d.ts +46 -0
- package/shared/{EventEmitter.js → helpers/EventEmitter.js} +30 -25
- package/shared/helpers/InteractionInvalidation.d.ts +30 -0
- package/shared/helpers/InteractionInvalidation.js +215 -0
- package/{es/shared/hooks/usePropsWithContext.d.ts → shared/helpers/extendPropsWithContext.d.ts} +2 -3
- package/shared/{hooks/usePropsWithContext.js → helpers/extendPropsWithContext.js} +36 -17
- package/shared/helpers/filterValidProps.d.ts +1 -1
- package/shared/helpers/filterValidProps.js +1 -1
- package/shared/helpers/getPreviousSibling.d.ts +10 -0
- package/shared/helpers/getPreviousSibling.js +35 -0
- package/shared/helpers/useEventEmitter.d.ts +14 -0
- package/shared/helpers/useEventEmitter.js +45 -0
- package/shared/helpers/withCamelCaseProps.js +7 -0
- package/shared/helpers.d.ts +2 -0
- package/shared/interfaces.d.ts +6 -4
- package/shared/locales/en-GB.d.ts +3 -0
- package/shared/locales/en-GB.js +3 -0
- package/shared/locales/en-US.d.ts +3 -0
- package/shared/locales/index.d.ts +6 -0
- package/shared/locales/nb-NO.d.ts +3 -0
- package/shared/locales/nb-NO.js +3 -0
- package/shared/useMediaQuery.js +18 -13
- package/style/core/helper-classes/helper-classes.scss +4 -0
- package/style/dnb-ui-basis.css +3 -0
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-components.css +113 -91
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-components.scss +1 -0
- package/style/dnb-ui-core.css +3 -0
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +25 -4
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-fragments.css +1 -1
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/dnb-ui-tags.css +50 -8
- package/style/dnb-ui-tags.min.css +1 -1
- package/style/elements/lists.scss +27 -5
- package/style/themes/theme-eiendom/dnb-theme-eiendom.css +300 -113
- package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +8 -8
- package/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
- package/style/themes/theme-ui/dnb-theme-ui.css +129 -111
- package/style/themes/theme-ui/dnb-theme-ui.min.css +5 -5
- package/umd/dnb-ui-basis.min.js +3 -3
- package/umd/dnb-ui-components.min.js +4 -4
- package/umd/dnb-ui-elements.min.js +4 -4
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-icons.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +5 -5
- package/umd/dnb-ui-web-components.min.js +5 -5
- package/cjs/shared/EventEmitter.d.ts +0 -27
- package/cjs/shared/hooks/index.d.ts +0 -1
- package/cjs/shared/hooks/index.js +0 -13
- package/es/shared/EventEmitter.d.ts +0 -27
- package/es/shared/hooks/index.d.ts +0 -1
- package/es/shared/hooks/index.js +0 -1
- package/shared/EventEmitter.d.ts +0 -27
- package/shared/hooks/index.d.ts +0 -1
- package/shared/hooks/index.js +0 -1
|
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
6
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
7
|
|
|
8
8
|
import { format } from '../number-format/NumberUtils';
|
|
9
|
-
export const percentToValue = (percent, min, max) => {
|
|
9
|
+
export const percentToValue = (percent, min, max, isReverse) => {
|
|
10
10
|
if (typeof min === 'string') {
|
|
11
11
|
min = parseFloat(min);
|
|
12
12
|
}
|
|
@@ -15,7 +15,13 @@ export const percentToValue = (percent, min, max) => {
|
|
|
15
15
|
max = parseFloat(max);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
let num = (max - min) * percent / 100 + min;
|
|
19
|
+
|
|
20
|
+
if (isReverse) {
|
|
21
|
+
num = max + min - num;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return num;
|
|
19
25
|
};
|
|
20
26
|
export const roundToStep = (number, step) => Math.round(number / step) * step;
|
|
21
27
|
export const getOffset = node => {
|
|
@@ -48,7 +54,7 @@ export const getMousePosition = event => {
|
|
|
48
54
|
y: event.pageY
|
|
49
55
|
};
|
|
50
56
|
};
|
|
51
|
-
export const calculatePercent = (node, event, isVertical
|
|
57
|
+
export const calculatePercent = (node, event, isVertical) => {
|
|
52
58
|
const {
|
|
53
59
|
width,
|
|
54
60
|
height
|
|
@@ -63,7 +69,7 @@ export const calculatePercent = (node, event, isVertical, isReverted) => {
|
|
|
63
69
|
} = getMousePosition(event);
|
|
64
70
|
const value = isVertical ? y - top : x - left;
|
|
65
71
|
const onePercent = (isVertical ? height : width) / 100;
|
|
66
|
-
return Math.abs(
|
|
72
|
+
return Math.abs(clamp(value / onePercent));
|
|
67
73
|
};
|
|
68
74
|
export const clamp = (value, min = 0, max = 100) => Math.min(Math.max(value, min), max);
|
|
69
75
|
export const roundValue = (value, step) => {
|
|
@@ -104,21 +110,23 @@ export const closestIndex = (goal, array) => {
|
|
|
104
110
|
const res = [...array].sort((a, b) => Math.abs(goal - a) - Math.abs(goal - b))[0];
|
|
105
111
|
return array.findIndex(num => num === res);
|
|
106
112
|
};
|
|
107
|
-
export const
|
|
108
|
-
if (
|
|
109
|
-
|
|
113
|
+
export const getFormattedNumber = (value, numberFormat) => {
|
|
114
|
+
if (numberFormat) {
|
|
115
|
+
if (typeof numberFormat === 'function') {
|
|
116
|
+
const number = numberFormat(value);
|
|
117
|
+
return {
|
|
118
|
+
number,
|
|
119
|
+
aria: number
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return format(value, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
|
|
124
|
+
returnAria: true
|
|
125
|
+
}));
|
|
110
126
|
}
|
|
111
127
|
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const num = value;
|
|
116
|
-
const {
|
|
117
|
-
aria: humanNumber
|
|
118
|
-
} = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
|
|
119
|
-
returnAria: true
|
|
120
|
-
})) : {
|
|
121
|
-
aria: null
|
|
128
|
+
return {
|
|
129
|
+
aria: null,
|
|
130
|
+
number: null
|
|
122
131
|
};
|
|
123
|
-
return String(humanNumber || value);
|
|
124
132
|
};
|
|
@@ -13,10 +13,10 @@ import Suffix from '../../shared/helpers/Suffix';
|
|
|
13
13
|
import Button from '../button/Button';
|
|
14
14
|
import FormLabel from '../form-label/FormLabel';
|
|
15
15
|
import FormStatus from '../form-status/FormStatus';
|
|
16
|
-
import { SliderMainTrack,
|
|
16
|
+
import { SliderMainTrack, SliderTrackBefore, SliderTrackAfter } from './SliderTrack';
|
|
17
17
|
import { SliderThumb } from './SliderThumb';
|
|
18
18
|
import { useSliderProps } from './hooks/useSliderProps';
|
|
19
|
-
import { clamp,
|
|
19
|
+
import { clamp, getFormattedNumber } from './SliderHelpers';
|
|
20
20
|
export function SliderInstance() {
|
|
21
21
|
const context = React.useContext(Context);
|
|
22
22
|
const {
|
|
@@ -24,6 +24,7 @@ export function SliderInstance() {
|
|
|
24
24
|
isVertical,
|
|
25
25
|
showButtons,
|
|
26
26
|
showStatus,
|
|
27
|
+
shouldAnimate,
|
|
27
28
|
allProps
|
|
28
29
|
} = useSliderProps();
|
|
29
30
|
const {
|
|
@@ -42,7 +43,7 @@ export function SliderInstance() {
|
|
|
42
43
|
className
|
|
43
44
|
} = allProps;
|
|
44
45
|
const mainParams = {
|
|
45
|
-
className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className,
|
|
46
|
+
className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', shouldAnimate && 'dnb-slider__state--animate', !showButtons && 'dnb-slider--no-buttons', isTrue(stretch) && 'dnb-slider--stretch', label && labelDirection && `dnb-slider__label--${labelDirection}`, showStatus && 'dnb-slider__form-status', status && `dnb-slider__status--${statusState}`)
|
|
46
47
|
};
|
|
47
48
|
const subtractButton = showButtons ? _SubtractButton || (_SubtractButton = React.createElement(SubtractButton, null)) : null;
|
|
48
49
|
const addButton = showButtons ? _AddButton || (_AddButton = React.createElement(AddButton, null)) : null;
|
|
@@ -113,13 +114,13 @@ function SubtractButton() {
|
|
|
113
114
|
subtractParams['aria-hidden'] = attributes['aria-hidden'];
|
|
114
115
|
}
|
|
115
116
|
|
|
116
|
-
const humanNumber =
|
|
117
|
+
const humanNumber = getFormattedNumber(value, numberFormat);
|
|
117
118
|
return React.createElement(Button, _extends({
|
|
118
119
|
className: "dnb-slider__button dnb-slider__button--subtract",
|
|
119
120
|
variant: "secondary",
|
|
120
121
|
icon: "subtract",
|
|
121
122
|
size: "small",
|
|
122
|
-
"aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
|
|
123
|
+
"aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber.aria || String(value)),
|
|
123
124
|
on_click: onSubtractClickHandler,
|
|
124
125
|
disabled: disabled,
|
|
125
126
|
skeleton: skeleton
|
|
@@ -153,13 +154,13 @@ function AddButton() {
|
|
|
153
154
|
addParams['aria-hidden'] = attributes['aria-hidden'];
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
const humanNumber =
|
|
157
|
+
const humanNumber = getFormattedNumber(value, numberFormat);
|
|
157
158
|
return React.createElement(Button, _extends({
|
|
158
159
|
className: "dnb-slider__button dnb-slider__button--add",
|
|
159
160
|
variant: "secondary",
|
|
160
161
|
icon: "add",
|
|
161
162
|
size: "small",
|
|
162
|
-
"aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
|
|
163
|
+
"aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber.aria || String(value)),
|
|
163
164
|
on_click: onAddClickHandler,
|
|
164
165
|
disabled: disabled,
|
|
165
166
|
skeleton: skeleton
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SliderAllProps, SliderContextTypes } from './types';
|
|
3
3
|
export declare const SliderContext: React.Context<SliderContextTypes>;
|
|
4
|
-
export declare function SliderProvider(localProps:
|
|
4
|
+
export declare function SliderProvider(localProps: SliderAllProps): JSX.Element;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
const _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "numberFormat", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
|
|
2
|
+
const _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "multiThumbBehavior", "numberFormat", "tooltip", "alwaysShowTooltip", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { includeValidProps } from '../../components/form-row/FormRowHelpers';
|
|
5
|
-
import {
|
|
6
|
-
import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState } from '../../shared/component-helper';
|
|
5
|
+
import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState, extendPropsWithContext } from '../../shared/component-helper';
|
|
7
6
|
import Context from '../../shared/Context';
|
|
8
|
-
import { closestIndex,
|
|
7
|
+
import { closestIndex, getFormattedNumber, getUpdatedValues, roundValue } from './SliderHelpers';
|
|
9
8
|
import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
|
|
10
9
|
const defaultProps = {
|
|
11
10
|
statusState: 'error',
|
|
@@ -13,12 +12,13 @@ const defaultProps = {
|
|
|
13
12
|
subtractTitle: '−',
|
|
14
13
|
min: 0,
|
|
15
14
|
max: 100,
|
|
16
|
-
value: -1
|
|
15
|
+
value: -1,
|
|
16
|
+
multiThumbBehavior: 'swap'
|
|
17
17
|
};
|
|
18
18
|
export const SliderContext = React.createContext(null);
|
|
19
19
|
export function SliderProvider(localProps) {
|
|
20
20
|
const context = React.useContext(Context);
|
|
21
|
-
const allProps = convertSnakeCaseProps(
|
|
21
|
+
const allProps = convertSnakeCaseProps(extendPropsWithContext(localProps, defaultProps, {
|
|
22
22
|
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
23
23
|
}, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
|
|
24
24
|
vertical: null
|
|
@@ -45,7 +45,10 @@ export function SliderProvider(localProps) {
|
|
|
45
45
|
subtractTitle,
|
|
46
46
|
addTitle,
|
|
47
47
|
hideButtons,
|
|
48
|
+
multiThumbBehavior,
|
|
48
49
|
numberFormat,
|
|
50
|
+
tooltip,
|
|
51
|
+
alwaysShowTooltip,
|
|
49
52
|
skeleton,
|
|
50
53
|
max,
|
|
51
54
|
min,
|
|
@@ -64,8 +67,11 @@ export function SliderProvider(localProps) {
|
|
|
64
67
|
attributes = _objectWithoutProperties(allProps, _excluded);
|
|
65
68
|
|
|
66
69
|
const [value, setValue] = React.useState(_value);
|
|
70
|
+
const [externValue, updateExternValue] = React.useState(_value);
|
|
71
|
+
const realtimeValue = React.useRef(_value);
|
|
67
72
|
const [thumbState, setThumbState] = React.useState('initial');
|
|
68
73
|
const thumbIndex = React.useRef(-1);
|
|
74
|
+
const [shouldAnimate, updateAnimateState] = React.useState(false);
|
|
69
75
|
const [isVertical] = React.useState(isTrue(_vertical));
|
|
70
76
|
const [isReverse] = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse));
|
|
71
77
|
const isMulti = Array.isArray(value);
|
|
@@ -93,24 +99,57 @@ export function SliderProvider(localProps) {
|
|
|
93
99
|
return currentIndex;
|
|
94
100
|
};
|
|
95
101
|
|
|
102
|
+
const updateValue = value => {
|
|
103
|
+
setValue(value);
|
|
104
|
+
realtimeValue.current = value;
|
|
105
|
+
};
|
|
106
|
+
|
|
96
107
|
const emitChange = (event, rawValue) => {
|
|
97
108
|
if (disabled || isTrue(skeleton)) {
|
|
98
109
|
return;
|
|
99
110
|
}
|
|
100
111
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (currentValue > -1 && rawValue !== value) {
|
|
104
|
-
let newValue = currentValue;
|
|
112
|
+
let numberValue = roundValue(rawValue, step);
|
|
113
|
+
let multiValues = numberValue;
|
|
105
114
|
|
|
115
|
+
if (numberValue > -1) {
|
|
106
116
|
if (isMulti) {
|
|
107
|
-
const currentIndex = getAndUpdateCurrentIndex(
|
|
108
|
-
|
|
117
|
+
const currentIndex = getAndUpdateCurrentIndex(numberValue);
|
|
118
|
+
const lower = realtimeValue.current[currentIndex - 1];
|
|
119
|
+
const upper = realtimeValue.current[currentIndex + 1];
|
|
120
|
+
|
|
121
|
+
if (multiThumbBehavior === 'omit') {
|
|
122
|
+
if (numberValue < lower) {
|
|
123
|
+
numberValue = lower;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (numberValue > upper) {
|
|
127
|
+
numberValue = upper;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
multiValues = getUpdatedValues(multiThumbBehavior === 'push' ? realtimeValue.current : value, currentIndex, numberValue);
|
|
132
|
+
|
|
133
|
+
if (multiThumbBehavior === 'push') {
|
|
134
|
+
if (typeof lower !== 'undefined' && numberValue < lower) {
|
|
135
|
+
multiValues[currentIndex - 1] = numberValue;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (typeof upper !== 'undefined' && numberValue >= upper) {
|
|
139
|
+
multiValues[currentIndex + 1] = numberValue;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (numberValue === realtimeValue.current[currentIndex]) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
} else if (numberValue === realtimeValue.current) {
|
|
147
|
+
return;
|
|
109
148
|
}
|
|
110
149
|
|
|
111
150
|
if (typeof onChange === 'function') {
|
|
112
151
|
const obj = {
|
|
113
|
-
value:
|
|
152
|
+
value: multiValues,
|
|
114
153
|
rawValue,
|
|
115
154
|
raw_value: rawValue,
|
|
116
155
|
event,
|
|
@@ -118,36 +157,41 @@ export function SliderProvider(localProps) {
|
|
|
118
157
|
};
|
|
119
158
|
|
|
120
159
|
if (numberFormat) {
|
|
121
|
-
obj.number =
|
|
160
|
+
obj.number = getFormattedNumber(numberValue, numberFormat).number;
|
|
122
161
|
}
|
|
123
162
|
|
|
124
163
|
dispatchCustomElementEvent(allProps, 'onChange', obj);
|
|
125
164
|
}
|
|
126
165
|
|
|
127
|
-
|
|
166
|
+
updateValue(multiValues);
|
|
128
167
|
}
|
|
129
168
|
};
|
|
130
169
|
|
|
131
170
|
React.useEffect(() => {
|
|
132
171
|
if (isMulti) {
|
|
133
172
|
const hasChanged = _value.some((val, i) => {
|
|
134
|
-
return val !==
|
|
173
|
+
return val !== externValue[i];
|
|
135
174
|
});
|
|
136
175
|
|
|
137
176
|
if (hasChanged) {
|
|
138
|
-
|
|
177
|
+
updateValue(_value);
|
|
178
|
+
updateExternValue(_value);
|
|
139
179
|
}
|
|
140
|
-
} else {
|
|
141
|
-
|
|
180
|
+
} else if (_value !== externValue) {
|
|
181
|
+
updateValue(_value);
|
|
182
|
+
updateExternValue(_value);
|
|
142
183
|
}
|
|
143
184
|
}, [_value, isMulti]);
|
|
144
185
|
const trackRef = React.useRef();
|
|
145
|
-
const
|
|
186
|
+
const animationTimeout = React.useRef();
|
|
187
|
+
|
|
188
|
+
const setShouldAnimate = state => {
|
|
189
|
+
updateAnimateState(state);
|
|
190
|
+
clearTimeout(animationTimeout.current);
|
|
146
191
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
jumpedTimeout.current = setTimeout(() => setThumbState('normal'), 100);
|
|
192
|
+
if (state) {
|
|
193
|
+
animationTimeout.current = setTimeout(() => updateAnimateState(false), 250);
|
|
194
|
+
}
|
|
151
195
|
};
|
|
152
196
|
|
|
153
197
|
const showStatus = getStatusState(status);
|
|
@@ -158,6 +202,7 @@ export function SliderProvider(localProps) {
|
|
|
158
202
|
isMulti,
|
|
159
203
|
isReverse,
|
|
160
204
|
isVertical,
|
|
205
|
+
shouldAnimate,
|
|
161
206
|
value,
|
|
162
207
|
values,
|
|
163
208
|
setValue,
|
|
@@ -171,8 +216,8 @@ export function SliderProvider(localProps) {
|
|
|
171
216
|
emitChange,
|
|
172
217
|
allProps,
|
|
173
218
|
trackRef,
|
|
174
|
-
|
|
175
|
-
|
|
219
|
+
setShouldAnimate,
|
|
220
|
+
animationTimeout
|
|
176
221
|
}
|
|
177
222
|
}, localProps.children);
|
|
178
223
|
}
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
-
|
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
|
-
|
|
8
2
|
import React from 'react';
|
|
9
3
|
import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
|
|
10
4
|
import Button from '../button/Button';
|
|
5
|
+
import Tooltip from '../tooltip/Tooltip';
|
|
11
6
|
import { useSliderEvents } from './hooks/useSliderEvents';
|
|
12
7
|
import { useSliderProps } from './hooks/useSliderProps';
|
|
13
|
-
import { clamp,
|
|
8
|
+
import { clamp, getFormattedNumber } from './SliderHelpers';
|
|
14
9
|
export function SliderThumb() {
|
|
15
10
|
const {
|
|
16
|
-
values
|
|
11
|
+
values
|
|
12
|
+
} = useSliderProps();
|
|
13
|
+
return React.createElement(React.Fragment, null, values.map((value, i) => {
|
|
14
|
+
return React.createElement(Thumb, {
|
|
15
|
+
key: i,
|
|
16
|
+
value: value,
|
|
17
|
+
currentIndex: i
|
|
18
|
+
});
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function Thumb({
|
|
23
|
+
value,
|
|
24
|
+
currentIndex
|
|
25
|
+
}) {
|
|
26
|
+
const {
|
|
17
27
|
thumbIndex,
|
|
18
28
|
isVertical,
|
|
29
|
+
isReverse,
|
|
19
30
|
showStatus,
|
|
20
31
|
attributes,
|
|
21
|
-
allProps
|
|
32
|
+
allProps,
|
|
33
|
+
shouldAnimate
|
|
22
34
|
} = useSliderProps();
|
|
23
35
|
const {
|
|
24
36
|
id,
|
|
@@ -29,22 +41,41 @@ export function SliderThumb() {
|
|
|
29
41
|
skeleton,
|
|
30
42
|
disabled,
|
|
31
43
|
suffix,
|
|
32
|
-
numberFormat
|
|
44
|
+
numberFormat,
|
|
45
|
+
tooltip,
|
|
46
|
+
alwaysShowTooltip
|
|
33
47
|
} = allProps;
|
|
48
|
+
const index = thumbIndex.current;
|
|
49
|
+
let percent = clamp((value - min) * 100 / (max - min));
|
|
50
|
+
|
|
51
|
+
if (isReverse) {
|
|
52
|
+
percent = 100 - percent;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const style = {
|
|
56
|
+
zIndex: index === currentIndex ? 4 : 3,
|
|
57
|
+
[`${isVertical ? 'top' : 'left'}`]: `${percent}%`
|
|
58
|
+
};
|
|
59
|
+
const {
|
|
60
|
+
number,
|
|
61
|
+
aria
|
|
62
|
+
} = getFormattedNumber(value, numberFormat);
|
|
63
|
+
const [showTooltip, setShowTooltip] = React.useState(false);
|
|
64
|
+
|
|
65
|
+
const onMouseEnterHandler = () => {
|
|
66
|
+
setShowTooltip(true);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const onMouseLeaveHandler = () => {
|
|
70
|
+
setShowTooltip(false);
|
|
71
|
+
};
|
|
72
|
+
|
|
34
73
|
const {
|
|
35
74
|
onThumbMouseDownHandler,
|
|
36
75
|
onThumbMouseUpHandler,
|
|
37
|
-
onThumbBlurHandler,
|
|
38
|
-
onThumbFocusHandler,
|
|
39
76
|
onHelperChangeHandler,
|
|
40
77
|
onHelperFocusHandler
|
|
41
78
|
} = useSliderEvents();
|
|
42
|
-
|
|
43
|
-
const thumbParams = _objectSpread({
|
|
44
|
-
onBlur: onThumbBlurHandler,
|
|
45
|
-
onFocus: onThumbFocusHandler
|
|
46
|
-
}, attributes);
|
|
47
|
-
|
|
48
79
|
const helperParams = {};
|
|
49
80
|
|
|
50
81
|
if (label) {
|
|
@@ -55,46 +86,56 @@ export function SliderThumb() {
|
|
|
55
86
|
helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
|
|
56
87
|
}
|
|
57
88
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
89
|
+
const thumbParams = attributes;
|
|
90
|
+
|
|
91
|
+
if (tooltip) {
|
|
92
|
+
thumbParams.onMouseEnter = onMouseEnterHandler;
|
|
93
|
+
thumbParams.onMouseLeave = onMouseLeaveHandler;
|
|
94
|
+
thumbParams.onTouchStart = onMouseEnterHandler;
|
|
95
|
+
thumbParams.onTouchEnd = onMouseLeaveHandler;
|
|
96
|
+
helperParams.onBlur = onMouseLeaveHandler;
|
|
97
|
+
|
|
98
|
+
helperParams.onFocus = event => {
|
|
99
|
+
onHelperFocusHandler(event);
|
|
100
|
+
onMouseEnterHandler();
|
|
66
101
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}))
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
validateDOMAttributes(allProps, thumbParams);
|
|
105
|
+
const elemRef = React.useRef();
|
|
106
|
+
return React.createElement(React.Fragment, null, React.createElement("span", {
|
|
107
|
+
className: "dnb-slider__thumb",
|
|
108
|
+
style: style,
|
|
109
|
+
ref: elemRef
|
|
110
|
+
}, React.createElement("input", _extends({
|
|
111
|
+
type: "range",
|
|
112
|
+
className: "dnb-slider__button-helper",
|
|
113
|
+
min: min,
|
|
114
|
+
max: max,
|
|
115
|
+
step: step,
|
|
116
|
+
value: value,
|
|
117
|
+
disabled: disabled,
|
|
118
|
+
onChange: onHelperChangeHandler,
|
|
119
|
+
onFocus: onHelperFocusHandler,
|
|
120
|
+
onMouseDown: onThumbMouseDownHandler,
|
|
121
|
+
onMouseUp: onThumbMouseUpHandler,
|
|
122
|
+
"aria-valuemin": min,
|
|
123
|
+
"aria-valuemax": max,
|
|
124
|
+
"aria-valuenow": value,
|
|
125
|
+
"aria-valuetext": aria ? aria : undefined,
|
|
126
|
+
"aria-orientation": isVertical ? 'vertical' : 'horizontal',
|
|
127
|
+
"data-index": currentIndex
|
|
128
|
+
}, helperParams)), React.createElement(Button, _extends({
|
|
129
|
+
element: "span",
|
|
130
|
+
type: "",
|
|
131
|
+
variant: "secondary",
|
|
132
|
+
disabled: disabled,
|
|
133
|
+
skeleton: skeleton
|
|
134
|
+
}, thumbParams)), tooltip && React.createElement(Tooltip, {
|
|
135
|
+
key: `group-${currentIndex}`,
|
|
136
|
+
targetElement: elemRef,
|
|
137
|
+
animatePosition: shouldAnimate,
|
|
138
|
+
active: showTooltip || alwaysShowTooltip,
|
|
139
|
+
hideDelay: 300
|
|
140
|
+
}, number || value, shouldAnimate)));
|
|
100
141
|
}
|
|
@@ -3,10 +3,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
var _span;
|
|
4
4
|
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import { dispatchCustomElementEvent
|
|
6
|
+
import { dispatchCustomElementEvent } from '../../shared/component-helper';
|
|
7
7
|
import { useSliderEvents } from './hooks/useSliderEvents';
|
|
8
8
|
import { useSliderProps } from './hooks/useSliderProps';
|
|
9
|
-
import { clamp,
|
|
9
|
+
import { clamp, getFormattedNumber } from './SliderHelpers';
|
|
10
10
|
export function SliderMainTrack({
|
|
11
11
|
children
|
|
12
12
|
}) {
|
|
@@ -15,8 +15,7 @@ export function SliderMainTrack({
|
|
|
15
15
|
value,
|
|
16
16
|
allProps,
|
|
17
17
|
trackRef,
|
|
18
|
-
|
|
19
|
-
thumbState
|
|
18
|
+
animationTimeout
|
|
20
19
|
} = useSliderProps();
|
|
21
20
|
const {
|
|
22
21
|
id,
|
|
@@ -24,7 +23,7 @@ export function SliderMainTrack({
|
|
|
24
23
|
onInit
|
|
25
24
|
} = allProps;
|
|
26
25
|
const {
|
|
27
|
-
|
|
26
|
+
onTrackMouseUpHandler,
|
|
28
27
|
onThumbMouseDownHandler,
|
|
29
28
|
removeEvents
|
|
30
29
|
} = useSliderEvents();
|
|
@@ -36,7 +35,7 @@ export function SliderMainTrack({
|
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
if (numberFormat) {
|
|
39
|
-
obj.number =
|
|
38
|
+
obj.number = getFormattedNumber(value, numberFormat);
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
dispatchCustomElementEvent(allProps, 'onInit', obj);
|
|
@@ -44,20 +43,19 @@ export function SliderMainTrack({
|
|
|
44
43
|
|
|
45
44
|
return () => {
|
|
46
45
|
removeEvents();
|
|
47
|
-
clearTimeout(
|
|
46
|
+
clearTimeout(animationTimeout.current);
|
|
48
47
|
};
|
|
49
48
|
}, []);
|
|
50
49
|
const trackParams = {
|
|
51
|
-
|
|
52
|
-
onTouchStart: onTrackClickHandler,
|
|
50
|
+
onTouchStart: onTrackMouseUpHandler,
|
|
53
51
|
onTouchStartCapture: onThumbMouseDownHandler,
|
|
54
|
-
onMouseDown:
|
|
52
|
+
onMouseDown: onTrackMouseUpHandler,
|
|
55
53
|
onMouseDownCapture: onThumbMouseDownHandler
|
|
56
54
|
};
|
|
57
|
-
validateDOMAttributes(null, trackParams);
|
|
58
55
|
return React.createElement("span", _extends({
|
|
59
56
|
id: id,
|
|
60
|
-
ref: trackRef
|
|
57
|
+
ref: trackRef,
|
|
58
|
+
className: "dnb-slider__track"
|
|
61
59
|
}, trackParams), children);
|
|
62
60
|
}
|
|
63
61
|
const trackObj = [['right', 'left'], ['bottom', 'top']];
|
|
@@ -65,6 +63,7 @@ export function SliderTrackBefore() {
|
|
|
65
63
|
const {
|
|
66
64
|
values: origValues,
|
|
67
65
|
isVertical,
|
|
66
|
+
isReverse,
|
|
68
67
|
thumbIndex,
|
|
69
68
|
allProps: {
|
|
70
69
|
min,
|
|
@@ -85,8 +84,8 @@ export function SliderTrackBefore() {
|
|
|
85
84
|
const lowerPercent = 100 - clamp((lowerValue - min) * 100 / (max - min));
|
|
86
85
|
const units = [trackObj[isVertical ? 1 : 0][0], trackObj[isVertical ? 1 : 0][1]];
|
|
87
86
|
const style = {};
|
|
88
|
-
style[units[0]] = `${lowerPercent}%`;
|
|
89
|
-
style[units[1]] = `${upperPercent}%`;
|
|
87
|
+
style[units[isReverse ? 1 : 0]] = `${lowerPercent}%`;
|
|
88
|
+
style[units[isReverse ? 0 : 1]] = `${upperPercent}%`;
|
|
90
89
|
return React.createElement("span", {
|
|
91
90
|
className: "dnb-slider__line dnb-slider__line__before",
|
|
92
91
|
style: style
|
|
@@ -2,9 +2,7 @@ import React from 'react';
|
|
|
2
2
|
export declare function useSliderEvents(): {
|
|
3
3
|
onThumbMouseDownHandler: (event: React.SyntheticEvent) => void;
|
|
4
4
|
onThumbMouseUpHandler: () => void;
|
|
5
|
-
|
|
6
|
-
onThumbFocusHandler: () => void;
|
|
7
|
-
onThumbBlurHandler: () => void;
|
|
5
|
+
onTrackMouseUpHandler: (event: MouseEvent | TouchEvent) => void;
|
|
8
6
|
onHelperChangeHandler: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
9
7
|
onHelperFocusHandler: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
10
8
|
removeEvents: () => void;
|