@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.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 {Calendar as CalendarIcon, Clock as ClockIcon} from '@gravity-ui/icons';\nimport {Button, Icon, Popup, TextInput, useMobile} from '@gravity-ui/uikit';\n\nimport {Calendar} from '../Calendar';\nimport type {CalendarProps} from '../Calendar';\nimport {DateField} from '../DateField';\nimport {HiddenInput} from '../HiddenInput/HiddenInput';\nimport type {\n AccessibilityProps,\n DomProps,\n FocusableProps,\n InputDOMProps,\n KeyboardEvents,\n StyleProps,\n TextInputProps,\n} from '../types';\n\nimport {MobileCalendar} from './MobileCalendar';\nimport {StubButton} from './StubButton';\nimport type {DatePickerStateOptions} from './hooks/datePickerStateFactory';\nimport {useDatePickerProps} from './hooks/useDatePickerProps';\nimport {useDatePickerState} from './hooks/useDatePickerState';\nimport {b} from './utils';\n\nimport './DatePicker.scss';\n\nexport interface DatePickerProps<T = DateTime>\n extends DatePickerStateOptions<T>,\n TextInputProps,\n FocusableProps,\n KeyboardEvents,\n DomProps,\n InputDOMProps,\n StyleProps,\n AccessibilityProps {\n children?: (props: CalendarProps<T>) => React.ReactNode;\n disablePortal?: boolean;\n disableFocusTrap?: boolean;\n}\n\nexport function DatePicker({className, ...props}: DatePickerProps) {\n const anchorRef = React.useRef<HTMLDivElement>(null);\n\n const state = useDatePickerState(props);\n\n const {groupProps, fieldProps, calendarButtonProps, popupProps, calendarProps, timeInputProps} =\n useDatePickerProps(state, props);\n\n const isMobile = useMobile();\n const isOnlyTime = state.formatInfo.hasTime && !state.formatInfo.hasDate;\n\n return (\n <div className={b(null, className)} {...groupProps}>\n {isMobile ? (\n <MobileCalendar props={props} state={state} />\n ) : (\n !isOnlyTime && (\n <div ref={anchorRef} className={b('popup-anchor')}>\n <Popup anchorRef={anchorRef} {...popupProps}>\n <div className={b('popup-content')}>\n {typeof props.children === 'function' ? (\n props.children(calendarProps)\n ) : (\n <Calendar {...calendarProps} />\n )}\n {state.formatInfo.hasTime && (\n <div className={b('time-field-wrapper')}>\n <DateField {...timeInputProps} />\n </div>\n )}\n </div>\n </Popup>\n </div>\n )\n )}\n <TextInput\n {...fieldProps}\n className={b('field', {mobile: isMobile})}\n hasClear={!isMobile && fieldProps.hasClear}\n endContent={\n <React.Fragment>\n {!isMobile && !isOnlyTime && (\n <Button {...calendarButtonProps}>\n <Icon data={CalendarIcon} />\n </Button>\n )}\n {!isMobile && isOnlyTime && (\n <StubButton size={calendarButtonProps.size} icon={ClockIcon} />\n )}\n {isMobile && (\n <StubButton\n size={calendarButtonProps.size}\n icon={isOnlyTime ? ClockIcon : CalendarIcon}\n />\n )}\n </React.Fragment>\n }\n />\n <HiddenInput\n name={props.name}\n value={state.value}\n toStringValue={(value) => value?.toISOString() ?? ''}\n onReset={(value) => {\n state.setValue(value);\n }}\n disabled={state.disabled}\n form={props.form}\n />\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/DatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dmobile-calendar';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20position:%20absolute;%0A%20%20%20%20z-index:%201;%0A%20%20%20%20inset-block-start:%200;%0A%20%20%20%20inset-inline-start:%200;%0A%0A%20%20%20%20box-sizing:%20border-box;%0A%20%20%20%20/%20width:%20100%25%20does%20not%20work%20in%20mobile%20Safari%0A%20%20%20%20min-width:%20100%25;%0A%20%20%20%20height:%20100%25;%0A%20%20%20%20margin:%200;%0A%20%20%20%20padding:%200;%0A%0A%20%20%20%20cursor:%20pointer;%0A%0A%20%20%20%20opacity:%200;%0A%20%20%20%20border:%20none;%0A%0A%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%0A%20%20%20%20%20%20%20%20position:%20absolute;%0A%20%20%20%20%20%20%20%20inset-block-start:%200;%0A%20%20%20%20%20%20%20%20inset-inline-start:%200;%0A%0A%20%20%20%20%20%20%20%20min-width:%20100%25;%0A%20%20%20%20%20%20%20%20height:%20100%25;%0A%20%20%20%20%20%20%20%20margin:%200;%0A%20%20%20%20%20%20%20%20padding:%200;%0A%0A%20%20%20%20%20%20%20%20cursor:%20pointer;%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}mobile-calendar';\n\n#{$block} {\n position: absolute;\n z-index: 1;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n box-sizing: border-box;\n // width: 100% does not work in mobile Safari\n min-width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n cursor: pointer;\n\n opacity: 0;\n border: none;\n\n &::-webkit-calendar-picker-indicator {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n\n min-width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n\n cursor: pointer;\n }\n}\n"],"file":"MobileCalendar.css"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { DatePickerProps } from
|
|
2
|
-
import type { DatePickerState } from
|
|
3
|
-
import
|
|
1
|
+
import type { DatePickerProps } from "./DatePicker.js";
|
|
2
|
+
import type { DatePickerState } from "./hooks/useDatePickerState.js";
|
|
3
|
+
import "./MobileCalendar.css";
|
|
4
4
|
interface MobileCalendarProps {
|
|
5
5
|
props: DatePickerProps;
|
|
6
6
|
state: DatePickerState;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { dateTime } from '@gravity-ui/date-utils';
|
|
4
|
-
import { block } from
|
|
5
|
-
import { createPlaceholderValue, mergeDateTime } from
|
|
6
|
-
import
|
|
4
|
+
import { block } from "../../utils/cn.js";
|
|
5
|
+
import { createPlaceholderValue, mergeDateTime } from "../utils/dates.js";
|
|
6
|
+
import "./MobileCalendar.css";
|
|
7
7
|
const b = block('mobile-calendar');
|
|
8
8
|
export function MobileCalendar({ props, state }) {
|
|
9
9
|
var _a, _b;
|
|
10
10
|
let type = 'date';
|
|
11
|
-
if (state.hasTime && state.hasDate) {
|
|
11
|
+
if (state.formatInfo.hasTime && state.formatInfo.hasDate) {
|
|
12
12
|
type = 'datetime-local';
|
|
13
13
|
}
|
|
14
|
-
else if (state.hasTime) {
|
|
14
|
+
else if (state.formatInfo.hasTime) {
|
|
15
15
|
type = 'time';
|
|
16
16
|
}
|
|
17
17
|
return (_jsx("input", { className: b(), disabled: props.disabled, type: type, value: formatNative(state.dateFieldState.value, type), id: props.id, min: formatNative((_a = props.minValue) === null || _a === void 0 ? void 0 : _a.timeZone(state.timeZone), type), max: formatNative((_b = props.maxValue) === null || _b === void 0 ? void 0 : _b.timeZone(state.timeZone), type), tabIndex: -1, onChange: (e) => {
|
|
@@ -26,13 +26,13 @@ export function MobileCalendar({ props, state }) {
|
|
|
26
26
|
format: getDateFormat(type),
|
|
27
27
|
timeZone: 'system',
|
|
28
28
|
}).timeZone(state.timeZone, true);
|
|
29
|
-
let newDate = state.hasDate
|
|
29
|
+
let newDate = state.formatInfo.hasDate
|
|
30
30
|
? localDate
|
|
31
31
|
: createPlaceholderValue({
|
|
32
32
|
placeholderValue: (_a = props.placeholderValue) === null || _a === void 0 ? void 0 : _a.timeZone(state.timeZone),
|
|
33
33
|
timeZone: state.timeZone,
|
|
34
34
|
});
|
|
35
|
-
if (state.hasTime) {
|
|
35
|
+
if (state.formatInfo.hasTime) {
|
|
36
36
|
newDate = mergeDateTime(newDate, localDate);
|
|
37
37
|
}
|
|
38
38
|
else if (state.value) {
|
|
@@ -71,3 +71,4 @@ function formatNative(date, type) {
|
|
|
71
71
|
const format = getDateFormat(type);
|
|
72
72
|
return date.format(format);
|
|
73
73
|
}
|
|
74
|
+
//# sourceMappingURL=MobileCalendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCalendar.js","sourceRoot":"../../../../src","sources":["components/DatePicker/MobileCalendar.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport {dateTime} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport {block} from '../../utils/cn';\nimport {createPlaceholderValue, mergeDateTime} from '../utils/dates';\n\nimport type {DatePickerProps} from './DatePicker';\nimport type {DatePickerState} from './hooks/useDatePickerState';\n\nimport './MobileCalendar.scss';\n\nconst b = block('mobile-calendar');\n\ntype InputDateType = 'date' | 'time' | 'datetime-local';\n\ninterface MobileCalendarProps {\n props: DatePickerProps;\n state: DatePickerState;\n}\nexport function MobileCalendar({props, state}: MobileCalendarProps) {\n let type: InputDateType = 'date';\n if (state.formatInfo.hasTime && state.formatInfo.hasDate) {\n type = 'datetime-local';\n } else if (state.formatInfo.hasTime) {\n type = 'time';\n }\n\n return (\n <input\n className={b()}\n disabled={props.disabled}\n type={type}\n value={formatNative(state.dateFieldState.value, type)}\n id={props.id}\n min={formatNative(props.minValue?.timeZone(state.timeZone), type)}\n max={formatNative(props.maxValue?.timeZone(state.timeZone), type)}\n tabIndex={-1}\n onChange={(e) => {\n if (props.readOnly) {\n return;\n }\n const newValue = e.target.value;\n if (newValue) {\n const localDate = dateTime({\n input: newValue,\n format: getDateFormat(type),\n timeZone: 'system',\n }).timeZone(state.timeZone, true);\n let newDate = state.formatInfo.hasDate\n ? localDate\n : createPlaceholderValue({\n placeholderValue: props.placeholderValue?.timeZone(state.timeZone),\n timeZone: state.timeZone,\n });\n if (state.formatInfo.hasTime) {\n newDate = mergeDateTime(newDate, localDate);\n } else if (state.value) {\n newDate = mergeDateTime(newDate, state.value.timeZone(state.timeZone));\n } else {\n newDate = mergeDateTime(\n newDate,\n createPlaceholderValue({\n placeholderValue: props.placeholderValue?.timeZone(state.timeZone),\n timeZone: state.timeZone,\n }),\n );\n }\n state.setValue(newDate);\n } else {\n state.setValue(null);\n }\n }}\n />\n );\n}\n\nfunction getDateFormat(type: InputDateType) {\n switch (type) {\n case 'time': {\n return 'HH:mm';\n }\n case 'datetime-local': {\n return 'YYYY-MM-DDTHH:mm';\n }\n default: {\n return 'YYYY-MM-DD';\n }\n }\n}\nfunction formatNative(date: DateTime | null | undefined, type: InputDateType) {\n if (!date) {\n return '';\n }\n\n const format = getDateFormat(type);\n return date.format(format);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/DatePicker/data:;charset=utf-8,@use%20'../variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Dstub-button';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20position:%20relative;%0A%0A%20%20%20%20display:%20inline-block;%0A%0A%20%20%20%20width:%2024px;%0A%20%20%20%20height:%2024px;%0A%0A%20%20%20%20&_size_xs%20%7B%0A%20%20%20%20%20%20%20%20width:%2020px;%0A%20%20%20%20%20%20%20%20height:%2020px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&_size_m%20%7B%0A%20%20%20%20%20%20%20%20width:%2028px;%0A%20%20%20%20%20%20%20%20height:%2028px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&_size_l%20%7B%0A%20%20%20%20%20%20%20%20width:%2036px;%0A%20%20%20%20%20%20%20%20height:%2036px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__icon%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%20display:%20flex;%0A%20%20%20%20%20%20%20%20justify-content:%20center;%0A%20%20%20%20%20%20%20%20align-items:%20center;%0A%0A%20%20%20%20%20%20%20%20color:%20var(--g-color-text-secondary);%0A%20%20%20%20%7D%0A%7D%0A"],"names":[],"mappings":"AAIA;EACI;EAEA;EAEA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EAEA;EACA;EACA;EAEA","sourcesContent":["@use '../variables';\n\n$block: '.#{variables.$ns}stub-button';\n\n#{$block} {\n position: relative;\n\n display: inline-block;\n\n width: 24px;\n height: 24px;\n\n &_size_xs {\n width: 20px;\n height: 20px;\n }\n\n &_size_m {\n width: 28px;\n height: 28px;\n }\n\n &_size_l {\n width: 36px;\n height: 36px;\n }\n\n &__icon {\n position: absolute;\n inset: 0;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n color: var(--g-color-text-secondary);\n }\n}\n"],"file":"StubButton.css"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Icon } from '@gravity-ui/uikit';
|
|
3
|
-
import { block } from
|
|
4
|
-
import
|
|
3
|
+
import { block } from "../../utils/cn.js";
|
|
4
|
+
import "./StubButton.css";
|
|
5
5
|
const b = block('stub-button');
|
|
6
6
|
export function StubButton({ size, icon }) {
|
|
7
7
|
return (_jsx("span", { className: b({ size }), children: _jsx("span", { className: b('icon'), children: _jsx(Icon, { data: icon }) }) }));
|
|
8
8
|
}
|
|
9
|
+
//# sourceMappingURL=StubButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StubButton.js","sourceRoot":"../../../../src","sources":["components/DatePicker/StubButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAC,KAAK,EAAC,0BAAuB;AAErC,0BAA2B;AAE3B,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;AAM/B,MAAM,UAAU,UAAU,CAAC,EAAC,IAAI,EAAE,IAAI,EAAkB;IACpD,OAAO,CACH,eAAM,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,YACtB,eAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACtB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GACjB,GACJ,CACV,CAAC;AACN,CAAC","sourcesContent":["import {Icon} from '@gravity-ui/uikit';\nimport type {ButtonSize, IconData} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils/cn';\n\nimport './StubButton.scss';\n\nconst b = block('stub-button');\n\ninterface StubButtonProps {\n size?: ButtonSize;\n icon: IconData;\n}\nexport function StubButton({size, icon}: StubButtonProps) {\n return (\n <span className={b({size})}>\n <span className={b('icon')}>\n <Icon data={icon} />\n </span>\n </span>\n );\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { DateFieldState } from
|
|
3
|
-
import type {
|
|
2
|
+
import type { DateFieldState } from "../../DateField/index.js";
|
|
3
|
+
import type { FormatInfo } from "../../DateField/types.js";
|
|
4
|
+
import type { DateFieldBase, PopupTriggerProps } from "../../types/index.js";
|
|
4
5
|
type OpenChangeReason = 'EscapeKeyDown' | 'FocusOut' | 'ClickOutside' | 'ValueSelected' | 'TriggerButtonClick' | 'ShortcutKeyDown';
|
|
5
6
|
export interface DatePickerState<T = DateTime> {
|
|
6
7
|
/** The currently selected date. */
|
|
@@ -27,9 +28,17 @@ export interface DatePickerState<T = DateTime> {
|
|
|
27
28
|
disabled?: boolean;
|
|
28
29
|
/** Format of the date when rendered in the input. */
|
|
29
30
|
format: string;
|
|
30
|
-
/**
|
|
31
|
+
/** Format info */
|
|
32
|
+
formatInfo: FormatInfo;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated use formatInfo.hasDate instead
|
|
35
|
+
* Whether the date picker supports selecting a date.
|
|
36
|
+
*/
|
|
31
37
|
hasDate: boolean;
|
|
32
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated use formatInfo.hasTime instead
|
|
40
|
+
* Whether the date picker supports selecting a time.
|
|
41
|
+
*/
|
|
33
42
|
hasTime: boolean;
|
|
34
43
|
/** Format of the time when rendered in the input. */
|
|
35
44
|
timeFormat?: string;
|
|
@@ -46,8 +55,9 @@ export interface DatePickerStateFactoryOptions<T, O extends DateFieldBase<T>> {
|
|
|
46
55
|
setTimezone: (date: T, timeZone: string) => T;
|
|
47
56
|
getDateTime: (date: T | null | undefined) => DateTime | undefined;
|
|
48
57
|
useDateFieldState: (props: O) => DateFieldState<T>;
|
|
58
|
+
adjustDateToFormat: (date: T, info: FormatInfo) => T;
|
|
49
59
|
}
|
|
50
60
|
export interface DatePickerStateOptions<T> extends DateFieldBase<T>, PopupTriggerProps<[OpenChangeReason]> {
|
|
51
61
|
}
|
|
52
|
-
export declare function datePickerStateFactory<T, O extends DatePickerStateOptions<T>>({ getPlaceholderTime, mergeDateTime, setTimezone, getDateTime, useDateFieldState, }: DatePickerStateFactoryOptions<T, O>): (props: O) => DatePickerState<T>;
|
|
62
|
+
export declare function datePickerStateFactory<T, O extends DatePickerStateOptions<T>>({ getPlaceholderTime, mergeDateTime, setTimezone, getDateTime, useDateFieldState, adjustDateToFormat, }: DatePickerStateFactoryOptions<T, O>): (props: O) => DatePickerState<T>;
|
|
53
63
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useControlledState } from '@gravity-ui/uikit';
|
|
3
|
-
import { useDefaultTimeZone } from
|
|
4
|
-
export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setTimezone, getDateTime, useDateFieldState, }) {
|
|
3
|
+
import { useDefaultTimeZone } from "../../utils/useDefaultTimeZone.js";
|
|
4
|
+
export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setTimezone, getDateTime, useDateFieldState, adjustDateToFormat, }) {
|
|
5
5
|
return function useDatePickerState(props) {
|
|
6
6
|
var _a, _b;
|
|
7
7
|
const { disabled, readOnly } = props;
|
|
@@ -35,7 +35,7 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
35
35
|
disabled,
|
|
36
36
|
readOnly, validationState: props.validationState, minValue: props.minValue, maxValue: props.maxValue, isDateUnavailable: props.isDateUnavailable, format, placeholderValue: props.placeholderValue, timeZone }));
|
|
37
37
|
const timeFormat = React.useMemo(() => {
|
|
38
|
-
if (!dateFieldState.hasTime) {
|
|
38
|
+
if (!dateFieldState.formatInfo.hasTime) {
|
|
39
39
|
return undefined;
|
|
40
40
|
}
|
|
41
41
|
const timeFormatParts = [];
|
|
@@ -53,11 +53,11 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
53
53
|
}
|
|
54
54
|
const dayPeriod = dateFieldState.sections.find((s) => s.type === 'dayPeriod');
|
|
55
55
|
return timeFormatParts.join(':') + (dayPeriod ? ` ${dayPeriod.format}` : '');
|
|
56
|
-
}, [dateFieldState.hasTime, dateFieldState.sections]);
|
|
56
|
+
}, [dateFieldState.formatInfo.hasTime, dateFieldState.sections]);
|
|
57
57
|
if (value) {
|
|
58
58
|
selectedDate = setTimezone(value, timeZone);
|
|
59
|
-
if (dateFieldState.hasTime) {
|
|
60
|
-
selectedTime =
|
|
59
|
+
if (dateFieldState.formatInfo.hasTime) {
|
|
60
|
+
selectedTime = selectedDate;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
// Intercept setValue to make sure the Time section is not changed by date selection in Calendar
|
|
@@ -65,17 +65,18 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
65
65
|
if (disabled || readOnly) {
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
const
|
|
69
|
-
|
|
68
|
+
const newDate = adjustDateToFormat(newValue, dateFieldState.formatInfo);
|
|
69
|
+
const shouldClose = !dateFieldState.formatInfo.hasTime;
|
|
70
|
+
if (dateFieldState.formatInfo.hasTime) {
|
|
70
71
|
if (selectedTime || shouldClose) {
|
|
71
|
-
commitValue(
|
|
72
|
+
commitValue(newDate, selectedTime || newDate);
|
|
72
73
|
}
|
|
73
74
|
else {
|
|
74
|
-
setSelectedDate(
|
|
75
|
+
setSelectedDate(newDate);
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
else {
|
|
78
|
-
commitValue(
|
|
79
|
+
commitValue(newDate, newDate);
|
|
79
80
|
}
|
|
80
81
|
if (shouldClose) {
|
|
81
82
|
setOpen(false, 'ValueSelected');
|
|
@@ -85,7 +86,7 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
85
86
|
if (disabled || readOnly) {
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
|
-
const newTime = newValue !== null && newValue !== void 0 ? newValue : getPlaceholderTime(props.placeholderValue, timeZone);
|
|
89
|
+
const newTime = adjustDateToFormat(newValue !== null && newValue !== void 0 ? newValue : getPlaceholderTime(props.placeholderValue, timeZone), dateFieldState.formatInfo);
|
|
89
90
|
if (selectedDate) {
|
|
90
91
|
commitValue(selectedDate, newTime);
|
|
91
92
|
}
|
|
@@ -93,7 +94,7 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
93
94
|
setSelectedTime(newTime);
|
|
94
95
|
}
|
|
95
96
|
};
|
|
96
|
-
if (dateFieldState.hasTime && !selectedTime) {
|
|
97
|
+
if (dateFieldState.formatInfo.hasTime && !selectedTime) {
|
|
97
98
|
selectedTime = dateFieldState.displayValue;
|
|
98
99
|
}
|
|
99
100
|
return {
|
|
@@ -116,13 +117,14 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
116
117
|
disabled,
|
|
117
118
|
readOnly,
|
|
118
119
|
format,
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
formatInfo: dateFieldState.formatInfo,
|
|
121
|
+
hasDate: dateFieldState.formatInfo.hasDate,
|
|
122
|
+
hasTime: dateFieldState.formatInfo.hasTime,
|
|
121
123
|
timeFormat,
|
|
122
124
|
timeZone,
|
|
123
125
|
isOpen,
|
|
124
126
|
setOpen(newIsOpen, reason) {
|
|
125
|
-
if (!newIsOpen && !value && selectedDate && dateFieldState.hasTime) {
|
|
127
|
+
if (!newIsOpen && !value && selectedDate && dateFieldState.formatInfo.hasTime) {
|
|
126
128
|
commitValue(selectedDate, selectedTime || getPlaceholderTime(props.placeholderValue, props.timeZone));
|
|
127
129
|
}
|
|
128
130
|
setOpen(newIsOpen, reason);
|
|
@@ -131,3 +133,4 @@ export function datePickerStateFactory({ getPlaceholderTime, mergeDateTime, setT
|
|
|
131
133
|
};
|
|
132
134
|
};
|
|
133
135
|
}
|
|
136
|
+
//# sourceMappingURL=datePickerStateFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datePickerStateFactory.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/datePickerStateFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {useControlledState} from '@gravity-ui/uikit';\n\nimport type {DateFieldState} from '../../DateField';\nimport type {FormatInfo} from '../../DateField/types';\nimport type {DateFieldBase, PopupTriggerProps} from '../../types';\nimport {useDefaultTimeZone} from '../../utils/useDefaultTimeZone';\n\ntype OpenChangeReason =\n | 'EscapeKeyDown'\n | 'FocusOut'\n | 'ClickOutside'\n | 'ValueSelected'\n | 'TriggerButtonClick'\n | 'ShortcutKeyDown';\n\nexport interface DatePickerState<T = DateTime> {\n /** The currently selected date. */\n value: T | null;\n /** Sets the selected date. */\n setValue: (value: T | null) => void;\n /**\n * The date portion of the value. This may be set prior to `value` if the user has\n * selected a date but has not yet selected a time.\n */\n dateValue: T | null;\n /** Sets the date portion of the value. */\n setDateValue: (value: T) => void;\n /**\n * The time portion of the value. This may be set prior to `value` if the user has\n * selected a time but has not yet selected a date.\n */\n timeValue: T | null;\n /** Sets the time portion of the value. */\n setTimeValue: (value: T | null) => void;\n /** Whether the field is read only. */\n readOnly?: boolean;\n /** Whether the field is disabled. */\n disabled?: boolean;\n /** Format of the date when rendered in the input. */\n format: string;\n /** Format info */\n formatInfo: FormatInfo;\n /**\n * @deprecated use formatInfo.hasDate instead\n * Whether the date picker supports selecting a date.\n */\n hasDate: boolean;\n /**\n * @deprecated use formatInfo.hasTime instead\n * Whether the date picker supports selecting a time.\n */\n hasTime: boolean;\n /** Format of the time when rendered in the input. */\n timeFormat?: string;\n timeZone: string;\n /** Whether the calendar popover is currently open. */\n isOpen: boolean;\n /** Sets whether the calendar popover is open. */\n setOpen: (isOpen: boolean, reason: OpenChangeReason) => void;\n dateFieldState: DateFieldState<T>;\n}\n\nexport interface DatePickerStateFactoryOptions<T, O extends DateFieldBase<T>> {\n getPlaceholderTime: (placeholderValue: DateTime | undefined, timeZone?: string) => T;\n mergeDateTime: (date: T, time: T) => T;\n setTimezone: (date: T, timeZone: string) => T;\n getDateTime: (date: T | null | undefined) => DateTime | undefined;\n useDateFieldState: (props: O) => DateFieldState<T>;\n adjustDateToFormat: (date: T, info: FormatInfo) => T;\n}\n\nexport interface DatePickerStateOptions<T>\n extends DateFieldBase<T>,\n PopupTriggerProps<[OpenChangeReason]> {}\n\nexport function datePickerStateFactory<T, O extends DatePickerStateOptions<T>>({\n getPlaceholderTime,\n mergeDateTime,\n setTimezone,\n getDateTime,\n useDateFieldState,\n adjustDateToFormat,\n}: DatePickerStateFactoryOptions<T, O>) {\n return function useDatePickerState(props: O): DatePickerState<T> {\n const {disabled, readOnly} = props;\n const [isOpen, _setOpen] = useControlledState(\n props.open,\n props.defaultOpen ?? false,\n props.onOpenChange,\n );\n\n const setOpen: NonNullable<typeof props.onOpenChange> = _setOpen;\n\n const [value, setValue] = useControlledState(\n props.value as never,\n props.defaultValue ?? null,\n props.onUpdate,\n );\n const [selectedDateInner, setSelectedDate] = React.useState<T | null>(null);\n const [selectedTimeInner, setSelectedTime] = React.useState<T | null>(null);\n\n const inputTimeZone = useDefaultTimeZone(\n getDateTime(props.value) || getDateTime(props.defaultValue) || props.placeholderValue,\n );\n const timeZone = props.timeZone || inputTimeZone;\n\n let selectedDate = selectedDateInner;\n let selectedTime = selectedTimeInner;\n\n const format = props.format || 'L';\n\n const commitValue = (date: T, time: T) => {\n if (disabled || readOnly) {\n return;\n }\n\n setValue(setTimezone(mergeDateTime(date, time), inputTimeZone));\n setSelectedDate(null);\n setSelectedTime(null);\n };\n\n const dateFieldState = useDateFieldState({\n ...props,\n value,\n onUpdate(date: T | null) {\n if (date) {\n commitValue(date, date);\n } else {\n setValue(null);\n }\n },\n disabled,\n readOnly,\n validationState: props.validationState,\n minValue: props.minValue,\n maxValue: props.maxValue,\n isDateUnavailable: props.isDateUnavailable,\n format,\n placeholderValue: props.placeholderValue,\n timeZone,\n });\n\n const timeFormat = React.useMemo(() => {\n if (!dateFieldState.formatInfo.hasTime) {\n return undefined;\n }\n const timeFormatParts: string[] = [];\n const hours = dateFieldState.sections.find((s) => s.type === 'hour');\n if (hours) {\n timeFormatParts.push(hours.format);\n }\n const minutes = dateFieldState.sections.find((s) => s.type === 'minute');\n if (minutes) {\n timeFormatParts.push(minutes.format);\n }\n const seconds = dateFieldState.sections.find((s) => s.type === 'second');\n if (seconds) {\n timeFormatParts.push(seconds.format);\n }\n const dayPeriod = dateFieldState.sections.find((s) => s.type === 'dayPeriod');\n return timeFormatParts.join(':') + (dayPeriod ? ` ${dayPeriod.format}` : '');\n }, [dateFieldState.formatInfo.hasTime, dateFieldState.sections]);\n\n if (value) {\n selectedDate = setTimezone(value, timeZone);\n if (dateFieldState.formatInfo.hasTime) {\n selectedTime = selectedDate;\n }\n }\n\n // Intercept setValue to make sure the Time section is not changed by date selection in Calendar\n const selectDate = (newValue: T) => {\n if (disabled || readOnly) {\n return;\n }\n\n const newDate = adjustDateToFormat(newValue, dateFieldState.formatInfo);\n const shouldClose = !dateFieldState.formatInfo.hasTime;\n if (dateFieldState.formatInfo.hasTime) {\n if (selectedTime || shouldClose) {\n commitValue(newDate, selectedTime || newDate);\n } else {\n setSelectedDate(newDate);\n }\n } else {\n commitValue(newDate, newDate);\n }\n\n if (shouldClose) {\n setOpen(false, 'ValueSelected');\n }\n };\n\n const selectTime = (newValue: T | null) => {\n if (disabled || readOnly) {\n return;\n }\n\n const newTime = adjustDateToFormat(\n newValue ?? getPlaceholderTime(props.placeholderValue, timeZone),\n dateFieldState.formatInfo,\n );\n\n if (selectedDate) {\n commitValue(selectedDate, newTime);\n } else {\n setSelectedTime(newTime);\n }\n };\n\n if (dateFieldState.formatInfo.hasTime && !selectedTime) {\n selectedTime = dateFieldState.displayValue;\n }\n\n return {\n value,\n setValue(newDate: T | null) {\n if (props.readOnly || props.disabled) {\n return;\n }\n\n if (newDate) {\n setValue(setTimezone(newDate, inputTimeZone));\n } else {\n setValue(null);\n }\n },\n dateValue: selectedDate,\n timeValue: selectedTime,\n setDateValue: selectDate,\n setTimeValue: selectTime,\n disabled,\n readOnly,\n format,\n formatInfo: dateFieldState.formatInfo,\n hasDate: dateFieldState.formatInfo.hasDate,\n hasTime: dateFieldState.formatInfo.hasTime,\n timeFormat,\n timeZone,\n isOpen,\n setOpen(newIsOpen, reason) {\n if (!newIsOpen && !value && selectedDate && dateFieldState.formatInfo.hasTime) {\n commitValue(\n selectedDate,\n selectedTime || getPlaceholderTime(props.placeholderValue, props.timeZone),\n );\n }\n\n setOpen(newIsOpen, reason);\n },\n dateFieldState,\n };\n };\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
3
3
|
import type { ButtonProps, PopupProps, TextInputProps } from '@gravity-ui/uikit';
|
|
4
|
-
import type { CalendarInstance, CalendarProps } from
|
|
5
|
-
import type { DateFieldProps } from
|
|
6
|
-
import type { RangeValue } from
|
|
7
|
-
import type { DatePickerProps } from
|
|
8
|
-
import type { DatePickerState } from
|
|
4
|
+
import type { CalendarInstance, CalendarProps } from "../../Calendar/index.js";
|
|
5
|
+
import type { DateFieldProps } from "../../DateField/index.js";
|
|
6
|
+
import type { RangeValue } from "../../types/index.js";
|
|
7
|
+
import type { DatePickerProps } from "../DatePicker.js";
|
|
8
|
+
import type { DatePickerState } from "./useDatePickerState.js";
|
|
9
9
|
interface InnerDatePickerProps<T = DateTime> {
|
|
10
10
|
groupProps: React.HTMLAttributes<unknown> & {
|
|
11
11
|
ref: React.Ref<any>;
|
|
@@ -2,11 +2,11 @@ import { __rest } from "tslib";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { isDateTime } from '@gravity-ui/date-utils';
|
|
4
4
|
import { useFocusWithin, useForkRef } from '@gravity-ui/uikit';
|
|
5
|
-
import { useDateFieldProps } from
|
|
6
|
-
import { getButtonSizeForInput } from
|
|
7
|
-
import { mergeProps } from
|
|
8
|
-
import { i18n } from
|
|
9
|
-
import { getDateTimeValue } from
|
|
5
|
+
import { useDateFieldProps } from "../../DateField/index.js";
|
|
6
|
+
import { getButtonSizeForInput } from "../../utils/getButtonSizeForInput.js";
|
|
7
|
+
import { mergeProps } from "../../utils/mergeProps.js";
|
|
8
|
+
import { i18n } from "../i18n/index.js";
|
|
9
|
+
import { getCalendarModes, getDateTimeValue } from "../utils/index.js";
|
|
10
10
|
export function useDatePickerProps(state, _a) {
|
|
11
11
|
var { onFocus, onBlur } = _a, props = __rest(_a, ["onFocus", "onBlur"]);
|
|
12
12
|
const [isActive, setActive] = React.useState(false);
|
|
@@ -50,7 +50,8 @@ export function useDatePickerProps(state, _a) {
|
|
|
50
50
|
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
const onlyTime = state.hasTime && !state.hasDate;
|
|
53
|
+
const onlyTime = state.formatInfo.hasTime && !state.formatInfo.hasDate;
|
|
54
|
+
const calendarModes = getCalendarModes(state.formatInfo);
|
|
54
55
|
return {
|
|
55
56
|
groupProps: Object.assign(Object.assign({ ref: groupRef, tabIndex: -1, role: 'group' }, focusWithinProps), { style: props.style, 'aria-disabled': state.disabled || undefined, onKeyDown: (e) => {
|
|
56
57
|
if (!onlyTime && e.altKey && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {
|
|
@@ -111,7 +112,7 @@ export function useDatePickerProps(state, _a) {
|
|
|
111
112
|
readOnly: props.readOnly,
|
|
112
113
|
onUpdate: (d) => {
|
|
113
114
|
state.setDateValue(d);
|
|
114
|
-
if (!state.hasTime) {
|
|
115
|
+
if (!state.formatInfo.hasTime) {
|
|
115
116
|
focusInput();
|
|
116
117
|
}
|
|
117
118
|
},
|
|
@@ -122,6 +123,7 @@ export function useDatePickerProps(state, _a) {
|
|
|
122
123
|
timeZone: state.timeZone,
|
|
123
124
|
focusedValue: focusedDate,
|
|
124
125
|
onFocusUpdate: setFocusedDate,
|
|
126
|
+
modes: calendarModes,
|
|
125
127
|
},
|
|
126
128
|
timeInputProps: {
|
|
127
129
|
value: state.timeValue,
|
|
@@ -136,3 +138,4 @@ export function useDatePickerProps(state, _a) {
|
|
|
136
138
|
},
|
|
137
139
|
};
|
|
138
140
|
}
|
|
141
|
+
//# sourceMappingURL=useDatePickerProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatePickerProps.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/useDatePickerProps.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {isDateTime} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {useFocusWithin, useForkRef} from '@gravity-ui/uikit';\nimport type {ButtonProps, PopupProps, TextInputProps} from '@gravity-ui/uikit';\n\nimport type {CalendarInstance, CalendarProps} from '../../Calendar';\nimport {useDateFieldProps} from '../../DateField';\nimport type {DateFieldProps} from '../../DateField';\nimport type {RangeValue} from '../../types';\nimport {getButtonSizeForInput} from '../../utils/getButtonSizeForInput';\nimport {mergeProps} from '../../utils/mergeProps';\nimport type {DatePickerProps} from '../DatePicker';\nimport {i18n} from '../i18n';\nimport {getCalendarModes, getDateTimeValue} from '../utils';\n\nimport type {DatePickerState} from './useDatePickerState';\n\ninterface InnerDatePickerProps<T = DateTime> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupProps: React.HTMLAttributes<unknown> & {ref: React.Ref<any>};\n fieldProps: TextInputProps;\n calendarButtonProps: ButtonProps & {ref: React.Ref<HTMLButtonElement>};\n popupProps: PopupProps;\n calendarProps: CalendarProps<T> & {ref: React.Ref<CalendarInstance>};\n timeInputProps: DateFieldProps<T>;\n}\n\nexport function useDatePickerProps<T extends DateTime | RangeValue<DateTime>>(\n state: DatePickerState<T>,\n {onFocus, onBlur, ...props}: DatePickerProps<T>,\n): InnerDatePickerProps<T> {\n const [isActive, setActive] = React.useState(false);\n\n const [focusedDate, setFocusedDate] = React.useState(\n isDateTime(state.dateFieldState.displayValue)\n ? state.dateFieldState.displayValue\n : state.dateFieldState.displayValue.start,\n );\n const [prevDateValue, setPrevDateValue] = React.useState<any>(\n state.dateFieldState.displayValue,\n );\n\n if (isDateTime(state.dateFieldState.displayValue)) {\n if (!state.dateFieldState.displayValue.isSame(prevDateValue, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue);\n }\n } else if (!state.dateFieldState.displayValue.start.isSame(prevDateValue.start, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue.start);\n } else if (!state.dateFieldState.displayValue.end.isSame(prevDateValue.end, 'day')) {\n setPrevDateValue(state.dateFieldState.displayValue);\n setFocusedDate(state.dateFieldState.displayValue.end);\n }\n\n const {focusWithinProps} = useFocusWithin({\n onFocusWithin: onFocus,\n onBlurWithin: onBlur,\n onFocusWithinChange(isFocusWithin) {\n setActive(isFocusWithin);\n if (!isFocusWithin) {\n state.setOpen(false, 'FocusOut');\n }\n },\n });\n\n const {inputProps} = useDateFieldProps(state.dateFieldState, props);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleRef = useForkRef(inputRef, inputProps.controlRef);\n\n const calendarRef = React.useRef<CalendarInstance>(null);\n const calendarButtonRef = React.useRef<HTMLButtonElement>(null);\n const groupRef = React.useRef<HTMLElement>(null);\n\n function focusInput() {\n setTimeout(() => {\n inputRef.current?.focus({preventScroll: true});\n });\n }\n\n const onlyTime = state.formatInfo.hasTime && !state.formatInfo.hasDate;\n const calendarModes = getCalendarModes(state.formatInfo);\n\n return {\n groupProps: {\n ref: groupRef,\n tabIndex: -1,\n role: 'group',\n ...focusWithinProps,\n style: props.style,\n 'aria-disabled': state.disabled || undefined,\n onKeyDown: (e) => {\n if (!onlyTime && e.altKey && (e.key === 'ArrowDown' || e.key === 'ArrowUp')) {\n e.preventDefault();\n e.stopPropagation();\n state.setOpen(true, 'ShortcutKeyDown');\n }\n },\n },\n fieldProps: mergeProps(\n inputProps,\n state.dateFieldState.isEmpty && !isActive && props.placeholder\n ? {value: ''}\n : undefined,\n {\n controlRef: handleRef,\n controlProps: {role: 'combobox', 'aria-expanded': state.isOpen},\n },\n ),\n calendarButtonProps: {\n ref: calendarButtonRef,\n size: getButtonSizeForInput(props.size),\n disabled: state.disabled,\n extraProps: {\n 'aria-label': i18n('Calendar'),\n 'aria-haspopup': 'dialog',\n 'aria-expanded': state.isOpen,\n },\n view: 'flat-secondary',\n onClick: () => {\n setActive(true);\n state.setOpen(!state.isOpen, 'TriggerButtonClick');\n },\n },\n popupProps: {\n open: state.isOpen,\n onEscapeKeyDown: () => {\n state.setOpen(false, 'EscapeKeyDown');\n focusInput();\n },\n onOutsideClick: (e) => {\n if (e.target !== calendarButtonRef.current) {\n state.setOpen(false, 'ClickOutside');\n }\n if (e.target && groupRef.current?.contains(e.target as Node)) {\n focusInput();\n }\n },\n onTransitionExited: () => {\n setFocusedDate(\n isDateTime(state.dateFieldState.displayValue)\n ? state.dateFieldState.displayValue\n : state.dateFieldState.displayValue.start,\n );\n },\n focusTrap: !props.disableFocusTrap,\n disablePortal: props.disablePortal,\n },\n calendarProps: {\n ref: calendarRef,\n autoFocus: true,\n size: props.size === 's' ? 'm' : props.size,\n disabled: props.disabled,\n readOnly: props.readOnly,\n onUpdate: (d) => {\n state.setDateValue(d);\n if (!state.formatInfo.hasTime) {\n focusInput();\n }\n },\n value: state.dateFieldState.displayValue,\n minValue: props.minValue,\n maxValue: props.maxValue,\n isDateUnavailable: props.isDateUnavailable,\n timeZone: state.timeZone,\n focusedValue: focusedDate,\n onFocusUpdate: setFocusedDate,\n modes: calendarModes,\n },\n timeInputProps: {\n value: state.timeValue,\n placeholderValue: getDateTimeValue(state.dateFieldState.displayValue),\n onUpdate: state.setTimeValue,\n format: state.timeFormat,\n readOnly: state.readOnly,\n disabled: state.disabled,\n timeZone: state.timeZone,\n hasClear: props.hasClear,\n size: props.size,\n },\n };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { DateFieldBase } from
|
|
3
|
-
export type { DatePickerState } from
|
|
2
|
+
import type { DateFieldBase } from "../../types/index.js";
|
|
3
|
+
export type { DatePickerState } from "./datePickerStateFactory.js";
|
|
4
4
|
export interface DatePickerStateOptions extends DateFieldBase {
|
|
5
5
|
}
|
|
6
|
-
export declare const useDatePickerState: (props: import("../../
|
|
6
|
+
export declare const useDatePickerState: (props: import("../../index.js").DateFieldStateOptions) => import("./datePickerStateFactory.js").DatePickerState<DateTime>;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { useDateFieldState } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { useDateFieldState } from "../../DateField/index.js";
|
|
2
|
+
import { adjustDateToFormat } from "../../DateField/utils.js";
|
|
3
|
+
import { createPlaceholderValue, mergeDateTime } from "../../utils/dates.js";
|
|
4
|
+
import { getDateTimeValue } from "../utils/index.js";
|
|
5
|
+
import { datePickerStateFactory } from "./datePickerStateFactory.js";
|
|
5
6
|
export const useDatePickerState = datePickerStateFactory({
|
|
6
7
|
getPlaceholderTime,
|
|
7
8
|
mergeDateTime,
|
|
8
9
|
setTimezone: (date, timeZone) => date.timeZone(timeZone),
|
|
9
10
|
getDateTime: getDateTimeValue,
|
|
10
11
|
useDateFieldState,
|
|
12
|
+
adjustDateToFormat,
|
|
11
13
|
});
|
|
12
14
|
function getPlaceholderTime(placeholderValue, timeZone) {
|
|
13
15
|
return createPlaceholderValue({ placeholderValue, timeZone });
|
|
14
16
|
}
|
|
17
|
+
//# sourceMappingURL=useDatePickerState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDatePickerState.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/hooks/useDatePickerState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,iCAAwB;AAClD,OAAO,EAAC,kBAAkB,EAAC,iCAA8B;AAEzD,OAAO,EAAC,sBAAsB,EAAE,aAAa,EAAC,6BAA0B;AACxE,OAAO,EAAC,gBAAgB,EAAC,0BAAiB;AAE1C,OAAO,EAAC,sBAAsB,EAAC,oCAAiC;AAMhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;IACrD,kBAAkB;IAClB,aAAa;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACxD,WAAW,EAAE,gBAAgB;IAC7B,iBAAiB;IACjB,kBAAkB;CACrB,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,gBAAsC,EAAE,QAAiB;IACjF,OAAO,sBAAsB,CAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import type {DateTime} from '@gravity-ui/date-utils';\n\nimport {useDateFieldState} from '../../DateField';\nimport {adjustDateToFormat} from '../../DateField/utils';\nimport type {DateFieldBase} from '../../types';\nimport {createPlaceholderValue, mergeDateTime} from '../../utils/dates';\nimport {getDateTimeValue} from '../utils';\n\nimport {datePickerStateFactory} from './datePickerStateFactory';\n\nexport type {DatePickerState} from './datePickerStateFactory';\n\nexport interface DatePickerStateOptions extends DateFieldBase {}\n\nexport const useDatePickerState = datePickerStateFactory({\n getPlaceholderTime,\n mergeDateTime,\n setTimezone: (date, timeZone) => date.timeZone(timeZone),\n getDateTime: getDateTimeValue,\n useDateFieldState,\n adjustDateToFormat,\n});\n\nfunction getPlaceholderTime(placeholderValue: DateTime | undefined, timeZone?: string) {\n return createPlaceholderValue({placeholderValue, timeZone});\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
|
|
2
|
-
import { NAMESPACE } from
|
|
3
|
-
import en from
|
|
4
|
-
import ru from
|
|
2
|
+
import { NAMESPACE } from "../../../utils/cn.js";
|
|
3
|
+
import en from "./en.json";
|
|
4
|
+
import ru from "./ru.json";
|
|
5
5
|
export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}date-picker`);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAC,SAAS,EAAC,6BAA0B;AAE5C,OAAO,EAAE,kBAAkB;AAC3B,OAAO,EAAE,kBAAkB;AAE3B,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC","sourcesContent":["import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport const i18n = addComponentKeysets({en, ru}, `${NAMESPACE}date-picker`);\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./DatePicker.js";
|
|
2
|
+
export * from "./hooks/useDatePickerState.js";
|
|
3
|
+
export * from "./hooks/useDatePickerProps.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./DatePicker.js";
|
|
2
|
+
export * from "./hooks/useDatePickerState.js";
|
|
3
|
+
export * from "./hooks/useDatePickerProps.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["components/DatePicker/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAE7B,8CAA2C;AAC3C,8CAA2C","sourcesContent":["export * from './DatePicker';\n\nexport * from './hooks/useDatePickerState';\nexport * from './hooks/useDatePickerProps';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cn.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,6BAA0B;AAExC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import {block} from '../../../utils/cn';\n\nexport const b = block('date-picker');\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CalendarLayout } from "../../CalendarView/hooks/types.js";
|
|
2
|
+
import type { FormatInfo } from "../../DateField/types.js";
|
|
3
|
+
type LayoutModes = Partial<Record<CalendarLayout, boolean>>;
|
|
4
|
+
export declare function getCalendarModes(formatInfo: FormatInfo): LayoutModes | undefined;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function getCalendarModes(formatInfo) {
|
|
2
|
+
if (!formatInfo.hasDate) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
const modes = { years: true };
|
|
6
|
+
if (formatInfo.availableUnits.day) {
|
|
7
|
+
modes.days = true;
|
|
8
|
+
modes.months = true;
|
|
9
|
+
}
|
|
10
|
+
if (formatInfo.availableUnits.month) {
|
|
11
|
+
modes.months = true;
|
|
12
|
+
}
|
|
13
|
+
if (formatInfo.availableUnits.quarter && !modes.months) {
|
|
14
|
+
modes.quarters = true;
|
|
15
|
+
}
|
|
16
|
+
return modes;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getCalendarModes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCalendarModes.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/utils/getCalendarModes.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,gBAAgB,CAAC,UAAsB;IACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAgB,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;IACzC,IAAI,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC","sourcesContent":["import type {CalendarLayout} from '../../CalendarView/hooks/types';\nimport type {FormatInfo} from '../../DateField/types';\n\ntype LayoutModes = Partial<Record<CalendarLayout, boolean>>;\n\nexport function getCalendarModes(formatInfo: FormatInfo): LayoutModes | undefined {\n if (!formatInfo.hasDate) {\n return undefined;\n }\n\n const modes: LayoutModes = {years: true};\n if (formatInfo.availableUnits.day) {\n modes.days = true;\n modes.months = true;\n }\n\n if (formatInfo.availableUnits.month) {\n modes.months = true;\n }\n\n if (formatInfo.availableUnits.quarter && !modes.months) {\n modes.quarters = true;\n }\n\n return modes;\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
-
import type { RangeValue } from
|
|
2
|
+
import type { RangeValue } from "../../types/index.js";
|
|
3
3
|
export declare function getDateTimeValue(value: DateTime | RangeValue<DateTime> | null | undefined): DateTime | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDateTimeValue.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/utils/getDateTimeValue.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gBAAgB,CAC5B,KAAyD;IAEzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC","sourcesContent":["import type {DateTime} from '@gravity-ui/date-utils';\n\nimport type {RangeValue} from '../../types';\n\nexport function getDateTimeValue(\n value: DateTime | RangeValue<DateTime> | null | undefined,\n): DateTime | undefined {\n if (!value) {\n return undefined;\n }\n\n return 'start' in value && 'end' in value ? value.start : value;\n}\n"]}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./cn.js";
|
|
2
|
+
export * from "./getDateTimeValue.js";
|
|
3
|
+
export * from "./getCalendarModes.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["components/DatePicker/utils/index.ts"],"names":[],"mappings":"AAAA,wBAAqB;AACrB,sCAAmC;AACnC,sCAAmC","sourcesContent":["export * from './cn';\nexport * from './getDateTimeValue';\nexport * from './getCalendarModes';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiddenInput.js","sourceRoot":"../../../../src","sources":["components/HiddenInput/HiddenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,UAAU,WAAW,CAAI,EAC3B,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,GACK;IAClB,MAAM,GAAG,GAAG,mBAAmB,CAAI,EAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,CAAC;IAClE,OAAO,gBAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,EACnC,YAAY,EACZ,OAAO,GAIV;IACG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAEnF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE9C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACR,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CACzB,CAAC,IAAuE,EAAE,EAAE;;QACxE,cAAc,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,CAAC,CAAC;IACvC,CAAC,EACD,EAAE,CACL,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC","sourcesContent":["import React from 'react';\n\ninterface HiddenInputProps<T> {\n value: T;\n onReset?: (value: T) => void;\n toStringValue?: (value: T) => string;\n name?: string;\n disabled?: boolean;\n form?: string;\n}\nexport function HiddenInput<T>({\n name,\n value,\n onReset,\n form,\n disabled,\n toStringValue,\n}: HiddenInputProps<T>) {\n const ref = useFormResetHandler<T>({initialValue: value, onReset});\n\n if (!name) {\n return null;\n }\n\n const v = toStringValue ? toStringValue(value) : `${value ?? ''}`;\n return <input ref={ref} type=\"hidden\" name={name} value={v} disabled={disabled} form={form} />;\n}\n\nexport function useFormResetHandler<T>({\n initialValue,\n onReset,\n}: {\n initialValue: T;\n onReset?: (value: T) => void;\n}) {\n const [formElement, setFormElement] = React.useState<HTMLFormElement | null>(null);\n\n const resetValue = React.useRef(initialValue);\n\n React.useEffect(() => {\n if (!formElement || !onReset) {\n return undefined;\n }\n\n const handleReset = () => {\n onReset(resetValue.current);\n };\n\n formElement.addEventListener('reset', handleReset);\n return () => {\n formElement.removeEventListener('reset', handleReset);\n };\n }, [formElement, onReset]);\n\n const ref = React.useCallback(\n (node: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | null) => {\n setFormElement(node?.form ?? null);\n },\n [],\n );\n\n return ref;\n}\n"]}
|