@gravity-ui/date-components 2.8.1 → 2.8.3

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 (96) hide show
  1. package/dist/cjs/components/Calendar/Calendar.js +5 -3
  2. package/dist/cjs/components/Calendar/index.js +21 -8
  3. package/dist/cjs/components/CalendarView/CalendarView.js +5 -3
  4. package/dist/cjs/components/CalendarView/hooks/useCalendarCellProps.js +5 -4
  5. package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.d.ts +0 -1
  6. package/dist/cjs/components/CalendarView/hooks/useCalendarGridProps.js +1 -2
  7. package/dist/cjs/components/CalendarView/hooks/useCalendarProps.js +5 -4
  8. package/dist/cjs/components/CalendarView/hooks/useCalendarState.js +5 -4
  9. package/dist/cjs/components/CalendarView/hooks/useRangeCalendarState.js +1 -2
  10. package/dist/cjs/components/CalendarView/i18n/index.js +5 -3
  11. package/dist/cjs/components/CalendarView/utils.js +4 -4
  12. package/dist/cjs/components/DateField/DateField.js +2 -3
  13. package/dist/cjs/components/DateField/hooks/useBaseDateFieldState.js +5 -4
  14. package/dist/cjs/components/DateField/hooks/useDateFieldProps.js +5 -4
  15. package/dist/cjs/components/DateField/hooks/useDateFieldState.js +5 -4
  16. package/dist/cjs/components/DateField/i18n/index.js +5 -3
  17. package/dist/cjs/components/DateField/index.js +18 -5
  18. package/dist/cjs/components/DateField/utils.js +20 -18
  19. package/dist/cjs/components/DatePicker/DatePicker.js +2 -3
  20. package/dist/cjs/components/DatePicker/MobileCalendar.js +3 -4
  21. package/dist/cjs/components/DatePicker/StubButton.js +1 -2
  22. package/dist/cjs/components/DatePicker/hooks/datePickerStateFactory.js +5 -4
  23. package/dist/cjs/components/DatePicker/hooks/useDatePickerProps.js +5 -3
  24. package/dist/cjs/components/DatePicker/i18n/index.js +5 -3
  25. package/dist/cjs/components/DatePicker/index.js +17 -4
  26. package/dist/cjs/components/DatePicker/utils/getDateTimeValue.js +1 -2
  27. package/dist/cjs/components/DatePicker/utils/index.js +16 -3
  28. package/dist/cjs/components/HiddenInput/HiddenInput.js +6 -5
  29. package/dist/cjs/components/RangeCalendar/RangeCalendar.js +5 -3
  30. package/dist/cjs/components/RangeCalendar/index.js +15 -2
  31. package/dist/cjs/components/RangeDateField/RangeDateField.js +2 -3
  32. package/dist/cjs/components/RangeDateField/hooks/useRangeDateFieldState.js +5 -4
  33. package/dist/cjs/components/RangeDateField/index.js +16 -3
  34. package/dist/cjs/components/RangeDateField/utils/createPlaceholderRangeValue.js +1 -2
  35. package/dist/cjs/components/RangeDateField/utils/getRangeEditableSections.js +1 -2
  36. package/dist/cjs/components/RangeDateField/utils/index.js +17 -4
  37. package/dist/cjs/components/RangeDateField/utils/isValidRange.js +1 -2
  38. package/dist/cjs/components/RangeDatePicker/RangeDatePicker.js +2 -3
  39. package/dist/cjs/components/RangeDatePicker/index.js +16 -3
  40. package/dist/cjs/components/RelativeDateField/RelativeDateField.js +6 -5
  41. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldProps.js +5 -4
  42. package/dist/cjs/components/RelativeDateField/hooks/useRelativeDateFieldState.js +5 -4
  43. package/dist/cjs/components/RelativeDateField/index.js +17 -4
  44. package/dist/cjs/components/RelativeDatePicker/RelativeDatePicker.js +6 -5
  45. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +3 -2
  46. package/dist/cjs/components/RelativeDatePicker/hooks/useRelativeDatePickerState.js +5 -4
  47. package/dist/cjs/components/RelativeDatePicker/i18n/index.js +5 -3
  48. package/dist/cjs/components/RelativeDatePicker/index.js +17 -4
  49. package/dist/cjs/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +9 -6
  50. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +0 -1
  51. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.js +2 -3
  52. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/i18n/index.js +5 -3
  53. package/dist/cjs/components/RelativeRangeDatePicker/components/PickerDialog/useRelativeRangeDatePickerDialogState.js +5 -4
  54. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/Presets.js +7 -5
  55. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/PresetsDoc.js +6 -5
  56. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/en.json +17 -7
  57. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +1 -1
  58. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/index.js +5 -3
  59. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/i18n/ru.json +37 -7
  60. package/dist/cjs/components/RelativeRangeDatePicker/components/Presets/utils.js +27 -11
  61. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/Zones.js +2 -3
  62. package/dist/cjs/components/RelativeRangeDatePicker/components/Zones/i18n/index.js +5 -3
  63. package/dist/cjs/components/RelativeRangeDatePicker/hooks/useRelativeRangeDatePickerState.js +5 -4
  64. package/dist/cjs/components/RelativeRangeDatePicker/i18n/en.json +2 -1
  65. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.d.ts +1 -1
  66. package/dist/cjs/components/RelativeRangeDatePicker/i18n/index.js +5 -3
  67. package/dist/cjs/components/RelativeRangeDatePicker/i18n/ru.json +2 -1
  68. package/dist/cjs/components/RelativeRangeDatePicker/index.js +16 -3
  69. package/dist/cjs/components/RelativeRangeDatePicker/utils.js +5 -6
  70. package/dist/cjs/components/index.js +23 -10
  71. package/dist/cjs/components/types/events.d.ts +0 -1
  72. package/dist/cjs/components/types/style.d.ts +0 -1
  73. package/dist/cjs/components/utils/dates.js +3 -4
  74. package/dist/cjs/components/utils/getButtonSizeForInput.js +1 -2
  75. package/dist/cjs/components/utils/mergeProps.js +1 -2
  76. package/dist/cjs/components/utils/useDefaultTimeZone.js +5 -4
  77. package/dist/cjs/components/utils/validation/datePicker.js +1 -2
  78. package/dist/cjs/components/utils/validation/i18n/index.js +5 -3
  79. package/dist/cjs/index.js +15 -2
  80. package/dist/esm/components/CalendarView/hooks/useCalendarGridProps.d.ts +0 -1
  81. package/dist/esm/components/DatePicker/MobileCalendar.js +1 -1
  82. package/dist/esm/components/DatePicker/hooks/useDatePickerProps.js +4 -1
  83. package/dist/esm/components/RelativeDatePicker/hooks/useRelativeDatePickerProps.js +2 -0
  84. package/dist/esm/components/RelativeRangeDatePicker/RelativeRangeDatePicker.js +3 -1
  85. package/dist/esm/components/RelativeRangeDatePicker/components/PickerDialog/PickerDialog.d.ts +0 -1
  86. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/en.json +17 -7
  87. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/index.d.ts +1 -1
  88. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/i18n/ru.json +37 -7
  89. package/dist/esm/components/RelativeRangeDatePicker/components/Presets/utils.js +23 -6
  90. package/dist/esm/components/RelativeRangeDatePicker/i18n/en.json +2 -1
  91. package/dist/esm/components/RelativeRangeDatePicker/i18n/index.d.ts +1 -1
  92. package/dist/esm/components/RelativeRangeDatePicker/i18n/ru.json +2 -1
  93. package/dist/esm/components/RelativeRangeDatePicker/utils.js +1 -1
  94. package/dist/esm/components/types/events.d.ts +0 -1
  95. package/dist/esm/components/types/style.d.ts +0 -1
  96. package/package.json +22 -17
