@alfalab/core-components-calendar-range 7.1.6 → 7.2.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 (110) hide show
  1. package/Component-5684a67d.d.ts +18 -0
  2. package/Component-63dec22f.d.ts +24 -0
  3. package/Component-e2b6c730.d.ts +23 -0
  4. package/Component.desktop-2e2b2125.d.ts +6 -0
  5. package/Component.desktop-e2b6c730.d.ts +134 -0
  6. package/Component.js +4 -2
  7. package/Component.responsive-2e2b2125.d.ts +68 -0
  8. package/components/divider/Component.js +1 -1
  9. package/components/divider/index.css +8 -8
  10. package/cssm/Component-5684a67d.d.ts +18 -0
  11. package/cssm/Component-63dec22f.d.ts +24 -0
  12. package/cssm/Component-e2b6c730.d.ts +23 -0
  13. package/cssm/Component.desktop-2e2b2125.d.ts +6 -0
  14. package/cssm/Component.desktop-e2b6c730.d.ts +134 -0
  15. package/cssm/Component.js +3 -1
  16. package/cssm/Component.responsive-2e2b2125.d.ts +68 -0
  17. package/cssm/desktop-63dec22f.d.ts +2 -0
  18. package/cssm/index-9211a437.d.ts +2 -0
  19. package/cssm/index-ebda875c.d.ts +2 -0
  20. package/cssm/index-f034f741.d.ts +2 -0
  21. package/cssm/index.js +3 -1
  22. package/cssm/shared-848397c5.d.ts +35 -0
  23. package/cssm/shared-c111a9fd.d.ts +13 -0
  24. package/cssm/typings-5684a67d.d.ts +23 -0
  25. package/cssm/typings-9211a437.d.ts +95 -0
  26. package/cssm/useCalendar-71d94e2b.d.ts +97 -0
  27. package/cssm/utils-e0a54580.d.ts +8 -0
  28. package/cssm/utils-e2b6c730.d.ts +88 -0
  29. package/cssm/views/popover.js +9 -8
  30. package/cssm/views/static.js +18 -17
  31. package/desktop-63dec22f.d.ts +2 -0
  32. package/esm/Component-5684a67d.d.ts +18 -0
  33. package/esm/Component-63dec22f.d.ts +24 -0
  34. package/esm/Component-e2b6c730.d.ts +23 -0
  35. package/esm/Component.desktop-2e2b2125.d.ts +6 -0
  36. package/esm/Component.desktop-e2b6c730.d.ts +134 -0
  37. package/esm/Component.js +4 -2
  38. package/esm/Component.responsive-2e2b2125.d.ts +68 -0
  39. package/esm/components/divider/Component.js +1 -1
  40. package/esm/components/divider/index.css +8 -8
  41. package/esm/desktop-63dec22f.d.ts +2 -0
  42. package/esm/index-9211a437.d.ts +2 -0
  43. package/esm/index-ebda875c.d.ts +2 -0
  44. package/esm/index-f034f741.d.ts +2 -0
  45. package/esm/index.js +4 -2
  46. package/esm/index.module-46b1abbe.js +4 -0
  47. package/esm/shared-848397c5.d.ts +35 -0
  48. package/esm/shared-c111a9fd.d.ts +13 -0
  49. package/esm/typings-5684a67d.d.ts +23 -0
  50. package/esm/typings-9211a437.d.ts +95 -0
  51. package/esm/useCalendar-71d94e2b.d.ts +97 -0
  52. package/esm/utils-e0a54580.d.ts +8 -0
  53. package/esm/utils-e2b6c730.d.ts +88 -0
  54. package/esm/views/index.css +7 -7
  55. package/esm/views/popover.js +3 -2
  56. package/esm/views/static.js +6 -5
  57. package/index-9211a437.d.ts +2 -0
  58. package/index-ebda875c.d.ts +2 -0
  59. package/index-f034f741.d.ts +2 -0
  60. package/index.js +4 -2
  61. package/index.module-2681dffc.js +6 -0
  62. package/modern/Component-5684a67d.d.ts +18 -0
  63. package/modern/Component-63dec22f.d.ts +24 -0
  64. package/modern/Component-e2b6c730.d.ts +23 -0
  65. package/modern/Component.desktop-2e2b2125.d.ts +6 -0
  66. package/modern/Component.desktop-e2b6c730.d.ts +134 -0
  67. package/modern/Component.js +4 -2
  68. package/modern/Component.responsive-2e2b2125.d.ts +68 -0
  69. package/modern/components/divider/Component.js +1 -1
  70. package/modern/components/divider/index.css +8 -8
  71. package/modern/desktop-63dec22f.d.ts +2 -0
  72. package/modern/index-9211a437.d.ts +2 -0
  73. package/modern/index-ebda875c.d.ts +2 -0
  74. package/modern/index-f034f741.d.ts +2 -0
  75. package/modern/index.js +4 -2
  76. package/modern/index.module-95129248.js +4 -0
  77. package/modern/shared-848397c5.d.ts +35 -0
  78. package/modern/shared-c111a9fd.d.ts +13 -0
  79. package/modern/typings-5684a67d.d.ts +23 -0
  80. package/modern/typings-9211a437.d.ts +95 -0
  81. package/modern/useCalendar-71d94e2b.d.ts +97 -0
  82. package/modern/utils-e0a54580.d.ts +8 -0
  83. package/modern/utils-e2b6c730.d.ts +88 -0
  84. package/modern/views/index.css +7 -7
  85. package/modern/views/popover.js +3 -2
  86. package/modern/views/static.js +6 -5
  87. package/package.json +4 -4
  88. package/shared-848397c5.d.ts +35 -0
  89. package/shared-c111a9fd.d.ts +13 -0
  90. package/src/Component.tsx +113 -0
  91. package/src/components/divider/Component.tsx +23 -0
  92. package/src/components/divider/index.module.css +41 -0
  93. package/src/components/divider/index.ts +1 -0
  94. package/src/hooks.ts +201 -0
  95. package/src/index.ts +1 -0
  96. package/src/utils.ts +2 -0
  97. package/src/views/index.module.css +28 -0
  98. package/src/views/popover.tsx +223 -0
  99. package/src/views/static.tsx +338 -0
  100. package/typings-5684a67d.d.ts +23 -0
  101. package/typings-9211a437.d.ts +95 -0
  102. package/useCalendar-71d94e2b.d.ts +97 -0
  103. package/utils-e0a54580.d.ts +8 -0
  104. package/utils-e2b6c730.d.ts +88 -0
  105. package/views/index.css +7 -7
  106. package/views/popover.js +10 -9
  107. package/views/static.js +19 -18
  108. package/esm/index.module-8ff2af7b.js +0 -4
  109. package/index.module-bda4cfcc.js +0 -6
  110. package/modern/index.module-0176534f.js +0 -4
