@alfalab/core-components-calendar-range 8.0.0 → 8.1.0-snapshot-92b8690
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/divider/index.css +7 -7
- package/components/divider/index.module.css.js +1 -1
- package/components/divider/index.module.css.js.map +1 -1
- package/dynamic-mixins/Component.d.ts +93 -0
- package/dynamic-mixins/Component.js +21 -0
- package/dynamic-mixins/Component.js.map +1 -0
- package/dynamic-mixins/components/divider/Component.d.ts +8 -0
- package/dynamic-mixins/components/divider/Component.js +26 -0
- package/dynamic-mixins/components/divider/Component.js.map +1 -0
- package/dynamic-mixins/components/divider/index.css +37 -0
- package/dynamic-mixins/components/divider/index.d.ts +1 -0
- package/dynamic-mixins/components/divider/index.js +10 -0
- package/dynamic-mixins/components/divider/index.js.map +1 -0
- package/dynamic-mixins/components/divider/index.module.css.js +8 -0
- package/dynamic-mixins/components/divider/index.module.css.js.map +1 -0
- package/dynamic-mixins/hooks.d.ts +27 -0
- package/dynamic-mixins/hooks.js +154 -0
- package/dynamic-mixins/hooks.js.map +1 -0
- package/dynamic-mixins/index.d.ts +1 -0
- package/dynamic-mixins/index.js +10 -0
- package/dynamic-mixins/index.js.map +1 -0
- package/dynamic-mixins/shared/index.d.ts +1 -0
- package/dynamic-mixins/shared/index.js +10 -0
- package/dynamic-mixins/shared/index.js.map +1 -0
- package/dynamic-mixins/utils.d.ts +6 -0
- package/dynamic-mixins/utils.js +20 -0
- package/dynamic-mixins/utils.js.map +1 -0
- package/dynamic-mixins/views/index.css +25 -0
- package/dynamic-mixins/views/index.module.css.js +8 -0
- package/dynamic-mixins/views/index.module.css.js.map +1 -0
- package/dynamic-mixins/views/popover.d.ts +4 -0
- package/dynamic-mixins/views/popover.js +133 -0
- package/dynamic-mixins/views/popover.js.map +1 -0
- package/dynamic-mixins/views/static.d.ts +9 -0
- package/dynamic-mixins/views/static.js +197 -0
- package/dynamic-mixins/views/static.js.map +1 -0
- package/esm/components/divider/index.css +7 -7
- package/esm/components/divider/index.module.css.js +1 -1
- package/esm/components/divider/index.module.css.js.map +1 -1
- package/esm/views/index.css +7 -7
- package/esm/views/index.module.css.js +1 -1
- package/esm/views/index.module.css.js.map +1 -1
- package/modern/components/divider/index.css +7 -7
- package/modern/components/divider/index.module.css.js +1 -1
- package/modern/components/divider/index.module.css.js.map +1 -1
- package/modern/views/index.css +7 -7
- package/modern/views/index.module.css.js +1 -1
- package/modern/views/index.module.css.js.map +1 -1
- package/moderncssm/components/divider/index.module.css +6 -0
- package/moderncssm/views/index.module.css +7 -0
- package/package.json +7 -7
- package/src/components/divider/index.module.css +1 -1
- package/src/views/index.module.css +1 -1
- package/views/index.css +7 -7
- package/views/index.module.css.js +1 -1
- package/views/index.module.css.js.map +1 -1
|
@@ -11,27 +11,27 @@
|
|
|
11
11
|
--size-m-height: 56px;
|
|
12
12
|
--size-l-height: 64px;
|
|
13
13
|
--size-xl-height: 72px;
|
|
14
|
-
} .calendar-
|
|
14
|
+
} .calendar-range__component_11pf6 {
|
|
15
15
|
display: flex;
|
|
16
16
|
align-items: center;
|
|
17
17
|
justify-content: center;
|
|
18
18
|
width: 16px;
|
|
19
19
|
margin: var(--gap-0) var(--gap-8)
|
|
20
|
-
} .calendar-
|
|
20
|
+
} .calendar-range__component_11pf6:after {
|
|
21
21
|
content: '';
|
|
22
22
|
display: block;
|
|
23
23
|
width: 100%;
|
|
24
24
|
height: 1px;
|
|
25
25
|
background-color: var(--color-light-neutral-translucent-1300);
|
|
26
|
-
} .calendar-
|
|
26
|
+
} .calendar-range__outer_11pf6 {
|
|
27
27
|
position: relative;
|
|
28
28
|
top: var(--gap-24);
|
|
29
|
-
} .calendar-
|
|
29
|
+
} .calendar-range__s_11pf6 {
|
|
30
30
|
height: var(--size-s-height);
|
|
31
|
-
} .calendar-
|
|
31
|
+
} .calendar-range__m_11pf6 {
|
|
32
32
|
height: var(--size-m-height);
|
|
33
|
-
} .calendar-
|
|
33
|
+
} .calendar-range__l_11pf6 {
|
|
34
34
|
height: var(--size-l-height);
|
|
35
|
-
} .calendar-
|
|
35
|
+
} .calendar-range__xl_11pf6 {
|
|
36
36
|
height: var(--size-xl-height);
|
|
37
37
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"component":"calendar-
|
|
5
|
+
var styles = {"component":"calendar-range__component_11pf6","outer":"calendar-range__outer_11pf6","s":"calendar-range__s_11pf6","m":"calendar-range__m_11pf6","l":"calendar-range__l_11pf6","xl":"calendar-range__xl_11pf6"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.css.js","sources":["../../src/components/divider/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n@import '../../../../calendar/src/vars.css';\n\n.component {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n margin: var(--gap-0) var(--gap-8);\n\n &:after {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.outer {\n position: relative;\n\n /* FormControl .above height + margin-bottom */\n top: var(--gap-24);\n}\n\n.s {\n height: var(--size-s-height);\n}\n\n.m {\n height: var(--size-m-height);\n}\n\n.l {\n height: var(--size-l-height);\n}\n\n.xl {\n height: var(--size-xl-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,0BAA0B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../../src/components/divider/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../../../../calendar/src/vars.css';\n\n.component {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n margin: var(--gap-0) var(--gap-8);\n\n &:after {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.outer {\n position: relative;\n\n /* FormControl .above height + margin-bottom */\n top: var(--gap-24);\n}\n\n.s {\n height: var(--size-s-height);\n}\n\n.m {\n height: var(--size-m-height);\n}\n\n.l {\n height: var(--size-l-height);\n}\n\n.xl {\n height: var(--size-xl-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,0BAA0B,CAAC;;;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { CalendarInputProps } from '@alfalab/core-components-calendar-input';
|
|
3
|
+
export declare type CalendarRangeProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Дополнительный класс
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Значение инпута (используется и для календаря)
|
|
10
|
+
*/
|
|
11
|
+
valueFrom?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Значение инпута (используется и для календаря)
|
|
14
|
+
*/
|
|
15
|
+
valueTo?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Месяц в календаре по умолчанию
|
|
18
|
+
*/
|
|
19
|
+
defaultMonth?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Минимальная дата, доступная для выбора (timestamp)
|
|
22
|
+
*/
|
|
23
|
+
minDate?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Максимальная дата, доступная для выбора (timestamp)
|
|
26
|
+
*/
|
|
27
|
+
maxDate?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Обработчик изменения даты от
|
|
30
|
+
*/
|
|
31
|
+
onDateFromChange?: (payload: {
|
|
32
|
+
date: number | null;
|
|
33
|
+
value: string;
|
|
34
|
+
}) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Обработчик изменения даты до
|
|
37
|
+
*/
|
|
38
|
+
onDateToChange?: (payload: {
|
|
39
|
+
date: number | null;
|
|
40
|
+
value: string;
|
|
41
|
+
}) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Обработчик изменения
|
|
44
|
+
*/
|
|
45
|
+
onChange?: (payload: {
|
|
46
|
+
dateFrom: number | null;
|
|
47
|
+
valueFrom: string;
|
|
48
|
+
dateTo: number | null;
|
|
49
|
+
valueTo: string;
|
|
50
|
+
}) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Коллбэк, срабатывающий при возникновении ошибок валидации дат внутри компонента.
|
|
53
|
+
*/
|
|
54
|
+
onError?: (hasError: boolean) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Список событий
|
|
57
|
+
*/
|
|
58
|
+
events?: Array<Date | number>;
|
|
59
|
+
/**
|
|
60
|
+
* Список выходных
|
|
61
|
+
*/
|
|
62
|
+
offDays?: Array<Date | number>;
|
|
63
|
+
/**
|
|
64
|
+
* Пропсы для инпута даты от
|
|
65
|
+
*/
|
|
66
|
+
inputFromProps?: CalendarInputProps;
|
|
67
|
+
/**
|
|
68
|
+
* Пропсы для инпута даты до
|
|
69
|
+
*/
|
|
70
|
+
inputToProps?: CalendarInputProps;
|
|
71
|
+
/**
|
|
72
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
73
|
+
*/
|
|
74
|
+
dataTestId?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Определяет, как рендерить календарь — в поповере или снизу инпута
|
|
77
|
+
*/
|
|
78
|
+
calendarPosition?: 'static' | 'popover';
|
|
79
|
+
/**
|
|
80
|
+
* calendarPosition = static
|
|
81
|
+
* Отображать начальный месяц слева или справа (влияет только на начальный рендер)
|
|
82
|
+
*/
|
|
83
|
+
defaultMonthPosition?: 'left' | 'right';
|
|
84
|
+
/**
|
|
85
|
+
* Возвращать невалидную дату для кастомной валидации
|
|
86
|
+
*/
|
|
87
|
+
returnInvalidDates?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Дополнительный класс для контейнера календаря
|
|
90
|
+
*/
|
|
91
|
+
calendarContainerClassName?: string;
|
|
92
|
+
};
|
|
93
|
+
export declare const CalendarRange: FC<CalendarRangeProps>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib = require('tslib');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var popover = require('./views/popover.js');
|
|
8
|
+
var _static = require('./views/static.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
13
|
+
|
|
14
|
+
var CalendarRange = function (_a) {
|
|
15
|
+
var _b = _a.calendarPosition, calendarPosition = _b === void 0 ? 'static' : _b, restProps = tslib.__rest(_a, ["calendarPosition"]);
|
|
16
|
+
var View = calendarPosition === 'popover' ? popover.CalendarRangePopover : _static.CalendarRangeStatic;
|
|
17
|
+
return React__default.default.createElement(View, tslib.__assign({}, restProps));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.CalendarRange = CalendarRange;
|
|
21
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport { CalendarInputProps } from '@alfalab/core-components-calendar-input';\n\nimport { CalendarRangePopover } from './views/popover';\nimport { CalendarRangeStatic } from './views/static';\n\nexport type CalendarRangeProps = {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Значение инпута (используется и для календаря)\n */\n valueFrom?: string;\n\n /**\n * Значение инпута (используется и для календаря)\n */\n valueTo?: string;\n\n /**\n * Месяц в календаре по умолчанию\n */\n defaultMonth?: number;\n\n /**\n * Минимальная дата, доступная для выбора (timestamp)\n */\n minDate?: number;\n\n /**\n * Максимальная дата, доступная для выбора (timestamp)\n */\n maxDate?: number;\n\n /**\n * Обработчик изменения даты от\n */\n onDateFromChange?: (payload: { date: number | null; value: string }) => void;\n\n /**\n * Обработчик изменения даты до\n */\n onDateToChange?: (payload: { date: number | null; value: string }) => void;\n\n /**\n * Обработчик изменения\n */\n onChange?: (payload: {\n dateFrom: number | null;\n valueFrom: string;\n dateTo: number | null;\n valueTo: string;\n }) => void;\n\n /**\n * Коллбэк, срабатывающий при возникновении ошибок валидации дат внутри компонента.\n */\n onError?: (hasError: boolean) => void;\n\n /**\n * Список событий\n */\n events?: Array<Date | number>;\n\n /**\n * Список выходных\n */\n offDays?: Array<Date | number>;\n\n /**\n * Пропсы для инпута даты от\n */\n inputFromProps?: CalendarInputProps;\n\n /**\n * Пропсы для инпута даты до\n */\n inputToProps?: CalendarInputProps;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n /**\n * Определяет, как рендерить календарь — в поповере или снизу инпута\n */\n calendarPosition?: 'static' | 'popover';\n\n /**\n * calendarPosition = static\n * Отображать начальный месяц слева или справа (влияет только на начальный рендер)\n */\n defaultMonthPosition?: 'left' | 'right';\n\n /**\n * Возвращать невалидную дату для кастомной валидации\n */\n returnInvalidDates?: boolean;\n\n /**\n * Дополнительный класс для контейнера календаря\n */\n calendarContainerClassName?: string;\n};\n\nexport const CalendarRange: FC<CalendarRangeProps> = ({\n calendarPosition = 'static',\n ...restProps\n}) => {\n const View = calendarPosition === 'popover' ? CalendarRangePopover : CalendarRangeStatic;\n\n return <View {...restProps} />;\n};\n"],"names":["__rest","CalendarRangePopover","CalendarRangeStatic","React","__assign"],"mappings":";;;;;;;;;;;;;AA8GO,IAAM,aAAa,GAA2B,UAAC,EAGrD,EAAA;IAFG,IAAA,EAAA,GAAA,EAAA,CAAA,gBAA2B,EAA3B,gBAAgB,GAAG,EAAA,KAAA,MAAA,GAAA,QAAQ,KAAA,EACxB,SAAS,GAFsCA,YAAA,CAAA,EAAA,EAAA,CAAA,kBAAA,CAGrD,CADe;AAEZ,IAAA,IAAM,IAAI,GAAG,gBAAgB,KAAK,SAAS,GAAGC,4BAAoB,GAAGC,2BAAmB;AAExF,IAAA,OAAOC,sBAAC,CAAA,aAAA,CAAA,IAAI,EAAKC,cAAA,CAAA,EAAA,EAAA,SAAS,EAAI;AAClC;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { CalendarRangeProps } from '../../Component';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
inputFromProps?: CalendarRangeProps['inputFromProps'];
|
|
5
|
+
inputToProps?: CalendarRangeProps['inputToProps'];
|
|
6
|
+
};
|
|
7
|
+
export declare const Divider: FC<Props>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var cn = require('classnames');
|
|
7
|
+
var index_module = require('./index.module.css.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
12
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
13
|
+
|
|
14
|
+
var Divider = function (_a) {
|
|
15
|
+
var _b;
|
|
16
|
+
var inputFromProps = _a.inputFromProps, inputToProps = _a.inputToProps;
|
|
17
|
+
var outer = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.label) &&
|
|
18
|
+
(inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.labelView) === 'outer' &&
|
|
19
|
+
(inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.label) &&
|
|
20
|
+
(inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.labelView) === 'outer';
|
|
21
|
+
var size = (inputFromProps === null || inputFromProps === void 0 ? void 0 : inputFromProps.size) || (inputToProps === null || inputToProps === void 0 ? void 0 : inputToProps.size) || 's';
|
|
22
|
+
return React__default.default.createElement("span", { className: cn__default.default(index_module.component, index_module[size], (_b = {}, _b[index_module.outer] = outer, _b)) });
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.Divider = Divider;
|
|
26
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/divider/Component.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { CalendarRangeProps } from '../../Component';\n\nimport styles from './index.module.css';\n\ntype Props = {\n inputFromProps?: CalendarRangeProps['inputFromProps'];\n inputToProps?: CalendarRangeProps['inputToProps'];\n};\n\nexport const Divider: FC<Props> = ({ inputFromProps, inputToProps }) => {\n const outer =\n inputFromProps?.label &&\n inputFromProps?.labelView === 'outer' &&\n inputToProps?.label &&\n inputToProps?.labelView === 'outer';\n\n const size = inputFromProps?.size || inputToProps?.size || 's';\n\n return <span className={cn(styles.component, styles[size], { [styles.outer]: outer })} />;\n};\n"],"names":["React","cn","styles"],"mappings":";;;;;;;;;;;;;AAYO,IAAM,OAAO,GAAc,UAAC,EAAgC,EAAA;;QAA9B,cAAc,GAAA,EAAA,CAAA,cAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA;IAC7D,IAAM,KAAK,GACP,CAAA,cAAc,aAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,KAAK;QACrB,CAAA,cAAc,aAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,SAAS,MAAK,OAAO;AACrC,SAAA,YAAY,aAAZ,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZ,YAAY,CAAE,KAAK,CAAA;QACnB,CAAA,YAAY,aAAZ,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZ,YAAY,CAAE,SAAS,MAAK,OAAO;IAEvC,IAAM,IAAI,GAAG,CAAA,cAAc,aAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,IAAI,MAAI,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,MAAA,GAAA,MAAA,GAAA,YAAY,CAAE,IAAI,CAAA,IAAI,GAAG;IAE9D,OAAOA,sBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEC,mBAAE,CAACC,YAAM,CAAC,SAAS,EAAEA,YAAM,CAAC,IAAI,CAAC,GAAA,EAAA,GAAA,EAAA,EAAI,GAACA,YAAM,CAAC,KAAK,CAAG,GAAA,KAAK,EAAG,EAAA,EAAA,EAAA,CAAI;AAC7F;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--color-light-neutral-translucent-1300: rgba(3, 3, 6, 0.88);
|
|
3
|
+
} :root {
|
|
4
|
+
--gap-xs: 8px;
|
|
5
|
+
--gap-xl: 24px;
|
|
6
|
+
--gap-0: 0px;
|
|
7
|
+
--gap-8: var(--gap-xs);
|
|
8
|
+
--gap-24: var(--gap-xl);
|
|
9
|
+
} :root {
|
|
10
|
+
--size-s-height: 48px;
|
|
11
|
+
--size-m-height: 56px;
|
|
12
|
+
--size-l-height: 64px;
|
|
13
|
+
--size-xl-height: 72px;
|
|
14
|
+
} .calendar-range__component_11pf6 {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
width: 16px;
|
|
19
|
+
margin: var(--gap-0) var(--gap-8)
|
|
20
|
+
} .calendar-range__component_11pf6:after {
|
|
21
|
+
content: '';
|
|
22
|
+
display: block;
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 1px;
|
|
25
|
+
background-color: var(--color-light-neutral-translucent-1300);
|
|
26
|
+
} .calendar-range__outer_11pf6 {
|
|
27
|
+
position: relative;
|
|
28
|
+
top: var(--gap-24);
|
|
29
|
+
} .calendar-range__s_11pf6 {
|
|
30
|
+
height: var(--size-s-height);
|
|
31
|
+
} .calendar-range__m_11pf6 {
|
|
32
|
+
height: var(--size-m-height);
|
|
33
|
+
} .calendar-range__l_11pf6 {
|
|
34
|
+
height: var(--size-l-height);
|
|
35
|
+
} .calendar-range__xl_11pf6 {
|
|
36
|
+
height: var(--size-xl-height);
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./index.css');
|
|
4
|
+
|
|
5
|
+
var styles = {"component":"calendar-range__component_11pf6","outer":"calendar-range__outer_11pf6","s":"calendar-range__s_11pf6","m":"calendar-range__m_11pf6","l":"calendar-range__l_11pf6","xl":"calendar-range__xl_11pf6"};
|
|
6
|
+
|
|
7
|
+
module.exports = styles;
|
|
8
|
+
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../../src/components/divider/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../../../../calendar/src/vars.css';\n\n.component {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n margin: var(--gap-0) var(--gap-8);\n\n &:after {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.outer {\n position: relative;\n\n /* FormControl .above height + margin-bottom */\n top: var(--gap-24);\n}\n\n.s {\n height: var(--size-s-height);\n}\n\n.m {\n height: var(--size-m-height);\n}\n\n.l {\n height: var(--size-l-height);\n}\n\n.xl {\n height: var(--size-xl-height);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,6BAA6B,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,0BAA0B,CAAC;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare function usePopoverViewMonthes({ dateFrom, dateTo, defaultMonth, resetKey, }: {
|
|
2
|
+
defaultMonth: number;
|
|
3
|
+
dateFrom: number | null;
|
|
4
|
+
dateTo: number | null;
|
|
5
|
+
resetKey?: number;
|
|
6
|
+
}): {
|
|
7
|
+
monthFrom: number | undefined;
|
|
8
|
+
monthTo: number | undefined;
|
|
9
|
+
handleMonthFromChange: (newMonthFrom: number) => void;
|
|
10
|
+
handleMonthToChange: (newMonthTo: number) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare function useStaticViewMonthes({ selectedFrom, selectedTo, defaultMonth, defaultMonthPosition, }: {
|
|
13
|
+
selectedFrom?: number;
|
|
14
|
+
selectedTo?: number;
|
|
15
|
+
defaultMonth: number;
|
|
16
|
+
defaultMonthPosition?: 'left' | 'right';
|
|
17
|
+
}): {
|
|
18
|
+
monthFrom: number;
|
|
19
|
+
monthTo: number;
|
|
20
|
+
handleMonthFromChange: (newMonthFrom: number) => void;
|
|
21
|
+
handleMonthToChange: (newMonthTo: number) => void;
|
|
22
|
+
};
|
|
23
|
+
export declare function useSelectionProps(from?: number, to?: number, highlighted?: number): {
|
|
24
|
+
rangeComplete: boolean;
|
|
25
|
+
selectedFrom: number | undefined;
|
|
26
|
+
selectedTo: number | undefined;
|
|
27
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var addMonths = require('date-fns/addMonths');
|
|
7
|
+
var isEqual = require('date-fns/isEqual');
|
|
8
|
+
var max = require('date-fns/max');
|
|
9
|
+
var min = require('date-fns/min');
|
|
10
|
+
var startOfMonth = require('date-fns/startOfMonth');
|
|
11
|
+
var subMonths = require('date-fns/subMonths');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var addMonths__default = /*#__PURE__*/_interopDefaultCompat(addMonths);
|
|
16
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
|
|
17
|
+
var max__default = /*#__PURE__*/_interopDefaultCompat(max);
|
|
18
|
+
var min__default = /*#__PURE__*/_interopDefaultCompat(min);
|
|
19
|
+
var startOfMonth__default = /*#__PURE__*/_interopDefaultCompat(startOfMonth);
|
|
20
|
+
var subMonths__default = /*#__PURE__*/_interopDefaultCompat(subMonths);
|
|
21
|
+
|
|
22
|
+
function usePopoverViewMonthes(_a) {
|
|
23
|
+
var dateFrom = _a.dateFrom, dateTo = _a.dateTo, defaultMonth = _a.defaultMonth, resetKey = _a.resetKey;
|
|
24
|
+
var _b = React.useState(), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
25
|
+
var _c = React.useState(), monthTo = _c[0], setMonthTo = _c[1];
|
|
26
|
+
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
27
|
+
setMonthFrom(newMonthFrom);
|
|
28
|
+
if (!dateTo) {
|
|
29
|
+
setMonthTo(newMonthFrom);
|
|
30
|
+
}
|
|
31
|
+
}, [dateTo]);
|
|
32
|
+
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
33
|
+
setMonthTo(newMonthTo);
|
|
34
|
+
if (!dateFrom) {
|
|
35
|
+
setMonthFrom(newMonthTo);
|
|
36
|
+
}
|
|
37
|
+
}, [dateFrom]);
|
|
38
|
+
React.useEffect(function () {
|
|
39
|
+
setMonthFrom(dateFrom ? startOfMonth__default.default(dateFrom).getTime() : defaultMonth);
|
|
40
|
+
}, [defaultMonth, dateFrom, resetKey]);
|
|
41
|
+
React.useEffect(function () {
|
|
42
|
+
setMonthTo(dateTo ? startOfMonth__default.default(dateTo).getTime() : monthFrom);
|
|
43
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
+
}, [dateTo, resetKey]);
|
|
45
|
+
return {
|
|
46
|
+
monthFrom: monthFrom,
|
|
47
|
+
monthTo: monthTo,
|
|
48
|
+
handleMonthFromChange: handleMonthFromChange,
|
|
49
|
+
handleMonthToChange: handleMonthToChange,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function useStaticViewMonthes(_a) {
|
|
53
|
+
var selectedFrom = _a.selectedFrom, selectedTo = _a.selectedTo, defaultMonth = _a.defaultMonth, defaultMonthPosition = _a.defaultMonthPosition;
|
|
54
|
+
/**
|
|
55
|
+
* Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.
|
|
56
|
+
* Если обе даты не указаны, то используется дефолтный месяц
|
|
57
|
+
*/
|
|
58
|
+
var initialMonthFrom = React.useMemo(function () { return startOfMonth__default.default(selectedFrom || selectedTo || defaultMonth).getTime(); },
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
[]);
|
|
61
|
+
/**
|
|
62
|
+
* Правый месяц должен быть как минимум на 1 месяц больше левого
|
|
63
|
+
*/
|
|
64
|
+
var initialMonthTo = React.useMemo(function () {
|
|
65
|
+
return max__default.default([
|
|
66
|
+
selectedTo ? startOfMonth__default.default(selectedTo) : 0,
|
|
67
|
+
addMonths__default.default(initialMonthFrom, 1),
|
|
68
|
+
]).getTime();
|
|
69
|
+
},
|
|
70
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
|
+
[]);
|
|
72
|
+
if (defaultMonthPosition === 'right') {
|
|
73
|
+
initialMonthTo = initialMonthFrom;
|
|
74
|
+
initialMonthFrom = subMonths__default.default(initialMonthFrom, 1).getTime();
|
|
75
|
+
}
|
|
76
|
+
var _b = React.useState(initialMonthFrom), monthFrom = _b[0], setMonthFrom = _b[1];
|
|
77
|
+
var _c = React.useState(initialMonthTo), monthTo = _c[0], setMonthTo = _c[1];
|
|
78
|
+
var handleMonthFromChange = React.useCallback(function (newMonthFrom) {
|
|
79
|
+
setMonthFrom(newMonthFrom);
|
|
80
|
+
if (monthTo && isEqual__default.default(newMonthFrom, monthTo)) {
|
|
81
|
+
var nextMonth = addMonths__default.default(newMonthFrom, 1).getTime();
|
|
82
|
+
setMonthTo(nextMonth);
|
|
83
|
+
}
|
|
84
|
+
}, [monthTo]);
|
|
85
|
+
var handleMonthToChange = React.useCallback(function (newMonthTo) {
|
|
86
|
+
setMonthTo(newMonthTo);
|
|
87
|
+
if (monthFrom && isEqual__default.default(newMonthTo, monthFrom)) {
|
|
88
|
+
var prevMonth = subMonths__default.default(newMonthTo, 1).getTime();
|
|
89
|
+
setMonthFrom(prevMonth);
|
|
90
|
+
}
|
|
91
|
+
}, [monthFrom]);
|
|
92
|
+
// eslint-disable-next-line complexity
|
|
93
|
+
React.useEffect(function () {
|
|
94
|
+
var selectedFromMonth = selectedFrom ? startOfMonth__default.default(selectedFrom).getTime() : undefined;
|
|
95
|
+
var selectedToMonth = selectedTo ? startOfMonth__default.default(selectedTo).getTime() : undefined;
|
|
96
|
+
// Проверяем, показываются ли выбранные месяцы в левой или правой части компонента
|
|
97
|
+
var fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;
|
|
98
|
+
var fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;
|
|
99
|
+
var toMonthOnRight = selectedToMonth && selectedToMonth === monthTo;
|
|
100
|
+
var toMonthOnLeft = selectedToMonth && selectedToMonth === monthFrom;
|
|
101
|
+
var fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;
|
|
102
|
+
var toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
103
|
+
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
104
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (fromMonthOnRight && toMonthOnRight) {
|
|
108
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (selectedFromMonth && selectedToMonth) {
|
|
112
|
+
setMonthFrom(selectedFromMonth);
|
|
113
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), selectedToMonth]).getTime());
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {
|
|
117
|
+
setMonthFrom(selectedFromMonth);
|
|
118
|
+
setMonthTo(max__default.default([addMonths__default.default(selectedFromMonth, 1), monthTo]).getTime());
|
|
119
|
+
}
|
|
120
|
+
if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {
|
|
121
|
+
setMonthTo(selectedToMonth);
|
|
122
|
+
setMonthFrom(min__default.default([subMonths__default.default(selectedToMonth, 1), monthFrom]).getTime());
|
|
123
|
+
}
|
|
124
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
|
+
}, [selectedFrom, selectedTo]);
|
|
126
|
+
return {
|
|
127
|
+
monthFrom: monthFrom,
|
|
128
|
+
monthTo: monthTo,
|
|
129
|
+
handleMonthFromChange: handleMonthFromChange,
|
|
130
|
+
handleMonthToChange: handleMonthToChange,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function useSelectionProps(from, to, highlighted) {
|
|
134
|
+
return React.useMemo(function () {
|
|
135
|
+
if (from && to) {
|
|
136
|
+
return {
|
|
137
|
+
rangeComplete: true,
|
|
138
|
+
selectedFrom: min__default.default([from, to]).getTime(),
|
|
139
|
+
selectedTo: max__default.default([from, to]).getTime(),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
var dates = [from, to, highlighted].filter(function (date) { return date !== undefined; });
|
|
143
|
+
return {
|
|
144
|
+
rangeComplete: false,
|
|
145
|
+
selectedFrom: from || dates.length === 2 ? min__default.default(dates).getTime() : undefined,
|
|
146
|
+
selectedTo: to || dates.length === 2 ? max__default.default(dates).getTime() : undefined,
|
|
147
|
+
};
|
|
148
|
+
}, [from, highlighted, to]);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
exports.usePopoverViewMonthes = usePopoverViewMonthes;
|
|
152
|
+
exports.useSelectionProps = useSelectionProps;
|
|
153
|
+
exports.useStaticViewMonthes = useStaticViewMonthes;
|
|
154
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../src/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport addMonths from 'date-fns/addMonths';\nimport isEqual from 'date-fns/isEqual';\nimport max from 'date-fns/max';\nimport min from 'date-fns/min';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport subMonths from 'date-fns/subMonths';\n\nexport function usePopoverViewMonthes({\n dateFrom,\n dateTo,\n defaultMonth,\n resetKey,\n}: {\n defaultMonth: number;\n dateFrom: number | null;\n dateTo: number | null;\n resetKey?: number;\n}) {\n const [monthFrom, setMonthFrom] = useState<number>();\n const [monthTo, setMonthTo] = useState<number>();\n\n const handleMonthFromChange = useCallback(\n (newMonthFrom: number) => {\n setMonthFrom(newMonthFrom);\n\n if (!dateTo) {\n setMonthTo(newMonthFrom);\n }\n },\n [dateTo],\n );\n\n const handleMonthToChange = useCallback(\n (newMonthTo: number) => {\n setMonthTo(newMonthTo);\n\n if (!dateFrom) {\n setMonthFrom(newMonthTo);\n }\n },\n [dateFrom],\n );\n\n useEffect(() => {\n setMonthFrom(dateFrom ? startOfMonth(dateFrom).getTime() : defaultMonth);\n }, [defaultMonth, dateFrom, resetKey]);\n\n useEffect(() => {\n setMonthTo(dateTo ? startOfMonth(dateTo).getTime() : monthFrom);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dateTo, resetKey]);\n\n return {\n monthFrom,\n monthTo,\n handleMonthFromChange,\n handleMonthToChange,\n };\n}\n\nexport function useStaticViewMonthes({\n selectedFrom,\n selectedTo,\n defaultMonth,\n defaultMonthPosition,\n}: {\n selectedFrom?: number;\n selectedTo?: number;\n defaultMonth: number;\n defaultMonthPosition?: 'left' | 'right';\n}) {\n /**\n * Если указана начальная дата — левый месяц равен ей, иначе используется дата конца.\n * Если обе даты не указаны, то используется дефолтный месяц\n */\n let initialMonthFrom = useMemo(\n () => startOfMonth(selectedFrom || selectedTo || defaultMonth).getTime(),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n /**\n * Правый месяц должен быть как минимум на 1 месяц больше левого\n */\n let initialMonthTo = useMemo(\n () =>\n max([\n selectedTo ? startOfMonth(selectedTo) : 0,\n addMonths(initialMonthFrom, 1),\n ]).getTime(),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n if (defaultMonthPosition === 'right') {\n initialMonthTo = initialMonthFrom;\n initialMonthFrom = subMonths(initialMonthFrom, 1).getTime();\n }\n\n const [monthFrom, setMonthFrom] = useState<number>(initialMonthFrom);\n const [monthTo, setMonthTo] = useState<number>(initialMonthTo);\n\n const handleMonthFromChange = useCallback(\n (newMonthFrom: number) => {\n setMonthFrom(newMonthFrom);\n\n if (monthTo && isEqual(newMonthFrom, monthTo)) {\n const nextMonth = addMonths(newMonthFrom, 1).getTime();\n\n setMonthTo(nextMonth);\n }\n },\n [monthTo],\n );\n\n const handleMonthToChange = useCallback(\n (newMonthTo: number) => {\n setMonthTo(newMonthTo);\n\n if (monthFrom && isEqual(newMonthTo, monthFrom)) {\n const prevMonth = subMonths(newMonthTo, 1).getTime();\n\n setMonthFrom(prevMonth);\n }\n },\n [monthFrom],\n );\n\n // eslint-disable-next-line complexity\n useEffect(() => {\n const selectedFromMonth = selectedFrom ? startOfMonth(selectedFrom).getTime() : undefined;\n const selectedToMonth = selectedTo ? startOfMonth(selectedTo).getTime() : undefined;\n\n // Проверяем, показываются ли выбранные месяцы в левой или правой части компонента\n const fromMonthOnLeft = selectedFromMonth && selectedFromMonth === monthFrom;\n const fromMonthOnRight = selectedFromMonth && selectedFromMonth === monthTo;\n const toMonthOnRight = selectedToMonth && selectedToMonth === monthTo;\n const toMonthOnLeft = selectedToMonth && selectedToMonth === monthFrom;\n const fromMonthOnScreen = fromMonthOnLeft || fromMonthOnRight;\n const toMonthOnScreen = toMonthOnLeft || toMonthOnRight;\n\n if (fromMonthOnLeft && toMonthOnLeft) {\n setMonthTo(max([addMonths(selectedFromMonth as number, 1), monthTo]).getTime());\n\n return;\n }\n\n if (fromMonthOnRight && toMonthOnRight) {\n setMonthFrom(min([subMonths(selectedToMonth as number, 1), monthFrom]).getTime());\n\n return;\n }\n\n if (selectedFromMonth && selectedToMonth) {\n setMonthFrom(selectedFromMonth);\n setMonthTo(max([addMonths(selectedFromMonth, 1), selectedToMonth]).getTime());\n\n return;\n }\n\n if (selectedFromMonth && !selectedToMonth && !fromMonthOnScreen) {\n setMonthFrom(selectedFromMonth);\n setMonthTo(max([addMonths(selectedFromMonth, 1), monthTo]).getTime());\n }\n\n if (selectedToMonth && !selectedFromMonth && !toMonthOnScreen) {\n setMonthTo(selectedToMonth);\n setMonthFrom(min([subMonths(selectedToMonth, 1), monthFrom]).getTime());\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedFrom, selectedTo]);\n\n return {\n monthFrom,\n monthTo,\n handleMonthFromChange,\n handleMonthToChange,\n };\n}\n\nexport function useSelectionProps(from?: number, to?: number, highlighted?: number) {\n return useMemo(() => {\n if (from && to) {\n return {\n rangeComplete: true,\n selectedFrom: min([from, to]).getTime(),\n selectedTo: max([from, to]).getTime(),\n };\n }\n\n const dates = [from, to, highlighted].filter((date) => date !== undefined) as number[];\n\n return {\n rangeComplete: false,\n selectedFrom: from || dates.length === 2 ? min(dates).getTime() : undefined,\n selectedTo: to || dates.length === 2 ? max(dates).getTime() : undefined,\n };\n }, [from, highlighted, to]);\n}\n"],"names":["useState","useCallback","useEffect","startOfMonth","useMemo","max","addMonths","subMonths","isEqual","min"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQM,SAAU,qBAAqB,CAAC,EAUrC,EAAA;QATG,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,QAAQ,GAAA,EAAA,CAAA,QAAA;IAOF,IAAA,EAAA,GAA4BA,cAAQ,EAAU,EAA7C,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,GAAA,EAAA,CAAA,CAAA,CAAsB;IAC9C,IAAA,EAAA,GAAwBA,cAAQ,EAAU,EAAzC,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAsB;AAEhD,IAAA,IAAM,qBAAqB,GAAGC,iBAAW,CACrC,UAAC,YAAoB,EAAA;QACjB,YAAY,CAAC,YAAY,CAAC;QAE1B,IAAI,CAAC,MAAM,EAAE;YACT,UAAU,CAAC,YAAY,CAAC;AAC3B;AACL,KAAC,EACD,CAAC,MAAM,CAAC,CACX;AAED,IAAA,IAAM,mBAAmB,GAAGA,iBAAW,CACnC,UAAC,UAAkB,EAAA;QACf,UAAU,CAAC,UAAU,CAAC;QAEtB,IAAI,CAAC,QAAQ,EAAE;YACX,YAAY,CAAC,UAAU,CAAC;AAC3B;AACL,KAAC,EACD,CAAC,QAAQ,CAAC,CACb;AAED,IAAAC,eAAS,CAAC,YAAA;AACN,QAAA,YAAY,CAAC,QAAQ,GAAGC,6BAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC;KAC3E,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEtC,IAAAD,eAAS,CAAC,YAAA;AACN,QAAA,UAAU,CAAC,MAAM,GAAGC,6BAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;;AAEnE,KAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtB,OAAO;AACH,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,OAAO,EAAA,OAAA;AACP,QAAA,qBAAqB,EAAA,qBAAA;AACrB,QAAA,mBAAmB,EAAA,mBAAA;KACtB;AACL;AAEM,SAAU,oBAAoB,CAAC,EAUpC,EAAA;QATG,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,oBAAoB,GAAA,EAAA,CAAA,oBAAA;AAOpB;;;AAGG;AACH,IAAA,IAAI,gBAAgB,GAAGC,aAAO,CAC1B,YAAM,EAAA,OAAAD,6BAAY,CAAC,YAAY,IAAI,UAAU,IAAI,YAAY,CAAC,CAAC,OAAO,EAAE,GAAA;;AAExE,IAAA,EAAE,CACL;AAED;;AAEG;IACH,IAAI,cAAc,GAAGC,aAAO,CACxB,YAAA;AACI,QAAA,OAAAC,oBAAG,CAAC;YACA,UAAU,GAAGF,6BAAY,CAAC,UAAU,CAAC,GAAG,CAAC;AACzC,YAAAG,0BAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACjC,CAAC,CAAC,OAAO,EAAE;KAAA;;AAEhB,IAAA,EAAE,CACL;IAED,IAAI,oBAAoB,KAAK,OAAO,EAAE;QAClC,cAAc,GAAG,gBAAgB;QACjC,gBAAgB,GAAGC,0BAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;AAC9D;IAEK,IAAA,EAAA,GAA4BP,cAAQ,CAAS,gBAAgB,CAAC,EAA7D,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,GAAA,EAAA,CAAA,CAAA,CAAsC;IAC9D,IAAA,EAAA,GAAwBA,cAAQ,CAAS,cAAc,CAAC,EAAvD,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAoC;AAE9D,IAAA,IAAM,qBAAqB,GAAGC,iBAAW,CACrC,UAAC,YAAoB,EAAA;QACjB,YAAY,CAAC,YAAY,CAAC;QAE1B,IAAI,OAAO,IAAIO,wBAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;YAC3C,IAAM,SAAS,GAAGF,0BAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;YAEtD,UAAU,CAAC,SAAS,CAAC;AACxB;AACL,KAAC,EACD,CAAC,OAAO,CAAC,CACZ;AAED,IAAA,IAAM,mBAAmB,GAAGL,iBAAW,CACnC,UAAC,UAAkB,EAAA;QACf,UAAU,CAAC,UAAU,CAAC;QAEtB,IAAI,SAAS,IAAIO,wBAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;YAC7C,IAAM,SAAS,GAAGD,0BAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;YAEpD,YAAY,CAAC,SAAS,CAAC;AAC1B;AACL,KAAC,EACD,CAAC,SAAS,CAAC,CACd;;AAGD,IAAAL,eAAS,CAAC,YAAA;AACN,QAAA,IAAM,iBAAiB,GAAG,YAAY,GAAGC,6BAAY,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS;AACzF,QAAA,IAAM,eAAe,GAAG,UAAU,GAAGA,6BAAY,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS;;AAGnF,QAAA,IAAM,eAAe,GAAG,iBAAiB,IAAI,iBAAiB,KAAK,SAAS;AAC5E,QAAA,IAAM,gBAAgB,GAAG,iBAAiB,IAAI,iBAAiB,KAAK,OAAO;AAC3E,QAAA,IAAM,cAAc,GAAG,eAAe,IAAI,eAAe,KAAK,OAAO;AACrE,QAAA,IAAM,aAAa,GAAG,eAAe,IAAI,eAAe,KAAK,SAAS;AACtE,QAAA,IAAM,iBAAiB,GAAG,eAAe,IAAI,gBAAgB;AAC7D,QAAA,IAAM,eAAe,GAAG,aAAa,IAAI,cAAc;QAEvD,IAAI,eAAe,IAAI,aAAa,EAAE;AAClC,YAAA,UAAU,CAACE,oBAAG,CAAC,CAACC,0BAAS,CAAC,iBAA2B,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAE/E;AACH;QAED,IAAI,gBAAgB,IAAI,cAAc,EAAE;AACpC,YAAA,YAAY,CAACG,oBAAG,CAAC,CAACF,0BAAS,CAAC,eAAyB,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAEjF;AACH;QAED,IAAI,iBAAiB,IAAI,eAAe,EAAE;YACtC,YAAY,CAAC,iBAAiB,CAAC;AAC/B,YAAA,UAAU,CAACF,oBAAG,CAAC,CAACC,0BAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAE7E;AACH;AAED,QAAA,IAAI,iBAAiB,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE;YAC7D,YAAY,CAAC,iBAAiB,CAAC;AAC/B,YAAA,UAAU,CAACD,oBAAG,CAAC,CAACC,0BAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE;AAED,QAAA,IAAI,eAAe,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe,EAAE;YAC3D,UAAU,CAAC,eAAe,CAAC;AAC3B,YAAA,YAAY,CAACG,oBAAG,CAAC,CAACF,0BAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E;;AAGL,KAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAE9B,OAAO;AACH,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,OAAO,EAAA,OAAA;AACP,QAAA,qBAAqB,EAAA,qBAAA;AACrB,QAAA,mBAAmB,EAAA,mBAAA;KACtB;AACL;SAEgB,iBAAiB,CAAC,IAAa,EAAE,EAAW,EAAE,WAAoB,EAAA;AAC9E,IAAA,OAAOH,aAAO,CAAC,YAAA;QACX,IAAI,IAAI,IAAI,EAAE,EAAE;YACZ,OAAO;AACH,gBAAA,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAEK,oBAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;gBACvC,UAAU,EAAEJ,oBAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;aACxC;AACJ;QAED,IAAM,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,CAAA,EAAA,CAAa;QAEtF,OAAO;AACH,YAAA,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAGI,oBAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS;YAC3E,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAGJ,oBAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS;SAC1E;KACJ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AAC/B;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getCalendarRangeTestIds } from '../utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dynamicMixins = require('@alfalab/core-components-shared/dynamic-mixins');
|
|
6
|
+
|
|
7
|
+
var isDayButton = function (node) {
|
|
8
|
+
return node && node.tagName === 'BUTTON' && node.dataset.date;
|
|
9
|
+
};
|
|
10
|
+
function getCalendarRangeTestIds(dataTestId) {
|
|
11
|
+
return {
|
|
12
|
+
component: dataTestId,
|
|
13
|
+
calendarContainerFrom: dynamicMixins.getDataTestId(dataTestId, 'container-from'),
|
|
14
|
+
calendarContainerTo: dynamicMixins.getDataTestId(dataTestId, 'container-to'),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.getCalendarRangeTestIds = getCalendarRangeTestIds;
|
|
19
|
+
exports.isDayButton = isDayButton;
|
|
20
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":["import { getDataTestId } from '@alfalab/core-components-shared';\n\nexport const isDayButton = (node: HTMLElement | null) =>\n node && node.tagName === 'BUTTON' && node.dataset.date;\n\nexport function getCalendarRangeTestIds(dataTestId: string) {\n return {\n component: dataTestId,\n calendarContainerFrom: getDataTestId(dataTestId, 'container-from'),\n calendarContainerTo: getDataTestId(dataTestId, 'container-to'),\n };\n}\n"],"names":["getDataTestId"],"mappings":";;;;;;AAEO,IAAM,WAAW,GAAG,UAAC,IAAwB,EAAA;AAChD,IAAA,OAAA,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;AAAtD;AAEE,SAAU,uBAAuB,CAAC,UAAkB,EAAA;IACtD,OAAO;AACH,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,qBAAqB,EAAEA,2BAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC;AAClE,QAAA,mBAAmB,EAAEA,2BAAa,CAAC,UAAU,EAAE,cAAc,CAAC;KACjE;AACL;;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--gap-s: 12px;
|
|
3
|
+
--gap-m: 16px;
|
|
4
|
+
--gap-0: 0px;
|
|
5
|
+
--gap-12: var(--gap-s);
|
|
6
|
+
--gap-16: var(--gap-m);
|
|
7
|
+
} :root {
|
|
8
|
+
--calendar-inner-width: 280px;
|
|
9
|
+
} .calendar-range__component_1kxkz {
|
|
10
|
+
display: flex
|
|
11
|
+
} .calendar-range__component_1kxkz button[aria-selected='true'] {
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
} .calendar-range__component_1kxkz *[class*='errorIcon_'] {
|
|
14
|
+
display: none;
|
|
15
|
+
} .calendar-range__component_1kxkz *[class*='calendarIcon_'] {
|
|
16
|
+
margin-right: var(--gap-0);
|
|
17
|
+
} .calendar-range__static_1kxkz .calendar-range__calendar_1kxkz {
|
|
18
|
+
width: var(--calendar-inner-width)
|
|
19
|
+
} .calendar-range__static_1kxkz .calendar-range__calendar_1kxkz > div:first-child {
|
|
20
|
+
padding: var(--gap-16) var(--gap-0) var(--gap-12);
|
|
21
|
+
} .calendar-range__calendarContainer_1kxkz {
|
|
22
|
+
width: var(--calendar-inner-width);
|
|
23
|
+
display: flex;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./index.css');
|
|
4
|
+
|
|
5
|
+
var styles = {"component":"calendar-range__component_1kxkz","static":"calendar-range__static_1kxkz","calendar":"calendar-range__calendar_1kxkz","calendarContainer":"calendar-range__calendarContainer_1kxkz"};
|
|
6
|
+
|
|
7
|
+
module.exports = styles;
|
|
8
|
+
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../src/views/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-dynamic-mixins-index.css';\n@import '../../../calendar/src/vars.css';\n\n.component {\n display: flex;\n\n & button[aria-selected='true'] {\n cursor: pointer;\n }\n\n & *[class*='errorIcon_'] {\n display: none;\n }\n\n & *[class*='calendarIcon_'] {\n margin-right: var(--gap-0);\n }\n}\n\n.static {\n & .calendar {\n width: var(--calendar-inner-width);\n\n & > div:first-child {\n padding: var(--gap-16) var(--gap-0) var(--gap-12);\n }\n }\n}\n\n.calendarContainer {\n width: var(--calendar-inner-width);\n display: flex;\n justify-content: center;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,UAAU,CAAC,gCAAgC,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;;;;"}
|