@consta/uikit 4.10.0 → 4.12.0
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/__internal__/src/components/Combobox/Combobox.js +1 -1
- package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
- package/__internal__/src/components/Combobox/helpers.d.ts +5 -3
- package/__internal__/src/components/Combobox/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +13 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +16 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +13 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +16 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +13 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/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/useDropdownVisible.d.ts +24 -0
- package/__internal__/src/components/DatePicker/useDropdownVisible.js +2 -0
- package/__internal__/src/components/DatePicker/useDropdownVisible.js.map +1 -0
- package/__internal__/src/components/EventInterceptor/propsHandlers/useSelectEventsHandler.js +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useSelectEventsHandler.js.map +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.d.ts +2 -2
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.js +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.js.map +1 -1
- package/__internal__/src/components/ListCanary/types.d.ts +4 -3
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.css +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.css +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +2 -0
- package/__internal__/src/components/ProgressStepBar/helpers.js +1 -1
- package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
- package/__internal__/src/components/SelectComponents/Select.css +1 -1
- package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js +1 -1
- package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js.map +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.d.ts +2 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.js +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.js.map +1 -1
- package/__internal__/src/components/Slider/Slider.js +1 -1
- package/__internal__/src/components/Slider/Slider.js.map +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.d.ts +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.js +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.js.map +1 -1
- package/__internal__/src/components/Slider/helper.d.ts +13 -5
- package/__internal__/src/components/Slider/helper.js +1 -1
- package/__internal__/src/components/Slider/helper.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.css +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.d.ts +1 -5
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js.map +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.css +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.css +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.d.ts +10 -2
- package/__internal__/src/components/Tabs/Tab/TabsTab.js +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +14 -2
- package/__internal__/src/components/Tabs/helpers.js +1 -1
- package/__internal__/src/components/Tabs/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +32 -11
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.css +1 -1
- package/__internal__/src/components/TextField/TextField.css +1 -1
- package/__internal__/src/components/TextField/index.d.ts +1 -0
- package/__internal__/src/components/TextField/index.js +1 -1
- package/__internal__/src/components/TextField/index.js.map +1 -1
- package/__internal__/src/components/TextField/useIMask.d.ts +15 -0
- package/__internal__/src/components/TextField/useIMask.js +2 -0
- package/__internal__/src/components/TextField/useIMask.js.map +1 -0
- package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.css +1 -1
- package/__internal__/src/components/UserSelect/UserSelectValue/UserSelectValue.css +1 -1
- package/__internal__/src/components/UserSelect/UserSelectValue/UserSelectValue.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelectValue/UserSelectValue.js.map +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
- package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
- package/__internal__/src/hooks/useForkRef/useForkRef.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js.map +1 -1
- package/__internal__/src/hooks/useSelect/useSelect.js +1 -1
- package/__internal__/src/hooks/useSelect/useSelect.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","onBlur","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","blocks","start","onFocusHandler","onBlurHandler","dropdown","onDropdownBlur","onDropdownFocus","close","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.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 { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownForm,\n onFocus,\n onBlur,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onFocusHandler, onBlur: onBlurHandler },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n },\n close,\n } = useDropdownVisible(onFocus, onBlur);\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: [fieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n ref={fieldRef}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\n value={props.value || undefined}\n type=\"date\"\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 close();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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","dropdownClassName","name"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,
|
|
1
|
+
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","dropdownClassName","name"];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{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";export var DatePickerTypeDateRange=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.dropdownClassName,u=a.name,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useDropdownVisible(l,m),C=B.calendarVisible,D=B.blocks,E=D.start,F=E.onFocus,G=E.onBlur,H=D.dropdown,I=H.onBlur,J=H.onFocus,K=D.end,L=K.onFocus,M=K.onBlur,N=B.close,O=B.fieldType,P="start"===O,Q="end"===O,R=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:C}),S=_slicedToArray(R,2),T=S[0],U=S[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&P){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&P){var e=startOfMonth(a.value[0]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),C,P]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&Q){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&Q){var e=startOfMonth(a.value[1]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),C,Q]),useClickOutside({isActive:C,ignoreClicksInsideRefs:[w,x,A],handler:N}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([z,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:F,endFieldOnFocus:L,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:G,endFieldOnBlur:M,startFocused:P,endFocused:Q,startFieldName:getFieldName(u,0),endFieldName:getFieldName(u,1)})),React.createElement(DatePickerDropdown,{type:"date",ref:A,anchorRef:w,className:t,isOpen:C,onChangeCurrentVisibleDate:U,currentVisibleDate:T,value:a.value||void 0,view:i,events:g,onFocus:J,onBlur:I,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(P){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(Q){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,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDateRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","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 { useFlag } from '../../../hooks/useFlag/useFlag';\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 { 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 ...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] = useFlag(false);\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 setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\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: [startFieldRef, endFieldRef, calendarRef],\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 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":"mXAAA,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,OAAT,sCACA,OAASC,UAAT,4CACA,OACEC,kBADF,gDAIA,OAASC,4BAAT,oEACA,OACEC,iBADF,CAEEC,YAFF,CAGEC,mBAHF,kBAKA,OACEC,iCADF,gBAIA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,wBAA8D,CACzEf,UAAU,CAAC,SAACgB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAiBrBF,CAjBqB,CAEvBE,MAFuB,GAiBrBF,CAjBqB,CAGvBG,YAHuB,CAGvBA,CAHuB,YAGRN,iCAHQ,GAIvBO,CAJuB,CAiBrBJ,CAjBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAiBrBL,CAjBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAiBrBN,CAjBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAiBrBP,CAjBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAiBrBR,CAjBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAiBrBT,CAjBqB,CASvBS,SATuB,CAUHC,CAVG,CAiBrBV,CAjBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAiBrBZ,CAjBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAiBrBb,CAjBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAiBrBd,CAjBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAiBrBf,CAjBqB,CAcvBe,iBAduB,CAevBC,CAfuB,CAiBrBhB,CAjBqB,CAevBgB,IAfuB,CAgBpBC,CAhBoB,0BAiBrBjB,CAjBqB,YAmBnBkB,CAAa,CAAG/B,MAAM,CAAiB,IAAjB,CAnBH,CAoBnBgC,CAAW,CAAGhC,MAAM,CAAiB,IAAjB,CApBD,CAqBnBiC,CAAkB,CAAGjC,MAAM,CAAmB,IAAnB,CArBR,CAsBnBkC,CAAgB,CAAGlC,MAAM,CAAmB,IAAnB,CAtBN,CAuBnBmC,CAAW,CAAGnC,MAAM,CAAiB,IAAjB,CAvBD,GAyBeC,QAAQ,IAzBvB,uBAyBlBmC,CAzBkB,MAyBJC,CAzBI,MA6BnBC,CAAY,CAAoB,OAAjB,GAAAF,CA7BI,CA8BnBG,CAAU,CAAoB,KAAjB,GAAAH,CA9BM,GA+CqBjC,OAAO,IA/C5B,uBA+ClBqC,CA/CkB,MA+CDC,CA/CC,QAiD2B9B,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExEmB,OAAO,CAAE7B,CAAK,CAAC6B,OAFyD,CAGxEC,OAAO,CAAE9B,CAAK,CAAC8B,OAHyD,CAIxEC,KAAK,CAAE/B,CAAK,CAAC+B,KAJ2D,CAKxEC,WAAW,CAAElD,YAL2D,CAMxE8B,0BAA0B,CAA1BA,CANwE,CAOxEe,eAAe,CAAfA,CAPwE,CAAD,CAjDhD,uBAiDlBhB,CAjDkB,MAiDEsB,CAjDF,MA+HzB,MAjDA/C,UAAS,CAAC,UAAM,SACd,GAAI,UAAAc,CAAK,CAAC+B,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAA5B,CAApB,EAAkDsB,CAAtD,CAAoE,CAClE,GAAMS,EAAc,CAAGpD,YAAY,CAACkB,CAAK,CAAC+B,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAIA,YAHIG,CAAc,CAACC,OAAf,aAA6BxB,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEwB,OAApB,EAA7B,CAGJ,EAFEF,CAAqB,CAACC,CAAD,CAEvB,CACD,CACD,GAAI,UAAAlC,CAAK,CAAC+B,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAA5B,CAApB,EAAkDsB,CAAtD,CAAoE,CAClE,GAAMS,EAAc,CAAGpD,YAAY,CAACkB,CAAK,CAAC+B,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAEEG,CAAc,CAACC,OAAf,aAA6BxB,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEwB,OAApB,EAA7B,GACAD,CAAc,CAACC,OAAf,MACGxB,CAAkB,EAAI9B,SAAS,CAAC8B,CAAD,CAAqB,CAArB,CAAT,CAAiCwB,OAAjC,EADzB,CAJgE,EAOhEF,CAAqB,CAACC,CAAD,CAExB,CACF,CAlBQ,CAkBN,WAAClC,CAAK,CAAC+B,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CF,CAA/C,CAlBM,CAiDT,CA7BAvC,SAAS,CAAC,UAAM,SACd,GAAI,UAAAc,CAAK,CAAC+B,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAA5B,CAApB,EAAkDuB,CAAtD,CAAkE,CAChE,GAAMQ,EAAc,CAAGpD,YAAY,CAACkB,CAAK,CAAC+B,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAIA,YAHIG,CAAc,CAACC,OAAf,aAA6BxB,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEwB,OAApB,EAA7B,CAGJ,EAFEF,CAAqB,CAACC,CAAD,CAEvB,CACD,CACD,GAAI,UAAAlC,CAAK,CAAC+B,KAAN,iBAAc,CAAd,GAAqC,SAAjB,GAAA5B,CAApB,EAAkDuB,CAAtD,CAAkE,CAChE,GAAMQ,EAAc,CAAGpD,YAAY,CAACkB,CAAK,CAAC+B,KAAN,CAAY,CAAZ,CAAD,CAAnC,CAEEG,CAAc,CAACC,OAAf,aAA6BxB,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAEwB,OAApB,EAA7B,GACAD,CAAc,CAACC,OAAf,MACGxB,CAAkB,EAAI9B,SAAS,CAAC8B,CAAD,CAAqB,CAArB,CAAT,CAAiCwB,OAAjC,EADzB,CAJ8D,EAO9DF,CAAqB,CAACpD,SAAS,CAACqD,CAAD,CAAiB,CAAC,CAAlB,CAAV,CAExB,CACF,CAlBQ,CAkBN,WAAClC,CAAK,CAAC+B,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CD,CAA/C,CAlBM,CA6BT,CATArC,eAAe,CAAC,CACd+C,QAAQ,CAAET,CADI,CAEdU,sBAAsB,CAAE,CAACnB,CAAD,CAAgBC,CAAhB,CAA6BG,CAA7B,CAFV,CAGdgB,OAAO,CAAErD,WAAW,CAAC,UAAM,CACzBuC,CAAe,IADU,CAEzBI,CAAkB,CAACW,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CAHN,CAAD,CASf,CACE,wCACE,oBAAC,4BAAD,kBACMtB,CADN,EAEE,GAAG,CAAEhB,CAFP,CAGE,aAAa,CAAEiB,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAE5B,UAAU,CAAC,CAAC6B,CAAD,QAAqBN,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAEvB,UAAU,CAAC,CAAC8B,CAAD,QAAmBP,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CAvEU,QAA3B0B,yBAA2B,CAACC,CAAD,CAAsC,OACrEjB,CAAe,CAAC,OAAD,CADsD,CAErEI,CAAkB,CAACc,EAAnB,EAFqE,CAGrEC,KAAK,CAACC,OAAN,CAActC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMmC,CAAN,CAAhC,QAA2CnC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGmC,CAAH,CACnD,CA4DG,CAQE,eAAe,CAlEU,QAAzBI,uBAAyB,CAACJ,CAAD,CAAsC,OACnEjB,CAAe,CAAC,KAAD,CADoD,CAEnEI,CAAkB,CAACc,EAAnB,EAFmE,CAGnEC,KAAK,CAACC,OAAN,CAActC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMmC,CAAN,CAAhC,QAA2CnC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGmC,CAAH,CACnD,CAsDG,CASE,kBAAkB,CAChBE,KAAK,CAACC,OAAN,CAAcpC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjBmC,KAAK,CAACC,OAAN,CAAcnC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAEkC,KAAK,CAACC,OAAN,CAAcpC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACfmC,KAAK,CAACC,OAAN,CAAcnC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CAzFU,QAA1BqC,wBAA0B,CAACL,CAAD,cAC9BE,MAAK,CAACC,OAAN,CAAcrC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMkC,CAAN,CAA9B,QAAyClC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGkC,CAAH,CADjB,CAsE5B,CAoBE,cAAc,CAvFU,QAAxBM,sBAAwB,CAACN,CAAD,cAC5BE,MAAK,CAACC,OAAN,CAAcrC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMkC,CAAN,CAA9B,QAAyClC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGkC,CAAH,CADnB,CAmE1B,CAqBE,YAAY,CAAEhB,CArBhB,CAsBE,UAAU,CAAEC,CAtBd,CAuBE,cAAc,CAAE/B,YAAY,CAACqB,CAAD,CAAO,CAAP,CAvB9B,CAwBE,YAAY,CAAErB,YAAY,CAACqB,CAAD,CAAO,CAAP,CAxB5B,GADF,CA2BE,oBAAC,kBAAD,EACE,IAAI,CAAC,MADP,CAEE,GAAG,CAAEM,CAFP,CAGE,SAAS,CAAEJ,CAHb,CAIE,SAAS,CAAEH,CAJb,CAKE,MAAM,CAAEY,CALV,CAME,0BAA0B,CAAEM,CAN9B,CAOE,kBAAkB,CAAEtB,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAAC+B,KAAN,QART,CASE,IAAI,CAAE5B,CATR,CAUE,MAAM,CAAED,CAVV,CAWE,MAAM,CAAEE,CAXV,CAYE,OAAO,CAAEJ,CAAK,CAAC8B,OAZjB,CAaE,OAAO,CAAE9B,CAAK,CAAC6B,OAbjB,CAcE,IAAI,CAAExB,CAdR,CAeE,QAAQ,CA1IsC,QAA9C2C,YAA8C,GAAkB,IAAfP,EAAe,GAAfA,CAAe,CAAZV,CAAY,GAAZA,KAAY,CACpE,GAAIN,CAAJ,CAAkB,mBAChBzB,CAAK,CAACiD,QADU,qBAChB,OAAAjD,CAAK,CAAY,CACfyC,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEnC,mBAAmB,CAAC,CAACmC,CAAD,QAAQ/B,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAE+B,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CAFX,CAAZ,CAIN,CACD,GAAIL,CAAJ,CAAgB,mBACd1B,CAAK,CAACiD,QADQ,qBACd,OAAAjD,CAAK,CAAY,CACfyC,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEnC,mBAAmB,CAAC,QAACI,CAAD,WAACA,CAAD,YAACA,CAAK,CAAE+B,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CAFX,CAAZ,CAIN,CACF,CA8GG,CAgBE,wBAAwB,CAAElB,CAhB5B,CAiBE,MAAM,CAAEnB,iBAAiB,CAACM,CAAK,CAACkD,KAAP,CAjB3B,EA3BF,CAgDH,CAhLS,CADL"}
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","calendarVisible","blocks","start","onStartFocus","onStartBlur","dropdown","onDropdownBlur","onDropdownFocus","end","onEndFocus","onEndBlur","close","fieldType","startFocused","endFocused","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","Array","isArray","hadleChange","e","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.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 { 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 { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\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 ...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 {\n calendarVisible,\n blocks: {\n start: { onFocus: onStartFocus, onBlur: onStartBlur },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n end: { onFocus: onEndFocus, onBlur: onEndBlur },\n },\n close,\n fieldType,\n } = useDropdownVisible(onFocus, onBlur);\n\n const startFocused = fieldType === 'start';\n const endFocused = fieldType === '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 [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 // эфект для того чтобы календарь переключался при вводе с клавиатуры\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: [startFieldRef, endFieldRef, calendarRef],\n handler: close,\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={onStartFocus}\n endFieldOnFocus={onEndFocus}\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={onStartBlur}\n endFieldOnBlur={onEndBlur}\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 onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\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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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls"];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{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls"];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{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";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.onFocus,i=a.onBlur,j=a.dropdownClassName,k=a.currentVisibleDate,l=a.onChangeCurrentVisibleDate,m=a.multiplicityHours,n=a.multiplicityMinutes,o=a.multiplicitySeconds,p=a.renderAdditionalControls,q=_objectWithoutProperties(a,_excluded),r=getMultiplicityTime(q.format||datePickerPropFormatTypeDateTime,m,n,o),s=_slicedToArray(r,3),t=s[0],u=s[1],v=s[2],w=useRef(null),x=useRef(null),y=useDropdownVisible(h,i),z=y.calendarVisible,A=y.blocks,B=A.start,C=B.onFocus,D=B.onBlur,E=A.dropdown,F=E.onBlur,G=E.onFocus,H=y.close,I=useCurrentVisibleDate({currentVisibleDate:k,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:l,calendarVisible:z}),J=_slicedToArray(I,2),K=J[0],L=J[1];return useEffect(function(){b&&setRef(b,w.current)},[b,w]),useEffect(function(){if(a.value&&"classic"===e&&K){var b=startOfMonth(a.value);return void(b.getTime()!==K.getTime()&&L(b))}if(a.value&&"classic"!==e&&K){var c=startOfMonth(a.value);c.getTime()!==K.getTime()&&c.getTime()!==addMonths(K,1).getTime()&&L(c)}},[a.value]),useClickOutside({isActive:z,ignoreClicksInsideRefs:[w,x],handler:H}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTime,Object.assign({},q,{ref:w,onFocus:C,onBlur:D,multiplicityHours:t,multiplicitySeconds:v,multiplicityMinutes:u})),React.createElement(DatePickerDropdown,{ref:x,anchorRef:w,isOpen:z,value:a.value||void 0,type:"date-time",view:e,events:c,className:j,locale:f,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:K,form:g,onChange:a.onChange,renderAdditionalControls:p,onChangeCurrentVisibleDate:L,multiplicityHours:t,onFocus:G,onBlur:F,multiplicitySeconds:v,multiplicityMinutes:u,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","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDateTime","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","otherProps","format","fieldRef","calendarRef","calendarVisible","blocks","start","onFocusHandler","onBlurHandler","dropdown","onDropdownBlur","onDropdownFocus","close","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","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 { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\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\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onFocusHandler, onBlur: onBlurHandler },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n },\n close,\n } = useDropdownVisible(onFocus, onBlur);\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: [fieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTime\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\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 onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\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 _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"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,
|
|
1
|
+
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"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}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{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";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=_objectWithoutProperties(a,_excluded),z=useRef(null),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useDropdownVisible(l,m),F=E.calendarVisible,G=E.blocks,H=G.start,I=H.onFocus,J=H.onBlur,K=G.dropdown,L=K.onBlur,M=K.onFocus,N=G.end,O=N.onFocus,P=N.onBlur,Q=E.close,R=E.fieldType,S="start"===R,T="end"===R,U=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:F}),V=_slicedToArray(U,2),W=V[0],X=V[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&S){var c=startOfMonth(a.value[0]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),F,S]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&T){var c=startOfMonth(a.value[1]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),F,T]),useClickOutside({isActive:F,ignoreClicksInsideRefs:[z,A,D],handler:Q}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},y,{ref:b,startFieldRef:z,endFieldRef:A,startFieldInputRef:useForkRef([B,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([C,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:I,endFieldOnFocus:O,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:J,endFieldOnBlur:P,startFocused:S,endFocused:T,startFieldName:getFieldName(t,0),endFieldName:getFieldName(t,1)})),React.createElement(DatePickerDropdown,{type:"date-time",ref:D,anchorRef:z,isOpen:F,className:v,onChangeCurrentVisibleDate:X,currentVisibleDate:W,value:a.value||void 0,onFocus:M,onBlur:L,timeFor:R||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(S){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(T){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","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","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 { useFlag } from '../../../hooks/useFlag/useFlag';\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 { 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 ...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] = useFlag(false);\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 setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\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: [startFieldRef, endFieldRef, calendarRef],\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 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","useEffect","useRef","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","calendarVisible","blocks","start","onStartFocus","onStartBlur","dropdown","onDropdownBlur","onDropdownFocus","end","onEndFocus","onEndBlur","close","fieldType","startFocused","endFocused","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","Array","isArray","hadleChange","e","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } 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 { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\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 ...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 {\n calendarVisible,\n blocks: {\n start: { onFocus: onStartFocus, onBlur: onStartBlur },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n end: { onFocus: onEndFocus, onBlur: onEndBlur },\n },\n close,\n fieldType,\n } = useDropdownVisible(onFocus, onBlur);\n\n const startFocused = fieldType === 'start';\n const endFocused = fieldType === '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 [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 // эфект для того чтобы календарь переключался при вводе с клавиатуры\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: [startFieldRef, endFieldRef, calendarRef],\n handler: close,\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={onStartFocus}\n endFieldOnFocus={onEndFocus}\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={onStartBlur}\n endFieldOnBlur={onEndBlur}\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 onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\n timeFor={fieldType || 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,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];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{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","onBlur","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];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{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";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.onFocus,j=a.onBlur,k=a.currentVisibleDate,l=a.onChangeCurrentVisibleDate,m=a.renderAdditionalControls,n=_objectWithoutProperties(a,_excluded),o=useRef(null),p=useRef(null),q=useDropdownVisible(i,j),r=q.calendarVisible,s=q.blocks,t=s.start,u=t.onFocus,v=t.onBlur,w=s.dropdown,x=w.onBlur,y=w.onFocus,z=q.close,A=useCurrentVisibleDate({currentVisibleDate:k,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:l,calendarVisible:r}),B=_slicedToArray(A,2),C=B[0],D=B[1];return useEffect(function(){b&&setRef(b,o.current)},[b,o]),useEffect(function(){if(a.value&&"classic"===e&&C){var b=startOfYear(a.value);return void(b.getTime()!==C.getTime()&&D(b))}if(a.value&&"classic"!==e&&C){var c=startOfYear(a.value);c.getTime()!==C.getTime()&&c.getTime()!==addYears(C,1).getTime()&&D(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[o,p],handler:z}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonth,Object.assign({},n,{ref:o,onFocus:u,onBlur:v})),React.createElement(DatePickerDropdown,{ref:p,anchorRef:o,isOpen:r,value:a.value||void 0,type:"month",view:e,events:c,locale:f,onFocus:y,onBlur:x,minDate:a.minDate,className:h,maxDate:a.maxDate,currentVisibleDate:C,form:g,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),z()},renderAdditionalControls:m,onChangeCurrentVisibleDate:D,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","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeMonth.js","names":["addYears","startOfYear","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeMonth","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeMonth","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","onBlur","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","blocks","start","onFocusHandler","onBlurHandler","dropdown","onDropdownBlur","onDropdownFocus","close","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","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 { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeMonth: DatePickerTypeComponent<'month'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n onFocus,\n onBlur,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onFocusHandler, onBlur: onBlurHandler },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n },\n close,\n } = useDropdownVisible(onFocus, onBlur);\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: [fieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeMonth\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\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 onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\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 close();\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 _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"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,
|
|
1
|
+
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"];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{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{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";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=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useDropdownVisible(l,n),C=B.calendarVisible,D=B.blocks,E=D.start,F=E.onFocus,G=E.onBlur,H=D.dropdown,I=H.onBlur,J=H.onFocus,K=D.end,L=K.onFocus,M=K.onBlur,N=B.close,O=B.fieldType,P="start"===O,Q="end"===O,R=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:r,calendarVisible:C}),S=_slicedToArray(R,2),T=S[0],U=S[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&P){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&P){var e=startOfYear(a.value[0]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addYears(T,1).getTime())&&U(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),C,P]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&Q){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&Q){var e=startOfYear(a.value[1]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addYears(T,1).getTime())&&U(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),C,Q]),useClickOutside({isActive:C,ignoreClicksInsideRefs:[w,x,A],handler:N}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([z,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:F,endFieldOnFocus:L,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:G,endFieldOnBlur:M,startFocused:P,endFocused:Q,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end")})),React.createElement(DatePickerDropdown,{type:"month",ref:A,anchorRef:w,isOpen:C,onChangeCurrentVisibleDate:U,currentVisibleDate:T,value:a.value||void 0,view:i,onFocus:J,onBlur: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(P){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(Q){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","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","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 { useFlag } from '../../../hooks/useFlag/useFlag';\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 { 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 ...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] = useFlag(false);\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 setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\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: [startFieldRef, endFieldRef, calendarRef],\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 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","useEffect","useRef","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","calendarVisible","blocks","start","onStartFocus","onStartBlur","dropdown","onDropdownBlur","onDropdownFocus","end","onEndFocus","onEndBlur","close","fieldType","startFocused","endFocused","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","Array","isArray","hadleChange","e","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.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 { 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 { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\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 ...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 {\n calendarVisible,\n blocks: {\n start: { onFocus: onStartFocus, onBlur: onStartBlur },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n end: { onFocus: onEndFocus, onBlur: onEndBlur },\n },\n close,\n fieldType,\n } = useDropdownVisible(onFocus, onBlur);\n\n const startFocused = fieldType === 'start';\n const endFocused = fieldType === '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 [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 // эфект для того чтобы календарь переключался при вводе с клавиатуры\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: [startFieldRef, endFieldRef, calendarRef],\n handler: close,\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={onStartFocus}\n endFieldOnFocus={onEndFocus}\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={onStartBlur}\n endFieldOnBlur={onEndBlur}\n startFocused={startFocused}\n endFocused={endFocused}\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 onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\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 _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","onBlur","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate"];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{useDropdownVisible}from"../useDropdownVisible";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.onFocus,j=a.onBlur,k=a.multiplicityHours,l=a.multiplicityMinutes,m=a.multiplicitySeconds,n=a.renderAdditionalControls,o=a.currentVisibleDate,p=a.onChangeCurrentVisibleDate,q=_objectWithoutProperties(a,_excluded),r=getMultiplicityTime(q.format||datePickerPropFormatTypeDateTime,k,l,m),s=_slicedToArray(r,3),t=s[0],u=s[1],v=s[2],w=useRef(null),x=useRef(null),y=useDropdownVisible(i,j),z=y.calendarVisible,A=y.blocks,B=A.start,C=B.onFocus,D=B.onBlur,E=A.dropdown,F=E.onBlur,G=E.onFocus,H=y.close;return useEffect(function(){b&&setRef(b,w.current)},[b,w]),useClickOutside({isActive:z,ignoreClicksInsideRefs:[w,x],handler:H}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},q,{ref:w,onBlur:D,onFocus:C,multiplicityHours:t,multiplicitySeconds:v,multiplicityMinutes:u})),React.createElement(DatePickerDropdown,{ref:x,anchorRef:w,isOpen:z,value:a.value||void 0,type:"time",view:e,onFocus:G,onBlur:F,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,form:g,className:h,onChange:a.onChange,renderAdditionalControls:n,multiplicityHours:t,multiplicitySeconds:v,multiplicityMinutes:u,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeTime.js.map
|