@gravity-ui/date-components 2.11.0 → 2.12.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/dist/cjs/components/Calendar/Calendar.d.ts +4 -4
- package/dist/cjs/components/Calendar/Calendar.js +5 -6
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -0
- package/dist/cjs/components/Calendar/index.d.ts +8 -8
- package/dist/cjs/components/Calendar/index.js +9 -21
- package/dist/cjs/components/Calendar/index.js.map +1 -0
- package/dist/cjs/components/CalendarView/Calendar.css +2 -1
- package/dist/cjs/components/CalendarView/Calendar.css.map +1 -0
- package/dist/cjs/components/CalendarView/CalendarView.d.ts +4 -4
- package/dist/cjs/components/CalendarView/CalendarView.js +9 -10
- package/dist/cjs/components/CalendarView/CalendarView.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/types.d.ts +1 -1
- package/dist/cjs/components/CalendarView/hooks/types.js +1 -0
- package/dist/cjs/components/CalendarView/hooks/types.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.d.ts +1 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js +4 -5
- package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.d.ts +1 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/useCalendarProps.d.ts +2 -2
- package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js +5 -6
- package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/useCalendarState.d.ts +3 -3
- package/dist/cjs/components/CalendarView/hooks/useCalendarState.js +6 -7
- package/dist/cjs/components/CalendarView/hooks/useCalendarState.js.map +1 -0
- package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.d.ts +4 -4
- package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js +4 -3
- package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -0
- package/dist/cjs/components/CalendarView/i18n/index.js +5 -6
- package/dist/cjs/components/CalendarView/i18n/index.js.map +1 -0
- package/dist/cjs/components/CalendarView/utils.d.ts +1 -1
- package/dist/cjs/components/CalendarView/utils.js +1 -0
- package/dist/cjs/components/CalendarView/utils.js.map +1 -0
- package/dist/cjs/components/DateField/DateField.css +2 -1
- package/dist/cjs/components/DateField/DateField.css.map +1 -0
- package/dist/cjs/components/DateField/DateField.d.ts +2 -2
- package/dist/cjs/components/DateField/DateField.js +5 -4
- package/dist/cjs/components/DateField/DateField.js.map +1 -0
- package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.d.ts +13 -4
- package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js +11 -21
- package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
- package/dist/cjs/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
- package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +4 -5
- package/dist/cjs/components/DateField/hooks/useDateFieldProps.js.map +1 -0
- package/dist/cjs/components/DateField/hooks/useDateFieldState.d.ts +2 -2
- package/dist/cjs/components/DateField/hooks/useDateFieldState.js +12 -19
- package/dist/cjs/components/DateField/hooks/useDateFieldState.js.map +1 -0
- package/dist/cjs/components/DateField/i18n/en.json +1 -0
- package/dist/cjs/components/DateField/i18n/index.d.ts +1 -1
- package/dist/cjs/components/DateField/i18n/index.js +5 -6
- package/dist/cjs/components/DateField/i18n/index.js.map +1 -0
- package/dist/cjs/components/DateField/i18n/ru.json +1 -0
- package/dist/cjs/components/DateField/index.d.ts +4 -4
- package/dist/cjs/components/DateField/index.js +6 -18
- package/dist/cjs/components/DateField/index.js.map +1 -0
- package/dist/cjs/components/DateField/types.d.ts +9 -1
- package/dist/cjs/components/DateField/types.js +1 -0
- package/dist/cjs/components/DateField/types.js.map +1 -0
- package/dist/cjs/components/DateField/utils.d.ts +22 -6
- package/dist/cjs/components/DateField/utils.js +88 -6
- package/dist/cjs/components/DateField/utils.js.map +1 -0
- package/dist/cjs/components/DatePicker/DatePicker.css +2 -1
- package/dist/cjs/components/DatePicker/DatePicker.css.map +1 -0
- package/dist/cjs/components/DatePicker/DatePicker.d.ts +4 -4
- package/dist/cjs/components/DatePicker/DatePicker.js +11 -10
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/cjs/components/DatePicker/MobileCalendar.css +2 -1
- package/dist/cjs/components/DatePicker/MobileCalendar.css.map +1 -0
- package/dist/cjs/components/DatePicker/MobileCalendar.d.ts +3 -3
- package/dist/cjs/components/DatePicker/MobileCalendar.js +7 -6
- package/dist/cjs/components/DatePicker/MobileCalendar.js.map +1 -0
- package/dist/cjs/components/DatePicker/StubButton.css +2 -1
- package/dist/cjs/components/DatePicker/StubButton.css.map +1 -0
- package/dist/cjs/components/DatePicker/StubButton.d.ts +1 -1
- package/dist/cjs/components/DatePicker/StubButton.js +2 -1
- package/dist/cjs/components/DatePicker/StubButton.js.map +1 -0
- package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.d.ts +15 -5
- package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js +21 -20
- package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
- package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.d.ts +5 -5
- package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +10 -7
- package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
- package/dist/cjs/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
- package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js +8 -5
- package/dist/cjs/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
- package/dist/cjs/components/DatePicker/i18n/index.js +5 -6
- package/dist/cjs/components/DatePicker/i18n/index.js.map +1 -0
- package/dist/cjs/components/DatePicker/index.d.ts +3 -3
- package/dist/cjs/components/DatePicker/index.js +5 -17
- package/dist/cjs/components/DatePicker/index.js.map +1 -0
- package/dist/cjs/components/DatePicker/utils/cn.js +2 -1
- package/dist/cjs/components/DatePicker/utils/cn.js.map +1 -0
- package/dist/cjs/components/DatePicker/utils/getCalendarModes.d.ts +5 -0
- package/dist/cjs/components/DatePicker/utils/getCalendarModes.js +21 -0
- package/dist/cjs/components/DatePicker/utils/getCalendarModes.js.map +1 -0
- package/dist/cjs/components/DatePicker/utils/getDateTimeValue.d.ts +1 -1
- package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js +1 -0
- package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js.map +1 -0
- package/dist/cjs/components/DatePicker/utils/index.d.ts +3 -2
- package/dist/cjs/components/DatePicker/utils/index.js +5 -16
- package/dist/cjs/components/DatePicker/utils/index.js.map +1 -0
- package/dist/cjs/components/HiddenInput/HiddenInput.js +3 -4
- package/dist/cjs/components/HiddenInput/HiddenInput.js.map +1 -0
- package/dist/cjs/components/RangeCalendar/RangeCalendar.d.ts +4 -4
- package/dist/cjs/components/RangeCalendar/RangeCalendar.js +5 -6
- package/dist/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -0
- package/dist/cjs/components/RangeCalendar/index.d.ts +1 -1
- package/dist/cjs/components/RangeCalendar/index.js +3 -15
- package/dist/cjs/components/RangeCalendar/index.js.map +1 -0
- package/dist/cjs/components/RangeDateField/RangeDateField.css +2 -1
- package/dist/cjs/components/RangeDateField/RangeDateField.css.map +1 -0
- package/dist/cjs/components/RangeDateField/RangeDateField.d.ts +3 -3
- package/dist/cjs/components/RangeDateField/RangeDateField.js +5 -4
- package/dist/cjs/components/RangeDateField/RangeDateField.js.map +1 -0
- package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +3 -3
- package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +16 -25
- package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -0
- package/dist/cjs/components/RangeDateField/index.d.ts +2 -2
- package/dist/cjs/components/RangeDateField/index.js +4 -16
- package/dist/cjs/components/RangeDateField/index.js.map +1 -0
- package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +1 -1
- package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js +3 -2
- package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js.map +1 -0
- package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.d.ts +4 -4
- package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js +2 -1
- package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js.map +1 -0
- package/dist/cjs/components/RangeDateField/utils/index.d.ts +3 -3
- package/dist/cjs/components/RangeDateField/utils/index.js +5 -17
- package/dist/cjs/components/RangeDateField/utils/index.js.map +1 -0
- package/dist/cjs/components/RangeDateField/utils/isValidRange.d.ts +1 -1
- package/dist/cjs/components/RangeDateField/utils/isValidRange.js +1 -0
- package/dist/cjs/components/RangeDateField/utils/isValidRange.js.map +1 -0
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css +2 -1
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css.map +1 -0
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.d.ts +3 -3
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js +10 -9
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js.map +1 -0
- package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.d.ts +7 -4
- package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js +15 -7
- package/dist/cjs/components/RangeDatePicker/hooks/useRangeDatePickerState.js.map +1 -0
- package/dist/cjs/components/RangeDatePicker/index.d.ts +2 -2
- package/dist/cjs/components/RangeDatePicker/index.js +4 -16
- package/dist/cjs/components/RangeDatePicker/index.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css +2 -1
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css.map +1 -0
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.d.ts +4 -4
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js +9 -10
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css +2 -1
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.d.ts +1 -1
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js +6 -7
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.d.ts +2 -2
- package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js +12 -13
- package/dist/cjs/components/RangeDateSelection/components/Ruler/Ruler.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css +2 -1
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.d.ts +2 -2
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js +5 -6
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -1
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts +3 -3
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +6 -5
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js +3 -2
- package/dist/cjs/components/RangeDateSelection/components/Ticks/MiddleTicks.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js +3 -2
- package/dist/cjs/components/RangeDateSelection/components/Ticks/SlitTicks.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css +2 -1
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.d.ts +3 -3
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js +7 -8
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.d.ts +3 -3
- package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +6 -7
- package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.d.ts +1 -1
- package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js +3 -2
- package/dist/cjs/components/RangeDateSelection/components/Ticks/utils.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +1 -1
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +7 -8
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/i18n/index.js +5 -6
- package/dist/cjs/components/RangeDateSelection/i18n/index.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/index.d.ts +3 -3
- package/dist/cjs/components/RangeDateSelection/index.js +4 -16
- package/dist/cjs/components/RangeDateSelection/index.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/utils/date.js +2 -1
- package/dist/cjs/components/RangeDateSelection/utils/date.js.map +1 -0
- package/dist/cjs/components/RangeDateSelection/utils/span.js +1 -0
- package/dist/cjs/components/RangeDateSelection/utils/span.js.map +1 -0
- package/dist/cjs/components/RelativeDateField/RelativeDateField.css +2 -1
- package/dist/cjs/components/RelativeDateField/RelativeDateField.css.map +1 -0
- package/dist/cjs/components/RelativeDateField/RelativeDateField.d.ts +3 -3
- package/dist/cjs/components/RelativeDateField/RelativeDateField.js +9 -10
- package/dist/cjs/components/RelativeDateField/RelativeDateField.js.map +1 -0
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +3 -4
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js +3 -4
- package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
- package/dist/cjs/components/RelativeDateField/index.d.ts +3 -3
- package/dist/cjs/components/RelativeDateField/index.js +5 -17
- package/dist/cjs/components/RelativeDateField/index.js.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js +13 -14
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +4 -4
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +10 -6
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +16 -9
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeDatePicker/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeDatePicker/index.d.ts +3 -3
- package/dist/cjs/components/RelativeDatePicker/index.js +5 -17
- package/dist/cjs/components/RelativeDatePicker/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +8 -9
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js +7 -8
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +6 -5
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +10 -9
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +5 -5
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +3 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +6 -7
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +2 -2
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +6 -7
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +4 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js +5 -6
- package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/index.d.ts +9 -9
- package/dist/cjs/components/RelativeRangeDatePicker/index.js +8 -20
- package/dist/cjs/components/RelativeRangeDatePicker/index.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/types.d.ts +5 -5
- package/dist/cjs/components/RelativeRangeDatePicker/types.js +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/types.js.map +1 -0
- package/dist/cjs/components/RelativeRangeDatePicker/utils.d.ts +3 -3
- package/dist/cjs/components/RelativeRangeDatePicker/utils.js +2 -1
- package/dist/cjs/components/RelativeRangeDatePicker/utils.js.map +1 -0
- package/dist/cjs/components/index.d.ts +11 -11
- package/dist/cjs/components/index.js +12 -24
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/components/mixins.css +2 -0
- package/dist/cjs/components/mixins.css.map +1 -0
- package/dist/cjs/components/types/datePicker.d.ts +1 -1
- package/dist/cjs/components/types/datePicker.js +1 -0
- package/dist/cjs/components/types/datePicker.js.map +1 -0
- package/dist/cjs/components/types/events.js +1 -0
- package/dist/cjs/components/types/events.js.map +1 -0
- package/dist/cjs/components/types/index.d.ts +4 -4
- package/dist/cjs/components/types/index.js +1 -0
- package/dist/cjs/components/types/index.js.map +1 -0
- package/dist/cjs/components/types/inputs.js +1 -0
- package/dist/cjs/components/types/inputs.js.map +1 -0
- package/dist/cjs/components/types/style.js +1 -0
- package/dist/cjs/components/types/style.js.map +1 -0
- package/dist/cjs/components/utils/constants.js +1 -0
- package/dist/cjs/components/utils/constants.js.map +1 -0
- package/dist/cjs/components/utils/dates.js +2 -1
- package/dist/cjs/components/utils/dates.js.map +1 -0
- package/dist/cjs/components/utils/filterDOMProps.d.ts +1 -1
- package/dist/cjs/components/utils/filterDOMProps.js +1 -0
- package/dist/cjs/components/utils/filterDOMProps.js.map +1 -0
- package/dist/cjs/components/utils/getButtonSizeForInput.js +1 -0
- package/dist/cjs/components/utils/getButtonSizeForInput.js.map +1 -0
- package/dist/cjs/components/utils/mergeProps.js +1 -0
- package/dist/cjs/components/utils/mergeProps.js.map +1 -0
- package/dist/cjs/components/utils/useDefaultTimeZone.js +3 -4
- package/dist/cjs/components/utils/useDefaultTimeZone.js.map +1 -0
- package/dist/cjs/components/utils/validation/datePicker.js +2 -1
- package/dist/cjs/components/utils/validation/datePicker.js.map +1 -0
- package/dist/cjs/components/utils/validation/i18n/index.js +5 -6
- package/dist/cjs/components/utils/validation/i18n/index.js.map +1 -0
- package/dist/cjs/components/variables.css +2 -0
- package/dist/cjs/components/variables.css.map +1 -0
- package/dist/cjs/hooks/useEventHandler.js +3 -4
- package/dist/cjs/hooks/useEventHandler.js.map +1 -0
- package/dist/cjs/hooks/useMove.js +4 -5
- package/dist/cjs/hooks/useMove.js.map +1 -0
- package/dist/cjs/hooks/useResizeObserver.js +3 -4
- package/dist/cjs/hooks/useResizeObserver.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +3 -15
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/utils/cn.js +1 -0
- package/dist/cjs/utils/cn.js.map +1 -0
- package/dist/esm/components/Calendar/Calendar.d.ts +4 -4
- package/dist/esm/components/Calendar/Calendar.js +4 -3
- package/dist/esm/components/Calendar/Calendar.js.map +1 -0
- package/dist/esm/components/Calendar/index.d.ts +8 -8
- package/dist/esm/components/Calendar/index.js +8 -7
- package/dist/esm/components/Calendar/index.js.map +1 -0
- package/dist/esm/components/CalendarView/Calendar.css +2 -1
- package/dist/esm/components/CalendarView/Calendar.css.map +1 -0
- package/dist/esm/components/CalendarView/CalendarView.d.ts +4 -4
- package/dist/esm/components/CalendarView/CalendarView.js +8 -7
- package/dist/esm/components/CalendarView/CalendarView.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/types.d.ts +1 -1
- package/dist/esm/components/CalendarView/hooks/types.js +1 -0
- package/dist/esm/components/CalendarView/hooks/types.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.d.ts +1 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js +2 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.d.ts +1 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/useCalendarProps.d.ts +2 -2
- package/dist/esm/components/CalendarView/hooks/useCalendarProps.js +3 -2
- package/dist/esm/components/CalendarView/hooks/useCalendarProps.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/useCalendarState.d.ts +3 -3
- package/dist/esm/components/CalendarView/hooks/useCalendarState.js +4 -3
- package/dist/esm/components/CalendarView/hooks/useCalendarState.js.map +1 -0
- package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.d.ts +4 -4
- package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js +4 -3
- package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -0
- package/dist/esm/components/CalendarView/i18n/index.js +4 -3
- package/dist/esm/components/CalendarView/i18n/index.js.map +1 -0
- package/dist/esm/components/CalendarView/utils.d.ts +1 -1
- package/dist/esm/components/CalendarView/utils.js +1 -0
- package/dist/esm/components/CalendarView/utils.js.map +1 -0
- package/dist/esm/components/DateField/DateField.css +2 -1
- package/dist/esm/components/DateField/DateField.css.map +1 -0
- package/dist/esm/components/DateField/DateField.d.ts +2 -2
- package/dist/esm/components/DateField/DateField.js +6 -5
- package/dist/esm/components/DateField/DateField.js.map +1 -0
- package/dist/esm/components/DateField/hooks/useBaseDateFieldState.d.ts +13 -4
- package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js +9 -17
- package/dist/esm/components/DateField/hooks/useBaseDateFieldState.js.map +1 -0
- package/dist/esm/components/DateField/hooks/useDateFieldProps.d.ts +2 -2
- package/dist/esm/components/DateField/hooks/useDateFieldProps.js +2 -1
- package/dist/esm/components/DateField/hooks/useDateFieldProps.js.map +1 -0
- package/dist/esm/components/DateField/hooks/useDateFieldState.d.ts +2 -2
- package/dist/esm/components/DateField/hooks/useDateFieldState.js +10 -15
- package/dist/esm/components/DateField/hooks/useDateFieldState.js.map +1 -0
- package/dist/esm/components/DateField/i18n/en.json +1 -0
- package/dist/esm/components/DateField/i18n/index.d.ts +1 -1
- package/dist/esm/components/DateField/i18n/index.js +4 -3
- package/dist/esm/components/DateField/i18n/index.js.map +1 -0
- package/dist/esm/components/DateField/i18n/ru.json +1 -0
- package/dist/esm/components/DateField/index.d.ts +4 -4
- package/dist/esm/components/DateField/index.js +5 -4
- package/dist/esm/components/DateField/index.js.map +1 -0
- package/dist/esm/components/DateField/types.d.ts +9 -1
- package/dist/esm/components/DateField/types.js +1 -0
- package/dist/esm/components/DateField/types.js.map +1 -0
- package/dist/esm/components/DateField/utils.d.ts +22 -6
- package/dist/esm/components/DateField/utils.js +83 -2
- package/dist/esm/components/DateField/utils.js.map +1 -0
- package/dist/esm/components/DatePicker/DatePicker.css +2 -1
- package/dist/esm/components/DatePicker/DatePicker.css.map +1 -0
- package/dist/esm/components/DatePicker/DatePicker.d.ts +4 -4
- package/dist/esm/components/DatePicker/DatePicker.js +12 -11
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/MobileCalendar.css +2 -1
- package/dist/esm/components/DatePicker/MobileCalendar.css.map +1 -0
- package/dist/esm/components/DatePicker/MobileCalendar.d.ts +3 -3
- package/dist/esm/components/DatePicker/MobileCalendar.js +8 -7
- package/dist/esm/components/DatePicker/MobileCalendar.js.map +1 -0
- package/dist/esm/components/DatePicker/StubButton.css +2 -1
- package/dist/esm/components/DatePicker/StubButton.css.map +1 -0
- package/dist/esm/components/DatePicker/StubButton.d.ts +1 -1
- package/dist/esm/components/DatePicker/StubButton.js +3 -2
- package/dist/esm/components/DatePicker/StubButton.js.map +1 -0
- package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.d.ts +15 -5
- package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js +19 -16
- package/dist/esm/components/DatePicker/hooks/datePickerStateFactory.js.map +1 -0
- package/dist/esm/components/DatePicker/hooks/useDatePickerProps.d.ts +5 -5
- package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +10 -7
- package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js.map +1 -0
- package/dist/esm/components/DatePicker/hooks/useDatePickerState.d.ts +3 -3
- package/dist/esm/components/DatePicker/hooks/useDatePickerState.js +7 -4
- package/dist/esm/components/DatePicker/hooks/useDatePickerState.js.map +1 -0
- package/dist/esm/components/DatePicker/i18n/index.js +4 -3
- package/dist/esm/components/DatePicker/i18n/index.js.map +1 -0
- package/dist/esm/components/DatePicker/index.d.ts +3 -3
- package/dist/esm/components/DatePicker/index.js +4 -3
- package/dist/esm/components/DatePicker/index.js.map +1 -0
- package/dist/esm/components/DatePicker/utils/cn.js +2 -1
- package/dist/esm/components/DatePicker/utils/cn.js.map +1 -0
- package/dist/esm/components/DatePicker/utils/getCalendarModes.d.ts +5 -0
- package/dist/esm/components/DatePicker/utils/getCalendarModes.js +18 -0
- package/dist/esm/components/DatePicker/utils/getCalendarModes.js.map +1 -0
- package/dist/esm/components/DatePicker/utils/getDateTimeValue.d.ts +1 -1
- package/dist/esm/components/DatePicker/utils/getDateTimeValue.js +1 -0
- package/dist/esm/components/DatePicker/utils/getDateTimeValue.js.map +1 -0
- package/dist/esm/components/DatePicker/utils/index.d.ts +3 -2
- package/dist/esm/components/DatePicker/utils/index.js +4 -2
- package/dist/esm/components/DatePicker/utils/index.js.map +1 -0
- package/dist/esm/components/HiddenInput/HiddenInput.js +1 -0
- package/dist/esm/components/HiddenInput/HiddenInput.js.map +1 -0
- package/dist/esm/components/RangeCalendar/RangeCalendar.d.ts +4 -4
- package/dist/esm/components/RangeCalendar/RangeCalendar.js +4 -3
- package/dist/esm/components/RangeCalendar/RangeCalendar.js.map +1 -0
- package/dist/esm/components/RangeCalendar/index.d.ts +1 -1
- package/dist/esm/components/RangeCalendar/index.js +2 -1
- package/dist/esm/components/RangeCalendar/index.js.map +1 -0
- package/dist/esm/components/RangeDateField/RangeDateField.css +2 -1
- package/dist/esm/components/RangeDateField/RangeDateField.css.map +1 -0
- package/dist/esm/components/RangeDateField/RangeDateField.d.ts +3 -3
- package/dist/esm/components/RangeDateField/RangeDateField.js +6 -5
- package/dist/esm/components/RangeDateField/RangeDateField.js.map +1 -0
- package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.d.ts +3 -3
- package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js +14 -21
- package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -0
- package/dist/esm/components/RangeDateField/index.d.ts +2 -2
- package/dist/esm/components/RangeDateField/index.js +3 -2
- package/dist/esm/components/RangeDateField/index.js.map +1 -0
- package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.d.ts +1 -1
- package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.js +3 -2
- package/dist/esm/components/RangeDateField/utils/createPlaceholderRangeValue.js.map +1 -0
- package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.d.ts +4 -4
- package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.js +2 -1
- package/dist/esm/components/RangeDateField/utils/getRangeEditableSections.js.map +1 -0
- package/dist/esm/components/RangeDateField/utils/index.d.ts +3 -3
- package/dist/esm/components/RangeDateField/utils/index.js +4 -3
- package/dist/esm/components/RangeDateField/utils/index.js.map +1 -0
- package/dist/esm/components/RangeDateField/utils/isValidRange.d.ts +1 -1
- package/dist/esm/components/RangeDateField/utils/isValidRange.js +1 -0
- package/dist/esm/components/RangeDateField/utils/isValidRange.js.map +1 -0
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.css +2 -1
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.css.map +1 -0
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.d.ts +3 -3
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.js +11 -10
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.js.map +1 -0
- package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.d.ts +7 -4
- package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.js +14 -6
- package/dist/esm/components/RangeDatePicker/hooks/useRangeDatePickerState.js.map +1 -0
- package/dist/esm/components/RangeDatePicker/index.d.ts +2 -2
- package/dist/esm/components/RangeDatePicker/index.js +3 -2
- package/dist/esm/components/RangeDatePicker/index.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.css +2 -1
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.css.map +1 -0
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.d.ts +4 -4
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.js +8 -7
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.css +2 -1
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.d.ts +1 -1
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.js +5 -4
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.d.ts +2 -2
- package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.js +9 -8
- package/dist/esm/components/RangeDateSelection/components/Ruler/Ruler.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.css +2 -1
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.d.ts +2 -2
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.js +4 -3
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -1
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts +3 -3
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +7 -6
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/MiddleTicks.js +3 -2
- package/dist/esm/components/RangeDateSelection/components/Ticks/MiddleTicks.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/SlitTicks.js +3 -2
- package/dist/esm/components/RangeDateSelection/components/Ticks/SlitTicks.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.css +2 -1
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.d.ts +3 -3
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.js +6 -5
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.d.ts +3 -3
- package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +5 -4
- package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/components/Ticks/utils.d.ts +1 -1
- package/dist/esm/components/RangeDateSelection/components/Ticks/utils.js +3 -2
- package/dist/esm/components/RangeDateSelection/components/Ticks/utils.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +1 -1
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +5 -4
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/i18n/index.js +4 -3
- package/dist/esm/components/RangeDateSelection/i18n/index.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/index.d.ts +3 -3
- package/dist/esm/components/RangeDateSelection/index.js +3 -2
- package/dist/esm/components/RangeDateSelection/index.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/utils/date.js +2 -1
- package/dist/esm/components/RangeDateSelection/utils/date.js.map +1 -0
- package/dist/esm/components/RangeDateSelection/utils/span.js +1 -0
- package/dist/esm/components/RangeDateSelection/utils/span.js.map +1 -0
- package/dist/esm/components/RelativeDateField/RelativeDateField.css +2 -1
- package/dist/esm/components/RelativeDateField/RelativeDateField.css.map +1 -0
- package/dist/esm/components/RelativeDateField/RelativeDateField.d.ts +3 -3
- package/dist/esm/components/RelativeDateField/RelativeDateField.js +8 -7
- package/dist/esm/components/RelativeDateField/RelativeDateField.js.map +1 -0
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.d.ts +4 -4
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +1 -0
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldProps.js.map +1 -0
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.d.ts +1 -1
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js +1 -0
- package/dist/esm/components/RelativeDateField/hooks/useRelativeDateFieldState.js.map +1 -0
- package/dist/esm/components/RelativeDateField/index.d.ts +3 -3
- package/dist/esm/components/RelativeDateField/index.js +4 -3
- package/dist/esm/components/RelativeDateField/index.js.map +1 -0
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css +2 -1
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -0
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.d.ts +4 -4
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js +12 -11
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.js.map +1 -0
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.d.ts +4 -4
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +10 -6
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -0
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.d.ts +3 -3
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +14 -5
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js.map +1 -0
- package/dist/esm/components/RelativeDatePicker/i18n/index.js +4 -3
- package/dist/esm/components/RelativeDatePicker/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeDatePicker/index.d.ts +3 -3
- package/dist/esm/components/RelativeDatePicker/index.js +4 -3
- package/dist/esm/components/RelativeDatePicker/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.d.ts +2 -2
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +7 -6
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.d.ts +3 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js +6 -5
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +6 -5
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +11 -10
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.d.ts +5 -5
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +3 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.d.ts +3 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +5 -4
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.d.ts +2 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +5 -4
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +3 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.d.ts +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js +5 -4
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +2 -2
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +3 -2
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/i18n/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/index.d.ts +9 -9
- package/dist/esm/components/RelativeRangeDatePicker/index.js +7 -6
- package/dist/esm/components/RelativeRangeDatePicker/index.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/types.d.ts +5 -5
- package/dist/esm/components/RelativeRangeDatePicker/types.js +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/types.js.map +1 -0
- package/dist/esm/components/RelativeRangeDatePicker/utils.d.ts +3 -3
- package/dist/esm/components/RelativeRangeDatePicker/utils.js +2 -1
- package/dist/esm/components/RelativeRangeDatePicker/utils.js.map +1 -0
- package/dist/esm/components/index.d.ts +11 -11
- package/dist/esm/components/index.js +11 -10
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/components/mixins.css +2 -0
- package/dist/esm/components/mixins.css.map +1 -0
- package/dist/esm/components/types/datePicker.d.ts +1 -1
- package/dist/esm/components/types/datePicker.js +1 -0
- package/dist/esm/components/types/datePicker.js.map +1 -0
- package/dist/esm/components/types/events.js +1 -0
- package/dist/esm/components/types/events.js.map +1 -0
- package/dist/esm/components/types/index.d.ts +4 -4
- package/dist/esm/components/types/index.js +1 -0
- package/dist/esm/components/types/index.js.map +1 -0
- package/dist/esm/components/types/inputs.js +1 -0
- package/dist/esm/components/types/inputs.js.map +1 -0
- package/dist/esm/components/types/style.js +1 -0
- package/dist/esm/components/types/style.js.map +1 -0
- package/dist/esm/components/utils/constants.js +1 -0
- package/dist/esm/components/utils/constants.js.map +1 -0
- package/dist/esm/components/utils/dates.js +2 -1
- package/dist/esm/components/utils/dates.js.map +1 -0
- package/dist/esm/components/utils/filterDOMProps.d.ts +1 -1
- package/dist/esm/components/utils/filterDOMProps.js +1 -0
- package/dist/esm/components/utils/filterDOMProps.js.map +1 -0
- package/dist/esm/components/utils/getButtonSizeForInput.js +1 -0
- package/dist/esm/components/utils/getButtonSizeForInput.js.map +1 -0
- package/dist/esm/components/utils/mergeProps.js +1 -0
- package/dist/esm/components/utils/mergeProps.js.map +1 -0
- package/dist/esm/components/utils/useDefaultTimeZone.js +1 -0
- package/dist/esm/components/utils/useDefaultTimeZone.js.map +1 -0
- package/dist/esm/components/utils/validation/datePicker.js +2 -1
- package/dist/esm/components/utils/validation/datePicker.js.map +1 -0
- package/dist/esm/components/utils/validation/i18n/index.js +4 -3
- package/dist/esm/components/utils/validation/i18n/index.js.map +1 -0
- package/dist/esm/components/variables.css +2 -0
- package/dist/esm/components/variables.css.map +1 -0
- package/dist/esm/hooks/useEventHandler.js +1 -0
- package/dist/esm/hooks/useEventHandler.js.map +1 -0
- package/dist/esm/hooks/useMove.js +2 -1
- package/dist/esm/hooks/useMove.js.map +1 -0
- package/dist/esm/hooks/useResizeObserver.js +1 -0
- package/dist/esm/hooks/useResizeObserver.js.map +1 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/utils/cn.js +1 -0
- package/dist/esm/utils/cn.js.map +1 -0
- package/package.json +38 -34
|
@@ -3,13 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Minus, Plus } from '@gravity-ui/icons';
|
|
5
5
|
import { Button, Icon } from '@gravity-ui/uikit';
|
|
6
|
-
import { block } from
|
|
7
|
-
import { filterDOMProps } from
|
|
8
|
-
import { DateTimeRuler } from
|
|
9
|
-
import { SelectionControl } from
|
|
10
|
-
import { useRangeDateSelectionState } from
|
|
11
|
-
import { i18n } from
|
|
12
|
-
import
|
|
6
|
+
import { block } from "../../utils/cn.js";
|
|
7
|
+
import { filterDOMProps } from "../utils/filterDOMProps.js";
|
|
8
|
+
import { DateTimeRuler } from "./components/Ruler/Ruler.js";
|
|
9
|
+
import { SelectionControl } from "./components/SelectionControl/SelectionControl.js";
|
|
10
|
+
import { useRangeDateSelectionState } from "./hooks/useRangeDateSelectionState.js";
|
|
11
|
+
import { i18n } from "./i18n/index.js";
|
|
12
|
+
import "./RangeDateSelection.css";
|
|
13
13
|
const b = block('range-date-selection');
|
|
14
14
|
export function RangeDateSelection(props) {
|
|
15
15
|
var _a, _b;
|
|
@@ -41,3 +41,4 @@ export function RangeDateSelection(props) {
|
|
|
41
41
|
state.endDragging();
|
|
42
42
|
}, extraProps: { 'aria-label': i18n('Increase range') }, children: _jsx(Icon, { data: Plus }) })] })) : null] })));
|
|
43
43
|
}
|
|
44
|
+
//# sourceMappingURL=RangeDateSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeDateSelection.js","sourceRoot":"../../../../src","sources":["components/RangeDateSelection/RangeDateSelection.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {Minus, Plus} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\nimport type {AccessibilityProps, DomProps, StyleProps} from '../types';\nimport {filterDOMProps} from '../utils/filterDOMProps';\n\nimport {DateTimeRuler} from './components/Ruler/Ruler';\nimport type {ViewportDimensions, ViewportInterval} from './components/Ruler/Ruler';\nimport {SelectionControl} from './components/SelectionControl/SelectionControl';\nimport {useRangeDateSelectionState} from './hooks/useRangeDateSelectionState';\nimport type {RangeDateSelectionOptions} from './hooks/useRangeDateSelectionState';\nimport {i18n} from './i18n';\n\nimport './RangeDateSelection.scss';\n\nconst b = block('range-date-selection');\n\nexport interface RangeDateSelectionProps\n extends RangeDateSelectionOptions,\n DomProps,\n StyleProps,\n AccessibilityProps {\n /** Formats time ticks */\n formatTime?: (time: DateTime) => string;\n /** Displays now line */\n displayNow?: boolean;\n /** Enables dragging ruler */\n draggableRuler?: boolean;\n /** Displays buttons to scale selection */\n hasScaleButtons?: boolean;\n /** Position of scale buttons */\n scaleButtonsPosition?: 'start' | 'end';\n /** Renders additional svg content in the ruler */\n renderAdditionalRulerContent?: (props: {\n interval: ViewportInterval;\n dimensions: ViewportDimensions;\n }) => React.ReactNode;\n}\n\nexport function RangeDateSelection(props: RangeDateSelectionProps) {\n const state = useRangeDateSelectionState(props);\n\n const [isDraggingRuler, setDraggingRuler] = React.useState(false);\n\n const handleRulerMoveStart = () => {\n state.setDraggingValue(state.value);\n setDraggingRuler(true);\n };\n const handleRulerMove = (d: number) => {\n const intervalWidth = state.viewportInterval.end.diff(state.viewportInterval.start);\n const delta = -Math.floor((d * intervalWidth) / 100);\n state.move(delta);\n };\n const handleRulerMoveEnd = () => {\n setDraggingRuler(false);\n state.endDragging();\n };\n\n let id = React.useId();\n id = props.id ?? id;\n\n return (\n <div\n {...filterDOMProps(props, {labelable: true})}\n id={id}\n className={b(null, props.className)}\n style={props.style}\n dir=\"ltr\" // TODO: RTL support\n >\n <DateTimeRuler\n className={b('ruler', {dragging: isDraggingRuler})}\n {...state.viewportInterval}\n onMoveStart={handleRulerMoveStart}\n onMove={props.draggableRuler ? handleRulerMove : undefined}\n onMoveEnd={handleRulerMoveEnd}\n dragDisabled={state.isDragging}\n displayNow={props.displayNow}\n minValue={props.minValue}\n maxValue={props.maxValue}\n formatTime={props.formatTime}\n timeZone={state.timeZone}\n renderAdditionalRulerContent={props.renderAdditionalRulerContent}\n >\n <SelectionControl className={b('selection')} state={state} aria-labelledby={id} />\n </DateTimeRuler>\n {props.hasScaleButtons ? (\n <div className={b('buttons', {position: props.scaleButtonsPosition ?? 'start'})}>\n <Button\n view=\"flat-secondary\"\n size=\"xs\"\n onClick={() => {\n state.startDragging();\n state.scale(0.5);\n state.endDragging();\n }}\n extraProps={{'aria-label': i18n('Decrease range')}}\n >\n <Icon data={Minus} />\n </Button>\n <Button\n view=\"flat-secondary\"\n size=\"xs\"\n onClick={() => {\n state.startDragging();\n state.scale(1.5);\n state.endDragging();\n }}\n extraProps={{'aria-label': i18n('Increase range')}}\n >\n <Icon data={Plus} />\n </Button>\n </div>\n ) : null}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/RangeDateSelection/components/variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dtimeline-now-line';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20stroke:%20var(--g-date-thin-timeline-now-color);%0A%20%20%20%20stroke-width:%202px;%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EACA","sourcesContent":["@use '../../../variables';\n\n$block: '.#{variables.$ns}timeline-now-line';\n\n#{$block} {\n stroke: var(--g-date-thin-timeline-now-color);\n stroke-width: 2px;\n}\n"],"file":"NowLine.css"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./NowLine.css";
|
|
2
2
|
export declare function NowLine(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { block } from
|
|
4
|
-
import { SECOND } from
|
|
5
|
-
import { useViewportDimensions, useViewportInterval } from
|
|
3
|
+
import { block } from "../../../../utils/cn.js";
|
|
4
|
+
import { SECOND } from "../../../utils/constants.js";
|
|
5
|
+
import { useViewportDimensions, useViewportInterval } from "../Ruler/Ruler.js";
|
|
6
6
|
const MIN_UPDATE_DISTANCE = 4; // in px
|
|
7
|
-
import
|
|
7
|
+
import "./NowLine.css";
|
|
8
8
|
const b = block('timeline-now-line');
|
|
9
9
|
export function NowLine() {
|
|
10
10
|
const viewport = useViewportDimensions();
|
|
@@ -34,3 +34,4 @@ export function NowLine() {
|
|
|
34
34
|
viewport.width;
|
|
35
35
|
return _jsx("path", { d: `M${nowX},0l0,${viewport.height}`, className: b() });
|
|
36
36
|
}
|
|
37
|
+
//# sourceMappingURL=NowLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NowLine.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/NowLine/NowLine.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAC3C,OAAO,EAAC,MAAM,EAAC,oCAAiC;AAChD,OAAO,EAAC,qBAAqB,EAAE,mBAAmB,EAAC,0BAAuB;AAE1E,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,QAAQ;AAEvC,uBAAwB;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAErC,MAAM,UAAU,OAAO;IACnB,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAC,GAAG,mBAAmB,EAAE,CAAC;IAC/D,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,EACN,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAChE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,CAChC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,aAAa,EAAE,CAAC;YAChB,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBAC5B,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,EAAE;YACR,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5B,KAAK,GAAG,IAAI,CAAC;YACjB,CAAC;QACL,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IAAI,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GACN,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,QAAQ,CAAC,KAAK,CAAC;IAEnB,OAAO,eAAM,CAAC,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,GAAI,CAAC;AAC1E,CAAC","sourcesContent":["import React from 'react';\n\nimport {block} from '../../../../utils/cn';\nimport {SECOND} from '../../../utils/constants';\nimport {useViewportDimensions, useViewportInterval} from '../Ruler/Ruler';\n\nconst MIN_UPDATE_DISTANCE = 4; // in px\n\nimport './NowLine.scss';\n\nconst b = block('timeline-now-line');\n\nexport function NowLine() {\n const viewport = useViewportDimensions();\n const {start: startDate, end: endDate} = useViewportInterval();\n const [, rerender] = React.useState({});\n\n const nowTime = Date.now();\n const needUpdateNow = endDate.valueOf() > nowTime;\n const interval = Math.max(\n SECOND,\n (MIN_UPDATE_DISTANCE * endDate.diff(startDate)) / viewport.width,\n startDate.valueOf() - nowTime,\n );\n\n React.useEffect(() => {\n let timer: number | null = null;\n if (needUpdateNow) {\n timer = window.setInterval(() => {\n rerender({});\n }, interval);\n }\n return () => {\n if (timer) {\n window.clearInterval(timer);\n timer = null;\n }\n };\n }, [needUpdateNow, interval]);\n\n if (nowTime < startDate.valueOf() || endDate.valueOf() < nowTime) {\n return null;\n }\n\n const nowX =\n ((nowTime - startDate.valueOf()) / (endDate.valueOf() - startDate.valueOf())) *\n viewport.width;\n\n return <path d={`M${nowX},0l0,${viewport.height}`} className={b()} />;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
3
|
-
import type { MoveEndEvent, MoveMoveEvent, MoveStartEvent } from
|
|
4
|
-
import type { RangeValue } from
|
|
3
|
+
import type { MoveEndEvent, MoveMoveEvent, MoveStartEvent } from "../../../../hooks/useMove.js";
|
|
4
|
+
import type { RangeValue } from "../../../types/index.js";
|
|
5
5
|
interface RulerProps {
|
|
6
6
|
className?: string;
|
|
7
7
|
children?: React.ReactNode;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
|
-
import { useResizeObserver } from
|
|
5
|
-
import { block } from
|
|
6
|
-
import { NowLine } from
|
|
7
|
-
import { RulerViewport } from
|
|
8
|
-
import { MiddleTicks } from
|
|
9
|
-
import { SlitTicks } from
|
|
10
|
-
import { UnavailableTicks } from
|
|
11
|
-
import { makeUnavailableTicksGeometry } from
|
|
4
|
+
import { useResizeObserver } from "../../../../hooks/useResizeObserver.js";
|
|
5
|
+
import { block } from "../../../../utils/cn.js";
|
|
6
|
+
import { NowLine } from "../NowLine/NowLine.js";
|
|
7
|
+
import { RulerViewport } from "../RulerViewport/RulerViewport.js";
|
|
8
|
+
import { MiddleTicks } from "../Ticks/MiddleTicks.js";
|
|
9
|
+
import { SlitTicks } from "../Ticks/SlitTicks.js";
|
|
10
|
+
import { UnavailableTicks } from "../Ticks/UnavialableTicks.js";
|
|
11
|
+
import { makeUnavailableTicksGeometry } from "../Ticks/utils.js";
|
|
12
12
|
const b = block('ruler');
|
|
13
13
|
const viewportDimensionsContext = React.createContext(null);
|
|
14
14
|
const viewportIntervalContext = React.createContext(null);
|
|
@@ -51,3 +51,4 @@ export function useViewportInterval() {
|
|
|
51
51
|
}
|
|
52
52
|
return viewport;
|
|
53
53
|
}
|
|
54
|
+
//# sourceMappingURL=Ruler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ruler.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ruler/Ruler.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport ReactDOM from 'react-dom';\n\nimport type {MoveEndEvent, MoveMoveEvent, MoveStartEvent} from '../../../../hooks/useMove';\nimport {useResizeObserver} from '../../../../hooks/useResizeObserver';\nimport {block} from '../../../../utils/cn';\nimport type {RangeValue} from '../../../types';\nimport {NowLine} from '../NowLine/NowLine';\nimport {RulerViewport} from '../RulerViewport/RulerViewport';\nimport {MiddleTicks} from '../Ticks/MiddleTicks';\nimport {SlitTicks} from '../Ticks/SlitTicks';\nimport {UnavailableTicks} from '../Ticks/UnavialableTicks';\nimport {makeUnavailableTicksGeometry} from '../Ticks/utils';\n\nconst b = block('ruler');\n\ninterface RulerProps {\n className?: string;\n children?: React.ReactNode;\n start: DateTime;\n end: DateTime;\n minValue?: DateTime;\n maxValue?: DateTime;\n onMoveStart?: (event: MoveStartEvent) => void;\n onMove?: (delta: number, event: MoveMoveEvent) => void;\n onMoveEnd?: (event: MoveEndEvent) => void;\n displayNow?: boolean;\n formatTime?: (time: DateTime) => string;\n timeZone?: string;\n dragDisabled?: boolean;\n renderAdditionalRulerContent?: (props: {\n interval: ViewportInterval;\n dimensions: ViewportDimensions;\n }) => React.ReactNode;\n}\n\nexport interface ViewportDimensions {\n width: number;\n height: number;\n}\n\nexport type ViewportInterval = RangeValue<DateTime>;\n\nconst viewportDimensionsContext = React.createContext<ViewportDimensions | null>(null);\nconst viewportIntervalContext = React.createContext<ViewportInterval | null>(null);\n\nexport function DateTimeRuler({\n className,\n children,\n start,\n end,\n minValue,\n maxValue,\n onMove,\n onMoveStart,\n onMoveEnd,\n displayNow,\n formatTime,\n timeZone,\n dragDisabled,\n renderAdditionalRulerContent,\n}: RulerProps) {\n const [container, setContainer] = React.useState<HTMLDivElement | null>(null);\n const viewportInterval = React.useMemo(() => ({start, end}), [start, end]);\n const [viewportDimensions, setViewportDimensions] = React.useState<ViewportDimensions>({\n width: 0,\n height: 0,\n });\n const onResize = React.useCallback(() => {\n if (!container) {\n return;\n }\n const {width, height} = container.getBoundingClientRect();\n setViewportDimensions({width, height});\n }, [container]);\n\n const containerRef = React.useMemo(() => ({current: container}), [container]);\n\n useResizeObserver({ref: containerRef, onResize});\n\n const hasConstrains = Boolean(minValue || maxValue);\n\n return (\n <div className={b(null, className)}>\n <viewportIntervalContext.Provider value={viewportInterval}>\n <viewportDimensionsContext.Provider value={viewportDimensions}>\n <RulerViewport\n ref={setContainer}\n onMove={onMove}\n onMoveStart={onMoveStart}\n onMoveEnd={onMoveEnd}\n dragDisabled={dragDisabled}\n >\n <MiddleTicks timeZone={timeZone} />\n <SlitTicks formatTime={formatTime} timeZone={timeZone} />\n {hasConstrains ? (\n <UnavailableTicks\n theme=\"dim\"\n minValue={minValue}\n maxValue={maxValue}\n geometry={makeUnavailableTicksGeometry({\n tickHeight: 10,\n viewportHeight: viewportDimensions.height,\n })}\n tickWidth={viewportDimensions.height + 10}\n />\n ) : null}\n {displayNow ? <NowLine /> : null}\n {renderAdditionalRulerContent?.({\n interval: viewportInterval,\n dimensions: viewportDimensions,\n })}\n </RulerViewport>\n {container ? ReactDOM.createPortal(children, container) : null}\n </viewportDimensionsContext.Provider>\n </viewportIntervalContext.Provider>\n </div>\n );\n}\n\nexport function useViewportDimensions() {\n const viewport = React.useContext(viewportDimensionsContext);\n if (!viewport) {\n throw new Error('useViewportDimensions must be used within a RulerViewport');\n }\n return viewport;\n}\n\nexport function useViewportInterval() {\n const viewport = React.useContext(viewportIntervalContext);\n if (!viewport) {\n throw new Error('useViewportInterval must be used within a RulerViewport');\n }\n return viewport;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/RangeDateSelection/components/variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Druler-viewport';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20--_--g-date-ruler-viewport-background:%20var(%0A%20%20%20%20%20%20%20%20--g-date-ruler-viewport-background,%0A%20%20%20%20%20%20%20%20var(--g-color-base-background)%0A%20%20%20%20);%0A%0A%20%20%20%20--g-date-thin-timeline-height:%2022px;%0A%20%20%20%20--g-date-thin-timeline-now-color:%20var(--g-color-line-danger);%0A%0A%20%20%20%20position:%20relative;%0A%0A%20%20%20%20box-sizing:%20border-box;%0A%20%20%20%20height:%20var(--g-date-thin-timeline-height);%0A%0A%20%20%20%20&__dragger%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset:%200;%0A%0A%20%20%20%20%20%20%20%20cursor:%20grab;%0A%0A%20%20%20%20%20%20%20%20&:focus-visible%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20outline:%202px%20solid%20var(--g-color-line-focus);%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20&_disabled%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20pointer-events:%20none;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__svg%20%7B%0A%20%20%20%20%20%20%20%20pointer-events:%20none;%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;AAAA;AAAA;AAAA;EAKA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EAEA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI","sourcesContent":["@use '../../../variables';\n\n$block: '.#{variables.$ns}ruler-viewport';\n\n#{$block} {\n --_--g-date-ruler-viewport-background: var(\n --g-date-ruler-viewport-background,\n var(--g-color-base-background)\n );\n\n --g-date-thin-timeline-height: 22px;\n --g-date-thin-timeline-now-color: var(--g-color-line-danger);\n\n position: relative;\n\n box-sizing: border-box;\n height: var(--g-date-thin-timeline-height);\n\n &__dragger {\n position: absolute;\n inset: 0;\n\n cursor: grab;\n\n &:focus-visible {\n outline: 2px solid var(--g-color-line-focus);\n }\n\n &_disabled {\n pointer-events: none;\n }\n }\n\n &__svg {\n pointer-events: none;\n }\n}\n"],"file":"RulerViewport.css"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { MoveEndEvent, MoveMoveEvent, MoveStartEvent } from
|
|
3
|
-
import
|
|
2
|
+
import type { MoveEndEvent, MoveMoveEvent, MoveStartEvent } from "../../../../hooks/useMove.js";
|
|
3
|
+
import "./RulerViewport.css";
|
|
4
4
|
interface RulerViewportProps {
|
|
5
5
|
className?: string;
|
|
6
6
|
children?: React.ReactNode;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { useMove } from
|
|
5
|
-
import { block } from
|
|
6
|
-
import
|
|
4
|
+
import { useMove } from "../../../../hooks/useMove.js";
|
|
5
|
+
import { block } from "../../../../utils/cn.js";
|
|
6
|
+
import "./RulerViewport.css";
|
|
7
7
|
const b = block('ruler-viewport');
|
|
8
8
|
function RulerViewport({ className, children, onMove, onMoveStart, onMoveEnd, dragDisabled }, ref) {
|
|
9
9
|
const containerRef = React.useRef(null);
|
|
@@ -27,3 +27,4 @@ function RulerViewport({ className, children, onMove, onMoveStart, onMoveEnd, dr
|
|
|
27
27
|
}
|
|
28
28
|
const _RulerViewport = React.forwardRef(RulerViewport);
|
|
29
29
|
export { _RulerViewport as RulerViewport };
|
|
30
|
+
//# sourceMappingURL=RulerViewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RulerViewport.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/RulerViewport/RulerViewport.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAC,qCAAkC;AAElD,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAE3C,6BAA8B;AAE9B,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAWlC,SAAS,aAAa,CAClB,EAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAqB,EACvF,GAA8B;IAE9B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC;IAC/C,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC;QACxB,WAAW,EAAE,WAAW;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,EAAC,KAAK,EAAC,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAClD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACtC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBACd,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QACD,SAAS,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,OAAO,CACH,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,aACxC,eACI,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EACnB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,4BAA4B,EAClC,UAAU,EAAC,8BAA8B,aAEzC,yBAEI,kBAAQ,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,uBAAuB,aAC/D,kBAAS,UAAU,EAAC,4CAA4C,GAAG,EACnE,sBAAa,EAAE,EAAC,eAAe,GAAG,IAC7B,GACN,EACN,QAAQ,IACP,EACL,SAAS,CAAC,CAAC,CAAC,CACT,4BAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAC,CAAC,IAAM,SAAS,EAAI,CAC5E,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AACN,CAAC;AAED,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACvD,OAAO,EAAC,cAAc,IAAI,aAAa,EAAC,CAAC","sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport {useMove} from '../../../../hooks/useMove';\nimport type {MoveEndEvent, MoveMoveEvent, MoveStartEvent} from '../../../../hooks/useMove';\nimport {block} from '../../../../utils/cn';\n\nimport './RulerViewport.scss';\n\nconst b = block('ruler-viewport');\n\ninterface RulerViewportProps {\n className?: string;\n children?: React.ReactNode;\n onMoveStart?: (event: MoveStartEvent) => void;\n onMove?: (delta: number, event: MoveMoveEvent) => void;\n onMoveEnd?: (event: MoveEndEvent) => void;\n dragDisabled?: boolean;\n}\n\nfunction RulerViewport(\n {className, children, onMove, onMoveStart, onMoveEnd, dragDisabled}: RulerViewportProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const containerRef = React.useRef<SVGSVGElement>(null);\n const draggable = typeof onMove === 'function';\n const {moveProps} = useMove({\n onMoveStart: onMoveStart,\n onMove: (e) => {\n const container = containerRef.current;\n if (e.deltaX !== 0 && container) {\n const {width} = container.getBoundingClientRect();\n let delta = (e.deltaX * 100) / width;\n delta = Math.round(delta * 100) / 100;\n if (delta !== 0) {\n onMove?.(delta, e);\n }\n }\n },\n onMoveEnd: onMoveEnd,\n });\n\n return (\n <div ref={ref} className={b(null, className)}>\n <svg\n ref={containerRef}\n className={b('svg')}\n width=\"100%\"\n height=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <defs>\n {/* this one allows rendering background under tick labels */}\n <filter x=\"0\" y=\"0\" width=\"1\" height=\"1\" id=\"g-date-tt-ticklabelbg\">\n <feFlood floodColor=\"var(--_--g-date-ruler-viewport-background)\" />\n <feComposite in=\"SourceGraphic\" />\n </filter>\n </defs>\n {children}\n </svg>\n {draggable ? (\n <div className={b('dragger', {disabled: dragDisabled})} {...moveProps} />\n ) : null}\n </div>\n );\n}\n\nconst _RulerViewport = React.forwardRef(RulerViewport);\nexport {_RulerViewport as RulerViewport};\n"]}
|
package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/RangeDateSelection/mixins';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Drange-date-selection-control';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20--_--g-date-timeline-color-selection:%20var(%0A%20%20%20%20%20%20%20%20--g-date-timeline-color-selection,%0A%20%20%20%20%20%20%20%20var(--g-color-base-info-light)%0A%20%20%20%20);%0A%0A%20%20%20%20--_--g-date-timeline-color-selection-hover:%20var(%0A%20%20%20%20%20%20%20%20--g-date-timeline-color-selection-hover,%0A%20%20%20%20%20%20%20%20var(--g-color-base-info-light-hover)%0A%20%20%20%20);%0A%0A%20%20%20%20--_--g-date-timeline-color-selection-handle:%20var(%0A%20%20%20%20%20%20%20%20--g-date-timeline-color-selection-handle,%0A%20%20%20%20%20%20%20%20var(--g-color-base-brand)%0A%20%20%20%20);%0A%0A%20%20%20%20--_--g-date-timeline-color-selection-handle-hover:%20var(%0A%20%20%20%20%20%20%20%20--g-date-timeline-color-selection-handle-hover,%0A%20%20%20%20%20%20%20%20var(--g-color-base-brand-hover)%0A%20%20%20%20);%0A%0A%20%20%20%20position:%20absolute;%0A%20%20%20%20z-index:%201;%0A%20%20%20%20inset-block:%200;%0A%0A%20%20%20%20@supports%20(selector(:has(*)))%20and%20(selector(:focus-visible))%20%7B%0A%20%20%20%20%20%20%20%20&__start:has(&__slider-input:focus-visible),%0A%20%20%20%20%20%20%20%20&__end:has(&__slider-input:focus-visible),%0A%20%20%20%20%20%20%20%20&__dragger:has(&__slider-input:focus-visible)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius:%20var(--g-border-radius-xs);%0A%20%20%20%20%20%20%20%20%20%20%20%20outline:%20var(--g-color-line-focus)%20solid%202px;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20@supports%20not%20(selector(:has(*)))%20%7B%0A%20%20%20%20%20%20%20%20&__start:focus-within,%0A%20%20%20%20%20%20%20%20&__end:focus-within,%0A%20%20%20%20%20%20%20%20&__dragger:focus-within%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius:%20var(--g-border-radius-xs);%0A%20%20%20%20%20%20%20%20%20%20%20%20outline:%20var(--g-color-line-focus)%20solid%202px;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__dragger%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset-block:%200;%0A%20%20%20%20%20%20%20%20inset-inline:%202px;%0A%0A%20%20%20%20%20%20%20%20cursor:%20move;%0A%0A%20%20%20%20%20%20%20%20background:%20var(--_--g-date-timeline-color-selection);%0A%0A%20%20%20%20%20%20%20%20&:hover,%0A%20%20%20%20%20%20%20%20&_dragging%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background:%20var(--_--g-date-timeline-color-selection-hover);%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20&_disabled%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20pointer-events:%20none;%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__start%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset-block:%200;%0A%20%20%20%20%20%20%20%20inset-inline-start:%200;%0A%0A%20%20%20%20%20%20%20%20width:%204px;%0A%0A%20%20%20%20%20%20%20%20background:%20var(--_--g-date-timeline-color-selection-handle);%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__end%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset-inline-end:%200;%0A%0A%20%20%20%20%20%20%20%20width:%204px;%0A%20%20%20%20%20%20%20%20height:%20100%25;%0A%0A%20%20%20%20%20%20%20%20background:%20var(--_--g-date-timeline-color-selection-handle);%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__start,%0A%20%20%20%20&__end%20%7B%0A%20%20%20%20%20%20%20%20cursor:%20ew-resize;%0A%0A%20%20%20%20%20%20%20%20&:hover,%0A%20%20%20%20%20%20%20%20&_dragging%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background:%20var(--_--g-date-timeline-color-selection-handle-hover);%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__slider-input-wrapper%20%7B%0A%20%20%20%20%20%20%20%20@include%20mixins.visually-hidden();%0A%20%20%20%20%7D%0A%7D%0A","components/RangeDateSelection/components/SelectionControl/file:/home/runner/work/date-components/date-components/src/components/mixins.scss"],"names":[],"mappings":"AAKA;EACI;AAAA;AAAA;AAAA;EAKA;AAAA;AAAA;AAAA;EAKA;AAAA;AAAA;AAAA;EAKA;AAAA;AAAA;AAAA;EAKA;EACA;EACA;;AAEA;EACI;IAGI;IACA;;;AAIR;EACI;IAGI;IACA;;;AAIR;EACI;EACA;EACA;EAEA;EAEA;;AAEA;EAEI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EAEA;EACA;EAEA;;AAGJ;EAEI;;AAEA;EAEI;;AAIR;EChGA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA","sourcesContent":["@use '../../../variables';\n@use '../../../mixins';\n\n$block: '.#{variables.$ns}range-date-selection-control';\n\n#{$block} {\n --_--g-date-timeline-color-selection: var(\n --g-date-timeline-color-selection,\n var(--g-color-base-info-light)\n );\n\n --_--g-date-timeline-color-selection-hover: var(\n --g-date-timeline-color-selection-hover,\n var(--g-color-base-info-light-hover)\n );\n\n --_--g-date-timeline-color-selection-handle: var(\n --g-date-timeline-color-selection-handle,\n var(--g-color-base-brand)\n );\n\n --_--g-date-timeline-color-selection-handle-hover: var(\n --g-date-timeline-color-selection-handle-hover,\n var(--g-color-base-brand-hover)\n );\n\n position: absolute;\n z-index: 1;\n inset-block: 0;\n\n @supports (selector(:has(*))) and (selector(:focus-visible)) {\n &__start:has(&__slider-input:focus-visible),\n &__end:has(&__slider-input:focus-visible),\n &__dragger:has(&__slider-input:focus-visible) {\n border-radius: var(--g-border-radius-xs);\n outline: var(--g-color-line-focus) solid 2px;\n }\n }\n\n @supports not (selector(:has(*))) {\n &__start:focus-within,\n &__end:focus-within,\n &__dragger:focus-within {\n border-radius: var(--g-border-radius-xs);\n outline: var(--g-color-line-focus) solid 2px;\n }\n }\n\n &__dragger {\n position: absolute;\n inset-block: 0;\n inset-inline: 2px;\n\n cursor: move;\n\n background: var(--_--g-date-timeline-color-selection);\n\n &:hover,\n &_dragging {\n background: var(--_--g-date-timeline-color-selection-hover);\n }\n\n &_disabled {\n pointer-events: none;\n }\n }\n\n &__start {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n\n width: 4px;\n\n background: var(--_--g-date-timeline-color-selection-handle);\n }\n\n &__end {\n position: absolute;\n inset-inline-end: 0;\n\n width: 4px;\n height: 100%;\n\n background: var(--_--g-date-timeline-color-selection-handle);\n }\n\n &__start,\n &__end {\n cursor: ew-resize;\n\n &:hover,\n &_dragging {\n background: var(--_--g-date-timeline-color-selection-handle-hover);\n }\n }\n\n &__slider-input-wrapper {\n @include mixins.visually-hidden();\n }\n}\n","@mixin visually-hidden() {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(50%);\n}\n"],"file":"SelectionControl.css"}
|
package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AccessibilityProps, DomProps, StyleProps } from
|
|
2
|
-
import type { RangeDateSelectionState } from
|
|
3
|
-
import
|
|
1
|
+
import type { AccessibilityProps, DomProps, StyleProps } from "../../../types/index.js";
|
|
2
|
+
import type { RangeDateSelectionState } from "../../hooks/useRangeDateSelectionState.js";
|
|
3
|
+
import "./SelectionControl.css";
|
|
4
4
|
interface SelectionControlProps extends DomProps, StyleProps, AccessibilityProps {
|
|
5
5
|
state: RangeDateSelectionState;
|
|
6
6
|
}
|
package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { useMove } from
|
|
5
|
-
import { block } from
|
|
6
|
-
import { i18n } from
|
|
7
|
-
import { lerp } from
|
|
8
|
-
import { useViewportDimensions, useViewportInterval } from
|
|
9
|
-
import
|
|
4
|
+
import { useMove } from "../../../../hooks/useMove.js";
|
|
5
|
+
import { block } from "../../../../utils/cn.js";
|
|
6
|
+
import { i18n } from "../../i18n/index.js";
|
|
7
|
+
import { lerp } from "../../utils/span.js";
|
|
8
|
+
import { useViewportDimensions, useViewportInterval } from "../Ruler/Ruler.js";
|
|
9
|
+
import "./SelectionControl.css";
|
|
10
10
|
const b = block('range-date-selection-control');
|
|
11
11
|
const MIN_SELECTION_WIDTH = 12; // px;
|
|
12
12
|
const MIN_DRAG_SCALE = 0.01;
|
|
@@ -130,3 +130,4 @@ export function SelectionControl(_a) {
|
|
|
130
130
|
.filter(Boolean)
|
|
131
131
|
.join(' '), "aria-orientation": "horizontal", "aria-valuetext": `${endValue.format()}`, value: 0, onChange: () => { } }) }) }))) : null] }));
|
|
132
132
|
}
|
|
133
|
+
//# sourceMappingURL=SelectionControl.js.map
|
package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionControl.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/SelectionControl/SelectionControl.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {useMove} from '../../../../hooks/useMove';\nimport {block} from '../../../../utils/cn';\nimport type {AccessibilityProps, DomProps, StyleProps} from '../../../types';\nimport type {RangeDateSelectionState} from '../../hooks/useRangeDateSelectionState';\nimport {i18n} from '../../i18n';\nimport {lerp} from '../../utils/span';\nimport {useViewportDimensions, useViewportInterval} from '../Ruler/Ruler';\n\nimport './SelectionControl.scss';\n\nconst b = block('range-date-selection-control');\n\nconst MIN_SELECTION_WIDTH = 12; // px;\nconst MIN_DRAG_SCALE = 0.01;\nconst MAX_DRAG_SCALE = 100;\nconst DRAG_SCALE_STRENGTH = 20;\n\ninterface SelectionControlProps extends DomProps, StyleProps, AccessibilityProps {\n state: RangeDateSelectionState;\n}\n\nexport function SelectionControl({state, style, className, ...props}: SelectionControlProps) {\n const {start: startDate, end: endDate} = useViewportInterval();\n const viewport = useViewportDimensions();\n\n const [isDragging, setIsDragging] = React.useState<'dragger' | 'start' | 'end' | null>(null);\n\n const moveDataRef = React.useRef<{isZooming: boolean}>({\n isZooming: false,\n });\n\n const visualMinDuration =\n (MIN_SELECTION_WIDTH * (endDate.valueOf() - startDate.valueOf())) / viewport.width;\n\n const handleMoveEnd = () => {\n state.endDragging();\n setIsDragging(null);\n };\n\n const {moveProps} = useMove({\n onMoveStart: (e) => {\n setIsDragging('dragger');\n state.startDragging();\n moveDataRef.current = {\n isZooming: state.canResize && (e.ctrlKey || e.metaKey),\n };\n },\n onMoveEnd: handleMoveEnd,\n onMove: (e) => {\n if (e.deltaX === 0) {\n return;\n }\n if (moveDataRef.current.isZooming) {\n let scale = Math.exp((e.deltaX * DRAG_SCALE_STRENGTH) / viewport.width);\n scale = Math.min(Math.max(scale, MIN_DRAG_SCALE), MAX_DRAG_SCALE);\n state.scale(scale, {visualMinDuration});\n } else {\n let delta = (e.deltaX * (endDate.valueOf() - startDate.valueOf())) / viewport.width;\n if (e.pointerType === 'keyboard') {\n delta =\n delta > 0\n ? Math.max(delta, state.align)\n : Math.min(delta, -1 * state.align);\n }\n state.move(delta, {visualMinDuration});\n }\n },\n });\n const {moveProps: moveStartProps} = useMove({\n onMoveStart: () => {\n setIsDragging('start');\n state.startDragging();\n },\n onMoveEnd: handleMoveEnd,\n onMove: (e) => {\n if (e.deltaX === 0) {\n return;\n }\n let delta = (e.deltaX * (endDate.valueOf() - startDate.valueOf())) / viewport.width;\n if (e.pointerType === 'keyboard') {\n delta =\n delta > 0 ? Math.max(delta, state.align) : Math.min(delta, -1 * state.align);\n }\n state.moveStart(delta, {visualMinDuration});\n },\n });\n const {moveProps: moveEndProps} = useMove({\n onMoveStart: () => {\n setIsDragging('end');\n state.startDragging();\n },\n onMoveEnd: handleMoveEnd,\n onMove: (e) => {\n if (e.deltaX === 0) {\n return;\n }\n let delta = (e.deltaX * (endDate.valueOf() - startDate.valueOf())) / viewport.width;\n if (e.pointerType === 'keyboard') {\n delta =\n delta > 0 ? Math.max(delta, state.align) : Math.min(delta, -1 * state.align);\n }\n state.moveEnd(delta, {visualMinDuration});\n },\n });\n\n const {start: startValue, end: endValue} = state.value;\n const startX = lerp(\n {start: startDate.valueOf(), end: endDate.valueOf()},\n {start: 0, end: viewport.width},\n startValue.valueOf(),\n );\n const endX = lerp(\n {start: startDate.valueOf(), end: endDate.valueOf()},\n {start: 0, end: viewport.width},\n endValue.valueOf(),\n );\n\n const draggerInputRef = React.useRef<HTMLInputElement>(null);\n const startInputRef = React.useRef<HTMLInputElement>(null);\n const endInputRef = React.useRef<HTMLInputElement>(null);\n\n let id = React.useId();\n id = props.id ?? id;\n\n return (\n <div className={b(null, className)} style={{...style, left: startX, width: endX - startX}}>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={b('dragger', {\n dragging: isDragging === 'dragger',\n disabled: Boolean(isDragging && isDragging !== 'dragger'),\n })}\n {...moveProps}\n onClick={() => {\n draggerInputRef.current?.focus();\n }}\n >\n <div className={b('slider-input-wrapper')}>\n <input\n id={`${id}-range`}\n ref={draggerInputRef}\n className={b('slider-input')}\n type=\"range\"\n step={1}\n aria-label={i18n('Range')}\n aria-labelledby={[`${id}-range`, props['aria-labelledby']]\n .filter(Boolean)\n .join(' ')}\n aria-orientation=\"horizontal\"\n aria-valuetext={`${startValue.format()} - ${endValue.format()}`}\n value={0}\n onChange={() => {}}\n />\n </div>\n </div>\n {state.canResize ? (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\n <div\n className={b('start', {\n dragging: isDragging === 'start',\n disabled: Boolean(isDragging && isDragging !== 'start'),\n })}\n {...moveStartProps}\n onClick={() => {\n startInputRef.current?.focus();\n }}\n >\n <div className={b('slider-input-wrapper')}>\n <input\n id={`${id}-start`}\n ref={startInputRef}\n className={b('slider-input')}\n type=\"range\"\n step={1}\n aria-label={i18n('Start of range')}\n aria-labelledby={[`${id}-start`, props['aria-labelledby']]\n .filter(Boolean)\n .join(' ')}\n aria-orientation=\"horizontal\"\n aria-valuetext={`${startValue.format()}`}\n value={0}\n onChange={() => {}}\n />\n </div>\n </div>\n ) : null}\n {state.canResize ? (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\n <div\n className={b('end', {\n dragging: isDragging === 'end',\n disabled: Boolean(isDragging && isDragging !== 'end'),\n })}\n {...moveEndProps}\n onClick={() => {\n endInputRef.current?.focus();\n }}\n >\n <div className={b('slider-input-wrapper')}>\n <input\n id={`${id}-end`}\n ref={endInputRef}\n className={b('slider-input')}\n type=\"range\"\n step={1}\n aria-label={i18n('End of range')}\n aria-labelledby={[`${id}-end`, props['aria-labelledby']]\n .filter(Boolean)\n .join(' ')}\n aria-orientation=\"horizontal\"\n aria-valuetext={`${endValue.format()}`}\n value={0}\n onChange={() => {}}\n />\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useViewportDimensions } from
|
|
3
|
-
import { Ticks, makeMiddleTicksGeometry } from
|
|
2
|
+
import { useViewportDimensions } from "../Ruler/Ruler.js";
|
|
3
|
+
import { Ticks, makeMiddleTicksGeometry } from "./Ticks.js";
|
|
4
4
|
export function MiddleTicks({ timeZone }) {
|
|
5
5
|
const { height } = useViewportDimensions();
|
|
6
6
|
return (_jsx(Ticks, { minTickWidth: 8, maxTickWidth: 20, theme: "dim", geometry: makeMiddleTicksGeometry({ tickHeight: 4, viewportHeight: height }), timeZone: timeZone }));
|
|
7
7
|
}
|
|
8
|
+
//# sourceMappingURL=MiddleTicks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiddleTicks.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ticks/MiddleTicks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,qBAAqB,EAAC,0BAAuB;AAErD,OAAO,EAAC,KAAK,EAAE,uBAAuB,EAAC,mBAAgB;AAEvD,MAAM,UAAU,WAAW,CAAC,EAAC,QAAQ,EAAsB;IACvD,MAAM,EAAC,MAAM,EAAC,GAAG,qBAAqB,EAAE,CAAC;IACzC,OAAO,CACH,KAAC,KAAK,IACF,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,EAAE,EAChB,KAAK,EAAC,KAAK,EACX,QAAQ,EAAE,uBAAuB,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAC,CAAC,EAC1E,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC;AACN,CAAC","sourcesContent":["import {useViewportDimensions} from '../Ruler/Ruler';\n\nimport {Ticks, makeMiddleTicksGeometry} from './Ticks';\n\nexport function MiddleTicks({timeZone}: {timeZone?: string}) {\n const {height} = useViewportDimensions();\n return (\n <Ticks\n minTickWidth={8}\n maxTickWidth={20}\n theme=\"dim\"\n geometry={makeMiddleTicksGeometry({tickHeight: 4, viewportHeight: height})}\n timeZone={timeZone}\n />\n );\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useViewportDimensions } from
|
|
3
|
-
import { Ticks, makeSlitTicksGeometry } from
|
|
2
|
+
import { useViewportDimensions } from "../Ruler/Ruler.js";
|
|
3
|
+
import { Ticks, makeSlitTicksGeometry } from "./Ticks.js";
|
|
4
4
|
export function SlitTicks({ formatTime, timeZone, }) {
|
|
5
5
|
const { height } = useViewportDimensions();
|
|
6
6
|
return (_jsx(Ticks, { minTickWidth: 80, maxTickWidth: 200, theme: "normal", geometry: makeSlitTicksGeometry({ tickHeight: 4, viewportHeight: height }), hasLabels: true, formatTime: formatTime, timeZone: timeZone }));
|
|
7
7
|
}
|
|
8
|
+
//# sourceMappingURL=SlitTicks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlitTicks.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ticks/SlitTicks.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,qBAAqB,EAAC,0BAAuB;AAErD,OAAO,EAAC,KAAK,EAAE,qBAAqB,EAAC,mBAAgB;AAErD,MAAM,UAAU,SAAS,CAAC,EACtB,UAAU,EACV,QAAQ,GAIX;IACG,MAAM,EAAC,MAAM,EAAC,GAAG,qBAAqB,EAAE,CAAC;IACzC,OAAO,CACH,KAAC,KAAK,IACF,YAAY,EAAE,EAAE,EAChB,YAAY,EAAE,GAAG,EACjB,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,qBAAqB,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAC,CAAC,EACxE,SAAS,QACT,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC;AACN,CAAC","sourcesContent":["import type {DateTime} from '@gravity-ui/date-utils';\n\nimport {useViewportDimensions} from '../Ruler/Ruler';\n\nimport {Ticks, makeSlitTicksGeometry} from './Ticks';\n\nexport function SlitTicks({\n formatTime,\n timeZone,\n}: {\n formatTime?: (time: DateTime) => string;\n timeZone?: string;\n}) {\n const {height} = useViewportDimensions();\n return (\n <Ticks\n minTickWidth={80}\n maxTickWidth={200}\n theme=\"normal\"\n geometry={makeSlitTicksGeometry({tickHeight: 4, viewportHeight: height})}\n hasLabels\n formatTime={formatTime}\n timeZone={timeZone}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/RangeDateSelection/components/variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dtimeline-ticks';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20stroke:%20var(--g-color-text-secondary);%0A%0A%20%20%20%20fill:%20var(--g-color-text-secondary);%0A%20%20%20%20stroke-width:%201px;%0A%0A%20%20%20%20&_theme_dim%20%7B%0A%20%20%20%20%20%20%20%20stroke:%20var(--g-color-line-generic-accent);%0A%0A%20%20%20%20%20%20%20%20fill:%20var(--g-color-line-generic-accent);%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__label%20%7B%0A%20%20%20%20%20%20%20%20font-size:%2011px;%0A%20%20%20%20%20%20%20%20line-height:%2014px;%0A%20%20%20%20%20%20%20%20user-select:%20none;%0A%0A%20%20%20%20%20%20%20%20fill:%20var(--g-color-text-secondary);%0A%20%20%20%20%20%20%20%20text-anchor:%20middle;%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EAEA;EACA;;AAEA;EACI;EAEA;;AAGJ;EACI;EACA;EACA;EAEA;EACA","sourcesContent":["@use '../../../variables';\n\n$block: '.#{variables.$ns}timeline-ticks';\n\n#{$block} {\n stroke: var(--g-color-text-secondary);\n\n fill: var(--g-color-text-secondary);\n stroke-width: 1px;\n\n &_theme_dim {\n stroke: var(--g-color-line-generic-accent);\n\n fill: var(--g-color-line-generic-accent);\n }\n\n &__label {\n font-size: 11px;\n line-height: 14px;\n user-select: none;\n\n fill: var(--g-color-text-secondary);\n text-anchor: middle;\n }\n}\n"],"file":"Ticks.css"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { Geometry } from
|
|
3
|
-
import { makeMiddleTicksGeometry, makeSlitTicksGeometry } from
|
|
4
|
-
import
|
|
2
|
+
import type { Geometry } from "./utils.js";
|
|
3
|
+
import { makeMiddleTicksGeometry, makeSlitTicksGeometry } from "./utils.js";
|
|
4
|
+
import "./Ticks.css";
|
|
5
5
|
interface TicksProps {
|
|
6
6
|
theme: 'normal' | 'dim';
|
|
7
7
|
minTickWidth: number;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { dateTime } from '@gravity-ui/date-utils';
|
|
4
|
-
import { block } from
|
|
5
|
-
import { getLerpCoeff } from
|
|
6
|
-
import { useViewportDimensions, useViewportInterval } from
|
|
7
|
-
import { calculateTickTimes, formatTick as defaultFormatTime, makeMiddleTicksGeometry, makeSlitTicksGeometry, } from
|
|
8
|
-
import
|
|
4
|
+
import { block } from "../../../../utils/cn.js";
|
|
5
|
+
import { getLerpCoeff } from "../../utils/span.js";
|
|
6
|
+
import { useViewportDimensions, useViewportInterval } from "../Ruler/Ruler.js";
|
|
7
|
+
import { calculateTickTimes, formatTick as defaultFormatTime, makeMiddleTicksGeometry, makeSlitTicksGeometry, } from "./utils.js";
|
|
8
|
+
import "./Ticks.css";
|
|
9
9
|
const b = block('timeline-ticks');
|
|
10
10
|
export { makeMiddleTicksGeometry, makeSlitTicksGeometry };
|
|
11
11
|
export function Ticks({ theme, minTickWidth, maxTickWidth, hasLabels, geometry, className, labelsClassName, formatTime, timeZone, }) {
|
|
@@ -42,3 +42,4 @@ export function Ticks({ theme, minTickWidth, maxTickWidth, hasLabels, geometry,
|
|
|
42
42
|
}, [hasLabels, tickCoords, tickTimes, timeZone, labelsClassName, formatTime]);
|
|
43
43
|
return (_jsxs(React.Fragment, { children: [ticksPath, tickLabels] }));
|
|
44
44
|
}
|
|
45
|
+
//# sourceMappingURL=Ticks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ticks.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ticks/Ticks.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {dateTime} from '@gravity-ui/date-utils';\n\nimport {block} from '../../../../utils/cn';\nimport {getLerpCoeff} from '../../utils/span';\nimport {useViewportDimensions, useViewportInterval} from '../Ruler/Ruler';\n\nimport type {Geometry} from './utils';\nimport {\n calculateTickTimes,\n formatTick as defaultFormatTime,\n makeMiddleTicksGeometry,\n makeSlitTicksGeometry,\n} from './utils';\n\nimport './Ticks.scss';\n\ninterface TicksProps {\n theme: 'normal' | 'dim';\n minTickWidth: number;\n maxTickWidth: number;\n hasLabels?: boolean;\n\n geometry: Geometry;\n className?: string;\n labelsClassName?: string;\n\n formatTime?: (time: DateTime) => string;\n timeZone?: string;\n}\n\nconst b = block('timeline-ticks');\n\nexport {makeMiddleTicksGeometry, makeSlitTicksGeometry};\nexport type {Geometry};\n\nexport function Ticks({\n theme,\n minTickWidth,\n maxTickWidth,\n hasLabels,\n geometry,\n className,\n labelsClassName,\n formatTime,\n timeZone,\n}: TicksProps) {\n const viewport = useViewportDimensions();\n const interval = useViewportInterval();\n const tickTimes = React.useMemo(\n () =>\n calculateTickTimes({\n minTickWidth,\n maxTickWidth,\n viewportStart: interval.start,\n viewportEnd: interval.end,\n viewportWidth: viewport.width,\n timeZone,\n }),\n [maxTickWidth, minTickWidth, interval, viewport.width, timeZone],\n );\n const tickCoords = React.useMemo(() => {\n const timeToXCoeff = getLerpCoeff(\n {start: interval.start.valueOf(), end: interval.end.valueOf()},\n {start: 0, end: viewport.width},\n );\n return tickTimes.map(\n (t) => 0 + Math.round((t.valueOf() - interval.start.valueOf()) * timeToXCoeff),\n );\n }, [tickTimes, interval, viewport.width]);\n\n const ticksGeometry = React.useMemo(() => {\n return tickCoords.map(geometry).join('');\n }, [geometry, tickCoords]);\n\n const ticksPath = <path className={b({theme}, className)} d={ticksGeometry} />;\n\n const tickLabels = React.useMemo(() => {\n if (!hasLabels || tickCoords.length < 2) {\n return null;\n }\n\n const result: React.ReactElement[] = [];\n\n for (let i = 0; i < tickCoords.length; i++) {\n const x = tickCoords[i];\n const t = tickTimes[i];\n const dt = dateTime({input: t, timeZone});\n\n result.push(\n <text\n key={i}\n className={b('label', labelsClassName)}\n dominantBaseline=\"middle\"\n x={x}\n y=\"50%\"\n filter=\"url(#g-date-tt-ticklabelbg)\"\n >\n {formatTime ? formatTime(dt) : defaultFormatTime(dt)}\n </text>,\n );\n }\n return result;\n }, [hasLabels, tickCoords, tickTimes, timeZone, labelsClassName, formatTime]);\n\n return (\n <React.Fragment>\n {ticksPath}\n {tickLabels}\n </React.Fragment>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { Geometry } from
|
|
3
|
-
import { makeMiddleTicksGeometry, makeSlitTicksGeometry } from
|
|
4
|
-
import
|
|
2
|
+
import type { Geometry } from "./utils.js";
|
|
3
|
+
import { makeMiddleTicksGeometry, makeSlitTicksGeometry } from "./utils.js";
|
|
4
|
+
import "./Ticks.css";
|
|
5
5
|
interface TicksProps {
|
|
6
6
|
theme: 'normal' | 'dim';
|
|
7
7
|
tickWidth: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { block } from
|
|
4
|
-
import { useViewportDimensions, useViewportInterval } from
|
|
5
|
-
import { calculatePosition, makeMiddleTicksGeometry, makeSlitTicksGeometry } from
|
|
6
|
-
import
|
|
3
|
+
import { block } from "../../../../utils/cn.js";
|
|
4
|
+
import { useViewportDimensions, useViewportInterval } from "../Ruler/Ruler.js";
|
|
5
|
+
import { calculatePosition, makeMiddleTicksGeometry, makeSlitTicksGeometry } from "./utils.js";
|
|
6
|
+
import "./Ticks.css";
|
|
7
7
|
const b = block('timeline-ticks');
|
|
8
8
|
export { makeMiddleTicksGeometry, makeSlitTicksGeometry };
|
|
9
9
|
export function UnavailableTicks({ theme, geometry, tickWidth, minValue, maxValue, className, }) {
|
|
@@ -40,3 +40,4 @@ export function UnavailableTicks({ theme, geometry, tickWidth, minValue, maxValu
|
|
|
40
40
|
const ticksPath = _jsx("path", { className: b({ theme }, className), d: ticksGeometry });
|
|
41
41
|
return _jsx(React.Fragment, { children: ticksPath });
|
|
42
42
|
}
|
|
43
|
+
//# sourceMappingURL=UnavialableTicks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnavialableTicks.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ticks/UnavialableTicks.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,KAAK,EAAC,gCAA6B;AAC3C,OAAO,EAAC,qBAAqB,EAAE,mBAAmB,EAAC,0BAAuB;AAG1E,OAAO,EAAC,iBAAiB,EAAE,uBAAuB,EAAE,qBAAqB,EAAC,mBAAgB;AAE1F,qBAAsB;AAYtB,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAElC,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAC,CAAC;AAGxD,MAAM,UAAU,gBAAgB,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,GACA;IACT,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC7B,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;QACnF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,CAAC,IAAI,SAAS,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,UAAU,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,CAAC,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;QACtF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC,IAAI,SAAS,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,eAAM,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,aAAa,GAAI,CAAC;IAE/E,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,SAAS,GAAkB,CAAC;AACxD,CAAC","sourcesContent":["import React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport {block} from '../../../../utils/cn';\nimport {useViewportDimensions, useViewportInterval} from '../Ruler/Ruler';\n\nimport type {Geometry} from './utils';\nimport {calculatePosition, makeMiddleTicksGeometry, makeSlitTicksGeometry} from './utils';\n\nimport './Ticks.scss';\n\ninterface TicksProps {\n theme: 'normal' | 'dim';\n tickWidth: number;\n minValue?: DateTime;\n maxValue?: DateTime;\n\n geometry: Geometry;\n className?: string;\n}\n\nconst b = block('timeline-ticks');\n\nexport {makeMiddleTicksGeometry, makeSlitTicksGeometry};\nexport type {Geometry};\n\nexport function UnavailableTicks({\n theme,\n geometry,\n tickWidth,\n minValue,\n maxValue,\n className,\n}: TicksProps) {\n const viewport = useViewportDimensions();\n const interval = useViewportInterval();\n\n const endPoint = calculatePosition(minValue, interval, viewport.width);\n const startPoint = calculatePosition(maxValue, interval, viewport.width);\n\n const tickCoords: number[] = [];\n if (!isNaN(endPoint) && endPoint > 0) {\n let x = endPoint - tickWidth;\n if (endPoint > viewport.width) {\n x = endPoint - tickWidth * Math.floor((endPoint - viewport.width) / tickWidth);\n }\n tickCoords.push(x);\n while (x > 0) {\n x -= tickWidth;\n tickCoords.push(x);\n }\n }\n\n if (!isNaN(startPoint) && startPoint < viewport.width) {\n let x = startPoint;\n if (startPoint < 0) {\n x = startPoint + tickWidth * Math.floor((0 - startPoint) / tickWidth) - tickWidth;\n }\n tickCoords.push(x);\n while (x < viewport.width) {\n x += tickWidth;\n tickCoords.push(x);\n }\n }\n\n const ticksGeometry = React.useMemo(() => {\n return tickCoords.map(geometry).join('');\n }, [geometry, tickCoords]);\n\n const ticksPath = <path className={b({theme}, className)} d={ticksGeometry} />;\n\n return <React.Fragment>{ticksPath}</React.Fragment>;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils/build/typings';
|
|
2
|
-
import type { RangeValue } from
|
|
2
|
+
import type { RangeValue } from "../../../types/index.js";
|
|
3
3
|
interface CalculateTicksOptions {
|
|
4
4
|
viewportStart: DateTime;
|
|
5
5
|
viewportEnd: DateTime;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { dateTimeUtc, settings } from '@gravity-ui/date-utils';
|
|
2
|
-
import { DAY, HOUR, MINUTE, MONTH, SECOND, WEEK, YEAR } from
|
|
3
|
-
import { getLerpCoeff } from
|
|
2
|
+
import { DAY, HOUR, MINUTE, MONTH, SECOND, WEEK, YEAR } from "../../../utils/constants.js";
|
|
3
|
+
import { getLerpCoeff } from "../../utils/span.js";
|
|
4
4
|
const MAX_TICKS = 100000;
|
|
5
5
|
function makeTickSizes(periodSize, periodName, ...multipliers) {
|
|
6
6
|
return multipliers.map((m) => ({
|
|
@@ -156,3 +156,4 @@ export function calculatePosition(value, interval, width) {
|
|
|
156
156
|
const timeToXCoeff = getLerpCoeff({ start: interval.start.valueOf(), end: interval.end.valueOf() }, { start: 0, end: width });
|
|
157
157
|
return Math.round((value.valueOf() - interval.start.valueOf()) * timeToXCoeff);
|
|
158
158
|
}
|
|
159
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"../../../../../../src","sources":["components/RangeDateSelection/components/Ticks/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {dateTimeUtc, settings} from '@gravity-ui/date-utils';\nimport type {DateTime, DurationUnit} from '@gravity-ui/date-utils/build/typings';\n\nimport type {RangeValue} from '../../../types';\nimport {DAY, HOUR, MINUTE, MONTH, SECOND, WEEK, YEAR} from '../../../utils/constants';\nimport {getLerpCoeff} from '../../utils/span';\n\nconst MAX_TICKS = 100000;\n\ninterface TickSize {\n duration: number;\n period: DurationUnit;\n multiplier: number;\n}\nfunction makeTickSizes(\n periodSize: number,\n periodName: DurationUnit,\n ...multipliers: number[]\n): TickSize[] {\n return multipliers.map((m) => ({\n duration: m * periodSize,\n period: periodName,\n multiplier: m,\n }));\n}\n\nconst tickSizes = [\n ...makeTickSizes(SECOND, 'second', 1, 2, 5, 10, 15, 30),\n ...makeTickSizes(MINUTE, 'minute', 1, 2, 5, 10, 20, 30),\n ...makeTickSizes(HOUR, 'hour', 1, 2, 3, 6, 12),\n ...makeTickSizes(DAY, 'day', 1, 2, 3),\n ...makeTickSizes(WEEK, 'week', 1, 2),\n ...makeTickSizes(MONTH, 'month', 1, 2, 3, 6),\n ...makeTickSizes(YEAR, 'year', 1, 2, 5, 10, 15, 20, 30),\n];\n\nconst TickFormat = {\n SECONDS: 'HH:mm:ss',\n MINUTES: 'HH:mm',\n DATE: 'DD.MM.YY',\n MONTH: 'MM-YYYY',\n YEAR: 'YYYY',\n} as const;\n\ninterface FindTickSizeOpts {\n minWidth: number;\n maxWidth: number;\n timelineWidth: number;\n timelineDuration: number;\n}\n\nfunction findTickSize({minWidth, maxWidth, timelineWidth, timelineDuration}: FindTickSizeOpts) {\n const minDuration = (minWidth / timelineWidth) * timelineDuration;\n const maxDuration = (maxWidth / timelineWidth) * timelineDuration;\n\n const suitableSizes: TickSize[] = [];\n\n for (const size of tickSizes) {\n if (minDuration <= size.duration) {\n if (size.duration <= maxDuration) {\n suitableSizes.push(size);\n } else if (!suitableSizes.length) {\n return size;\n }\n }\n }\n\n if (!suitableSizes.length) {\n return tickSizes[tickSizes.length - 1];\n }\n\n return suitableSizes[Math.floor(suitableSizes.length / 2)];\n}\n\ninterface CalculateTicksOptions {\n viewportStart: DateTime;\n viewportEnd: DateTime;\n minTickWidth: number;\n maxTickWidth: number;\n viewportWidth: number;\n\n timeZone?: string;\n}\n\nexport function calculateTickTimes({\n viewportStart,\n viewportEnd,\n minTickWidth,\n maxTickWidth,\n viewportWidth,\n timeZone,\n}: CalculateTicksOptions) {\n const tickSize = findTickSize({\n minWidth: minTickWidth,\n maxWidth: maxTickWidth,\n timelineDuration: viewportEnd.valueOf() - viewportStart.valueOf(),\n timelineWidth: viewportWidth,\n });\n\n let cursor: DateTime;\n const stableDate = dateTimeUtc({input: '1977-01-01'}).timeZone(\n timeZone || settings.getDefaultTimeZone(),\n true,\n );\n const diff = stableDate.diff(viewportStart, tickSize.period);\n const divider = tickSize.multiplier;\n const multiplier = Math.floor(diff / divider);\n cursor = stableDate.subtract(multiplier * divider, tickSize.period);\n if (viewportStart.isBefore(cursor)) {\n cursor = cursor.subtract(divider, tickSize.period);\n }\n const timeDiff = stableDate.utcOffset() - cursor.utcOffset();\n if (\n timeDiff !== 0 &&\n (tickSize.period === 'hour' || tickSize.period === 'minute' || tickSize.period === 'second')\n ) {\n cursor = cursor.add(timeDiff, 'minutes');\n }\n\n const ticks: number[] = [];\n\n let i = 0;\n let maxTickValue = cursor.valueOf();\n\n while (cursor.valueOf() < viewportEnd.valueOf()) {\n if (i >= MAX_TICKS) {\n throw new Error('TimeLine: too much ticks');\n }\n i++;\n ticks.push(cursor.valueOf());\n\n let next = cursor.add(tickSize.multiplier, tickSize.period);\n\n // Get time shift when season timeZone changed\n const timeDiff = cursor.utcOffset() - next.utcOffset();\n\n if (\n timeDiff !== 0 &&\n (tickSize.period === 'hour' ||\n tickSize.period === 'minute' ||\n tickSize.period === 'second')\n ) {\n // Tick should be on same local time distance. Then labels will have correct format (such as date/week/month)\n // For example, Amsterdam timezone:\n //\n // 2023-10-28T22:00Z -> Summer time is 2023-10-29T00:00, displays as 29.10.2023\n // 2023-10-29T22:00Z -> Winter time is 2023-10-29T23:00, displays as 23:00\n //\n // Add 1h:\n // 2023-10-29T23:00Z -> Winter time is 2023-10-30T00:00, displays as 30.10.2023\n //\n next = next.add(timeDiff, 'minutes');\n\n let k = 1;\n while (next.valueOf() <= maxTickValue) {\n // Example of case, Amsterdam timezone:\n // 2023-03-26T00:00Z -> Winter time is 2023-03-26T01:00, displays as 01:00\n // 2023-03-26T01:00Z -> Summer time is 2023-03-26T03:00, displays as 03:00\n // We shift time on -1h... And again:\n // 2023-03-26T00:00Z -> Winter time is 2023-03-26T01:00, displays as 01:00\n // Infinite loop\n //\n // Therefore we need to skip period in the past\n next = next\n .add(tickSize.multiplier * k++, tickSize.period)\n .add(timeDiff, 'minutes');\n }\n }\n\n cursor = next;\n maxTickValue = Math.max(maxTickValue, cursor.valueOf());\n }\n\n return ticks;\n}\n\nexport function formatTick(t: DateTime) {\n let format: string;\n\n if (t.valueOf() % MINUTE === 0) {\n if (t.hour() === 0 && t.minute() === 0) {\n if (t.date() === 1) {\n if (t.month() === 0) {\n format = TickFormat.YEAR;\n } else {\n format = TickFormat.MONTH;\n }\n } else {\n format = TickFormat.DATE;\n }\n } else {\n format = TickFormat.MINUTES;\n }\n } else {\n format = TickFormat.SECONDS;\n }\n\n return t.format(format);\n}\n\nexport interface Geometry {\n (x: number): string;\n}\n\ninterface MakeTicksOptions {\n tickHeight: number;\n viewportHeight: number;\n}\nexport function makeMiddleTicksGeometry({tickHeight, viewportHeight}: MakeTicksOptions): Geometry {\n const tickYStart = (viewportHeight - tickHeight) / 2;\n return (x) => `M${x},${tickYStart}l0,${tickHeight}`;\n}\n\nexport function makeSlitTicksGeometry({tickHeight, viewportHeight}: MakeTicksOptions): Geometry {\n const slitHeight = viewportHeight - 2 * tickHeight;\n return (x) => `M${x},0l0,${tickHeight}m0,${slitHeight}l0,${tickHeight}`;\n}\n\nexport function makeUnavailableTicksGeometry({\n tickHeight,\n viewportHeight,\n}: MakeTicksOptions): Geometry {\n const w = tickHeight;\n const h = viewportHeight;\n return (x) => `M${x},0l${h},${h}l${w},0l${-h},${-h}l${-w},0`;\n}\n\nexport function calculatePosition(\n value: DateTime | undefined,\n interval: RangeValue<DateTime>,\n width: number,\n) {\n if (!value) {\n return NaN;\n }\n const timeToXCoeff = getLerpCoeff(\n {start: interval.start.valueOf(), end: interval.end.valueOf()},\n {start: 0, end: width},\n );\n return Math.round((value.valueOf() - interval.start.valueOf()) * timeToXCoeff);\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { RangeValue, ValueBase } from
|
|
2
|
+
import type { RangeValue, ValueBase } from "../../types/index.js";
|
|
3
3
|
export interface RangeDateSelectionState {
|
|
4
4
|
viewportInterval: RangeValue<DateTime>;
|
|
5
5
|
value: RangeValue<DateTime>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useControlledState } from '@gravity-ui/uikit';
|
|
3
|
-
import { SECOND, YEAR } from
|
|
4
|
-
import { constrainValue, createPlaceholderValue } from
|
|
5
|
-
import { useDefaultTimeZone } from
|
|
6
|
-
import { alignDateTime } from
|
|
3
|
+
import { SECOND, YEAR } from "../../utils/constants.js";
|
|
4
|
+
import { constrainValue, createPlaceholderValue } from "../../utils/dates.js";
|
|
5
|
+
import { useDefaultTimeZone } from "../../utils/useDefaultTimeZone.js";
|
|
6
|
+
import { alignDateTime } from "../utils/date.js";
|
|
7
7
|
function getViewportIntervalFromDates(start, end, numberOfIntervals = 4, placeInViewport = 0.5) {
|
|
8
8
|
const diff = end.diff(start);
|
|
9
9
|
return {
|
|
@@ -142,3 +142,4 @@ export function useRangeDateSelectionState(props) {
|
|
|
142
142
|
isDragging,
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
|
+
//# sourceMappingURL=useRangeDateSelectionState.js.map
|