@consta/uikit 5.3.2 → 5.4.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.
Files changed (40) hide show
  1. package/__internal__/src/components/Checkbox/Checkbox.css +2 -2
  2. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +3 -1
  3. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  4. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  5. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.d.ts +4 -2
  6. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.js.map +1 -1
  7. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +3 -1
  8. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  9. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  10. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.d.ts +3 -1
  11. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.js.map +1 -1
  12. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +3 -1
  13. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  14. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  15. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.d.ts +3 -1
  16. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.js.map +1 -1
  17. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +3 -1
  18. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  19. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.d.ts +3 -1
  21. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.js.map +1 -1
  22. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  30. package/__internal__/src/components/DatePicker/types.d.ts +2 -1
  31. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  32. package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.js +1 -1
  33. package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.js.map +1 -1
  34. package/__internal__/src/components/Radio/Radio.css +1 -1
  35. package/__internal__/src/components/Switch/Switch.css +1 -1
  36. package/__internal__/src/components/Table/TextFilter/TableTextFilter.js +1 -1
  37. package/__internal__/src/components/Table/TextFilter/TableTextFilter.js.map +1 -1
  38. package/__internal__/src/components/Tooltip/Tooltip.js +1 -1
  39. package/__internal__/src/components/Tooltip/Tooltip.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";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=a.onDropdownOpen,w=a.dropdownOpen,x=a.ignoreOutsideClicksRefs,y=a.disabled,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:w,onDropdownOpen:v,disabled:y,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&J){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&J){var e=startOfMonth(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addMonths(R,1).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&K){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&K){var e=startOfMonth(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addMonths(R,1).getTime())&&S(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==x&&void 0!==x?x:[])),handler:useCallback(function(){I(!1),O.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,startFieldInputRef:useForkRef([C,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([D,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:O.on,endFieldOnClick:O.on,endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:J,endFocused:K,startFieldName:getFieldName(u,0),endFieldName:getFieldName(u,1),disabled:y})),React.createElement(DatePickerDropdown,{type:"date",ref:E,anchorRef:A,className:t,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(J){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(K){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:r,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";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=a.placeholder,w=a.onDropdownOpen,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=a.disabled,A=_objectWithoutProperties(a,_excluded),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useRef(null),G=useState(!1),H=_slicedToArray(G,2),I=H[0],J=H[1],K="start"===I,L="end"===I,M=useCalendarVisible({dropdownOpen:x,onDropdownOpen:w,disabled:z,startRef:D,endRef:E}),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:O}),R=_slicedToArray(Q,2),S=R[0],T=R[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&K){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&K){var e=startOfMonth(a.value[0]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addMonths(S,1).getTime())&&T(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),O,K]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&L){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&L){var e=startOfMonth(a.value[1]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addMonths(S,1).getTime())&&T(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),O,L]),useClickOutside({isActive:O,ignoreClicksInsideRefs:[B,C,F].concat(_toConsumableArray(null!==y&&void 0!==y?y:[])),handler:useCallback(function(){J(!1),P.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},A,{ref:b,startFieldRef:B,endFieldRef:C,startFieldInputRef:useForkRef([D,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([E,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;J("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;J("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:P.on,endFieldOnClick:P.on,endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:K,endFocused:L,startFieldName:getFieldName(u,0),endFieldName:getFieldName(u,1),startFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[0]:v,endFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[1]:v,disabled:z})),React.createElement(DatePickerDropdown,{type:"date",ref:F,anchorRef:B,className:t,isOpen:O,onChangeCurrentVisibleDate:T,currentVisibleDate:S,value:a.value||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(K){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(L){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e: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","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","on","endFieldOnBlurHandler","hadleChange","newValue","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';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","on","endFieldOnBlurHandler","hadleChange","newValue","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';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n placeholder,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTimeRange}from"../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTimeRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.name,u=a.multiplicityMinutes,v=a.dropdownClassName,w=a.multiplicitySeconds,x=a.multiplicityHours,y=a.onDropdownOpen,z=a.dropdownOpen,A=a.ignoreOutsideClicksRefs,B=a.disabled,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(!1),J=_slicedToArray(I,2),K=J[0],L=J[1],M="start"===K,N="end"===K,O=useCalendarVisible({dropdownOpen:z,onDropdownOpen:y,disabled:B,startRef:F,endRef:G}),P=_slicedToArray(O,2),Q=P[0],R=P[1],S=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:Q}),T=_slicedToArray(S,2),U=T[0],V=T[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&M){var c=startOfMonth(a.value[0]);c.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),Q,M]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&N){var c=startOfMonth(a.value[1]);c.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),Q,N]),useClickOutside({isActive:Q,ignoreClicksInsideRefs:[D,E,H].concat(_toConsumableArray(null!==A&&void 0!==A?A:[])),handler:useCallback(function(){L(!1),R.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},C,{ref:b,startFieldRef:D,endFieldRef:E,startFieldInputRef:useForkRef([F,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([G,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;L("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;L("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:R.on,endFieldOnClick:R.on,startFocused:M,endFocused:N,startFieldName:getFieldName(t,0),endFieldName:getFieldName(t,1),disabled:B})),React.createElement(DatePickerDropdown,{type:"date-time",ref:H,anchorRef:D,isOpen:Q,className:v,onChangeCurrentVisibleDate:V,currentVisibleDate:U,value:a.value||void 0,timeFor:K||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(M){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(N){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:r,multiplicityMinutes:u,multiplicitySeconds:w,multiplicityHours:x,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTimeRange}from"../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTimeRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.name,u=a.placeholder,v=a.multiplicityMinutes,w=a.dropdownClassName,x=a.multiplicitySeconds,y=a.multiplicityHours,z=a.onDropdownOpen,A=a.dropdownOpen,B=a.ignoreOutsideClicksRefs,C=a.disabled,D=_objectWithoutProperties(a,_excluded),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useRef(null),J=useState(!1),K=_slicedToArray(J,2),L=K[0],M=K[1],N="start"===L,O="end"===L,P=useCalendarVisible({dropdownOpen:A,onDropdownOpen:z,disabled:C,startRef:G,endRef:H}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1],T=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:R}),U=_slicedToArray(T,2),V=U[0],W=U[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&N){var c=startOfMonth(a.value[0]);c.getTime()!==(null===V||void 0===V?void 0:V.getTime())&&W(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),R,N]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&O){var c=startOfMonth(a.value[1]);c.getTime()!==(null===V||void 0===V?void 0:V.getTime())&&W(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),R,O]),useClickOutside({isActive:R,ignoreClicksInsideRefs:[E,F,I].concat(_toConsumableArray(null!==B&&void 0!==B?B:[])),handler:useCallback(function(){M(!1),S.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},D,{ref:b,startFieldRef:E,endFieldRef:F,startFieldInputRef:useForkRef([G,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([H,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;M("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;M("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:S.on,endFieldOnClick:S.on,startFocused:N,endFocused:O,startFieldName:getFieldName(t,0),endFieldName:getFieldName(t,1),disabled:C,startFieldPlaceholder:Array.isArray(u)?null===u||void 0===u?void 0:u[0]:u,endFieldPlaceholder:Array.isArray(u)?null===u||void 0===u?void 0:u[1]:u})),React.createElement(DatePickerDropdown,{type:"date-time",ref:I,anchorRef:E,isOpen:R,className:w,onChangeCurrentVisibleDate:W,currentVisibleDate:V,value:a.value||void 0,timeFor:L||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(N){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(O){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:r,multiplicityMinutes:v,multiplicitySeconds:x,multiplicityHours:y,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeDateTimeRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n placeholder,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n disabled={disabled}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\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,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonthRange}from"../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonthRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.dropdownClassName,n=a.onBlur,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.onDropdownOpen,w=a.dropdownOpen,x=a.ignoreOutsideClicksRefs,y=a.disabled,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:w,onDropdownOpen:v,disabled:y,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:r,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&J){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&J){var e=startOfYear(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,1).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&K){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&K){var e=startOfYear(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,1).getTime())&&S(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==x&&void 0!==x?x:[])),handler:useCallback(function(){I(!1),O.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,startFieldInputRef:useForkRef([C,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([D,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[0])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[1])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},startFocused:J,endFocused:K,startFieldOnClick:O.on,endFieldOnClick:O.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end"),disabled:y})),React.createElement(DatePickerDropdown,{type:"month",ref:E,anchorRef:A,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:i,events:g,className:m,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(J){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(K){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonthRange}from"../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonthRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.dropdownClassName,n=a.onBlur,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.placeholder,w=a.onDropdownOpen,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=a.disabled,A=_objectWithoutProperties(a,_excluded),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useRef(null),G=useState(!1),H=_slicedToArray(G,2),I=H[0],J=H[1],K="start"===I,L="end"===I,M=useCalendarVisible({dropdownOpen:x,onDropdownOpen:w,disabled:z,startRef:D,endRef:E}),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:r,calendarVisible:O}),R=_slicedToArray(Q,2),S=R[0],T=R[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&K){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&K){var e=startOfYear(a.value[0]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addYears(S,1).getTime())&&T(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),O,K]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&L){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&L){var e=startOfYear(a.value[1]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addYears(S,1).getTime())&&T(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),O,L]),useClickOutside({isActive:O,ignoreClicksInsideRefs:[B,C,F].concat(_toConsumableArray(null!==y&&void 0!==y?y:[])),handler:useCallback(function(){J(!1),P.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},A,{ref:b,startFieldRef:B,endFieldRef:C,startFieldInputRef:useForkRef([D,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([E,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;J("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;J("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[0])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[1])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},startFocused:K,endFocused:L,startFieldOnClick:P.on,endFieldOnClick:P.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end"),disabled:z,startFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[0]:v,endFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[1]:v})),React.createElement(DatePickerDropdown,{type:"month",ref:F,anchorRef:B,isOpen:O,onChangeCurrentVisibleDate:T,currentVisibleDate:S,value:a.value||void 0,view:i,events:g,className:m,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(K){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(L){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeMonthRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","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';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","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';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n placeholder,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n disabled={disabled}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYearRange}from"../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYearRange=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.dropdownClassName,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.onDropdownOpen,w=a.dropdownOpen,x=a.ignoreOutsideClicksRefs,y=a.disabled,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:w,onDropdownOpen:v,disabled:y,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:r,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&J){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&J){var e=startOfDecade(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&K){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&K){var e=startOfDecade(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(addYears(e,-10))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==x&&void 0!==x?x:[])),handler:function handler(){I(!1),O.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,startFieldInputRef:useForkRef([C,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([D,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:J,endFocused:K,startFieldOnClick:O.on,endFieldOnClick:O.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end"),disabled:y})),React.createElement(DatePickerDropdown,{type:"year",ref:E,anchorRef:A,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:i,events:g,locale:j,className:n,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(J){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(K){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYearRange}from"../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYearRange=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.dropdownClassName,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.placeholder,w=a.onDropdownOpen,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=a.disabled,A=_objectWithoutProperties(a,_excluded),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useRef(null),G=useState(!1),H=_slicedToArray(G,2),I=H[0],J=H[1],K="start"===I,L="end"===I,M=useCalendarVisible({dropdownOpen:x,onDropdownOpen:w,disabled:z,startRef:D,endRef:E}),N=_slicedToArray(M,2),O=N[0],P=N[1],Q=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:r,calendarVisible:O}),R=_slicedToArray(Q,2),S=R[0],T=R[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&K){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&K){var e=startOfDecade(a.value[0]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addYears(S,10).getTime())&&T(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),O,K]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&L){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&T(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&L){var e=startOfDecade(a.value[1]);e.getTime()!==(null===S||void 0===S?void 0:S.getTime())&&e.getTime()!==(S&&addYears(S,10).getTime())&&T(addYears(e,-10))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),O,L]),useClickOutside({isActive:O,ignoreClicksInsideRefs:[B,C,F].concat(_toConsumableArray(null!==y&&void 0!==y?y:[])),handler:function handler(){J(!1),P.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},A,{ref:b,startFieldRef:B,endFieldRef:C,startFieldInputRef:useForkRef([D,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([E,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;J("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;J("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:K,endFocused:L,startFieldOnClick:P.on,endFieldOnClick:P.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end"),disabled:z,startFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[0]:v,endFieldPlaceholder:Array.isArray(v)?null===v||void 0===v?void 0:v[1]:v})),React.createElement(DatePickerDropdown,{type:"year",ref:F,anchorRef:B,isOpen:O,onChangeCurrentVisibleDate:T,currentVisibleDate:S,value:a.value||void 0,view:i,events:g,locale:j,className:n,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(K){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(L){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeYearRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(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 = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).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 = startOfDecade(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 = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"year\"\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 locale={locale}\n className={dropdownClassName}\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":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n placeholder,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\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 = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(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 = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).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 = startOfDecade(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 = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n disabled={disabled}\n startFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[0] : placeholder\n }\n endFieldPlaceholder={\n Array.isArray(placeholder) ? placeholder?.[1] : placeholder\n }\n />\n <DatePickerDropdown\n type=\"year\"\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 locale={locale}\n className={dropdownClassName}\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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"}
@@ -13,6 +13,7 @@ export declare const datePickerPropDateTimeViewDefault: "classic";
13
13
  declare type Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';
14
14
  export declare const datePickerErrorTypes: readonly ["outOfRange", "invalidInputAttempt", "startDateIsGreaterThanEndDate"];
15
15
  export declare type DatePickerPropValue<TYPE extends DatePickerPropType> = (TYPE extends Range ? DateRange : Date) | null;
16
+ export declare type DatePickerPropPlaceholder<TYPE> = TYPE extends Range ? [string?, string?] | string : string;
16
17
  export declare type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (value: DatePickerPropValue<TYPE>, props: {
17
18
  e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;
18
19
  }) => void;
@@ -53,7 +54,7 @@ export declare type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =
53
54
  onFocus?: DatePickerPropOnFocus<TYPE>;
54
55
  onBlur?: DatePickerPropOnFocus<TYPE>;
55
56
  autoFocus?: boolean;
56
- placeholder?: string;
57
+ placeholder?: DatePickerPropPlaceholder<TYPE>;
57
58
  readOnly?: boolean;
58
59
  required?: boolean;
59
60
  tabIndex?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { DateTimePropView, dateTimePropViewDefault } from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (\n value: DatePickerPropValue<TYPE>,\n props: {\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n },\n) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n dropdownClassName?: string;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n isMobile?: number;\n withClearButton?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n },\n) => void;\n"],"mappings":"AAKA,OAA2BA,uBAA3B,2BAQA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAIP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAA7B,CAiBP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}
1
+ {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { DateTimePropView, dateTimePropViewDefault } from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropPlaceholder<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (\n value: DatePickerPropValue<TYPE>,\n props: {\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n },\n) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n dropdownClassName?: string;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: DatePickerPropPlaceholder<TYPE>;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n isMobile?: number;\n withClearButton?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n },\n) => void;\n"],"mappings":"AAKA,OAA2BA,uBAA3B,2BAQA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAIP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAA7B,CAqBP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}
@@ -1,2 +1,2 @@
1
- import{useEffect,useMemo,useState}from"react";import{isDateInRange}from"./isDateInRange";var calculateCurrentVisibleDate=function(a){var b=a.currentVisibleDate,c=a.minDate,d=a.maxDate,e=a.value;if(b)return b;if(Array.isArray(e)&&e[0])return e[0];if(Array.isArray(e)&&e[1])return e[1];if(e&&!Array.isArray(e))return e;var f=new Date;if(c&&d&&!isDateInRange(f,[c,d]))return c;if(c&&!d){var g=c.getTime(),h=f.getTime();if(h<g)return c}if(!c&&d){var i=d.getTime(),j=f.getTime();if(j>i)return d}return f};export var getCurrentVisibleDate=function(a){return a.startOfUnit(calculateCurrentVisibleDate(a))};export var useCurrentVisibleDate=function(a){var b,c,d,e,f=useMemo(function(){return getCurrentVisibleDate(a)},[(null===(b=a.currentVisibleDate)||void 0===b?void 0:b.getTime())||0,(null===(c=a.minDate)||void 0===c?void 0:c.getTime())||0,(null===(d=a.maxDate)||void 0===d?void 0:d.getTime())||0]),g=useState(f);return useEffect(function(){return g[1](f)},[f.getTime()]),useEffect(function(){var b;return g[0]&&(null===(b=a.onChangeCurrentVisibleDate)||void 0===b?void 0:b.call(a,g[0]))},[null===(e=g[0])||void 0===e?void 0:e.getTime()]),g};
1
+ import{useEffect,useMemo,useState}from"react";var clampDate=function(a,b,c){var d=a.getTime();return b&&d<b.getTime()?b:c&&d>c.getTime()?c:a},calculateCurrentVisibleDate=function(a){var b=a.currentVisibleDate,c=a.minDate,d=a.maxDate,e=a.value;if(b)return b;if(Array.isArray(e)&&e[0])return e[0];if(Array.isArray(e)&&e[1])return e[1];if(e&&!Array.isArray(e))return e;var f=new Date;return clampDate(f,c,d)};export var getCurrentVisibleDate=function(a){return a.startOfUnit(calculateCurrentVisibleDate(a))};export var useCurrentVisibleDate=function(a){var b,c,d,e,f=useMemo(function(){return getCurrentVisibleDate(a)},[(null===(b=a.currentVisibleDate)||void 0===b?void 0:b.getTime())||0,(null===(c=a.minDate)||void 0===c?void 0:c.getTime())||0,(null===(d=a.maxDate)||void 0===d?void 0:d.getTime())||0]),g=useState(f);return useEffect(function(){return g[1](f)},[f.getTime()]),useEffect(function(){var b;return g[0]&&(null===(b=a.onChangeCurrentVisibleDate)||void 0===b?void 0:b.call(a,g[0]))},[null===(e=g[0])||void 0===e?void 0:e.getTime()]),g};
2
2
  //# sourceMappingURL=useCurrentVisibleDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentVisibleDate.js","names":["useEffect","useMemo","useState","isDateInRange","calculateCurrentVisibleDate","currentVisibleDate","minDate","maxDate","value","Array","isArray","currentDate","Date","minDateTime","getTime","currentDateTime","maxDateTime","getCurrentVisibleDate","props","startOfUnit","useCurrentVisibleDate","state","onChangeCurrentVisibleDate"],"sources":["../../../../../../src/components/DateTime/helpers/useCurrentVisibleDate.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\nimport { DateRange } from '../../../utils/types/Date';\nimport { isDateInRange } from './isDateInRange';\n\ntype GetCurrentVisibleDateProps = {\n currentVisibleDate: Date | undefined;\n minDate: Date | undefined;\n maxDate: Date | undefined;\n value: Date | DateRange | undefined | null;\n startOfUnit: (date: Date) => Date;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n};\n\nexport type UseCurrentVisibleDateProps = GetCurrentVisibleDateProps & {\n onChangeCurrentVisibleDate?: (date: Date) => void;\n};\n\nconst calculateCurrentVisibleDate = ({\n currentVisibleDate,\n minDate,\n maxDate,\n value,\n}: GetCurrentVisibleDateProps): Date => {\n if (currentVisibleDate) {\n return currentVisibleDate;\n }\n\n if (Array.isArray(value) && value[0]) {\n return value[0];\n }\n\n if (Array.isArray(value) && value[1]) {\n return value[1];\n }\n\n if (value && !Array.isArray(value)) {\n return value;\n }\n\n const currentDate = new Date();\n\n if (minDate && maxDate && !isDateInRange(currentDate, [minDate, maxDate])) {\n return minDate;\n }\n\n if (minDate && !maxDate) {\n const minDateTime = minDate.getTime();\n const currentDateTime = currentDate.getTime();\n if (currentDateTime < minDateTime) {\n return minDate;\n }\n }\n\n if (!minDate && maxDate) {\n const maxDateTime = maxDate.getTime();\n const currentDateTime = currentDate.getTime();\n if (currentDateTime > maxDateTime) {\n return maxDate;\n }\n }\n\n return currentDate;\n};\n\nexport const getCurrentVisibleDate = (\n props: GetCurrentVisibleDateProps,\n): Date => props.startOfUnit(calculateCurrentVisibleDate(props));\n\nexport const useCurrentVisibleDate = (props: UseCurrentVisibleDateProps) => {\n const currentVisibleDate = useMemo(() => {\n return getCurrentVisibleDate(props);\n }, [\n props.currentVisibleDate?.getTime() || 0,\n props.minDate?.getTime() || 0,\n props.maxDate?.getTime() || 0,\n ]);\n\n const state = useState<Date>(currentVisibleDate);\n\n useEffect(() => state[1](currentVisibleDate), [currentVisibleDate.getTime()]);\n\n useEffect(\n () => state[0] && props.onChangeCurrentVisibleDate?.(state[0]),\n [state[0]?.getTime()],\n );\n\n return state;\n};\n"],"mappings":"AAAA,OAASA,SAAT,CAAoBC,OAApB,CAA6BC,QAA7B,KAA6C,OAA7C,CAGA,OAASC,aAAT,uBAeA,GAAMC,4BAA2B,CAAG,WAKI,IAJtCC,EAIsC,GAJtCA,kBAIsC,CAHtCC,CAGsC,GAHtCA,OAGsC,CAFtCC,CAEsC,GAFtCA,OAEsC,CADtCC,CACsC,GADtCA,KACsC,CACtC,GAAIH,CAAJ,CACE,MAAOA,EAAP,CAGF,GAAII,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIC,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIA,CAAK,EAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,CAAd,CAAd,CACE,MAAOA,EAAP,CAGF,GAAMG,EAAW,CAAG,GAAIC,KAAxB,CAEA,GAAIN,CAAO,EAAIC,CAAX,EAAsB,CAACJ,aAAa,CAACQ,CAAD,CAAc,CAACL,CAAD,CAAUC,CAAV,CAAd,CAAxC,CACE,MAAOD,EAAP,CAGF,GAAIA,CAAO,EAAI,CAACC,CAAhB,CAAyB,IACjBM,EAAW,CAAGP,CAAO,CAACQ,OAAR,EADG,CAEjBC,CAAe,CAAGJ,CAAW,CAACG,OAAZ,EAFD,CAGvB,GAAIC,CAAe,CAAGF,CAAtB,CACE,MAAOP,EAEV,CAED,GAAI,CAACA,CAAD,EAAYC,CAAhB,CAAyB,IACjBS,EAAW,CAAGT,CAAO,CAACO,OAAR,EADG,CAEjBC,CAAe,CAAGJ,CAAW,CAACG,OAAZ,EAFD,CAGvB,GAAIC,CAAe,CAAGC,CAAtB,CACE,MAAOT,EAEV,CAED,MAAOI,EACR,CA7CD,CA+CA,MAAO,IAAMM,sBAAqB,CAAG,SACnCC,CADmC,QAE1BA,EAAK,CAACC,WAAN,CAAkBf,2BAA2B,CAACc,CAAD,CAA7C,CAF0B,CAA9B,CAIP,MAAO,IAAME,sBAAqB,CAAG,SAACF,CAAD,CAAuC,aACpEb,CAAkB,CAAGJ,OAAO,CAAC,UAAM,CACvC,MAAOgB,sBAAqB,CAACC,CAAD,CAC7B,CAFiC,CAE/B,CACD,WAAAA,CAAK,CAACb,kBAAN,uBAA0BS,OAA1B,KAAuC,CADtC,CAED,WAAAI,CAAK,CAACZ,OAAN,uBAAeQ,OAAf,KAA4B,CAF3B,CAGD,WAAAI,CAAK,CAACX,OAAN,uBAAeO,OAAf,KAA4B,CAH3B,CAF+B,CADwC,CASpEO,CAAK,CAAGnB,QAAQ,CAAOG,CAAP,CAToD,CAkB1E,MAPAL,UAAS,CAAC,iBAAMqB,EAAK,CAAC,CAAD,CAAL,CAAShB,CAAT,CAAN,CAAD,CAAqC,CAACA,CAAkB,CAACS,OAAnB,EAAD,CAArC,CAOT,CALAd,SAAS,CACP,uBAAMqB,EAAK,CAAC,CAAD,CAAL,aAAYH,CAAK,CAACI,0BAAlB,qBAAY,OAAAJ,CAAK,CAA8BG,CAAK,CAAC,CAAD,CAAnC,CAAjB,CAAN,CADO,CAEP,WAACA,CAAK,CAAC,CAAD,CAAN,qBAAC,EAAUP,OAAV,EAAD,CAFO,CAKT,CAAOO,CACR,CAnBM"}
1
+ {"version":3,"file":"useCurrentVisibleDate.js","names":["useEffect","useMemo","useState","clampDate","currentDate","minDate","maxDate","currentDateTime","getTime","calculateCurrentVisibleDate","currentVisibleDate","value","Array","isArray","Date","getCurrentVisibleDate","props","startOfUnit","useCurrentVisibleDate","state","onChangeCurrentVisibleDate"],"sources":["../../../../../../src/components/DateTime/helpers/useCurrentVisibleDate.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\nimport { DateRange } from '../../../utils/types/Date';\n\ntype GetCurrentVisibleDateProps = {\n currentVisibleDate: Date | undefined;\n minDate: Date | undefined;\n maxDate: Date | undefined;\n value: Date | DateRange | undefined | null;\n startOfUnit: (date: Date) => Date;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n};\n\nexport type UseCurrentVisibleDateProps = GetCurrentVisibleDateProps & {\n onChangeCurrentVisibleDate?: (date: Date) => void;\n};\n\nconst clampDate = (\n currentDate: Date,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): Date => {\n const currentDateTime = currentDate.getTime();\n\n if (minDate && currentDateTime < minDate.getTime()) {\n return minDate;\n }\n\n if (maxDate && currentDateTime > maxDate.getTime()) {\n return maxDate;\n }\n\n return currentDate;\n};\n\nconst calculateCurrentVisibleDate = ({\n currentVisibleDate,\n minDate,\n maxDate,\n value,\n}: GetCurrentVisibleDateProps): Date => {\n if (currentVisibleDate) {\n return currentVisibleDate;\n }\n\n if (Array.isArray(value) && value[0]) {\n return value[0];\n }\n\n if (Array.isArray(value) && value[1]) {\n return value[1];\n }\n\n if (value && !Array.isArray(value)) {\n return value;\n }\n\n // По хорошему было бы неплохо абстрагировать получение текущей даты\n // чтобы не использовать моки через jest\n const currentDate = new Date();\n\n return clampDate(currentDate, minDate, maxDate);\n};\n\nexport const getCurrentVisibleDate = (\n props: GetCurrentVisibleDateProps,\n): Date => props.startOfUnit(calculateCurrentVisibleDate(props));\n\nexport const useCurrentVisibleDate = (props: UseCurrentVisibleDateProps) => {\n const currentVisibleDate = useMemo(() => {\n return getCurrentVisibleDate(props);\n }, [\n props.currentVisibleDate?.getTime() || 0,\n props.minDate?.getTime() || 0,\n props.maxDate?.getTime() || 0,\n ]);\n\n const state = useState<Date>(currentVisibleDate);\n\n useEffect(() => state[1](currentVisibleDate), [currentVisibleDate.getTime()]);\n\n useEffect(\n () => state[0] && props.onChangeCurrentVisibleDate?.(state[0]),\n [state[0]?.getTime()],\n );\n\n return state;\n};\n"],"mappings":"AAAA,OAASA,SAAT,CAAoBC,OAApB,CAA6BC,QAA7B,KAA6C,OAA7C,C,GAiBMC,UAAS,CAAG,SAChBC,CADgB,CAEhBC,CAFgB,CAGhBC,CAHgB,CAIP,CACT,GAAMC,EAAe,CAAGH,CAAW,CAACI,OAAZ,EAAxB,CADS,MAGLH,EAAO,EAAIE,CAAe,CAAGF,CAAO,CAACG,OAAR,EAHxB,CAIAH,CAJA,CAOLC,CAAO,EAAIC,CAAe,CAAGD,CAAO,CAACE,OAAR,EAPxB,CAQAF,CARA,CAWFF,CACR,C,CAEKK,2BAA2B,CAAG,WAKI,IAJtCC,EAIsC,GAJtCA,kBAIsC,CAHtCL,CAGsC,GAHtCA,OAGsC,CAFtCC,CAEsC,GAFtCA,OAEsC,CADtCK,CACsC,GADtCA,KACsC,CACtC,GAAID,CAAJ,CACE,MAAOA,EAAP,CAGF,GAAIE,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIC,KAAK,CAACC,OAAN,CAAcF,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIA,CAAK,EAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,CAAd,CAAd,CACE,MAAOA,EAAP,CAKF,GAAMP,EAAW,CAAG,GAAIU,KAAxB,CAEA,MAAOX,UAAS,CAACC,CAAD,CAAcC,CAAd,CAAuBC,CAAvB,CACjB,C,CAED,MAAO,IAAMS,sBAAqB,CAAG,SACnCC,CADmC,QAE1BA,EAAK,CAACC,WAAN,CAAkBR,2BAA2B,CAACO,CAAD,CAA7C,CAF0B,CAA9B,CAIP,MAAO,IAAME,sBAAqB,CAAG,SAACF,CAAD,CAAuC,aACpEN,CAAkB,CAAGT,OAAO,CAAC,UAAM,CACvC,MAAOc,sBAAqB,CAACC,CAAD,CAC7B,CAFiC,CAE/B,CACD,WAAAA,CAAK,CAACN,kBAAN,uBAA0BF,OAA1B,KAAuC,CADtC,CAED,WAAAQ,CAAK,CAACX,OAAN,uBAAeG,OAAf,KAA4B,CAF3B,CAGD,WAAAQ,CAAK,CAACV,OAAN,uBAAeE,OAAf,KAA4B,CAH3B,CAF+B,CADwC,CASpEW,CAAK,CAAGjB,QAAQ,CAAOQ,CAAP,CAToD,CAkB1E,MAPAV,UAAS,CAAC,iBAAMmB,EAAK,CAAC,CAAD,CAAL,CAAST,CAAT,CAAN,CAAD,CAAqC,CAACA,CAAkB,CAACF,OAAnB,EAAD,CAArC,CAOT,CALAR,SAAS,CACP,uBAAMmB,EAAK,CAAC,CAAD,CAAL,aAAYH,CAAK,CAACI,0BAAlB,qBAAY,OAAAJ,CAAK,CAA8BG,CAAK,CAAC,CAAD,CAAnC,CAAjB,CAAN,CADO,CAEP,WAACA,CAAK,CAAC,CAAD,CAAN,qBAAC,EAAUX,OAAV,EAAD,CAFO,CAKT,CAAOW,CACR,CAnBM"}