@gravity-ui/date-components 3.3.2 → 3.4.1

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.
Files changed (40) hide show
  1. package/README.md +4 -5
  2. package/dist/cjs/components/CalendarView/Calendar.css +9 -1
  3. package/dist/cjs/components/CalendarView/Calendar.css.map +1 -1
  4. package/dist/cjs/components/CalendarView/CalendarView.js +4 -2
  5. package/dist/cjs/components/CalendarView/CalendarView.js.map +1 -1
  6. package/dist/cjs/components/DateField/utils.js +1 -1
  7. package/dist/cjs/components/DateField/utils.js.map +1 -1
  8. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js +8 -6
  9. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js.map +1 -1
  10. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +2 -1
  11. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -1
  12. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +10 -8
  13. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +25 -32
  14. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -1
  15. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  16. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +1 -1
  17. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -1
  18. package/dist/cjs/components/RelativeRangeDatePicker/utils.js +1 -1
  19. package/dist/cjs/components/RelativeRangeDatePicker/utils.js.map +1 -1
  20. package/dist/cjs/package.json +1 -1
  21. package/dist/esm/components/CalendarView/Calendar.css +9 -1
  22. package/dist/esm/components/CalendarView/Calendar.css.map +1 -1
  23. package/dist/esm/components/CalendarView/CalendarView.js +5 -3
  24. package/dist/esm/components/CalendarView/CalendarView.js.map +1 -1
  25. package/dist/esm/components/DateField/utils.js +1 -1
  26. package/dist/esm/components/DateField/utils.js.map +1 -1
  27. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js +8 -6
  28. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDoc.js.map +1 -1
  29. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js +2 -1
  30. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/Presets.js.map +1 -1
  31. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.d.ts +10 -8
  32. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js +25 -31
  33. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/defaultPresets.js.map +1 -1
  34. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.d.ts +1 -1
  35. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +1 -1
  36. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js.map +1 -1
  37. package/dist/esm/components/RelativeRangeDatePicker/utils.js +1 -1
  38. package/dist/esm/components/RelativeRangeDatePicker/utils.js.map +1 -1
  39. package/dist/esm/package.json +1 -1
  40. package/package.json +26 -12
@@ -1,138 +1,132 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { i18n } from "./i18n/index.js";
3
- export function PresetTitle({ title, }) {
4
- const { t } = i18n.useTranslation();
5
- return t(title);
6
- }
7
1
  export const DEFAULT_DATE_PRESETS = [
8
2
  {
9
3
  from: 'now-1d',
10
4
  to: 'now',
11
- title: _jsx(PresetTitle, { title: "Last day" }),
5
+ title: 'Last day',
12
6
  },
13
7
  {
14
8
  from: 'now-3d',
15
9
  to: 'now',
16
- title: _jsx(PresetTitle, { title: "Last 3 days" }),
10
+ title: 'Last 3 days',
17
11
  },
18
12
  {
19
13
  from: 'now-1w',
20
14
  to: 'now',
21
- title: _jsx(PresetTitle, { title: "Last week" }),
15
+ title: 'Last week',
22
16
  },
23
17
  {
24
18
  from: 'now-1M',
25
19
  to: 'now',
26
- title: _jsx(PresetTitle, { title: "Last month" }),
20
+ title: 'Last month',
27
21
  },
28
22
  {
29
23
  from: 'now-3M',
30
24
  to: 'now',
31
- title: _jsx(PresetTitle, { title: "Last 3 months" }),
25
+ title: 'Last 3 months',
32
26
  },
33
27
  {
34
28
  from: 'now-6M',
35
29
  to: 'now',
36
- title: _jsx(PresetTitle, { title: "Last 6 months" }),
30
+ title: 'Last 6 months',
37
31
  },
38
32
  {
39
33
  from: 'now-1y',
40
34
  to: 'now',
41
- title: _jsx(PresetTitle, { title: "Last year" }),
35
+ title: 'Last year',
42
36
  },
43
37
  {
44
38
  from: 'now-3y',
45
39
  to: 'now',
46
- title: _jsx(PresetTitle, { title: "Last 3 years" }),
40
+ title: 'Last 3 years',
47
41
  },
48
42
  ];