@@ -0,0 +1,18 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { SelectorView } from "./typings-5684a67d";
3
+ type HeaderProps = {
4
+ /**
5
+ * Вид шапки — месяц и год или только месяц
6
+ */
7
+ view?: SelectorView;
8
+ /**
9
+ * Отображать тень? (нужна при прокрутке)
10
+ */
11
+ withShadow?: boolean;
12
+ /**
13
+ * Дочерние элементы.
14
+ */
15
+ children?: ReactNode;
16
+ };
17
+ declare const Header: FC<HeaderProps>;
18
+ export { HeaderProps, Header };
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ButtonHTMLAttributes } from "react";
4
+ type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
5
+ /**
6
+ * Дополнительный класс
7
+ */
8
+ className?: string;
9
+ /**
10
+ * Вид кнопки
11
+ */
12
+ view?: 'default' | 'filled' | 'outlined' | 'selected';
13
+ };
14
+ declare const SelectButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
15
+ /**
16
+ * Дополнительный класс
17
+ */
18
+ className?: string | undefined;
19
+ /**
20
+ * Вид кнопки
21
+ */
22
+ view?: "default" | "outlined" | "filled" | "selected" | undefined;
23
+ } & React.RefAttributes<HTMLButtonElement>>;
24
+ export { SelectButtonProps, SelectButton };
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { FC } from 'react';
3
+ import { Month } from "./typings-5684a67d";
4
+ type MonthsTableProps = {
5
+ /**
6
+ * Массив месяцев
7
+ */
8
+ months?: Month[];
9
+ /**
10
+ * Выбранный месяц
11
+ */
12
+ selectedMonth?: Date;
13
+ /**
14
+ * Доп пропсы для переданного месяца
15
+ */
16
+ getMonthProps: (day: Month) => Record<string, unknown>;
17
+ /**
18
+ * Должен ли календарь подстраиваться под ширину родителя.
19
+ */
20
+ responsive?: boolean;
21
+ };
22
+ declare const MonthsTable: FC<MonthsTableProps>;
23
+ export { MonthsTableProps, MonthsTable };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
4
+ type ButtonDesktopProps = Partial<AnchorButtonProps | NativeButtonProps>;
5
+ declare const ButtonDesktop: React.ForwardRefExoticComponent<ButtonDesktopProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
6
+ export { ButtonDesktopProps, ButtonDesktop };
@@ -0,0 +1,134 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, MouseEvent } from "react";
4
+ import { DayAddons, SelectorView, View } from "./typings-5684a67d";
5
+ type YearsTableProps = {
6
+ /**
7
+ * Массив лет
8
+ */
9
+ years?: Date[];
10
+ /**
11
+ * Выбранный год
12
+ */
13
+ selectedYear?: Date;
14
+ /**
15
+ * Доп. пропсы для переданного года
16
+ */
17
+ getYearProps: (year: Date) => Record<string, unknown>;
18
+ /**
19
+ * Обработчик скролла
20
+ */
21
+ onScroll: (scrollTop: number) => void;
22
+ /**
23
+ * Должен ли календарь подстраиваться под ширину родителя.
24
+ */
25
+ responsive?: boolean;
26
+ };
27
+ declare const YearsTable: FC<YearsTableProps>;
28
+ type CalendarDesktopProps = {
29
+ /**
30
+ * Дополнительный класс
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Вид по умолчанию (выбор дней, месяцев, лет)
35
+ */
36
+ defaultView?: View;
37
+ /**
38
+ * Вид шапки — месяц и год или только месяц
39
+ */
40
+ selectorView?: SelectorView;
41
+ /**
42
+ * Выбранная дата (timestamp)
43
+ */
44
+ value?: number;
45
+ /**
46
+ * Открытый месяц (timestamp)
47
+ */
48
+ month?: number;
49
+ /**
50
+ * Месяц, открытый по умолчанию (timestamp)
51
+ */
52
+ defaultMonth?: number;
53
+ /**
54
+ * Минимальная дата, доступная для выбора (timestamp)
55
+ */
56
+ minDate?: number;
57
+ /**
58
+ * Максимальная дата, доступная для выбора (timestamp)
59
+ */
60
+ maxDate?: number;
61
+ /**
62
+ * Начало выделенного периода (timestamp)
63
+ */
64
+ selectedFrom?: number;
65
+ /**
66
+ * Конец выделенного периода (timestamp)
67
+ */
68
+ selectedTo?: number;
69
+ /**
70
+ * Индикатор, что выбран полный период
71
+ */
72
+ rangeComplete?: boolean;
73
+ /**
74
+ * Список событий
75
+ */
76
+ events?: Array<Date | number>;
77
+ /**
78
+ * Список отключенных для выбора дней.
79
+ */
80
+ offDays?: Array<Date | number>;
81
+ /**
82
+ * Список выходных
83
+ */
84
+ holidays?: Array<Date | number>;
85
+ /**
86
+ * Обработчик изменения месяца (или года)
87
+ */
88
+ onMonthChange?: (month: number) => void;
89
+ /**
90
+ * Обработчик выбора даты
91
+ */
92
+ onChange?: (date?: number) => void;
93
+ /**
94
+ * Обработчик нажатия на кнопку месяца
95
+ */
96
+ onMonthClick?: (event: MouseEvent<HTMLButtonElement>) => void;
97
+ /**
98
+ * Обработчик нажатия на кнопку года
99
+ */
100
+ onYearClick?: (event: MouseEvent<HTMLButtonElement>) => void;
101
+ /**
102
+ * Обработчик нажатия на период
103
+ */
104
+ onPeriodClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
105
+ /**
106
+ * Идентификатор для систем автоматизированного тестирования
107
+ */
108
+ dataTestId?: string;
109
+ /**
110
+ * Нужно ли рендерить шапку календаря
111
+ */
112
+ hasHeader?: boolean;
113
+ /**
114
+ * Должен ли календарь подстраиваться под ширину родителя.
115
+ */
116
+ responsive?: boolean;
117
+ /**
118
+ * Дополнительный контент под числом
119
+ */
120
+ dayAddons?: DayAddons[];
121
+ /**
122
+ * Форма ячейки дня
123
+ */
124
+ shape?: 'rounded' | 'rectangular';
125
+ /**
126
+ * Отображать ли текущий год, если selectorView 'month-only'
127
+ * @default false
128
+ */
129
+ showCurrentYearSelector?: boolean;
130
+ };
131
+ declare const CalendarDesktop: React.ForwardRefExoticComponent<CalendarDesktopProps & React.RefAttributes<HTMLDivElement>>;
132
+ export * from "./Component-e2b6c730";
133
+ export * from "./Component-5684a67d";
134
+ export { YearsTableProps, YearsTable, CalendarDesktopProps, CalendarDesktop };
package/Component.js CHANGED
@@ -9,6 +9,7 @@ var views_static = require('./views/static.js');
9
9
  require('classnames');