@@ -25,13 +25,23 @@
25
25
  "From start of month": "From start of month",
26
26
  "From start of year": "From start of year",
27
27
  "Previous month": "Previous month",
28
- "Last {count} {unit}": "Last {{count}} {{unit}}",
29
- "m": ["minute", "minutes", "minutes"],
30
- "h": ["hour", "hours", "hours"],
31
- "d": ["day", "days", "days"],
32
- "w": ["week", "weeks", "weeks"],
33
- "M": ["month", "months", "months"],
34
- "y": ["year", "years", "years"],
28
+ "Last second": "Last second",
29
+ "Last minute": "Last minute",
30
+ "Last {count} second": [
31
+ "Last {{count}} second",
32
+ "Last {{count}} seconds",
33
+ "Last {{count}} seconds"
34
+ ],
35
+ "Last {count} minute": [
36
+ "Last {{count}} minute",
37
+ "Last {{count}} minutes",
38
+ "Last {{count}} minutes"
39
+ ],
40
+ "Last {count} hour": ["Last {{count}} hour", "Last {{count}} hours", "Last {{count}} hours"],
41
+ "Last {count} day": ["Last {{count}} day", "Last {{count}} days", "Last {{count}} days"],
42
+ "Last {count} week": ["Last {{count}} week", "Last {{count}} weeks", "Last {{count}} weeks"],
43
+ "Last {count} month": ["Last {{count}} month", "Last {{count}} months", "Last {{count}} months"],
44
+ "Last {count} year": ["Last {{count}} year", "Last {{count}} years", "Last {{count}} years"],
35
45
  "Main": "Main",
