@salt-ds/lab 1.0.0-alpha.51 → 1.0.0-alpha.53
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/css/salt-lab.css +532 -303
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
- package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-cjs/calendar/Calendar.css.js +1 -1
- package/dist-cjs/calendar/Calendar.js +57 -39
- package/dist-cjs/calendar/Calendar.js.map +1 -1
- package/dist-cjs/calendar/CalendarDateGrid.css.js +6 -0
- package/dist-cjs/calendar/CalendarDateGrid.css.js.map +1 -0
- package/dist-cjs/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +39 -16
- package/dist-cjs/calendar/CalendarDateGrid.js.map +1 -0
- package/dist-cjs/calendar/CalendarNavigation.css.js +6 -0
- package/dist-cjs/calendar/CalendarNavigation.js +314 -0
- package/dist-cjs/calendar/CalendarNavigation.js.map +1 -0
- package/dist-cjs/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +6 -5
- package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -0
- package/dist-cjs/calendar/formatDate.js +56 -0
- package/dist-cjs/calendar/formatDate.js.map +1 -0
- package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-cjs/calendar/internal/CalendarDay.js +45 -33
- package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarMonth.js +3 -2
- package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-cjs/calendar/internal/useFocusManagement.js +7 -4
- package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-cjs/calendar/internal/utils.js +28 -23
- package/dist-cjs/calendar/internal/utils.js.map +1 -1
- package/dist-cjs/calendar/useCalendar.js +90 -43
- package/dist-cjs/calendar/useCalendar.js.map +1 -1
- package/dist-cjs/calendar/useCalendarDay.js +19 -10
- package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
- package/dist-cjs/calendar/useCalendarSelection.js +333 -0
- package/dist-cjs/calendar/useCalendarSelection.js.map +1 -0
- package/dist-cjs/carousel/Carousel.js +5 -5
- package/dist-cjs/carousel/Carousel.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js +2 -2
- package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
- package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/ComboBox.css.js +1 -1
- package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-cjs/contact-details/ContactMetadata.js +2 -2
- package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
- package/dist-cjs/content-status/ContentStatus.css.js +1 -1
- package/dist-cjs/date-input/DateInput.css.js +1 -1
- package/dist-cjs/date-input/DateInputRange.js +357 -0
- package/dist-cjs/date-input/DateInputRange.js.map +1 -0
- package/dist-cjs/date-input/DateInputSingle.js +231 -0
- package/dist-cjs/date-input/DateInputSingle.js.map +1 -0
- package/dist-cjs/date-input/utils.js +65 -0
- package/dist-cjs/date-input/utils.js.map +1 -0
- package/dist-cjs/date-picker/DatePicker.js +74 -149
- package/dist-cjs/date-picker/DatePicker.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerActions.css.js +6 -0
- package/dist-cjs/date-picker/DatePickerActions.css.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerActions.js +106 -0
- package/dist-cjs/date-picker/DatePickerActions.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerContext.js +23 -17
- package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
- package/dist-cjs/date-picker/DatePickerOverlay.css.js +6 -0
- package/dist-cjs/date-picker/DatePickerOverlay.css.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerOverlay.js +50 -0
- package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerOverlayProvider.js +105 -0
- package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerPanel.css.js +1 -1
- package/dist-cjs/date-picker/DatePickerRangeInput.js +119 -0
- package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerRangePanel.js +230 -0
- package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerSingleInput.js +98 -0
- package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -0
- package/dist-cjs/date-picker/DatePickerSinglePanel.js +152 -0
- package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -0
- package/dist-cjs/date-picker/useDatePicker.js +207 -0
- package/dist-cjs/date-picker/useDatePicker.js.map +1 -0
- package/dist-cjs/dropdown/DropdownButton.js +4 -2
- package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
- package/dist-cjs/dropdown/useDropdown.js.map +1 -1
- package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-cjs/index.js +53 -10
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/list/List.js.map +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.css.js +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
- package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-cjs/query-input/QueryInput.css.js +1 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js +2 -2
- package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueList.js +2 -2
- package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
- package/dist-cjs/search-input/SearchInput.js +2 -1
- package/dist-cjs/search-input/SearchInput.js.map +1 -1
- package/dist-cjs/slider/Slider.css.js +1 -1
- package/dist-cjs/slider/Slider.js +53 -105
- package/dist-cjs/slider/Slider.js.map +1 -1
- package/dist-cjs/slider/internal/SliderContext.js +21 -0
- package/dist-cjs/slider/internal/SliderContext.js.map +1 -0
- package/dist-cjs/slider/internal/SliderMarks.js +31 -0
- package/dist-cjs/slider/internal/SliderMarks.js.map +1 -0
- package/dist-cjs/slider/internal/SliderSelection.js +17 -10
- package/dist-cjs/slider/internal/SliderSelection.js.map +1 -1
- package/dist-cjs/slider/internal/SliderThumb.js +77 -0
- package/dist-cjs/slider/internal/SliderThumb.js.map +1 -0
- package/dist-cjs/slider/internal/SliderTrack.js +91 -0
- package/dist-cjs/slider/internal/SliderTrack.js.map +1 -0
- package/dist-cjs/slider/internal/useKeyDownThumb.js +53 -0
- package/dist-cjs/slider/internal/useKeyDownThumb.js.map +1 -0
- package/dist-cjs/slider/internal/utils.js +78 -116
- package/dist-cjs/slider/internal/utils.js.map +1 -1
- package/dist-cjs/static-list/StaticList.css.js +6 -0
- package/dist-cjs/static-list/StaticList.css.js.map +1 -0
- package/dist-cjs/static-list/StaticList.js +32 -0
- package/dist-cjs/static-list/StaticList.js.map +1 -0
- package/dist-cjs/static-list/StaticListItem.css.js +6 -0
- package/dist-cjs/static-list/StaticListItem.css.js.map +1 -0
- package/dist-cjs/static-list/StaticListItem.js +33 -0
- package/dist-cjs/static-list/StaticListItem.js.map +1 -0
- package/dist-cjs/static-list/StaticListItemContent.css.js +6 -0
- package/dist-cjs/static-list/StaticListItemContent.css.js.map +1 -0
- package/dist-cjs/static-list/StaticListItemContent.js +30 -0
- package/dist-cjs/static-list/StaticListItemContent.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +8 -8
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
- package/dist-cjs/stepper-input/StepperInput.css.js +1 -1
- package/dist-cjs/stepper-input/StepperInput.js +214 -29
- package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
- package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js +54 -0
- package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
- package/dist-cjs/stepper-input/internal/utils.js +43 -0
- package/dist-cjs/stepper-input/internal/utils.js.map +1 -0
- package/dist-cjs/stepper-input/useStepperInput.js +88 -172
- package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
- package/dist-cjs/tabs/Tab.js +14 -12
- package/dist-cjs/tabs/Tab.js.map +1 -1
- package/dist-cjs/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-cjs/tabs/Tabstrip.js +2 -1
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs/useTabs.js.map +1 -1
- package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
- package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-cjs/tokenized-input/TokenizedInputBase.js +3 -3
- package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-cjs/tokenized-input/internal/InputPill.js +2 -2
- package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +3 -3
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-cjs/tokenized-input-next/internal/InputPill.js +2 -2
- package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +2 -2
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
- package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
- package/dist-es/calendar/Calendar.css.js +1 -1
- package/dist-es/calendar/Calendar.js +60 -42
- package/dist-es/calendar/Calendar.js.map +1 -1
- package/dist-es/calendar/CalendarDateGrid.css.js +4 -0
- package/dist-es/calendar/CalendarDateGrid.css.js.map +1 -0
- package/dist-es/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +39 -16
- package/dist-es/calendar/CalendarDateGrid.js.map +1 -0
- package/dist-es/calendar/CalendarNavigation.css.js +4 -0
- package/dist-es/calendar/CalendarNavigation.js +310 -0
- package/dist-es/calendar/CalendarNavigation.js.map +1 -0
- package/dist-es/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +6 -5
- package/dist-es/calendar/CalendarWeekHeader.js.map +1 -0
- package/dist-es/calendar/formatDate.js +51 -0
- package/dist-es/calendar/formatDate.js.map +1 -0
- package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-es/calendar/internal/CalendarDay.js +45 -33
- package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
- package/dist-es/calendar/internal/CalendarMonth.js +3 -2
- package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
- package/dist-es/calendar/internal/useFocusManagement.js +7 -4
- package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
- package/dist-es/calendar/internal/utils.js +29 -23
- package/dist-es/calendar/internal/utils.js.map +1 -1
- package/dist-es/calendar/useCalendar.js +92 -45
- package/dist-es/calendar/useCalendar.js.map +1 -1
- package/dist-es/calendar/useCalendarDay.js +20 -11
- package/dist-es/calendar/useCalendarDay.js.map +1 -1
- package/dist-es/calendar/useCalendarSelection.js +323 -0
- package/dist-es/calendar/useCalendarSelection.js.map +1 -0
- package/dist-es/carousel/Carousel.js +6 -6
- package/dist-es/carousel/Carousel.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js +3 -3
- package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
- package/dist-es/color-chooser/ColorChooser.js.map +1 -1
- package/dist-es/combo-box-deprecated/ComboBox.css.js +1 -1
- package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
- package/dist-es/contact-details/ContactMetadata.js +3 -3
- package/dist-es/contact-details/ContactMetadata.js.map +1 -1
- package/dist-es/content-status/ContentStatus.css.js +1 -1
- package/dist-es/date-input/DateInput.css.js +1 -1
- package/dist-es/date-input/DateInputRange.js +353 -0
- package/dist-es/date-input/DateInputRange.js.map +1 -0
- package/dist-es/date-input/DateInputSingle.js +227 -0
- package/dist-es/date-input/DateInputSingle.js.map +1 -0
- package/dist-es/date-input/utils.js +57 -0
- package/dist-es/date-input/utils.js.map +1 -0
- package/dist-es/date-picker/DatePicker.js +77 -153
- package/dist-es/date-picker/DatePicker.js.map +1 -1
- package/dist-es/date-picker/DatePickerActions.css.js +4 -0
- package/dist-es/date-picker/DatePickerActions.css.js.map +1 -0
- package/dist-es/date-picker/DatePickerActions.js +102 -0
- package/dist-es/date-picker/DatePickerActions.js.map +1 -0
- package/dist-es/date-picker/DatePickerContext.js +22 -17
- package/dist-es/date-picker/DatePickerContext.js.map +1 -1
- package/dist-es/date-picker/DatePickerOverlay.css.js +4 -0
- package/dist-es/date-picker/DatePickerOverlay.css.js.map +1 -0
- package/dist-es/date-picker/DatePickerOverlay.js +46 -0
- package/dist-es/date-picker/DatePickerOverlay.js.map +1 -0
- package/dist-es/date-picker/DatePickerOverlayProvider.js +100 -0
- package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -0
- package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
- package/dist-es/date-picker/DatePickerRangeInput.js +115 -0
- package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -0
- package/dist-es/date-picker/DatePickerRangePanel.js +222 -0
- package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -0
- package/dist-es/date-picker/DatePickerSingleInput.js +94 -0
- package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -0
- package/dist-es/date-picker/DatePickerSinglePanel.js +144 -0
- package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -0
- package/dist-es/date-picker/useDatePicker.js +203 -0
- package/dist-es/date-picker/useDatePicker.js.map +1 -0
- package/dist-es/dropdown/DropdownButton.js +6 -4
- package/dist-es/dropdown/DropdownButton.js.map +1 -1
- package/dist-es/dropdown/useDropdown.js.map +1 -1
- package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
- package/dist-es/index.js +19 -3
- package/dist-es/index.js.map +1 -1
- package/dist-es/list/List.js.map +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.css.js +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.js +3 -3
- package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
- package/dist-es/query-input/QueryInput.css.js +1 -1
- package/dist-es/query-input/internal/CategoryListItem.js +3 -3
- package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-es/query-input/internal/ValueList.js +3 -3
- package/dist-es/query-input/internal/ValueList.js.map +1 -1
- package/dist-es/search-input/SearchInput.js +3 -2
- package/dist-es/search-input/SearchInput.js.map +1 -1
- package/dist-es/slider/Slider.css.js +1 -1
- package/dist-es/slider/Slider.js +55 -107
- package/dist-es/slider/Slider.js.map +1 -1
- package/dist-es/slider/internal/SliderContext.js +16 -0
- package/dist-es/slider/internal/SliderContext.js.map +1 -0
- package/dist-es/slider/internal/SliderMarks.js +27 -0
- package/dist-es/slider/internal/SliderMarks.js.map +1 -0
- package/dist-es/slider/internal/SliderSelection.js +17 -10
- package/dist-es/slider/internal/SliderSelection.js.map +1 -1
- package/dist-es/slider/internal/SliderThumb.js +73 -0
- package/dist-es/slider/internal/SliderThumb.js.map +1 -0
- package/dist-es/slider/internal/SliderTrack.js +87 -0
- package/dist-es/slider/internal/SliderTrack.js.map +1 -0
- package/dist-es/slider/internal/useKeyDownThumb.js +49 -0
- package/dist-es/slider/internal/useKeyDownThumb.js.map +1 -0
- package/dist-es/slider/internal/utils.js +70 -111
- package/dist-es/slider/internal/utils.js.map +1 -1
- package/dist-es/static-list/StaticList.css.js +4 -0
- package/dist-es/static-list/StaticList.css.js.map +1 -0
- package/dist-es/static-list/StaticList.js +28 -0
- package/dist-es/static-list/StaticList.js.map +1 -0
- package/dist-es/static-list/StaticListItem.css.js +4 -0
- package/dist-es/static-list/StaticListItem.css.js.map +1 -0
- package/dist-es/static-list/StaticListItem.js +29 -0
- package/dist-es/static-list/StaticListItem.js.map +1 -0
- package/dist-es/static-list/StaticListItemContent.css.js +4 -0
- package/dist-es/static-list/StaticListItemContent.css.js.map +1 -0
- package/dist-es/static-list/StaticListItemContent.js +26 -0
- package/dist-es/static-list/StaticListItemContent.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +9 -9
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
- package/dist-es/stepper-input/StepperInput.css.js +1 -1
- package/dist-es/stepper-input/StepperInput.js +216 -31
- package/dist-es/stepper-input/StepperInput.js.map +1 -1
- package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js +50 -0
- package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
- package/dist-es/stepper-input/internal/utils.js +32 -0
- package/dist-es/stepper-input/internal/utils.js.map +1 -0
- package/dist-es/stepper-input/useStepperInput.js +88 -172
- package/dist-es/stepper-input/useStepperInput.js.map +1 -1
- package/dist-es/tabs/Tab.js +15 -13
- package/dist-es/tabs/Tab.js.map +1 -1
- package/dist-es/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-es/tabs/Tabstrip.js +4 -3
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs/useTabs.js.map +1 -1
- package/dist-es/tabs-next/OverflowMenu.js +3 -3
- package/dist-es/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-es/tokenized-input/TokenizedInputBase.js +3 -3
- package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
- package/dist-es/tokenized-input/internal/InputPill.js +2 -2
- package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.js +3 -3
- package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
- package/dist-es/tokenized-input-next/internal/InputPill.js +2 -2
- package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js +3 -3
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-types/calendar/Calendar.d.ts +55 -11
- package/dist-types/calendar/CalendarDateGrid.d.ts +10 -0
- package/dist-types/calendar/CalendarNavigation.d.ts +57 -0
- package/dist-types/calendar/CalendarWeekHeader.d.ts +5 -0
- package/dist-types/calendar/formatDate.d.ts +14 -0
- package/dist-types/calendar/index.d.ts +5 -1
- package/dist-types/calendar/internal/CalendarDay.d.ts +2 -1
- package/dist-types/calendar/internal/CalendarMonth.d.ts +9 -1
- package/dist-types/calendar/internal/useFocusManagement.d.ts +2 -1
- package/dist-types/calendar/internal/utils.d.ts +7 -8
- package/dist-types/calendar/useCalendar.d.ts +100 -16
- package/dist-types/calendar/useCalendarDay.d.ts +38 -0
- package/dist-types/calendar/useCalendarSelection.d.ts +182 -0
- package/dist-types/date-input/DateInputRange.d.ts +150 -0
- package/dist-types/date-input/DateInputSingle.d.ts +117 -0
- package/dist-types/date-input/index.d.ts +3 -1
- package/dist-types/date-input/utils.d.ts +43 -0
- package/dist-types/date-picker/DatePicker.d.ts +20 -62
- package/dist-types/date-picker/DatePickerActions.d.ts +80 -0
- package/dist-types/date-picker/DatePickerContext.d.ts +180 -17
- package/dist-types/date-picker/DatePickerOverlay.d.ts +11 -0
- package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +67 -0
- package/dist-types/date-picker/DatePickerRangeInput.d.ts +7 -0
- package/dist-types/date-picker/DatePickerRangePanel.d.ts +80 -0
- package/dist-types/date-picker/DatePickerSingleInput.d.ts +7 -0
- package/dist-types/date-picker/DatePickerSinglePanel.d.ts +50 -0
- package/dist-types/date-picker/index.d.ts +7 -0
- package/dist-types/date-picker/useDatePicker.d.ts +112 -0
- package/dist-types/index.d.ts +1 -0
- package/dist-types/slider/Slider.d.ts +23 -10
- package/dist-types/slider/internal/SliderContext.d.ts +11 -0
- package/dist-types/slider/internal/SliderMarks.d.ts +7 -0
- package/dist-types/slider/internal/SliderSelection.d.ts +3 -3
- package/dist-types/slider/internal/SliderThumb.d.ts +8 -0
- package/dist-types/slider/internal/SliderTrack.d.ts +4 -0
- package/dist-types/slider/internal/index.d.ts +3 -0
- package/dist-types/slider/internal/useKeyDownThumb.d.ts +2 -0
- package/dist-types/slider/internal/utils.d.ts +18 -10
- package/dist-types/slider/types.d.ts +3 -1
- package/dist-types/static-list/StaticList.d.ts +8 -0
- package/dist-types/static-list/StaticListItem.d.ts +4 -0
- package/dist-types/static-list/StaticListItemContent.d.ts +8 -0
- package/dist-types/static-list/index.d.ts +3 -0
- package/dist-types/stepper-input/StepperInput.d.ts +66 -19
- package/dist-types/stepper-input/internal/useActivateWhileMouseDown.d.ts +5 -0
- package/dist-types/stepper-input/internal/utils.d.ts +8 -0
- package/dist-types/stepper-input/useStepperInput.d.ts +21 -8
- package/package.json +3 -3
- package/dist-cjs/calendar/internal/CalendarCarousel.css.js +0 -6
- package/dist-cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/dist-cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/dist-cjs/calendar/internal/CalendarNavigation.css.js +0 -6
- package/dist-cjs/calendar/internal/CalendarNavigation.js +0 -218
- package/dist-cjs/calendar/internal/CalendarNavigation.js.map +0 -1
- package/dist-cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/dist-cjs/calendar/useSelection.js +0 -249
- package/dist-cjs/calendar/useSelection.js.map +0 -1
- package/dist-cjs/date-input/DateInput.js +0 -283
- package/dist-cjs/date-input/DateInput.js.map +0 -1
- package/dist-cjs/date-picker/DatePickerPanel.js +0 -155
- package/dist-cjs/date-picker/DatePickerPanel.js.map +0 -1
- package/dist-cjs/slider/internal/SliderHandle.js +0 -44
- package/dist-cjs/slider/internal/SliderHandle.js.map +0 -1
- package/dist-cjs/slider/internal/SliderMarkLabels.js +0 -45
- package/dist-cjs/slider/internal/SliderMarkLabels.js.map +0 -1
- package/dist-cjs/slider/internal/SliderRail.js +0 -25
- package/dist-cjs/slider/internal/SliderRail.js.map +0 -1
- package/dist-cjs/slider/internal/SliderRailMarks.js +0 -48
- package/dist-cjs/slider/internal/SliderRailMarks.js.map +0 -1
- package/dist-cjs/slider/internal/styles.js +0 -99
- package/dist-cjs/slider/internal/styles.js.map +0 -1
- package/dist-cjs/slider/internal/useSliderKeyDown.js +0 -50
- package/dist-cjs/slider/internal/useSliderKeyDown.js.map +0 -1
- package/dist-cjs/slider/internal/useSliderMouseDown.js +0 -96
- package/dist-cjs/slider/internal/useSliderMouseDown.js.map +0 -1
- package/dist-cjs/stepper-input/internal/useSpinner.js +0 -33
- package/dist-cjs/stepper-input/internal/useSpinner.js.map +0 -1
- package/dist-es/calendar/internal/CalendarCarousel.css.js +0 -4
- package/dist-es/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/dist-es/calendar/internal/CalendarCarousel.js.map +0 -1
- package/dist-es/calendar/internal/CalendarNavigation.css.js +0 -4
- package/dist-es/calendar/internal/CalendarNavigation.js +0 -214
- package/dist-es/calendar/internal/CalendarNavigation.js.map +0 -1
- package/dist-es/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/dist-es/calendar/useSelection.js +0 -242
- package/dist-es/calendar/useSelection.js.map +0 -1
- package/dist-es/date-input/DateInput.js +0 -279
- package/dist-es/date-input/DateInput.js.map +0 -1
- package/dist-es/date-picker/DatePickerPanel.js +0 -151
- package/dist-es/date-picker/DatePickerPanel.js.map +0 -1
- package/dist-es/slider/internal/SliderHandle.js +0 -40
- package/dist-es/slider/internal/SliderHandle.js.map +0 -1
- package/dist-es/slider/internal/SliderMarkLabels.js +0 -41
- package/dist-es/slider/internal/SliderMarkLabels.js.map +0 -1
- package/dist-es/slider/internal/SliderRail.js +0 -21
- package/dist-es/slider/internal/SliderRail.js.map +0 -1
- package/dist-es/slider/internal/SliderRailMarks.js +0 -44
- package/dist-es/slider/internal/SliderRailMarks.js.map +0 -1
- package/dist-es/slider/internal/styles.js +0 -91
- package/dist-es/slider/internal/styles.js.map +0 -1
- package/dist-es/slider/internal/useSliderKeyDown.js +0 -46
- package/dist-es/slider/internal/useSliderKeyDown.js.map +0 -1
- package/dist-es/slider/internal/useSliderMouseDown.js +0 -92
- package/dist-es/slider/internal/useSliderMouseDown.js.map +0 -1
- package/dist-es/stepper-input/internal/useSpinner.js +0 -29
- package/dist-es/stepper-input/internal/useSpinner.js.map +0 -1
- package/dist-types/calendar/internal/CalendarCarousel.d.ts +0 -3
- package/dist-types/calendar/internal/CalendarNavigation.d.ts +0 -16
- package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +0 -5
- package/dist-types/calendar/useSelection.d.ts +0 -78
- package/dist-types/date-input/DateInput.d.ts +0 -60
- package/dist-types/date-picker/DatePickerPanel.d.ts +0 -10
- package/dist-types/slider/internal/SliderHandle.d.ts +0 -11
- package/dist-types/slider/internal/SliderMarkLabels.d.ts +0 -7
- package/dist-types/slider/internal/SliderRail.d.ts +0 -1
- package/dist-types/slider/internal/SliderRailMarks.d.ts +0 -12
- package/dist-types/slider/internal/styles.d.ts +0 -10
- package/dist-types/slider/internal/useSliderKeyDown.d.ts +0 -4
- package/dist-types/slider/internal/useSliderMouseDown.d.ts +0 -4
- package/dist-types/stepper-input/internal/useSpinner.d.ts +0 -5
- /package/dist-cjs/calendar/{internal/CalendarNavigation.css.js.map → CalendarNavigation.css.js.map} +0 -0
- /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
- /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
- /package/dist-es/calendar/{internal/CalendarNavigation.css.js.map → CalendarNavigation.css.js.map} +0 -0
- /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
- /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { makePrefixer } from '@salt-ds/core';
|
|
3
|
+
import { useRef, useState, useEffect } from 'react';
|
|
4
|
+
import { useSliderContext } from './SliderContext.js';
|
|
5
|
+
import { SliderSelection } from './SliderSelection.js';
|
|
6
|
+
import { SliderThumb } from './SliderThumb.js';
|
|
7
|
+
import { getValue, getNearestIndex, setValue, preventOverlappingValues } from './utils.js';
|
|
8
|
+
|
|
9
|
+
const withBaseName = makePrefixer("saltSliderTrack");
|
|
10
|
+
const SliderTrack = ({ ...props }) => {
|
|
11
|
+
const { min, max, step, value, onChange } = useSliderContext();
|
|
12
|
+
const trackRef = useRef(null);
|
|
13
|
+
const valueRef = useRef(value);
|
|
14
|
+
const [activeThumb, setActiveThumbState] = useState(void 0);
|
|
15
|
+
const activeThumbRef = useRef(void 0);
|
|
16
|
+
const pointerDown = useRef(false);
|
|
17
|
+
const setActiveThumb = (index) => {
|
|
18
|
+
setActiveThumbState(index);
|
|
19
|
+
activeThumbRef.current = index;
|
|
20
|
+
};
|
|
21
|
+
const handlePointerUp = () => {
|
|
22
|
+
setActiveThumb(void 0);
|
|
23
|
+
pointerDown.current = false;
|
|
24
|
+
};
|
|
25
|
+
const handlePointerDown = (event) => {
|
|
26
|
+
if (event.button !== 0)
|
|
27
|
+
return;
|
|
28
|
+
const { clientX } = event;
|
|
29
|
+
const newValue = getValue(trackRef, min, max, step, clientX);
|
|
30
|
+
const nearestIndex = getNearestIndex(value, newValue);
|
|
31
|
+
setValue(value, newValue, value.length > 1 ? nearestIndex : 0, onChange);
|
|
32
|
+
setActiveThumb(nearestIndex);
|
|
33
|
+
pointerDown.current = true;
|
|
34
|
+
};
|
|
35
|
+
const handlePointerMove = (event) => {
|
|
36
|
+
if (!pointerDown.current || typeof activeThumbRef.current === "undefined")
|
|
37
|
+
return;
|
|
38
|
+
const thumb = activeThumbRef.current;
|
|
39
|
+
const { clientX } = event;
|
|
40
|
+
const rawValue = getValue(trackRef, min, max, step, clientX);
|
|
41
|
+
const newValue = preventOverlappingValues(
|
|
42
|
+
valueRef.current,
|
|
43
|
+
rawValue,
|
|
44
|
+
thumb
|
|
45
|
+
);
|
|
46
|
+
setValue(valueRef.current, newValue, thumb, onChange);
|
|
47
|
+
};
|
|
48
|
+
const handlePointerOut = () => {
|
|
49
|
+
if (!pointerDown.current) {
|
|
50
|
+
setActiveThumb(void 0);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
window.addEventListener("pointerup", handlePointerUp);
|
|
55
|
+
window.addEventListener("pointermove", handlePointerMove);
|
|
56
|
+
return () => {
|
|
57
|
+
window.removeEventListener("pointerup", handlePointerUp);
|
|
58
|
+
window.removeEventListener("pointermove", handlePointerMove);
|
|
59
|
+
};
|
|
60
|
+
}, []);
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
valueRef.current = value;
|
|
63
|
+
}, [value]);
|
|
64
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
65
|
+
className: withBaseName(),
|
|
66
|
+
ref: trackRef,
|
|
67
|
+
onPointerDown: handlePointerDown,
|
|
68
|
+
onPointerOut: handlePointerOut,
|
|
69
|
+
...props,
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ jsx("div", {
|
|
72
|
+
className: withBaseName("rail")
|
|
73
|
+
}),
|
|
74
|
+
/* @__PURE__ */ jsx(SliderSelection, {}),
|
|
75
|
+
value.map((_, i) => {
|
|
76
|
+
return /* @__PURE__ */ jsx(SliderThumb, {
|
|
77
|
+
index: i,
|
|
78
|
+
activeThumb,
|
|
79
|
+
setActiveThumb
|
|
80
|
+
}, i);
|
|
81
|
+
})
|
|
82
|
+
]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export { SliderTrack };
|
|
87
|
+
//# sourceMappingURL=SliderTrack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderTrack.js","sources":["../src/slider/internal/SliderTrack.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport {\n type ComponentPropsWithoutRef,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport type { ActiveThumbIndex, SliderValue, ThumbIndex } from \"../types\";\nimport { useSliderContext } from \"./SliderContext\";\nimport { SliderSelection } from \"./SliderSelection\";\nimport { SliderThumb } from \"./SliderThumb\";\nimport {\n getNearestIndex,\n getValue,\n preventOverlappingValues,\n setValue,\n} from \"./utils\";\n\nexport interface SliderTrackProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltSliderTrack\");\n\nexport const SliderTrack = ({ ...props }: SliderTrackProps) => {\n const { min, max, step, value, onChange } = useSliderContext();\n\n const trackRef = useRef<HTMLDivElement>(null);\n\n const valueRef = useRef<SliderValue>(value);\n\n const [activeThumb, setActiveThumbState] =\n useState<ActiveThumbIndex>(undefined);\n const activeThumbRef = useRef<ActiveThumbIndex>(undefined);\n const pointerDown = useRef(false);\n\n const setActiveThumb = (index: ActiveThumbIndex) => {\n setActiveThumbState(index);\n activeThumbRef.current = index;\n };\n\n const handlePointerUp = () => {\n setActiveThumb(undefined);\n pointerDown.current = false;\n };\n\n const handlePointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n if (event.button !== 0) return;\n const { clientX } = event;\n const newValue: number = getValue(trackRef, min, max, step, clientX);\n const nearestIndex = getNearestIndex(value, newValue);\n setValue(value, newValue, value.length > 1 ? nearestIndex : 0, onChange);\n setActiveThumb(nearestIndex);\n pointerDown.current = true;\n };\n\n const handlePointerMove = (event: PointerEvent) => {\n if (!pointerDown.current || typeof activeThumbRef.current === \"undefined\")\n return;\n const thumb = activeThumbRef.current;\n const { clientX } = event;\n const rawValue: number = getValue(trackRef, min, max, step, clientX);\n const newValue = preventOverlappingValues(\n valueRef.current,\n rawValue,\n thumb,\n );\n setValue(valueRef.current, newValue, thumb, onChange);\n };\n\n const handlePointerOut = () => {\n if (!pointerDown.current) {\n setActiveThumb(undefined);\n }\n };\n\n useEffect(() => {\n window.addEventListener(\"pointerup\", handlePointerUp);\n window.addEventListener(\"pointermove\", handlePointerMove);\n return () => {\n window.removeEventListener(\"pointerup\", handlePointerUp);\n window.removeEventListener(\"pointermove\", handlePointerMove);\n };\n }, []);\n\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n return (\n <div\n className={withBaseName()}\n ref={trackRef}\n onPointerDown={handlePointerDown}\n onPointerOut={handlePointerOut}\n {...props}\n >\n <div className={withBaseName(\"rail\")} />\n <SliderSelection />\n {value.map((_, i) => {\n return (\n <SliderThumb\n key={i}\n index={i as ThumbIndex}\n activeThumb={activeThumb}\n setActiveThumb={setActiveThumb}\n />\n );\n })}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { setValue, roundToStep, preventOverlappingValues, clampValue } from './utils.js';
|
|
2
|
+
|
|
3
|
+
const supportedKeys = [
|
|
4
|
+
"Home",
|
|
5
|
+
"End",
|
|
6
|
+
"ArrowUp",
|
|
7
|
+
"ArrowRight",
|
|
8
|
+
"ArrowDown",
|
|
9
|
+
"ArrowLeft"
|
|
10
|
+
];
|
|
11
|
+
const getValueFromKeyName = (keyName, value, min, max, step) => {
|
|
12
|
+
switch (keyName) {
|
|
13
|
+
case "Home":
|
|
14
|
+
return min;
|
|
15
|
+
case "End":
|
|
16
|
+
return max;
|
|
17
|
+
case "ArrowUp":
|
|
18
|
+
case "ArrowRight":
|
|
19
|
+
return value + step;
|
|
20
|
+
case "ArrowDown":
|
|
21
|
+
case "ArrowLeft":
|
|
22
|
+
return value - step;
|
|
23
|
+
default:
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const useKeyDownThumb = (min, max, step, value, onChange, index) => {
|
|
28
|
+
return (event) => {
|
|
29
|
+
if (!supportedKeys.includes(event.key))
|
|
30
|
+
return;
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
const targetValue = value[index];
|
|
33
|
+
const rawValue = getValueFromKeyName(
|
|
34
|
+
event.key,
|
|
35
|
+
targetValue,
|
|
36
|
+
min,
|
|
37
|
+
max,
|
|
38
|
+
step
|
|
39
|
+
);
|
|
40
|
+
const roundedToStep = roundToStep(rawValue, step);
|
|
41
|
+
const rounded = Number(roundedToStep.toFixed(1));
|
|
42
|
+
const clamped = clampValue(rounded, [min, max]);
|
|
43
|
+
const newValue = preventOverlappingValues(value, clamped, index);
|
|
44
|
+
setValue(value, newValue, index, onChange);
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export { useKeyDownThumb };
|
|
49
|
+
//# sourceMappingURL=useKeyDownThumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyDownThumb.js","sources":["../src/slider/internal/useKeyDownThumb.ts"],"sourcesContent":["import type { SliderChangeHandler, SliderValue, ThumbIndex } from \"../types\";\nimport {\n clampValue,\n preventOverlappingValues,\n roundToStep,\n setValue,\n} from \"./utils\";\n\nconst supportedKeys = [\n \"Home\",\n \"End\",\n \"ArrowUp\",\n \"ArrowRight\",\n \"ArrowDown\",\n \"ArrowLeft\",\n];\n\nconst getValueFromKeyName = (\n keyName: string,\n value: number,\n min: number,\n max: number,\n step: number,\n) => {\n switch (keyName) {\n case \"Home\":\n return min;\n case \"End\":\n return max;\n case \"ArrowUp\":\n case \"ArrowRight\":\n return value + step;\n case \"ArrowDown\":\n case \"ArrowLeft\":\n return value - step;\n default:\n return value;\n }\n};\n\nexport const useKeyDownThumb = (\n min: number,\n max: number,\n step: number,\n value: SliderValue,\n onChange: SliderChangeHandler,\n index: ThumbIndex,\n) => {\n return (event: React.KeyboardEvent) => {\n if (!supportedKeys.includes(event.key)) return;\n event.preventDefault();\n const targetValue = value[index];\n const rawValue = getValueFromKeyName(\n event.key,\n targetValue as number,\n min,\n max,\n step,\n );\n\n const roundedToStep = roundToStep(rawValue, step);\n const rounded = Number(roundedToStep.toFixed(1));\n const clamped = clampValue(rounded, [min, max]);\n const newValue = preventOverlappingValues(value, clamped, index);\n\n setValue(value, newValue, index, onChange);\n };\n};\n"],"names":[],"mappings":";;AAQA,MAAM,aAAgB,GAAA;AAAA,EACpB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AACF,CAAA,CAAA;AAEA,MAAM,sBAAsB,CAC1B,OAAA,EACA,KACA,EAAA,GAAA,EACA,KACA,IACG,KAAA;AACH,EAAQ,QAAA,OAAA;AAAA,IACD,KAAA,MAAA;AACH,MAAO,OAAA,GAAA,CAAA;AAAA,IACJ,KAAA,KAAA;AACH,MAAO,OAAA,GAAA,CAAA;AAAA,IACJ,KAAA,SAAA,CAAA;AAAA,IACA,KAAA,YAAA;AACH,MAAA,OAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,IACZ,KAAA,WAAA,CAAA;AAAA,IACA,KAAA,WAAA;AACH,MAAA,OAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,IAAA;AAEf,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAEb,CAAA,CAAA;AAEO,MAAM,kBAAkB,CAC7B,GAAA,EACA,KACA,IACA,EAAA,KAAA,EACA,UACA,KACG,KAAA;AACH,EAAA,OAAO,CAAC,KAA+B,KAAA;AACrC,IAAA,IAAI,CAAC,aAAA,CAAc,QAAS,CAAA,KAAA,CAAM,GAAG,CAAA;AAAG,MAAA,OAAA;AACxC,IAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,IAAA,MAAM,cAAc,KAAM,CAAA,KAAA,CAAA,CAAA;AAC1B,IAAA,MAAM,QAAW,GAAA,mBAAA;AAAA,MACf,KAAM,CAAA,GAAA;AAAA,MACN,WAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,IAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,WAAY,CAAA,QAAA,EAAU,IAAI,CAAA,CAAA;AAChD,IAAA,MAAM,OAAU,GAAA,MAAA,CAAO,aAAc,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA;AAC/C,IAAA,MAAM,UAAU,UAAW,CAAA,OAAA,EAAS,CAAC,GAAA,EAAK,GAAG,CAAC,CAAA,CAAA;AAC9C,IAAA,MAAM,QAAW,GAAA,wBAAA,CAAyB,KAAO,EAAA,OAAA,EAAS,KAAK,CAAA,CAAA;AAE/D,IAAS,QAAA,CAAA,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AAAA,GAC3C,CAAA;AACF;;;;"}
|
|
@@ -1,121 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
newValue[index] = Math.min(constraint, valueItem);
|
|
11
|
-
}
|
|
12
|
-
return newValue;
|
|
1
|
+
const getValue = (trackRef, min, max, step, clientX) => {
|
|
2
|
+
const { width, x } = trackRef.current.getBoundingClientRect();
|
|
3
|
+
const localX = clientX - x;
|
|
4
|
+
const normaliseBetweenValues = localX / width * (max - min) + min;
|
|
5
|
+
const roundedToStep = roundToStep(normaliseBetweenValues, step);
|
|
6
|
+
const decimals = countDecimalPlaces(step);
|
|
7
|
+
const rounded = Number(roundedToStep.toFixed(decimals));
|
|
8
|
+
const value = clampValue(rounded, [min, max]);
|
|
9
|
+
return value;
|
|
13
10
|
};
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
newValue[i] = newValue[i + 1] - pushDistance;
|
|
21
|
-
} else {
|
|
22
|
-
break;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const distToMin = newValue[0] - min;
|
|
26
|
-
if (distToMin < 0) {
|
|
27
|
-
for (let i = index; i >= 0; --i) {
|
|
28
|
-
newValue[i] -= distToMin;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
} else {
|
|
32
|
-
for (let i = index + 1; i < newValue.length; ++i) {
|
|
33
|
-
if (newValue[i] - newValue[i - 1] < pushDistance) {
|
|
34
|
-
newValue[i] = newValue[i - 1] + pushDistance;
|
|
35
|
-
} else {
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const distToMax = max - newValue[newValue.length - 1];
|
|
40
|
-
if (distToMax < 0) {
|
|
41
|
-
for (let i = index; i < newValue.length; ++i) {
|
|
42
|
-
newValue[i] += distToMax;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
11
|
+
const setValue = (value, newValue, index, onChange) => {
|
|
12
|
+
if (value.length === 2) {
|
|
13
|
+
const newValueArray = [...value];
|
|
14
|
+
newValueArray.splice(index, 1, newValue);
|
|
15
|
+
onChange(newValueArray);
|
|
16
|
+
return;
|
|
45
17
|
}
|
|
46
|
-
|
|
18
|
+
onChange([newValue]);
|
|
47
19
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
oldValue,
|
|
52
|
-
index,
|
|
53
|
-
valueItem,
|
|
54
|
-
min,
|
|
55
|
-
max,
|
|
56
|
-
pushDistance
|
|
57
|
-
) : (oldValue, index, valueItem) => updateValueItemNotPushable(oldValue, index, valueItem, min, max);
|
|
58
|
-
return (oldValue, index, valueItem) => {
|
|
59
|
-
if (!Array.isArray(oldValue)) {
|
|
60
|
-
return valueItem;
|
|
61
|
-
}
|
|
62
|
-
if (oldValue[index] === valueItem) {
|
|
63
|
-
return oldValue;
|
|
64
|
-
}
|
|
65
|
-
const newValue = updater(oldValue, index, valueItem);
|
|
66
|
-
if (-1 === newValue.findIndex((v, i) => oldValue[i] !== v)) {
|
|
67
|
-
return oldValue;
|
|
68
|
-
}
|
|
69
|
-
return newValue;
|
|
70
|
-
};
|
|
71
|
-
}, [pushable, pushDistance, min, max]);
|
|
72
|
-
}
|
|
73
|
-
const roundValue = (v, step) => Math.round(v / step) * step;
|
|
74
|
-
const clampValue = (v, min, max) => {
|
|
75
|
-
if (v < min) {
|
|
76
|
-
return min;
|
|
77
|
-
}
|
|
78
|
-
if (v > max) {
|
|
20
|
+
const roundToStep = (value, step) => Math.round(value / step) * step;
|
|
21
|
+
const clampValue = (value, [min, max]) => {
|
|
22
|
+
if (value > max) {
|
|
79
23
|
return max;
|
|
80
24
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
function getSliderAriaLabel(count, index) {
|
|
84
|
-
if (count < 2) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (count === 2) {
|
|
88
|
-
return index === 0 ? "Min" : "Max";
|
|
25
|
+
if (value < min) {
|
|
26
|
+
return min;
|
|
89
27
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
28
|
+
return value;
|
|
29
|
+
};
|
|
30
|
+
const getPercentage = (min, max, value) => {
|
|
31
|
+
const percentage = (value - min) / (max - min) * 100;
|
|
32
|
+
return Math.min(Math.max(percentage, 0), 100);
|
|
33
|
+
};
|
|
34
|
+
const countDecimalPlaces = (num) => {
|
|
35
|
+
const parts = num.toString().split(".");
|
|
36
|
+
return parts.length > 1 ? parts[1].length : 0;
|
|
37
|
+
};
|
|
38
|
+
const getMarkStyles = (min, max, step) => {
|
|
39
|
+
const marks = [];
|
|
40
|
+
for (let i = min; i <= max; i = Number((i + step).toPrecision(4))) {
|
|
41
|
+
const value = Number(i.toPrecision(4));
|
|
42
|
+
const position = `${getPercentage(min, max, value)}%`;
|
|
43
|
+
marks.push({ value, position });
|
|
103
44
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
45
|
+
const decimals = Math.max(
|
|
46
|
+
...marks.map((mark) => countDecimalPlaces(mark.value))
|
|
47
|
+
);
|
|
48
|
+
return marks.map((mark) => ({
|
|
49
|
+
...mark,
|
|
50
|
+
label: mark.value.toFixed(decimals)
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
const getNearestIndex = (value, newValue) => {
|
|
54
|
+
if (value.length === 1)
|
|
55
|
+
return 0;
|
|
56
|
+
if (value[0] === value[1]) {
|
|
57
|
+
if (newValue < value[0])
|
|
58
|
+
return 0;
|
|
59
|
+
return 1;
|
|
110
60
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
61
|
+
const distances = value.map((value2) => Math.abs(newValue - value2));
|
|
62
|
+
const minDistance = Math.min(...distances);
|
|
63
|
+
const nearestIndex = distances.indexOf(minDistance);
|
|
64
|
+
return nearestIndex;
|
|
65
|
+
};
|
|
66
|
+
const preventOverlappingValues = (value, newValue, index) => value.length === 2 ? index === 0 ? Math.min(newValue, value[1]) : Math.max(newValue, value[0]) : newValue;
|
|
67
|
+
const parseValueProp = (value, min, max) => {
|
|
68
|
+
if (typeof value === "undefined" || value.length < 1)
|
|
69
|
+
return;
|
|
70
|
+
const a = clampValue(value[0], [min, max]);
|
|
71
|
+
if (value.length === 1)
|
|
72
|
+
return [a];
|
|
73
|
+
const b = clampValue(value[1], [min, max]);
|
|
74
|
+
if (a > b)
|
|
75
|
+
return [a, a];
|
|
76
|
+
return [a, b];
|
|
77
|
+
};
|
|
119
78
|
|
|
120
|
-
export { clampValue,
|
|
79
|
+
export { clampValue, countDecimalPlaces, getMarkStyles, getNearestIndex, getPercentage, getValue, parseValueProp, preventOverlappingValues, roundToStep, setValue };
|
|
121
80
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../src/slider/internal/utils.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../src/slider/internal/utils.ts"],"sourcesContent":["import type { RefObject } from \"react\";\nimport type { SliderChangeHandler, SliderValue, ThumbIndex } from \"../types\";\n\nexport const getValue = (\n trackRef: RefObject<Element>,\n min: number,\n max: number,\n step: number,\n clientX: number,\n) => {\n const { width, x } = trackRef.current!.getBoundingClientRect();\n const localX = clientX - x;\n const normaliseBetweenValues = (localX / width) * (max - min) + min;\n const roundedToStep = roundToStep(normaliseBetweenValues, step);\n const decimals = countDecimalPlaces(step);\n const rounded = Number(roundedToStep.toFixed(decimals));\n const value = clampValue(rounded, [min, max]);\n return value;\n};\n\nexport const setValue = (\n value: SliderValue,\n newValue: number,\n index: ThumbIndex,\n onChange: SliderChangeHandler,\n) => {\n if (value.length === 2) {\n const newValueArray = [...value];\n newValueArray.splice(index, 1, newValue);\n onChange(newValueArray as SliderValue);\n return;\n }\n onChange([newValue]);\n};\n\nexport const roundToStep = (value: number, step: number) =>\n Math.round(value / step) * step;\n\nexport const clampValue = (value: number, [min, max]: number[]) => {\n if (value > max) {\n return max;\n }\n if (value < min) {\n return min;\n }\n return value;\n};\n\nexport const getPercentage = (min: number, max: number, value: number) => {\n const percentage = ((value - min) / (max - min)) * 100;\n return Math.min(Math.max(percentage, 0), 100);\n};\n\nexport const getPercentageDifference = (\n min: number,\n max: number,\n value: number[],\n) => {\n const valueDiff = value[1] - value[0];\n const percentage = ((valueDiff - min) / (max - min)) * 100;\n return `${Math.min(Math.max(percentage, 0), 100)}%`;\n};\n\nexport const getPercentageOffset = (\n min: number,\n max: number,\n value: number[],\n) => {\n const offsetLeft = ((value[0] - min) / (max - min)) * 100;\n return `${Math.min(Math.max(offsetLeft, 0), 100)}%`;\n};\n\nexport const countDecimalPlaces = (num: number) => {\n const parts = num.toString().split(\".\");\n return parts.length > 1 ? parts[1].length : 0;\n};\n\nexport const getMarkStyles = (min: number, max: number, step: number) => {\n const marks = [];\n for (let i = min; i <= max; i = Number((i + step).toPrecision(4))) {\n const value = Number(i.toPrecision(4));\n const position = `${getPercentage(min, max, value)}%`;\n marks.push({ value, position });\n }\n const decimals = Math.max(\n ...marks.map((mark) => countDecimalPlaces(mark.value)),\n );\n return marks.map((mark) => ({\n ...mark,\n label: mark.value.toFixed(decimals),\n }));\n};\n\nexport const getNearestIndex = (value: SliderValue, newValue: number) => {\n if (value.length === 1) return 0;\n\n if (value[0] === value[1]) {\n if (newValue < value[0]) return 0;\n return 1;\n }\n\n const distances = value.map((value) => Math.abs(newValue - value));\n const minDistance = Math.min(...distances);\n const nearestIndex = distances.indexOf(minDistance);\n\n return nearestIndex as ThumbIndex;\n};\n\nexport const preventOverlappingValues = (\n value: SliderValue,\n newValue: number,\n index: ThumbIndex,\n) =>\n value.length === 2\n ? index === 0\n ? Math.min(newValue, value[1])\n : Math.max(newValue, value[0])\n : newValue;\n\nexport const parseValueProp = (\n value: number[] | undefined,\n min: number,\n max: number,\n) => {\n if (typeof value === \"undefined\" || value.length < 1) return;\n const a = clampValue(value[0], [min, max]);\n if (value.length === 1) return [a] as SliderValue;\n const b = clampValue(value[1], [min, max]);\n if (a > b) return [a, a] as SliderValue;\n return [a, b] as SliderValue;\n};\n"],"names":["value"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticList.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { makePrefixer } from '@salt-ds/core';
|
|
3
|
+
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
+
import { useWindow } from '@salt-ds/window';
|
|
5
|
+
import { clsx } from 'clsx';
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import css_248z from './StaticList.css.js';
|
|
8
|
+
|
|
9
|
+
const withBaseName = makePrefixer("saltStaticList");
|
|
10
|
+
const StaticList = forwardRef(
|
|
11
|
+
function StaticList2({ children, className, ...rest }, ref) {
|
|
12
|
+
const targetWindow = useWindow();
|
|
13
|
+
useComponentCssInjection({
|
|
14
|
+
testId: "salt-static-list",
|
|
15
|
+
css: css_248z,
|
|
16
|
+
window: targetWindow
|
|
17
|
+
});
|
|
18
|
+
return /* @__PURE__ */ jsx("ol", {
|
|
19
|
+
className: clsx(withBaseName(), className),
|
|
20
|
+
ref,
|
|
21
|
+
...rest,
|
|
22
|
+
children
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
export { StaticList };
|
|
28
|
+
//# sourceMappingURL=StaticList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticList.js","sources":["../src/static-list/StaticList.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n} from \"react\";\n\nimport staticListCss from \"./StaticList.css\";\n\nconst withBaseName = makePrefixer(\"saltStaticList\");\n\nexport interface StaticListProps extends ComponentPropsWithoutRef<\"ul\"> {\n /**\n * The list items to be rendered within the StaticList.\n */\n children: ReactNode;\n}\n\nexport const StaticList = forwardRef<HTMLOListElement, StaticListProps>(\n function StaticList({ children, className, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-static-list\",\n css: staticListCss,\n window: targetWindow,\n });\n\n return (\n <ol className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {children}\n </ol>\n );\n },\n);\n"],"names":["StaticList","staticListCss"],"mappings":";;;;;;;;AAYA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAS3C,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,SAASA,WAAW,CAAA,EAAE,UAAU,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACzD,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,kBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,MAAG,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,MAC3D,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var css_248z = ".saltStaticListItem {\n list-style-type: none;\n display: flex;\n gap: var(--salt-spacing-100);\n box-sizing: border-box;\n padding: var(--salt-spacing-50) var(--salt-spacing-100);\n min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n}\n\n.saltStaticListItem > .saltIcon {\n /* Workaround to ensure the icon and button are aligned.*/\n min-height: var(--salt-size-base);\n}\n";
|
|
2
|
+
|
|
3
|
+
export { css_248z as default };
|
|
4
|
+
//# sourceMappingURL=StaticListItem.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticListItem.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { makePrefixer } from '@salt-ds/core';
|
|
3
|
+
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
+
import { useWindow } from '@salt-ds/window';
|
|
5
|
+
import { clsx } from 'clsx';
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import css_248z from './StaticListItem.css.js';
|
|
8
|
+
|
|
9
|
+
const withBaseName = makePrefixer("saltStaticListItem");
|
|
10
|
+
const StaticListItem = forwardRef(
|
|
11
|
+
function StaticListItem2(props, ref) {
|
|
12
|
+
const { className, children, ...restProps } = props;
|
|
13
|
+
const targetWindow = useWindow();
|
|
14
|
+
useComponentCssInjection({
|
|
15
|
+
testId: "salt-static-list-item",
|
|
16
|
+
css: css_248z,
|
|
17
|
+
window: targetWindow
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ jsx("li", {
|
|
20
|
+
className: clsx(withBaseName(), className),
|
|
21
|
+
ref,
|
|
22
|
+
...restProps,
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
export { StaticListItem };
|
|
29
|
+
//# sourceMappingURL=StaticListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticListItem.js","sources":["../src/static-list/StaticListItem.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\n\nimport staticListItemCss from \"./StaticListItem.css\";\n\nconst withBaseName = makePrefixer(\"saltStaticListItem\");\n\nexport interface StaticListItemProps extends ComponentPropsWithoutRef<\"li\"> {}\n\nexport const StaticListItem = forwardRef<HTMLLIElement, StaticListItemProps>(\n function StaticListItem(props, ref) {\n const { className, children, ...restProps } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-static-list-item\",\n css: staticListItemCss,\n window: targetWindow,\n });\n\n return (\n <li className={clsx(withBaseName(), className)} ref={ref} {...restProps}>\n {children}\n </li>\n );\n },\n);\n"],"names":["StaticListItem","staticListItemCss"],"mappings":";;;;;;;;AAQA,MAAM,YAAA,GAAe,aAAa,oBAAoB,CAAA,CAAA;AAI/C,MAAM,cAAiB,GAAA,UAAA;AAAA,EAC5B,SAASA,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAA,MAAM,EAAE,SAAA,EAAW,QAAa,EAAA,GAAA,SAAA,EAAc,GAAA,KAAA,CAAA;AAE9C,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,uBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,MAAG,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,SAAA;AAAA,MAC3D,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var css_248z = ".saltStaticListItemContent {\n flex: 1 0;\n margin: var(--salt-spacing-75) 0;\n color: var(--salt-content-primary-foreground);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n font-family: var(--salt-text-fontFamily);\n line-height: var(--salt-text-lineHeight);\n letter-spacing: var(--salt-text-letterSpacing);\n}\n";
|
|
2
|
+
|
|
3
|
+
export { css_248z as default };
|
|
4
|
+
//# sourceMappingURL=StaticListItemContent.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticListItemContent.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { makePrefixer } from '@salt-ds/core';
|
|
3
|
+
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
+
import { useWindow } from '@salt-ds/window';
|
|
5
|
+
import { clsx } from 'clsx';
|
|
6
|
+
import { forwardRef } from 'react';
|
|
7
|
+
import css_248z from './StaticListItemContent.css.js';
|
|
8
|
+
|
|
9
|
+
const withBaseName = makePrefixer("saltStaticListItemContent");
|
|
10
|
+
const StaticListItemContent = forwardRef(function StaticListItemContent2({ children, className, ...restProps }, ref) {
|
|
11
|
+
const targetWindow = useWindow();
|
|
12
|
+
useComponentCssInjection({
|
|
13
|
+
testId: "salt-static-list-item-content",
|
|
14
|
+
css: css_248z,
|
|
15
|
+
window: targetWindow
|
|
16
|
+
});
|
|
17
|
+
return /* @__PURE__ */ jsx("div", {
|
|
18
|
+
className: clsx(withBaseName(), className),
|
|
19
|
+
...restProps,
|
|
20
|
+
ref,
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { StaticListItemContent };
|
|
26
|
+
//# sourceMappingURL=StaticListItemContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticListItemContent.js","sources":["../src/static-list/StaticListItemContent.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type ForwardedRef,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport staticListItemContent from \"./StaticListItemContent.css\";\n\nconst withBaseName = makePrefixer(\"saltStaticListItemContent\");\n\nexport interface StaticListItemContentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content of Static List Item\n */\n children?: ReactNode;\n}\n\nexport const StaticListItemContent = forwardRef<\n HTMLDivElement,\n StaticListItemContentProps\n>(function StaticListItemContent({ children, className, ...restProps }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-static-list-item-content\",\n css: staticListItemContent,\n window: targetWindow,\n });\n\n return (\n <div className={clsx(withBaseName(), className)} {...restProps} ref={ref}>\n {children}\n </div>\n );\n});\n"],"names":["StaticListItemContent","staticListItemContent"],"mappings":";;;;;;;;AAYA,MAAM,YAAA,GAAe,aAAa,2BAA2B,CAAA,CAAA;AAUhD,MAAA,qBAAA,GAAwB,WAGnC,SAASA,sBAAAA,CAAsB,EAAE,QAAU,EAAA,SAAA,EAAA,GAAc,SAAU,EAAA,EAAG,GAAK,EAAA;AAC3E,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,+BAAA;AAAA,IACR,GAAK,EAAAC,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAW,EAAA,IAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAI,GAAG,SAAA;AAAA,IAAW,GAAA;AAAA,IAC7D,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { makePrefixer } from '@salt-ds/core';
|
|
3
|
-
import { StepDefaultIcon, StepActiveIcon, StepSuccessIcon, WarningSolidIcon, ErrorSolidIcon } from '@salt-ds/icons';
|
|
2
|
+
import { makePrefixer, useIcon } from '@salt-ds/core';
|
|
4
3
|
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
5
4
|
import { useWindow } from '@salt-ds/window';
|
|
6
5
|
import { clsx } from 'clsx';
|
|
@@ -10,13 +9,6 @@ import { useSteppedTrackerContext, useTrackerStepContext } from '../SteppedTrack
|
|
|
10
9
|
import css_248z from './TrackerStep.css.js';
|
|
11
10
|
|
|
12
11
|
const withBaseName = makePrefixer("saltTrackerStep");
|
|
13
|
-
const iconMap = {
|
|
14
|
-
pending: StepDefaultIcon,
|
|
15
|
-
active: StepActiveIcon,
|
|
16
|
-
completed: StepSuccessIcon,
|
|
17
|
-
warning: WarningSolidIcon,
|
|
18
|
-
error: ErrorSolidIcon
|
|
19
|
-
};
|
|
20
12
|
const useCheckWithinSteppedTracker = (isWithinSteppedTracker) => {
|
|
21
13
|
useEffect(() => {
|
|
22
14
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -57,11 +49,19 @@ const TrackerStep = forwardRef(
|
|
|
57
49
|
css: css_248z,
|
|
58
50
|
window: targetWindow
|
|
59
51
|
});
|
|
52
|
+
const { ErrorIcon, WarningIcon, CompletedIcon, ActiveIcon, PendingIcon } = useIcon();
|
|
60
53
|
const { activeStep, totalSteps, isWithinSteppedTracker } = useSteppedTrackerContext();
|
|
61
54
|
const stepNumber = useTrackerStepContext();
|
|
62
55
|
useCheckWithinSteppedTracker(isWithinSteppedTracker);
|
|
63
56
|
const isActive = activeStep === stepNumber;
|
|
64
57
|
const iconName = parseIconName({ stage, status, active: isActive });
|
|
58
|
+
const iconMap = {
|
|
59
|
+
pending: PendingIcon,
|
|
60
|
+
active: ActiveIcon,
|
|
61
|
+
completed: CompletedIcon,
|
|
62
|
+
warning: WarningIcon,
|
|
63
|
+
error: ErrorIcon
|
|
64
|
+
};
|
|
65
65
|
const Icon = iconMap[iconName];
|
|
66
66
|
const connectorState = activeStep > stepNumber ? "active" : "default";
|
|
67
67
|
const hasConnector = stepNumber < totalSteps - 1;
|