10
10
  require('date-fns/startOfMonth');
11
11
  require('@alfalab/core-components-calendar-input');
12
+ require('@alfalab/core-components-calendar-input/shared');
12
13
  require('@alfalab/core-components-date-input');
13
14
  require('@alfalab/hooks');
14
15
  require('./components/divider/Component.js');
@@ -18,10 +19,11 @@ require('date-fns/isEqual');
18
19
  require('date-fns/max');
19
20
  require('date-fns/min');
20
21
  require('date-fns/subMonths');
21
- require('./index.module-bda4cfcc.js');
22
+ require('./index.module-2681dffc.js');
22
23
  require('date-fns/endOfMonth');
23
24
  require('date-fns/isSameMonth');
24
- require('@alfalab/core-components-calendar');
25
+ require('@alfalab/core-components-calendar/desktop');
26
+ require('@alfalab/core-components-calendar/shared');
25
27
  require('./utils.js');
26
28
 
27
29
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -0,0 +1,68 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, ReactNode } from "react";
4
+ import { AnchorButtonProps, NativeButtonProps, ButtonProps } from "./typings-9211a437";
5
+ type ButtonMobileProps = Partial<AnchorButtonProps | NativeButtonProps>;
6
+ declare const ButtonMobile: React.ForwardRefExoticComponent<ButtonMobileProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
7
+ type MqProps = {
8
+ /**
9
+ * Media выражение или кастомный запрос из `mq.json`, например `--mobile`.
10
+ */
11
+ query?: string;
12
+ /**
13
+ * Запрос на поддержку тач-событий
14
+ */
15
+ touch?: boolean;
16
+ /**
17
+ * Дочерние элементы.
18
+ */
19
+ children?: ReactNode;
20
+ /**
21
+ * Обработчик изменений в совпадении запросов
22
+ */
23
+ onMatchChange?: (isMatched: boolean) => void;
24
+ };
25
+ declare const Mq: FC<MqProps>;
26
+ /**
27
+ * Хук для медиа запросов.
28
+ * @param query media выражение или кастомный запрос из `mq.json`, например `--mobile`.
29
+ * @param defaultValue Значение по-умолчанию.
30
+ */
31
+ declare const useMatchMedia: (query: string, defaultValue?: boolean | (() => boolean)) => boolean[];
32
+ /**
33
+ * Возвращает MediaQueryList для заданного media-выражения.
34
+ *
35
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
36
+ */
37
+ declare function getMatchMedia(queryProp: string): MediaQueryList;
38
+ /**
39
+ * Удаляет MediaQueryList.
40
+ *
41
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
42
+ */
43
+ declare function releaseMatchMedia(queryProp: string): void;
44
+ /**
45
+ * Возвращает `true`, если есть поддержка `Pointer Events`
46
+ */
47
+ declare function isPointerEventsSupported(): boolean;
48
+ /**
49
+ * Возвращает `true`, если есть поддержка `Touch Events`
50
+ */
51
+ declare function isTouchSupported(): boolean;
52
+ declare const _exports: {
53
+ "--mobile-xs": string;
54
+ "--mobile-s": string;
55
+ "--mobile-m": string;
56
+ "--mobile-l": string;
57
+ "--mobile": string;
58
+ "--tablet-s": string;
59
+ "--tablet-m": string;
60
+ "--tablet": string;
61
+ "--desktop-s": string;
62
+ "--desktop-m": string;
63
+ "--desktop-l": string;
64
+ "--desktop-xl": string;
65
+ "--desktop": string;
66
+ };
67
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
68
+ export { _exports as default, ButtonMobileProps, ButtonMobile, MqProps, Mq, useMatchMedia, getMatchMedia, releaseMatchMedia, isPointerEventsSupported, isTouchSupported, Button };
@@ -10,7 +10,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
10
10
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
11
11
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
12
12
 