49
43
  export const DEFAULT_TIME_PRESETS = [
50
44
  {
51
45
  from: 'now-5m',
52
46
  to: 'now',
53
- title: _jsx(PresetTitle, { title: "Last 5 minutes" }),
47
+ title: 'Last 5 minutes',
54
48
  },
55
49
  {
56
50
  from: 'now-15m',
57
51
  to: 'now',
58
- title: _jsx(PresetTitle, { title: "Last 15 minutes" }),
52
+ title: 'Last 15 minutes',
59
53
  },
60
54
  {
61
55
  from: 'now-30m',
62
56
  to: 'now',
63
- title: _jsx(PresetTitle, { title: "Last 30 minutes" }),
57
+ title: 'Last 30 minutes',
64
58
  },
65
59
  {
66
60
  from: 'now-1h',
67
61
  to: 'now',
68
- title: _jsx(PresetTitle, { title: "Last hour" }),
62
+ title: 'Last hour',
69
63
  },
70
64
  {
71
65
  from: 'now-3h',
72
66
  to: 'now',
73
- title: _jsx(PresetTitle, { title: "Last 3 hours" }),
67
+ title: 'Last 3 hours',
74
68
  },
75
69
  {
76
70
  from: 'now-6h',
77
71
  to: 'now',
78
- title: _jsx(PresetTitle, { title: "Last 6 hours" }),
72
+ title: 'Last 6 hours',
79
73
  },
80
74
  {
81
75
  from: 'now-12h',
82
76
  to: 'now',
83
- title: _jsx(PresetTitle, { title: "Last 12 hours" }),
77
+ title: 'Last 12 hours',
84
78
  },
85
79
  ];
86
80
  export const DEFAULT_OTHERS_PRESETS = [
87
81
  {
88
82
  from: 'now/d',
89
83
  to: 'now/d',
90
- title: _jsx(PresetTitle, { title: "Today" }),
84
+ title: 'Today',
91
85
  },
92
86
  {
93
87
  from: 'now-1d/d',
94
88
  to: 'now-1d/d',
95
- title: _jsx(PresetTitle, { title: "Yesterday" }),
89
+ title: 'Yesterday',
96
90
  },
97
91
  {
98
92
  from: 'now-2d/d',
99
93
  to: 'now-2d/d',
100
- title: _jsx(PresetTitle, { title: "Day before yesterday" }),
94
+ title: 'Day before yesterday',
101
95
  },
102
96
  {
103
97
  from: 'now/w',
104
98
  to: 'now/w',
105
- title: _jsx(PresetTitle, { title: "This week" }),
99
+ title: 'This week',
106
100
  },
107
101
  {
108
102
  from: 'now/M',
109
103
  to: 'now/M',
110
- title: _jsx(PresetTitle, { title: "This month" }),
104
+ title: 'This month',
111
105
  },
112
106
  {
113
107
  from: 'now/y',
114
108
  to: 'now/y',
115
- title: _jsx(PresetTitle, { title: "This year" }),
109
+ title: 'This year',
116
110
  },
117
111
  {
118
112
  from: 'now/d',
119
113
  to: 'now',
120
- title: _jsx(PresetTitle, { title: "From start of day" }),
114
+ title: 'From start of day',
121
115
  },
122
116
  {
123
117
  from: 'now/w',
124
118
  to: 'now',
125
- title: _jsx(PresetTitle, { title: "From start of week" }),
119
+ title: 'From start of week',
126
120
  },
127
121
  {
128
122
  from: 'now/M',
129
123
  to: 'now',
130
- title: _jsx(PresetTitle, { title: "From start of month" }),
124
+ title: 'From start of month',
131
125
  },
132
126
  {
133
127
  from: 'now/y',
134
128
  to: 'now',
135
- title: _jsx(PresetTitle, { title: "From start of year" }),
129
+ title: 'From start of year',
136
130
  },
137
131
  ];