36
46
  "Other": "Other",
37
47
  "Range": "Range",
@@ -1 +1 @@
1
- export declare const i18n: (key: "m" | "y" | "M" | "d" | "h" | "w" | "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" | "Main" | "Other" | "Range" | "From" | "To" | "Last {count} {unit}", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ export declare const i18n: (key: "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" | "Range" | "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 | undefined) => string;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.i18n = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const i18n_1 = require("@gravity-ui/uikit/i18n");
6
8
  const cn_1 = require("../../../../../utils/cn");
7
- const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
- const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ const en_json_1 = __importDefault(require("./en.json"));
10
+ const ru_json_1 = __importDefault(require("./ru.json"));
9
11
  exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}relative-range-date-picker-presets`);
@@ -25,13 +25,43 @@
25
25
  "From start of month": "С начала месяца",
26
26
  "From start of year": "С начала года",
27
27
  "Previous month": "Предыдущий месяц",
28
- "Last {count} {unit}": "Last {{count}} {{unit}}",
29
- "m": ["minute", "minutes", "minutes"],
30
- "h": ["hour", "hours", "hours"],
31
- "d": ["day", "days", "days"],
32
- "w": ["week", "weeks", "weeks"],
33
- "M": ["month", "months", "months"],
34
- "y": ["year", "years", "years"],
28
+ "Last second": "Последняя секунда",
29
+ "Last minute": "Последняя минута",
30
+ "Last {count} second": [
31
+ "Последняя {{count}} секунда",
32
+ "Последние {{count}} секунды",
33
+ "Последние {{count}} секунд"
34
+ ],
35
+ "Last {count} minute": [
36
+ "Последняя {{count}} минута",
37
+ "Последние {{count}} минуты",
38
+ "Последние {{count}} минут"
39
+ ],
40
+ "Last {count} hour": [
41
+ "Последний {{count}} час",
42
+ "Последние {{count}} часа",
43
+ "Последние {{count}} часов"
44
+ ],
45
+ "Last {count} day": [
46
+ "Последний {{count}} день",
47
+ "Последние {{count}} дня",
48
+ "Последние {{count}} дней"
49
+ ],
50
+ "Last {count} week": [
51
+ "Последняя {{count}} неделя",
52
+ "Последние {{count}} недели",
53
+ "Последние {{count}} недель"
54
+ ],
55
+ "Last {count} month": [
56
+ "Последний {{count}} месяц",
57
+ "Последние {{count}} месяца",
58
+ "Последние {{count}} месяцев"
59
+ ],
60
+ "Last {count} year": [
61
+ "Последний {{count}} год",
62
+ "Последние {{count}} года",
63
+ "Последние {{count}} лет"
64
+ ],
35
65
  "Main": "Основные",
36
66
  "Other": "Другие",
37
67
  "Range": "Период",
@@ -1,9 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterPresetTabs = exports.getDefaultPresetTabs = exports.filterPresets = exports.getPresetTitle = void 0;
3
+ exports.getPresetTitle = getPresetTitle;
4
+ exports.filterPresets = filterPresets;
5
+ exports.getDefaultPresetTabs = getDefaultPresetTabs;
6
+ exports.filterPresetTabs = filterPresetTabs;
4
7
  const date_utils_1 = require("@gravity-ui/date-utils");
5
8
  const defaultPresets_1 = require("./defaultPresets");
6
9
  const i18n_1 = require("./i18n");
10
+ const lastRe = /^now-(\d+)([smhdwMy])$/;
11
+ const oneUnit = {
12
+ s: 'Last second',
13
+ m: 'Last minute',
14
+ h: 'Last hour',
15
+ d: 'Last day',
16
+ w: 'Last week',
17
+ M: 'Last month',
18
+ y: 'Last year',
19
+ };
20
+ const countUnit = {
21
+ s: 'Last {count} second',
22
+ m: 'Last {count} minute',
23
+ h: 'Last {count} hour',
24
+ d: 'Last {count} day',
25
+ w: 'Last {count} week',
26
+ M: 'Last {count} month',
27
+ y: 'Last {count} year',
28
+ };
7
29
  function getPresetTitle(start, end, presets = defaultPresets_1.allPresets) {
8
30
  const startText = start.replace(/\s+/g, '');
9
31
  const endText = end.replace(/\s+/g, '');
@@ -13,22 +35,19 @@ function getPresetTitle(start, end, presets = defaultPresets_1.allPresets) {
13
35
  }
14
36
  }
15
37
  if (end === 'now') {
16
- const match = /^now-(\d+)([m|h|d|w|M|y])$/.exec(start);
38
+ const match = lastRe.exec(startText);
17
39
  if (match) {
18
40
  const [, count, unit] = match;
19
41
  if (isDateUnit(unit)) {
20
- return (0, i18n_1.i18n)('Last {count} {unit}', {
21
- count,
22
- unit: (0, i18n_1.i18n)(unit, { count: Number(count) }),
23
- });
42
+ const template = Number(count) === 1 ? oneUnit[unit] : countUnit[unit];
43
+ return (0, i18n_1.i18n)(template, { count });
24
44
  }
25
45
  }
26
46
  }
27
47
  return startText + ' — ' + endText;
28
48
  }
29
- exports.getPresetTitle = getPresetTitle;
30
49
  function isDateUnit(value) {
31
- return ['m', 'h', 'd', 'w', 'M', 'y'].includes(value);
50
+ return ['s', 'm', 'h', 'd', 'w', 'M', 'y'].includes(value);
32
51
  }
33
52
  function filterPresets(presets, minValue) {
34
53
  return presets.filter((preset) => {
@@ -46,7 +65,6 @@ function filterPresets(presets, minValue) {
46
65
  return true;
47
66
  });
48
67
  }
49
- exports.filterPresets = filterPresets;
50
68
  function getDefaultPresetTabs({ withTime, minValue, }) {
51
69
  const tabs = [];
52
70
  const mainTab = {
@@ -72,7 +90,6 @@ function getDefaultPresetTabs({ withTime, minValue, }) {
72
90
  }
73
91
  return tabs;
74
92
  }
75
- exports.getDefaultPresetTabs = getDefaultPresetTabs;
76
93
  function filterPresetTabs(tabs, { minValue } = {}) {
77
94
  return tabs.reduce((acc, tab) => {
78
95
  const presets = filterPresets(tab.presets, minValue);
@@ -82,4 +99,3 @@ function filterPresetTabs(tabs, { minValue } = {}) {
82
99
  return acc;
83
100
  }, []);
84
101
  }
85
- exports.filterPresetTabs = filterPresetTabs;
@@ -1,7 +1,7 @@
1
- "use strict";
2
1
  'use client';
2
+ "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Zones = void 0;
4
+ exports.Zones = Zones;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const date_utils_1 = require("@gravity-ui/date-utils");
7
7
  const icons_1 = require("@gravity-ui/icons");
@@ -60,4 +60,3 @@ function Zones(props) {
60
60
  return ((0, jsx_runtime_1.jsxs)("span", { className: b('item'), children: [(0, jsx_runtime_1.jsxs)("span", { className: b('item-title'), title: value, children: [v, "\u00A0"] }), (0, jsx_runtime_1.jsx)(uikit_1.Text, { color: "secondary", children: (0, utils_1.getTimeZoneOffset)(value) })] }));
61
61
  }, filterable: true }));
62
62
  }
63
- exports.Zones = Zones;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.i18n = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const i18n_1 = require("@gravity-ui/uikit/i18n");
6
8
  const cn_1 = require("../../../../../utils/cn");
7
- const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
- const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ const en_json_1 = __importDefault(require("./en.json"));
10
+ const ru_json_1 = __importDefault(require("./ru.json"));
9
11
  exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}relative-range-date-picker-zones`);
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useRelativeRangeDatePickerState = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
+ exports.useRelativeRangeDatePickerState = useRelativeRangeDatePickerState;
7
+ const react_1 = __importDefault(require("react"));
6
8
  const date_utils_1 = require("@gravity-ui/date-utils");