13
- var styles = {"component":"calendar-range__component_3pdtc","outer":"calendar-range__outer_3pdtc","s":"calendar-range__s_3pdtc","m":"calendar-range__m_3pdtc","l":"calendar-range__l_3pdtc","xl":"calendar-range__xl_3pdtc"};
13
+ var styles = {"component":"calendar-range__component_1pil0","outer":"calendar-range__outer_1pil0","s":"calendar-range__s_1pil0","m":"calendar-range__m_1pil0","l":"calendar-range__l_1pil0","xl":"calendar-range__xl_1pil0"};
14
14
  require('./index.css')
15
15
 
16
16
  var Divider = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: 138hn */
1
+ /* hash: phr0r */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-graphic-primary: #0e0e0e; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -41,29 +41,29 @@
41
41
  /* disabled */
42
42
 
43
43
  /* marker */
44
- } .calendar-range__component_3pdtc {
44
+ } .calendar-range__component_1pil0 {
45
45
  display: flex;
46
46
  align-items: center;
47
47
  justify-content: center;
48
48
  width: 16px;
49
49
  margin: 0 var(--gap-xs)
50
- } .calendar-range__component_3pdtc:after {
50
+ } .calendar-range__component_1pil0:after {
51
51
  content: '';
52
52
  display: block;
53
53
  width: 100%;
54
54
  height: 1px;
55
55
  background-color: var(--color-light-graphic-primary);
56
- } .calendar-range__outer_3pdtc {
56
+ } .calendar-range__outer_1pil0 {
57
57
  position: relative;
58
58
 
59
59
  /* FormControl .above height + margin-bottom */
60
60
  top: 24px;
61
- } .calendar-range__s_3pdtc {
61
+ } .calendar-range__s_1pil0 {
62
62
  height: var(--size-s-height);
63
- } .calendar-range__m_3pdtc {
63
+ } .calendar-range__m_1pil0 {
64
64
  height: var(--size-m-height);
65
- } .calendar-range__l_3pdtc {
65
+ } .calendar-range__l_1pil0 {
66
66
  height: var(--size-l-height);
67
- } .calendar-range__xl_3pdtc {
67
+ } .calendar-range__xl_1pil0 {
68
68
  height: var(--size-xl-height);
69
69
  }
