@alfalab/core-components-calendar-input 10.4.27 → 10.4.28-snapshot-1393ffa
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/Component.responsive.js +4 -3
- package/Component.responsive.js.map +1 -0
- package/components/calendar-input/Component.js +7 -8
- package/components/calendar-input/Component.js.map +1 -0
- package/components/calendar-input/index.css +18 -56
- package/components/calendar-input/index.js +3 -2
- package/components/calendar-input/index.js.map +1 -0
- package/components/calendar-input/index.module.css.js +8 -0
- package/components/calendar-input/index.module.css.js.map +1 -0
- package/cssm/Component.responsive.js +6 -5
- package/cssm/Component.responsive.js.map +1 -0
- package/cssm/components/calendar-input/Component.js +9 -8
- package/cssm/components/calendar-input/Component.js.map +1 -0
- package/cssm/components/calendar-input/index.js +3 -2
- package/cssm/components/calendar-input/index.js.map +1 -0
- package/cssm/components/calendar-input/index.module.css +8 -45
- package/cssm/desktop/Component.desktop.js +3 -2
- package/cssm/desktop/Component.desktop.js.map +1 -0
- package/cssm/desktop/index.js +3 -2
- package/cssm/desktop/index.js.map +1 -0
- package/cssm/index.js +1 -0
- package/cssm/index.js.map +1 -0
- package/cssm/mobile/Component.mobile.js +3 -2
- package/cssm/mobile/Component.mobile.js.map +1 -0
- package/cssm/mobile/index.js +3 -2
- package/cssm/mobile/index.js.map +1 -0
- package/cssm/shared/index.js +1 -0
- package/cssm/shared/index.js.map +1 -0
- package/{Component.responsive.d.ts → cssm/src/Component.responsive.d.ts} +5 -7
- package/cssm/{components → src/components}/calendar-input/Component.d.ts +13 -13
- package/cssm/src/components/calendar-input/index.d.ts +1 -0
- package/cssm/src/desktop/Component.desktop.d.ts +8 -0
- package/cssm/src/desktop/index.d.ts +1 -0
- package/cssm/src/index.d.ts +2 -0
- package/cssm/src/mobile/Component.mobile.d.ts +8 -0
- package/cssm/src/mobile/index.d.ts +1 -0
- package/cssm/src/shared/index.d.ts +1 -0
- package/cssm/src/utils.d.ts +12 -0
- package/cssm/utils.js +3 -2
- package/cssm/utils.js.map +1 -0
- package/desktop/Component.desktop.js +3 -2
- package/desktop/Component.desktop.js.map +1 -0
- package/desktop/index.js +3 -2
- package/desktop/index.js.map +1 -0
- package/esm/Component.responsive.js +1 -0
- package/esm/Component.responsive.js.map +1 -0
- package/esm/components/calendar-input/Component.js +2 -3
- package/esm/components/calendar-input/Component.js.map +1 -0
- package/esm/components/calendar-input/index.css +18 -56
- package/esm/components/calendar-input/index.js +1 -0
- package/esm/components/calendar-input/index.js.map +1 -0
- package/esm/components/calendar-input/index.module.css.js +6 -0
- package/esm/components/calendar-input/index.module.css.js.map +1 -0
- package/esm/desktop/Component.desktop.js +1 -0
- package/esm/desktop/Component.desktop.js.map +1 -0
- package/esm/desktop/index.js +1 -0
- package/esm/desktop/index.js.map +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/mobile/Component.mobile.js +1 -0
- package/esm/mobile/Component.mobile.js.map +1 -0
- package/esm/mobile/index.js +1 -0
- package/esm/mobile/index.js.map +1 -0
- package/esm/shared/index.js +1 -0
- package/esm/shared/index.js.map +1 -0
- package/{modern → esm/src}/Component.responsive.d.ts +5 -7
- package/{components → esm/src/components}/calendar-input/Component.d.ts +13 -13
- package/esm/src/components/calendar-input/index.d.ts +1 -0
- package/esm/src/desktop/Component.desktop.d.ts +8 -0
- package/esm/src/desktop/index.d.ts +1 -0
- package/esm/src/index.d.ts +2 -0
- package/esm/src/mobile/Component.mobile.d.ts +8 -0
- package/esm/src/mobile/index.d.ts +1 -0
- package/esm/src/shared/index.d.ts +1 -0
- package/esm/src/utils.d.ts +12 -0
- package/esm/utils.js +1 -0
- package/esm/utils.js.map +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/mobile/Component.mobile.js +3 -2
- package/mobile/Component.mobile.js.map +1 -0
- package/mobile/index.js +3 -2
- package/mobile/index.js.map +1 -0
- package/modern/Component.responsive.js +1 -0
- package/modern/Component.responsive.js.map +1 -0
- package/modern/components/calendar-input/Component.js +2 -3
- package/modern/components/calendar-input/Component.js.map +1 -0
- package/modern/components/calendar-input/index.css +18 -56
- package/modern/components/calendar-input/index.js +1 -0
- package/modern/components/calendar-input/index.js.map +1 -0
- package/modern/components/calendar-input/index.module.css.js +6 -0
- package/modern/components/calendar-input/index.module.css.js.map +1 -0
- package/modern/desktop/Component.desktop.js +1 -0
- package/modern/desktop/Component.desktop.js.map +1 -0
- package/modern/desktop/index.js +1 -0
- package/modern/desktop/index.js.map +1 -0
- package/modern/index.js +1 -0
- package/modern/index.js.map +1 -0
- package/modern/mobile/Component.mobile.js +1 -0
- package/modern/mobile/Component.mobile.js.map +1 -0
- package/modern/mobile/index.js +1 -0
- package/modern/mobile/index.js.map +1 -0
- package/modern/shared/index.js +1 -0
- package/modern/shared/index.js.map +1 -0
- package/{esm → modern/src}/Component.responsive.d.ts +5 -7
- package/{esm → modern/src}/components/calendar-input/Component.d.ts +13 -13
- package/modern/src/components/calendar-input/index.d.ts +1 -0
- package/modern/src/desktop/Component.desktop.d.ts +8 -0
- package/modern/src/desktop/index.d.ts +1 -0
- package/modern/src/index.d.ts +2 -0
- package/modern/src/mobile/Component.mobile.d.ts +8 -0
- package/modern/src/mobile/index.d.ts +1 -0
- package/modern/src/shared/index.d.ts +1 -0
- package/modern/src/utils.d.ts +12 -0
- package/modern/utils.js +1 -0
- package/modern/utils.js.map +1 -0
- package/moderncssm/Component.responsive.js +1 -0
- package/moderncssm/Component.responsive.js.map +1 -0
- package/moderncssm/components/calendar-input/Component.js +1 -0
- package/moderncssm/components/calendar-input/Component.js.map +1 -0
- package/moderncssm/components/calendar-input/index.js +1 -0
- package/moderncssm/components/calendar-input/index.js.map +1 -0
- package/moderncssm/components/calendar-input/index.module.css +3 -22
- package/moderncssm/desktop/Component.desktop.js +1 -0
- package/moderncssm/desktop/Component.desktop.js.map +1 -0
- package/moderncssm/desktop/index.js +1 -0
- package/moderncssm/desktop/index.js.map +1 -0
- package/moderncssm/index.js +1 -0
- package/moderncssm/index.js.map +1 -0
- package/moderncssm/mobile/Component.mobile.js +1 -0
- package/moderncssm/mobile/Component.mobile.js.map +1 -0
- package/moderncssm/mobile/index.js +1 -0
- package/moderncssm/mobile/index.js.map +1 -0
- package/moderncssm/shared/index.js +1 -0
- package/moderncssm/shared/index.js.map +1 -0
- package/{cssm → moderncssm/src}/Component.responsive.d.ts +5 -7
- package/{modern → moderncssm/src}/components/calendar-input/Component.d.ts +13 -13
- package/moderncssm/src/components/calendar-input/index.d.ts +1 -0
- package/moderncssm/src/desktop/Component.desktop.d.ts +8 -0
- package/moderncssm/src/desktop/index.d.ts +1 -0
- package/moderncssm/src/index.d.ts +2 -0
- package/moderncssm/src/mobile/Component.mobile.d.ts +8 -0
- package/moderncssm/src/mobile/index.d.ts +1 -0
- package/moderncssm/src/shared/index.d.ts +1 -0
- package/moderncssm/src/utils.d.ts +12 -0
- package/moderncssm/utils.js +1 -0
- package/moderncssm/utils.js.map +1 -0
- package/package.json +8 -10
- package/shared/index.js +1 -0
- package/shared/index.js.map +1 -0
- package/src/Component.responsive.d.ts +29 -0
- package/src/components/calendar-input/Component.d.ts +249 -0
- package/src/components/calendar-input/index.d.ts +1 -0
- package/src/desktop/Component.desktop.d.ts +8 -0
- package/src/desktop/index.d.ts +1 -0
- package/src/index.d.ts +2 -0
- package/src/mobile/Component.mobile.d.ts +8 -0
- package/src/mobile/index.d.ts +1 -0
- package/src/shared/index.d.ts +1 -0
- package/src/utils.d.ts +12 -0
- package/utils.js +1 -0
- package/utils.js.map +1 -0
- package/components/calendar-input/index.d.ts +0 -1
- package/cssm/components/calendar-input/index.d.ts +0 -1
- package/cssm/desktop/Component.desktop.d.ts +0 -10
- package/cssm/desktop/index.d.ts +0 -2
- package/cssm/index.d.ts +0 -3
- package/cssm/mobile/Component.mobile.d.ts +0 -10
- package/cssm/mobile/index.d.ts +0 -2
- package/cssm/shared/index.d.ts +0 -1
- package/cssm/utils.d.ts +0 -13
- package/desktop/Component.desktop.d.ts +0 -10
- package/desktop/index.d.ts +0 -2
- package/esm/components/calendar-input/index.d.ts +0 -1
- package/esm/desktop/Component.desktop.d.ts +0 -10
- package/esm/desktop/index.d.ts +0 -2
- package/esm/index.d.ts +0 -3
- package/esm/mobile/Component.mobile.d.ts +0 -10
- package/esm/mobile/index.d.ts +0 -2
- package/esm/shared/index.d.ts +0 -1
- package/esm/utils.d.ts +0 -13
- package/index.d.ts +0 -3
- package/mobile/Component.mobile.d.ts +0 -10
- package/mobile/index.d.ts +0 -2
- package/modern/components/calendar-input/index.d.ts +0 -1
- package/modern/desktop/Component.desktop.d.ts +0 -10
- package/modern/desktop/index.d.ts +0 -2
- package/modern/index.d.ts +0 -3
- package/modern/mobile/Component.mobile.d.ts +0 -10
- package/modern/mobile/index.d.ts +0 -2
- package/modern/shared/index.d.ts +0 -1
- package/modern/utils.d.ts +0 -13
- package/moderncssm/Component.responsive.d.ts +0 -31
- package/moderncssm/components/calendar-input/Component.d.ts +0 -249
- package/moderncssm/components/calendar-input/index.d.ts +0 -1
- package/moderncssm/desktop/Component.desktop.d.ts +0 -10
- package/moderncssm/desktop/index.d.ts +0 -2
- package/moderncssm/index.d.ts +0 -3
- package/moderncssm/mobile/Component.mobile.d.ts +0 -10
- package/moderncssm/mobile/index.d.ts +0 -2
- package/moderncssm/shared/index.d.ts +0 -1
- package/moderncssm/utils.d.ts +0 -13
- package/shared/index.d.ts +0 -1
- package/utils.d.ts +0 -13
package/Component.responsive.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var coreComponentsMq = require('@alfalab/core-components-mq');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var Component_desktop = require('./desktop/Component.desktop.js');
|
|
9
|
+
var Component_mobile = require('./mobile/Component.mobile.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
12
|
|
|
@@ -19,7 +19,8 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
19
19
|
var CalendarInputResponsive = React.forwardRef(function (_a, ref) {
|
|
20
20
|
var breakpoint = _a.breakpoint, client = _a.client, restProps = tslib.__rest(_a, ["breakpoint", "client"]);
|
|
21
21
|
var isDesktop = coreComponentsMq.useIsDesktop(breakpoint, client === 'desktop');
|
|
22
|
-
return isDesktop ? (React__default.default.createElement(
|
|
22
|
+
return isDesktop ? (React__default.default.createElement(Component_desktop.CalendarInputDesktop, tslib.__assign({}, restProps, { ref: ref }))) : (React__default.default.createElement(Component_mobile.CalendarInputMobile, tslib.__assign({}, restProps, { ref: ref })));
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
exports.CalendarInputResponsive = CalendarInputResponsive;
|
|
26
|
+
//# sourceMappingURL=Component.responsive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { DateInputProps } from '@alfalab/core-components-date-input';\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { CalendarInputProps } from './components/calendar-input/Component';\nimport { CalendarInputDesktop } from './desktop';\nimport { CalendarInputMobile } from './mobile';\n\nexport type CalendarInputResponsiveProps = Omit<CalendarInputProps, 'view'> & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n};\n\nexport type CalendarInputMedia = 'desktop' | 'mobile';\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const CalendarInputResponsive = forwardRef<HTMLInputElement, CalendarInputResponsiveProps>(\n ({ breakpoint, client, ...restProps }, ref) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <CalendarInputDesktop {...restProps} ref={ref} />\n ) : (\n <CalendarInputMobile {...restProps} ref={ref} />\n );\n },\n);\n"],"names":["forwardRef","__rest","useIsDesktop","React","CalendarInputDesktop","__assign","CalendarInputMobile"],"mappings":";;;;;;;;;;;;;;AAyBA;;;AAGG;IACU,uBAAuB,GAAGA,gBAAU,CAC7C,UAAC,EAAoC,EAAE,GAAG,EAAA;IAAvC,IAAA,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAK,SAAS,GAAlCC,YAAA,CAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAoC,CAAF;IAC/B,IAAM,SAAS,GAAGC,6BAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;AAEhE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,sCAAoB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,KAEjDF,sBAAA,CAAA,aAAA,CAACG,oCAAmB,EAAAD,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACnD;AACL,CAAC;;;;"}
|
|
@@ -11,6 +11,7 @@ var coreComponentsDateInput = require('@alfalab/core-components-date-input');
|
|
|
11
11
|
var coreComponentsPopover = require('@alfalab/core-components-popover');
|
|
12
12
|
var CalendarMIcon = require('@alfalab/icons-glyph/CalendarMIcon');
|
|
13
13
|
var utils = require('../../utils.js');
|
|
14
|
+
var index_module = require('./index.module.css.js');
|
|
14
15
|
|
|
15
16
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
16
17
|
|
|
@@ -18,9 +19,6 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
18
19
|
var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
|
|
19
20
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
20
21
|
|
|
21
|
-
var styles = {"component":"calendar-input__component_1s6n0","block":"calendar-input__block_1s6n0","calendarContainer":"calendar-input__calendarContainer_1s6n0","calendarResponsive":"calendar-input__calendarResponsive_1s6n0","calendarIcon":"calendar-input__calendarIcon_1s6n0","nativeInput":"calendar-input__nativeInput_1s6n0"};
|
|
22
|
-
require('./index.css')
|
|
23
|
-
|
|
24
22
|
var CalendarInput = React.forwardRef(function (_a, ref) {
|
|
25
23
|
var _b, _c;
|
|
26
24
|
var _d;
|
|
@@ -154,17 +152,18 @@ var CalendarInput = React.forwardRef(function (_a, ref) {
|
|
|
154
152
|
React__default.default.createElement("div", { onMouseDown: handleCalendarWrapperMouseDown }, Calendar ? (React__default.default.createElement(Calendar, tslib.__assign({}, calendarProps, { responsive: calendarResponsive, open: open, onClose: closeCalendar, ref: calendarRef, defaultMonth: defaultMonth, value: checkInputValueIsValid(inputValue) ? calendarValue : undefined, onChange: handleCalendarChange, minDate: minDate, maxDate: maxDate, offDays: offDays, events: events }))) : null)); };
|
|
155
153
|
return (
|
|
156
154
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
157
|
-
React__default.default.createElement("div", { className: cn__default.default(
|
|
158
|
-
_b[
|
|
155
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.component, className, (_b = {},
|
|
156
|
+
_b[index_module.block] = block,
|
|
159
157
|
_b)), tabIndex: -1, onKeyDown: inputDisabled ? undefined : handleKeyDown, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : handleFocus, onBlur: handleBlur, "data-test-id": dataTestId },
|
|
160
158
|
React__default.default.createElement(coreComponentsDateInput.DateInput, tslib.__assign({ autoComplete: 'off' }, restProps, { ref: mergeRefs__default.default([inputRef, ref]), wrapperRef: mergeRefs__default.default([wrapperRef, inputWrapperRef]), value: inputValue, defaultValue: defaultValue, disabled: disabled, inputClassName: inputClassName, readOnly: readOnly, mobileMode: mobileMode === 'native' ? 'native' : 'input', error: error, disableUserInput: disableUserInput, rightAddons: React__default.default.createElement(React__default.default.Fragment, null,
|
|
161
159
|
rightAddons,
|
|
162
|
-
shouldRenderPopover && (React__default.default.createElement(CalendarMIcon.CalendarMIcon, { className:
|
|
160
|
+
shouldRenderPopover && (React__default.default.createElement(CalendarMIcon.CalendarMIcon, { className: index_module.calendarIcon }))), rightAddonsProps: { onMouseDown: function (e) { return e.preventDefault(); } }, onKeyDown: handleInputKeyDown, onChange: handleInputChange, block: true })),
|
|
163
161
|
shouldRenderStatic && renderCalendar(),
|
|
164
162
|
shouldRenderPopover &&
|
|
165
|
-
(view === 'desktop' ? (React__default.default.createElement(coreComponentsPopover.Popover, { open: open, useAnchorWidth: useAnchorWidth, anchorElement: inputWrapperRef.current, popperClassName: cn__default.default(
|
|
166
|
-
_c[
|
|
163
|
+
(view === 'desktop' ? (React__default.default.createElement(coreComponentsPopover.Popover, { open: open, useAnchorWidth: useAnchorWidth, anchorElement: inputWrapperRef.current, popperClassName: cn__default.default(index_module.calendarContainer, (_c = {},
|
|
164
|
+
_c[index_module.calendarResponsive] = calendarResponsive,
|
|
167
165
|
_c)), className: popoverClassName, position: popoverPosition, offset: [0, 4], withTransition: false, preventFlip: preventFlip, zIndex: zIndexPopover }, renderCalendar())) : (renderCalendar()))));
|
|
168
166
|
});
|
|
169
167
|
|
|
170
168
|
exports.CalendarInput = CalendarInput;
|
|
169
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/calendar-input/Component.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n ElementType,\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport type { CalendarDesktopProps } from '@alfalab/core-components-calendar/desktop';\nimport type { CalendarMobileProps } from '@alfalab/core-components-calendar/mobile';\nimport { dateInLimits } from '@alfalab/core-components-calendar/shared';\nimport {\n DateInput,\n DateInputProps,\n formatDate,\n isCompleteDateInput,\n parseDateString,\n} from '@alfalab/core-components-date-input';\nimport { Popover, PopoverProps } from '@alfalab/core-components-popover';\nimport { CalendarMIcon } from '@alfalab/icons-glyph/CalendarMIcon';\n\nimport { SUPPORTS_INPUT_TYPE_DATE } from '../../utils';\n\nimport styles from './index.module.css';\n\nexport type CalendarInputProps = Omit<DateInputProps, 'onChange' | 'mobileMode'> & {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для инпута\n */\n inputClassName?: string;\n\n /**\n * Дополнительный класс для поповера\n */\n popoverClassName?: string;\n\n /**\n * Доп. пропсы для календаря\n */\n calendarProps?:\n | (CalendarDesktopProps & Record<string, unknown>)\n | (CalendarMobileProps & Record<string, unknown>);\n\n /**\n * Значение инпута (используется и для календаря)\n */\n value?: string;\n\n /**\n * Начальное значение инпута\n */\n defaultValue?: string;\n\n /**\n * Состояние открытия по умолчанию\n */\n defaultOpen?: boolean;\n\n /**\n * Месяц в календаре по умолчанию (timestamp)\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 events?: Array<Date | number>;\n\n /**\n * Список выходных\n */\n offDays?: Array<Date | number>;\n\n /**\n * Определяет, как рендерить календарь — в поповере или снизу инпута\n */\n calendarPosition?: 'static' | 'popover';\n\n /**\n * Запрещает поповеру менять свою позицию.\n * Например, если места снизу недостаточно,то он все равно будет показан снизу\n */\n preventFlip?: boolean;\n\n /**\n * Управление нативным режимом на мобильных устройствах\n */\n mobileMode?: 'native' | 'popover' | 'input';\n\n /**\n * Компонент календаря\n */\n Calendar?: ElementType;\n\n /**\n * Обработчик изменения значения\n */\n onChange?: (\n event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLButtonElement> | null,\n payload: { date: Date; value: string },\n ) => void;\n\n /**\n * Обработчик ввода в инпут\n */\n onInputChange?: (\n event: ChangeEvent<HTMLInputElement>,\n payload: { value: string; date: Date },\n ) => void;\n\n /**\n * Обработчик изменения календаря\n */\n onCalendarChange?: CalendarDesktopProps['onChange'];\n\n /**\n * Обработчик открытия календаря\n */\n onCalendarOpen?: () => void;\n\n /**\n * Обработчик закрытия календаря\n */\n onCalendarClose?: () => void;\n\n /**\n * Позиционирование поповера с календарем\n */\n popoverPosition?: PopoverProps['position'];\n\n /**\n * z-index Popover\n */\n zIndexPopover?: PopoverProps['zIndex'];\n\n /**\n * Календарь будет принимать ширину инпута\n */\n useAnchorWidth?: boolean;\n\n /**\n * Отображение компонента в мобильном или десктопном виде\n */\n view?: 'desktop' | 'mobile';\n\n /**\n * Запретить ввод с клавиатуры\n */\n disableUserInput?: boolean;\n};\n\nexport const CalendarInput = forwardRef<HTMLInputElement, CalendarInputProps>(\n (\n {\n block = false,\n className,\n inputClassName,\n popoverClassName,\n defaultOpen = false,\n defaultMonth,\n defaultValue = '',\n calendarPosition = 'popover',\n value,\n dataTestId,\n calendarProps = {},\n minDate = calendarProps.minDate,\n maxDate = calendarProps.maxDate,\n offDays = calendarProps.offDays || [],\n events = calendarProps.events || [],\n preventFlip,\n mobileMode = 'popover',\n wrapperRef = null,\n disabled,\n onChange = () => null,\n onInputChange,\n onCalendarChange,\n onCalendarOpen,\n onCalendarClose,\n onKeyDown,\n readOnly,\n disableUserInput = false,\n Calendar,\n popoverPosition = 'bottom-start',\n zIndexPopover,\n useAnchorWidth,\n rightAddons,\n error,\n view = 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const calendarResponsive = calendarProps?.responsive ?? true;\n const shouldRenderNative = SUPPORTS_INPUT_TYPE_DATE && mobileMode === 'native';\n const shouldRenderOnlyInput = mobileMode === 'input';\n const shouldRenderStatic = calendarPosition === 'static' && !shouldRenderOnlyInput;\n const shouldRenderPopover =\n calendarPosition === 'popover' && !shouldRenderNative && !shouldRenderOnlyInput;\n\n const [open, setOpen] = useState(false);\n\n const [inputValue, setInputValue] = useState(value || defaultValue);\n\n const calendarValue = inputValue ? parseDateString(inputValue).getTime() : undefined;\n\n const checkInputValueIsValid = (newInputValue?: string) => {\n if (!newInputValue) return false;\n\n const dateValue = parseDateString(newInputValue).getTime();\n\n return !!(\n dateValue &&\n isCompleteDateInput(newInputValue) &&\n dateInLimits(dateValue, minDate, maxDate) &&\n !offDays.includes(dateValue)\n );\n };\n\n const inputDisabled = disabled || readOnly;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const openCalendar = () => {\n setOpen((prev) => {\n if (!prev) onCalendarOpen?.();\n\n return true;\n });\n };\n\n const closeCalendar = () => {\n setOpen((prev) => {\n if (prev) onCalendarClose?.();\n\n return false;\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if ((event.target as HTMLElement).tagName === 'INPUT' && event.key === 'Enter') {\n if (open) {\n closeCalendar();\n } else {\n openCalendar();\n }\n }\n\n if (event.key === 'Escape') {\n closeCalendar();\n }\n };\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!inputWrapperRef.current?.contains(event.target as HTMLElement)) return;\n\n if (!open) openCalendar();\n\n if (view === 'desktop' && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const handleFocus = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n if (!inputWrapperRef.current?.contains(event.target)) return;\n\n openCalendar();\n\n if (!open && event.target.tagName !== 'INPUT' && calendarRef.current) {\n calendarRef.current.focus();\n }\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n const target = (event.relatedTarget || document.activeElement) as HTMLElement;\n\n if (\n inputRef.current !== target &&\n calendarRef.current?.contains(target) === false\n ) {\n closeCalendar();\n }\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (['ArrowDown', 'ArrowUp'].includes(event.key) && calendarRef.current) {\n event.preventDefault();\n calendarRef.current.focus();\n }\n\n if (onKeyDown) onKeyDown(event);\n };\n\n const changeHandler = (\n event: ChangeEvent<HTMLInputElement> | null,\n newValue: string,\n newDate: Date,\n initiator: 'input' | 'calendar' = 'input',\n shouldChange = true,\n ) => {\n if (initiator === 'input' && event && onInputChange) {\n onInputChange(event, { value: newValue, date: newDate });\n }\n\n if (initiator === 'calendar' && onCalendarChange) {\n onCalendarChange(newDate.getTime());\n }\n\n setInputValue(newValue);\n\n if (shouldChange) {\n onChange(event, { date: newDate, value: newValue });\n }\n };\n\n const handleInputChange: DateInputProps['onChange'] = (event, payload) => {\n changeHandler(\n event,\n payload.value,\n payload.date,\n 'input',\n !payload.value || checkInputValueIsValid(payload.value),\n );\n };\n\n const handleCalendarChange: CalendarDesktopProps['onChange'] = (date?: number) => {\n if (date) {\n changeHandler(null, formatDate(date), new Date(date), 'calendar');\n }\n\n if (view === 'desktop') {\n closeCalendar();\n }\n };\n\n const handleCalendarWrapperMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n // Не дает инпуту терять фокус при выборе даты\n event.preventDefault();\n };\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n useEffect(() => {\n if (typeof value !== 'undefined') {\n setInputValue(value);\n }\n }, [value]);\n\n const renderCalendar = () => (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={handleCalendarWrapperMouseDown}>\n {Calendar ? (\n <Calendar\n {...calendarProps}\n responsive={calendarResponsive}\n open={open}\n onClose={closeCalendar}\n ref={calendarRef}\n defaultMonth={defaultMonth}\n value={checkInputValueIsValid(inputValue) ? calendarValue : undefined}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n />\n ) : null}\n </div>\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className={cn(styles.component, className, {\n [styles.block]: block,\n })}\n tabIndex={-1}\n onKeyDown={inputDisabled ? undefined : handleKeyDown}\n onClick={inputDisabled ? undefined : handleClick}\n onFocus={inputDisabled ? undefined : handleFocus}\n onBlur={handleBlur}\n data-test-id={dataTestId}\n >\n <DateInput\n autoComplete='off'\n {...restProps}\n ref={mergeRefs([inputRef, ref])}\n wrapperRef={mergeRefs([wrapperRef, inputWrapperRef])}\n value={inputValue}\n defaultValue={defaultValue}\n disabled={disabled}\n inputClassName={inputClassName}\n readOnly={readOnly}\n mobileMode={mobileMode === 'native' ? 'native' : 'input'}\n error={error}\n disableUserInput={disableUserInput}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n {shouldRenderPopover && (\n <CalendarMIcon className={styles.calendarIcon} />\n )}\n </React.Fragment>\n }\n rightAddonsProps={{ onMouseDown: (e) => e.preventDefault() }}\n onKeyDown={handleInputKeyDown}\n onChange={handleInputChange}\n block={true}\n />\n {shouldRenderStatic && renderCalendar()}\n\n {shouldRenderPopover &&\n (view === 'desktop' ? (\n <Popover\n open={open}\n useAnchorWidth={useAnchorWidth}\n anchorElement={inputWrapperRef.current as HTMLElement}\n popperClassName={cn(styles.calendarContainer, {\n [styles.calendarResponsive]: calendarResponsive,\n })}\n className={popoverClassName}\n position={popoverPosition}\n offset={[0, 4]}\n withTransition={false}\n preventFlip={preventFlip}\n zIndex={zIndexPopover}\n >\n {renderCalendar()}\n </Popover>\n ) : (\n renderCalendar()\n ))}\n </div>\n );\n },\n);\n"],"names":["forwardRef","__rest","SUPPORTS_INPUT_TYPE_DATE","useState","parseDateString","isCompleteDateInput","dateInLimits","useRef","formatDate","useEffect","React","__assign","cn","styles","DateInput","mergeRefs","CalendarMIcon","Popover"],"mappings":"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"}
|
|
@@ -1,93 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
:root { /* 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 */ /* 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 */
|
|
3
|
-
} /* deprecated */ :root {
|
|
1
|
+
:root {
|
|
4
2
|
--color-light-neutral-300: #e7e8eb;
|
|
5
|
-
--color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
|
|
6
|
-
} :root { /* 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 */ /* 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 */ /* 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 */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
7
|
-
} :root { /* 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 */
|
|
3
|
+
--color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
|
|
8
4
|
} :root {
|
|
9
|
-
|
|
10
|
-
/* Hard */
|
|
11
|
-
|
|
12
|
-
/* Up */
|
|
13
|
-
|
|
14
|
-
/* Hard up */
|
|
15
|
-
} :root { /* deprecated */ /* deprecated */
|
|
16
|
-
--border-radius-m: 8px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
17
|
-
|
|
18
|
-
/* новые значения, используйте их */
|
|
5
|
+
--border-radius-m: 8px;
|
|
19
6
|
--border-radius-8: var(--border-radius-m);
|
|
20
|
-
} :root {
|
|
21
|
-
--gap-2xs: 4px;
|
|
22
|
-
|
|
23
|
-
/* новые значения, используйте их */
|
|
24
|
-
|
|
25
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
26
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
7
|
+
} :root {
|
|
8
|
+
--gap-2xs: 4px;
|
|
27
9
|
--gap-0: 0px;
|
|
28
10
|
--gap-4: var(--gap-2xs);
|
|
29
11
|
} :root {
|
|
30
|
-
} /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ :root {
|
|
31
|
-
} /* сбрасывает синюю подсветку при нажатии */ :root {
|
|
32
12
|
--calendar-width: 344px;
|
|
33
|
-
|
|
34
|
-
/* Кнопки выбора месяцев и годов */
|
|
35
|
-
|
|
36
|
-
/* Шапка */
|
|
37
|
-
|
|
38
|
-
/* День */
|
|
39
|
-
|
|
40
|
-
/* today */
|
|
41
|
-
|
|
42
|
-
/* highlighted */
|
|
43
|
-
|
|
44
|
-
/* holidays */
|
|
45
|
-
|
|
46
|
-
/* range */
|
|
47
|
-
|
|
48
|
-
/* selected */
|
|
49
|
-
|
|
50
|
-
/* disabled */
|
|
51
|
-
|
|
52
|
-
/* marker */
|
|
53
13
|
} :root {
|
|
54
14
|
--calendar-input-icon-color: var(--color-light-neutral-translucent-700);
|
|
55
15
|
--calendar-input-popover-border-radius: var(--border-radius-8);
|
|
56
|
-
} .calendar-
|
|
16
|
+
} .calendar-input__component_wq30i {
|
|
57
17
|
display: inline-block;
|
|
58
18
|
outline: none;
|
|
59
19
|
position: relative;
|
|
60
|
-
} .calendar-
|
|
20
|
+
} .calendar-input__block_wq30i {
|
|
61
21
|
width: 100%;
|
|
62
|
-
} .calendar-
|
|
22
|
+
} .calendar-input__calendarContainer_wq30i {
|
|
63
23
|
display: inline-block;
|
|
64
24
|
box-sizing: border-box;
|
|
65
25
|
border-radius: var(--calendar-input-popover-border-radius);
|
|
66
26
|
border: 1px solid var(--color-light-neutral-300)
|
|
67
|
-
} @media (max-width: 374px) { .calendar-
|
|
27
|
+
} @media (max-width: 374px) { .calendar-input__calendarContainer_wq30i {
|
|
68
28
|
width: 100%;
|
|
69
29
|
min-width: 288px
|
|
70
30
|
}
|
|
71
|
-
} .calendar-
|
|
31
|
+
} .calendar-input__calendarResponsive_wq30i {
|
|
72
32
|
width: var(--calendar-width);
|
|
73
|
-
} .calendar-
|
|
33
|
+
} .calendar-input__calendarIcon_wq30i {
|
|
74
34
|
width: 24px;
|
|
75
35
|
height: 24px;
|
|
76
36
|
display: block;
|
|
77
37
|
color: var(--calendar-input-icon-color)
|
|
78
|
-
} .calendar-
|
|
38
|
+
} .calendar-input__calendarIcon_wq30i:not(:only-child) {
|
|
79
39
|
margin-right: var(--gap-4);
|
|
80
|
-
} .calendar-
|
|
40
|
+
} .calendar-input__nativeInput_wq30i {
|
|
81
41
|
opacity: 0;
|
|
82
42
|
position: absolute;
|
|
83
43
|
top: var(--gap-0);
|
|
84
44
|
left: var(--gap-0);
|
|
85
45
|
width: 100%;
|
|
86
46
|
height: 100%;
|
|
87
|
-
appearance: none;
|
|
47
|
+
-webkit-appearance: none;
|
|
48
|
+
-moz-appearance: none;
|
|
49
|
+
appearance: none;
|
|
88
50
|
z-index: 1
|
|
89
|
-
} .calendar-
|
|
51
|
+
} .calendar-input__nativeInput_wq30i::-webkit-calendar-picker-indicator {
|
|
90
52
|
display: none;
|
|
91
|
-
} .calendar-
|
|
53
|
+
} .calendar-input__nativeInput_wq30i::-webkit-inner-spin-button {
|
|
92
54
|
display: none;
|
|
93
55
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Component = require('./Component.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.CalendarInput =
|
|
9
|
+
exports.CalendarInput = Component.CalendarInput;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -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-input__component_wq30i","block":"calendar-input__block_wq30i","calendarContainer":"calendar-input__calendarContainer_wq30i","calendarResponsive":"calendar-input__calendarResponsive_wq30i","calendarIcon":"calendar-input__calendarIcon_wq30i"};
|
|
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/calendar-input/index.module.css"],"sourcesContent":["@import '../../../../vars/src/index.css';\n@import '../../../../calendar/src/vars.css';\n\n:root {\n --calendar-input-icon-color: var(--color-light-neutral-translucent-700);\n --calendar-input-popover-border-radius: var(--border-radius-8);\n}\n\n.component {\n display: inline-block;\n outline: none;\n position: relative;\n}\n\n.block {\n width: 100%;\n}\n\n.calendarContainer {\n display: inline-block;\n box-sizing: border-box;\n border-radius: var(--calendar-input-popover-border-radius);\n border: 1px solid var(--color-light-neutral-300);\n\n @media (max-width: 374px) {\n width: 100%;\n min-width: 288px;\n }\n}\n\n.calendarResponsive {\n width: var(--calendar-width);\n}\n\n.calendarIcon {\n width: 24px;\n height: 24px;\n display: block;\n color: var(--calendar-input-icon-color);\n\n &:not(:only-child) {\n margin-right: var(--gap-4);\n }\n}\n\n.nativeInput {\n opacity: 0;\n position: absolute;\n top: var(--gap-0);\n left: var(--gap-0);\n width: 100%;\n height: 100%;\n appearance: none;\n z-index: 1;\n\n &::-webkit-calendar-picker-indicator {\n display: none;\n }\n &::-webkit-inner-spin-button {\n display: none;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,yCAAyC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,cAAc,CAAC,oCAAsF,CAAC;;;;"}
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
7
|
+
var cssm = require('@alfalab/core-components-mq/cssm');
|
|
8
|
+
var Component_desktop = require('./desktop/Component.desktop.js');
|
|
9
|
+
var Component_mobile = require('./mobile/Component.mobile.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
12
|
|
|
@@ -18,8 +18,9 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
18
18
|
*/
|
|
19
19
|
var CalendarInputResponsive = React.forwardRef(function (_a, ref) {
|
|
20
20
|
var breakpoint = _a.breakpoint, client = _a.client, restProps = tslib.__rest(_a, ["breakpoint", "client"]);
|
|
21
|
-
var isDesktop =
|
|
22
|
-
return isDesktop ? (React__default.default.createElement(
|
|
21
|
+
var isDesktop = cssm.useIsDesktop(breakpoint, client === 'desktop');
|
|
22
|
+
return isDesktop ? (React__default.default.createElement(Component_desktop.CalendarInputDesktop, tslib.__assign({}, restProps, { ref: ref }))) : (React__default.default.createElement(Component_mobile.CalendarInputMobile, tslib.__assign({}, restProps, { ref: ref })));
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
exports.CalendarInputResponsive = CalendarInputResponsive;
|
|
26
|
+
//# sourceMappingURL=Component.responsive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { DateInputProps } from '@alfalab/core-components-date-input';\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { CalendarInputProps } from './components/calendar-input/Component';\nimport { CalendarInputDesktop } from './desktop';\nimport { CalendarInputMobile } from './mobile';\n\nexport type CalendarInputResponsiveProps = Omit<CalendarInputProps, 'view'> & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n};\n\nexport type CalendarInputMedia = 'desktop' | 'mobile';\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const CalendarInputResponsive = forwardRef<HTMLInputElement, CalendarInputResponsiveProps>(\n ({ breakpoint, client, ...restProps }, ref) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <CalendarInputDesktop {...restProps} ref={ref} />\n ) : (\n <CalendarInputMobile {...restProps} ref={ref} />\n );\n },\n);\n"],"names":["forwardRef","__rest","useIsDesktop","React","CalendarInputDesktop","__assign","CalendarInputMobile"],"mappings":";;;;;;;;;;;;;;AAyBA;;;AAGG;IACU,uBAAuB,GAAGA,gBAAU,CAC7C,UAAC,EAAoC,EAAE,GAAG,EAAA;IAAvC,IAAA,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAK,SAAS,GAAlCC,YAAA,CAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAoC,CAAF;IAC/B,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;AAEhE,IAAA,OAAO,SAAS,IACZC,sBAAA,CAAA,aAAA,CAACC,sCAAoB,EAAAC,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,KAEjDF,sBAAA,CAAA,aAAA,CAACG,oCAAmB,EAAAD,cAAA,CAAA,EAAA,EAAK,SAAS,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA,CAAI,CACnD;AACL,CAAC;;;;"}
|
|
@@ -7,8 +7,8 @@ var React = require('react');
|
|
|
7
7
|
var mergeRefs = require('react-merge-refs');
|
|
8
8
|
var cn = require('classnames');
|
|
9
9
|
var shared = require('@alfalab/core-components-calendar/cssm/shared');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var cssm = require('@alfalab/core-components-date-input/cssm');
|
|
11
|
+
var cssm$1 = require('@alfalab/core-components-popover/cssm');
|
|
12
12
|
var CalendarMIcon = require('@alfalab/icons-glyph/CalendarMIcon');
|
|
13
13
|
var utils = require('../../utils.js');
|
|
14
14
|
var styles = require('./index.module.css');
|
|
@@ -31,13 +31,13 @@ var CalendarInput = React.forwardRef(function (_a, ref) {
|
|
|
31
31
|
var shouldRenderPopover = calendarPosition === 'popover' && !shouldRenderNative && !shouldRenderOnlyInput;
|
|
32
32
|
var _v = React.useState(false), open = _v[0], setOpen = _v[1];
|
|
33
33
|
var _w = React.useState(value || defaultValue), inputValue = _w[0], setInputValue = _w[1];
|
|
34
|
-
var calendarValue = inputValue ?
|
|
34
|
+
var calendarValue = inputValue ? cssm.parseDateString(inputValue).getTime() : undefined;
|
|
35
35
|
var checkInputValueIsValid = function (newInputValue) {
|
|
36
36
|
if (!newInputValue)
|
|
37
37
|
return false;
|
|
38
|
-
var dateValue =
|
|
38
|
+
var dateValue = cssm.parseDateString(newInputValue).getTime();
|
|
39
39
|
return !!(dateValue &&
|
|
40
|
-
|
|
40
|
+
cssm.isCompleteDateInput(newInputValue) &&
|
|
41
41
|
shared.dateInLimits(dateValue, minDate, maxDate) &&
|
|
42
42
|
!offDays.includes(dateValue));
|
|
43
43
|
};
|
|
@@ -130,7 +130,7 @@ var CalendarInput = React.forwardRef(function (_a, ref) {
|
|
|
130
130
|
};
|
|
131
131
|
var handleCalendarChange = function (date) {
|
|
132
132
|
if (date) {
|
|
133
|
-
changeHandler(null,
|
|
133
|
+
changeHandler(null, cssm.formatDate(date), new Date(date), 'calendar');
|
|
134
134
|
}
|
|
135
135
|
if (view === 'desktop') {
|
|
136
136
|
closeCalendar();
|
|
@@ -156,14 +156,15 @@ var CalendarInput = React.forwardRef(function (_a, ref) {
|
|
|
156
156
|
React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, className, (_b = {},
|
|
157
157
|
_b[styles__default.default.block] = block,
|
|
158
158
|
_b)), tabIndex: -1, onKeyDown: inputDisabled ? undefined : handleKeyDown, onClick: inputDisabled ? undefined : handleClick, onFocus: inputDisabled ? undefined : handleFocus, onBlur: handleBlur, "data-test-id": dataTestId },
|
|
159
|
-
React__default.default.createElement(
|
|
159
|
+
React__default.default.createElement(cssm.DateInput, tslib.__assign({ autoComplete: 'off' }, restProps, { ref: mergeRefs__default.default([inputRef, ref]), wrapperRef: mergeRefs__default.default([wrapperRef, inputWrapperRef]), value: inputValue, defaultValue: defaultValue, disabled: disabled, inputClassName: inputClassName, readOnly: readOnly, mobileMode: mobileMode === 'native' ? 'native' : 'input', error: error, disableUserInput: disableUserInput, rightAddons: React__default.default.createElement(React__default.default.Fragment, null,
|
|
160
160
|
rightAddons,
|
|
161
161
|
shouldRenderPopover && (React__default.default.createElement(CalendarMIcon.CalendarMIcon, { className: styles__default.default.calendarIcon }))), rightAddonsProps: { onMouseDown: function (e) { return e.preventDefault(); } }, onKeyDown: handleInputKeyDown, onChange: handleInputChange, block: true })),
|
|
162
162
|
shouldRenderStatic && renderCalendar(),
|
|
163
163
|
shouldRenderPopover &&
|
|
164
|
-
(view === 'desktop' ? (React__default.default.createElement(
|
|
164
|
+
(view === 'desktop' ? (React__default.default.createElement(cssm$1.Popover, { open: open, useAnchorWidth: useAnchorWidth, anchorElement: inputWrapperRef.current, popperClassName: cn__default.default(styles__default.default.calendarContainer, (_c = {},
|
|
165
165
|
_c[styles__default.default.calendarResponsive] = calendarResponsive,
|
|
166
166
|
_c)), className: popoverClassName, position: popoverPosition, offset: [0, 4], withTransition: false, preventFlip: preventFlip, zIndex: zIndexPopover }, renderCalendar())) : (renderCalendar()))));
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
exports.CalendarInput = CalendarInput;
|
|
170
|
+
//# sourceMappingURL=Component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../../src/components/calendar-input/Component.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n ElementType,\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport type { CalendarDesktopProps } from '@alfalab/core-components-calendar/desktop';\nimport type { CalendarMobileProps } from '@alfalab/core-components-calendar/mobile';\nimport { dateInLimits } from '@alfalab/core-components-calendar/shared';\nimport {\n DateInput,\n DateInputProps,\n formatDate,\n isCompleteDateInput,\n parseDateString,\n} from '@alfalab/core-components-date-input';\nimport { Popover, PopoverProps } from '@alfalab/core-components-popover';\nimport { CalendarMIcon } from '@alfalab/icons-glyph/CalendarMIcon';\n\nimport { SUPPORTS_INPUT_TYPE_DATE } from '../../utils';\n\nimport styles from './index.module.css';\n\nexport type CalendarInputProps = Omit<DateInputProps, 'onChange' | 'mobileMode'> & {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для инпута\n */\n inputClassName?: string;\n\n /**\n * Дополнительный класс для поповера\n */\n popoverClassName?: string;\n\n /**\n * Доп. пропсы для календаря\n */\n calendarProps?:\n | (CalendarDesktopProps & Record<string, unknown>)\n | (CalendarMobileProps & Record<string, unknown>);\n\n /**\n * Значение инпута (используется и для календаря)\n */\n value?: string;\n\n /**\n * Начальное значение инпута\n */\n defaultValue?: string;\n\n /**\n * Состояние открытия по умолчанию\n */\n defaultOpen?: boolean;\n\n /**\n * Месяц в календаре по умолчанию (timestamp)\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 events?: Array<Date | number>;\n\n /**\n * Список выходных\n */\n offDays?: Array<Date | number>;\n\n /**\n * Определяет, как рендерить календарь — в поповере или снизу инпута\n */\n calendarPosition?: 'static' | 'popover';\n\n /**\n * Запрещает поповеру менять свою позицию.\n * Например, если места снизу недостаточно,то он все равно будет показан снизу\n */\n preventFlip?: boolean;\n\n /**\n * Управление нативным режимом на мобильных устройствах\n */\n mobileMode?: 'native' | 'popover' | 'input';\n\n /**\n * Компонент календаря\n */\n Calendar?: ElementType;\n\n /**\n * Обработчик изменения значения\n */\n onChange?: (\n event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLButtonElement> | null,\n payload: { date: Date; value: string },\n ) => void;\n\n /**\n * Обработчик ввода в инпут\n */\n onInputChange?: (\n event: ChangeEvent<HTMLInputElement>,\n payload: { value: string; date: Date },\n ) => void;\n\n /**\n * Обработчик изменения календаря\n */\n onCalendarChange?: CalendarDesktopProps['onChange'];\n\n /**\n * Обработчик открытия календаря\n */\n onCalendarOpen?: () => void;\n\n /**\n * Обработчик закрытия календаря\n */\n onCalendarClose?: () => void;\n\n /**\n * Позиционирование поповера с календарем\n */\n popoverPosition?: PopoverProps['position'];\n\n /**\n * z-index Popover\n */\n zIndexPopover?: PopoverProps['zIndex'];\n\n /**\n * Календарь будет принимать ширину инпута\n */\n useAnchorWidth?: boolean;\n\n /**\n * Отображение компонента в мобильном или десктопном виде\n */\n view?: 'desktop' | 'mobile';\n\n /**\n * Запретить ввод с клавиатуры\n */\n disableUserInput?: boolean;\n};\n\nexport const CalendarInput = forwardRef<HTMLInputElement, CalendarInputProps>(\n (\n {\n block = false,\n className,\n inputClassName,\n popoverClassName,\n defaultOpen = false,\n defaultMonth,\n defaultValue = '',\n calendarPosition = 'popover',\n value,\n dataTestId,\n calendarProps = {},\n minDate = calendarProps.minDate,\n maxDate = calendarProps.maxDate,\n offDays = calendarProps.offDays || [],\n events = calendarProps.events || [],\n preventFlip,\n mobileMode = 'popover',\n wrapperRef = null,\n disabled,\n onChange = () => null,\n onInputChange,\n onCalendarChange,\n onCalendarOpen,\n onCalendarClose,\n onKeyDown,\n readOnly,\n disableUserInput = false,\n Calendar,\n popoverPosition = 'bottom-start',\n zIndexPopover,\n useAnchorWidth,\n rightAddons,\n error,\n view = 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const calendarResponsive = calendarProps?.responsive ?? true;\n const shouldRenderNative = SUPPORTS_INPUT_TYPE_DATE && mobileMode === 'native';\n const shouldRenderOnlyInput = mobileMode === 'input';\n const shouldRenderStatic = calendarPosition === 'static' && !shouldRenderOnlyInput;\n const shouldRenderPopover =\n calendarPosition === 'popover' && !shouldRenderNative && !shouldRenderOnlyInput;\n\n const [open, setOpen] = useState(false);\n\n const [inputValue, setInputValue] = useState(value || defaultValue);\n\n const calendarValue = inputValue ? parseDateString(inputValue).getTime() : undefined;\n\n const checkInputValueIsValid = (newInputValue?: string) => {\n if (!newInputValue) return false;\n\n const dateValue = parseDateString(newInputValue).getTime();\n\n return !!(\n dateValue &&\n isCompleteDateInput(newInputValue) &&\n dateInLimits(dateValue, minDate, maxDate) &&\n !offDays.includes(dateValue)\n );\n };\n\n const inputDisabled = disabled || readOnly;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const openCalendar = () => {\n setOpen((prev) => {\n if (!prev) onCalendarOpen?.();\n\n return true;\n });\n };\n\n const closeCalendar = () => {\n setOpen((prev) => {\n if (prev) onCalendarClose?.();\n\n return false;\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if ((event.target as HTMLElement).tagName === 'INPUT' && event.key === 'Enter') {\n if (open) {\n closeCalendar();\n } else {\n openCalendar();\n }\n }\n\n if (event.key === 'Escape') {\n closeCalendar();\n }\n };\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!inputWrapperRef.current?.contains(event.target as HTMLElement)) return;\n\n if (!open) openCalendar();\n\n if (view === 'desktop' && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const handleFocus = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n if (!inputWrapperRef.current?.contains(event.target)) return;\n\n openCalendar();\n\n if (!open && event.target.tagName !== 'INPUT' && calendarRef.current) {\n calendarRef.current.focus();\n }\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n const target = (event.relatedTarget || document.activeElement) as HTMLElement;\n\n if (\n inputRef.current !== target &&\n calendarRef.current?.contains(target) === false\n ) {\n closeCalendar();\n }\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (['ArrowDown', 'ArrowUp'].includes(event.key) && calendarRef.current) {\n event.preventDefault();\n calendarRef.current.focus();\n }\n\n if (onKeyDown) onKeyDown(event);\n };\n\n const changeHandler = (\n event: ChangeEvent<HTMLInputElement> | null,\n newValue: string,\n newDate: Date,\n initiator: 'input' | 'calendar' = 'input',\n shouldChange = true,\n ) => {\n if (initiator === 'input' && event && onInputChange) {\n onInputChange(event, { value: newValue, date: newDate });\n }\n\n if (initiator === 'calendar' && onCalendarChange) {\n onCalendarChange(newDate.getTime());\n }\n\n setInputValue(newValue);\n\n if (shouldChange) {\n onChange(event, { date: newDate, value: newValue });\n }\n };\n\n const handleInputChange: DateInputProps['onChange'] = (event, payload) => {\n changeHandler(\n event,\n payload.value,\n payload.date,\n 'input',\n !payload.value || checkInputValueIsValid(payload.value),\n );\n };\n\n const handleCalendarChange: CalendarDesktopProps['onChange'] = (date?: number) => {\n if (date) {\n changeHandler(null, formatDate(date), new Date(date), 'calendar');\n }\n\n if (view === 'desktop') {\n closeCalendar();\n }\n };\n\n const handleCalendarWrapperMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n // Не дает инпуту терять фокус при выборе даты\n event.preventDefault();\n };\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n useEffect(() => {\n if (typeof value !== 'undefined') {\n setInputValue(value);\n }\n }, [value]);\n\n const renderCalendar = () => (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={handleCalendarWrapperMouseDown}>\n {Calendar ? (\n <Calendar\n {...calendarProps}\n responsive={calendarResponsive}\n open={open}\n onClose={closeCalendar}\n ref={calendarRef}\n defaultMonth={defaultMonth}\n value={checkInputValueIsValid(inputValue) ? calendarValue : undefined}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n />\n ) : null}\n </div>\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className={cn(styles.component, className, {\n [styles.block]: block,\n })}\n tabIndex={-1}\n onKeyDown={inputDisabled ? undefined : handleKeyDown}\n onClick={inputDisabled ? undefined : handleClick}\n onFocus={inputDisabled ? undefined : handleFocus}\n onBlur={handleBlur}\n data-test-id={dataTestId}\n >\n <DateInput\n autoComplete='off'\n {...restProps}\n ref={mergeRefs([inputRef, ref])}\n wrapperRef={mergeRefs([wrapperRef, inputWrapperRef])}\n value={inputValue}\n defaultValue={defaultValue}\n disabled={disabled}\n inputClassName={inputClassName}\n readOnly={readOnly}\n mobileMode={mobileMode === 'native' ? 'native' : 'input'}\n error={error}\n disableUserInput={disableUserInput}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n {shouldRenderPopover && (\n <CalendarMIcon className={styles.calendarIcon} />\n )}\n </React.Fragment>\n }\n rightAddonsProps={{ onMouseDown: (e) => e.preventDefault() }}\n onKeyDown={handleInputKeyDown}\n onChange={handleInputChange}\n block={true}\n />\n {shouldRenderStatic && renderCalendar()}\n\n {shouldRenderPopover &&\n (view === 'desktop' ? (\n <Popover\n open={open}\n useAnchorWidth={useAnchorWidth}\n anchorElement={inputWrapperRef.current as HTMLElement}\n popperClassName={cn(styles.calendarContainer, {\n [styles.calendarResponsive]: calendarResponsive,\n })}\n className={popoverClassName}\n position={popoverPosition}\n offset={[0, 4]}\n withTransition={false}\n preventFlip={preventFlip}\n zIndex={zIndexPopover}\n >\n {renderCalendar()}\n </Popover>\n ) : (\n renderCalendar()\n ))}\n </div>\n );\n },\n);\n"],"names":["forwardRef","__rest","SUPPORTS_INPUT_TYPE_DATE","useState","parseDateString","isCompleteDateInput","dateInLimits","useRef","formatDate","useEffect","React","__assign","cn","styles","DateInput","mergeRefs","CalendarMIcon","Popover"],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var Component = require('./Component.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.CalendarInput =
|
|
9
|
+
exports.CalendarInput = Component.CalendarInput;
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,54 +1,15 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
} /* deprecated */ :root {
|
|
1
|
+
:root {
|
|
3
2
|
--color-light-neutral-300: #e7e8eb;
|
|
4
|
-
--color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
|
|
5
|
-
} :root { /* 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 */ /* 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 */ /* 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 */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
-
} :root { /* 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 */
|
|
3
|
+
--color-light-neutral-translucent-700: rgba(4, 4, 21, 0.47);
|
|
7
4
|
} :root {
|
|
8
|
-
|
|
9
|
-
/* Hard */
|
|
10
|
-
|
|
11
|
-
/* Up */
|
|
12
|
-
|
|
13
|
-
/* Hard up */
|
|
14
|
-
} :root { /* deprecated */ /* deprecated */
|
|
15
|
-
--border-radius-m: 8px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
16
|
-
|
|
17
|
-
/* новые значения, используйте их */
|
|
5
|
+
--border-radius-m: 8px;
|
|
18
6
|
--border-radius-8: var(--border-radius-m);
|
|
19
|
-
} :root {
|
|
20
|
-
--gap-2xs: 4px;
|
|
21
|
-
|
|
22
|
-
/* новые значения, используйте их */
|
|
23
|
-
|
|
24
|
-
/* no-unit может приводить к проблемам в calc (#1559) */
|
|
25
|
-
/* stylelint-disable-next-line length-zero-no-unit */
|
|
7
|
+
} :root {
|
|
8
|
+
--gap-2xs: 4px;
|
|
26
9
|
--gap-0: 0px;
|
|
27
10
|
--gap-4: var(--gap-2xs);
|
|
28
11
|
} :root {
|
|
29
|
-
} /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ /* @deprecated */ :root {
|
|
30
|
-
} /* сбрасывает синюю подсветку при нажатии */ :root {
|
|
31
12
|
--calendar-width: 344px;
|
|
32
|
-
|
|
33
|
-
/* Кнопки выбора месяцев и годов */
|
|
34
|
-
|
|
35
|
-
/* Шапка */
|
|
36
|
-
|
|
37
|
-
/* День */
|
|
38
|
-
|
|
39
|
-
/* today */
|
|
40
|
-
|
|
41
|
-
/* highlighted */
|
|
42
|
-
|
|
43
|
-
/* holidays */
|
|
44
|
-
|
|
45
|
-
/* range */
|
|
46
|
-
|
|
47
|
-
/* selected */
|
|
48
|
-
|
|
49
|
-
/* disabled */
|
|
50
|
-
|
|
51
|
-
/* marker */
|
|
52
13
|
} :root {
|
|
53
14
|
--calendar-input-icon-color: var(--color-light-neutral-translucent-700);
|
|
54
15
|
--calendar-input-popover-border-radius: var(--border-radius-8);
|
|
@@ -83,7 +44,9 @@
|
|
|
83
44
|
left: var(--gap-0);
|
|
84
45
|
width: 100%;
|
|
85
46
|
height: 100%;
|
|
86
|
-
appearance: none;
|
|
47
|
+
-webkit-appearance: none;
|
|
48
|
+
-moz-appearance: none;
|
|
49
|
+
appearance: none;
|
|
87
50
|
z-index: 1
|
|
88
51
|
} .nativeInput::-webkit-calendar-picker-indicator {
|
|
89
52
|
display: none;
|