7
9
  const uikit_1 = require("@gravity-ui/uikit");
8
10
  const datePicker_1 = require("../../utils/validation/datePicker");
@@ -30,7 +32,6 @@ function useRelativeRangeDatePickerState(props) {
30
32
  }
31
33
  } }, validation);
32
34
  }
33
- exports.useRelativeRangeDatePickerState = useRelativeRangeDatePickerState;
34
35
  function getRangeValidationResult(value, allowNullableValues, minValue, maxValue, isDateUnavailable, timeZone) {
35
36
  if (!value) {
36
37
  return { isInvalid: false, errors: [] };
@@ -4,5 +4,6 @@
4
4
  "\"To\"": "\"To\"",
5
5
  "\"To\" is required.": "\"To\" is required.",
6
6
  "\"From\" can't be after \"To\".": "\"From\" can't be after \"To\".",
7
- "to": "to"
7
+ "to": "to",
8
+ "Range date picker": "Range date picker"
8
9
  }
@@ -1 +1 @@
1
- export declare const i18n: (key: "\"From\"" | "\"From\" is required." | "\"To\"" | "\"To\" is required." | "\"From\" can't be after \"To\"." | "to", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ export declare const i18n: (key: "\"From\"" | "\"From\" is required." | "\"To\"" | "\"To\" is required." | "\"From\" can't be after \"To\"." | "to" | "Range date picker", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.i18n = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const i18n_1 = require("@gravity-ui/uikit/i18n");
6
8
  const cn_1 = require("../../../utils/cn");
7
- const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
- const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ const en_json_1 = __importDefault(require("./en.json"));
10
+ const ru_json_1 = __importDefault(require("./ru.json"));
9
11
  exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}relative-range-date-picker`);
@@ -4,5 +4,6 @@
4
4
  "\"To\"": "«До»",
5
5
  "\"To\" is required.": "«До» обязательно.",
6
6
  "\"From\" can't be after \"To\".": "«От» не может быть позже чем «До».",
7
- "to": "до"
7
+ "to": "до",
8
+ "Range date picker": "Выбор диапазона дат"
8
9
  }
@@ -1,11 +1,24 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.getDefaultPresetTabs = exports.DEFAULT_OTHERS_PRESETS = exports.DEFAULT_TIME_PRESETS = exports.DEFAULT_DATE_PRESETS = exports.RelativeRangeDatePickerDialog = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./RelativeRangeDatePicker"), exports);
18
+ __exportStar(require("./RelativeRangeDatePicker"), exports);
6
19
  var PickerDialog_1 = require("./components/PickerDialog/PickerDialog");
7
20
  Object.defineProperty(exports, "RelativeRangeDatePickerDialog", { enumerable: true, get: function () { return PickerDialog_1.PickerDialog; } });
8
- tslib_1.__exportStar(require("./hooks/useRelativeRangeDatePickerState"), exports);
21
+ __exportStar(require("./hooks/useRelativeRangeDatePickerState"), exports);
9
22
  var defaultPresets_1 = require("./components/Presets/defaultPresets");
10
23
  Object.defineProperty(exports, "DEFAULT_DATE_PRESETS", { enumerable: true, get: function () { return defaultPresets_1.DEFAULT_DATE_PRESETS; } });
11
24
  Object.defineProperty(exports, "DEFAULT_TIME_PRESETS", { enumerable: true, get: function () { return defaultPresets_1.DEFAULT_TIME_PRESETS; } });
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultTitle = exports.getTimeZoneOffset = exports.normalizeTimeZone = exports.resolveTimeZone = void 0;
3
+ exports.resolveTimeZone = resolveTimeZone;
4
+ exports.normalizeTimeZone = normalizeTimeZone;
5
+ exports.getTimeZoneOffset = getTimeZoneOffset;
6
+ exports.getDefaultTitle = getDefaultTitle;
4
7
  const date_utils_1 = require("@gravity-ui/date-utils");
5
8
  const utils_1 = require("./components/Presets/utils");
6
9
  function resolveTimeZone(timeZone) {
@@ -9,7 +12,6 @@ function resolveTimeZone(timeZone) {
9
12
  }
10
13
  return timeZone;
11
14
  }
12
- exports.resolveTimeZone = resolveTimeZone;
13
15
  function normalizeTimeZone(timeZone) {
14
16
  const lowered = timeZone.toLowerCase();
15
17
  if (lowered === 'default' || lowered === 'system') {
@@ -17,11 +19,9 @@ function normalizeTimeZone(timeZone) {
17
19
  }
18
20
  return resolveTimeZone(timeZone);
19
21
  }
20
- exports.normalizeTimeZone = normalizeTimeZone;
21
22
  function getTimeZoneOffset(timeZone) {
22
23
  return `UTC ${(0, date_utils_1.dateTime)({ timeZone }).format('Z')}`;
23
24
  }
24
- exports.getTimeZoneOffset = getTimeZoneOffset;
25
25
  function getDefaultTitle({ value, timeZone, alwaysShowAsAbsolute, format = 'L', presets, }) {
26
26
  var _a, _b, _c, _d, _e, _f;
27
27
  if (!value) {
@@ -45,9 +45,8 @@ function getDefaultTitle({ value, timeZone, alwaysShowAsAbsolute, format = 'L',
45
45
  if (!alwaysShowAsAbsolute &&
46
46
  ((_e = value.start) === null || _e === void 0 ? void 0 : _e.type) === 'relative' &&
47
47
  ((_f = value.end) === null || _f === void 0 ? void 0 : _f.type) === 'relative') {
48
- return `${(0, utils_1.getPresetTitle)(value.start.value, value.end.value, presets)}${tz}`;
48
+ return `${(0, utils_1.getPresetTitle)(value.start.value, value.end.value, presets)}`;
49
49
  }
50
50
  const delimiter = ' — ';
51
51
  return `${from}${delimiter}${to}${tz}`;
52
52
  }
53
- exports.getDefaultTitle = getDefaultTitle;
@@ -1,12 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Calendar"), exports);
5
- tslib_1.__exportStar(require("./RangeCalendar"), exports);
6
- tslib_1.__exportStar(require("./DateField"), exports);
7
- tslib_1.__exportStar(require("./DatePicker"), exports);
8
- tslib_1.__exportStar(require("./RangeDatePicker"), exports);
9
- tslib_1.__exportStar(require("./RelativeDateField"), exports);
10
- tslib_1.__exportStar(require("./RelativeDatePicker"), exports);
11
- tslib_1.__exportStar(require("./RangeDateField"), exports);
12
- tslib_1.__exportStar(require("./RelativeRangeDatePicker"), exports);
17
+ __exportStar(require("./Calendar"), exports);
18
+ __exportStar(require("./RangeCalendar"), exports);
19
+ __exportStar(require("./DateField"), exports);
20
+ __exportStar(require("./DatePicker"), exports);
21
+ __exportStar(require("./RangeDatePicker"), exports);
22
+ __exportStar(require("./RelativeDateField"), exports);
23
+ __exportStar(require("./RelativeDatePicker"), exports);
24
+ __exportStar(require("./RangeDateField"), exports);
25
+ __exportStar(require("./RelativeRangeDatePicker"), exports);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface KeyboardEvents {
3
2
  /** Handler that is called when a key is pressed. */
4
3
  onKeyDown?(e: React.KeyboardEvent): void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface StyleProps {
3
2
  /** Sets inline style for the element. */
4
3
  style?: React.CSSProperties;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeDateTime = exports.isInvalid = exports.createPlaceholderValue = void 0;
3
+ exports.createPlaceholderValue = createPlaceholderValue;
4
+ exports.isInvalid = isInvalid;
5
+ exports.mergeDateTime = mergeDateTime;
4
6
  const date_utils_1 = require("@gravity-ui/date-utils");
5
7
  function createPlaceholderValue({ placeholderValue, timeZone }) {
6
8
  return (placeholderValue !== null && placeholderValue !== void 0 ? placeholderValue : (0, date_utils_1.dateTime)({ timeZone }).set('hour', 0).set('minute', 0).set('second', 0));
7
9
  }
8
- exports.createPlaceholderValue = createPlaceholderValue;
9
10
  function isInvalid(value, minValue, maxValue) {
10
11
  if (!value) {
11
12
  return false;
@@ -18,11 +19,9 @@ function isInvalid(value, minValue, maxValue) {
18
19
  }
19
20
  return false;
20
21
  }
21
- exports.isInvalid = isInvalid;
22
22
  function mergeDateTime(date, time) {
23
23
  return date
24
24
  .set('hours', time.hour())
25
25
  .set('minutes', time.minute())
26
26
  .set('seconds', time.second());
27
27
  }
28
- exports.mergeDateTime = mergeDateTime;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getButtonSizeForInput = void 0;
3
+ exports.getButtonSizeForInput = getButtonSizeForInput;
4
4
  function getButtonSizeForInput(size) {
5
5
  switch (size) {
6
6
  case 'xl': {
@@ -17,4 +17,3 @@ function getButtonSizeForInput(size) {
17
17
  }
18
18
  }
19
19
  }
20
- exports.getButtonSizeForInput = getButtonSizeForInput;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeProps = void 0;
3
+ exports.mergeProps = mergeProps;
4
4
  function mergeProps(...args) {
5
5
  const result = Object.assign({}, args[0]);
6
6
  for (let i = 1; i < args.length; i++) {
@@ -35,7 +35,6 @@ function mergeProps(...args) {
35
35
  }
36
36
  return result;
37
37
  }
38
- exports.mergeProps = mergeProps;
39
38
  function chain(...fns) {
40
39
  return (...args) => {
41
40
  for (const fn of fns) {
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDefaultTimeZone = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
+ exports.useDefaultTimeZone = useDefaultTimeZone;
7
+ const react_1 = __importDefault(require("react"));
6
8
  function useDefaultTimeZone(date) {
7
9
  const defaultTimeZone = date ? date.timeZone() : 'default';
8
10
  const [lastValue, setLastValue] = react_1.default.useState(defaultTimeZone);
@@ -12,4 +14,3 @@ function useDefaultTimeZone(date) {
12
14
  const timeZone = date ? defaultTimeZone : lastValue;
13
15
  return timeZone;
14
16
  }
15
- exports.useDefaultTimeZone = useDefaultTimeZone;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getValidationResult = void 0;
3
+ exports.getValidationResult = getValidationResult;
4
4
  const i18n_1 = require("./i18n");
5
5
  function getValidationResult(value, minValue, maxValue, isDateUnavailable, timeZone, valueTitle = 'Value') {
6
6
  const rangeOverflow = value && maxValue && maxValue.isBefore(value);
@@ -27,4 +27,3 @@ function getValidationResult(value, minValue, maxValue, isDateUnavailable, timeZ
27
27
  }
28
28
  return { isInvalid, errors };
29
29
  }
30
- exports.getValidationResult = getValidationResult;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.i18n = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const i18n_1 = require("@gravity-ui/uikit/i18n");
6
8
  const cn_1 = require("../../../../utils/cn");
7
- const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
- const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ const en_json_1 = __importDefault(require("./en.json"));
10
+ const ru_json_1 = __importDefault(require("./ru.json"));
9
11
  exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}validation`);
package/dist/cjs/index.js CHANGED
@@ -1,4 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./components"), exports);
17
+ __exportStar(require("./components"), exports);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CalendarState, RangeCalendarState } from './types';
3
2
  export declare function useCalendarGridProps(state: CalendarState | RangeCalendarState): {
4
3
  gridProps: import("react").HTMLAttributes<HTMLElement>;
@@ -14,7 +14,7 @@ export function MobileCalendar({ props, state }) {
14
14
  else if (state.hasTime) {
15
15
  type = 'time';
16
16
  }
17
- return (_jsx("input", { className: b(), disabled: props.disabled, type: type, value: formatNative(state.dateFieldState.displayValue, type), id: props.id, min: formatNative((_a = props.minValue) === null || _a === void 0 ? void 0 : _a.timeZone(state.timeZone), type), max: formatNative((_b = props.maxValue) === null || _b === void 0 ? void 0 : _b.timeZone(state.timeZone), type), tabIndex: -1, onChange: (e) => {
17
+ return (_jsx("input", { className: b(), disabled: props.disabled, type: type, value: formatNative(state.dateFieldState.value, type), id: props.id, min: formatNative((_a = props.minValue) === null || _a === void 0 ? void 0 : _a.timeZone(state.timeZone), type), max: formatNative((_b = props.maxValue) === null || _b === void 0 ? void 0 : _b.timeZone(state.timeZone), type), tabIndex: -1, onChange: (e) => {
18
18
  var _a, _b;
19
19
  if (props.readOnly) {
20
20
  return;
@@ -61,7 +61,10 @@ export function useDatePickerProps(state, _a) {
61
61
  } }),
62
62
  fieldProps: mergeProps(inputProps, state.dateFieldState.isEmpty && !isActive && props.placeholder
63
63
  ? { value: '' }
64
- : undefined, { controlRef: handleRef }),
64
+ : undefined, {
65
+ controlRef: handleRef,
66
+ controlProps: { role: 'combobox', 'aria-expanded': state.isOpen },
67
+ }),
65
68
  calendarButtonProps: {
66
69
  ref: calendarButtonRef,
67
70
  size: getButtonSizeForInput(props.size),
@@ -54,6 +54,8 @@ export function useRelativeDatePickerProps(state, _a) {
54
54
  setOpen(true);
55
55
  }
56
56
  },
57
+ role: 'combobox',
58
+ 'aria-expanded': isOpen,
57
59
  },
58
60
  };
59
61
  const { inputProps } = useDateFieldProps(datePickerState.dateFieldState, Object.assign(Object.assign({}, props), { value: undefined, defaultValue: undefined, onUpdate: undefined }));
@@ -8,6 +8,7 @@ import { HiddenInput } from '../HiddenInput/HiddenInput';
8
8
  import { getButtonSizeForInput } from '../utils/getButtonSizeForInput';
9
9
  import { PickerDialog } from './components/PickerDialog/PickerDialog';
10
10
  import { useRelativeRangeDatePickerState } from './hooks/useRelativeRangeDatePickerState';
11
+ import { i18n } from './i18n';
11
12
  import { getDefaultTitle } from './utils';
12
13
  import './RelativeRangeDatePicker.css';
13
14
  const b = block('relative-range-date-picker');
@@ -53,7 +54,7 @@ export function RelativeRangeDatePicker(props) {
53
54
  state.setValue(null, 'default');
54
55
  }
55
56
  }, controlProps: {
56
- 'aria-haspopup': 'dialog',
57
+ role: 'combobox',
57
58
  'aria-expanded': open,
58
59
  disabled: isMobile,
59
60
  className: b('input', { mobile: isMobile }),
@@ -82,6 +83,7 @@ export function RelativeRangeDatePicker(props) {
82
83
  }, validationState: validationState, errorMessage: errorMessage, errorPlacement: props.errorPlacement, pin: props.pin, size: props.size, label: props.label, hasClear: props.hasClear, disabled: props.disabled, endContent: _jsx(Button, { view: "flat-secondary", size: getButtonSizeForInput(props.size), disabled: props.disabled, extraProps: {
83
84
  'aria-haspopup': 'dialog',
84
85
  'aria-expanded': open,
86
+ 'aria-label': i18n('Range date picker'),
85
87
  }, onClick: () => {
86
88
  setIsActive(true);
87
89
  setOpen(!open);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { RelativeRangeDatePickerProps } from '../../RelativeRangeDatePicker';
3
2
  import type { RelativeRangeDatePickerState } from '../../hooks/useRelativeRangeDatePickerState';
4
3
  import './PickerDialog.css';