138
132
  export const allPresets = DEFAULT_TIME_PRESETS.concat(DEFAULT_DATE_PRESETS, DEFAULT_OTHERS_PRESETS);
@@ -1 +1 @@
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
+ {"version":3,"file":"defaultPresets.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/defaultPresets.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {i18n} from './i18n';\n\nexport interface Preset {\n from: string;\n to: string;\n title: string;\n}\n\nexport interface DefaultPreset {\n from: string;\n to: string;\n title: keyof (typeof i18n.keysetData)['g-date-relative-range-date-picker-presets'];\n}\n\nexport const DEFAULT_DATE_PRESETS: DefaultPreset[] = [\n {\n from: 'now-1d',\n to: 'now',\n title: 'Last day',\n },\n {\n from: 'now-3d',\n to: 'now',\n title: 'Last 3 days',\n },\n {\n from: 'now-1w',\n to: 'now',\n title: 'Last week',\n },\n {\n from: 'now-1M',\n to: 'now',\n title: 'Last month',\n },\n {\n from: 'now-3M',\n to: 'now',\n title: 'Last 3 months',\n },\n {\n from: 'now-6M',\n to: 'now',\n title: 'Last 6 months',\n },\n {\n from: 'now-1y',\n to: 'now',\n title: 'Last year',\n },\n {\n from: 'now-3y',\n to: 'now',\n title: 'Last 3 years',\n },\n];\n\nexport const DEFAULT_TIME_PRESETS: DefaultPreset[] = [\n {\n from: 'now-5m',\n to: 'now',\n title: 'Last 5 minutes',\n },\n {\n from: 'now-15m',\n to: 'now',\n title: 'Last 15 minutes',\n },\n {\n from: 'now-30m',\n to: 'now',\n title: 'Last 30 minutes',\n },\n {\n from: 'now-1h',\n to: 'now',\n title: 'Last hour',\n },\n {\n from: 'now-3h',\n to: 'now',\n title: 'Last 3 hours',\n },\n {\n from: 'now-6h',\n to: 'now',\n title: 'Last 6 hours',\n },\n {\n from: 'now-12h',\n to: 'now',\n title: 'Last 12 hours',\n },\n];\n\nexport const DEFAULT_OTHERS_PRESETS: DefaultPreset[] = [\n {\n from: 'now/d',\n to: 'now/d',\n title: 'Today',\n },\n {\n from: 'now-1d/d',\n to: 'now-1d/d',\n title: 'Yesterday',\n },\n {\n from: 'now-2d/d',\n to: 'now-2d/d',\n title: 'Day before yesterday',\n },\n {\n from: 'now/w',\n to: 'now/w',\n title: 'This week',\n },\n {\n from: 'now/M',\n to: 'now/M',\n title: 'This month',\n },\n {\n from: 'now/y',\n to: 'now/y',\n title: 'This year',\n },\n {\n from: 'now/d',\n to: 'now',\n title: 'From start of day',\n },\n {\n from: 'now/w',\n to: 'now',\n title: 'From start of week',\n },\n {\n from: 'now/M',\n to: 'now',\n title: 'From start of month',\n },\n {\n from: 'now/y',\n to: 'now',\n title: 'From start of year',\n },\n];\n\nexport const allPresets = DEFAULT_TIME_PRESETS.concat(DEFAULT_DATE_PRESETS, DEFAULT_OTHERS_PRESETS);\n"]}
@@ -2,7 +2,7 @@ import type { DateTime } from '@gravity-ui/date-utils';
2
2
  import type { ExtractFunctionType } from "../../../types/index.js";
3
3
  import type { Preset } from "./defaultPresets.js";
4
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;
5
+ export declare function getPresetTitle(start: string, end: string, presets?: Preset[], t?: ExtractFunctionType<typeof i18n>): string;
6
6
  export declare function filterPresets(presets: Preset[], minValue?: DateTime): Preset[];