@@ -0,0 +1,18 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { SelectorView } from "./typings-5684a67d";
3
+ type HeaderProps = {
4
+ /**
5
+ * Вид шапки — месяц и год или только месяц
6
+ */
7
+ view?: SelectorView;
8
+ /**
9
+ * Отображать тень? (нужна при прокрутке)
10
+ */
11
+ withShadow?: boolean;
12
+ /**
13
+ * Дочерние элементы.
14
+ */
15
+ children?: ReactNode;
16
+ };
17
+ declare const Header: FC<HeaderProps>;
18
+ export { HeaderProps, Header };
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ButtonHTMLAttributes } from "react";
4
+ type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
5
+ /**
6
+ * Дополнительный класс
7
+ */
8
+ className?: string;
9
+ /**
10
+ * Вид кнопки
11
+ */
12
+ view?: 'default' | 'filled' | 'outlined' | 'selected';
13
+ };
14
+ declare const SelectButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
15
+ /**
16
+ * Дополнительный класс
17
+ */
18
+ className?: string | undefined;
19
+ /**
20
+ * Вид кнопки
21
+ */
22
+ view?: "default" | "outlined" | "filled" | "selected" | undefined;
23
+ } & React.RefAttributes<HTMLButtonElement>>;
24
+ export { SelectButtonProps, SelectButton };
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { FC } from 'react';
3
+ import { Month } from "./typings-5684a67d";
4
+ type MonthsTableProps = {
5
+ /**
6
+ * Массив месяцев
7
+ */
8
+ months?: Month[];
9
+ /**
10
+ * Выбранный месяц
11
+ */
12
+ selectedMonth?: Date;
13
+ /**
14
+ * Доп пропсы для переданного месяца
15
+ */
16
+ getMonthProps: (day: Month) => Record<string, unknown>;
17
+ /**
18
+ * Должен ли календарь подстраиваться под ширину родителя.
19
+ */
20
+ responsive?: boolean;
21
+ };
22
+ declare const MonthsTable: FC<MonthsTableProps>;
23
+ export { MonthsTableProps, MonthsTable };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { AnchorButtonProps, NativeButtonProps } from "./typings-9211a437";
4
+ type ButtonDesktopProps = Partial<AnchorButtonProps | NativeButtonProps>;
5
+ declare const ButtonDesktop: React.ForwardRefExoticComponent<ButtonDesktopProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
6
+ export { ButtonDesktopProps, ButtonDesktop };
@@ -0,0 +1,134 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, MouseEvent } from "react";
4
+ import { DayAddons, SelectorView, View } from "./typings-5684a67d";
5
+ type YearsTableProps = {
6
+ /**
7
+ * Массив лет
8
+ */
9
+ years?: Date[];
10
+ /**
11
+ * Выбранный год
12
+ */
13
+ selectedYear?: Date;
14
+ /**
15
+ * Доп. пропсы для переданного года
16
+ */
17
+ getYearProps: (year: Date) => Record<string, unknown>;
18
+ /**
19
+ * Обработчик скролла
20
+ */
21
+ onScroll: (scrollTop: number) => void;
22
+ /**
23
+ * Должен ли календарь подстраиваться под ширину родителя.
24
+ */
25
+ responsive?: boolean;
26
+ };
27
+ declare const YearsTable: FC<YearsTableProps>;
28
+ type CalendarDesktopProps = {
29
+ /**
30
+ * Дополнительный класс
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Вид по умолчанию (выбор дней, месяцев, лет)
35
+ */
36
+ defaultView?: View;
37
+ /**
38
+ * Вид шапки — месяц и год или только месяц
39
+ */
40
+ selectorView?: SelectorView;
41
+ /**
42
+ * Выбранная дата (timestamp)
43
+ */
44
+ value?: number;
45
+ /**
46
+ * Открытый месяц (timestamp)
47
+ */
48
+ month?: number;
49
+ /**
50
+ * Месяц, открытый по умолчанию (timestamp)
51
+ */
52
+ defaultMonth?: number;
53
+ /**
54
+ * Минимальная дата, доступная для выбора (timestamp)
55
+ */
56
+ minDate?: number;
57
+ /**
58
+ * Максимальная дата, доступная для выбора (timestamp)
59
+ */
60
+ maxDate?: number;
61
+ /**
62
+ * Начало выделенного периода (timestamp)
63
+ */
64
+ selectedFrom?: number;
65
+ /**
66
+ * Конец выделенного периода (timestamp)
67
+ */
68
+ selectedTo?: number;
69
+ /**
70
+ * Индикатор, что выбран полный период
71
+ */
72
+ rangeComplete?: boolean;
73
+ /**
74
+ * Список событий
75
+ */
76
+ events?: Array<Date | number>;
77
+ /**
78
+ * Список отключенных для выбора дней.
79
+ */
80
+ offDays?: Array<Date | number>;
81
+ /**
82
+ * Список выходных
83
+ */
84
+ holidays?: Array<Date | number>;
85
+ /**
86
+ * Обработчик изменения месяца (или года)
87
+ */
88
+ onMonthChange?: (month: number) => void;
89
+ /**
90
+ * Обработчик выбора даты
91
+ */
92
+ onChange?: (date?: number) => void;
93
+ /**
94
+ * Обработчик нажатия на кнопку месяца
95
+ */
96
+ onMonthClick?: (event: MouseEvent<HTMLButtonElement>) => void;
97
+ /**
98
+ * Обработчик нажатия на кнопку года
99
+ */
100
+ onYearClick?: (event: MouseEvent<HTMLButtonElement>) => void;
101
+ /**
102
+ * Обработчик нажатия на период
103
+ */
104
+ onPeriodClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
105
+ /**
106
+ * Идентификатор для систем автоматизированного тестирования
107
+ */
108
+ dataTestId?: string;
109
+ /**
110
+ * Нужно ли рендерить шапку календаря
111
+ */
112
+ hasHeader?: boolean;
113
+ /**
114
+ * Должен ли календарь подстраиваться под ширину родителя.
115
+ */
116
+ responsive?: boolean;
117
+ /**
118
+ * Дополнительный контент под числом
119
+ */
120
+ dayAddons?: DayAddons[];
121
+ /**
122
+ * Форма ячейки дня
123
+ */
124
+ shape?: 'rounded' | 'rectangular';
125
+ /**
126
+ * Отображать ли текущий год, если selectorView 'month-only'
127
+ * @default false
128
+ */
129
+ showCurrentYearSelector?: boolean;
130
+ };
131
+ declare const CalendarDesktop: React.ForwardRefExoticComponent<CalendarDesktopProps & React.RefAttributes<HTMLDivElement>>;
132
+ export * from "./Component-e2b6c730";
133
+ export * from "./Component-5684a67d";
134
+ export { YearsTableProps, YearsTable, CalendarDesktopProps, CalendarDesktop };
package/cssm/Component.js CHANGED
@@ -9,6 +9,7 @@ var views_static = require('./views/static.js');
9
9
  require('classnames');
