@alfalab/core-components-calendar-range 8.0.1 → 8.0.2
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.d.ts +2 -2
- package/Component.js.map +1 -1
- package/components/divider/Component.d.ts +2 -2
- package/components/divider/Component.js.map +1 -1
- package/components/divider/index.css +8 -8
- package/components/divider/index.module.css.js +1 -1
- package/components/divider/index.module.css.js.map +1 -1
- package/cssm/Component.d.ts +2 -2
- package/cssm/Component.js.map +1 -1
- package/cssm/components/divider/Component.d.ts +2 -2
- package/cssm/components/divider/Component.js.map +1 -1
- package/cssm/components/divider/index.module.css +1 -1
- package/cssm/hooks.js.map +1 -1
- package/cssm/views/index.module.css +2 -2
- package/cssm/views/popover.d.ts +2 -2
- package/cssm/views/popover.js.map +1 -1
- package/cssm/views/static.d.ts +2 -2
- package/cssm/views/static.js +3 -1
- package/cssm/views/static.js.map +1 -1
- package/esm/Component.d.ts +2 -2
- package/esm/Component.js.map +1 -1
- package/esm/components/divider/Component.d.ts +2 -2
- package/esm/components/divider/Component.js.map +1 -1
- package/esm/components/divider/index.css +8 -8
- package/esm/components/divider/index.module.css.js +1 -1
- package/esm/components/divider/index.module.css.js.map +1 -1
- package/esm/hooks.js.map +1 -1
- package/esm/views/index.css +9 -9
- package/esm/views/index.module.css.js +1 -1
- package/esm/views/index.module.css.js.map +1 -1
- package/esm/views/popover.d.ts +2 -2
- package/esm/views/popover.js.map +1 -1
- package/esm/views/static.d.ts +2 -2
- package/esm/views/static.js +3 -1
- package/esm/views/static.js.map +1 -1
- package/hooks.js.map +1 -1
- package/modern/Component.d.ts +2 -2
- package/modern/Component.js.map +1 -1
- package/modern/components/divider/Component.d.ts +2 -2
- package/modern/components/divider/Component.js.map +1 -1
- package/modern/components/divider/index.css +8 -8
- package/modern/components/divider/index.module.css.js +1 -1
- package/modern/components/divider/index.module.css.js.map +1 -1
- package/modern/hooks.js.map +1 -1
- package/modern/views/index.css +9 -9
- package/modern/views/index.module.css.js +1 -1
- package/modern/views/index.module.css.js.map +1 -1
- package/modern/views/popover.d.ts +2 -2
- package/modern/views/popover.js.map +1 -1
- package/modern/views/static.d.ts +2 -2
- package/modern/views/static.js +3 -1
- package/modern/views/static.js.map +1 -1
- package/moderncssm/Component.d.ts +2 -2
- package/moderncssm/Component.js.map +1 -1
- package/moderncssm/components/divider/Component.d.ts +2 -2
- package/moderncssm/components/divider/Component.js.map +1 -1
- package/moderncssm/components/divider/index.module.css +7 -1
- package/moderncssm/hooks.js.map +1 -1
- package/moderncssm/views/index.module.css +9 -2
- package/moderncssm/views/popover.d.ts +2 -2
- package/moderncssm/views/popover.js.map +1 -1
- package/moderncssm/views/static.d.ts +2 -2
- package/moderncssm/views/static.js +3 -1
- package/moderncssm/views/static.js.map +1 -1
- package/package.json +4 -4
- package/src/Component.tsx +2 -2
- package/src/components/divider/Component.tsx +2 -2
- package/src/components/divider/index.module.css +1 -1
- package/src/hooks.ts +2 -2
- package/src/views/index.module.css +1 -1
- package/src/views/popover.tsx +3 -3
- package/src/views/static.tsx +4 -3
- package/views/index.css +9 -9
- package/views/index.module.css.js +1 -1
- package/views/index.module.css.js.map +1 -1
- package/views/popover.d.ts +2 -2
- package/views/popover.js.map +1 -1
- package/views/static.d.ts +2 -2
- package/views/static.js +3 -1
- package/views/static.js.map +1 -1
package/src/Component.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { FC } from 'react';
|
|
1
|
+
import React, { type FC } from 'react';
|
|
2
2
|
|
|
3
|
-
import { CalendarInputProps } from '@alfalab/core-components-calendar-input';
|
|
3
|
+
import { type CalendarInputProps } from '@alfalab/core-components-calendar-input';
|
|
4
4
|
|
|
5
5
|
import { CalendarRangePopover } from './views/popover';
|
|
6
6
|
import { CalendarRangeStatic } from './views/static';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { FC } from 'react';
|
|
1
|
+
import React, { type FC } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
|
|
4
|
-
import { CalendarRangeProps } from '../../Component';
|
|
4
|
+
import { type CalendarRangeProps } from '../../Component';
|
|
5
5
|
|
|
6
6
|
import styles from './index.module.css';
|
|
7
7
|
|
package/src/hooks.ts
CHANGED
|
@@ -141,13 +141,13 @@ export function useStaticViewMonthes({
|
|
|
141
141
|
const toMonthOnScreen = toMonthOnLeft || toMonthOnRight;
|
|
142
142
|
|
|
143
143
|
if (fromMonthOnLeft && toMonthOnLeft) {
|
|
144
|
-
setMonthTo(max([addMonths(selectedFromMonth
|
|
144
|
+
setMonthTo(max([addMonths(selectedFromMonth, 1), monthTo]).getTime());
|
|
145
145
|
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
if (fromMonthOnRight && toMonthOnRight) {
|
|
150
|
-
setMonthFrom(min([subMonths(selectedToMonth
|
|
150
|
+
setMonthFrom(min([subMonths(selectedToMonth, 1), monthFrom]).getTime());
|
|
151
151
|
|
|
152
152
|
return;
|
|
153
153
|
}
|
package/src/views/popover.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import React, { FC, useCallback, useEffect, useState } from 'react';
|
|
1
|
+
import React, { type FC, useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import startOfMonth from 'date-fns/startOfMonth';
|
|
4
4
|
|
|
5
|
-
import { CalendarInput, CalendarInputProps } from '@alfalab/core-components-calendar-input';
|
|
5
|
+
import { CalendarInput, type CalendarInputProps } from '@alfalab/core-components-calendar-input';
|
|
6
6
|
import { isValidInputValue, parseDateString } from '@alfalab/core-components-calendar-input/shared';
|
|
7
7
|
import { isCompleteDateInput } from '@alfalab/core-components-date-input';
|
|
8
8
|
import { useDidUpdateEffect } from '@alfalab/hooks';
|
|
9
9
|
|
|
10
|
-
import { CalendarRangeProps } from '../Component';
|
|
10
|
+
import { type CalendarRangeProps } from '../Component';
|
|
11
11
|
import { Divider } from '../components/divider';
|
|
12
12
|
import { usePopoverViewMonthes } from '../hooks';
|
|
13
13
|
|
package/src/views/static.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable complexity */
|
|
2
|
-
import React, { FC, MouseEvent, useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import React, { type FC, type MouseEvent, useCallback, useEffect, useState } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import addMonths from 'date-fns/addMonths';
|
|
5
5
|
import endOfMonth from 'date-fns/endOfMonth';
|
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
} from '@alfalab/core-components-calendar-input/shared';
|
|
18
18
|
import {
|
|
19
19
|
DateInput,
|
|
20
|
-
DateInputProps,
|
|
20
|
+
type DateInputProps,
|
|
21
21
|
isCompleteDateInput,
|
|
22
22
|
} from '@alfalab/core-components-date-input';
|
|
23
23
|
import { getDataTestId } from '@alfalab/core-components-shared';
|
|
24
24
|
|
|
25
|
-
import { CalendarRangeProps } from '../Component';
|
|
25
|
+
import { type CalendarRangeProps } from '../Component';
|
|
26
26
|
import { Divider } from '../components/divider';
|
|
27
27
|
import { useSelectionProps, useStaticViewMonthes } from '../hooks';
|
|
28
28
|
import { isDayButton } from '../utils';
|
|
@@ -261,6 +261,7 @@ export const CalendarRangeStatic: FC<CalendarRangeStaticProps> = ({
|
|
|
261
261
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
262
262
|
<div
|
|
263
263
|
className={cn(styles.component, styles.static, className)}
|
|
264
|
+
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
264
265
|
onMouseOver={handleMouseOver}
|
|
265
266
|
data-test-id={dataTestId}
|
|
266
267
|
>
|
package/views/index.css
CHANGED
|
@@ -6,19 +6,19 @@
|
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
7
|
} :root {
|
|
8
8
|
--calendar-inner-width: 280px;
|
|
9
|
-
} .calendar-
|
|
10
|
-
display: flex
|
|
11
|
-
} .calendar-
|
|
9
|
+
} .calendar-range__component_13fb7 {
|
|
10
|
+
display: flex;
|
|
11
|
+
} .calendar-range__component_13fb7 button[aria-selected='true'] {
|
|
12
12
|
cursor: pointer;
|
|
13
|
-
} .calendar-
|
|
13
|
+
} .calendar-range__component_13fb7 *[class*='errorIcon_'] {
|
|
14
14
|
display: none;
|
|
15
|
-
} .calendar-
|
|
15
|
+
} .calendar-range__component_13fb7 *[class*='calendarIcon_'] {
|
|
16
16
|
margin-right: var(--gap-0);
|
|
17
|
-
} .calendar-
|
|
18
|
-
width: var(--calendar-inner-width)
|
|
19
|
-
} .calendar-
|
|
17
|
+
} .calendar-range__static_13fb7 .calendar-range__calendar_13fb7 {
|
|
18
|
+
width: var(--calendar-inner-width);
|
|
19
|
+
} .calendar-range__static_13fb7 .calendar-range__calendar_13fb7 > div:first-child {
|
|
20
20
|
padding: var(--gap-16) var(--gap-0) var(--gap-12);
|
|
21
|
-
} .calendar-
|
|
21
|
+
} .calendar-range__calendarContainer_13fb7 {
|
|
22
22
|
width: var(--calendar-inner-width);
|
|
23
23
|
display: flex;
|
|
24
24
|
justify-content: center;
|
|
@@ -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_13fb7","static":"calendar-range__static_13fb7","calendar":"calendar-range__calendar_13fb7","calendarContainer":"calendar-range__calendarContainer_13fb7"};
|
|
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/views/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\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;;;;"}
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../src/views/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-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;;;;"}
|
package/views/popover.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { CalendarRangeProps } from '../Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type CalendarRangeProps } from '../Component';
|
|
3
3
|
export declare type CalendarRangePopoverProps = Omit<CalendarRangeProps, 'calendarPosition'>;
|
|
4
4
|
export declare const CalendarRangePopover: FC<CalendarRangePopoverProps>;
|
package/views/popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sources":["../src/views/popover.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { CalendarInput, CalendarInputProps } from '@alfalab/core-components-calendar-input';\nimport { isValidInputValue, parseDateString } from '@alfalab/core-components-calendar-input/shared';\nimport { isCompleteDateInput } from '@alfalab/core-components-date-input';\nimport { useDidUpdateEffect } from '@alfalab/hooks';\n\nimport { CalendarRangeProps } from '../Component';\nimport { Divider } from '../components/divider';\nimport { usePopoverViewMonthes } from '../hooks';\n\nimport styles from './index.module.css';\n\nexport type CalendarRangePopoverProps = Omit<CalendarRangeProps, 'calendarPosition'>;\n\nexport const CalendarRangePopover: FC<CalendarRangePopoverProps> = ({\n className,\n defaultMonth = startOfMonth(new Date()).getTime(),\n minDate,\n maxDate,\n valueFrom = '',\n valueTo = '',\n onDateFromChange = () => null,\n onDateToChange = () => null,\n onChange = () => null,\n onError,\n inputFromProps = {},\n inputToProps = {},\n offDays,\n events,\n returnInvalidDates = false,\n dataTestId,\n}) => {\n const [inputFromValue, setInputFromValue] = useState<string>(valueFrom);\n const [inputToValue, setInputToValue] = useState<string>(valueTo);\n\n /**\n * Ключ для сброса календарей\n * Пользователь открыл календарь, изменил месяц, но ничего не выбрал\n * — при следующем открытии в календаре будет установлен начальный месяц\n */\n const [resetKey, setResetKey] = useState<number>(0);\n\n const dateFrom = isValidInputValue(inputFromValue, minDate, maxDate, offDays)\n ? parseDateString(inputFromValue).getTime()\n : null;\n\n const dateTo = isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays)\n ? parseDateString(inputToValue).getTime()\n : null;\n\n const [inputFromInvalid, setInputFromInvalid] = useState<boolean>(\n isCompleteDateInput(inputFromValue) && dateFrom === null,\n );\n const [inputToInvalid, setInputToInvalid] = useState<boolean>(\n isCompleteDateInput(inputToValue) && dateTo === null,\n );\n\n const bothInvalid =\n isCompleteDateInput(inputFromValue) &&\n isCompleteDateInput(inputToValue) &&\n parseDateString(inputFromValue).getTime() > parseDateString(inputToValue).getTime();\n\n const hasValidateError = inputFromInvalid || inputToInvalid || bothInvalid;\n\n const { monthFrom, monthTo, handleMonthFromChange, handleMonthToChange } =\n usePopoverViewMonthes({\n dateFrom,\n dateTo,\n defaultMonth,\n resetKey,\n });\n\n const handleValidInputFrom = useCallback(() => {\n setInputFromInvalid(\n inputFromValue !== '' && !isValidInputValue(inputFromValue, minDate, maxDate, offDays),\n );\n }, [inputFromValue, maxDate, minDate, offDays]);\n\n const handleValidInputTo = useCallback(() => {\n setInputToInvalid(\n inputToValue !== '' &&\n !isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays),\n );\n }, [dateFrom, inputToValue, maxDate, minDate, offDays]);\n\n const handleInputFromChange: Required<CalendarInputProps>['onInputChange'] = (\n event,\n payload,\n ) => {\n setInputFromValue(payload.value);\n inputFromProps.onInputChange?.(event, payload);\n };\n\n const handleInputToChange: Required<CalendarInputProps>['onInputChange'] = (event, payload) => {\n setInputToValue(payload.value);\n inputToProps.onInputChange?.(event, payload);\n };\n\n const handleInputFromBlur = useCallback(() => {\n handleValidInputFrom();\n setResetKey(+new Date());\n }, [handleValidInputFrom]);\n\n const handleInputToBlur = useCallback(() => {\n handleValidInputTo();\n setResetKey(+new Date());\n }, [handleValidInputTo]);\n\n const handleFromChange: Required<CalendarInputProps>['onChange'] = useCallback((_, payload) => {\n setInputFromValue(payload.value);\n }, []);\n\n const handleToChange: Required<CalendarInputProps>['onChange'] = useCallback((_, payload) => {\n setInputToValue(payload.value);\n }, []);\n\n useEffect(() => {\n setInputFromValue(valueFrom);\n }, [valueFrom]);\n\n useEffect(() => {\n setInputToValue(valueTo);\n }, [valueTo]);\n\n useDidUpdateEffect(() => {\n onDateFromChange({ value: inputFromValue, date: dateFrom });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo,\n });\n\n if (!inputFromValue || isCompleteDateInput(inputFromValue)) {\n handleValidInputFrom();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputFromValue]);\n\n useDidUpdateEffect(() => {\n onDateToChange({ value: inputToValue, date: dateTo });\n\n // eslint-disable-next-line no-nested-ternary\n const inputDateTo = returnInvalidDates\n ? isCompleteDateInput(inputToValue)\n ? parseDateString(inputToValue).getTime()\n : null\n : dateTo;\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo: inputDateTo,\n });\n\n if (!inputToValue || isCompleteDateInput(inputToValue)) {\n handleValidInputTo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputToValue]);\n\n useEffect(() => {\n if (onError) {\n onError(hasValidateError);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasValidateError]);\n\n return (\n <div className={cn(styles.component, className)} data-test-id={dataTestId}>\n <CalendarInput\n {...inputFromProps}\n useAnchorWidth={false}\n calendarPosition='popover'\n popoverPosition='bottom-start'\n error={inputFromInvalid || bothInvalid || inputFromProps.error}\n onChange={handleFromChange}\n onInputChange={handleInputFromChange}\n onBlur={handleInputFromBlur}\n value={inputFromValue}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n calendarProps={{\n ...inputFromProps.calendarProps,\n month: monthFrom,\n onMonthChange: handleMonthFromChange,\n selectorView: 'full',\n }}\n />\n\n <Divider inputFromProps={inputFromProps} inputToProps={inputToProps} />\n\n <CalendarInput\n {...inputToProps}\n useAnchorWidth={false}\n calendarPosition='popover'\n popoverPosition='bottom-end'\n error={inputToInvalid || bothInvalid || inputToProps.error}\n onChange={handleToChange}\n onInputChange={handleInputToChange}\n onBlur={handleInputToBlur}\n value={inputToValue}\n minDate={dateFrom || minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n calendarProps={{\n ...inputToProps.calendarProps,\n month: monthTo,\n onMonthChange: handleMonthToChange,\n selectorView: 'full',\n }}\n />\n </div>\n );\n};\n"],"names":["startOfMonth","useState","isValidInputValue","parseDateString","isCompleteDateInput","usePopoverViewMonthes","useCallback","useEffect","useDidUpdateEffect","React","cn","styles","CalendarInput","__assign","Divider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popover.js","sources":["../src/views/popover.tsx"],"sourcesContent":["import React, { type FC, useCallback, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { CalendarInput, type CalendarInputProps } from '@alfalab/core-components-calendar-input';\nimport { isValidInputValue, parseDateString } from '@alfalab/core-components-calendar-input/shared';\nimport { isCompleteDateInput } from '@alfalab/core-components-date-input';\nimport { useDidUpdateEffect } from '@alfalab/hooks';\n\nimport { type CalendarRangeProps } from '../Component';\nimport { Divider } from '../components/divider';\nimport { usePopoverViewMonthes } from '../hooks';\n\nimport styles from './index.module.css';\n\nexport type CalendarRangePopoverProps = Omit<CalendarRangeProps, 'calendarPosition'>;\n\nexport const CalendarRangePopover: FC<CalendarRangePopoverProps> = ({\n className,\n defaultMonth = startOfMonth(new Date()).getTime(),\n minDate,\n maxDate,\n valueFrom = '',\n valueTo = '',\n onDateFromChange = () => null,\n onDateToChange = () => null,\n onChange = () => null,\n onError,\n inputFromProps = {},\n inputToProps = {},\n offDays,\n events,\n returnInvalidDates = false,\n dataTestId,\n}) => {\n const [inputFromValue, setInputFromValue] = useState<string>(valueFrom);\n const [inputToValue, setInputToValue] = useState<string>(valueTo);\n\n /**\n * Ключ для сброса календарей\n * Пользователь открыл календарь, изменил месяц, но ничего не выбрал\n * — при следующем открытии в календаре будет установлен начальный месяц\n */\n const [resetKey, setResetKey] = useState<number>(0);\n\n const dateFrom = isValidInputValue(inputFromValue, minDate, maxDate, offDays)\n ? parseDateString(inputFromValue).getTime()\n : null;\n\n const dateTo = isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays)\n ? parseDateString(inputToValue).getTime()\n : null;\n\n const [inputFromInvalid, setInputFromInvalid] = useState<boolean>(\n isCompleteDateInput(inputFromValue) && dateFrom === null,\n );\n const [inputToInvalid, setInputToInvalid] = useState<boolean>(\n isCompleteDateInput(inputToValue) && dateTo === null,\n );\n\n const bothInvalid =\n isCompleteDateInput(inputFromValue) &&\n isCompleteDateInput(inputToValue) &&\n parseDateString(inputFromValue).getTime() > parseDateString(inputToValue).getTime();\n\n const hasValidateError = inputFromInvalid || inputToInvalid || bothInvalid;\n\n const { monthFrom, monthTo, handleMonthFromChange, handleMonthToChange } =\n usePopoverViewMonthes({\n dateFrom,\n dateTo,\n defaultMonth,\n resetKey,\n });\n\n const handleValidInputFrom = useCallback(() => {\n setInputFromInvalid(\n inputFromValue !== '' && !isValidInputValue(inputFromValue, minDate, maxDate, offDays),\n );\n }, [inputFromValue, maxDate, minDate, offDays]);\n\n const handleValidInputTo = useCallback(() => {\n setInputToInvalid(\n inputToValue !== '' &&\n !isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays),\n );\n }, [dateFrom, inputToValue, maxDate, minDate, offDays]);\n\n const handleInputFromChange: Required<CalendarInputProps>['onInputChange'] = (\n event,\n payload,\n ) => {\n setInputFromValue(payload.value);\n inputFromProps.onInputChange?.(event, payload);\n };\n\n const handleInputToChange: Required<CalendarInputProps>['onInputChange'] = (event, payload) => {\n setInputToValue(payload.value);\n inputToProps.onInputChange?.(event, payload);\n };\n\n const handleInputFromBlur = useCallback(() => {\n handleValidInputFrom();\n setResetKey(+new Date());\n }, [handleValidInputFrom]);\n\n const handleInputToBlur = useCallback(() => {\n handleValidInputTo();\n setResetKey(+new Date());\n }, [handleValidInputTo]);\n\n const handleFromChange: Required<CalendarInputProps>['onChange'] = useCallback((_, payload) => {\n setInputFromValue(payload.value);\n }, []);\n\n const handleToChange: Required<CalendarInputProps>['onChange'] = useCallback((_, payload) => {\n setInputToValue(payload.value);\n }, []);\n\n useEffect(() => {\n setInputFromValue(valueFrom);\n }, [valueFrom]);\n\n useEffect(() => {\n setInputToValue(valueTo);\n }, [valueTo]);\n\n useDidUpdateEffect(() => {\n onDateFromChange({ value: inputFromValue, date: dateFrom });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo,\n });\n\n if (!inputFromValue || isCompleteDateInput(inputFromValue)) {\n handleValidInputFrom();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputFromValue]);\n\n useDidUpdateEffect(() => {\n onDateToChange({ value: inputToValue, date: dateTo });\n\n // eslint-disable-next-line no-nested-ternary\n const inputDateTo = returnInvalidDates\n ? isCompleteDateInput(inputToValue)\n ? parseDateString(inputToValue).getTime()\n : null\n : dateTo;\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo: inputDateTo,\n });\n\n if (!inputToValue || isCompleteDateInput(inputToValue)) {\n handleValidInputTo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputToValue]);\n\n useEffect(() => {\n if (onError) {\n onError(hasValidateError);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasValidateError]);\n\n return (\n <div className={cn(styles.component, className)} data-test-id={dataTestId}>\n <CalendarInput\n {...inputFromProps}\n useAnchorWidth={false}\n calendarPosition='popover'\n popoverPosition='bottom-start'\n error={inputFromInvalid || bothInvalid || inputFromProps.error}\n onChange={handleFromChange}\n onInputChange={handleInputFromChange}\n onBlur={handleInputFromBlur}\n value={inputFromValue}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n calendarProps={{\n ...inputFromProps.calendarProps,\n month: monthFrom,\n onMonthChange: handleMonthFromChange,\n selectorView: 'full',\n }}\n />\n\n <Divider inputFromProps={inputFromProps} inputToProps={inputToProps} />\n\n <CalendarInput\n {...inputToProps}\n useAnchorWidth={false}\n calendarPosition='popover'\n popoverPosition='bottom-end'\n error={inputToInvalid || bothInvalid || inputToProps.error}\n onChange={handleToChange}\n onInputChange={handleInputToChange}\n onBlur={handleInputToBlur}\n value={inputToValue}\n minDate={dateFrom || minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n calendarProps={{\n ...inputToProps.calendarProps,\n month: monthTo,\n onMonthChange: handleMonthToChange,\n selectorView: 'full',\n }}\n />\n </div>\n );\n};\n"],"names":["startOfMonth","useState","isValidInputValue","parseDateString","isCompleteDateInput","usePopoverViewMonthes","useCallback","useEffect","useDidUpdateEffect","React","cn","styles","CalendarInput","__assign","Divider"],"mappings":"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"}
|
package/views/static.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { CalendarRangeProps } from '../Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type CalendarRangeProps } from '../Component';
|
|
3
3
|
export declare type CalendarRangeStaticProps = Omit<CalendarRangeProps, 'calendarPosition'> & {
|
|
4
4
|
/**
|
|
5
5
|
* Отображать начальный месяц слева или справа (влияет только на начальный рендер)
|
package/views/static.js
CHANGED
|
@@ -172,7 +172,9 @@ var CalendarRangeStatic = function (_a) {
|
|
|
172
172
|
var minMaxInSameMonth = minDate && maxDate && isSameMonth__default.default(minDate, maxDate);
|
|
173
173
|
return (
|
|
174
174
|
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
175
|
-
React__default.default.createElement("div", { className: cn__default.default(index_module.component, index_module.static, className),
|
|
175
|
+
React__default.default.createElement("div", { className: cn__default.default(index_module.component, index_module.static, className),
|
|
176
|
+
// eslint-disable-next-line jsx-a11y/mouse-events-have-key-events
|
|
177
|
+
onMouseOver: handleMouseOver, "data-test-id": dataTestId },
|
|
176
178
|
React__default.default.createElement("div", null,
|
|
177
179
|
React__default.default.createElement(coreComponentsDateInput.DateInput, tslib.__assign({}, dateInputFromProps, { mobileMode: dateInputFromProps.mobileMode === 'popover'
|
|
178
180
|
? 'input'
|
package/views/static.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sources":["../src/views/static.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { FC, MouseEvent, useCallback, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport addMonths from 'date-fns/addMonths';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport isSameMonth from 'date-fns/isSameMonth';\nimport max from 'date-fns/max';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport subMonths from 'date-fns/subMonths';\n\nimport { CalendarDesktop } from '@alfalab/core-components-calendar/desktop';\nimport { usePeriodWithReset } from '@alfalab/core-components-calendar/shared';\nimport {\n formatDate,\n isValidInputValue,\n parseDateString,\n} from '@alfalab/core-components-calendar-input/shared';\nimport {\n DateInput,\n DateInputProps,\n isCompleteDateInput,\n} from '@alfalab/core-components-date-input';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { CalendarRangeProps } from '../Component';\nimport { Divider } from '../components/divider';\nimport { useSelectionProps, useStaticViewMonthes } from '../hooks';\nimport { isDayButton } from '../utils';\n\nimport styles from './index.module.css';\n\nexport type CalendarRangeStaticProps = Omit<CalendarRangeProps, 'calendarPosition'> & {\n /**\n * Отображать начальный месяц слева или справа (влияет только на начальный рендер)\n */\n defaultMonthPosition?: 'left' | 'right';\n};\n\nexport const CalendarRangeStatic: FC<CalendarRangeStaticProps> = ({\n className,\n defaultMonth = startOfMonth(new Date()).getTime(),\n defaultMonthPosition = 'left',\n minDate,\n maxDate,\n valueFrom = '',\n valueTo = '',\n onDateFromChange = () => null,\n onDateToChange = () => null,\n onChange = () => null,\n onError,\n inputFromProps = {},\n inputToProps = {},\n offDays,\n events,\n returnInvalidDates = false,\n dataTestId,\n calendarContainerClassName,\n}) => {\n const [inputFromValue, setInputFromValue] = useState<string>(valueFrom);\n const [inputToValue, setInputToValue] = useState<string>(valueTo);\n\n let dateFrom = isValidInputValue(inputFromValue, minDate, maxDate, offDays)\n ? parseDateString(inputFromValue).getTime()\n : null;\n\n const dateTo = isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays)\n ? parseDateString(inputToValue).getTime()\n : null;\n\n if (isCompleteDateInput(inputToValue) && !dateTo && !returnInvalidDates) {\n dateFrom = null;\n }\n\n const bothInvalid =\n isCompleteDateInput(inputFromValue) &&\n isCompleteDateInput(inputToValue) &&\n parseDateString(inputFromValue).getTime() > parseDateString(inputToValue).getTime();\n\n const [highlightedDate, setHighlightedDate] = useState<number | undefined>(undefined);\n\n const period = usePeriodWithReset({\n initialSelectedFrom: dateFrom ? parseDateString(inputFromValue).getTime() : undefined,\n initialSelectedTo: dateTo ? parseDateString(inputToValue).getTime() : undefined,\n });\n\n const validateInputFromValue = useCallback(\n (value: string) => isValidInputValue(value, minDate, dateFrom || maxDate, offDays),\n [dateFrom, maxDate, minDate, offDays],\n );\n\n const validateInputToValue = useCallback(\n (value: string) => isValidInputValue(value, dateFrom || minDate, maxDate, offDays),\n\n [dateFrom, minDate, maxDate, offDays],\n );\n\n const [inputFromInvalid, setInputFromInvalid] = useState<boolean>(\n isCompleteDateInput(inputFromValue) && dateFrom === null,\n );\n\n const [inputToInvalid, setInputToInvalid] = useState<boolean>(\n isCompleteDateInput(inputToValue) && dateTo === null,\n );\n\n const hasValidateError = bothInvalid || inputFromInvalid || inputToInvalid;\n const {\n calendarProps: calendarFromProps,\n onInputChange: onInputChangeFrom,\n ...dateInputFromProps\n } = inputFromProps;\n const {\n calendarProps: calendarToProps,\n onInputChange: onInputChangeTo,\n ...dateInputToProps\n } = inputToProps;\n\n const { monthFrom, monthTo, handleMonthFromChange, handleMonthToChange } = useStaticViewMonthes(\n {\n selectedFrom: period.selectedFrom,\n selectedTo: period.selectedTo,\n defaultMonth,\n defaultMonthPosition,\n },\n );\n\n const handleValidInputFrom = useCallback(() => {\n setInputFromInvalid(inputFromValue !== '' && !validateInputFromValue(inputFromValue));\n }, [inputFromValue, validateInputFromValue]);\n\n const handleValidInputTo = useCallback(() => {\n setInputToInvalid(inputToValue !== '' && !validateInputToValue(inputToValue));\n }, [inputToValue, validateInputToValue]);\n\n const handleInputFromChange: Required<DateInputProps>['onChange'] = (event, payload) => {\n setInputFromValue(payload.value);\n onInputChangeFrom?.(event, payload);\n };\n\n const handleInputToChange: Required<DateInputProps>['onChange'] = (event, payload) => {\n setInputToValue(payload.value);\n onInputChangeTo?.(event, payload);\n };\n\n const handleMouseOver = useCallback((event: MouseEvent<HTMLDivElement>) => {\n const target = event.target as HTMLElement;\n\n const mouseOverDayButton = isDayButton(target) || isDayButton(target.parentElement);\n\n let date;\n\n if (mouseOverDayButton) {\n const button =\n target.tagName === 'BUTTON' ? target : (target.parentElement as HTMLButtonElement);\n\n if (button.dataset.date) {\n date = +button.dataset.date;\n }\n }\n\n setHighlightedDate(date);\n }, []);\n\n const handleClearFrom = useCallback(() => {\n setInputFromValue('');\n }, []);\n\n const handleClearTo = useCallback(() => {\n setInputToValue('');\n }, []);\n\n useEffect(() => {\n setInputFromValue(period.selectedFrom ? formatDate(period.selectedFrom) : '');\n }, [period.selectedFrom]);\n\n useEffect(() => {\n setInputToValue(period.selectedTo ? formatDate(period.selectedTo) : '');\n }, [period.selectedTo]);\n\n useEffect(() => {\n setInputFromValue(valueFrom);\n }, [valueFrom]);\n\n useEffect(() => {\n setInputToValue(valueTo);\n }, [valueTo]);\n\n useEffect(() => {\n if (!inputFromValue || isCompleteDateInput(inputFromValue)) {\n handleValidInputFrom();\n }\n\n period.setStart(dateFrom || undefined);\n if (dateTo) {\n period.setEnd(dateTo);\n }\n\n if (inputFromValue !== valueFrom) {\n onDateFromChange({\n value: inputFromValue,\n date: dateFrom,\n });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputFromValue]);\n\n useEffect(() => {\n if (!inputToValue || isCompleteDateInput(inputToValue)) {\n handleValidInputTo();\n }\n\n period.setEnd(dateTo || undefined);\n if (dateFrom) {\n period.setStart(dateFrom);\n }\n\n if (inputToValue !== valueTo) {\n // eslint-disable-next-line no-nested-ternary\n const inputDateTo = returnInvalidDates\n ? isCompleteDateInput(inputToValue)\n ? parseDateString(inputToValue).getTime()\n : null\n : dateTo;\n\n onDateToChange({\n value: inputToValue,\n date: inputDateTo,\n });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo: inputDateTo,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputToValue]);\n\n useEffect(() => {\n if (onError) {\n onError(hasValidateError);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasValidateError]);\n\n const rangeProps = useSelectionProps(period.selectedFrom, period.selectedTo, highlightedDate);\n\n const CalendarFromComponent = dateInputFromProps.Calendar || CalendarDesktop;\n const CalendarToComponent = dateInputToProps.Calendar || CalendarDesktop;\n\n const minMaxInSameMonth = minDate && maxDate && isSameMonth(minDate, maxDate);\n\n return (\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n <div\n className={cn(styles.component, styles.static, className)}\n onMouseOver={handleMouseOver}\n data-test-id={dataTestId}\n >\n <div>\n <DateInput\n {...dateInputFromProps}\n mobileMode={\n dateInputFromProps.mobileMode === 'popover'\n ? 'input'\n : dateInputFromProps.mobileMode\n }\n value={inputFromValue}\n onChange={handleInputFromChange}\n onClear={handleClearFrom}\n onBlur={handleValidInputFrom}\n error={bothInvalid || inputFromInvalid || dateInputFromProps.error}\n clear={true}\n block={true}\n />\n <div\n className={cn(styles.calendarContainer, calendarContainerClassName)}\n data-test-id={getDataTestId(dataTestId, 'container-from')}\n >\n <CalendarFromComponent\n {...calendarFromProps}\n className={cn(styles.calendar, calendarFromProps?.className)}\n month={monthFrom}\n selectorView='month-only'\n offDays={offDays}\n events={events}\n onChange={period.updatePeriod}\n onMonthChange={handleMonthFromChange}\n minDate={minDate}\n maxDate={\n minMaxInSameMonth\n ? maxDate\n : maxDate &&\n max([maxDate, endOfMonth(subMonths(maxDate, 1))]).getTime()\n }\n {...rangeProps}\n />\n </div>\n </div>\n\n <Divider inputFromProps={inputFromProps} inputToProps={inputToProps} />\n\n <div>\n <DateInput\n {...dateInputToProps}\n mobileMode={\n dateInputToProps.mobileMode === 'popover'\n ? 'input'\n : dateInputToProps.mobileMode\n }\n value={inputToValue}\n onChange={handleInputToChange}\n onClear={handleClearTo}\n onBlur={handleValidInputTo}\n error={bothInvalid || inputToInvalid || dateInputToProps.error}\n clear={true}\n block={true}\n />\n <div data-test-id={getDataTestId(dataTestId, 'container-to')}>\n <CalendarToComponent\n {...calendarToProps}\n className={cn(styles.calendar, calendarToProps?.className)}\n month={monthTo}\n selectorView='month-only'\n offDays={offDays}\n events={events}\n onChange={period.updatePeriod}\n onMonthChange={handleMonthToChange}\n minDate={\n minMaxInSameMonth\n ? minDate\n : minDate && startOfMonth(addMonths(minDate, 1)).getTime()\n }\n maxDate={maxDate}\n {...rangeProps}\n />\n </div>\n </div>\n </div>\n );\n};\n"],"names":["startOfMonth","useState","isValidInputValue","parseDateString","isCompleteDateInput","usePeriodWithReset","useCallback","__rest","useStaticViewMonthes","isDayButton","useEffect","formatDate","useSelectionProps","CalendarDesktop","isSameMonth","React","cn","styles","DateInput","__assign","getDataTestId","max","endOfMonth","subMonths","Divider","addMonths"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"static.js","sources":["../src/views/static.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { type FC, type MouseEvent, useCallback, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport addMonths from 'date-fns/addMonths';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport isSameMonth from 'date-fns/isSameMonth';\nimport max from 'date-fns/max';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport subMonths from 'date-fns/subMonths';\n\nimport { CalendarDesktop } from '@alfalab/core-components-calendar/desktop';\nimport { usePeriodWithReset } from '@alfalab/core-components-calendar/shared';\nimport {\n formatDate,\n isValidInputValue,\n parseDateString,\n} from '@alfalab/core-components-calendar-input/shared';\nimport {\n DateInput,\n type DateInputProps,\n isCompleteDateInput,\n} from '@alfalab/core-components-date-input';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { type CalendarRangeProps } from '../Component';\nimport { Divider } from '../components/divider';\nimport { useSelectionProps, useStaticViewMonthes } from '../hooks';\nimport { isDayButton } from '../utils';\n\nimport styles from './index.module.css';\n\nexport type CalendarRangeStaticProps = Omit<CalendarRangeProps, 'calendarPosition'> & {\n /**\n * Отображать начальный месяц слева или справа (влияет только на начальный рендер)\n */\n defaultMonthPosition?: 'left' | 'right';\n};\n\nexport const CalendarRangeStatic: FC<CalendarRangeStaticProps> = ({\n className,\n defaultMonth = startOfMonth(new Date()).getTime(),\n defaultMonthPosition = 'left',\n minDate,\n maxDate,\n valueFrom = '',\n valueTo = '',\n onDateFromChange = () => null,\n onDateToChange = () => null,\n onChange = () => null,\n onError,\n inputFromProps = {},\n inputToProps = {},\n offDays,\n events,\n returnInvalidDates = false,\n dataTestId,\n calendarContainerClassName,\n}) => {\n const [inputFromValue, setInputFromValue] = useState<string>(valueFrom);\n const [inputToValue, setInputToValue] = useState<string>(valueTo);\n\n let dateFrom = isValidInputValue(inputFromValue, minDate, maxDate, offDays)\n ? parseDateString(inputFromValue).getTime()\n : null;\n\n const dateTo = isValidInputValue(inputToValue, dateFrom || minDate, maxDate, offDays)\n ? parseDateString(inputToValue).getTime()\n : null;\n\n if (isCompleteDateInput(inputToValue) && !dateTo && !returnInvalidDates) {\n dateFrom = null;\n }\n\n const bothInvalid =\n isCompleteDateInput(inputFromValue) &&\n isCompleteDateInput(inputToValue) &&\n parseDateString(inputFromValue).getTime() > parseDateString(inputToValue).getTime();\n\n const [highlightedDate, setHighlightedDate] = useState<number | undefined>(undefined);\n\n const period = usePeriodWithReset({\n initialSelectedFrom: dateFrom ? parseDateString(inputFromValue).getTime() : undefined,\n initialSelectedTo: dateTo ? parseDateString(inputToValue).getTime() : undefined,\n });\n\n const validateInputFromValue = useCallback(\n (value: string) => isValidInputValue(value, minDate, dateFrom || maxDate, offDays),\n [dateFrom, maxDate, minDate, offDays],\n );\n\n const validateInputToValue = useCallback(\n (value: string) => isValidInputValue(value, dateFrom || minDate, maxDate, offDays),\n\n [dateFrom, minDate, maxDate, offDays],\n );\n\n const [inputFromInvalid, setInputFromInvalid] = useState<boolean>(\n isCompleteDateInput(inputFromValue) && dateFrom === null,\n );\n\n const [inputToInvalid, setInputToInvalid] = useState<boolean>(\n isCompleteDateInput(inputToValue) && dateTo === null,\n );\n\n const hasValidateError = bothInvalid || inputFromInvalid || inputToInvalid;\n const {\n calendarProps: calendarFromProps,\n onInputChange: onInputChangeFrom,\n ...dateInputFromProps\n } = inputFromProps;\n const {\n calendarProps: calendarToProps,\n onInputChange: onInputChangeTo,\n ...dateInputToProps\n } = inputToProps;\n\n const { monthFrom, monthTo, handleMonthFromChange, handleMonthToChange } = useStaticViewMonthes(\n {\n selectedFrom: period.selectedFrom,\n selectedTo: period.selectedTo,\n defaultMonth,\n defaultMonthPosition,\n },\n );\n\n const handleValidInputFrom = useCallback(() => {\n setInputFromInvalid(inputFromValue !== '' && !validateInputFromValue(inputFromValue));\n }, [inputFromValue, validateInputFromValue]);\n\n const handleValidInputTo = useCallback(() => {\n setInputToInvalid(inputToValue !== '' && !validateInputToValue(inputToValue));\n }, [inputToValue, validateInputToValue]);\n\n const handleInputFromChange: Required<DateInputProps>['onChange'] = (event, payload) => {\n setInputFromValue(payload.value);\n onInputChangeFrom?.(event, payload);\n };\n\n const handleInputToChange: Required<DateInputProps>['onChange'] = (event, payload) => {\n setInputToValue(payload.value);\n onInputChangeTo?.(event, payload);\n };\n\n const handleMouseOver = useCallback((event: MouseEvent<HTMLDivElement>) => {\n const target = event.target as HTMLElement;\n\n const mouseOverDayButton = isDayButton(target) || isDayButton(target.parentElement);\n\n let date;\n\n if (mouseOverDayButton) {\n const button =\n target.tagName === 'BUTTON' ? target : (target.parentElement as HTMLButtonElement);\n\n if (button.dataset.date) {\n date = +button.dataset.date;\n }\n }\n\n setHighlightedDate(date);\n }, []);\n\n const handleClearFrom = useCallback(() => {\n setInputFromValue('');\n }, []);\n\n const handleClearTo = useCallback(() => {\n setInputToValue('');\n }, []);\n\n useEffect(() => {\n setInputFromValue(period.selectedFrom ? formatDate(period.selectedFrom) : '');\n }, [period.selectedFrom]);\n\n useEffect(() => {\n setInputToValue(period.selectedTo ? formatDate(period.selectedTo) : '');\n }, [period.selectedTo]);\n\n useEffect(() => {\n setInputFromValue(valueFrom);\n }, [valueFrom]);\n\n useEffect(() => {\n setInputToValue(valueTo);\n }, [valueTo]);\n\n useEffect(() => {\n if (!inputFromValue || isCompleteDateInput(inputFromValue)) {\n handleValidInputFrom();\n }\n\n period.setStart(dateFrom || undefined);\n if (dateTo) {\n period.setEnd(dateTo);\n }\n\n if (inputFromValue !== valueFrom) {\n onDateFromChange({\n value: inputFromValue,\n date: dateFrom,\n });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputFromValue]);\n\n useEffect(() => {\n if (!inputToValue || isCompleteDateInput(inputToValue)) {\n handleValidInputTo();\n }\n\n period.setEnd(dateTo || undefined);\n if (dateFrom) {\n period.setStart(dateFrom);\n }\n\n if (inputToValue !== valueTo) {\n // eslint-disable-next-line no-nested-ternary\n const inputDateTo = returnInvalidDates\n ? isCompleteDateInput(inputToValue)\n ? parseDateString(inputToValue).getTime()\n : null\n : dateTo;\n\n onDateToChange({\n value: inputToValue,\n date: inputDateTo,\n });\n\n onChange({\n valueFrom: inputFromValue,\n valueTo: inputToValue,\n dateFrom,\n dateTo: inputDateTo,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputToValue]);\n\n useEffect(() => {\n if (onError) {\n onError(hasValidateError);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasValidateError]);\n\n const rangeProps = useSelectionProps(period.selectedFrom, period.selectedTo, highlightedDate);\n\n const CalendarFromComponent = dateInputFromProps.Calendar || CalendarDesktop;\n const CalendarToComponent = dateInputToProps.Calendar || CalendarDesktop;\n\n const minMaxInSameMonth = minDate && maxDate && isSameMonth(minDate, maxDate);\n\n return (\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n <div\n className={cn(styles.component, styles.static, className)}\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n onMouseOver={handleMouseOver}\n data-test-id={dataTestId}\n >\n <div>\n <DateInput\n {...dateInputFromProps}\n mobileMode={\n dateInputFromProps.mobileMode === 'popover'\n ? 'input'\n : dateInputFromProps.mobileMode\n }\n value={inputFromValue}\n onChange={handleInputFromChange}\n onClear={handleClearFrom}\n onBlur={handleValidInputFrom}\n error={bothInvalid || inputFromInvalid || dateInputFromProps.error}\n clear={true}\n block={true}\n />\n <div\n className={cn(styles.calendarContainer, calendarContainerClassName)}\n data-test-id={getDataTestId(dataTestId, 'container-from')}\n >\n <CalendarFromComponent\n {...calendarFromProps}\n className={cn(styles.calendar, calendarFromProps?.className)}\n month={monthFrom}\n selectorView='month-only'\n offDays={offDays}\n events={events}\n onChange={period.updatePeriod}\n onMonthChange={handleMonthFromChange}\n minDate={minDate}\n maxDate={\n minMaxInSameMonth\n ? maxDate\n : maxDate &&\n max([maxDate, endOfMonth(subMonths(maxDate, 1))]).getTime()\n }\n {...rangeProps}\n />\n </div>\n </div>\n\n <Divider inputFromProps={inputFromProps} inputToProps={inputToProps} />\n\n <div>\n <DateInput\n {...dateInputToProps}\n mobileMode={\n dateInputToProps.mobileMode === 'popover'\n ? 'input'\n : dateInputToProps.mobileMode\n }\n value={inputToValue}\n onChange={handleInputToChange}\n onClear={handleClearTo}\n onBlur={handleValidInputTo}\n error={bothInvalid || inputToInvalid || dateInputToProps.error}\n clear={true}\n block={true}\n />\n <div data-test-id={getDataTestId(dataTestId, 'container-to')}>\n <CalendarToComponent\n {...calendarToProps}\n className={cn(styles.calendar, calendarToProps?.className)}\n month={monthTo}\n selectorView='month-only'\n offDays={offDays}\n events={events}\n onChange={period.updatePeriod}\n onMonthChange={handleMonthToChange}\n minDate={\n minMaxInSameMonth\n ? minDate\n : minDate && startOfMonth(addMonths(minDate, 1)).getTime()\n }\n maxDate={maxDate}\n {...rangeProps}\n />\n </div>\n </div>\n </div>\n );\n};\n"],"names":["startOfMonth","useState","isValidInputValue","parseDateString","isCompleteDateInput","usePeriodWithReset","useCallback","__rest","useStaticViewMonthes","isDayButton","useEffect","formatDate","useSelectionProps","CalendarDesktop","isSameMonth","React","cn","styles","DateInput","__assign","getDataTestId","max","endOfMonth","subMonths","Divider","addMonths"],"mappings":"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"}
|