7
7
  export interface PresetTab {
8
8
  id: string;
@@ -25,7 +25,7 @@ export function getPresetTitle(start, end, presets = allPresets, t = i18n) {
25
25
  const endText = end.replace(/\s+/g, '');
26
26
  for (const preset of presets) {
27
27
  if (preset.from === startText && preset.to === endText) {
28
- return preset.title;
28
+ return t(preset.title);
29
29
  }
30
30
  }
31
31
  if (end === 'now') {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {dateTimeParse} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport type {ExtractFunctionType} from '../../../types';\n\nimport {\n DEFAULT_DATE_PRESETS,\n DEFAULT_OTHERS_PRESETS,\n DEFAULT_TIME_PRESETS,\n allPresets,\n} from './defaultPresets';\nimport type {Preset} from './defaultPresets';\nimport {i18n} from './i18n';\n\nconst lastRe = /^now-(\\d+)([smhdwMy])$/;\n\nconst oneUnit = {\n s: 'Last second',\n m: 'Last minute',\n h: 'Last hour',\n d: 'Last day',\n w: 'Last week',\n M: 'Last month',\n y: 'Last year',\n} as const;\n\nconst countUnit = {\n s: 'Last {count} second',\n m: 'Last {count} minute',\n h: 'Last {count} hour',\n d: 'Last {count} day',\n w: 'Last {count} week',\n M: 'Last {count} month',\n y: 'Last {count} year',\n} as const;\n\nexport function getPresetTitle(\n start: string,\n end: string,\n presets: Preset[] = allPresets,\n t: ExtractFunctionType<typeof i18n> = i18n,\n) {\n const startText = start.replace(/\\s+/g, '');\n const endText = end.replace(/\\s+/g, '');\n\n for (const preset of presets) {\n if (preset.from === startText && preset.to === endText) {\n return preset.title;\n }\n }\n\n if (end === 'now') {\n const match = lastRe.exec(startText);\n if (match) {\n const [, count, unit] = match;\n if (isDateUnit(unit)) {\n const template = Number(count) === 1 ? oneUnit[unit] : countUnit[unit];\n return t(template, {count});\n }\n }\n }\n\n return startText + ' — ' + endText;\n}\n\nfunction isDateUnit(value: string): value is 's' | 'm' | 'h' | 'd' | 'w' | 'M' | 'y' {\n return ['s', 'm', 'h', 'd', 'w', 'M', 'y'].includes(value);\n}\n\nexport function filterPresets(presets: Preset[], minValue?: DateTime) {\n return presets.filter((preset) => {\n const from = dateTimeParse(preset.from);\n const to = dateTimeParse(preset.to, {roundUp: true});\n\n if (!from || !to) {\n return false;\n }\n\n if (to.isBefore(from)) {\n return false;\n }\n\n if (minValue && from.isBefore(minValue)) {\n return false;\n }\n\n return true;\n });\n}\n\nexport interface PresetTab {\n id: string;\n title: string;\n presets: Preset[];\n}\n\nexport function getDefaultPresetTabs({\n withTime,\n minValue,\n t = i18n,\n}: {\n minValue?: DateTime;\n withTime?: boolean;\n t?: (key: 'Main' | 'Other') => string;\n}) {\n const tabs: PresetTab[] = [];\n\n const mainTab: PresetTab = {\n id: 'main',\n title: t('Main'),\n presets: [],\n };\n const mainPresets = DEFAULT_DATE_PRESETS;\n if (withTime) {\n mainPresets.unshift(...DEFAULT_TIME_PRESETS);\n }\n mainTab.presets = filterPresets(mainPresets, minValue);\n\n if (mainTab.presets.length > 0) {\n tabs.push(mainTab);\n }\n\n const otherTab: PresetTab = {\n id: 'other',\n title: t('Other'),\n presets: filterPresets(DEFAULT_OTHERS_PRESETS, minValue),\n };\n\n if (otherTab.presets.length > 0) {\n tabs.push(otherTab);\n }\n\n return tabs;\n}\n\nexport function filterPresetTabs(tabs: PresetTab[], {minValue}: {minValue?: DateTime} = {}) {\n return tabs.reduce<PresetTab[]>((acc, tab) => {\n const presets = filterPresets(tab.presets, minValue);\n if (presets.length) {\n acc.push({\n ...tab,\n presets,\n });\n }\n return acc;\n }, []);\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../../../src","sources":["components/RelativeRangeDatePicker/components/Presets/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {dateTimeParse} from '@gravity-ui/date-utils';\nimport type {DateTime} from '@gravity-ui/date-utils';\n\nimport type {ExtractFunctionType} from '../../../types';\n\nimport {\n DEFAULT_DATE_PRESETS,\n DEFAULT_OTHERS_PRESETS,\n DEFAULT_TIME_PRESETS,\n allPresets,\n} from './defaultPresets';\nimport type {Preset} from './defaultPresets';\nimport {i18n} from './i18n';\n\nconst lastRe = /^now-(\\d+)([smhdwMy])$/;\n\nconst oneUnit = {\n s: 'Last second',\n m: 'Last minute',\n h: 'Last hour',\n d: 'Last day',\n w: 'Last week',\n M: 'Last month',\n y: 'Last year',\n} as const;\n\nconst countUnit = {\n s: 'Last {count} second',\n m: 'Last {count} minute',\n h: 'Last {count} hour',\n d: 'Last {count} day',\n w: 'Last {count} week',\n M: 'Last {count} month',\n y: 'Last {count} year',\n} as const;\n\nexport function getPresetTitle(\n start: string,\n end: string,\n presets: Preset[] = allPresets,\n t: ExtractFunctionType<typeof i18n> = i18n,\n): string {\n const startText = start.replace(/\\s+/g, '');\n const endText = end.replace(/\\s+/g, '');\n\n for (const preset of presets) {\n if (preset.from === startText && preset.to === endText) {\n return t(preset.title as any);\n }\n }\n\n if (end === 'now') {\n const match = lastRe.exec(startText);\n if (match) {\n const [, count, unit] = match;\n if (isDateUnit(unit)) {\n const template = Number(count) === 1 ? oneUnit[unit] : countUnit[unit];\n return t(template, {count});\n }\n }\n }\n\n return startText + ' — ' + endText;\n}\n\nfunction isDateUnit(value: string): value is 's' | 'm' | 'h' | 'd' | 'w' | 'M' | 'y' {\n return ['s', 'm', 'h', 'd', 'w', 'M', 'y'].includes(value);\n}\n\nexport function filterPresets(presets: Preset[], minValue?: DateTime) {\n return presets.filter((preset) => {\n const from = dateTimeParse(preset.from);\n const to = dateTimeParse(preset.to, {roundUp: true});\n\n if (!from || !to) {\n return false;\n }\n\n if (to.isBefore(from)) {\n return false;\n }\n\n if (minValue && from.isBefore(minValue)) {\n return false;\n }\n\n return true;\n });\n}\n\nexport interface PresetTab {\n id: string;\n title: string;\n presets: Preset[];\n}\n\nexport function getDefaultPresetTabs({\n withTime,\n minValue,\n t = i18n,\n}: {\n minValue?: DateTime;\n withTime?: boolean;\n t?: (key: 'Main' | 'Other') => string;\n}) {\n const tabs: PresetTab[] = [];\n\n const mainTab: PresetTab = {\n id: 'main',\n title: t('Main'),\n presets: [],\n };\n const mainPresets = DEFAULT_DATE_PRESETS;\n if (withTime) {\n mainPresets.unshift(...DEFAULT_TIME_PRESETS);\n }\n mainTab.presets = filterPresets(mainPresets, minValue);\n\n if (mainTab.presets.length > 0) {\n tabs.push(mainTab);\n }\n\n const otherTab: PresetTab = {\n id: 'other',\n title: t('Other'),\n presets: filterPresets(DEFAULT_OTHERS_PRESETS, minValue),\n };\n\n if (otherTab.presets.length > 0) {\n tabs.push(otherTab);\n }\n\n return tabs;\n}\n\nexport function filterPresetTabs(tabs: PresetTab[], {minValue}: {minValue?: DateTime} = {}) {\n return tabs.reduce<PresetTab[]>((acc, tab) => {\n const presets = filterPresets(tab.presets, minValue);\n if (presets.length) {\n acc.push({\n ...tab,\n presets,\n });\n }\n return acc;\n }, []);\n}\n"]}
@@ -40,7 +40,7 @@ export function getDefaultTitle({ value, timeZone, alwaysShowAsAbsolute, format
40
40
  if (!alwaysShowAsAbsolute &&
41
41
  ((_e = value.start) === null || _e === void 0 ? void 0 : _e.type) === 'relative' &&
42
42
  ((_f = value.end) === null || _f === void 0 ? void 0 : _f.type) === 'relative') {
43
- return `${getPresetTitle(value.start.value, value.end.value, presets, presetsTranslations)}`;
43
+ return getPresetTitle(value.start.value, value.end.value, presets, presetsTranslations);
44
44
  }
45
45
  const delimiter = ' — ';
46
46
  return `${from}${delimiter}${to}${tz}`;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/RelativeRangeDatePicker/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {dateTime, dateTimeParse} from '@gravity-ui/date-utils';\n\nimport type {Value} from '../RelativeDatePicker';\nimport type {ExtractFunctionType, RangeValue} from '../types';\n\nimport type {Preset} from './components/Presets/defaultPresets';\nimport {i18n} from './components/Presets/i18n';\nimport {getPresetTitle} from './components/Presets/utils';\n\nexport function resolveTimeZone(timeZone: string) {\n if (timeZone === 'default' || timeZone === 'system') {\n return dateTime({timeZone}).timeZone();\n }\n\n return timeZone;\n}\n\nexport function normalizeTimeZone(timeZone: string) {\n const lowered = timeZone.toLowerCase();\n if (lowered === 'default' || lowered === 'system') {\n return lowered;\n }\n\n return resolveTimeZone(timeZone);\n}\n\nexport function getTimeZoneOffset(timeZone: string) {\n return `UTC ${dateTime({timeZone}).format('Z')}`;\n}\n\ninterface GetDefaultTitleArgs {\n value: RangeValue<Value | null> | null;\n timeZone: string;\n alwaysShowAsAbsolute?: boolean;\n format?: string;\n presets?: Preset[];\n presetsTranslations?: ExtractFunctionType<typeof i18n>;\n lang?: string;\n}\nexport function getDefaultTitle({\n value,\n timeZone,\n alwaysShowAsAbsolute,\n format = 'L',\n presets,\n presetsTranslations = i18n,\n lang = 'en',\n}: GetDefaultTitleArgs) {\n if (!value) {\n return '';\n }\n\n const tz = timeZone === 'default' ? '' : ` (${getTimeZoneOffset(timeZone)})`;\n\n let from = '';\n if (value.start) {\n from =\n value.start.type === 'relative' && !alwaysShowAsAbsolute\n ? value.start.value\n : (dateTimeParse(value.start.value, {timeZone, lang})?.format(format) ?? '');\n }\n let to = '';\n if (value.end) {\n to =\n value.end.type === 'relative' && !alwaysShowAsAbsolute\n ? value.end.value\n : (dateTimeParse(value.end.value, {timeZone, roundUp: true, lang})?.format(\n format,\n ) ?? '');\n }\n\n if (\n !alwaysShowAsAbsolute &&\n value.start?.type === 'relative' &&\n value.end?.type === 'relative'\n ) {\n return `${getPresetTitle(value.start.value, value.end.value, presets, presetsTranslations)}`;\n }\n\n const delimiter = ' — ';\n\n return `${from}${delimiter}${to}${tz}`;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/RelativeRangeDatePicker/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAM/D,OAAO,EAAC,IAAI,EAAC,2CAAkC;AAC/C,OAAO,EAAC,cAAc,EAAC,sCAAmC;AAE1D,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,OAAO,QAAQ,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAWD,MAAM,UAAU,eAAe,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,oBAAoB,EACpB,MAAM,GAAG,GAAG,EACZ,OAAO,EACP,mBAAmB,GAAG,IAAI,EAC1B,IAAI,GAAG,IAAI,GACO;;IAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC;IAE7E,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI;YACA,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,oBAAoB;gBACpD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;gBACnB,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,0CAAE,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,EAAE;YACE,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,oBAAoB;gBAClD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK;gBACjB,CAAC,CAAC,CAAC,MAAA,MAAA,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,0CAAE,MAAM,CACpE,MAAM,CACT,mCAAI,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,IACI,CAAC,oBAAoB;QACrB,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI,MAAK,UAAU;QAChC,CAAA,MAAA,KAAK,CAAC,GAAG,0CAAE,IAAI,MAAK,UAAU,EAChC,CAAC;QACC,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC;IAExB,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;AAC3C,CAAC","sourcesContent":["import {dateTime, dateTimeParse} from '@gravity-ui/date-utils';\n\nimport type {Value} from '../RelativeDatePicker';\nimport type {ExtractFunctionType, RangeValue} from '../types';\n\nimport type {Preset} from './components/Presets/defaultPresets';\nimport {i18n} from './components/Presets/i18n';\nimport {getPresetTitle} from './components/Presets/utils';\n\nexport function resolveTimeZone(timeZone: string) {\n if (timeZone === 'default' || timeZone === 'system') {\n return dateTime({timeZone}).timeZone();\n }\n\n return timeZone;\n}\n\nexport function normalizeTimeZone(timeZone: string) {\n const lowered = timeZone.toLowerCase();\n if (lowered === 'default' || lowered === 'system') {\n return lowered;\n }\n\n return resolveTimeZone(timeZone);\n}\n\nexport function getTimeZoneOffset(timeZone: string) {\n return `UTC ${dateTime({timeZone}).format('Z')}`;\n}\n\ninterface GetDefaultTitleArgs {\n value: RangeValue<Value | null> | null;\n timeZone: string;\n alwaysShowAsAbsolute?: boolean;\n format?: string;\n presets?: Preset[];\n presetsTranslations?: ExtractFunctionType<typeof i18n>;\n lang?: string;\n}\nexport function getDefaultTitle({\n value,\n timeZone,\n alwaysShowAsAbsolute,\n format = 'L',\n presets,\n presetsTranslations = i18n,\n lang = 'en',\n}: GetDefaultTitleArgs): string {\n if (!value) {\n return '';\n }\n\n const tz = timeZone === 'default' ? '' : ` (${getTimeZoneOffset(timeZone)})`;\n\n let from = '';\n if (value.start) {\n from =\n value.start.type === 'relative' && !alwaysShowAsAbsolute\n ? value.start.value\n : (dateTimeParse(value.start.value, {timeZone, lang})?.format(format) ?? '');\n }\n let to = '';\n if (value.end) {\n to =\n value.end.type === 'relative' && !alwaysShowAsAbsolute\n ? value.end.value\n : (dateTimeParse(value.end.value, {timeZone, roundUp: true, lang})?.format(\n format,\n ) ?? '');\n }\n\n if (\n !alwaysShowAsAbsolute &&\n value.start?.type === 'relative' &&\n value.end?.type === 'relative'\n ) {\n return getPresetTitle(value.start.value, value.end.value, presets, presetsTranslations);\n }\n\n const delimiter = ' — ';\n\n return `${from}${delimiter}${to}${tz}`;\n}\n"]}
@@ -1 +1 @@
1
- {"type":"module","version":"3.3.2","sideEffects":["*.css","*.scss"]}
1
+ {"type":"module","version":"3.4.1","sideEffects":["*.css","*.scss"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/date-components",
3
- "version": "3.3.2",
3
+ "version": "3.4.1",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -20,6 +20,13 @@
20
20
  }
21
21
  }
22
22
  },
23
+ "imports": {
24
+ "#*": [
25
+ "./*",
26
+ "./*.ts",
27
+ "./*.tsx"
28
+ ]
29
+ },
23
30
  "sideEffects": [
24
31
  "*.css",
25
32
  "*.scss"
@@ -49,7 +56,13 @@
49
56
  "build": "gulp",
50
57
  "start": "storybook dev -p 7070",
51
58
  "build-storybook": "storybook build -c .storybook -o storybook-static",
52
- "prepublishOnly": "npm run build"
59
+ "prepublishOnly": "npm run build",
60
+ "playwright:clear-cache": "rm -rf ./playwright/.cache",
61
+ "playwright:update": "npm run playwright -- -u",
62
+ "playwright": "playwright test -c playwright/playwright.config.ts",
63
+ "playwright:docker": "./scripts/playwright-docker.sh 'npm run playwright'",
64
+ "playwright:docker:update": "./scripts/playwright-docker.sh 'npm run playwright:update'",
65
+ "playwright:docker:clear-cache": "./scripts/playwright-docker.sh clear-cache"
53
66
  },
54
67
  "dependencies": {
55
68
  "@bem-react/classname": "^1.6.0",
@@ -67,23 +80,25 @@
67
80
  "@gravity-ui/prettier-config": "^1.1.0",
68
81
  "@gravity-ui/stylelint-config": "^5.0.0",
69
82
  "@gravity-ui/tsconfig": "^1.0.0",
70
- "@storybook/addon-a11y": "9.1.7",
71
- "@storybook/addon-docs": "^9.1.7",
72
- "@storybook/addon-styling-webpack": "^2.0.0",
73
- "@storybook/addon-webpack5-compiler-babel": "^3.0.6",
74
- "@storybook/react-webpack5": "9.1.7",
75
- "@storybook/test-runner": "^0.23.0",
83
+ "@playwright/experimental-ct-react": "^1.56.1",
84
+ "@storybook/addon-a11y": "^10.0.8",
85
+ "@storybook/addon-docs": "^10.0.8",
86
+ "@storybook/addon-styling-webpack": "^3.0.0",
87
+ "@storybook/addon-webpack5-compiler-babel": "^4.0.0",
88
+ "@storybook/react-webpack5": "10.0.8",
89
+ "@storybook/test-runner": "^0.24.1",
76
90
  "@testing-library/dom": "^10.4.1",
77
91
  "@testing-library/jest-dom": "^6.8.0",
78
92
  "@testing-library/react": "^16.3.0",
79
93
  "@testing-library/user-event": "^14.6.1",
80
94
  "@types/jest": "^30.0.0",
95
+ "@types/node": "^20.19.1",
81
96
  "@types/react": "^18.3.24",
82
97
  "@types/react-dom": "^18.3.7",
83
98
  "css-loader": "^7.1.2",
84
99
  "eslint": "^9.36.0",
85
100
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
86
- "eslint-plugin-storybook": "9.1.7",
101
+ "eslint-plugin-storybook": "10.0.8",
87
102
  "eslint-plugin-testing-library": "^7.9.1",
88
103
  "globals": "^16.4.0",
89
104
  "gulp": "^5.0.1",
@@ -99,10 +114,9 @@
99
114
  "prettier": "^3.6.2",
100
115
  "react": "^18.3.1",
101
116
  "react-dom": "^18.3.1",
102
- "rimraf": "^6.0.1",
103
117
  "sass": "^1.93.1",
104
118
  "sass-loader": "^16.0.5",
105
- "storybook": "9.1.7",
119
+ "storybook": "10.0.8",
106
120
  "style-loader": "^4.0.0",
107
121
  "stylelint": "^16.24.0",
108
122
  "stylelint-use-logical": "^2.1.2",
@@ -111,8 +125,8 @@
111
125
  "typescript": "^5.9.2"
112
126
  },
113
127
  "peerDependencies": {
114
- "@gravity-ui/uikit": "^7.21.0",
115
128
  "@gravity-ui/date-utils": "^2.6.0",
129
+ "@gravity-ui/uikit": "^7.21.0",
116
130
  "@types/react": ">=17.0.0",
117
131
  "react": ">=17.0.0",
118
132
  "react-dom": ">=17.0.0"