@consta/uikit 5.15.0 → 5.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/StepsCanary/index.d.ts +1 -0
- package/StepsCanary/index.js +1 -0
- package/__internal__/src/components/Attachment/Attachment.css +1 -1
- package/__internal__/src/components/Attachment/Attachment.js +1 -1
- package/__internal__/src/components/Attachment/Attachment.js.map +1 -1
- package/__internal__/src/components/Attachment/types.d.ts +23 -4
- package/__internal__/src/components/Attachment/types.js.map +1 -1
- package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -1
- package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -1
- package/__internal__/src/components/AvatarGroup/helpers.d.ts +6 -6
- package/__internal__/src/components/Badge/Badge.css +3 -1
- package/__internal__/src/components/Badge/Badge.js +1 -1
- package/__internal__/src/components/Badge/Badge.js.map +1 -1
- package/__internal__/src/components/BadgeGroup/helper.d.ts +2 -2
- package/__internal__/src/components/BookmarkTabs/helper.d.ts +6 -6
- package/__internal__/src/components/Breadcrumbs/helpers.d.ts +6 -6
- package/__internal__/src/components/Button/Button.css +1 -1
- package/__internal__/src/components/Button/Button.js +1 -1
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/helper.d.ts +6 -6
- package/__internal__/src/components/Chips/helpers.d.ts +2 -2
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.d.ts +2 -2
- package/__internal__/src/components/ChoiceGroup/helper.d.ts +7 -7
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +10 -10
- package/__internal__/src/components/Combobox/helpers.d.ts +3 -3
- package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +3 -3
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +4 -4
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/timeForMap.d.ts +2 -0
- package/__internal__/src/components/DatePicker/timeForMap.js +2 -0
- package/__internal__/src/components/DatePicker/timeForMap.js.map +1 -0
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.d.ts +1 -1
- package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.d.ts +2 -1
- package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.js +1 -1
- package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.js.map +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropField.d.ts +1 -1
- package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.d.ts +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useCheckboxEventsHandler.d.ts +2 -2
- package/__internal__/src/components/FieldComponents/FieldButton/FieldButton.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldCounter/FieldCounter.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldIcon/FieldIcon.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldInput/FieldInput.d.ts +1 -1
- package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.d.ts +1 -1
- package/__internal__/src/components/FieldGroup/FieldGroup.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListBox/ListBox.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListDivider/ListDivider.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListLoader/ListLoader.d.ts +1 -1
- package/__internal__/src/components/ListCanary/helper.d.ts +1 -1
- package/__internal__/src/components/Loader/Loader.css +1 -3
- package/__internal__/src/components/Loader/Loader.d.ts +6 -2
- package/__internal__/src/components/Loader/Loader.js +1 -1
- package/__internal__/src/components/Loader/Loader.js.map +1 -1
- package/__internal__/src/components/Loader/types.d.ts +6 -4
- package/__internal__/src/components/Loader/types.js +1 -1
- package/__internal__/src/components/Loader/types.js.map +1 -1
- package/__internal__/src/components/Modal/Modal.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationArrow/PaginationArrow.d.ts +2 -2
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.d.ts +2 -2
- package/__internal__/src/components/Picture/Picture.d.ts +1 -1
- package/__internal__/src/components/Popover/Popover.d.ts +1 -1
- package/__internal__/src/components/Popover/Popover.js.map +1 -1
- package/__internal__/src/components/ProgressLine/helpers.d.ts +5 -5
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +2 -2
- package/__internal__/src/components/RadioGroup/helper.d.ts +6 -6
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Select/helpers.d.ts +3 -3
- package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +1 -1
- package/__internal__/src/components/SelectComponentsDeprecated/SelectContainer/SelectContainer.d.ts +1 -1
- package/__internal__/src/components/SelectDeprecated/helpers.d.ts +3 -3
- package/__internal__/src/components/SnackBar/helper.d.ts +5 -5
- package/__internal__/src/components/Steps/helper.d.ts +5 -5
- package/__internal__/src/components/StepsCanary/Steps.css +1 -0
- package/__internal__/src/components/StepsCanary/StepsCanary.d.ts +5 -0
- package/__internal__/src/components/StepsCanary/StepsCanary.js +2 -0
- package/__internal__/src/components/StepsCanary/StepsCanary.js.map +1 -0
- package/__internal__/src/components/StepsCanary/StepsItem/StepsItem.css +1 -0
- package/__internal__/src/components/StepsCanary/StepsItem/StepsItem.d.ts +21 -0
- package/__internal__/src/components/StepsCanary/StepsItem/StepsItem.js +2 -0
- package/__internal__/src/components/StepsCanary/StepsItem/StepsItem.js.map +1 -0
- package/__internal__/src/components/StepsCanary/StepsItem/index.d.ts +1 -0
- package/__internal__/src/components/StepsCanary/StepsItem/index.js +2 -0
- package/__internal__/src/components/StepsCanary/StepsItem/index.js.map +1 -0
- package/__internal__/src/components/StepsCanary/helper.d.ts +273 -0
- package/__internal__/src/components/StepsCanary/helper.js +2 -0
- package/__internal__/src/components/StepsCanary/helper.js.map +1 -0
- package/__internal__/src/components/StepsCanary/index.d.ts +1 -0
- package/__internal__/src/components/StepsCanary/index.js +2 -0
- package/__internal__/src/components/StepsCanary/index.js.map +1 -0
- package/__internal__/src/components/StepsCanary/types.d.ts +40 -0
- package/__internal__/src/components/StepsCanary/types.js +2 -0
- package/__internal__/src/components/StepsCanary/types.js.map +1 -0
- package/__internal__/src/components/Switch/Switch.d.ts +2 -2
- package/__internal__/src/components/SwitchGroup/helpers.d.ts +6 -6
- package/__internal__/src/components/Table/Resizer/TableResizer.js.map +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +21 -21
- package/__internal__/src/components/Tag/Tag.d.ts +1 -0
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.css +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +3 -1
- package/__internal__/src/components/TagBase/TagBase.js +1 -1
- package/__internal__/src/components/TagBase/TagBase.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/helpers.d.ts +7 -7
- package/__internal__/src/components/Timer/Timer.d.ts +1 -1
- package/__internal__/src/components/Tooltip/Tooltip.d.ts +1 -1
- package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +1 -1
- package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.d.ts +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
- package/__internal__/src/components/UserSelectDeprecated/helpers.d.ts +2 -2
- package/__internal__/src/fileIcons/FileIcon/FileIcon.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +1 -1
- package/__internal__/src/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/__internal__/src/hooks/useScrollElements/useScrollElements.d.ts +1 -1
- package/__internal__/src/hooks/useScrollElements/useScrollElements.js +1 -1
- package/__internal__/src/hooks/useScrollElements/useScrollElements.js.map +1 -1
- package/__internal__/src/uiKit/components/ThemePreview/helpers.d.ts +7 -7
- package/__internal__/src/uiKit/components/ThemePreview/helpers.js +1 -1
- package/__internal__/src/uiKit/components/ThemePreview/helpers.js.map +1 -1
- package/package.json +1 -1
package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef","disableDates"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=a.locale,f=a.dropdownForm,g=a.dropdownClassName,h=a.dropdownRef,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.multiplicityHours,l=a.multiplicityMinutes,m=a.multiplicitySeconds,n=a.renderAdditionalControls,o=a.onDropdownOpen,p=a.dropdownOpen,q=a.ignoreOutsideClicksRefs,r=a.disabled,s=a.inputRef,t=a.disableDates,u=_objectWithoutProperties(a,_excluded),v=getMultiplicityTime(u.format||datePickerPropFormatTypeDateTime,k,l,m),w=_slicedToArray(v,3),x=w[0],y=w[1],z=w[2],A=useRef(null),B=useRef(null),C=useRef(null),D=useCalendarVisible({dropdownOpen:p,onDropdownOpen:o,disabled:r,startRef:C}),E=_slicedToArray(D,2),F=E[0],G=E[1],H=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:j,calendarVisible:F}),I=_slicedToArray(H,2),J=I[0],K=I[1];return useEffect(function(){b&&setRef(b,A.current)},[b,A]),useEffect(function(){if(a.value&&"classic"===d&&J){var b=startOfMonth(a.value);return void(b.getTime()!==J.getTime()&&K(b))}if(a.value&&"classic"!==d&&J){var c=startOfMonth(a.value);c.getTime()!==J.getTime()&&c.getTime()!==addMonths(J,1).getTime()&&K(c)}},[a.value]),useClickOutside({isActive:F,ignoreClicksInsideRefs:[A,B].concat(_toConsumableArray(null!==q&&void 0!==q?q:[])),handler:G.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTime,Object.assign({},u,{ref:A,inputRef:useForkRef([C,s]),onClick:G.on,multiplicityHours:x,multiplicitySeconds:z,multiplicityMinutes:y,disabled:r})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,B]),anchorRef:A,isOpen:F,value:a.value||void 0,type:"date-time",view:"classic",events:c,className:g,locale:e,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:J,form:f,onChange:a.onChange,renderAdditionalControls:n,onChangeCurrentVisibleDate:K,multiplicityHours:x,multiplicitySeconds:z,multiplicityMinutes:y,zIndex:getDropdownZIndex(a.style),disableDates:t}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDateTime.js.map
|
package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDateTime.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDateTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","dropdownRef","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","disableDates","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport { DatePickerTypeComponent } from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView,\n locale,\n dropdownForm,\n dropdownClassName,\n dropdownRef,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n disableDates,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date-time\"\n view=\"classic\"\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\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","placeholder","multiplicityMinutes","dropdownClassName","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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{
|
|
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","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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{getTimeFof}from"../timeForMap";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=a.locale,j=a.dropdownForm,k=a.onFocus,l=a.onBlur,m=a.leftSide,n=a.rightSide,o=a.currentVisibleDate,p=a.onChangeCurrentVisibleDate,q=a.renderAdditionalControls,r=a.inputRef,s=a.name,t=a.placeholder,u=a.multiplicityMinutes,v=a.dropdownClassName,w=a.dropdownRef,x=a.multiplicitySeconds,y=a.multiplicityHours,z=a.onDropdownOpen,A=a.dropdownOpen,B=a.ignoreOutsideClicksRefs,C=a.disabled,D=a.disableDates,E=_objectWithoutProperties(a,_excluded),F=useRef(null),G=useRef(null),H=useRef(null),I=useRef(null),J=useRef(null),K=useState(),L=_slicedToArray(K,2),M=L[0],N=L[1],O=0===M,P=1===M,Q=useCalendarVisible({dropdownOpen:A,onDropdownOpen:z,disabled:C,startRef:H,endRef:I}),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useCurrentVisibleDate({currentVisibleDate:o,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:p,calendarVisible:S,rangeIndex:M}),V=_slicedToArray(U,2),W=V[0],X=V[1];return useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[0]&&O){var c=startOfMonth(a.value[0]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),S,O]),useEffect(function(){var b;if(null!==(b=a.value)&&void 0!==b&&b[1]&&P){var c=startOfMonth(a.value[1]);c.getTime()!==(null===W||void 0===W?void 0:W.getTime())&&X(c)}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),S,P]),useClickOutside({isActive:S,ignoreClicksInsideRefs:[F,G,J].concat(_toConsumableArray(null!==B&&void 0!==B?B:[])),handler:useCallback(function(){N(void 0),T.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateTimeRange,Object.assign({},E,{ref:b,startFieldRef:F,endFieldRef:G,startFieldInputRef:useForkRef([H,null===r||void 0===r?void 0:r[0]]),endFieldInputRef:useForkRef([I,null===r||void 0===r?void 0:r[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;N(0),Array.isArray(k)?null===(b=k[0])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;N(1),Array.isArray(k)?null===(b=k[1])||void 0===b?void 0:b.call(k,a):null===k||void 0===k?void 0:k(a)},startFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[0]:m,startFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:void 0,endFieldLeftSide:Array.isArray(m)?null===m||void 0===m?void 0:m[1]:void 0,endFieldRightSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:n,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return 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)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return 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)},startFieldOnClick:T.on,endFieldOnClick:T.on,startFocused:O,endFocused:P,startFieldName:getFieldName(s,0),endFieldName:getFieldName(s,1),disabled:C,startFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[0]:t,endFieldPlaceholder:Array.isArray(t)?null===t||void 0===t?void 0:t[1]:t})),React.createElement(DatePickerDropdown,{type:"date-time",ref:useForkRef([w,J]),anchorRef:F,isOpen:S,className:v,onChangeCurrentVisibleDate:X,currentVisibleDate:W,value:a.value||void 0,timeFor:getTimeFof(M),view:"classic",events:g,locale:i,minDate:a.minDate,maxDate:a.maxDate,form:j,onChange:function handleChange(b,c){var d=c.e;if(O){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(P){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:q,multiplicityMinutes:u,multiplicitySeconds:x,multiplicityHours:y,zIndex:getDropdownZIndex(a.style),disableDates:D}))});
|
|
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","placeholder","multiplicityMinutes","dropdownClassName","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","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","handleChange","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 dropdownRef,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\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 handleChange: 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={useForkRef([dropdownRef, 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={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\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","getTimeFof","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","multiplicityMinutes","dropdownClassName","dropdownRef","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","rangeIndex","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","handleChange","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 { getTimeFof } from '../timeForMap';\nimport { DatePickerTypeComponent } 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,\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 dropdownRef,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\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<0 | 1 | undefined>();\n\n const startFocused = fieldFocused === 0;\n const endFocused = fieldFocused === 1;\n\n const handleChange: 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 rangeIndex: fieldFocused,\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(0);\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(1);\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(undefined);\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={useForkRef([dropdownRef, calendarRef])}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={getTimeFof(fieldFocused)}\n view=\"classic\"\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","dropdownRef","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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.dropdownRef,o=a.onBlur,p=a.leftSide,q=a.rightSide,r=a.currentVisibleDate,s=a.onChangeCurrentVisibleDate,t=a.renderAdditionalControls,u=a.inputRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(
|
|
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","dropdownRef","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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.dropdownRef,o=a.onBlur,p=a.leftSide,q=a.rightSide,r=a.currentVisibleDate,s=a.onChangeCurrentVisibleDate,t=a.renderAdditionalControls,u=a.inputRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(),J=_slicedToArray(I,2),K=J[0],L=J[1],M=0===K,N=1===K,O=useCalendarVisible({dropdownOpen:y,onDropdownOpen:x,disabled:A,startRef:F,endRef:G}),P=_slicedToArray(O,2),Q=P[0],R=P[1],S=useCurrentVisibleDate({currentVisibleDate:r,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:s,calendarVisible:Q,rangeIndex:K}),T=_slicedToArray(S,2),U=T[0],V=T[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&M){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&M){var e=startOfYear(a.value[0]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addYears(U,1).getTime())&&V(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),Q,M]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&N){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&N){var e=startOfYear(a.value[1]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addYears(U,1).getTime())&&V(addYears(e,-1))}},[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!==z&&void 0!==z?z:[])),handler:useCallback(function(){L(void 0),R.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},C,{ref:b,startFieldRef:D,endFieldRef:E,startFieldInputRef:useForkRef([F,null===u||void 0===u?void 0:u[0]]),endFieldInputRef:useForkRef([G,null===u||void 0===u?void 0:u[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;L(0),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(1),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(p)?null===p||void 0===p?void 0:p[0]:p,startFieldRightSide:Array.isArray(q)?null===q||void 0===q?void 0:q[0]:void 0,endFieldLeftSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:void 0,endFieldRightSide:Array.isArray(q)?null===q||void 0===q?void 0:q[1]:q,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(o)?null===(b=o[0])||void 0===b?void 0:b.call(o,a):null===o||void 0===o?void 0:o(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(o)?null===(b=o[1])||void 0===b?void 0:b.call(o,a):null===o||void 0===o?void 0:o(a)},startFocused:M,endFocused:N,startFieldOnClick:R.on,endFieldOnClick:R.on,startFieldName:Array.isArray(v)?v[0]:"".concat(v,"_start"),endFieldName:Array.isArray(v)?v[1]:"".concat(v,"_end"),disabled:A,startFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[0]:w,endFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[1]:w})),React.createElement(DatePickerDropdown,{type:"month",ref:useForkRef([n,H]),anchorRef:D,isOpen:Q,onChangeCurrentVisibleDate:V,currentVisibleDate:U,value:a.value||void 0,view:i,events:g,className:m,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function handleChange(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:t,zIndex:getDropdownZIndex(a.style),disableDates:B}))});
|
|
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","dropdownRef","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","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","handleChange","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 dropdownRef,\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 disableDates,\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 handleChange: 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={useForkRef([dropdownRef, 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={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\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","dropdownRef","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","rangeIndex","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","handleChange","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 dropdownRef,\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 disableDates,\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<0 | 1 | undefined>();\n\n const startFocused = fieldFocused === 0;\n const endFocused = fieldFocused === 1;\n\n const handleChange: 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 rangeIndex: fieldFocused,\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(0);\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(1);\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(undefined);\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={useForkRef([dropdownRef, 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={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","dropdownRef","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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.dropdownRef,p=a.leftSide,q=a.rightSide,r=a.currentVisibleDate,s=a.onChangeCurrentVisibleDate,t=a.renderAdditionalControls,u=a.inputRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(
|
|
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","dropdownRef","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];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.dropdownRef,p=a.leftSide,q=a.rightSide,r=a.currentVisibleDate,s=a.onChangeCurrentVisibleDate,t=a.renderAdditionalControls,u=a.inputRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(),J=_slicedToArray(I,2),K=J[0],L=J[1],M=0===K,N=1===K,O=useCalendarVisible({dropdownOpen:y,onDropdownOpen:x,disabled:A,startRef:F,endRef:G}),P=_slicedToArray(O,2),Q=P[0],R=P[1],S=useCurrentVisibleDate({currentVisibleDate:r,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:s,calendarVisible:Q,rangeIndex:K}),T=_slicedToArray(S,2),U=T[0],V=T[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&M){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&M){var e=startOfDecade(a.value[0]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addYears(U,10).getTime())&&V(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),Q,M]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&N){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&N){var e=startOfDecade(a.value[1]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addYears(U,10).getTime())&&V(addYears(e,-10))}},[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!==z&&void 0!==z?z:[])),handler:function handler(){L(void 0),R.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},C,{ref:b,startFieldRef:D,endFieldRef:E,startFieldInputRef:useForkRef([F,null===u||void 0===u?void 0:u[0]]),endFieldInputRef:useForkRef([G,null===u||void 0===u?void 0:u[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;L(0),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(1),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(p)?null===p||void 0===p?void 0:p[0]:p,startFieldRightSide:Array.isArray(q)?null===q||void 0===q?void 0:q[0]:void 0,endFieldLeftSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:void 0,endFieldRightSide:Array.isArray(q)?null===q||void 0===q?void 0:q[1]:q,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:M,endFocused:N,startFieldOnClick:R.on,endFieldOnClick:R.on,startFieldName:Array.isArray(v)?v[0]:"".concat(v,"_start"),endFieldName:Array.isArray(v)?v[1]:"".concat(v,"_end"),disabled:A,startFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[0]:w,endFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[1]:w})),React.createElement(DatePickerDropdown,{type:"year",ref:useForkRef([o,H]),anchorRef:D,isOpen:Q,onChangeCurrentVisibleDate:V,currentVisibleDate:U,value:a.value||void 0,view:i,events:g,locale:j,className:n,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function handleChange(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:t,zIndex:getDropdownZIndex(a.style),disableDates:B}))});
|
|
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","dropdownRef","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","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","handleChange","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 dropdownRef,\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 disableDates,\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 handleChange: 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={useForkRef([dropdownRef, 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={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\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","dropdownRef","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","rangeIndex","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","handleChange","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 dropdownRef,\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 disableDates,\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<0 | 1 | undefined>();\n\n const startFocused = fieldFocused === 0;\n const endFocused = fieldFocused === 1;\n\n const handleChange: 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 rangeIndex: fieldFocused,\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(0);\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused(1);\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(undefined);\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={useForkRef([dropdownRef, 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={handleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n disableDates={disableDates}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeForMap.js","names":["isNumber","timeForMap","getTimeFof","focusedFieldIndex"],"sources":["../../../../../src/components/DatePicker/timeForMap.ts"],"sourcesContent":["import { isNumber } from '##/utils/type-guards';\n\nexport const timeForMap: Record<0 | 1, 'start' | 'end'> = {\n 0: 'start',\n 1: 'end',\n};\n\nexport const getTimeFof = (focusedFieldIndex: 0 | 1 | undefined) => {\n if (isNumber(focusedFieldIndex)) {\n return timeForMap[focusedFieldIndex];\n }\n};\n"],"mappings":"AAAA,OAASA,QAAT,+BAEA,MAAO,IAAMC,WAA0C,CAAG,CACxD,EAAG,OADqD,CAExD,EAAG,KAFqD,CAAnD,CAKP,MAAO,IAAMC,WAAU,CAAG,SAACC,CAAD,CAA0C,CAClE,GAAIH,QAAQ,CAACG,CAAD,CAAZ,CACE,MAAOF,WAAU,CAACE,CAAD,CAEpB,CAJM"}
|
|
@@ -11,4 +11,4 @@ export declare type DateTimeItemProps = PropsWithJsxAttributes<{
|
|
|
11
11
|
children?: never;
|
|
12
12
|
}, 'button'>;
|
|
13
13
|
export declare const cnDateTimeItem: import("@bem-react/classname").ClassNameFormatter;
|
|
14
|
-
export declare const DateTimeItem: React.ForwardRefExoticComponent<Pick<DateTimeItemProps, "
|
|
14
|
+
export declare const DateTimeItem: React.ForwardRefExoticComponent<Pick<DateTimeItemProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "type" | "form" | "label" | "key" | "name" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "selected" | "current" | "event"> & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { DateRange } from
|
|
2
|
+
import { DateRange } from "../../../utils/types/Date";
|
|
3
3
|
declare type GetCurrentVisibleDateProps = {
|
|
4
4
|
currentVisibleDate: Date | undefined;
|
|
5
5
|
minDate: Date | undefined;
|
|
@@ -7,6 +7,7 @@ declare type GetCurrentVisibleDateProps = {
|
|
|
7
7
|
value: Date | DateRange | undefined | null;
|
|
8
8
|
startOfUnit: (date: Date) => Date;
|
|
9
9
|
onChangeCurrentVisibleDate?: (date: Date) => void;
|
|
10
|
+
rangeIndex?: number;
|
|
10
11
|
};
|
|
11
12
|
export declare type UseCurrentVisibleDateProps = GetCurrentVisibleDateProps & {
|
|
12
13
|
onChangeCurrentVisibleDate?: (date: Date) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
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
|
|
1
|
+
import{useEffect,useMemo,useState}from"react";import{isNumber}from"../../../utils/type-guards";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,f=a.rangeIndex;if(b)return b;if(Array.isArray(e)&&isNumber(f)){var h=e[f];if(h)return h}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 g=new Date;return clampDate(g,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","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 '
|
|
1
|
+
{"version":3,"file":"useCurrentVisibleDate.js","names":["useEffect","useMemo","useState","isNumber","clampDate","currentDate","minDate","maxDate","currentDateTime","getTime","calculateCurrentVisibleDate","currentVisibleDate","value","rangeIndex","Array","isArray","date","Date","getCurrentVisibleDate","props","startOfUnit","useCurrentVisibleDate","state","onChangeCurrentVisibleDate"],"sources":["../../../../../../src/components/DateTime/helpers/useCurrentVisibleDate.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\nimport { isNumber } from '##/utils/type-guards';\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 rangeIndex?: number;\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 rangeIndex,\n}: GetCurrentVisibleDateProps): Date => {\n if (currentVisibleDate) {\n return currentVisibleDate;\n }\n\n if (Array.isArray(value) && isNumber(rangeIndex)) {\n const date = value[rangeIndex];\n if (date) {\n return date;\n }\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 // чтобы не использовать mocks через 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,CAEA,OAASC,QAAT,kC,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,WAMI,IALtCC,EAKsC,GALtCA,kBAKsC,CAJtCL,CAIsC,GAJtCA,OAIsC,CAHtCC,CAGsC,GAHtCA,OAGsC,CAFtCK,CAEsC,GAFtCA,KAEsC,CADtCC,CACsC,GADtCA,UACsC,CACtC,GAAIF,CAAJ,CACE,MAAOA,EAAP,CAGF,GAAIG,KAAK,CAACC,OAAN,CAAcH,CAAd,GAAwBT,QAAQ,CAACU,CAAD,CAApC,CAAkD,CAChD,GAAMG,EAAI,CAAGJ,CAAK,CAACC,CAAD,CAAlB,CACA,GAAIG,CAAJ,CACE,MAAOA,EAEV,CAED,GAAIF,KAAK,CAACC,OAAN,CAAcH,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIE,KAAK,CAACC,OAAN,CAAcH,CAAd,GAAwBA,CAAK,CAAC,CAAD,CAAjC,CACE,MAAOA,EAAK,CAAC,CAAD,CAAZ,CAGF,GAAIA,CAAK,EAAI,CAACE,KAAK,CAACC,OAAN,CAAcH,CAAd,CAAd,CACE,MAAOA,EAAP,CAKF,GAAMP,EAAW,CAAG,GAAIY,KAAxB,CAEA,MAAOb,UAAS,CAACC,CAAD,CAAcC,CAAd,CAAuBC,CAAvB,CACjB,C,CAED,MAAO,IAAMW,sBAAqB,CAAG,SACnCC,CADmC,QAE1BA,EAAK,CAACC,WAAN,CAAkBV,2BAA2B,CAACS,CAAD,CAA7C,CAF0B,CAA9B,CAIP,MAAO,IAAME,sBAAqB,CAAG,SAACF,CAAD,CAAuC,aACpER,CAAkB,CAAGV,OAAO,CAAC,UAAM,CACvC,MAAOiB,sBAAqB,CAACC,CAAD,CAC7B,CAFiC,CAE/B,CACD,WAAAA,CAAK,CAACR,kBAAN,uBAA0BF,OAA1B,KAAuC,CADtC,CAED,WAAAU,CAAK,CAACb,OAAN,uBAAeG,OAAf,KAA4B,CAF3B,CAGD,WAAAU,CAAK,CAACZ,OAAN,uBAAeE,OAAf,KAA4B,CAH3B,CAF+B,CADwC,CASpEa,CAAK,CAAGpB,QAAQ,CAAOS,CAAP,CAToD,CAkB1E,MAPAX,UAAS,CAAC,iBAAMsB,EAAK,CAAC,CAAD,CAAL,CAASX,CAAT,CAAN,CAAD,CAAqC,CAACA,CAAkB,CAACF,OAAnB,EAAD,CAArC,CAOT,CALAT,SAAS,CACP,uBAAMsB,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,EAAUb,OAAV,EAAD,CAFO,CAKT,CAAOa,CACR,CAnBM"}
|
|
@@ -10,5 +10,5 @@ export declare const DragNDropField: React.ForwardRefExoticComponent<{
|
|
|
10
10
|
children?: React.ReactNode | import("./types").DragNDropFieldChildrenRenderProp;
|
|
11
11
|
locale?: import("./locale").Locale | undefined;
|
|
12
12
|
disabled?: boolean | undefined;
|
|
13
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "
|
|
13
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "disabled" | "accept" | "multiple" | "locale" | "maxSize" | "minSize" | "onDropFiles"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
14
|
export * from './types';
|
|
@@ -13,5 +13,5 @@ export declare const DragNDropField: React.ForwardRefExoticComponent<{
|
|
|
13
13
|
onDropAccepted?: (<T_1 extends File>(files: T_1[]) => void) | undefined;
|
|
14
14
|
onDropRejected?: ((fileRejections: import("react-dropzone").FileRejection[], event: import("react-dropzone").DropEvent) => void) | undefined;
|
|
15
15
|
onError?: ((err: Error) => void) | undefined;
|
|
16
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "onError" | "onDrop" | "disabled" | "accept" | "multiple" | "
|
|
16
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "onError" | "onDrop" | "disabled" | "accept" | "multiple" | "locale" | "maxSize" | "minSize" | "maxFiles" | "onDropAccepted" | "onDropRejected"> & React.RefAttributes<HTMLDivElement>>;
|
|
17
17
|
export * from './types';
|