@gravity-ui/date-components 3.2.3 → 3.3.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/README.md +89 -1
- package/dist/cjs/components/CalendarView/Calendar.css.map +1 -1
- package/dist/cjs/components/CalendarView/CalendarView.js +4 -2
- package/dist/cjs/components/CalendarView/CalendarView.js.map +1 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js +12 -10
- package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js +2 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -1
- package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js +19 -10
- package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js.map +1 -1
- package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js +2 -2
- package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -1
- package/dist/cjs/components/CalendarView/i18n/index.d.ts +8 -0
- package/dist/cjs/components/DateField/DateField.css.map +1 -1
- package/dist/cjs/components/DateField/DateField.js +4 -1
- package/dist/cjs/components/DateField/DateField.js.map +1 -1
- package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +0 -1
- package/dist/cjs/components/DateField/hooks/useDateFieldProps.js.map +1 -1
- package/dist/cjs/components/DateField/i18n/index.d.ts +8 -0
- package/dist/cjs/components/DateField/utils.d.ts +5 -1
- package/dist/cjs/components/DateField/utils.js +26 -24
- package/dist/cjs/components/DateField/utils.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.css.map +1 -1
- package/dist/cjs/components/DatePicker/MobileCalendar.css.map +1 -1
- package/dist/cjs/components/DatePicker/StubButton.css.map +1 -1
- package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +18 -11
- package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js.map +1 -1
- package/dist/cjs/components/DatePicker/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RangeDateField/RangeDateField.css.map +1 -1
- package/dist/cjs/components/RangeDateField/RangeDateField.d.ts +1 -1
- package/dist/cjs/components/RangeDateField/RangeDateField.js +4 -1
- package/dist/cjs/components/RangeDateField/RangeDateField.js.map +1 -1
- package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +5 -7
- package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -1
- package/dist/cjs/components/RangeDatePicker/RangeDatePicker.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js +3 -2
- package/dist/cjs/components/RangeDateSelection/RangeDateSelection.js.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -2
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +4 -3
- package/dist/cjs/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -1
- package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +21 -21
- package/dist/cjs/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -1
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +0 -2
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +1 -1
- package/dist/cjs/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -1
- package/dist/cjs/components/RangeDateSelection/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RelativeDateField/RelativeDateField.css.map +1 -1
- package/dist/cjs/components/RelativeDateField/RelativeDateField.js +4 -1
- package/dist/cjs/components/RelativeDateField/RelativeDateField.js.map +1 -1
- package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -1
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +7 -3
- package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -1
- package/dist/cjs/components/RelativeDatePicker/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +4 -1
- package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js +18 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Control/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js +11 -19
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.js +4 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +10 -2
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +6 -3
- package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +4 -2
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +5 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +31 -75
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +5 -2
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +5 -5
- package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +3 -8
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +8 -0
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +0 -11
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -32
- package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -1
- package/dist/cjs/components/RelativeRangeDatePicker/i18n/en.json +0 -3
- package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.d.ts +10 -2
- package/dist/cjs/components/RelativeRangeDatePicker/i18n/ru.json +0 -3
- package/dist/cjs/components/RelativeRangeDatePicker/utils.d.ts +5 -2
- package/dist/cjs/components/RelativeRangeDatePicker/utils.js +5 -4
- package/dist/cjs/components/RelativeRangeDatePicker/utils.js.map +1 -1
- package/dist/cjs/components/types/helpers.d.ts +1 -0
- package/dist/cjs/components/types/helpers.js +3 -0
- package/dist/cjs/components/types/helpers.js.map +1 -0
- package/dist/cjs/components/types/index.d.ts +1 -0
- package/dist/cjs/components/types/index.js.map +1 -1
- package/dist/cjs/components/types/inputs.d.ts +2 -2
- package/dist/cjs/components/types/inputs.js.map +1 -1
- package/dist/cjs/components/utils/dates.d.ts +1 -1
- package/dist/cjs/components/utils/dates.js +2 -2
- package/dist/cjs/components/utils/dates.js.map +1 -1
- package/dist/cjs/components/utils/validation/datePicker.d.ts +3 -1
- package/dist/cjs/components/utils/validation/datePicker.js +4 -4
- package/dist/cjs/components/utils/validation/datePicker.js.map +1 -1
- package/dist/cjs/components/utils/validation/i18n/en.json +6 -1
- package/dist/cjs/components/utils/validation/i18n/index.d.ts +10 -2
- package/dist/cjs/components/utils/validation/i18n/ru.json +7 -1
- package/dist/cjs/components/utils/validation/relativeRangeDatePicker.d.ts +15 -0
- package/dist/cjs/components/utils/validation/relativeRangeDatePicker.js +34 -0
- package/dist/cjs/components/utils/validation/relativeRangeDatePicker.js.map +1 -0
- package/dist/cjs/package.json +1 -1
- package/dist/esm/components/CalendarView/Calendar.css.map +1 -1
- package/dist/esm/components/CalendarView/CalendarView.js +5 -3
- package/dist/esm/components/CalendarView/CalendarView.js.map +1 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js +12 -10
- package/dist/esm/components/CalendarView/hooks/useCalendarCellProps.js.map +1 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js +3 -2
- package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.js.map +1 -1
- package/dist/esm/components/CalendarView/hooks/useCalendarProps.js +20 -11
- package/dist/esm/components/CalendarView/hooks/useCalendarProps.js.map +1 -1
- package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js +2 -2
- package/dist/esm/components/CalendarView/hooks/useRangeCalendarState.js.map +1 -1
- package/dist/esm/components/CalendarView/i18n/index.d.ts +8 -0
- package/dist/esm/components/DateField/DateField.css.map +1 -1
- package/dist/esm/components/DateField/DateField.js +4 -1
- package/dist/esm/components/DateField/DateField.js.map +1 -1
- package/dist/esm/components/DateField/hooks/useDateFieldProps.js +0 -1
- package/dist/esm/components/DateField/hooks/useDateFieldProps.js.map +1 -1
- package/dist/esm/components/DateField/i18n/index.d.ts +8 -0
- package/dist/esm/components/DateField/utils.d.ts +5 -1
- package/dist/esm/components/DateField/utils.js +26 -24
- package/dist/esm/components/DateField/utils.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.css.map +1 -1
- package/dist/esm/components/DatePicker/MobileCalendar.css.map +1 -1
- package/dist/esm/components/DatePicker/StubButton.css.map +1 -1
- package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +18 -11
- package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js.map +1 -1
- package/dist/esm/components/DatePicker/i18n/index.d.ts +8 -0
- package/dist/esm/components/RangeDateField/RangeDateField.css.map +1 -1
- package/dist/esm/components/RangeDateField/RangeDateField.d.ts +1 -1
- package/dist/esm/components/RangeDateField/RangeDateField.js +4 -1
- package/dist/esm/components/RangeDateField/RangeDateField.js.map +1 -1
- package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js +6 -8
- package/dist/esm/components/RangeDateField/hooks/useRangeDateFieldState.js.map +1 -1
- package/dist/esm/components/RangeDatePicker/RangeDatePicker.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.js +3 -2
- package/dist/esm/components/RangeDateSelection/RangeDateSelection.js.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/NowLine/NowLine.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/RulerViewport/RulerViewport.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css +2 -2
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js +4 -3
- package/dist/esm/components/RangeDateSelection/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/Ticks/Ticks.css.map +1 -1
- package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js +21 -21
- package/dist/esm/components/RangeDateSelection/components/Ticks/UnavialableTicks.js.map +1 -1
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.d.ts +0 -2
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js +1 -1
- package/dist/esm/components/RangeDateSelection/hooks/useRangeDateSelectionState.js.map +1 -1
- package/dist/esm/components/RangeDateSelection/i18n/index.d.ts +8 -0
- package/dist/esm/components/RelativeDateField/RelativeDateField.css.map +1 -1
- package/dist/esm/components/RelativeDateField/RelativeDateField.js +4 -1
- package/dist/esm/components/RelativeDateField/RelativeDateField.js.map +1 -1
- package/dist/esm/components/RelativeDatePicker/RelativeDatePicker.css.map +1 -1
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +7 -3
- package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js.map +1 -1
- package/dist/esm/components/RelativeDatePicker/i18n/index.d.ts +8 -0
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +4 -1
- package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js +18 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/Control.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Control/i18n/index.d.ts +8 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js +11 -19
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.js +4 -3
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.d.ts +10 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +5 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +4 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +5 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +30 -75
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +8 -0
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +5 -2
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +5 -5
- package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.css.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js +3 -8
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/Zones.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/components/Zones/i18n/index.d.ts +8 -0
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.d.ts +0 -11
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -31
- package/dist/esm/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js.map +1 -1
- package/dist/esm/components/RelativeRangeDatePicker/i18n/en.json +0 -3
- package/dist/esm/components/RelativeRangeDatePicker/i18n/index.d.ts +10 -2
- package/dist/esm/components/RelativeRangeDatePicker/i18n/ru.json +0 -3
- package/dist/esm/components/RelativeRangeDatePicker/utils.d.ts +5 -2
- package/dist/esm/components/RelativeRangeDatePicker/utils.js +5 -4
- package/dist/esm/components/RelativeRangeDatePicker/utils.js.map +1 -1
- package/dist/esm/components/types/helpers.d.ts +1 -0
- package/dist/esm/components/types/helpers.js +2 -0
- package/dist/esm/components/types/helpers.js.map +1 -0
- package/dist/esm/components/types/index.d.ts +1 -0
- package/dist/esm/components/types/index.js.map +1 -1
- package/dist/esm/components/types/inputs.d.ts +2 -2
- package/dist/esm/components/types/inputs.js.map +1 -1
- package/dist/esm/components/utils/dates.d.ts +1 -1
- package/dist/esm/components/utils/dates.js +2 -2
- package/dist/esm/components/utils/dates.js.map +1 -1
- package/dist/esm/components/utils/validation/datePicker.d.ts +3 -1
- package/dist/esm/components/utils/validation/datePicker.js +4 -4
- package/dist/esm/components/utils/validation/datePicker.js.map +1 -1
- package/dist/esm/components/utils/validation/i18n/en.json +6 -1
- package/dist/esm/components/utils/validation/i18n/index.d.ts +10 -2
- package/dist/esm/components/utils/validation/i18n/ru.json +7 -1
- package/dist/esm/components/utils/validation/relativeRangeDatePicker.d.ts +15 -0
- package/dist/esm/components/utils/validation/relativeRangeDatePicker.js +31 -0
- package/dist/esm/components/utils/validation/relativeRangeDatePicker.js.map +1 -0
- package/dist/esm/package.json +1 -1
- package/package.json +50 -52
package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerForm.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {Button, Text} from '@gravity-ui/uikit';\nimport type {TextInputSize} from '@gravity-ui/uikit';\n\nimport {block} from '../../../../utils/cn';\nimport {RelativeDatePicker} from '../../../RelativeDatePicker';\nimport type {RelativeDatePickerProps} from '../../../RelativeDatePicker';\nimport type {DomProps, StyleProps} from '../../../types';\nimport type {RelativeRangeDatePickerStateOptions} from '../../hooks/useRelativeRangeDatePickerState';\nimport {Presets} from '../Presets/Presets';\nimport type {Preset} from '../Presets/defaultPresets';\nimport type {PresetTab} from '../Presets/utils';\nimport {Zones} from '../Zones/Zones';\n\nimport {PickerDoc} from './PickerDoc';\nimport {i18n} from './i18n';\nimport {useRelativeRangeDatePickerDialogState} from './useRelativeRangeDatePickerDialogState';\n\nimport './PickerForm.scss';\n\nconst b = block('relative-range-date-picker-form');\n\nexport interface PickerFormProps extends RelativeRangeDatePickerStateOptions, DomProps, StyleProps {\n /** The size of the element */\n size?: TextInputSize;\n /**\n * Whether the values is immutable.\n * @default false\n */\n readOnly?: boolean;\n /** Format of the date when rendered in the input. [Available formats](https://day.js.org/docs/en/display/format) */\n format?: string;\n /** A placeholder date that controls the default values of each segment when the user first interacts with them. Defaults to today's date at midnight. */\n placeholderValue?: DateTime;\n /** Apply changes with button */\n withApplyButton?: boolean;\n /** Show time zone selector */\n withZonesList?: boolean;\n /** Show relative range presets */\n withPresets?: boolean;\n /** Apply presets immediately */\n applyPresetsImmediately?: boolean;\n /** Show header with docs tooltip */\n withHeader?: boolean;\n /** Custom preset tabs */\n presetTabs?: PresetTab[];\n /** Custom docs for picker, if empty array docs will be hidden */\n docs?: Preset[];\n}\n\nexport function PickerForm(\n props: PickerFormProps & {\n onApply: () => void;\n },\n) {\n const state = useRelativeRangeDatePickerDialogState(props);\n\n const fieldProps: RelativeDatePickerProps = {\n timeZone: state.timeZone,\n format: props.format,\n minValue: props.minValue,\n maxValue: props.maxValue,\n hasClear: props.allowNullableValues,\n readOnly: props.readOnly,\n size: props.size,\n errorPlacement: 'inside',\n };\n const {isDateUnavailable, withHeader = false} = props;\n return (\n <div className={b({size: props.size}, props.className)} style={props.style}>\n {withHeader && (\n <div className={b('header')}>\n <Text variant={props.size === 'xl' ? 'subheader-3' : 'subheader-2'}>\n {i18n('Select the interval')}\n </Text>\n <PickerDoc\n size={props.size}\n docs={props.docs}\n onStartUpdate={(start) => {\n state.setStart({type: 'relative', value: start});\n }}\n onEndUpdate={(end) => {\n state.setEnd({type: 'relative', value: end});\n }}\n />\n </div>\n )}\n\n <div className={b('pickers')}>\n <RelativeDatePicker\n {...fieldProps}\n isDateUnavailable={\n isDateUnavailable ? (date) => isDateUnavailable(date, 'start') : undefined\n }\n validationState={state.startValidation?.isInvalid ? 'invalid' : undefined}\n errorMessage={\n state.startValidation?.errors?.join('\\n') || i18n('Value is incorrect.')\n }\n placeholderValue={props.placeholderValue?.startOf('day')}\n label={i18n('From')}\n value={state.start}\n onUpdate={state.setStart}\n />\n <RelativeDatePicker\n {...fieldProps}\n isDateUnavailable={\n isDateUnavailable ? (date) => isDateUnavailable(date, 'end') : undefined\n }\n validationState={state.endValidation?.isInvalid ? 'invalid' : undefined}\n errorMessage={\n state.endValidation?.errors?.join('\\n') || i18n('Value is incorrect.')\n }\n placeholderValue={props.placeholderValue?.endOf('day')}\n label={i18n('To')}\n value={state.end}\n onUpdate={state.setEnd}\n roundUp\n />\n </div>\n {props.withApplyButton && !props.readOnly ? (\n <Button\n disabled={state.isInvalid}\n size={props.size}\n onClick={() => {\n state.applyValue();\n props.onApply();\n }}\n className={b('apply')}\n width=\"max\"\n >\n {i18n('Apply')}\n </Button>\n ) : null}\n {props.withPresets && !props.readOnly ? (\n <Presets\n size={props.size}\n presetTabs={props.presetTabs}\n onChoosePreset={(start, end) => {\n state.setRange(\n {type: 'relative', value: start},\n {type: 'relative', value: end},\n props.applyPresetsImmediately,\n );\n if (!props.withApplyButton || props.applyPresetsImmediately) {\n props.onApply();\n }\n }}\n minValue={props.minValue}\n className={b('presets')}\n />\n ) : null}\n {props.withZonesList ? (\n <div className={b('zone')}>\n <Zones\n value={state.timeZone}\n onUpdate={state.setTimeZone}\n disabled={props.readOnly}\n size={props.size}\n />\n </div>\n ) : null}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PickerForm.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/PickerDialog/PickerForm.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type {DateTime} from '@gravity-ui/date-utils';\nimport {Button, Text} from '@gravity-ui/uikit';\nimport type {TextInputSize} from '@gravity-ui/uikit';\n\nimport {block} from '../../../../utils/cn';\nimport {RelativeDatePicker} from '../../../RelativeDatePicker';\nimport type {RelativeDatePickerProps} from '../../../RelativeDatePicker';\nimport type {DomProps, StyleProps} from '../../../types';\nimport type {RelativeRangeDatePickerStateOptions} from '../../hooks/useRelativeRangeDatePickerState';\nimport {Presets} from '../Presets/Presets';\nimport type {Preset} from '../Presets/defaultPresets';\nimport type {PresetTab} from '../Presets/utils';\nimport {Zones} from '../Zones/Zones';\n\nimport {PickerDoc} from './PickerDoc';\nimport {i18n} from './i18n';\nimport {useRelativeRangeDatePickerDialogState} from './useRelativeRangeDatePickerDialogState';\n\nimport './PickerForm.scss';\n\nconst b = block('relative-range-date-picker-form');\n\nexport interface PickerFormProps extends RelativeRangeDatePickerStateOptions, DomProps, StyleProps {\n /** The size of the element */\n size?: TextInputSize;\n /**\n * Whether the values is immutable.\n * @default false\n */\n readOnly?: boolean;\n /** Format of the date when rendered in the input. [Available formats](https://day.js.org/docs/en/display/format) */\n format?: string;\n /** A placeholder date that controls the default values of each segment when the user first interacts with them. Defaults to today's date at midnight. */\n placeholderValue?: DateTime;\n /** Apply changes with button */\n withApplyButton?: boolean;\n /** Show time zone selector */\n withZonesList?: boolean;\n /** Show relative range presets */\n withPresets?: boolean;\n /** Apply presets immediately */\n applyPresetsImmediately?: boolean;\n /** Show header with docs tooltip */\n withHeader?: boolean;\n /** Custom preset tabs */\n presetTabs?: PresetTab[];\n /** Custom docs for picker, if empty array docs will be hidden */\n docs?: Preset[];\n}\n\nexport function PickerForm(\n props: PickerFormProps & {\n onApply: () => void;\n },\n) {\n const state = useRelativeRangeDatePickerDialogState(props);\n\n const fieldProps: RelativeDatePickerProps = {\n timeZone: state.timeZone,\n format: props.format,\n minValue: props.minValue,\n maxValue: props.maxValue,\n hasClear: props.allowNullableValues,\n readOnly: props.readOnly,\n size: props.size,\n errorPlacement: 'inside',\n };\n const {isDateUnavailable, withHeader = false} = props;\n const {t} = i18n.useTranslation();\n return (\n <div className={b({size: props.size}, props.className)} style={props.style}>\n {withHeader && (\n <div className={b('header')}>\n <Text variant={props.size === 'xl' ? 'subheader-3' : 'subheader-2'}>\n {t('Select the interval')}\n </Text>\n <PickerDoc\n size={props.size}\n docs={props.docs}\n onStartUpdate={(start) => {\n state.setStart({type: 'relative', value: start});\n }}\n onEndUpdate={(end) => {\n state.setEnd({type: 'relative', value: end});\n }}\n />\n </div>\n )}\n\n <div className={b('pickers')}>\n <RelativeDatePicker\n {...fieldProps}\n isDateUnavailable={\n isDateUnavailable ? (date) => isDateUnavailable(date, 'start') : undefined\n }\n validationState={state.startValidation?.isInvalid ? 'invalid' : undefined}\n errorMessage={\n state.startValidation?.errors?.join('\\n') || t('Value is incorrect.')\n }\n placeholderValue={props.placeholderValue?.startOf('day')}\n label={t('From')}\n value={state.start}\n onUpdate={state.setStart}\n />\n <RelativeDatePicker\n {...fieldProps}\n isDateUnavailable={\n isDateUnavailable ? (date) => isDateUnavailable(date, 'end') : undefined\n }\n validationState={state.endValidation?.isInvalid ? 'invalid' : undefined}\n errorMessage={\n state.endValidation?.errors?.join('\\n') || t('Value is incorrect.')\n }\n placeholderValue={props.placeholderValue?.endOf('day')}\n label={t('To')}\n value={state.end}\n onUpdate={state.setEnd}\n roundUp\n />\n </div>\n {props.withApplyButton && !props.readOnly ? (\n <Button\n disabled={state.isInvalid}\n size={props.size}\n onClick={() => {\n state.applyValue();\n props.onApply();\n }}\n className={b('apply')}\n width=\"max\"\n >\n {t('Apply')}\n </Button>\n ) : null}\n {props.withPresets && !props.readOnly ? (\n <Presets\n size={props.size}\n presetTabs={props.presetTabs}\n onChoosePreset={(start, end) => {\n state.setRange(\n {type: 'relative', value: start},\n {type: 'relative', value: end},\n props.applyPresetsImmediately,\n );\n if (!props.withApplyButton || props.applyPresetsImmediately) {\n props.onApply();\n }\n }}\n minValue={props.minValue}\n className={b('presets')}\n />\n ) : null}\n {props.withZonesList ? (\n <div className={b('zone')}>\n <Zones\n value={state.timeZone}\n onUpdate={state.setTimeZone}\n disabled={props.readOnly}\n size={props.size}\n />\n </div>\n ) : null}\n </div>\n );\n}\n"]}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
export declare const i18n: ((key: "
|
|
1
|
+
export declare const i18n: ((key: "\"From\" can't be after \"To\"." | "Value is required." | "From" | "To" | "Value is incorrect." | "Apply" | "Select the interval", params?: import("@gravity-ui/i18n").Params) => string) & {
|
|
2
|
+
Translation: import("react").ComponentType<{
|
|
3
|
+
children: (props: {
|
|
4
|
+
t: (key: "\"From\" can't be after \"To\"." | "Value is required." | "From" | "To" | "Value is incorrect." | "Apply" | "Select the interval", params?: import("@gravity-ui/i18n").Params) => string;
|
|
5
|
+
}) => React.ReactNode;
|
|
6
|
+
}>;
|
|
7
|
+
useTranslation: () => {
|
|
8
|
+
t: (key: "\"From\" can't be after \"To\"." | "Value is required." | "From" | "To" | "Value is incorrect." | "Apply" | "Select the interval", params?: import("@gravity-ui/i18n").Params) => string;
|
|
9
|
+
};
|
|
2
10
|
keysetData: {
|
|
3
|
-
"g-date-relative-range-date-picker-dialog": Record<"
|
|
11
|
+
"g-date-relative-range-date-picker-dialog": Record<"\"From\" can't be after \"To\"." | "Value is required." | "From" | "To" | "Value is incorrect." | "Apply" | "Select the interval", import("@gravity-ui/i18n").KeyData>;
|
|
4
12
|
};
|
|
5
13
|
};
|
|
@@ -4,7 +4,8 @@ exports.useRelativeRangeDatePickerDialogState = useRelativeRangeDatePickerDialog
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
-
const
|
|
7
|
+
const i18n_1 = require("../../../utils/validation/i18n/index.js");
|
|
8
|
+
const relativeRangeDatePicker_1 = require("../../../utils/validation/relativeRangeDatePicker.js");
|
|
8
9
|
function useRelativeRangeDatePickerDialogState(props) {
|
|
9
10
|
var _a, _b, _c, _d;
|
|
10
11
|
const [userTimeZone, setUserTimeZone] = (0, uikit_1.useControlledState)(props.timeZone, (_a = props.defaultTimeZone) !== null && _a !== void 0 ? _a : 'default', props.onUpdateTimeZone);
|
|
@@ -74,7 +75,8 @@ function useRelativeRangeDatePickerDialogState(props) {
|
|
|
74
75
|
}
|
|
75
76
|
setValue(getRangeValue(start, end, Object.assign(Object.assign({}, props), { timeZone, allowNullableValues })), timeZone);
|
|
76
77
|
}
|
|
77
|
-
const
|
|
78
|
+
const { t } = i18n_1.i18n.useTranslation();
|
|
79
|
+
const validation = react_1.default.useMemo(() => (0, relativeRangeDatePicker_1.getRangeValidationResult)(start || end ? { start, end } : null, allowNullableValues, props.minValue, props.maxValue, props.isDateUnavailable, timeZone, t), [
|
|
78
80
|
allowNullableValues,
|
|
79
81
|
end,
|
|
80
82
|
props.isDateUnavailable,
|
|
@@ -82,6 +84,7 @@ function useRelativeRangeDatePickerDialogState(props) {
|
|
|
82
84
|
props.minValue,
|
|
83
85
|
start,
|
|
84
86
|
timeZone,
|
|
87
|
+
t,
|
|
85
88
|
]);
|
|
86
89
|
return {
|
|
87
90
|
start,
|
|
@@ -102,7 +105,7 @@ function getRangeValue(start, end, options = {}) {
|
|
|
102
105
|
if (!start && !end) {
|
|
103
106
|
return null;
|
|
104
107
|
}
|
|
105
|
-
const { isInvalid } = (0,
|
|
108
|
+
const { isInvalid } = (0, relativeRangeDatePicker_1.getRangeValidationResult)({ start, end }, options.allowNullableValues, options.minValue, options.maxValue, options.isDateUnavailable, (_a = options.timeZone) !== null && _a !== void 0 ? _a : 'default');
|
|
106
109
|
if (isInvalid) {
|
|
107
110
|
return null;
|
|
108
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRelativeRangeDatePickerDialogState.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useRelativeRangeDatePickerDialogState.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.tsx"],"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 {Value} from '../../../RelativeDatePicker';\nimport type {RangeValue} from '../../../types';\nimport {i18n} from '../../../utils/validation/i18n';\nimport {getRangeValidationResult} from '../../../utils/validation/relativeRangeDatePicker';\n\nimport type {PickerFormProps} from './PickerForm';\n\nexport function useRelativeRangeDatePickerDialogState(props: PickerFormProps) {\n const [userTimeZone, setUserTimeZone] = useControlledState(\n props.timeZone,\n props.defaultTimeZone ?? 'default',\n props.onUpdateTimeZone,\n );\n\n const [value, setValue] = useControlledState(\n props.value,\n props.defaultValue ?? null,\n (v, tz: string) => {\n setUserTimeZone(tz);\n if (value !== v || (value && userTimeZone !== tz)) {\n props.onUpdate?.(v, tz);\n }\n },\n );\n\n const {withApplyButton} = props;\n\n const [start, setStart] = React.useState<Value | null>(value?.start ?? null);\n const [end, setEnd] = React.useState<Value | null>(value?.end ?? null);\n const [innerTimeZone, setTimeZone] = React.useState(userTimeZone);\n\n const timeZone = withApplyButton ? innerTimeZone : userTimeZone;\n const allowNullableValues = props.allowNullableValues;\n\n function setStartValue(newValue: Value | null) {\n if (props.readOnly) {\n return;\n }\n setStart(newValue);\n if (!withApplyButton) {\n setValue(\n getRangeValue(newValue, end, {...props, timeZone, allowNullableValues}),\n timeZone,\n );\n }\n }\n\n function setEndValue(newValue: Value | null) {\n if (props.readOnly) {\n return;\n }\n setEnd(newValue);\n if (!withApplyButton) {\n setValue(\n getRangeValue(start, newValue, {...props, timeZone, allowNullableValues}),\n timeZone,\n );\n }\n }\n\n function setTimeZoneValue(newTimeZone: string) {\n if (props.readOnly) {\n return;\n }\n setTimeZone(newTimeZone);\n const newStart = start ? {...start} : null;\n if (newStart?.type === 'absolute') {\n newStart.value = newStart.value.timeZone(newTimeZone, true);\n setStart(newStart);\n }\n const newEnd = end ? {...end} : null;\n if (newEnd?.type === 'absolute') {\n newEnd.value = newEnd.value.timeZone(newTimeZone, true);\n setEnd(newEnd);\n }\n if (!withApplyButton) {\n setValue(\n getRangeValue(newStart, newEnd, {\n ...props,\n timeZone: newTimeZone,\n allowNullableValues,\n }),\n newTimeZone,\n );\n }\n }\n\n function setRange(newStart: Value, newEnd: Value, force?: boolean) {\n if (props.readOnly) {\n return;\n }\n setStart(newStart);\n setEnd(newEnd);\n if (!withApplyButton || force) {\n setValue(\n getRangeValue(newStart, newEnd, {...props, timeZone, allowNullableValues}),\n timeZone,\n );\n }\n }\n\n function applyValue() {\n if (props.readOnly) {\n return;\n }\n setValue(getRangeValue(start, end, {...props, timeZone, allowNullableValues}), timeZone);\n }\n\n const {t} = i18n.useTranslation();\n const validation = React.useMemo(\n () =>\n getRangeValidationResult(\n start || end ? {start, end} : null,\n allowNullableValues,\n props.minValue,\n props.maxValue,\n props.isDateUnavailable,\n timeZone,\n t,\n ),\n [\n allowNullableValues,\n end,\n props.isDateUnavailable,\n props.maxValue,\n props.minValue,\n start,\n timeZone,\n t,\n ],\n );\n\n return {\n start,\n end,\n timeZone,\n setStart: setStartValue,\n setEnd: setEndValue,\n setRange,\n setTimeZone: setTimeZoneValue,\n applyValue,\n isInvalid: validation.isInvalid,\n startValidation: validation.startValidationResult,\n endValidation: validation.endValidationResult,\n };\n}\n\ninterface GetRangeValueOptions {\n allowNullableValues?: boolean;\n minValue?: DateTime;\n maxValue?: DateTime;\n isDateUnavailable?: (v: DateTime, endPoint: 'start' | 'end') => boolean;\n timeZone?: string;\n}\nfunction getRangeValue(\n start: Value | null,\n end: Value | null,\n options: GetRangeValueOptions = {},\n): RangeValue<Value | null> | null {\n if (!start && !end) {\n return null;\n }\n\n const {isInvalid} = getRangeValidationResult(\n {start, end},\n options.allowNullableValues,\n options.minValue,\n options.maxValue,\n options.isDateUnavailable,\n options.timeZone ?? 'default',\n );\n\n if (isInvalid) {\n return null;\n }\n\n return {start, end};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/RelativeRangeDatePicker/components/Presets/data:;charset=utf-8,@use%20'@gravity-ui/uikit/variables';%0A%0A$block:%20'.%23%7Bvariables.$ns%7Drelative-range-date-picker-presets';%0A%0A%23%7B$block%7D%20%7B%0A%20%20%20%20--g-list-item-padding:%200%20var(--_--g-date-picker-presets-padding,%200);%0A%0A%20%20%20%20&__tabs%20%7B%0A%20%20%20%20%20%20%20%20--g-tabs-border-width:%200;%0A%0A%20%20%20%20%20%20%20%20display:%20flex;%0A%20%20%20%20%20%20%20%20align-items:%20center;%0A%20%20%20%20%20%20%20%20gap:%20var(--g-spacing-2);%0A%0A%20%20%20%20%20%20%20%20padding-inline:%20var(--_--g-date-picker-presets-padding,%200);%0A%0A%20%20%20%20%20%20%20%20box-shadow:%20inset%200%20-1px%20var(--g-color-line-generic);%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__list-container%20%7B%0A%20%20%20%20%20%20%20%20outline:%20none;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&__content%20%7B%0A%20%20%20%20%20%20%20%20overflow:%20auto;%0A%0A%20%20%20%20%20%20%20%20height:%20128px;%0A%20%20%20%20%7D%0A%0A%20%20%20%20&_size%20%7B%0A%20%20%20%20%20%20%20%20&_l%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%7B$block%7D__content%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20height:%20144px;%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20&_xl%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%7B$block%7D__content%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20height:%20162px;%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20@include%20mixins.text-body-2();%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%7D%0A","components/RelativeRangeDatePicker/components/Presets/file:/home/runner/work/date-components/date-components/node_modules/@gravity-ui/uikit/styles/mixins.scss"],"names":[],"mappings":"AAKA;EACI;;AAEA;EACI;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;;AAGJ;EACI;EAEA;;AAKI;EACI;;AAIJ;EACI;ECmIZ;EACA;EACA;EACA","sourcesContent":["@use '@gravity-ui/uikit/styles/mixins';\n@use '../../../variables';\n\n$block: '.#{variables.$ns}relative-range-date-picker-presets';\n\n#{$block} {\n --g-list-item-padding: 0 var(--_--g-date-picker-presets-padding, 0);\n\n &__tabs {\n --g-tabs-border-width: 0;\n\n display: flex;\n align-items: center;\n gap: var(--g-spacing-2);\n\n padding-inline: var(--_--g-date-picker-presets-padding, 0);\n\n box-shadow: inset 0 -1px var(--g-color-line-generic);\n }\n\n &__list-container {\n outline: none;\n }\n\n &__content {\n overflow: auto;\n\n height: 128px;\n }\n\n &_size {\n &_l {\n #{$block}__content {\n height: 144px;\n }\n }\n &_xl {\n #{$block}__content {\n height: 162px;\n @include mixins.text-body-2();\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:selector';\n\n@mixin overflow-ellipsis($type: ellipsis) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: $type;\n}\n\n@mixin button-reset() {\n padding: 0;\n\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n\n@mixin expand-interactive-area($h: 4px, $v: $h) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n inset: logical (-$v) (-$h) (-$v);\n }\n}\n\n@mixin max-height($height) {\n max-height: $height;\n overflow-y: auto;\n}\n\n@mixin max-text-width($width: 100%) {\n @include overflow-ellipsis();\n\n max-width: $width;\n}\n\n@mixin aspect-ratio($ratio) {\n position: relative;\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n padding-block-start: $ratio * 100%;\n }\n\n > *:only-child {\n position: absolute;\n inset: 0;\n }\n}\n\n@function get-pin-selector($mod, $selector, $append: true) {\n @if $append {\n @return selector.append($mod, $selector);\n } @else {\n @return list.join($mod, $selector, $separator: space);\n }\n}\n\n@mixin pin($block, $selectors, $radius, $append: true) {\n @each $selector in $selectors {\n &#{get-pin-selector(#{$block}_pin_round-round, $selector, $append)} {\n border-radius: $radius;\n }\n\n &#{get-pin-selector(#{$block}_pin_brick-brick, $selector, $append)} {\n border-radius: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_clear-clear, $selector, $append)} {\n border-radius: 0;\n border-inline: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_circle-circle, $selector, $append)} {\n border-radius: 100px;\n }\n\n &#{get-pin-selector(#{$block}_pin_round-brick, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_brick-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n }\n\n &#{get-pin-selector(#{$block}_pin_round-clear, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_clear-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n border-inline-start: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_brick-clear, $selector, $append)} {\n border-radius: 0;\n border-inline-end: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_clear-brick, $selector, $append)} {\n border-radius: 0;\n border-inline-start: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_circle-brick, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_brick-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n }\n\n &#{get-pin-selector(#{$block}_pin_circle-clear, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n &#{get-pin-selector(#{$block}_pin_clear-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n border-inline-start: 0;\n }\n }\n}\n\n// Typography\n\n@mixin text-body-1() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n\n@mixin text-body-2() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n\n@mixin text-body-3() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n\n@mixin text-body-short() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n\n@mixin text-caption-1() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-1-font-size);\n line-height: var(--g-text-caption-1-line-height);\n}\n\n@mixin text-caption-2() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n}\n\n@mixin text-header-1() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n}\n\n@mixin text-header-2() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n}\n\n@mixin text-subheader-1() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-1-font-size);\n line-height: var(--g-text-subheader-1-line-height);\n}\n\n@mixin text-subheader-2() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n}\n\n@mixin text-subheader-3() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n\n@mixin text-display-1() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-1-font-size);\n line-height: var(--g-text-display-1-line-height);\n}\n\n@mixin text-display-2() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n\n@mixin text-display-3() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-3-font-size);\n line-height: var(--g-text-display-3-line-height);\n}\n\n@mixin text-display-4() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-4-font-size);\n line-height: var(--g-text-display-4-line-height);\n}\n\n@mixin text-code-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-1-font-size);\n line-height: var(--g-text-code-1-line-height);\n}\n\n@mixin text-code-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-2-font-size);\n line-height: var(--g-text-code-2-line-height);\n}\n\n@mixin text-code-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-3-font-size);\n line-height: var(--g-text-code-3-line-height);\n}\n\n@mixin text-code-inline-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-1-font-size);\n line-height: var(--g-text-code-inline-1-line-height);\n}\n\n@mixin text-code-inline-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-2-font-size);\n line-height: var(--g-text-code-inline-2-line-height);\n}\n\n@mixin text-code-inline-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-3-font-size);\n line-height: var(--g-text-code-inline-3-line-height);\n}\n\n@mixin text-accent() {\n font-weight: var(--g-text-accent-font-weight);\n}\n\n@mixin loading($loading-color-1: rgba(255, 255, 255, 0.3), $loading-color-2: transparent) {\n background-image: repeating-linear-gradient(\n -45deg,\n $loading-color-1,\n $loading-color-1 4px,\n $loading-color-2 4px,\n $loading-color-2 8px\n );\n background-size: 150%;\n background-clip: padding-box;\n\n // stylelint-disable-next-line no-unknown-animations\n animation: g-loading-animation 0.5s linear infinite;\n}\n\n@mixin scrollbar() {\n &::-webkit-scrollbar,\n *::-webkit-scrollbar {\n width: var(--g-scrollbar-width);\n height: var(--g-scrollbar-width);\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-track,\n *::-webkit-scrollbar-track {\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-corner,\n *::-webkit-scrollbar-corner {\n background: var(--g-color-scroll-corner);\n }\n\n &::-webkit-scrollbar-thumb,\n *::-webkit-scrollbar-thumb {\n background: var(--g-color-scroll-handle);\n }\n\n &::-webkit-scrollbar-thumb:hover,\n *::-webkit-scrollbar-thumb:hover {\n background: var(--g-color-scroll-handle-hover);\n }\n}\n"],"file":"Presets.css"}
|
|
1
|
+
{"version":3,"sources":["components/RelativeRangeDatePicker/components/Presets/Presets.scss","home/runner/work/date-components/date-components/node_modules/@gravity-ui/uikit/styles/mixins.scss"],"names":[],"mappings":"AAKA;EACI;;AAEA;EACI;EAEA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;;AAGJ;EACI;EAEA;;AAKI;EACI;;AAIJ;EACI;ECwIZ;EACA;EACA;EACA","sourcesContent":["@use '@gravity-ui/uikit/styles/mixins';\n@use '../../../variables';\n\n$block: '.#{variables.$ns}relative-range-date-picker-presets';\n\n#{$block} {\n --g-list-item-padding: 0 var(--_--g-date-picker-presets-padding, 0);\n\n &__tabs {\n --g-tabs-border-width: 0;\n\n display: flex;\n align-items: center;\n gap: var(--g-spacing-2);\n\n padding-inline: var(--_--g-date-picker-presets-padding, 0);\n\n box-shadow: inset 0 -1px var(--g-color-line-generic);\n }\n\n &__list-container {\n outline: none;\n }\n\n &__content {\n overflow: auto;\n\n height: 128px;\n }\n\n &_size {\n &_l {\n #{$block}__content {\n height: 144px;\n }\n }\n &_xl {\n #{$block}__content {\n height: 162px;\n @include mixins.text-body-2();\n }\n }\n }\n}\n","@use 'sass:list';\n@use 'sass:selector';\n\n@mixin overflow-ellipsis($type: ellipsis) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: $type;\n}\n\n@mixin button-reset() {\n padding: 0;\n\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n\n@mixin link-reset() {\n color: inherit;\n text-decoration: inherit;\n}\n\n@mixin expand-interactive-area($h: 4px, $v: $h) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n inset: logical (-$v) (-$h);\n }\n}\n\n@mixin max-height($height) {\n max-height: $height;\n overflow-y: auto;\n}\n\n@mixin max-text-width($width: 100%) {\n @include overflow-ellipsis();\n\n max-width: $width;\n}\n\n@mixin aspect-ratio($ratio) {\n position: relative;\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n padding-block-start: $ratio * 100%;\n }\n\n > *:only-child {\n position: absolute;\n inset: 0;\n }\n}\n\n@function get-pin-selector($mod, $selector, $append: true) {\n @if $append {\n @return selector.append($mod, $selector);\n } @else {\n @return list.join($mod, $selector, $separator: space);\n }\n}\n\n@mixin pin($block, $selectors, $radius, $append: true) {\n @each $selector in $selectors {\n @at-root #{get-pin-selector(#{$block}_pin_round-round, $selector, $append)} {\n border-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-brick, $selector, $append)} {\n border-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-clear, $selector, $append)} {\n border-radius: 0;\n border-inline: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-circle, $selector, $append)} {\n border-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-brick, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-clear, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-clear, $selector, $append)} {\n border-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-brick, $selector, $append)} {\n border-radius: 0;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-brick, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-clear, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n border-inline-start: 0;\n }\n }\n}\n\n// Typography\n\n@mixin text-body-1() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n\n@mixin text-body-2() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n\n@mixin text-body-3() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n\n@mixin text-body-short() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n\n@mixin text-caption-1() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-1-font-size);\n line-height: var(--g-text-caption-1-line-height);\n}\n\n@mixin text-caption-2() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n}\n\n@mixin text-header-1() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n}\n\n@mixin text-header-2() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n}\n\n@mixin text-subheader-1() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-1-font-size);\n line-height: var(--g-text-subheader-1-line-height);\n}\n\n@mixin text-subheader-2() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n}\n\n@mixin text-subheader-3() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n\n@mixin text-display-1() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-1-font-size);\n line-height: var(--g-text-display-1-line-height);\n}\n\n@mixin text-display-2() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n\n@mixin text-display-3() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-3-font-size);\n line-height: var(--g-text-display-3-line-height);\n}\n\n@mixin text-display-4() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-4-font-size);\n line-height: var(--g-text-display-4-line-height);\n}\n\n@mixin text-code-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-1-font-size);\n line-height: var(--g-text-code-1-line-height);\n}\n\n@mixin text-code-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-2-font-size);\n line-height: var(--g-text-code-2-line-height);\n}\n\n@mixin text-code-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-3-font-size);\n line-height: var(--g-text-code-3-line-height);\n}\n\n@mixin text-code-inline-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-1-font-size);\n line-height: var(--g-text-code-inline-1-line-height);\n}\n\n@mixin text-code-inline-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-2-font-size);\n line-height: var(--g-text-code-inline-2-line-height);\n}\n\n@mixin text-code-inline-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-3-font-size);\n line-height: var(--g-text-code-inline-3-line-height);\n}\n\n@mixin text-accent() {\n font-weight: var(--g-text-accent-font-weight);\n}\n\n@mixin loading($loading-color-1: rgba(255, 255, 255, 0.3), $loading-color-2: transparent) {\n background-image: repeating-linear-gradient(\n -45deg,\n $loading-color-1,\n $loading-color-1 4px,\n $loading-color-2 4px,\n $loading-color-2 8px\n );\n background-size: 150%;\n background-clip: padding-box;\n\n // stylelint-disable-next-line no-unknown-animations\n animation: g-loading-animation 0.5s linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n}\n\n@mixin scrollbar() {\n &::-webkit-scrollbar,\n *::-webkit-scrollbar {\n width: var(--g-scrollbar-width);\n height: var(--g-scrollbar-width);\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-track,\n *::-webkit-scrollbar-track {\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-corner,\n *::-webkit-scrollbar-corner {\n background: var(--g-color-scroll-corner);\n }\n\n &::-webkit-scrollbar-thumb,\n *::-webkit-scrollbar-thumb {\n background: var(--g-color-scroll-handle);\n }\n\n &::-webkit-scrollbar-thumb:hover,\n *::-webkit-scrollbar-thumb:hover {\n background: var(--g-color-scroll-handle-hover);\n }\n}\n"],"file":"Presets.css"}
|
|
@@ -8,14 +8,16 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
9
9
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
10
10
|
const cn_1 = require("../../../../utils/cn.js");
|
|
11
|
+
const i18n_1 = require("./i18n/index.js");
|
|
11
12
|
const utils_1 = require("./utils.js");
|
|
12
13
|
require("./Presets.css");
|
|
13
14
|
const b = (0, cn_1.block)('relative-range-date-picker-presets');
|
|
14
15
|
function Presets({ className, size = 'm', minValue, withTime, onChoosePreset, presetTabs, }) {
|
|
15
16
|
var _a, _b;
|
|
17
|
+
const { t } = i18n_1.i18n.useTranslation();
|
|
16
18
|
const tabs = react_1.default.useMemo(() => {
|
|
17
|
-
return (0, utils_1.filterPresetTabs)(presetTabs !== null && presetTabs !== void 0 ? presetTabs : (0, utils_1.getDefaultPresetTabs)({ withTime }), { minValue });
|
|
18
|
-
}, [withTime, minValue, presetTabs]);
|
|
19
|
+
return (0, utils_1.filterPresetTabs)(presetTabs !== null && presetTabs !== void 0 ? presetTabs : (0, utils_1.getDefaultPresetTabs)({ withTime, t }), { minValue });
|
|
20
|
+
}, [withTime, minValue, presetTabs, t]);
|
|
19
21
|
const [activeTabId, setActiveTab] = react_1.default.useState((_a = tabs[0]) === null || _a === void 0 ? void 0 : _a.id);
|
|
20
22
|
if (tabs.length === 0) {
|
|
21
23
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Presets.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/Presets.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"Presets.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/Presets.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 {List, Tab, TabList, TabPanel, TabProvider} from '@gravity-ui/uikit';\n\nimport {block} from '../../../../utils/cn';\n\nimport type {Preset} from './defaultPresets';\nimport {i18n} from './i18n';\nimport {filterPresetTabs, getDefaultPresetTabs} from './utils';\nimport type {PresetTab} from './utils';\n\nimport './Presets.scss';\n\nconst b = block('relative-range-date-picker-presets');\n\nexport interface PresetProps {\n className?: string;\n onChoosePreset: (start: string, end: string) => void;\n withTime?: boolean;\n minValue?: DateTime;\n size?: 's' | 'm' | 'l' | 'xl';\n presetTabs?: PresetTab[];\n}\nexport function Presets({\n className,\n size = 'm',\n minValue,\n withTime,\n onChoosePreset,\n presetTabs,\n}: PresetProps) {\n const {t} = i18n.useTranslation();\n const tabs = React.useMemo(() => {\n return filterPresetTabs(presetTabs ?? getDefaultPresetTabs({withTime, t}), {minValue});\n }, [withTime, minValue, presetTabs, t]);\n\n const [activeTabId, setActiveTab] = React.useState(tabs[0]?.id);\n\n if (tabs.length === 0) {\n return null;\n }\n\n const activeTab = tabs.find((tab) => tab.id === activeTabId) ?? tabs[0];\n if (!activeTab) {\n return null;\n }\n\n if (activeTab.id !== activeTabId) {\n setActiveTab(activeTab.id);\n }\n\n return (\n <div className={b({size}, className)}>\n <TabProvider value={activeTabId} onUpdate={setActiveTab}>\n <div className={b('tabs')}>\n <TabList size={size === 's' ? 'm' : size}>\n {tabs.map(({id, title}) => (\n <Tab key={id} value={id}>\n {title}\n </Tab>\n ))}\n </TabList>\n </div>\n <TabPanel className={b('content')} value={activeTabId}>\n <PresetsList\n presets={activeTab.presets}\n onChoosePreset={onChoosePreset}\n size={size}\n />\n </TabPanel>\n </TabProvider>\n </div>\n );\n}\nexport const SIZE_TO_ITEM_HEIGHT = {\n s: 28,\n m: 28,\n l: 32,\n xl: 36,\n};\n\ninterface PresetsListProps {\n size?: 's' | 'm' | 'l' | 'xl';\n presets: Preset[];\n onChoosePreset: (start: string, end: string) => void;\n}\nfunction PresetsList({presets, onChoosePreset, size = 'm'}: PresetsListProps) {\n const ref = React.useRef<List<Preset>>(null);\n\n React.useEffect(() => {\n const list = ref.current;\n const container = ref.current?.refContainer.current?.node as HTMLDivElement | undefined;\n if (list && container) {\n try {\n container.setAttribute('tabindex', '0');\n container.setAttribute('class', b('list-container'));\n const handleFocus = () => {\n if (list.getActiveItem() === null) {\n list.activateItem(0, true);\n }\n };\n container.addEventListener('focus', handleFocus);\n return () => {\n container.removeEventListener('focus', handleFocus);\n };\n } catch {\n // Oooops\n }\n }\n return undefined;\n }, []);\n\n return (\n <List\n ref={ref}\n className={b('list')}\n itemClassName={b('item')}\n items={presets}\n filterable={false}\n virtualized={false}\n renderItem={(item) => item.title}\n itemHeight={SIZE_TO_ITEM_HEIGHT[size]}\n onItemClick={(item) => {\n onChoosePreset(item.from, item.to);\n }}\n />\n );\n}\n"]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { i18n } from "./i18n/index.js";
|
|
1
2
|
export interface Preset {
|
|
2
3
|
from: string;
|
|
3
4
|
to: string;
|
|
4
|
-
title:
|
|
5
|
+
title: React.ReactNode;
|
|
5
6
|
}
|
|
7
|
+
export declare function PresetTitle({ title, }: {
|
|
8
|
+
title: keyof (typeof i18n.keysetData)['g-date-relative-range-date-picker-presets'];
|
|
9
|
+
}): string;
|
|
6
10
|
export declare const DEFAULT_DATE_PRESETS: Preset[];
|
|
7
11
|
export declare const DEFAULT_TIME_PRESETS: Preset[];
|
|
8
12
|
export declare const DEFAULT_OTHERS_PRESETS: Preset[];
|
|
@@ -1,186 +1,142 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.allPresets = exports.DEFAULT_OTHERS_PRESETS = exports.DEFAULT_TIME_PRESETS = exports.DEFAULT_DATE_PRESETS = void 0;
|
|
4
|
+
exports.PresetTitle = PresetTitle;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
6
|
const i18n_1 = require("./i18n/index.js");
|
|
7
|
+
function PresetTitle({ title, }) {
|
|
8
|
+
const { t } = i18n_1.i18n.useTranslation();
|
|
9
|
+
return t(title);
|
|
10
|
+
}
|
|
5
11
|
exports.DEFAULT_DATE_PRESETS = [
|
|
6
12
|
{
|
|
7
13
|
from: 'now-1d',
|
|
8
14
|
to: 'now',
|
|
9
|
-
|
|
10
|
-
return (0, i18n_1.i18n)('Last day');
|
|
11
|
-
},
|
|
15
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last day" }),
|
|
12
16
|
},
|
|
13
17
|
{
|
|
14
18
|
from: 'now-3d',
|
|
15
19
|
to: 'now',
|
|
16
|
-
|
|
17
|
-
return (0, i18n_1.i18n)('Last 3 days');
|
|
18
|
-
},
|
|
20
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 3 days" }),
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
from: 'now-1w',
|
|
22
24
|
to: 'now',
|
|
23
|
-
|
|
24
|
-
return (0, i18n_1.i18n)('Last week');
|
|
25
|
-
},
|
|
25
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last week" }),
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
from: 'now-1M',
|
|
29
29
|
to: 'now',
|
|
30
|
-
|
|
31
|
-
return (0, i18n_1.i18n)('Last month');
|
|
32
|
-
},
|
|
30
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last month" }),
|
|
33
31
|
},
|
|
34
32
|
{
|
|
35
33
|
from: 'now-3M',
|
|
36
34
|
to: 'now',
|
|
37
|
-
|
|
38
|
-
return (0, i18n_1.i18n)('Last 3 months');
|
|
39
|
-
},
|
|
35
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 3 months" }),
|
|
40
36
|
},
|
|
41
37
|
{
|
|
42
38
|
from: 'now-6M',
|
|
43
39
|
to: 'now',
|
|
44
|
-
|
|
45
|
-
return (0, i18n_1.i18n)('Last 6 months');
|
|
46
|
-
},
|
|
40
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 6 months" }),
|
|
47
41
|
},
|
|
48
42
|
{
|
|
49
43
|
from: 'now-1y',
|
|
50
44
|
to: 'now',
|
|
51
|
-
|
|
52
|
-
return (0, i18n_1.i18n)('Last year');
|
|
53
|
-
},
|
|
45
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last year" }),
|
|
54
46
|
},
|
|
55
47
|
{
|
|
56
48
|
from: 'now-3y',
|
|
57
49
|
to: 'now',
|
|
58
|
-
|
|
59
|
-
return (0, i18n_1.i18n)('Last 3 years');
|
|
60
|
-
},
|
|
50
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 3 years" }),
|
|
61
51
|
},
|
|
62
52
|
];
|
|
63
53
|
exports.DEFAULT_TIME_PRESETS = [
|
|
64
54
|
{
|
|
65
55
|
from: 'now-5m',
|
|
66
56
|
to: 'now',
|
|
67
|
-
|
|
68
|
-
return (0, i18n_1.i18n)('Last 5 minutes');
|
|
69
|
-
},
|
|
57
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 5 minutes" }),
|
|
70
58
|
},
|
|
71
59
|
{
|
|
72
60
|
from: 'now-15m',
|
|
73
61
|
to: 'now',
|
|
74
|
-
|
|
75
|
-
return (0, i18n_1.i18n)('Last 15 minutes');
|
|
76
|
-
},
|
|
62
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 15 minutes" }),
|
|
77
63
|
},
|
|
78
64
|
{
|
|
79
65
|
from: 'now-30m',
|
|
80
66
|
to: 'now',
|
|
81
|
-
|
|
82
|
-
return (0, i18n_1.i18n)('Last 30 minutes');
|
|
83
|
-
},
|
|
67
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 30 minutes" }),
|
|
84
68
|
},
|
|
85
69
|
{
|
|
86
70
|
from: 'now-1h',
|
|
87
71
|
to: 'now',
|
|
88
|
-
|
|
89
|
-
return (0, i18n_1.i18n)('Last hour');
|
|
90
|
-
},
|
|
72
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last hour" }),
|
|
91
73
|
},
|
|
92
74
|
{
|
|
93
75
|
from: 'now-3h',
|
|
94
76
|
to: 'now',
|
|
95
|
-
|
|
96
|
-
return (0, i18n_1.i18n)('Last 3 hours');
|
|
97
|
-
},
|
|
77
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 3 hours" }),
|
|
98
78
|
},
|
|
99
79
|
{
|
|
100
80
|
from: 'now-6h',
|
|
101
81
|
to: 'now',
|
|
102
|
-
|
|
103
|
-
return (0, i18n_1.i18n)('Last 6 hours');
|
|
104
|
-
},
|
|
82
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 6 hours" }),
|
|
105
83
|
},
|
|
106
84
|
{
|
|
107
85
|
from: 'now-12h',
|
|
108
86
|
to: 'now',
|
|
109
|
-
|
|
110
|
-
return (0, i18n_1.i18n)('Last 12 hours');
|
|
111
|
-
},
|
|
87
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Last 12 hours" }),
|
|
112
88
|
},
|
|
113
89
|
];
|
|
114
90
|
exports.DEFAULT_OTHERS_PRESETS = [
|
|
115
91
|
{
|
|
116
92
|
from: 'now/d',
|
|
117
93
|
to: 'now/d',
|
|
118
|
-
|
|
119
|
-
return (0, i18n_1.i18n)('Today');
|
|
120
|
-
},
|
|
94
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Today" }),
|
|
121
95
|
},
|
|
122
96
|
{
|
|
123
97
|
from: 'now-1d/d',
|
|
124
98
|
to: 'now-1d/d',
|
|
125
|
-
|
|
126
|
-
return (0, i18n_1.i18n)('Yesterday');
|
|
127
|
-
},
|
|
99
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Yesterday" }),
|
|
128
100
|
},
|
|
129
101
|
{
|
|
130
102
|
from: 'now-2d/d',
|
|
131
103
|
to: 'now-2d/d',
|
|
132
|
-
|
|
133
|
-
return (0, i18n_1.i18n)('Day before yesterday');
|
|
134
|
-
},
|
|
104
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "Day before yesterday" }),
|
|
135
105
|
},
|
|
136
106
|
{
|
|
137
107
|
from: 'now/w',
|
|
138
108
|
to: 'now/w',
|
|
139
|
-
|
|
140
|
-
return (0, i18n_1.i18n)('This week');
|
|
141
|
-
},
|
|
109
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "This week" }),
|
|
142
110
|
},
|
|
143
111
|
{
|
|
144
112
|
from: 'now/M',
|
|
145
113
|
to: 'now/M',
|
|
146
|
-
|
|
147
|
-
return (0, i18n_1.i18n)('This month');
|
|
148
|
-
},
|
|
114
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "This month" }),
|
|
149
115
|
},
|
|
150
116
|
{
|
|
151
117
|
from: 'now/y',
|
|
152
118
|
to: 'now/y',
|
|
153
|
-
|
|
154
|
-
return (0, i18n_1.i18n)('This year');
|
|
155
|
-
},
|
|
119
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "This year" }),
|
|
156
120
|
},
|
|
157
121
|
{
|
|
158
122
|
from: 'now/d',
|
|
159
123
|
to: 'now',
|
|
160
|
-
|
|
161
|
-
return (0, i18n_1.i18n)('From start of day');
|
|
162
|
-
},
|
|
124
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "From start of day" }),
|
|
163
125
|
},
|
|
164
126
|
{
|
|
165
127
|
from: 'now/w',
|
|
166
128
|
to: 'now',
|
|
167
|
-
|
|
168
|
-
return (0, i18n_1.i18n)('From start of week');
|
|
169
|
-
},
|
|
129
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "From start of week" }),
|
|
170
130
|
},
|
|
171
131
|
{
|
|
172
132
|
from: 'now/M',
|
|
173
133
|
to: 'now',
|
|
174
|
-
|
|
175
|
-
return (0, i18n_1.i18n)('From start of month');
|
|
176
|
-
},
|
|
134
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "From start of month" }),
|
|
177
135
|
},
|
|
178
136
|
{
|
|
179
137
|
from: 'now/y',
|
|
180
138
|
to: 'now',
|
|
181
|
-
|
|
182
|
-
return (0, i18n_1.i18n)('From start of year');
|
|
183
|
-
},
|
|
139
|
+
title: (0, jsx_runtime_1.jsx)(PresetTitle, { title: "From start of year" }),
|
|
184
140
|
},
|
|
185
141
|
];
|
|
186
142
|
exports.allPresets = exports.DEFAULT_TIME_PRESETS.concat(exports.DEFAULT_DATE_PRESETS, exports.DEFAULT_OTHERS_PRESETS);
|
package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultPresets.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/defaultPresets.
|
|
1
|
+
{"version":3,"file":"defaultPresets.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/defaultPresets.tsx"],"names":[],"mappings":"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","sourcesContent":["import {i18n} from './i18n';\n\nexport interface Preset {\n from: string;\n to: string;\n title: React.ReactNode;\n}\n\nexport function PresetTitle({\n title,\n}: {\n title: keyof (typeof i18n.keysetData)['g-date-relative-range-date-picker-presets'];\n}) {\n const {t} = i18n.useTranslation();\n return t(title);\n}\n\nexport const DEFAULT_DATE_PRESETS: Preset[] = [\n {\n from: 'now-1d',\n to: 'now',\n title: <PresetTitle title=\"Last day\" />,\n },\n {\n from: 'now-3d',\n to: 'now',\n title: <PresetTitle title=\"Last 3 days\" />,\n },\n {\n from: 'now-1w',\n to: 'now',\n title: <PresetTitle title=\"Last week\" />,\n },\n {\n from: 'now-1M',\n to: 'now',\n title: <PresetTitle title=\"Last month\" />,\n },\n {\n from: 'now-3M',\n to: 'now',\n title: <PresetTitle title=\"Last 3 months\" />,\n },\n {\n from: 'now-6M',\n to: 'now',\n title: <PresetTitle title=\"Last 6 months\" />,\n },\n {\n from: 'now-1y',\n to: 'now',\n title: <PresetTitle title=\"Last year\" />,\n },\n {\n from: 'now-3y',\n to: 'now',\n title: <PresetTitle title=\"Last 3 years\" />,\n },\n];\n\nexport const DEFAULT_TIME_PRESETS: Preset[] = [\n {\n from: 'now-5m',\n to: 'now',\n title: <PresetTitle title=\"Last 5 minutes\" />,\n },\n {\n from: 'now-15m',\n to: 'now',\n title: <PresetTitle title=\"Last 15 minutes\" />,\n },\n {\n from: 'now-30m',\n to: 'now',\n title: <PresetTitle title=\"Last 30 minutes\" />,\n },\n {\n from: 'now-1h',\n to: 'now',\n title: <PresetTitle title=\"Last hour\" />,\n },\n {\n from: 'now-3h',\n to: 'now',\n title: <PresetTitle title=\"Last 3 hours\" />,\n },\n {\n from: 'now-6h',\n to: 'now',\n title: <PresetTitle title=\"Last 6 hours\" />,\n },\n {\n from: 'now-12h',\n to: 'now',\n title: <PresetTitle title=\"Last 12 hours\" />,\n },\n];\n\nexport const DEFAULT_OTHERS_PRESETS: Preset[] = [\n {\n from: 'now/d',\n to: 'now/d',\n title: <PresetTitle title=\"Today\" />,\n },\n {\n from: 'now-1d/d',\n to: 'now-1d/d',\n title: <PresetTitle title=\"Yesterday\" />,\n },\n {\n from: 'now-2d/d',\n to: 'now-2d/d',\n title: <PresetTitle title=\"Day before yesterday\" />,\n },\n {\n from: 'now/w',\n to: 'now/w',\n title: <PresetTitle title=\"This week\" />,\n },\n {\n from: 'now/M',\n to: 'now/M',\n title: <PresetTitle title=\"This month\" />,\n },\n {\n from: 'now/y',\n to: 'now/y',\n title: <PresetTitle title=\"This year\" />,\n },\n {\n from: 'now/d',\n to: 'now',\n title: <PresetTitle title=\"From start of day\" />,\n },\n {\n from: 'now/w',\n to: 'now',\n title: <PresetTitle title=\"From start of week\" />,\n },\n {\n from: 'now/M',\n to: 'now',\n title: <PresetTitle title=\"From start of month\" />,\n },\n {\n from: 'now/y',\n to: 'now',\n title: <PresetTitle title=\"From start of year\" />,\n },\n];\n\nexport const allPresets = DEFAULT_TIME_PRESETS.concat(DEFAULT_DATE_PRESETS, DEFAULT_OTHERS_PRESETS);\n"]}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export declare const i18n: ((key: "Range" | "Last 5 minutes" | "Last 15 minutes" | "Last 30 minutes" | "Last hour" | "Last 3 hours" | "Last 6 hours" | "Last 12 hours" | "Last day" | "Last 3 days" | "Last week" | "Last month" | "Last 3 months" | "Last 6 months" | "Last year" | "Last 3 years" | "Today" | "Yesterday" | "Day before yesterday" | "This week" | "This month" | "This year" | "From start of day" | "From start of week" | "From start of month" | "From start of year" | "Previous month" | "Last second" | "Last minute" | "Main" | "Other" | "From" | "To" | "Last {count} second" | "Last {count} minute" | "Last {count} hour" | "Last {count} day" | "Last {count} week" | "Last {count} month" | "Last {count} year", params?: import("@gravity-ui/i18n").Params) => string) & {
|
|
2
|
+
Translation: import("react").ComponentType<{
|
|
3
|
+
children: (props: {
|
|
4
|
+
t: (key: "Range" | "Last 5 minutes" | "Last 15 minutes" | "Last 30 minutes" | "Last hour" | "Last 3 hours" | "Last 6 hours" | "Last 12 hours" | "Last day" | "Last 3 days" | "Last week" | "Last month" | "Last 3 months" | "Last 6 months" | "Last year" | "Last 3 years" | "Today" | "Yesterday" | "Day before yesterday" | "This week" | "This month" | "This year" | "From start of day" | "From start of week" | "From start of month" | "From start of year" | "Previous month" | "Last second" | "Last minute" | "Main" | "Other" | "From" | "To" | "Last {count} second" | "Last {count} minute" | "Last {count} hour" | "Last {count} day" | "Last {count} week" | "Last {count} month" | "Last {count} year", params?: import("@gravity-ui/i18n").Params) => string;
|
|
5
|
+
}) => React.ReactNode;
|
|
6
|
+
}>;
|
|
7
|
+
useTranslation: () => {
|
|
8
|
+
t: (key: "Range" | "Last 5 minutes" | "Last 15 minutes" | "Last 30 minutes" | "Last hour" | "Last 3 hours" | "Last 6 hours" | "Last 12 hours" | "Last day" | "Last 3 days" | "Last week" | "Last month" | "Last 3 months" | "Last 6 months" | "Last year" | "Last 3 years" | "Today" | "Yesterday" | "Day before yesterday" | "This week" | "This month" | "This year" | "From start of day" | "From start of week" | "From start of month" | "From start of year" | "Previous month" | "Last second" | "Last minute" | "Main" | "Other" | "From" | "To" | "Last {count} second" | "Last {count} minute" | "Last {count} hour" | "Last {count} day" | "Last {count} week" | "Last {count} month" | "Last {count} year", params?: import("@gravity-ui/i18n").Params) => string;
|
|
9
|
+
};
|
|
2
10
|
keysetData: {
|
|
3
11
|
"g-date-relative-range-date-picker-presets": Record<"Range" | "Last 5 minutes" | "Last 15 minutes" | "Last 30 minutes" | "Last hour" | "Last 3 hours" | "Last 6 hours" | "Last 12 hours" | "Last day" | "Last 3 days" | "Last week" | "Last month" | "Last 3 months" | "Last 6 months" | "Last year" | "Last 3 years" | "Today" | "Yesterday" | "Day before yesterday" | "This week" | "This month" | "This year" | "From start of day" | "From start of week" | "From start of month" | "From start of year" | "Previous month" | "Last second" | "Last minute" | "Main" | "Other" | "From" | "To" | "Last {count} second" | "Last {count} minute" | "Last {count} hour" | "Last {count} day" | "Last {count} week" | "Last {count} month" | "Last {count} year", import("@gravity-ui/i18n").KeyData>;
|
|
4
12
|
};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import type { DateTime } from '@gravity-ui/date-utils';
|
|
2
|
+
import type { ExtractFunctionType } from "../../../types/index.js";
|
|
2
3
|
import type { Preset } from "./defaultPresets.js";
|
|
3
|
-
|
|
4
|
+
import { i18n } from "./i18n/index.js";
|
|
5
|
+
export declare function getPresetTitle(start: string, end: string, presets?: Preset[], t?: ExtractFunctionType<typeof i18n>): import("react").ReactNode;
|
|
4
6
|
export declare function filterPresets(presets: Preset[], minValue?: DateTime): Preset[];
|
|
5
7
|
export interface PresetTab {
|
|
6
8
|
id: string;
|
|
7
9
|
title: string;
|
|
8
10
|
presets: Preset[];
|
|
9
11
|
}
|
|
10
|
-
export declare function getDefaultPresetTabs({ withTime, minValue, }: {
|
|
12
|
+
export declare function getDefaultPresetTabs({ withTime, minValue, t, }: {
|
|
11
13
|
minValue?: DateTime;
|
|
12
14
|
withTime?: boolean;
|
|
15
|
+
t?: (key: 'Main' | 'Other') => string;
|
|
13
16
|
}): PresetTab[];
|
|
14
17
|
export declare function filterPresetTabs(tabs: PresetTab[], { minValue }?: {
|
|
15
18
|
minValue?: DateTime;
|