10
10
  require('date-fns/startOfMonth');
11
11
  require('@alfalab/core-components-calendar-input/cssm');
12
+ require('@alfalab/core-components-calendar-input/cssm/shared');
12
13
  require('@alfalab/core-components-date-input/cssm');
13
14
  require('@alfalab/hooks');
14
15
  require('./components/divider/Component.js');
@@ -22,7 +23,8 @@ require('date-fns/subMonths');
22
23
  require('./views/index.module.css');
23
24
  require('date-fns/endOfMonth');
24
25
  require('date-fns/isSameMonth');
25
- require('@alfalab/core-components-calendar/cssm');
26
+ require('@alfalab/core-components-calendar/cssm/desktop');
27
+ require('@alfalab/core-components-calendar/cssm/shared');
26
28
  require('./utils.js');
27
29
 
28
30
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -0,0 +1,68 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { FC, ReactNode } from "react";
4
+ import { AnchorButtonProps, NativeButtonProps, ButtonProps } from "./typings-9211a437";
5
+ type ButtonMobileProps = Partial<AnchorButtonProps | NativeButtonProps>;
6
+ declare const ButtonMobile: React.ForwardRefExoticComponent<ButtonMobileProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
7
+ type MqProps = {
8
+ /**
9
+ * Media выражение или кастомный запрос из `mq.json`, например `--mobile`.
10
+ */
11
+ query?: string;
12
+ /**
13
+ * Запрос на поддержку тач-событий
14
+ */
15
+ touch?: boolean;
16
+ /**
17
+ * Дочерние элементы.
18
+ */
19
+ children?: ReactNode;
20
+ /**
21
+ * Обработчик изменений в совпадении запросов
22
+ */
23
+ onMatchChange?: (isMatched: boolean) => void;
24
+ };
25
+ declare const Mq: FC<MqProps>;
26
+ /**
27
+ * Хук для медиа запросов.
28
+ * @param query media выражение или кастомный запрос из `mq.json`, например `--mobile`.
29
+ * @param defaultValue Значение по-умолчанию.
30
+ */
31
+ declare const useMatchMedia: (query: string, defaultValue?: boolean | (() => boolean)) => boolean[];
32
+ /**
33
+ * Возвращает MediaQueryList для заданного media-выражения.
34
+ *
35
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
36
+ */
37
+ declare function getMatchMedia(queryProp: string): MediaQueryList;
38
+ /**
39
+ * Удаляет MediaQueryList.
40
+ *
41
+ * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.
42
+ */
43
+ declare function releaseMatchMedia(queryProp: string): void;
44
+ /**
45
+ * Возвращает `true`, если есть поддержка `Pointer Events`
46
+ */
47
+ declare function isPointerEventsSupported(): boolean;
48
+ /**
49
+ * Возвращает `true`, если есть поддержка `Touch Events`
50
+ */
51
+ declare function isTouchSupported(): boolean;
52
+ declare const _exports: {
53
+ "--mobile-xs": string;
54
+ "--mobile-s": string;
55
+ "--mobile-m": string;
56
+ "--mobile-l": string;
57
+ "--mobile": string;
58
+ "--tablet-s": string;
59
+ "--tablet-m": string;
60
+ "--tablet": string;
61
+ "--desktop-s": string;
62
+ "--desktop-m": string;
63
+ "--desktop-l": string;
64
+ "--desktop-xl": string;
65
+ "--desktop": string;
66
+ };
67
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
68
+ export { _exports as default, ButtonMobileProps, ButtonMobile, MqProps, Mq, useMatchMedia, getMatchMedia, releaseMatchMedia, isPointerEventsSupported, isTouchSupported, Button };
@@ -0,0 +1,2 @@
1
+ export * from "./Component.desktop-2e2b2125";
2
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Button } from "./Component.responsive-2e2b2125";
2
+ export type { ButtonProps } from "./typings-9211a437";
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export * from "./Component-63dec22f";
@@ -0,0 +1,2 @@
1
+ export * from "./Component-e2b6c730";
2
+ export { shiftValues } from "./utils-e0a54580";