@dnb/eufemia 9.26.1 → 9.29.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 +88 -0
- package/assets/icons/bookmark.svg +1 -0
- package/assets/icons/bookmark_medium.svg +1 -0
- package/assets/icons/calendar_cancel.svg +1 -0
- package/assets/icons/calendar_cancel_medium.svg +1 -0
- package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
- package/assets/icons/eufemia-icons-pdf.tgz +0 -0
- package/assets/icons/exclamation.svg +1 -1
- package/assets/icons/exclamation_circled.svg +1 -1
- package/assets/icons/exclamation_medium.svg +1 -1
- package/assets/icons/reply.svg +1 -1
- package/assets/icons/reply_medium.svg +1 -1
- package/assets/icons/stopwatch.svg +1 -1
- package/cjs/components/Badge.d.ts +3 -0
- package/cjs/components/{slider/web-component.js → Badge.js} +6 -9
- package/cjs/components/Style.d.ts +1 -0
- package/cjs/components/Style.js +52 -0
- package/cjs/components/Table.d.ts +3 -0
- package/cjs/components/Table.js +52 -0
- package/cjs/components/accordion/AccordionContent.js +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +9 -0
- package/cjs/components/autocomplete/Autocomplete.js +62 -24
- package/cjs/components/autocomplete/style/_autocomplete.scss +73 -6
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +79 -14
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
- package/cjs/components/avatar/Avatar.js +14 -12
- package/cjs/components/avatar/style/_avatar.scss +1 -0
- package/cjs/components/avatar/style/dnb-avatar.css +1 -0
- package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
- package/cjs/components/badge/Badge.d.ts +58 -0
- package/cjs/components/badge/Badge.js +124 -0
- package/cjs/components/badge/index.d.ts +8 -0
- package/cjs/components/badge/index.js +52 -0
- package/cjs/components/badge/style/_badge.scss +74 -0
- package/cjs/components/badge/style/dnb-badge.css +151 -0
- package/cjs/components/badge/style/dnb-badge.min.css +1 -0
- package/cjs/components/badge/style/dnb-badge.scss +12 -0
- package/cjs/components/badge/style/index.d.ts +6 -0
- package/cjs/components/badge/style/index.js +3 -0
- package/cjs/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
- package/cjs/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
- package/cjs/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
- package/cjs/components/badge/style/themes/ui.d.ts +1 -0
- package/cjs/components/badge/style/themes/ui.js +3 -0
- package/cjs/components/badge/style.d.ts +1 -0
- package/cjs/components/badge/style.js +3 -0
- package/cjs/components/breadcrumb/Breadcrumb.js +20 -18
- package/cjs/components/button/Button.d.ts +5 -3
- package/cjs/components/date-picker/DatePicker.d.ts +6 -0
- package/cjs/components/date-picker/DatePicker.js +9 -4
- package/cjs/components/date-picker/DatePickerFooter.js +3 -3
- package/cjs/components/date-picker/DatePickerInput.d.ts +6 -0
- package/cjs/components/date-picker/DatePickerInput.js +37 -23
- package/cjs/components/date-picker/style/_date-picker.scss +40 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +52 -8
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/cjs/components/dialog/Dialog.js +7 -3
- package/cjs/components/dialog/DialogContent.js +6 -3
- package/cjs/components/dialog/style/_dialog.scss +24 -35
- package/cjs/components/dialog/style/dnb-dialog.css +69 -99
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
- package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
- package/cjs/components/dialog/types.d.ts +9 -2
- package/cjs/components/drawer/DrawerContent.js +7 -1
- package/cjs/components/drawer/style/_drawer.scss +6 -13
- package/cjs/components/drawer/style/dnb-drawer.css +54 -71
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
- package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
- package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
- package/cjs/components/dropdown/Dropdown.d.ts +25 -0
- package/cjs/components/dropdown/Dropdown.js +1 -1
- package/cjs/components/form-row/FormRow.js +11 -20
- package/cjs/components/form-row/FormRowHelpers.d.ts +7 -0
- package/cjs/components/form-row/FormRowHelpers.js +32 -0
- package/cjs/components/icon/Icon.js +5 -9
- package/cjs/components/icon/IconHelpers.d.ts +1 -0
- package/cjs/components/icon/IconHelpers.js +16 -0
- package/cjs/components/index.d.ts +3 -1
- package/cjs/components/index.js +16 -0
- package/cjs/components/input/Input.d.ts +6 -1
- package/cjs/components/input/Input.js +12 -2
- package/cjs/components/input/style/_input.scss +11 -9
- package/cjs/components/input/style/dnb-input.css +7 -8
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +6 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +11 -4
- package/cjs/components/input-masked/addons/createNumberMask.d.ts +1 -2
- package/cjs/components/input-masked/addons/createNumberMask.js +1 -14
- package/cjs/components/input-masked/style/dnb-input-masked.css +7 -8
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/lib.d.ts +8 -1
- package/cjs/components/lib.js +18 -0
- package/cjs/components/modal/Modal.d.ts +1 -22
- package/cjs/components/modal/Modal.js +4 -1
- package/cjs/components/modal/ModalContent.d.ts +7 -2
- package/cjs/components/modal/ModalContent.js +111 -72
- package/cjs/components/modal/ModalContext.d.ts +1 -0
- package/cjs/components/modal/ModalContext.js +1 -0
- package/cjs/components/modal/parts/CloseButton.d.ts +3 -24
- package/cjs/components/modal/parts/ModalHeader.d.ts +1 -0
- package/cjs/components/modal/parts/ModalHeaderBar.d.ts +3 -2
- package/cjs/components/modal/parts/ModalInner.d.ts +1 -0
- package/cjs/components/modal/style/_modal-mixins.scss +1 -0
- package/cjs/components/modal/style/_modal.scss +0 -4
- package/cjs/components/modal/style/dnb-modal.css +42 -59
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
- package/cjs/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
- package/cjs/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
- package/cjs/components/modal/types.d.ts +16 -38
- package/cjs/components/number-format/NumberFormat.d.ts +5 -0
- package/cjs/components/number-format/NumberFormat.js +7 -2
- package/cjs/components/pagination/PaginationBar.d.ts +7 -6
- package/cjs/components/radio/Radio.js +5 -2
- package/cjs/components/skeleton/SkeletonHelper.d.ts +5 -4
- package/cjs/components/slider/Slider.d.ts +8 -229
- package/cjs/components/slider/Slider.js +8 -806
- package/cjs/components/slider/SliderHelpers.d.ts +23 -0
- package/cjs/components/slider/SliderHelpers.js +239 -0
- package/cjs/components/slider/SliderInstance.d.ts +6 -0
- package/cjs/components/slider/SliderInstance.js +190 -0
- package/cjs/components/slider/SliderProvider.d.ts +4 -0
- package/cjs/components/slider/SliderProvider.js +264 -0
- package/cjs/components/slider/SliderThumb.d.ts +2 -0
- package/cjs/components/slider/SliderThumb.js +137 -0
- package/cjs/components/slider/SliderTrack.d.ts +6 -0
- package/cjs/components/slider/SliderTrack.js +131 -0
- package/cjs/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/cjs/components/slider/hooks/useSliderEvents.js +146 -0
- package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/cjs/components/slider/hooks/useSliderProps.js +16 -0
- package/cjs/components/slider/style/_slider.scss +19 -48
- package/cjs/components/slider/style/dnb-slider.css +30 -60
- package/cjs/components/slider/style/dnb-slider.min.css +1 -1
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/cjs/components/slider/types.d.ts +75 -0
- package/cjs/components/slider/types.js +1 -0
- package/cjs/components/table/Table.d.ts +40 -0
- package/cjs/components/table/Table.js +91 -0
- package/cjs/components/table/TableStickyHeader.d.ts +21 -0
- package/cjs/components/table/TableStickyHeader.js +159 -0
- package/cjs/components/table/TableTd.d.ts +15 -0
- package/cjs/components/table/TableTd.js +42 -0
- package/cjs/components/table/TableTh.d.ts +14 -0
- package/cjs/components/table/TableTh.js +42 -0
- package/cjs/components/table/TableTr.d.ts +15 -0
- package/cjs/components/table/TableTr.js +41 -0
- package/cjs/components/table/index.d.ts +3 -0
- package/cjs/components/table/index.js +52 -0
- package/cjs/components/table/style/_table.scss +147 -0
- package/cjs/components/table/style/dnb-table.css +181 -0
- package/cjs/components/table/style/dnb-table.min.css +1 -0
- package/cjs/components/table/style/dnb-table.scss +12 -0
- package/cjs/components/table/style/index.d.ts +6 -0
- package/cjs/components/table/style/index.js +3 -0
- package/cjs/components/table/style/themes/dnb-table-theme-ui.css +444 -0
- package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
- package/cjs/components/table/style/themes/table-basis.scss +161 -0
- package/cjs/components/table/style/themes/ui.d.ts +1 -0
- package/cjs/components/table/style/themes/ui.js +3 -0
- package/cjs/components/table/style.d.ts +1 -0
- package/cjs/components/table/style.js +3 -0
- package/cjs/components/tag/Tag.js +16 -13
- package/cjs/components/timeline/Timeline.js +11 -7
- package/cjs/components/timeline/TimelineItem.d.ts +12 -4
- package/cjs/components/timeline/TimelineItem.js +62 -25
- package/cjs/components/timeline/style/_timeline.scss +2 -2
- package/cjs/components/timeline/style/dnb-timeline.css +6 -6
- package/cjs/components/timeline/style/dnb-timeline.min.css +1 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
- package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
- package/cjs/elements/Anchor.d.ts +44 -105
- package/cjs/elements/Anchor.js +48 -138
- package/cjs/elements/Element.d.ts +23 -40
- package/cjs/elements/Element.js +48 -122
- package/cjs/elements/Link.d.ts +18 -1
- package/cjs/elements/Table.d.ts +3 -35
- package/cjs/elements/Table.js +25 -270
- package/cjs/elements/Td.d.ts +2 -28
- package/cjs/elements/Td.js +32 -40
- package/cjs/elements/Th.d.ts +2 -28
- package/cjs/elements/Th.js +32 -40
- package/cjs/elements/Tr.d.ts +2 -28
- package/cjs/elements/Tr.js +32 -40
- package/cjs/elements/lib.d.ts +40 -8
- package/cjs/elements/lib.js +0 -9
- package/cjs/fragments/drawer-list/DrawerList.d.ts +13 -0
- package/cjs/fragments/drawer-list/DrawerList.js +25 -10
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +18 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
- package/cjs/fragments/drawer-list/DrawerListProvider.js +28 -42
- package/cjs/fragments/drawer-list/style/_drawer-list.scss +40 -5
- package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
- package/cjs/icons/bookmark.d.ts +2 -0
- package/cjs/icons/bookmark.js +36 -0
- package/cjs/icons/bookmark_medium.d.ts +2 -0
- package/cjs/icons/bookmark_medium.js +36 -0
- package/cjs/icons/calendar_cancel.d.ts +2 -0
- package/cjs/icons/calendar_cancel.js +32 -0
- package/cjs/icons/calendar_cancel_medium.d.ts +2 -0
- package/cjs/icons/calendar_cancel_medium.js +32 -0
- package/cjs/icons/exclamation.js +5 -2
- package/cjs/icons/exclamation_circled.js +1 -1
- package/cjs/icons/exclamation_medium.js +5 -2
- package/cjs/icons/icons-meta.json +232 -198
- package/cjs/icons/icons-pdf.lock +6294 -0
- package/cjs/icons/icons-svg.lock +6294 -1
- package/cjs/icons/index.d.ts +5 -1
- package/cjs/icons/index.js +32 -0
- package/cjs/icons/reply.js +2 -1
- package/cjs/icons/reply_medium.js +2 -1
- package/cjs/icons/secondary_icons.d.ts +3 -1
- package/cjs/icons/secondary_icons.js +16 -0
- package/cjs/icons/secondary_icons_medium.d.ts +3 -1
- package/cjs/icons/secondary_icons_medium.js +16 -0
- package/cjs/icons/stopwatch.js +1 -1
- package/cjs/index.d.ts +31 -30
- package/cjs/index.js +66 -58
- package/cjs/shared/AlignmentHelper.js +4 -2
- package/cjs/shared/AnimateHeight.d.ts +1 -0
- package/cjs/shared/AnimateHeight.js +18 -2
- package/cjs/shared/Context.d.ts +98 -44
- package/cjs/shared/Context.js +3 -16
- package/cjs/shared/Eufemia.js +1 -1
- package/cjs/shared/MediaQuery.d.ts +18 -37
- package/cjs/shared/MediaQuery.js +3 -19
- package/cjs/shared/MediaQueryUtils.d.ts +61 -23
- package/cjs/shared/MediaQueryUtils.js +2 -2
- package/cjs/shared/Provider.d.ts +36 -12
- package/cjs/shared/Provider.js +6 -15
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +5 -5
- package/cjs/shared/helpers/Suffix.d.ts +6 -4
- package/cjs/shared/helpers/Suffix.js +5 -2
- package/cjs/shared/helpers/filterValidProps.d.ts +11 -0
- package/cjs/shared/helpers/filterValidProps.js +19 -0
- package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.js +3 -0
- package/cjs/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/cjs/shared/helpers/withSnakeCaseProps.js +168 -0
- package/cjs/shared/interfaces.d.ts +13 -0
- package/cjs/shared/locales/en-GB.d.ts +4 -3
- package/cjs/shared/locales/en-GB.js +4 -3
- package/cjs/shared/locales/en-US.d.ts +4 -3
- package/cjs/shared/locales/index.d.ts +8 -6
- package/cjs/shared/locales/nb-NO.d.ts +4 -3
- package/cjs/shared/locales/nb-NO.js +4 -3
- package/cjs/shared/useMediaQuery.d.ts +3 -1
- package/cjs/shared/useTranslation.d.ts +1 -22
- package/cjs/style/dnb-ui-components.css +434 -154
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-components.scss +2 -0
- package/cjs/style/dnb-ui-elements.css +45 -562
- package/cjs/style/dnb-ui-elements.min.css +1 -2
- package/cjs/style/dnb-ui-fragments.css +37 -15
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/dnb-ui-tags.css +64 -1105
- package/cjs/style/dnb-ui-tags.min.css +1 -3
- package/cjs/style/elements/_anchor-mixins.scss +6 -3
- package/cjs/style/elements/table.scss +1 -389
- package/cjs/style/elements/ui-tags.scss +2 -2
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +612 -653
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
- package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/components/Badge.d.ts +3 -0
- package/components/Badge.js +3 -0
- package/components/Style.d.ts +1 -0
- package/components/Style.js +3 -0
- package/components/Table.d.ts +3 -0
- package/components/Table.js +3 -0
- package/components/accordion/AccordionContent.js +1 -1
- package/components/autocomplete/Autocomplete.d.ts +9 -0
- package/components/autocomplete/Autocomplete.js +63 -25
- package/components/autocomplete/style/_autocomplete.scss +73 -6
- package/components/autocomplete/style/dnb-autocomplete.css +79 -14
- package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
- package/components/avatar/Avatar.js +15 -14
- package/components/avatar/style/_avatar.scss +1 -0
- package/components/avatar/style/dnb-avatar.css +1 -0
- package/components/avatar/style/dnb-avatar.min.css +1 -1
- package/components/badge/Badge.d.ts +58 -0
- package/components/badge/Badge.js +92 -0
- package/components/badge/index.d.ts +8 -0
- package/components/badge/index.js +3 -0
- package/components/badge/style/_badge.scss +74 -0
- package/components/badge/style/dnb-badge.css +151 -0
- package/components/badge/style/dnb-badge.min.css +1 -0
- package/components/badge/style/dnb-badge.scss +12 -0
- package/components/badge/style/index.d.ts +6 -0
- package/components/badge/style/index.js +1 -0
- package/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
- package/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
- package/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
- package/components/badge/style/themes/ui.d.ts +1 -0
- package/components/badge/style/themes/ui.js +1 -0
- package/components/badge/style.d.ts +1 -0
- package/components/badge/style.js +1 -0
- package/components/breadcrumb/Breadcrumb.js +21 -20
- package/components/button/Button.d.ts +5 -3
- package/components/date-picker/DatePicker.d.ts +6 -0
- package/components/date-picker/DatePicker.js +9 -4
- package/components/date-picker/DatePickerFooter.js +3 -3
- package/components/date-picker/DatePickerInput.d.ts +6 -0
- package/components/date-picker/DatePickerInput.js +37 -23
- package/components/date-picker/style/_date-picker.scss +40 -0
- package/components/date-picker/style/dnb-date-picker.css +52 -8
- package/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/components/dialog/Dialog.js +7 -3
- package/components/dialog/DialogContent.js +7 -4
- package/components/dialog/style/_dialog.scss +24 -35
- package/components/dialog/style/dnb-dialog.css +69 -99
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
- package/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
- package/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
- package/components/dialog/types.d.ts +9 -2
- package/components/drawer/DrawerContent.js +4 -1
- package/components/drawer/style/_drawer.scss +6 -13
- package/components/drawer/style/dnb-drawer.css +54 -71
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
- package/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
- package/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
- package/components/dropdown/Dropdown.d.ts +25 -0
- package/components/dropdown/Dropdown.js +2 -2
- package/components/form-row/FormRow.js +9 -15
- package/components/form-row/FormRowHelpers.d.ts +7 -0
- package/components/form-row/FormRowHelpers.js +18 -0
- package/components/icon/Icon.js +1 -3
- package/components/icon/IconHelpers.d.ts +1 -0
- package/components/icon/IconHelpers.js +5 -0
- package/components/index.d.ts +3 -1
- package/components/index.js +3 -1
- package/components/input/Input.d.ts +6 -1
- package/components/input/Input.js +12 -2
- package/components/input/style/_input.scss +11 -9
- package/components/input/style/dnb-input.css +7 -8
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input-masked/InputMasked.d.ts +6 -1
- package/components/input-masked/InputMaskedUtils.js +11 -4
- package/components/input-masked/addons/createNumberMask.d.ts +1 -2
- package/components/input-masked/addons/createNumberMask.js +1 -12
- package/components/input-masked/style/dnb-input-masked.css +7 -8
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/lib.d.ts +8 -1
- package/components/lib.js +5 -1
- package/components/modal/Modal.d.ts +1 -22
- package/components/modal/Modal.js +4 -1
- package/components/modal/ModalContent.d.ts +7 -2
- package/components/modal/ModalContent.js +81 -62
- package/components/modal/ModalContext.d.ts +1 -0
- package/components/modal/ModalContext.js +1 -0
- package/components/modal/parts/CloseButton.d.ts +3 -24
- package/components/modal/parts/ModalHeader.d.ts +1 -0
- package/components/modal/parts/ModalHeaderBar.d.ts +3 -2
- package/components/modal/parts/ModalInner.d.ts +1 -0
- package/components/modal/style/_modal-mixins.scss +1 -0
- package/components/modal/style/_modal.scss +0 -4
- package/components/modal/style/dnb-modal.css +42 -59
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
- package/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
- package/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
- package/components/modal/types.d.ts +16 -38
- package/components/number-format/NumberFormat.d.ts +5 -0
- package/components/number-format/NumberFormat.js +7 -2
- package/components/pagination/PaginationBar.d.ts +7 -6
- package/components/radio/Radio.js +5 -2
- package/components/skeleton/SkeletonHelper.d.ts +5 -4
- package/components/slider/Slider.d.ts +8 -229
- package/components/slider/Slider.js +7 -748
- package/components/slider/SliderHelpers.d.ts +23 -0
- package/components/slider/SliderHelpers.js +152 -0
- package/components/slider/SliderInstance.d.ts +6 -0
- package/components/slider/SliderInstance.js +162 -0
- package/components/slider/SliderProvider.d.ts +4 -0
- package/components/slider/SliderProvider.js +199 -0
- package/components/slider/SliderThumb.d.ts +2 -0
- package/components/slider/SliderThumb.js +109 -0
- package/components/slider/SliderTrack.d.ts +6 -0
- package/components/slider/SliderTrack.js +104 -0
- package/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/components/slider/hooks/useSliderEvents.js +132 -0
- package/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/components/slider/hooks/useSliderProps.js +5 -0
- package/components/slider/style/_slider.scss +19 -48
- package/components/slider/style/dnb-slider.css +30 -60
- package/components/slider/style/dnb-slider.min.css +1 -1
- package/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/components/slider/types.d.ts +75 -0
- package/components/slider/types.js +1 -0
- package/components/table/Table.d.ts +40 -0
- package/components/table/Table.js +51 -0
- package/components/table/TableStickyHeader.d.ts +21 -0
- package/components/table/TableStickyHeader.js +105 -0
- package/components/table/TableTd.d.ts +15 -0
- package/components/table/TableTd.js +18 -0
- package/components/table/TableTh.d.ts +14 -0
- package/components/table/TableTh.js +18 -0
- package/components/table/TableTr.d.ts +15 -0
- package/components/table/TableTr.js +17 -0
- package/components/table/index.d.ts +3 -0
- package/components/table/index.js +3 -0
- package/components/table/style/_table.scss +147 -0
- package/components/table/style/dnb-table.css +181 -0
- package/components/table/style/dnb-table.min.css +1 -0
- package/components/table/style/dnb-table.scss +12 -0
- package/components/table/style/index.d.ts +6 -0
- package/components/table/style/index.js +1 -0
- package/components/table/style/themes/dnb-table-theme-ui.css +444 -0
- package/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
- package/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
- package/components/table/style/themes/table-basis.scss +161 -0
- package/components/table/style/themes/ui.d.ts +1 -0
- package/components/table/style/themes/ui.js +1 -0
- package/components/table/style.d.ts +1 -0
- package/components/table/style.js +1 -0
- package/components/tag/Tag.js +14 -13
- package/components/timeline/Timeline.js +10 -8
- package/components/timeline/TimelineItem.d.ts +12 -4
- package/components/timeline/TimelineItem.js +61 -25
- package/components/timeline/style/_timeline.scss +2 -2
- package/components/timeline/style/dnb-timeline.css +6 -6
- package/components/timeline/style/dnb-timeline.min.css +1 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
- package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
- package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
- package/elements/Anchor.d.ts +44 -105
- package/elements/Anchor.js +51 -113
- package/elements/Element.d.ts +23 -40
- package/elements/Element.js +44 -92
- package/elements/Link.d.ts +18 -1
- package/elements/Table.d.ts +3 -35
- package/elements/Table.js +3 -218
- package/elements/Td.d.ts +2 -28
- package/elements/Td.js +2 -36
- package/elements/Th.d.ts +2 -28
- package/elements/Th.js +2 -36
- package/elements/Tr.d.ts +2 -28
- package/elements/Tr.js +2 -36
- package/elements/lib.d.ts +40 -8
- package/elements/lib.js +1 -3
- package/es/components/Badge.d.ts +3 -0
- package/es/components/Badge.js +3 -0
- package/es/components/Style.d.ts +1 -0
- package/es/components/Style.js +3 -0
- package/es/components/Table.d.ts +3 -0
- package/es/components/Table.js +3 -0
- package/es/components/accordion/AccordionContent.js +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +9 -0
- package/es/components/autocomplete/Autocomplete.js +56 -20
- package/es/components/autocomplete/style/_autocomplete.scss +73 -6
- package/es/components/autocomplete/style/dnb-autocomplete.css +79 -14
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
- package/es/components/avatar/Avatar.js +8 -7
- package/es/components/avatar/style/_avatar.scss +1 -0
- package/es/components/avatar/style/dnb-avatar.css +1 -0
- package/es/components/avatar/style/dnb-avatar.min.css +1 -1
- package/es/components/badge/Badge.d.ts +58 -0
- package/es/components/badge/Badge.js +88 -0
- package/es/components/badge/index.d.ts +8 -0
- package/es/components/badge/index.js +3 -0
- package/es/components/badge/style/_badge.scss +74 -0
- package/es/components/badge/style/dnb-badge.css +151 -0
- package/es/components/badge/style/dnb-badge.min.css +1 -0
- package/es/components/badge/style/dnb-badge.scss +12 -0
- package/es/components/badge/style/index.d.ts +6 -0
- package/es/components/badge/style/index.js +1 -0
- package/es/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
- package/es/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
- package/es/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
- package/es/components/badge/style/themes/ui.d.ts +1 -0
- package/es/components/badge/style/themes/ui.js +1 -0
- package/es/components/badge/style.d.ts +1 -0
- package/es/components/badge/style.js +1 -0
- package/es/components/breadcrumb/Breadcrumb.js +8 -7
- package/es/components/button/Button.d.ts +5 -3
- package/es/components/date-picker/DatePicker.d.ts +6 -0
- package/es/components/date-picker/DatePicker.js +9 -4
- package/es/components/date-picker/DatePickerFooter.js +3 -3
- package/es/components/date-picker/DatePickerInput.d.ts +6 -0
- package/es/components/date-picker/DatePickerInput.js +43 -32
- package/es/components/date-picker/style/_date-picker.scss +40 -0
- package/es/components/date-picker/style/dnb-date-picker.css +52 -8
- package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/es/components/dialog/Dialog.js +7 -3
- package/es/components/dialog/DialogContent.js +7 -4
- package/es/components/dialog/style/_dialog.scss +24 -35
- package/es/components/dialog/style/dnb-dialog.css +69 -99
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
- package/es/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
- package/es/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
- package/es/components/dialog/types.d.ts +9 -2
- package/es/components/drawer/DrawerContent.js +4 -1
- package/es/components/drawer/style/_drawer.scss +6 -13
- package/es/components/drawer/style/dnb-drawer.css +54 -71
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
- package/es/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
- package/es/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
- package/es/components/dropdown/Dropdown.d.ts +25 -0
- package/es/components/dropdown/Dropdown.js +2 -2
- package/es/components/form-row/FormRow.js +13 -18
- package/es/components/form-row/FormRowHelpers.d.ts +7 -0
- package/es/components/form-row/FormRowHelpers.js +18 -0
- package/es/components/icon/Icon.js +2 -2
- package/es/components/icon/IconHelpers.d.ts +1 -0
- package/es/components/icon/IconHelpers.js +1 -0
- package/es/components/index.d.ts +3 -1
- package/es/components/index.js +3 -1
- package/es/components/input/Input.d.ts +6 -1
- package/es/components/input/Input.js +11 -2
- package/es/components/input/style/_input.scss +11 -9
- package/es/components/input/style/dnb-input.css +7 -8
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input-masked/InputMasked.d.ts +6 -1
- package/es/components/input-masked/InputMaskedUtils.js +11 -4
- package/es/components/input-masked/addons/createNumberMask.d.ts +1 -2
- package/es/components/input-masked/addons/createNumberMask.js +1 -9
- package/es/components/input-masked/style/dnb-input-masked.css +7 -8
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/lib.d.ts +8 -1
- package/es/components/lib.js +5 -1
- package/es/components/modal/Modal.d.ts +1 -22
- package/es/components/modal/Modal.js +3 -1
- package/es/components/modal/ModalContent.d.ts +7 -2
- package/es/components/modal/ModalContent.js +27 -9
- package/es/components/modal/ModalContext.d.ts +1 -0
- package/es/components/modal/ModalContext.js +1 -0
- package/es/components/modal/parts/CloseButton.d.ts +3 -24
- package/es/components/modal/parts/ModalHeader.d.ts +1 -0
- package/es/components/modal/parts/ModalHeaderBar.d.ts +3 -2
- package/es/components/modal/parts/ModalInner.d.ts +1 -0
- package/es/components/modal/style/_modal-mixins.scss +1 -0
- package/es/components/modal/style/_modal.scss +0 -4
- package/es/components/modal/style/dnb-modal.css +42 -59
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
- package/es/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
- package/es/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
- package/es/components/modal/types.d.ts +16 -38
- package/es/components/number-format/NumberFormat.d.ts +5 -0
- package/es/components/number-format/NumberFormat.js +7 -2
- package/es/components/pagination/PaginationBar.d.ts +7 -6
- package/es/components/radio/Radio.js +5 -2
- package/es/components/skeleton/SkeletonHelper.d.ts +5 -4
- package/es/components/slider/Slider.d.ts +8 -229
- package/es/components/slider/Slider.js +6 -688
- package/es/components/slider/SliderHelpers.d.ts +23 -0
- package/es/components/slider/SliderHelpers.js +124 -0
- package/es/components/slider/SliderInstance.d.ts +6 -0
- package/es/components/slider/SliderInstance.js +167 -0
- package/es/components/slider/SliderProvider.d.ts +4 -0
- package/es/components/slider/SliderProvider.js +178 -0
- package/es/components/slider/SliderThumb.d.ts +2 -0
- package/es/components/slider/SliderThumb.js +100 -0
- package/es/components/slider/SliderTrack.d.ts +6 -0
- package/es/components/slider/SliderTrack.js +99 -0
- package/es/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/es/components/slider/hooks/useSliderEvents.js +129 -0
- package/es/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/es/components/slider/hooks/useSliderProps.js +5 -0
- package/es/components/slider/style/_slider.scss +19 -48
- package/es/components/slider/style/dnb-slider.css +30 -60
- package/es/components/slider/style/dnb-slider.min.css +1 -1
- package/es/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/es/components/slider/types.d.ts +75 -0
- package/es/components/slider/types.js +1 -0
- package/es/components/table/Table.d.ts +40 -0
- package/es/components/table/Table.js +51 -0
- package/es/components/table/TableStickyHeader.d.ts +21 -0
- package/es/components/table/TableStickyHeader.js +98 -0
- package/es/components/table/TableTd.d.ts +15 -0
- package/es/components/table/TableTd.js +20 -0
- package/es/components/table/TableTh.d.ts +14 -0
- package/es/components/table/TableTh.js +20 -0
- package/es/components/table/TableTr.d.ts +15 -0
- package/es/components/table/TableTr.js +19 -0
- package/es/components/table/index.d.ts +3 -0
- package/es/components/table/index.js +3 -0
- package/es/components/table/style/_table.scss +147 -0
- package/es/components/table/style/dnb-table.css +181 -0
- package/es/components/table/style/dnb-table.min.css +1 -0
- package/es/components/table/style/dnb-table.scss +12 -0
- package/es/components/table/style/index.d.ts +6 -0
- package/es/components/table/style/index.js +1 -0
- package/es/components/table/style/themes/dnb-table-theme-ui.css +444 -0
- package/es/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
- package/es/components/table/style/themes/table-basis.scss +161 -0
- package/es/components/table/style/themes/ui.d.ts +1 -0
- package/es/components/table/style/themes/ui.js +1 -0
- package/es/components/table/style.d.ts +1 -0
- package/es/components/table/style.js +1 -0
- package/es/components/tag/Tag.js +8 -7
- package/es/components/timeline/Timeline.js +8 -6
- package/es/components/timeline/TimelineItem.d.ts +12 -4
- package/es/components/timeline/TimelineItem.js +54 -22
- package/es/components/timeline/style/_timeline.scss +2 -2
- package/es/components/timeline/style/dnb-timeline.css +6 -6
- package/es/components/timeline/style/dnb-timeline.min.css +1 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
- package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
- package/es/elements/Anchor.d.ts +44 -105
- package/es/elements/Anchor.js +49 -80
- package/es/elements/Element.d.ts +23 -40
- package/es/elements/Element.js +44 -61
- package/es/elements/Link.d.ts +18 -1
- package/es/elements/Table.d.ts +3 -35
- package/es/elements/Table.js +3 -170
- package/es/elements/Td.d.ts +2 -28
- package/es/elements/Td.js +2 -26
- package/es/elements/Th.d.ts +2 -28
- package/es/elements/Th.js +2 -26
- package/es/elements/Tr.d.ts +2 -28
- package/es/elements/Tr.js +2 -26
- package/es/elements/lib.d.ts +40 -8
- package/es/elements/lib.js +1 -3
- package/es/fragments/drawer-list/DrawerList.d.ts +13 -0
- package/es/fragments/drawer-list/DrawerList.js +25 -13
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
- package/es/fragments/drawer-list/DrawerListHelpers.js +15 -0
- package/es/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
- package/es/fragments/drawer-list/DrawerListProvider.js +31 -44
- package/es/fragments/drawer-list/style/_drawer-list.scss +40 -5
- package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
- package/es/icons/bookmark.d.ts +2 -0
- package/es/icons/bookmark.js +22 -0
- package/es/icons/bookmark_medium.d.ts +2 -0
- package/es/icons/bookmark_medium.js +22 -0
- package/es/icons/calendar_cancel.d.ts +2 -0
- package/es/icons/calendar_cancel.js +18 -0
- package/es/icons/calendar_cancel_medium.d.ts +2 -0
- package/es/icons/calendar_cancel_medium.js +18 -0
- package/es/icons/exclamation.js +5 -2
- package/es/icons/exclamation_circled.js +1 -1
- package/es/icons/exclamation_medium.js +5 -2
- package/es/icons/icons-meta.json +232 -198
- package/es/icons/icons-pdf.lock +6294 -0
- package/es/icons/icons-svg.lock +6294 -1
- package/es/icons/index.d.ts +5 -1
- package/es/icons/index.js +5 -1
- package/es/icons/reply.js +2 -1
- package/es/icons/reply_medium.js +2 -1
- package/es/icons/secondary_icons.d.ts +3 -1
- package/es/icons/secondary_icons.js +3 -1
- package/es/icons/secondary_icons_medium.d.ts +3 -1
- package/es/icons/secondary_icons_medium.js +3 -1
- package/es/icons/stopwatch.js +1 -1
- package/es/index.d.ts +31 -30
- package/es/index.js +31 -30
- package/es/shared/AlignmentHelper.js +2 -2
- package/es/shared/AnimateHeight.d.ts +1 -0
- package/es/shared/AnimateHeight.js +18 -2
- package/es/shared/Context.d.ts +98 -44
- package/es/shared/Context.js +4 -17
- package/es/shared/Eufemia.js +1 -1
- package/es/shared/MediaQuery.d.ts +18 -37
- package/es/shared/MediaQuery.js +3 -18
- package/es/shared/MediaQueryUtils.d.ts +61 -23
- package/es/shared/MediaQueryUtils.js +2 -2
- package/es/shared/Provider.d.ts +36 -12
- package/es/shared/Provider.js +6 -14
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +5 -5
- package/es/shared/helpers/Suffix.d.ts +6 -4
- package/es/shared/helpers/Suffix.js +5 -3
- package/es/shared/helpers/filterValidProps.d.ts +11 -0
- package/es/shared/helpers/filterValidProps.js +14 -0
- package/es/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/es/shared/helpers/withCamelCaseProps.js +2 -0
- package/es/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/es/shared/helpers/withSnakeCaseProps.js +72 -0
- package/es/shared/interfaces.d.ts +13 -0
- package/es/shared/locales/en-GB.d.ts +4 -3
- package/es/shared/locales/en-GB.js +4 -3
- package/es/shared/locales/en-US.d.ts +4 -3
- package/es/shared/locales/index.d.ts +8 -6
- package/es/shared/locales/nb-NO.d.ts +4 -3
- package/es/shared/locales/nb-NO.js +4 -3
- package/es/shared/useMediaQuery.d.ts +3 -1
- package/es/shared/useTranslation.d.ts +1 -22
- package/es/style/dnb-ui-components.css +434 -154
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-components.scss +2 -0
- package/es/style/dnb-ui-elements.css +45 -562
- package/es/style/dnb-ui-elements.min.css +1 -2
- package/es/style/dnb-ui-fragments.css +37 -15
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/dnb-ui-tags.css +64 -1105
- package/es/style/dnb-ui-tags.min.css +1 -3
- package/es/style/elements/_anchor-mixins.scss +6 -3
- package/es/style/elements/table.scss +1 -389
- package/es/style/elements/ui-tags.scss +2 -2
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
- package/es/style/themes/theme-ui/dnb-theme-ui.css +612 -653
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
- package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +3 -3
- package/esm/dnb-ui-elements.min.mjs +9 -10
- 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/fragments/drawer-list/DrawerList.d.ts +13 -0
- package/fragments/drawer-list/DrawerList.js +24 -12
- package/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
- package/fragments/drawer-list/DrawerListHelpers.js +15 -0
- package/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
- package/fragments/drawer-list/DrawerListProvider.js +29 -43
- package/fragments/drawer-list/style/_drawer-list.scss +40 -5
- package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
- package/icons/bookmark.d.ts +2 -0
- package/icons/bookmark.js +24 -0
- package/icons/bookmark_medium.d.ts +2 -0
- package/icons/bookmark_medium.js +24 -0
- package/icons/calendar_cancel.d.ts +2 -0
- package/icons/calendar_cancel.js +20 -0
- package/icons/calendar_cancel_medium.d.ts +2 -0
- package/icons/calendar_cancel_medium.js +20 -0
- package/icons/exclamation.js +5 -2
- package/icons/exclamation_circled.js +1 -1
- package/icons/exclamation_medium.js +5 -2
- package/icons/icons-meta.json +232 -198
- package/icons/icons-pdf.lock +6294 -0
- package/icons/icons-svg.lock +6294 -1
- package/icons/index.d.ts +5 -1
- package/icons/index.js +5 -1
- package/icons/reply.js +2 -1
- package/icons/reply_medium.js +2 -1
- package/icons/secondary_icons.d.ts +3 -1
- package/icons/secondary_icons.js +3 -1
- package/icons/secondary_icons_medium.d.ts +3 -1
- package/icons/secondary_icons_medium.js +3 -1
- package/icons/stopwatch.js +1 -1
- package/index.d.ts +31 -30
- package/index.js +31 -30
- package/package.json +1 -1
- package/shared/AlignmentHelper.js +4 -2
- package/shared/AnimateHeight.d.ts +1 -0
- package/shared/AnimateHeight.js +18 -2
- package/shared/Context.d.ts +98 -44
- package/shared/Context.js +3 -16
- package/shared/Eufemia.js +1 -1
- package/shared/MediaQuery.d.ts +18 -37
- package/shared/MediaQuery.js +3 -17
- package/shared/MediaQueryUtils.d.ts +61 -23
- package/shared/MediaQueryUtils.js +2 -2
- package/shared/Provider.d.ts +36 -12
- package/shared/Provider.js +5 -12
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +5 -5
- package/shared/helpers/Suffix.d.ts +6 -4
- package/shared/helpers/Suffix.js +4 -2
- package/shared/helpers/filterValidProps.d.ts +11 -0
- package/shared/helpers/filterValidProps.js +14 -0
- package/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/shared/helpers/withCamelCaseProps.js +3 -0
- package/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/shared/helpers/withSnakeCaseProps.js +115 -0
- package/shared/interfaces.d.ts +13 -0
- package/shared/locales/en-GB.d.ts +4 -3
- package/shared/locales/en-GB.js +4 -3
- package/shared/locales/en-US.d.ts +4 -3
- package/shared/locales/index.d.ts +8 -6
- package/shared/locales/nb-NO.d.ts +4 -3
- package/shared/locales/nb-NO.js +4 -3
- package/shared/useMediaQuery.d.ts +3 -1
- package/shared/useTranslation.d.ts +1 -22
- package/style/dnb-ui-components.css +434 -154
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-components.scss +2 -0
- package/style/dnb-ui-elements.css +45 -562
- package/style/dnb-ui-elements.min.css +1 -2
- package/style/dnb-ui-fragments.css +37 -15
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/dnb-ui-tags.css +64 -1105
- package/style/dnb-ui-tags.min.css +1 -3
- package/style/elements/_anchor-mixins.scss +6 -3
- package/style/elements/table.scss +1 -389
- package/style/elements/ui-tags.scss +2 -2
- package/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
- package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
- package/style/themes/theme-ui/dnb-theme-ui.css +612 -653
- package/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
- package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +5 -5
- package/umd/dnb-ui-elements.min.js +20 -21
- 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 +4 -4
- package/umd/dnb-ui-web-components.min.js +3 -3
- package/cjs/components/slider/web-component.d.ts +0 -3
- package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
- package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -9
- package/components/slider/web-component.d.ts +0 -3
- package/components/slider/web-component.js +0 -5
- package/es/components/slider/web-component.d.ts +0 -3
- package/es/components/slider/web-component.js +0 -5
- package/es/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
- package/es/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -93
- package/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
- package/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { formatOptionParams, formatValue, formatReturnType } from '../number-format/NumberUtils';
|
|
2
|
+
import type { ValueTypes } from './types';
|
|
3
|
+
export declare const percentToValue: (percent: number, min: number, max: number) => number;
|
|
4
|
+
export declare const roundToStep: (number: number, step: number) => number;
|
|
5
|
+
export declare const getOffset: (node: HTMLElement) => {
|
|
6
|
+
top: number;
|
|
7
|
+
left: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const getMousePosition: (event: MouseEvent & TouchEvent) => {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const calculatePercent: (node: HTMLElement, event: MouseEvent | TouchEvent, isVertical: boolean, isReverted: boolean) => number;
|
|
14
|
+
export declare const clamp: (value: number, min?: number, max?: number) => number;
|
|
15
|
+
export declare const roundValue: (value: number, step: number) => number;
|
|
16
|
+
export declare const createMockDiv: ({ width, height }: {
|
|
17
|
+
width: any;
|
|
18
|
+
height: any;
|
|
19
|
+
}) => HTMLDivElement;
|
|
20
|
+
export declare const getUpdatedValues: (value: Array<number>, index: number, newValue: number) => ValueTypes;
|
|
21
|
+
export declare const closestIndex: (goal: number, array: Array<number>) => number;
|
|
22
|
+
export declare const formatNumber: (value: formatValue, opts?: formatOptionParams) => formatReturnType;
|
|
23
|
+
export declare const getHumanNumber: (value: number, numberFormat: formatOptionParams) => string;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
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
|
+
import { format } from '../number-format/NumberUtils';
|
|
9
|
+
export const percentToValue = (percent, min, max) => {
|
|
10
|
+
if (typeof min === 'string') {
|
|
11
|
+
min = parseFloat(min);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (typeof max === 'string') {
|
|
15
|
+
max = parseFloat(max);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return (max - min) * percent / 100 + min;
|
|
19
|
+
};
|
|
20
|
+
export const roundToStep = (number, step) => Math.round(number / step) * step;
|
|
21
|
+
export const getOffset = node => {
|
|
22
|
+
const {
|
|
23
|
+
pageYOffset,
|
|
24
|
+
pageXOffset
|
|
25
|
+
} = typeof window !== 'undefined' ? window : {
|
|
26
|
+
pageYOffset: 0,
|
|
27
|
+
pageXOffset: 0
|
|
28
|
+
};
|
|
29
|
+
const {
|
|
30
|
+
left,
|
|
31
|
+
top
|
|
32
|
+
} = node.getBoundingClientRect();
|
|
33
|
+
return {
|
|
34
|
+
top: top + pageYOffset,
|
|
35
|
+
left: left + pageXOffset
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export const getMousePosition = event => {
|
|
39
|
+
if (event.changedTouches && event.changedTouches[0]) {
|
|
40
|
+
return {
|
|
41
|
+
x: event.changedTouches[0].pageX,
|
|
42
|
+
y: event.changedTouches[0].pageY
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return {
|
|
47
|
+
x: event.pageX,
|
|
48
|
+
y: event.pageY
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export const calculatePercent = (node, event, isVertical, isReverted) => {
|
|
52
|
+
const {
|
|
53
|
+
width,
|
|
54
|
+
height
|
|
55
|
+
} = node.getBoundingClientRect();
|
|
56
|
+
const {
|
|
57
|
+
top,
|
|
58
|
+
left
|
|
59
|
+
} = getOffset(node);
|
|
60
|
+
const {
|
|
61
|
+
x,
|
|
62
|
+
y
|
|
63
|
+
} = getMousePosition(event);
|
|
64
|
+
const value = isVertical ? y - top : x - left;
|
|
65
|
+
const onePercent = (isVertical ? height : width) / 100;
|
|
66
|
+
return Math.abs((isReverted ? 100 : 0) - clamp(value / onePercent));
|
|
67
|
+
};
|
|
68
|
+
export const clamp = (value, min = 0, max = 100) => Math.min(Math.max(value, min), max);
|
|
69
|
+
export const roundValue = (value, step) => {
|
|
70
|
+
return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
|
|
71
|
+
};
|
|
72
|
+
export const createMockDiv = ({
|
|
73
|
+
width,
|
|
74
|
+
height
|
|
75
|
+
}) => {
|
|
76
|
+
const div = document.createElement('div');
|
|
77
|
+
|
|
78
|
+
_extends(div.style, {
|
|
79
|
+
width: `${width}px`,
|
|
80
|
+
height: `${height}px`
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
div.getBoundingClientRect = () => ({
|
|
84
|
+
width,
|
|
85
|
+
height,
|
|
86
|
+
top: 0,
|
|
87
|
+
left: 0,
|
|
88
|
+
right: width,
|
|
89
|
+
bottom: height
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
return div;
|
|
93
|
+
};
|
|
94
|
+
export const getUpdatedValues = (value, index, newValue) => {
|
|
95
|
+
return value.map((val, i) => {
|
|
96
|
+
if (i === index) {
|
|
97
|
+
val = newValue;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return val;
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
export const closestIndex = (goal, array) => {
|
|
104
|
+
const res = [...array].sort((a, b) => Math.abs(goal - a) - Math.abs(goal - b))[0];
|
|
105
|
+
return array.findIndex(num => num === res);
|
|
106
|
+
};
|
|
107
|
+
export const formatNumber = (value, opts = null) => {
|
|
108
|
+
if (opts) {
|
|
109
|
+
return format(value, opts);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return value;
|
|
113
|
+
};
|
|
114
|
+
export const getHumanNumber = (value, numberFormat) => {
|
|
115
|
+
const num = value;
|
|
116
|
+
const {
|
|
117
|
+
aria: humanNumber
|
|
118
|
+
} = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
|
|
119
|
+
returnAria: true
|
|
120
|
+
})) : {
|
|
121
|
+
aria: null
|
|
122
|
+
};
|
|
123
|
+
return String(humanNumber || value);
|
|
124
|
+
};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
|
|
3
|
+
var _SubtractButton, _AddButton, _AlignmentHelper, _SliderMainTrack, _SliderSuffix;
|
|
4
|
+
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import classnames from 'classnames';
|
|
7
|
+
import { isTrue } from '../../shared/component-helper';
|
|
8
|
+
import AlignmentHelper from '../../shared/AlignmentHelper';
|
|
9
|
+
import { createSpacingClasses } from '../space/SpacingHelper';
|
|
10
|
+
import { createSkeletonClass, skeletonDOMAttributes } from '../skeleton/SkeletonHelper';
|
|
11
|
+
import Context from '../../shared/Context';
|
|
12
|
+
import Suffix from '../../shared/helpers/Suffix';
|
|
13
|
+
import Button from '../button/Button';
|
|
14
|
+
import FormLabel from '../form-label/FormLabel';
|
|
15
|
+
import FormStatus from '../form-status/FormStatus';
|
|
16
|
+
import { SliderMainTrack, SliderTrackAfter, SliderTrackBefore } from './SliderTrack';
|
|
17
|
+
import { SliderThumb } from './SliderThumb';
|
|
18
|
+
import { useSliderProps } from './hooks/useSliderProps';
|
|
19
|
+
import { clamp, getHumanNumber } from './SliderHelpers';
|
|
20
|
+
export function SliderInstance() {
|
|
21
|
+
const context = React.useContext(Context);
|
|
22
|
+
const {
|
|
23
|
+
isReverse,
|
|
24
|
+
isVertical,
|
|
25
|
+
showButtons,
|
|
26
|
+
showStatus,
|
|
27
|
+
allProps
|
|
28
|
+
} = useSliderProps();
|
|
29
|
+
const {
|
|
30
|
+
id,
|
|
31
|
+
label,
|
|
32
|
+
labelSrOnly,
|
|
33
|
+
labelDirection,
|
|
34
|
+
status,
|
|
35
|
+
statusProps,
|
|
36
|
+
statusState,
|
|
37
|
+
statusNoAnimation,
|
|
38
|
+
globalStatusId,
|
|
39
|
+
stretch,
|
|
40
|
+
skeleton,
|
|
41
|
+
disabled,
|
|
42
|
+
className
|
|
43
|
+
} = allProps;
|
|
44
|
+
const mainParams = {
|
|
45
|
+
className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isReverse && 'dnb-slider--reverse', isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', !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
|
+
const subtractButton = showButtons ? _SubtractButton || (_SubtractButton = React.createElement(SubtractButton, null)) : null;
|
|
48
|
+
const addButton = showButtons ? _AddButton || (_AddButton = React.createElement(AddButton, null)) : null;
|
|
49
|
+
skeletonDOMAttributes(mainParams, skeleton, context);
|
|
50
|
+
return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
|
|
51
|
+
id: id + '-label',
|
|
52
|
+
text: label,
|
|
53
|
+
disabled: disabled,
|
|
54
|
+
skeleton: skeleton,
|
|
55
|
+
label_direction: labelDirection,
|
|
56
|
+
sr_only: labelSrOnly
|
|
57
|
+
}), React.createElement("span", {
|
|
58
|
+
className: "dnb-slider__wrapper"
|
|
59
|
+
}, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
|
|
60
|
+
show: showStatus,
|
|
61
|
+
id: id + '-form-status',
|
|
62
|
+
global_status_id: globalStatusId,
|
|
63
|
+
label: label,
|
|
64
|
+
text_id: id + '-status',
|
|
65
|
+
text: status,
|
|
66
|
+
status: statusState,
|
|
67
|
+
no_animation: statusNoAnimation,
|
|
68
|
+
skeleton: skeleton
|
|
69
|
+
}, statusProps)), React.createElement("span", {
|
|
70
|
+
className: "dnb-slider__inner"
|
|
71
|
+
}, showButtons && (isReverse ? addButton : subtractButton), _SliderMainTrack || (_SliderMainTrack = React.createElement(SliderMainTrack, null, React.createElement(SliderThumb, null), React.createElement(SliderTrackBefore, null), React.createElement(SliderTrackAfter, null))), showButtons && (isReverse ? subtractButton : addButton), _SliderSuffix || (_SliderSuffix = React.createElement(SliderSuffix, null)))));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function SliderSuffix() {
|
|
75
|
+
const {
|
|
76
|
+
allProps
|
|
77
|
+
} = useSliderProps();
|
|
78
|
+
const {
|
|
79
|
+
id,
|
|
80
|
+
suffix
|
|
81
|
+
} = allProps;
|
|
82
|
+
return suffix ? React.createElement(Suffix, {
|
|
83
|
+
className: "dnb-slider__suffix",
|
|
84
|
+
id: id + '-suffix',
|
|
85
|
+
context: allProps
|
|
86
|
+
}, suffix) : null;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function SubtractButton() {
|
|
90
|
+
const {
|
|
91
|
+
emitChange,
|
|
92
|
+
value,
|
|
93
|
+
attributes,
|
|
94
|
+
allProps
|
|
95
|
+
} = useSliderProps();
|
|
96
|
+
const {
|
|
97
|
+
step,
|
|
98
|
+
min,
|
|
99
|
+
max,
|
|
100
|
+
disabled,
|
|
101
|
+
skeleton,
|
|
102
|
+
subtractTitle,
|
|
103
|
+
numberFormat
|
|
104
|
+
} = allProps;
|
|
105
|
+
|
|
106
|
+
const onSubtractClickHandler = event => {
|
|
107
|
+
emitChange(event, clamp(value - (step || 1), min, max));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const subtractParams = {};
|
|
111
|
+
|
|
112
|
+
if (typeof attributes['aria-hidden'] !== 'undefined') {
|
|
113
|
+
subtractParams['aria-hidden'] = attributes['aria-hidden'];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const humanNumber = getHumanNumber(value, numberFormat);
|
|
117
|
+
return React.createElement(Button, _extends({
|
|
118
|
+
className: "dnb-slider__button dnb-slider__button--subtract",
|
|
119
|
+
variant: "secondary",
|
|
120
|
+
icon: "subtract",
|
|
121
|
+
size: "small",
|
|
122
|
+
"aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
|
|
123
|
+
on_click: onSubtractClickHandler,
|
|
124
|
+
disabled: disabled,
|
|
125
|
+
skeleton: skeleton
|
|
126
|
+
}, subtractParams));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function AddButton() {
|
|
130
|
+
const {
|
|
131
|
+
emitChange,
|
|
132
|
+
value,
|
|
133
|
+
attributes,
|
|
134
|
+
allProps
|
|
135
|
+
} = useSliderProps();
|
|
136
|
+
const {
|
|
137
|
+
step,
|
|
138
|
+
min,
|
|
139
|
+
max,
|
|
140
|
+
disabled,
|
|
141
|
+
skeleton,
|
|
142
|
+
addTitle,
|
|
143
|
+
numberFormat
|
|
144
|
+
} = allProps;
|
|
145
|
+
|
|
146
|
+
const onAddClickHandler = event => {
|
|
147
|
+
emitChange(event, clamp(value + (step || 1), min, max));
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
const addParams = {};
|
|
151
|
+
|
|
152
|
+
if (typeof attributes['aria-hidden'] !== 'undefined') {
|
|
153
|
+
addParams['aria-hidden'] = attributes['aria-hidden'];
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const humanNumber = getHumanNumber(value, numberFormat);
|
|
157
|
+
return React.createElement(Button, _extends({
|
|
158
|
+
className: "dnb-slider__button dnb-slider__button--add",
|
|
159
|
+
variant: "secondary",
|
|
160
|
+
icon: "add",
|
|
161
|
+
size: "small",
|
|
162
|
+
"aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
|
|
163
|
+
on_click: onAddClickHandler,
|
|
164
|
+
disabled: disabled,
|
|
165
|
+
skeleton: skeleton
|
|
166
|
+
}, addParams));
|
|
167
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
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"];
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { includeValidProps } from '../../components/form-row/FormRowHelpers';
|
|
5
|
+
import { usePropsWithContext } from '../../shared/hooks';
|
|
6
|
+
import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState } from '../../shared/component-helper';
|
|
7
|
+
import Context from '../../shared/Context';
|
|
8
|
+
import { closestIndex, formatNumber, getUpdatedValues, roundValue } from './SliderHelpers';
|
|
9
|
+
import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
|
|
10
|
+
const defaultProps = {
|
|
11
|
+
statusState: 'error',
|
|
12
|
+
addTitle: '+',
|
|
13
|
+
subtractTitle: '−',
|
|
14
|
+
min: 0,
|
|
15
|
+
max: 100,
|
|
16
|
+
value: -1
|
|
17
|
+
};
|
|
18
|
+
export const SliderContext = React.createContext(null);
|
|
19
|
+
export function SliderProvider(localProps) {
|
|
20
|
+
const context = React.useContext(Context);
|
|
21
|
+
const allProps = convertSnakeCaseProps(usePropsWithContext(localProps, defaultProps, {
|
|
22
|
+
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
23
|
+
}, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
|
|
24
|
+
vertical: null
|
|
25
|
+
}), context === null || context === void 0 ? void 0 : context.Slider));
|
|
26
|
+
const [_id] = React.useState(makeUniqueId);
|
|
27
|
+
|
|
28
|
+
if (!allProps.id) {
|
|
29
|
+
allProps.id = _id;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const {
|
|
33
|
+
step,
|
|
34
|
+
label,
|
|
35
|
+
labelDirection,
|
|
36
|
+
labelSrOnly,
|
|
37
|
+
status,
|
|
38
|
+
statusState,
|
|
39
|
+
statusProps,
|
|
40
|
+
statusNoAnimation,
|
|
41
|
+
globalStatusId,
|
|
42
|
+
stretch,
|
|
43
|
+
suffix,
|
|
44
|
+
thumbTitle: title,
|
|
45
|
+
subtractTitle,
|
|
46
|
+
addTitle,
|
|
47
|
+
hideButtons,
|
|
48
|
+
numberFormat,
|
|
49
|
+
skeleton,
|
|
50
|
+
max,
|
|
51
|
+
min,
|
|
52
|
+
disabled,
|
|
53
|
+
className,
|
|
54
|
+
id,
|
|
55
|
+
onInit,
|
|
56
|
+
onChange,
|
|
57
|
+
onDragStart,
|
|
58
|
+
onDragEnd,
|
|
59
|
+
vertical: _vertical,
|
|
60
|
+
reverse: _reverse,
|
|
61
|
+
value: _value,
|
|
62
|
+
children: _children
|
|
63
|
+
} = allProps,
|
|
64
|
+
attributes = _objectWithoutProperties(allProps, _excluded);
|
|
65
|
+
|
|
66
|
+
const [value, setValue] = React.useState(_value);
|
|
67
|
+
const [thumbState, setThumbState] = React.useState('initial');
|
|
68
|
+
const thumbIndex = React.useRef(-1);
|
|
69
|
+
const [isVertical] = React.useState(isTrue(_vertical));
|
|
70
|
+
const [isReverse] = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse));
|
|
71
|
+
const isMulti = Array.isArray(value);
|
|
72
|
+
|
|
73
|
+
const setThumbIndex = index => {
|
|
74
|
+
if (!isNaN(index)) {
|
|
75
|
+
thumbIndex.current = index;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
if (allProps.use_scrollwheel) {
|
|
80
|
+
warn('use_scrollwheel is not supported anymore!');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const getAndUpdateCurrentIndex = currentValue => {
|
|
84
|
+
let currentIndex = null;
|
|
85
|
+
|
|
86
|
+
if (thumbIndex.current > -1) {
|
|
87
|
+
currentIndex = thumbIndex.current;
|
|
88
|
+
} else {
|
|
89
|
+
currentIndex = closestIndex(currentValue, value);
|
|
90
|
+
setThumbIndex(currentIndex);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return currentIndex;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const emitChange = (event, rawValue) => {
|
|
97
|
+
if (disabled || isTrue(skeleton)) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const currentValue = roundValue(rawValue, step);
|
|
102
|
+
|
|
103
|
+
if (currentValue > -1 && rawValue !== value) {
|
|
104
|
+
let newValue = currentValue;
|
|
105
|
+
|
|
106
|
+
if (isMulti) {
|
|
107
|
+
const currentIndex = getAndUpdateCurrentIndex(currentValue);
|
|
108
|
+
newValue = getUpdatedValues(value, currentIndex, currentValue);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (typeof onChange === 'function') {
|
|
112
|
+
const obj = {
|
|
113
|
+
value: newValue,
|
|
114
|
+
rawValue,
|
|
115
|
+
raw_value: rawValue,
|
|
116
|
+
event,
|
|
117
|
+
number: null
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
if (numberFormat) {
|
|
121
|
+
obj.number = formatNumber(currentValue, numberFormat);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
dispatchCustomElementEvent(allProps, 'onChange', obj);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
setValue(newValue);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
React.useEffect(() => {
|
|
132
|
+
if (isMulti) {
|
|
133
|
+
const hasChanged = _value.some((val, i) => {
|
|
134
|
+
return val !== value[i];
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
if (hasChanged) {
|
|
138
|
+
setValue(_value);
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
setValue(_value);
|
|
142
|
+
}
|
|
143
|
+
}, [_value, isMulti]);
|
|
144
|
+
const trackRef = React.useRef();
|
|
145
|
+
const jumpedTimeout = React.useRef();
|
|
146
|
+
|
|
147
|
+
const setJumpedState = () => {
|
|
148
|
+
setThumbState('jumped');
|
|
149
|
+
clearTimeout(jumpedTimeout.current);
|
|
150
|
+
jumpedTimeout.current = setTimeout(() => setThumbState('normal'), 100);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
const showStatus = getStatusState(status);
|
|
154
|
+
const showButtons = !isMulti && !isTrue(hideButtons);
|
|
155
|
+
const values = isMulti ? value : [value];
|
|
156
|
+
return React.createElement(SliderContext.Provider, {
|
|
157
|
+
value: {
|
|
158
|
+
isMulti,
|
|
159
|
+
isReverse,
|
|
160
|
+
isVertical,
|
|
161
|
+
value,
|
|
162
|
+
values,
|
|
163
|
+
setValue,
|
|
164
|
+
attributes,
|
|
165
|
+
showStatus,
|
|
166
|
+
showButtons,
|
|
167
|
+
thumbState,
|
|
168
|
+
setThumbState,
|
|
169
|
+
thumbIndex,
|
|
170
|
+
setThumbIndex,
|
|
171
|
+
emitChange,
|
|
172
|
+
allProps,
|
|
173
|
+
trackRef,
|
|
174
|
+
setJumpedState,
|
|
175
|
+
jumpedTimeout
|
|
176
|
+
}
|
|
177
|
+
}, localProps.children);
|
|
178
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
|
|
10
|
+
import Button from '../button/Button';
|
|
11
|
+
import { useSliderEvents } from './hooks/useSliderEvents';
|
|
12
|
+
import { useSliderProps } from './hooks/useSliderProps';
|
|
13
|
+
import { clamp, getHumanNumber } from './SliderHelpers';
|
|
14
|
+
export function SliderThumb() {
|
|
15
|
+
const {
|
|
16
|
+
values,
|
|
17
|
+
thumbIndex,
|
|
18
|
+
isVertical,
|
|
19
|
+
showStatus,
|
|
20
|
+
attributes,
|
|
21
|
+
allProps
|
|
22
|
+
} = useSliderProps();
|
|
23
|
+
const {
|
|
24
|
+
id,
|
|
25
|
+
label,
|
|
26
|
+
min,
|
|
27
|
+
max,
|
|
28
|
+
step,
|
|
29
|
+
skeleton,
|
|
30
|
+
disabled,
|
|
31
|
+
suffix,
|
|
32
|
+
numberFormat
|
|
33
|
+
} = allProps;
|
|
34
|
+
const {
|
|
35
|
+
onThumbMouseDownHandler,
|
|
36
|
+
onThumbMouseUpHandler,
|
|
37
|
+
onThumbBlurHandler,
|
|
38
|
+
onThumbFocusHandler,
|
|
39
|
+
onHelperChangeHandler,
|
|
40
|
+
onHelperFocusHandler
|
|
41
|
+
} = useSliderEvents();
|
|
42
|
+
|
|
43
|
+
const thumbParams = _objectSpread({
|
|
44
|
+
onBlur: onThumbBlurHandler,
|
|
45
|
+
onFocus: onThumbFocusHandler
|
|
46
|
+
}, attributes);
|
|
47
|
+
|
|
48
|
+
const helperParams = {};
|
|
49
|
+
|
|
50
|
+
if (label) {
|
|
51
|
+
helperParams['aria-labelledby'] = combineLabelledBy(helperParams, label ? id + '-label' : null);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (showStatus || suffix) {
|
|
55
|
+
helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
validateDOMAttributes(null, helperParams);
|
|
59
|
+
validateDOMAttributes(allProps, thumbParams);
|
|
60
|
+
return React.createElement(React.Fragment, null, values.map((value, i) => {
|
|
61
|
+
const index = thumbIndex.current;
|
|
62
|
+
const percent = clamp((value - min) * 100 / (max - min));
|
|
63
|
+
const style = {
|
|
64
|
+
zIndex: index === i ? 4 : 3,
|
|
65
|
+
[`${isVertical ? 'top' : 'left'}`]: `${percent}%`
|
|
66
|
+
};
|
|
67
|
+
const humanNumber = getHumanNumber(value, numberFormat);
|
|
68
|
+
return React.createElement(React.Fragment, {
|
|
69
|
+
key: i
|
|
70
|
+
}, React.createElement("span", {
|
|
71
|
+
className: "dnb-slider__thumb",
|
|
72
|
+
style: style
|
|
73
|
+
}, React.createElement("input", _extends({
|
|
74
|
+
type: "range",
|
|
75
|
+
className: "dnb-slider__button-helper",
|
|
76
|
+
min: min,
|
|
77
|
+
max: max,
|
|
78
|
+
step: step,
|
|
79
|
+
value: value,
|
|
80
|
+
disabled: disabled,
|
|
81
|
+
onChange: onHelperChangeHandler,
|
|
82
|
+
onFocus: onHelperFocusHandler,
|
|
83
|
+
"aria-valuemin": min,
|
|
84
|
+
"aria-valuemax": max,
|
|
85
|
+
"aria-valuenow": value,
|
|
86
|
+
"aria-valuetext": humanNumber ? humanNumber : undefined,
|
|
87
|
+
"aria-orientation": isVertical ? 'vertical' : 'horizontal',
|
|
88
|
+
"data-index": i
|
|
89
|
+
}, helperParams)), React.createElement(Button, _extends({
|
|
90
|
+
element: "span",
|
|
91
|
+
type: "",
|
|
92
|
+
variant: "secondary",
|
|
93
|
+
disabled: disabled,
|
|
94
|
+
skeleton: skeleton,
|
|
95
|
+
"data-index": i,
|
|
96
|
+
onMouseDown: onThumbMouseDownHandler,
|
|
97
|
+
onMouseUp: onThumbMouseUpHandler
|
|
98
|
+
}, thumbParams))));
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function SliderMainTrack({ children, }: {
|
|
3
|
+
children: React.ReactNode | React.ReactNode[];
|
|
4
|
+
}): JSX.Element;
|
|
5
|
+
export declare function SliderTrackBefore(): JSX.Element;
|
|
6
|
+
export declare function SliderTrackAfter(): JSX.Element;
|