@consta/uikit 4.27.0 → 4.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChipsCanary/index.d.ts +1 -0
- package/ChipsCanary/index.js +1 -0
- package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
- package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
- package/__internal__/src/components/BadgeGroup/helper.d.ts +0 -1
- package/__internal__/src/components/BadgeGroup/helper.js +1 -1
- package/__internal__/src/components/BadgeGroup/helper.js.map +1 -1
- package/__internal__/src/components/Button/Button.css +1 -1
- package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/helper.d.ts +3 -1
- package/__internal__/src/components/CheckboxGroup/helper.js +1 -1
- package/__internal__/src/components/CheckboxGroup/helper.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/types.d.ts +9 -1
- package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
- package/__internal__/src/components/ChipsCanary/Chips.css +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsCanary.d.ts +3 -0
- package/__internal__/src/components/ChipsCanary/ChipsCanary.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsCanary.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.d.ts +4 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/index.d.ts +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/index.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/index.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/types.d.ts +29 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/types.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsChoice/types.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.css +3 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.d.ts +3 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/index.d.ts +1 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/index.js +2 -0
- package/__internal__/src/components/ChipsCanary/ChipsItem/index.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/helpers.d.ts +39 -0
- package/__internal__/src/components/ChipsCanary/helpers.js +2 -0
- package/__internal__/src/components/ChipsCanary/helpers.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/index.d.ts +4 -0
- package/__internal__/src/components/ChipsCanary/index.js +2 -0
- package/__internal__/src/components/ChipsCanary/index.js.map +1 -0
- package/__internal__/src/components/ChipsCanary/types.d.ts +62 -0
- package/__internal__/src/components/ChipsCanary/types.js +2 -0
- package/__internal__/src/components/ChipsCanary/types.js.map +1 -0
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.d.ts +7 -9
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/helper.d.ts +3 -1
- package/__internal__/src/components/ChoiceGroup/helper.js +1 -1
- package/__internal__/src/components/ChoiceGroup/helper.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/types.d.ts +7 -1
- package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
- package/__internal__/src/components/ComboboxCanary/helpers.d.ts +4 -0
- package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.js +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -54
- package/__internal__/src/components/ListCanary/ListCanary.js +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
- package/__internal__/src/components/ListCanary/index.d.ts +1 -0
- package/__internal__/src/components/ListCanary/index.js +1 -1
- package/__internal__/src/components/ListCanary/index.js.map +1 -1
- package/__internal__/src/components/ListCanary/renderHeader.d.ts +4 -0
- package/__internal__/src/components/ListCanary/renderHeader.js +2 -0
- package/__internal__/src/components/ListCanary/renderHeader.js.map +1 -0
- package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -1
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.d.ts +1 -0
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js +1 -1
- package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +2 -2
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.d.ts +2 -2
- package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js.map +1 -1
- package/__internal__/src/hooks/useGlobalKeys/useGlobalKeys.d.ts +1 -1
- package/__internal__/src/hooks/useGlobalKeys/useGlobalKeys.js.map +1 -1
- package/__internal__/src/hooks/useKeysCanary/index.d.ts +1 -0
- package/__internal__/src/hooks/useKeysCanary/index.js +2 -0
- package/__internal__/src/hooks/useKeysCanary/index.js.map +1 -0
- package/__internal__/src/hooks/useKeysCanary/useKeysCanary.d.ts +12 -0
- package/__internal__/src/hooks/useKeysCanary/useKeysCanary.js +2 -0
- package/__internal__/src/hooks/useKeysCanary/useKeysCanary.js.map +1 -0
- package/__internal__/src/hooks/useKeysRef/useKeysRef.d.ts +2 -1
- package/__internal__/src/hooks/useKeysRef/useKeysRef.js +1 -1
- package/__internal__/src/hooks/useKeysRef/useKeysRef.js.map +1 -1
- package/__internal__/src/utils/stand.d.ts +1 -0
- package/__internal__/src/utils/stand.js +2 -0
- package/__internal__/src/utils/stand.js.map +1 -0
- package/package.json +1 -1
- package/useKeysCanary/index.d.ts +1 -0
- package/useKeysCanary/index.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","on","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"sfAAA,MAAOA,UAAP,KAAsB,oBAAtB,CACA,MAAOC,aAAP,KAAyB,uBAAzB,CACA,MAAOC,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,MAJF,CAKEC,QALF,KAMO,OANP,CAQA,OAASC,eAAT,sDACA,OAASC,UAAT,4CACA,OACEC,kBADF,gDAIA,OAASC,4BAAT,oEACA,OACEC,iBADF,CAEEC,YAFF,CAGEC,mBAHF,kBAKA,OACEC,iCADF,gBAIA,OAASC,kBAAT,6BACA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,wBAA8D,CACzEf,UAAU,CAAC,SAACgB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAoBrBF,CApBqB,CAEvBE,MAFuB,GAoBrBF,CApBqB,CAGvBG,YAHuB,CAGvBA,CAHuB,YAGRP,iCAHQ,GAIvBQ,CAJuB,CAoBrBJ,CApBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAoBrBL,CApBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAoBrBN,CApBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAoBrBP,CApBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAoBrBR,CApBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAoBrBT,CApBqB,CASvBS,SATuB,CAUHC,CAVG,CAoBrBV,CApBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAoBrBZ,CApBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAoBrBb,CApBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAoBrBd,CApBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAoBrBf,CApBqB,CAcvBe,iBAduB,CAevBC,CAfuB,CAoBrBhB,CApBqB,CAevBgB,IAfuB,CAgBvBC,CAhBuB,CAoBrBjB,CApBqB,CAgBvBiB,cAhBuB,CAiBvBC,CAjBuB,CAoBrBlB,CApBqB,CAiBvBkB,YAjBuB,CAkBvBC,CAlBuB,CAoBrBnB,CApBqB,CAkBvBmB,uBAlBuB,CAmBpBC,CAnBoB,0BAoBrBpB,CApBqB,YAsBnBqB,CAAa,CAAGlC,MAAM,CAAiB,IAAjB,CAtBH,CAuBnBmC,CAAW,CAAGnC,MAAM,CAAiB,IAAjB,CAvBD,CAwBnBoC,CAAkB,CAAGpC,MAAM,CAAmB,IAAnB,CAxBR,CAyBnBqC,CAAgB,CAAGrC,MAAM,CAAmB,IAAnB,CAzBN,CA0BnBsC,CAAW,CAAGtC,MAAM,CAAiB,IAAjB,CA1BD,GA4BeC,QAAQ,IA5BvB,uBA4BlBsC,CA5BkB,MA4BJC,CA5BI,MAgCnBC,CAAY,CAAoB,OAAjB,GAAAF,CAhCI,CAiCnBG,CAAU,CAAoB,KAAjB,GAAAH,CAjCM,GAkDqB7B,kBAAkB,CAAC,CAC/DqB,YAAY,CAAZA,CAD+D,CAE/DD,cAAc,CAAdA,CAF+D,CAG/Da,QAAQ,CAAEP,CAHqD,CAI/DQ,MAAM,CAAEP,CAJuD,CAAD,CAlDvC,uBAkDlBQ,CAlDkB,MAkDDC,CAlDC,QAyD2BnC,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExEwB,OAAO,CAAElC,CAAK,CAACkC,OAFyD,CAGxEC,OAAO,CAAEnC,CAAK,CAACmC,OAHyD,CAIxEC,KAAK,CAAEpC,CAAK,CAACoC,KAJ2D,CAKxEC,WAAW,CAAEvD,YAL2D,CAMxE8B,0BAA0B,CAA1BA,CANwE,CAOxEoB,eAAe,CAAfA,CAPwE,CAAD,CAzDhD,uBAyDlBrB,CAzDkB,MAyDE2B,CAzDF,MA0IzB,MAtDApD,UAAS,CAAC,UAAM,SACd,GAAI,UAAAc,CAAK,CAACoC,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAAjC,CAApB,EAAkDyB,CAAtD,CAAoE,CAClE,GAAMW,EAAc,CAAGzD,YAAY,CAACkB,CAAK,CAACoC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAIA,YAHIG,CAAc,CAACC,OAAf,aAA6B7B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE6B,OAApB,EAA7B,CAGJ,EAFEF,CAAqB,CAACC,CAAD,CAEvB,CACD,CACD,GAAI,UAAAvC,CAAK,CAACoC,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAAjC,CAApB,EAAkDyB,CAAtD,CAAoE,CAClE,GAAMW,EAAc,CAAGzD,YAAY,CAACkB,CAAK,CAACoC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAEEG,CAAc,CAACC,OAAf,aAA6B7B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE6B,OAApB,EAA7B,GACAD,CAAc,CAACC,OAAf,MACG7B,CAAkB,EAAI9B,SAAS,CAAC8B,CAAD,CAAqB,CAArB,CAAT,CAAiC6B,OAAjC,EADzB,CAJgE,EAOhEF,CAAqB,CAACC,CAAD,CAExB,CACF,CAlBQ,CAkBN,WAACvC,CAAK,CAACoC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CJ,CAA/C,CAlBM,CAsDT,CAlCA1C,SAAS,CAAC,UAAM,SACd,GAAI,UAAAc,CAAK,CAACoC,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAAjC,CAApB,EAAkD0B,CAAtD,CAAkE,CAChE,GAAMU,EAAc,CAAGzD,YAAY,CAACkB,CAAK,CAACoC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAIA,YAHIG,CAAc,CAACC,OAAf,aAA6B7B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE6B,OAApB,EAA7B,CAGJ,EAFEF,CAAqB,CAACC,CAAD,CAEvB,CACD,CACD,GAAI,UAAAvC,CAAK,CAACoC,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAAjC,CAApB,EAAkD0B,CAAtD,CAAkE,CAChE,GAAMU,EAAc,CAAGzD,YAAY,CAACkB,CAAK,CAACoC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAEEG,CAAc,CAACC,OAAf,aAA6B7B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE6B,OAApB,EAA7B,GACAD,CAAc,CAACC,OAAf,MACG7B,CAAkB,EAAI9B,SAAS,CAAC8B,CAAD,CAAqB,CAArB,CAAT,CAAiC6B,OAAjC,EADzB,CAJ8D,EAO9DF,CAAqB,CAACzD,SAAS,CAAC0D,CAAD,CAAiB,CAAC,CAAlB,CAAV,CAExB,CACF,CAlBQ,CAkBN,WAACvC,CAAK,CAACoC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CH,CAA/C,CAlBM,CAkCT,CAdAxC,eAAe,CAAC,CACdoD,QAAQ,CAAET,CADI,CAEdU,sBAAsB,EACpBrB,CADoB,CAEpBC,CAFoB,CAGpBG,CAHoB,mCAIhBN,CAJgB,WAIhBA,CAJgB,CAIhBA,CAJgB,CAIW,EAJX,EAFR,CAQdwB,OAAO,CAAE1D,WAAW,CAAC,UAAM,CACzB0C,CAAe,IADU,CAEzBM,CAAkB,CAACW,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CARN,CAAD,CAcf,CACE,wCACE,oBAAC,4BAAD,kBACMxB,CADN,EAEE,GAAG,CAAEnB,CAFP,CAGE,aAAa,CAAEoB,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAEhC,UAAU,CAAC,CAACiC,CAAD,QAAqBT,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAExB,UAAU,CAAC,CAACkC,CAAD,QAAmBV,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CA1EU,QAA3B+B,yBAA2B,CAACC,CAAD,CAAsC,OACrEnB,CAAe,CAAC,OAAD,CADsD,CAErEoB,KAAK,CAACC,OAAN,CAAc1C,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMwC,CAAN,CAAhC,QAA2CxC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGwC,CAAH,CACnD,CAgEG,CAQE,eAAe,CAtEU,QAAzBG,uBAAyB,CAACH,CAAD,CAAsC,OACnEnB,CAAe,CAAC,KAAD,CADoD,CAEnEoB,KAAK,CAACC,OAAN,CAAc1C,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMwC,CAAN,CAAhC,QAA2CxC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGwC,CAAH,CACnD,CA2DG,CASE,kBAAkB,CAChBC,KAAK,CAACC,OAAN,CAAcxC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjBuC,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAEsC,KAAK,CAACC,OAAN,CAAcxC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACfuC,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CA5FU,QAA1ByC,wBAA0B,CAACJ,CAAD,cAC9BC,MAAK,CAACC,OAAN,CAAczC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMuC,CAAN,CAA9B,QAAyCvC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGuC,CAAH,CADjB,CAyE5B,CAoBE,iBAAiB,CAAEb,CAAkB,CAACkB,EApBxC,CAqBE,eAAe,CAAElB,CAAkB,CAACkB,EArBtC,CAsBE,cAAc,CA5FU,QAAxBC,sBAAwB,CAACN,CAAD,cAC5BC,MAAK,CAACC,OAAN,CAAczC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMuC,CAAN,CAA9B,QAAyCvC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGuC,CAAH,CADnB,CAsE1B,CAuBE,YAAY,CAAElB,CAvBhB,CAwBE,UAAU,CAAEC,CAxBd,CAyBE,cAAc,CAAEnC,YAAY,CAACsB,CAAD,CAAO,CAAP,CAzB9B,CA0BE,YAAY,CAAEtB,YAAY,CAACsB,CAAD,CAAO,CAAP,CA1B5B,GADF,CA6BE,oBAAC,kBAAD,EACE,IAAI,CAAC,MADP,CAEE,GAAG,CAAES,CAFP,CAGE,SAAS,CAAEJ,CAHb,CAIE,SAAS,CAAEN,CAJb,CAKE,MAAM,CAAEiB,CALV,CAME,0BAA0B,CAAEM,CAN9B,CAOE,kBAAkB,CAAE3B,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAACoC,KAAN,QART,CASE,IAAI,CAAEjC,CATR,CAUE,MAAM,CAAED,CAVV,CAWE,MAAM,CAAEE,CAXV,CAYE,OAAO,CAAEJ,CAAK,CAACmC,OAZjB,CAaE,OAAO,CAAEnC,CAAK,CAACkC,OAbjB,CAcE,IAAI,CAAE7B,CAdR,CAeE,QAAQ,CApJsC,QAA9CgD,YAA8C,GAAkB,IAAfP,EAAe,GAAfA,CAAe,CAAZV,CAAY,GAAZA,KAAY,CACpE,GAAIR,CAAJ,CAAkB,mBAChB5B,CAAK,CAACsD,QADU,qBAChB,OAAAtD,CAAK,CAAY,CACf8C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEzC,mBAAmB,CAAC,CAACyC,CAAD,QAAQpC,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAEoC,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CAFX,CAAZ,CAIN,CACD,GAAIP,CAAJ,CAAgB,mBACd7B,CAAK,CAACsD,QADQ,qBACd,OAAAtD,CAAK,CAAY,CACf8C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEzC,mBAAmB,CAAC,QAACK,CAAD,WAACA,CAAD,YAACA,CAAK,CAAEoC,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CAFX,CAAZ,CAIN,CACF,CAwHG,CAgBE,wBAAwB,CAAEvB,CAhB5B,CAiBE,MAAM,CAAEpB,iBAAiB,CAACO,CAAK,CAACuD,KAAP,CAjB3B,EA7BF,CAkDH,CA7LS,CADL"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.multiplicityHours,l=a.multiplicityMinutes,m=a.multiplicitySeconds,n=a.renderAdditionalControls,o=a.onDropdownOpen,p=a.dropdownOpen,q=a.ignoreOutsideClicksRefs,r=_objectWithoutProperties(a,_excluded),s=getMultiplicityTime(r.format||datePickerPropFormatTypeDateTime,k,l,m),t=_slicedToArray(s,3),u=t[0],v=t[1],w=t[2],x=useRef(null),y=useRef(null),z=useRef(null),A=useCalendarVisible({dropdownOpen:p,onDropdownOpen:o,startRef:z}),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:j,calendarVisible:C}),F=_slicedToArray(E,2),G=F[0],H=F[1];return useEffect(function(){b&&setRef(b,x.current)},[b,x]),useEffect(function(){if(a.value&&"classic"===e&&G){var b=startOfMonth(a.value);return void(b.getTime()!==G.getTime()&&H(b))}if(a.value&&"classic"!==e&&G){var c=startOfMonth(a.value);c.getTime()!==G.getTime()&&c.getTime()!==addMonths(G,1).getTime()&&H(c)}},[a.value]),useClickOutside({isActive:C,ignoreClicksInsideRefs:[x,y].concat(_toConsumableArray(null!==q&&void 0!==q?q:[])),handler:D.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTime,Object.assign({},r,{ref:x,inputRef:z,onClick:D.on,multiplicityHours:u,multiplicitySeconds:w,multiplicityMinutes:v})),React.createElement(DatePickerDropdown,{ref:y,anchorRef:x,isOpen:C,value:a.value||void 0,type:"date-time",view:e,events:c,className:h,locale:f,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:G,form:g,onChange:a.onChange,renderAdditionalControls:n,onChangeCurrentVisibleDate:H,multiplicityHours:u,multiplicitySeconds:w,multiplicityMinutes:v,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDateTime.js.map
|
package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTime","props","ref","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","format","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTime\n {...otherProps}\n ref={fieldRef}\n inputRef={inputRef}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date-time\"\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTimeRange}from"../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTimeRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.name,u=a.multiplicityMinutes,v=a.dropdownClassName,w=a.multiplicitySeconds,x=a.multiplicityHours,y=a.onDropdownOpen,z=a.dropdownOpen,A=a.ignoreOutsideClicksRefs,B=_objectWithoutProperties(a,_excluded),C=useRef(null),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useState(!1),I=_slicedToArray(H,2),J=I[0],K=I[1],L="start"===J,M="end"===J,N=useCalendarVisible({dropdownOpen:z,onDropdownOpen:y,startRef:E,endRef:F}),O=_slicedToArray(N,2),P=O[0],Q=O[1],R=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:P}),S=_slicedToArray(R,2),T=S[0],U=S[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&L){var c=startOfMonth(a.value[0]);c.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),P,L]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&M){var c=startOfMonth(a.value[1]);c.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),P,M]),useClickOutside({isActive:P,ignoreClicksInsideRefs:[C,D,G].concat(_toConsumableArray(null!==A&&void 0!==A?A:[])),handler:useCallback(function(){K(!1),Q.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},B,{ref:b,startFieldRef:C,endFieldRef:D,startFieldInputRef:useForkRef([E,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([F,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;K("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;K("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:Q.on,endFieldOnClick:Q.on,startFocused:L,endFocused:M,startFieldName:getFieldName(t,0),endFieldName:getFieldName(t,1)})),React.createElement(DatePickerDropdown,{type:"date-time",ref:G,anchorRef:C,isOpen:P,className:v,onChangeCurrentVisibleDate:U,currentVisibleDate:T,value:a.value||void 0,timeFor:J||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(L){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(M){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:r,multiplicityMinutes:u,multiplicitySeconds:w,multiplicityHours:x,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDateTimeRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"sjBAAA,MAAOA,aAAP,KAAyB,uBAAzB,CACA,MAAOC,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,MAJF,CAKEC,QALF,KAMO,OANP,CAQA,OAASC,eAAT,sDACA,OAASC,UAAT,4CACA,OACEC,kBADF,gDAIA,OAASC,gCAAT,4EACA,OACEC,iBADF,CAEEC,YAFF,CAGEC,mBAHF,kBAKA,OACEC,iCADF,gBAIA,OAASC,kBAAT,6BACA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,4BAAuE,CAClFf,UAAU,CAAC,SAACgB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAuBrBF,CAvBqB,CAEvBE,MAFuB,GAuBrBF,CAvBqB,CAGvBG,YAHuB,CAGvBA,CAHuB,YAGRP,iCAHQ,GAIvBQ,CAJuB,CAuBrBJ,CAvBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAuBrBL,CAvBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAuBrBN,CAvBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAuBrBP,CAvBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAuBrBR,CAvBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAuBrBT,CAvBqB,CASvBS,SATuB,CAUHC,CAVG,CAuBrBV,CAvBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAuBrBZ,CAvBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAuBrBb,CAvBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAuBrBd,CAvBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAuBrBf,CAvBqB,CAcvBe,IAduB,CAevBC,CAfuB,CAuBrBhB,CAvBqB,CAevBgB,mBAfuB,CAgBvBC,CAhBuB,CAuBrBjB,CAvBqB,CAgBvBiB,iBAhBuB,CAiBvBC,CAjBuB,CAuBrBlB,CAvBqB,CAiBvBkB,mBAjBuB,CAkBvBC,CAlBuB,CAuBrBnB,CAvBqB,CAkBvBmB,iBAlBuB,CAmBvBC,CAnBuB,CAuBrBpB,CAvBqB,CAmBvBoB,cAnBuB,CAoBvBC,CApBuB,CAuBrBrB,CAvBqB,CAoBvBqB,YApBuB,CAqBvBC,CArBuB,CAuBrBtB,CAvBqB,CAqBvBsB,uBArBuB,CAsBpBC,CAtBoB,0BAuBrBvB,CAvBqB,YAyBnBwB,CAAa,CAAGrC,MAAM,CAAiB,IAAjB,CAzBH,CA0BnBsC,CAAW,CAAGtC,MAAM,CAAiB,IAAjB,CA1BD,CA2BnBuC,CAAkB,CAAGvC,MAAM,CAAmB,IAAnB,CA3BR,CA4BnBwC,CAAgB,CAAGxC,MAAM,CAAmB,IAAnB,CA5BN,CA6BnByC,CAAW,CAAGzC,MAAM,CAAiB,IAAjB,CA7BD,GA+BeC,QAAQ,IA/BvB,uBA+BlByC,CA/BkB,MA+BJC,CA/BI,MAmCnBC,CAAY,CAAoB,OAAjB,GAAAF,CAnCI,CAoCnBG,CAAU,CAAoB,KAAjB,GAAAH,CApCM,GAqDqBhC,kBAAkB,CAAC,CAC/DwB,YAAY,CAAZA,CAD+D,CAE/DD,cAAc,CAAdA,CAF+D,CAG/Da,QAAQ,CAAEP,CAHqD,CAI/DQ,MAAM,CAAEP,CAJuD,CAAD,CArDvC,uBAqDlBQ,CArDkB,MAqDDC,CArDC,QA4D2BtC,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExE2B,OAAO,CAAErC,CAAK,CAACqC,OAFyD,CAGxEC,OAAO,CAAEtC,CAAK,CAACsC,OAHyD,CAIxEC,KAAK,CAAEvC,CAAK,CAACuC,KAJ2D,CAKxEC,WAAW,CAAE1D,YAL2D,CAMxE8B,0BAA0B,CAA1BA,CANwE,CAOxEuB,eAAe,CAAfA,CAPwE,CAAD,CA5DhD,uBA4DlBxB,CA5DkB,MA4DE8B,CA5DF,MAuHzB,MAhCAvD,UAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACuC,KAAN,iBAAc,CAAd,GAAoBR,CAAxB,CAAsC,CACpC,GAAMW,EAAc,CAAG5D,YAAY,CAACkB,CAAK,CAACuC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6BhC,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEgC,OAApB,EAA7B,CAFgC,EAGlCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAAC1C,CAAK,CAACuC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CJ,CAA/C,CAPM,CAgCT,CAvBA7C,SAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACuC,KAAN,iBAAc,CAAd,GAAoBP,CAAxB,CAAoC,CAClC,GAAMU,EAAc,CAAG5D,YAAY,CAACkB,CAAK,CAACuC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6BhC,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEgC,OAApB,EAA7B,CAF8B,EAGhCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAAC1C,CAAK,CAACuC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CH,CAA/C,CAPM,CAuBT,CAdA3C,eAAe,CAAC,CACduD,QAAQ,CAAET,CADI,CAEdU,sBAAsB,EACpBrB,CADoB,CAEpBC,CAFoB,CAGpBG,CAHoB,mCAIhBN,CAJgB,WAIhBA,CAJgB,CAIhBA,CAJgB,CAIW,EAJX,EAFR,CAQdwB,OAAO,CAAE7D,WAAW,CAAC,UAAM,CACzB6C,CAAe,IADU,CAEzBM,CAAkB,CAACW,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CARN,CAAD,CAcf,CACE,wCACE,oBAAC,gCAAD,kBACMxB,CADN,EAEE,GAAG,CAAEtB,CAFP,CAGE,aAAa,CAAEuB,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAEnC,UAAU,CAAC,CAACoC,CAAD,QAAqBZ,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAExB,UAAU,CAAC,CAACqC,CAAD,QAAmBb,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CApDU,QAA3BkC,yBAA2B,CAACC,CAAD,CAAsC,OACrEnB,CAAe,CAAC,OAAD,CADsD,CAErEoB,KAAK,CAACC,OAAN,CAAc7C,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAM2C,CAAN,CAAhC,QAA2C3C,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAG2C,CAAH,CACnD,CA0CG,CAQE,eAAe,CAhDU,QAAzBG,uBAAyB,CAACH,CAAD,CAAsC,OACnEnB,CAAe,CAAC,KAAD,CADoD,CAEnEoB,KAAK,CAACC,OAAN,CAAc7C,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAM2C,CAAN,CAAhC,QAA2C3C,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAG2C,CAAH,CACnD,CAqCG,CASE,kBAAkB,CAChBC,KAAK,CAACC,OAAN,CAAc3C,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjB0C,KAAK,CAACC,OAAN,CAAc1C,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAEyC,KAAK,CAACC,OAAN,CAAc3C,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACf0C,KAAK,CAACC,OAAN,CAAc1C,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CAtEU,QAA1B4C,wBAA0B,CAACJ,CAAD,cAC9BC,MAAK,CAACC,OAAN,CAAc5C,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAM0C,CAAN,CAA9B,QAAyC1C,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAG0C,CAAH,CADjB,CAmD5B,CAoBE,cAAc,CApEU,QAAxBK,sBAAwB,CAACL,CAAD,cAC5BC,MAAK,CAACC,OAAN,CAAc5C,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAM0C,CAAN,CAA9B,QAAyC1C,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAG0C,CAAH,CADnB,CAgD1B,CAqBE,iBAAiB,CAAEb,CAAkB,CAACmB,EArBxC,CAsBE,eAAe,CAAEnB,CAAkB,CAACmB,EAtBtC,CAuBE,YAAY,CAAExB,CAvBhB,CAwBE,UAAU,CAAEC,CAxBd,CAyBE,cAAc,CAAEtC,YAAY,CAACqB,CAAD,CAAO,CAAP,CAzB9B,CA0BE,YAAY,CAAErB,YAAY,CAACqB,CAAD,CAAO,CAAP,CA1B5B,GADF,CA6BE,oBAAC,kBAAD,EACE,IAAI,CAAC,WADP,CAEE,GAAG,CAAEa,CAFP,CAGE,SAAS,CAAEJ,CAHb,CAIE,MAAM,CAAEW,CAJV,CAKE,SAAS,CAAElB,CALb,CAME,0BAA0B,CAAEwB,CAN9B,CAOE,kBAAkB,CAAE9B,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAACuC,KAAN,QART,CASE,OAAO,CAAEV,CAAY,QATvB,CAUE,IAAI,CAAE1B,CAVR,CAWE,MAAM,CAAED,CAXV,CAYE,MAAM,CAAEE,CAZV,CAaE,OAAO,CAAEJ,CAAK,CAACsC,OAbjB,CAcE,OAAO,CAAEtC,CAAK,CAACqC,OAdjB,CAeE,IAAI,CAAEhC,CAfR,CAgBE,QAAQ,CA/HsC,QAA9CmD,YAA8C,GAAkB,IAAfP,EAAe,GAAfA,CAAe,CAAZV,CAAY,GAAZA,KAAY,CACpE,GAAIR,CAAJ,CAAkB,mBAChB/B,CAAK,CAACyD,QADU,qBAChB,OAAAzD,CAAK,CAAY,CACfiD,CAAC,CAADA,CADe,CAEfV,KAAK,CAAE5C,mBAAmB,CAAC,CAAC4C,CAAD,QAAQvC,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAEuC,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CAFX,CAAZ,CAIN,CACD,GAAIP,CAAJ,CAAgB,mBACdhC,CAAK,CAACyD,QADQ,qBACd,OAAAzD,CAAK,CAAY,CACfiD,CAAC,CAADA,CADe,CAEfV,KAAK,CAAE5C,mBAAmB,CAAC,QAACK,CAAD,WAACA,CAAD,YAACA,CAAK,CAAEuC,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CAFX,CAAZ,CAIN,CACF,CAkGG,CAiBE,wBAAwB,CAAE1B,CAjB5B,CAkBE,mBAAmB,CAAEG,CAlBvB,CAmBE,mBAAmB,CAAEE,CAnBvB,CAoBE,iBAAiB,CAAEC,CApBrB,CAqBE,MAAM,CAAE1B,iBAAiB,CAACO,CAAK,CAAC0D,KAAP,CArB3B,EA7BF,CAsDH,CA9KS,CADL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonth}from"../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonth=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.renderAdditionalControls,l=a.onDropdownOpen,m=a.dropdownOpen,n=a.ignoreOutsideClicksRefs,o=_objectWithoutProperties(a,_excluded),p=useRef(null),q=useRef(null),r=useRef(null),s=useCalendarVisible({dropdownOpen:m,onDropdownOpen:l,startRef:r}),t=_slicedToArray(s,2),u=t[0],v=t[1],w=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:j,calendarVisible:u}),x=_slicedToArray(w,2),y=x[0],z=x[1];return useEffect(function(){b&&setRef(b,p.current)},[b,p]),useEffect(function(){if(a.value&&"classic"===e&&y){var b=startOfYear(a.value);return void(b.getTime()!==y.getTime()&&z(b))}if(a.value&&"classic"!==e&&y){var c=startOfYear(a.value);c.getTime()!==y.getTime()&&c.getTime()!==addYears(y,1).getTime()&&z(c)}},[a.value]),useClickOutside({isActive:u,ignoreClicksInsideRefs:[p,q].concat(_toConsumableArray(null!==n&&void 0!==n?n:[])),handler:v.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonth,Object.assign({},o,{ref:p,inputRef:r,onClick:v.on})),React.createElement(DatePickerDropdown,{ref:q,anchorRef:p,isOpen:u,value:a.value||void 0,type:"month",view:e,events:c,locale:f,minDate:a.minDate,className:h,maxDate:a.maxDate,currentVisibleDate:y,form:g,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),v.off()},renderAdditionalControls:k,onChangeCurrentVisibleDate:z,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeMonth.js.map
|
package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeMonth.js","names":["addYears","startOfYear","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeMonth","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonth","props","ref","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeMonth.js","names":["addYears","startOfYear","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeMonth","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonth","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonth } from '../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonth: DatePickerTypeComponent<'month'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !== addYears(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeMonth\n {...otherProps}\n ref={fieldRef}\n inputRef={inputRef}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"month\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonthRange}from"../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonthRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.dropdownClassName,n=a.onBlur,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.onDropdownOpen,w=a.dropdownOpen,x=a.ignoreOutsideClicksRefs,y=_objectWithoutProperties(a,_excluded),z=useRef(null),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useState(!1),F=_slicedToArray(E,2),G=F[0],H=F[1],I="start"===G,J="end"===G,K=useCalendarVisible({dropdownOpen:w,onDropdownOpen:v,startRef:B,endRef:C}),L=_slicedToArray(K,2),M=L[0],N=L[1],O=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:r,calendarVisible:M}),P=_slicedToArray(O,2),Q=P[0],R=P[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&I){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===Q||void 0===Q?void 0:Q.getTime())&&R(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&I){var e=startOfYear(a.value[0]);e.getTime()!==(null===Q||void 0===Q?void 0:Q.getTime())&&e.getTime()!==(Q&&addYears(Q,1).getTime())&&R(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),M,I]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&J){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===Q||void 0===Q?void 0:Q.getTime())&&R(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&J){var e=startOfYear(a.value[1]);e.getTime()!==(null===Q||void 0===Q?void 0:Q.getTime())&&e.getTime()!==(Q&&addYears(Q,1).getTime())&&R(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),M,J]),useClickOutside({isActive:M,ignoreClicksInsideRefs:[z,A,D].concat(_toConsumableArray(null!==x&&void 0!==x?x:[])),handler:useCallback(function(){H(!1),N.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},y,{ref:b,startFieldRef:z,endFieldRef:A,startFieldInputRef:useForkRef([B,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([C,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;H("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;H("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[0])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[1])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},startFocused:I,endFocused:J,startFieldOnClick:N.on,endFieldOnClick:N.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end")})),React.createElement(DatePickerDropdown,{type:"month",ref:D,anchorRef:z,isOpen:M,onChangeCurrentVisibleDate:R,currentVisibleDate:Q,value:a.value||void 0,view:i,events:g,className:m,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(I){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(J){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeMonthRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeTime}from"../DatePickerFieldTypeTime/DatePickerFieldTypeTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";export var DatePickerTypeTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.multiplicityHours,j=a.multiplicityMinutes,k=a.multiplicitySeconds,l=a.renderAdditionalControls,m=a.currentVisibleDate,n=a.onChangeCurrentVisibleDate,o=a.onDropdownOpen,p=a.dropdownOpen,q=a.ignoreOutsideClicksRefs,r=_objectWithoutProperties(a,_excluded),s=getMultiplicityTime(r.format||datePickerPropFormatTypeDateTime,i,j,k),t=_slicedToArray(s,3),u=t[0],v=t[1],w=t[2],x=useRef(null),y=useRef(null),z=useRef(null),A=useCalendarVisible({dropdownOpen:p,onDropdownOpen:o,startRef:z}),B=_slicedToArray(A,2),C=B[0],D=B[1];return useEffect(function(){b&&setRef(b,x.current)},[b,x]),useClickOutside({isActive:C,ignoreClicksInsideRefs:[x,y].concat(_toConsumableArray(null!==q&&void 0!==q?q:[])),handler:D.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},r,{ref:x,inputRef:z,onClick:D.on,multiplicityHours:u,multiplicitySeconds:w,multiplicityMinutes:v})),React.createElement(DatePickerDropdown,{ref:y,anchorRef:x,isOpen:C,value:a.value||void 0,type:"time",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,form:g,className:h,onChange:a.onChange,renderAdditionalControls:l,multiplicityHours:u,multiplicitySeconds:w,multiplicityMinutes:v,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","format","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","on","value","minDate","maxDate","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n inputRef={inputRef}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYear}from"../DatePickerFieldTypeYear/DatePickerFieldTypeYear";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYear=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.renderAdditionalControls,l=a.onDropdownOpen,m=a.dropdownOpen,n=a.disabled,o=a.ignoreOutsideClicksRefs,p=_objectWithoutProperties(a,_excluded),q=useRef(null),r=useRef(null),s=useRef(null),t=useCalendarVisible({dropdownOpen:m,onDropdownOpen:l,startRef:s}),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:j,calendarVisible:v}),y=_slicedToArray(x,2),z=y[0],A=y[1];return useEffect(function(){b&&setRef(b,q.current)},[b,q]),useEffect(function(){if(a.value&&"classic"===e&&z){var b=startOfDecade(a.value);return void(b.getTime()!==z.getTime()&&A(b))}if(a.value&&"classic"!==e&&z){var c=startOfDecade(a.value);c.getTime()!==z.getTime()&&c.getTime()!==addYears(z,10).getTime()&&A(c)}},[a.value]),useClickOutside({isActive:v,ignoreClicksInsideRefs:[q,r].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:w.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYear,Object.assign({},p,{ref:q,inputRef:s,disabled:n,onClick:w.on})),React.createElement(DatePickerDropdown,{ref:r,anchorRef:q,className:h,isOpen:v,value:a.value||void 0,type:"year",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:z,form:g,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),w.off()},renderAdditionalControls:k,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:A}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeYear.js.map
|