@consta/uikit 4.26.0 → 4.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/BookmarkTabsCanary/index.d.ts +1 -0
  2. package/BookmarkTabsCanary/index.js +1 -0
  3. package/LoaderCanary/index.d.ts +1 -0
  4. package/LoaderCanary/index.js +1 -0
  5. package/__internal__/src/components/Badge/Badge.css +1 -1
  6. package/__internal__/src/components/Badge/Badge.d.ts +1 -1
  7. package/__internal__/src/components/Badge/Badge.js +1 -1
  8. package/__internal__/src/components/Badge/Badge.js.map +1 -1
  9. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.css +1 -1
  10. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +2 -0
  11. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -0
  12. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
  13. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
  14. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
  15. package/__internal__/src/components/BookmarkTabsCanary/index.d.ts +2 -1
  16. package/__internal__/src/components/BookmarkTabsCanary/index.js +1 -1
  17. package/__internal__/src/components/BookmarkTabsCanary/index.js.map +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +2 -0
  19. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.d.ts +3 -1
  22. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.js.map +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +2 -0
  24. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.d.ts +2 -0
  27. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.js.map +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +2 -0
  29. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.d.ts +2 -0
  32. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.js.map +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +2 -0
  34. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.d.ts +2 -0
  37. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.js.map +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  47. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  48. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  49. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  50. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  51. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  52. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  53. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  54. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  55. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  56. package/__internal__/src/components/DatePicker/types.d.ts +3 -0
  57. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  58. package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +13 -0
  59. package/__internal__/src/components/DatePicker/useCalendarVisible.js +2 -0
  60. package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -0
  61. package/__internal__/src/components/LoaderCanary/Loader.css +3 -0
  62. package/__internal__/src/components/LoaderCanary/LoaderCanary.d.ts +10 -0
  63. package/__internal__/src/components/LoaderCanary/LoaderCanary.js +2 -0
  64. package/__internal__/src/components/LoaderCanary/LoaderCanary.js.map +1 -0
  65. package/__internal__/src/components/LoaderCanary/index.d.ts +1 -0
  66. package/__internal__/src/components/LoaderCanary/index.js +2 -0
  67. package/__internal__/src/components/LoaderCanary/index.js.map +1 -0
  68. package/__internal__/src/components/LoaderCanary/types.d.ts +10 -0
  69. package/__internal__/src/components/LoaderCanary/types.js +2 -0
  70. package/__internal__/src/components/LoaderCanary/types.js.map +1 -0
  71. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
  72. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
  73. package/__internal__/src/components/ProgressStepBar/helpers.js +1 -1
  74. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  75. package/__internal__/src/components/Slider/Slider.js +1 -1
  76. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  77. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js +1 -1
  78. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js.map +1 -1
  79. package/__internal__/src/components/Slider/helper.d.ts +5 -0
  80. package/__internal__/src/components/Slider/helper.js.map +1 -1
  81. package/__internal__/src/hooks/useKeysRef/index.d.ts +1 -0
  82. package/__internal__/src/hooks/useKeysRef/index.js +2 -0
  83. package/__internal__/src/hooks/useKeysRef/index.js.map +1 -0
  84. package/__internal__/src/hooks/useKeysRef/useKeysRef.d.ts +13 -0
  85. package/__internal__/src/hooks/useKeysRef/useKeysRef.js +2 -0
  86. package/__internal__/src/hooks/useKeysRef/useKeysRef.js.map +1 -0
  87. package/package.json +1 -1
  88. package/useKeysRef/index.d.ts +1 -0
  89. package/useKeysRef/index.js +1 -0
  90. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.js +0 -2
  91. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.js.map +0 -1
  92. /package/__internal__/src/components/BookmarkTabsCanary/{BookmarkTabs.d.ts → BookmarkTabsCanary.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"mbAAA,MAAOA,aAAP,KAAyB,uBAAzB,CACA,MAAOC,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,MAJF,CAKEC,QALF,KAMO,OANP,CAQA,OAASC,eAAT,sDACA,OAASC,OAAT,sCACA,OAASC,UAAT,4CACA,OACEC,kBADF,gDAIA,OAASC,gCAAT,4EACA,OACEC,iBADF,CAEEC,YAFF,CAGEC,mBAHF,kBAKA,OACEC,iCADF,gBAIA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,4BAAuE,CAClFf,UAAU,CAAC,SAACgB,CAAD,CAAQC,CAAR,CAAgB,aAEvBC,CAFuB,CAoBrBF,CApBqB,CAEvBE,MAFuB,GAoBrBF,CApBqB,CAGvBG,YAHuB,CAGvBA,CAHuB,YAGRN,iCAHQ,GAIvBO,CAJuB,CAoBrBJ,CApBqB,CAIvBI,MAJuB,CAKvBC,CALuB,CAoBrBL,CApBqB,CAKvBK,YALuB,CAMvBC,CANuB,CAoBrBN,CApBqB,CAMvBM,OANuB,CAOvBC,CAPuB,CAoBrBP,CApBqB,CAOvBO,MAPuB,CAQvBC,CARuB,CAoBrBR,CApBqB,CAQvBQ,QARuB,CASvBC,CATuB,CAoBrBT,CApBqB,CASvBS,SATuB,CAUHC,CAVG,CAoBrBV,CApBqB,CAUvBW,kBAVuB,CAWvBC,CAXuB,CAoBrBZ,CApBqB,CAWvBY,0BAXuB,CAYvBC,CAZuB,CAoBrBb,CApBqB,CAYvBa,wBAZuB,CAavBC,CAbuB,CAoBrBd,CApBqB,CAavBc,QAbuB,CAcvBC,CAduB,CAoBrBf,CApBqB,CAcvBe,IAduB,CAevBC,CAfuB,CAoBrBhB,CApBqB,CAevBgB,mBAfuB,CAgBvBC,CAhBuB,CAoBrBjB,CApBqB,CAgBvBiB,iBAhBuB,CAiBvBC,CAjBuB,CAoBrBlB,CApBqB,CAiBvBkB,mBAjBuB,CAkBvBC,CAlBuB,CAoBrBnB,CApBqB,CAkBvBmB,iBAlBuB,CAmBpBC,CAnBoB,0BAoBrBpB,CApBqB,YAsBnBqB,CAAa,CAAGlC,MAAM,CAAiB,IAAjB,CAtBH,CAuBnBmC,CAAW,CAAGnC,MAAM,CAAiB,IAAjB,CAvBD,CAwBnBoC,CAAkB,CAAGpC,MAAM,CAAmB,IAAnB,CAxBR,CAyBnBqC,CAAgB,CAAGrC,MAAM,CAAmB,IAAnB,CAzBN,CA0BnBsC,CAAW,CAAGtC,MAAM,CAAiB,IAAjB,CA1BD,GA4BeC,QAAQ,IA5BvB,uBA4BlBsC,CA5BkB,MA4BJC,CA5BI,MAgCnBC,CAAY,CAAoB,OAAjB,GAAAF,CAhCI,CAiCnBG,CAAU,CAAoB,KAAjB,GAAAH,CAjCM,GAkDqBpC,OAAO,IAlD5B,uBAkDlBwC,CAlDkB,MAkDDC,CAlDC,QAoD2BjC,qBAAqB,CAAC,CACxEa,kBAAkB,CAAED,CADoD,CAExEsB,OAAO,CAAEhC,CAAK,CAACgC,OAFyD,CAGxEC,OAAO,CAAEjC,CAAK,CAACiC,OAHyD,CAIxEC,KAAK,CAAElC,CAAK,CAACkC,KAJ2D,CAKxEC,WAAW,CAAErD,YAL2D,CAMxE8B,0BAA0B,CAA1BA,CANwE,CAOxEkB,eAAe,CAAfA,CAPwE,CAAD,CApDhD,uBAoDlBnB,CApDkB,MAoDEyB,CApDF,MA4GzB,MA3BAlD,UAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACkC,KAAN,iBAAc,CAAd,GAAoBN,CAAxB,CAAsC,CACpC,GAAMS,EAAc,CAAGvD,YAAY,CAACkB,CAAK,CAACkC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6B3B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE2B,OAApB,EAA7B,CAFgC,EAGlCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAACrC,CAAK,CAACkC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CF,CAA/C,CAPM,CA2BT,CAlBA1C,SAAS,CAAC,UAAM,OACd,GAAI,UAAAc,CAAK,CAACkC,KAAN,iBAAc,CAAd,GAAoBL,CAAxB,CAAoC,CAClC,GAAMQ,EAAc,CAAGvD,YAAY,CAACkB,CAAK,CAACkC,KAAN,CAAY,CAAZ,CAAD,CAAnC,CACIG,CAAc,CAACC,OAAf,aAA6B3B,CAA7B,WAA6BA,CAA7B,QAA6BA,CAAkB,CAAE2B,OAApB,EAA7B,CAF8B,EAGhCF,CAAqB,CAACC,CAAD,CAExB,CACF,CAPQ,CAON,WAACrC,CAAK,CAACkC,KAAP,yBAAC,EAAc,CAAd,CAAD,qBAAC,EAAkBI,OAAlB,EAAD,CAA8BR,CAA9B,CAA+CD,CAA/C,CAPM,CAkBT,CATAxC,eAAe,CAAC,CACdkD,QAAQ,CAAET,CADI,CAEdU,sBAAsB,CAAE,CAACnB,CAAD,CAAgBC,CAAhB,CAA6BG,CAA7B,CAFV,CAGdgB,OAAO,CAAExD,WAAW,CAAC,UAAM,CACzB0C,CAAe,IADU,CAEzBI,CAAkB,CAACW,GAAnB,EACD,CAHmB,CAGjB,EAHiB,CAHN,CAAD,CASf,CACE,wCACE,oBAAC,gCAAD,kBACMtB,CADN,EAEE,GAAG,CAAEnB,CAFP,CAGE,aAAa,CAAEoB,CAHjB,CAIE,WAAW,CAAEC,CAJf,CAKE,kBAAkB,CAAE/B,UAAU,CAAC,CAACgC,CAAD,QAAqBT,CAArB,WAAqBA,CAArB,QAAqBA,CAAQ,CAAG,CAAH,CAA7B,CAAD,CALhC,CAME,gBAAgB,CAAEvB,UAAU,CAAC,CAACiC,CAAD,QAAmBV,CAAnB,WAAmBA,CAAnB,QAAmBA,CAAQ,CAAG,CAAH,CAA3B,CAAD,CAN9B,CAOE,iBAAiB,CAjDU,QAA3B6B,yBAA2B,CAACC,CAAD,CAAsC,OACrEjB,CAAe,CAAC,OAAD,CADsD,CAErEI,CAAkB,CAACc,EAAnB,EAFqE,CAGrEC,KAAK,CAACC,OAAN,CAAczC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMsC,CAAN,CAAhC,QAA2CtC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGsC,CAAH,CACnD,CAsCG,CAQE,eAAe,CA5CU,QAAzBI,uBAAyB,CAACJ,CAAD,CAAsC,OACnEjB,CAAe,CAAC,KAAD,CADoD,CAEnEI,CAAkB,CAACc,EAAnB,EAFmE,CAGnEC,KAAK,CAACC,OAAN,CAAczC,CAAd,YAAyBA,CAAO,CAAC,CAAD,CAAhC,qBAAyB,OAAAA,CAAO,CAAMsC,CAAN,CAAhC,QAA2CtC,CAA3C,WAA2CA,CAA3C,QAA2CA,CAAO,CAAGsC,CAAH,CACnD,CAgCG,CASE,kBAAkB,CAChBE,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,CAA0CA,CAV9C,CAYE,mBAAmB,CACjBsC,KAAK,CAACC,OAAN,CAActC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,OAbJ,CAeE,gBAAgB,CAAEqC,KAAK,CAACC,OAAN,CAAcvC,CAAd,SAA0BA,CAA1B,WAA0BA,CAA1B,QAA0BA,CAAQ,CAAG,CAAH,CAAlC,OAfpB,CAgBE,iBAAiB,CACfsC,KAAK,CAACC,OAAN,CAActC,CAAd,SAA2BA,CAA3B,WAA2BA,CAA3B,QAA2BA,CAAS,CAAG,CAAH,CAApC,CAA4CA,CAjBhD,CAmBE,gBAAgB,CAnEU,QAA1BwC,wBAA0B,CAACL,CAAD,cAC9BE,MAAK,CAACC,OAAN,CAAcxC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMqC,CAAN,CAA9B,QAAyCrC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGqC,CAAH,CADjB,CAgD5B,CAoBE,cAAc,CAjEU,QAAxBM,sBAAwB,CAACN,CAAD,cAC5BE,MAAK,CAACC,OAAN,CAAcxC,CAAd,YAAwBA,CAAM,CAAC,CAAD,CAA9B,qBAAwB,OAAAA,CAAM,CAAMqC,CAAN,CAA9B,QAAyCrC,CAAzC,WAAyCA,CAAzC,QAAyCA,CAAM,CAAGqC,CAAH,CADnB,CA6C1B,CAqBE,YAAY,CAAEhB,CArBhB,CAsBE,UAAU,CAAEC,CAtBd,CAuBE,cAAc,CAAElC,YAAY,CAACoB,CAAD,CAAO,CAAP,CAvB9B,CAwBE,YAAY,CAAEpB,YAAY,CAACoB,CAAD,CAAO,CAAP,CAxB5B,GADF,CA2BE,oBAAC,kBAAD,EACE,IAAI,CAAC,WADP,CAEE,GAAG,CAAEU,CAFP,CAGE,SAAS,CAAEJ,CAHb,CAIE,MAAM,CAAES,CAJV,CAKE,SAAS,CAAEb,CALb,CAME,0BAA0B,CAAEmB,CAN9B,CAOE,kBAAkB,CAAEzB,CAPtB,CAQE,KAAK,CAAEX,CAAK,CAACkC,KAAN,QART,CASE,OAAO,CAAER,CAAY,QATvB,CAUE,IAAI,CAAEvB,CAVR,CAWE,MAAM,CAAED,CAXV,CAYE,MAAM,CAAEE,CAZV,CAaE,OAAO,CAAEJ,CAAK,CAACiC,OAbjB,CAcE,OAAO,CAAEjC,CAAK,CAACgC,OAdjB,CAeE,IAAI,CAAE3B,CAfR,CAgBE,QAAQ,CArHsC,QAA9C8C,YAA8C,GAAkB,IAAfP,EAAe,GAAfA,CAAe,CAAZV,CAAY,GAAZA,KAAY,CACpE,GAAIN,CAAJ,CAAkB,mBAChB5B,CAAK,CAACoD,QADU,qBAChB,OAAApD,CAAK,CAAY,CACf4C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEtC,mBAAmB,CAAC,CAACsC,CAAD,QAAQlC,CAAR,WAAQA,CAAR,YAAQA,CAAK,CAAEkC,KAAf,qBAAQ,EAAe,CAAf,CAAR,CAAD,CAFX,CAAZ,CAIN,CACD,GAAIL,CAAJ,CAAgB,mBACd7B,CAAK,CAACoD,QADQ,qBACd,OAAApD,CAAK,CAAY,CACf4C,CAAC,CAADA,CADe,CAEfV,KAAK,CAAEtC,mBAAmB,CAAC,QAACI,CAAD,WAACA,CAAD,YAACA,CAAK,CAAEkC,KAAR,qBAAC,EAAe,CAAf,CAAD,CAAoBA,CAApB,CAAD,CAFX,CAAZ,CAIN,CACF,CAwFG,CAiBE,wBAAwB,CAAErB,CAjB5B,CAkBE,mBAAmB,CAAEG,CAlBvB,CAmBE,mBAAmB,CAAEE,CAnBvB,CAoBE,iBAAiB,CAAEC,CApBrB,CAqBE,MAAM,CAAEzB,iBAAiB,CAACM,CAAK,CAACqD,KAAP,CArB3B,EA3BF,CAoDH,CAjKS,CADL"}
1
+ {"version":3,"file":"DatePickerTypeDateTimeRange.js","names":["startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateTimeRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDateTimeRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","multiplicityMinutes","dropdownClassName","multiplicitySeconds","multiplicityHours","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.tsx"],"sourcesContent":["import startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateTimeRange } from '../DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateTimeRange: DatePickerTypeComponent<'date-time-range'> =\n forwardRef((props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n multiplicityMinutes,\n dropdownClassName,\n multiplicitySeconds,\n multiplicityHours,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateTimeRange\n {...fieldProps}\n ref={ref}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date-time\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n className={dropdownClassName}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n timeFor={fieldFocused || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityMinutes={multiplicityMinutes}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityHours={multiplicityHours}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonth}from"../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonth=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.onFocus,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=_objectWithoutProperties(a,_excluded),n=useRef(null),o=useRef(null),p=useFlag(!1),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:k,calendarVisible:r}),u=_slicedToArray(t,2),v=u[0],w=u[1];return useEffect(function(){b&&setRef(b,n.current)},[b,n]),useEffect(function(){if(a.value&&"classic"===e&&v){var b=startOfYear(a.value);return void(b.getTime()!==v.getTime()&&w(b))}if(a.value&&"classic"!==e&&v){var c=startOfYear(a.value);c.getTime()!==v.getTime()&&c.getTime()!==addYears(v,1).getTime()&&w(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[n,o],handler:s.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonth,Object.assign({},m,{ref:n,onFocus:function onFocusHandler(a){i&&i(a),s.on()}})),React.createElement(DatePickerDropdown,{ref:o,anchorRef:n,isOpen:r,value:a.value||void 0,type:"month",view:e,events:c,locale:f,minDate:a.minDate,className:h,maxDate:a.maxDate,currentVisibleDate:v,form:g,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),s.off()},renderAdditionalControls:l,onChangeCurrentVisibleDate:w,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonth}from"../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonth=forwardRef(function(a,b){var c=a.onChange,d=a.events,e=a.dateTimeView,f=void 0===e?datePickerPropDateTimeViewDefault:e,g=a.locale,h=a.dropdownForm,i=a.dropdownClassName,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.ignoreOutsideClicksRefs,p=_objectWithoutProperties(a,_excluded),q=useRef(null),r=useRef(null),s=useRef(null),t=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,startRef:s}),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:k,calendarVisible:v}),y=_slicedToArray(x,2),z=y[0],A=y[1];return useEffect(function(){b&&setRef(b,q.current)},[b,q]),useEffect(function(){if(a.value&&"classic"===f&&z){var b=startOfYear(a.value);return void(b.getTime()!==z.getTime()&&A(b))}if(a.value&&"classic"!==f&&z){var c=startOfYear(a.value);c.getTime()!==z.getTime()&&c.getTime()!==addYears(z,1).getTime()&&A(c)}},[a.value]),useClickOutside({isActive:v,ignoreClicksInsideRefs:[q,r].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:w.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonth,Object.assign({},p,{ref:q,onChange:function onChange(a){null===c||void 0===c?void 0:c(a),w.on()},inputRef:s,onClick:w.on})),React.createElement(DatePickerDropdown,{ref:r,anchorRef:q,isOpen:v,value:a.value||void 0,type:"month",view:f,events:d,locale:g,minDate:a.minDate,className:i,maxDate:a.maxDate,currentVisibleDate:z,form:h,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),w.off()},renderAdditionalControls:l,onChangeCurrentVisibleDate:A,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeMonth.js","names":["addYears","startOfYear","React","forwardRef","useEffect","useRef","useClickOutside","useFlag","setRef","DatePickerDropdown","DatePickerFieldTypeMonth","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeMonth","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","onFocusHandler","e","on","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonth } from '../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonth: DatePickerTypeComponent<'month'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n onFocus,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const onFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n onFocus && onFocus(e);\n setCalendarVisible.on();\n };\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !== addYears(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeMonth\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"month\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"iUAAA,MAAOA,SAAP,KAAqB,mBAArB,CACA,MAAOC,YAAP,KAAwB,sBAAxB,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,SAA5B,CAAuCC,MAAvC,KAAqD,OAArD,CAEA,OAASC,eAAT,sDACA,OAASC,OAAT,sCACA,OAASC,MAAT,6BACA,OAASC,kBAAT,gDACA,OAASC,wBAAT,4DACA,OAASC,iBAAT,kBACA,OACEC,iCADF,gBAIA,OAASC,qBAAT,gCAEA,MAAO,IAAMC,oBAAqD,CAAGX,UAAU,CAC7E,SAACY,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAYVF,CAZU,CAEZE,MAFY,GAYVF,CAZU,CAGZG,YAHY,CAGZA,CAHY,YAGGN,iCAHH,GAIZO,CAJY,CAYVJ,CAZU,CAIZI,MAJY,CAKZC,CALY,CAYVL,CAZU,CAKZK,YALY,CAMZC,CANY,CAYVN,CAZU,CAMZM,iBANY,CAOZC,CAPY,CAYVP,CAZU,CAOZO,OAPY,CAQQC,CARR,CAYVR,CAZU,CAQZS,kBARY,CASZC,CATY,CAYVV,CAZU,CASZU,0BATY,CAUZC,CAVY,CAYVX,CAZU,CAUZW,wBAVY,CAWTC,CAXS,0BAYVZ,CAZU,YAcRa,CAAQ,CAAGvB,MAAM,CAAiB,IAAjB,CAdT,CAeRwB,CAAW,CAAGxB,MAAM,CAAiB,IAAjB,CAfZ,GAiBgCE,OAAO,IAjBvC,uBAiBPuB,CAjBO,MAiBUC,CAjBV,QAmBsClB,qBAAqB,CAAC,CACxEW,kBAAkB,CAAED,CADoD,CAExES,OAAO,CAAEjB,CAAK,CAACiB,OAFyD,CAGxEC,OAAO,CAAElB,CAAK,CAACkB,OAHyD,CAIxEC,KAAK,CAAEnB,CAAK,CAACmB,KAJ2D,CAKxEC,WAAW,CAAElC,WAL2D,CAMxEwB,0BAA0B,CAA1BA,CANwE,CAOxEK,eAAe,CAAfA,CAPwE,CAAD,CAnB3D,uBAmBPN,CAnBO,MAmBaY,CAnBb,MAiEd,MA/BAhC,UAAS,CAAC,UAAM,CACVY,CADU,EAEZR,MAAM,CAACQ,CAAD,CAAMY,CAAQ,CAACS,OAAf,CAET,CAJQ,CAIN,CAACrB,CAAD,CAAMY,CAAN,CAJM,CA+BT,CAzBAxB,SAAS,CAAC,UAAM,CACd,GAAIW,CAAK,CAACmB,KAAN,EAAgC,SAAjB,GAAAhB,CAAf,EAA6CM,CAAjD,CAAqE,CACnE,GAAMc,EAAc,CAAGrC,WAAW,CAACc,CAAK,CAACmB,KAAP,CAAlC,CAIA,YAHII,CAAc,CAACC,OAAf,KAA6Bf,CAAkB,CAACe,OAAnB,EAGjC,EAFEH,CAAqB,CAACE,CAAD,CAEvB,CACD,CACD,GAAIvB,CAAK,CAACmB,KAAN,EAAgC,SAAjB,GAAAhB,CAAf,EAA6CM,CAAjD,CAAqE,CACnE,GAAMc,EAAc,CAAGrC,WAAW,CAACc,CAAK,CAACmB,KAAP,CAAlC,CAEEI,CAAc,CAACC,OAAf,KAA6Bf,CAAkB,CAACe,OAAnB,EAA7B,EACAD,CAAc,CAACC,OAAf,KAA6BvC,QAAQ,CAACwB,CAAD,CAAqB,CAArB,CAAR,CAAgCe,OAAhC,EAJoC,EAMjEH,CAAqB,CAACE,CAAD,CAExB,CACF,CAjBQ,CAiBN,CAACvB,CAAK,CAACmB,KAAP,CAjBM,CAyBT,CANA5B,eAAe,CAAC,CACdkC,QAAQ,CAAEV,CADI,CAEdW,sBAAsB,CAAE,CAACb,CAAD,CAAWC,CAAX,CAFV,CAGda,OAAO,CAAEX,CAAkB,CAACY,GAHd,CAAD,CAMf,CACE,wCACE,oBAAC,wBAAD,kBACMhB,CADN,EAEE,GAAG,CAAEC,CAFP,CAGE,OAAO,CAzCU,QAAjBgB,eAAiB,CAACC,CAAD,CAAsC,CAC3DvB,CAAO,EAAIA,CAAO,CAACuB,CAAD,CADyC,CAE3Dd,CAAkB,CAACe,EAAnB,EACD,CAmCG,GADF,CAME,oBAAC,kBAAD,EACE,GAAG,CAAEjB,CADP,CAEE,SAAS,CAAED,CAFb,CAGE,MAAM,CAAEE,CAHV,CAIE,KAAK,CAAEf,CAAK,CAACmB,KAAN,QAJT,CAKE,IAAI,CAAC,OALP,CAME,IAAI,CAAEhB,CANR,CAOE,MAAM,CAAED,CAPV,CAQE,MAAM,CAAEE,CARV,CASE,OAAO,CAAEJ,CAAK,CAACkB,OATjB,CAUE,SAAS,CAAEZ,CAVb,CAWE,OAAO,CAAEN,CAAK,CAACiB,OAXjB,CAYE,kBAAkB,CAAER,CAZtB,CAaE,IAAI,CAAEJ,CAbR,CAcE,QAAQ,CAAE,kBAAC2B,CAAD,CAAY,iBACpBhC,CAAK,CAACiC,QADc,qBACpB,OAAAjC,CAAK,CAAYgC,CAAZ,CADe,CAEpBhB,CAAkB,CAACY,GAAnB,EACD,CAjBH,CAkBE,wBAAwB,CAAEjB,CAlB5B,CAmBE,0BAA0B,CAAEU,CAnB9B,CAoBE,MAAM,CAAEzB,iBAAiB,CAACI,CAAK,CAACkC,KAAP,CApB3B,EANF,CA8BH,CAjG4E,CAAxE"}
1
+ {"version":3,"file":"DatePickerTypeMonth.js","names":["addYears","startOfYear","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeMonth","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonth","props","ref","onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","params","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonth } from '../DatePickerFieldTypeMonth/DatePickerFieldTypeMonth';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonth: DatePickerTypeComponent<'month'> = forwardRef(\n (props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfYear(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !== addYears(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeMonth\n {...otherProps}\n ref={fieldRef}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n inputRef={inputRef}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"month\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonthRange}from"../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonthRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.dropdownClassName,n=a.onBlur,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useState(!1),C=_slicedToArray(B,2),D=C[0],E=C[1],F="start"===D,G="end"===D,H=useFlag(!1),I=_slicedToArray(H,2),J=I[0],K=I[1],L=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:r,calendarVisible:J}),M=_slicedToArray(L,2),N=M[0],O=M[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&F){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&F){var e=startOfYear(a.value[0]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addYears(N,1).getTime())&&O(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),J,F]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&G){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&G){var e=startOfYear(a.value[1]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addYears(N,1).getTime())&&O(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),J,G]),useClickOutside({isActive:J,ignoreClicksInsideRefs:[w,x,A],handler:useCallback(function(){E(!1),K.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([z,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;E("start"),K.on(),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;E("end"),K.on(),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[0])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[1])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},startFocused:F,endFocused:G,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end")})),React.createElement(DatePickerDropdown,{type:"month",ref:A,anchorRef:w,isOpen:J,onChangeCurrentVisibleDate:O,currentVisibleDate:N,value:a.value||void 0,view:i,events:g,className:m,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(F){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(G){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onChange","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import addYears from"date-fns/addYears";import startOfYear from"date-fns/startOfYear";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeMonthRange}from"../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeMonthRange=forwardRef(function(a,b){var c,d,e,f,g=a.onChange,h=a.events,i=a.dateTimeView,j=void 0===i?datePickerPropDateTimeViewDefault:i,k=a.locale,l=a.dropdownForm,m=a.onFocus,n=a.dropdownClassName,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.onDropdownOpen,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:x,onDropdownOpen:w,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:r,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfYear,onChangeCurrentVisibleDate:s,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===j&&J){var d=startOfYear(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==j&&J){var e=startOfYear(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,1).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===j&&K){var d=startOfYear(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==j&&K){var e=startOfYear(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,1).getTime())&&S(addYears(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==y&&void 0!==y?y:[])),handler:useCallback(function(){I(!1),O.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeMonthRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,onChange:function onChange(a){null===g||void 0===g?void 0:g(a),O.on()},startFieldInputRef:useForkRef([C,null===u||void 0===u?void 0:u[0]]),endFieldInputRef:useForkRef([D,null===u||void 0===u?void 0:u[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),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)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),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)},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:J,endFocused:K,startFieldOnClick:O.on,endFieldOnClick:O.on,startFieldName:Array.isArray(v)?v[0]:"".concat(v,"_start"),endFieldName:Array.isArray(v)?v[1]:"".concat(v,"_end")})),React.createElement(DatePickerDropdown,{type:"month",ref:E,anchorRef:A,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:j,events:h,className:n,locale:k,minDate:a.minDate,maxDate:a.maxDate,form:l,onChange:function hadleChange(b){var c=b.e,d=b.value;if(J){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(K){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:t,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeMonthRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeMonthRange.js","names":["addYears","startOfYear","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeMonthRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeMonthRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","dropdownClassName","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.tsx"],"sourcesContent":["import addYears from 'date-fns/addYears';\nimport startOfYear from 'date-fns/startOfYear';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeMonthRange } from '../DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeMonthRange: DatePickerTypeComponent<'month-range'> =\n forwardRef((props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n dropdownClassName,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfYear,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfYear(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfYear(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeMonthRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"month\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n className={dropdownClassName}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeTime}from"../DatePickerFieldTypeTime/DatePickerFieldTypeTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";export var DatePickerTypeTime=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.onFocus,j=a.multiplicityHours,k=a.multiplicityMinutes,l=a.multiplicitySeconds,m=a.renderAdditionalControls,n=a.currentVisibleDate,o=a.onChangeCurrentVisibleDate,p=_objectWithoutProperties(a,_excluded),q=getMultiplicityTime(p.format||datePickerPropFormatTypeDateTime,j,k,l),r=_slicedToArray(q,3),s=r[0],t=r[1],u=r[2],v=useRef(null),w=useRef(null),x=useFlag(!1),y=_slicedToArray(x,2),z=y[0],A=y[1];return useEffect(function(){b&&setRef(b,v.current)},[b,v]),useClickOutside({isActive:z,ignoreClicksInsideRefs:[v,w],handler:A.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},p,{ref:v,onFocus:function onFocusHandler(a){i&&i(a),A.on()},multiplicityHours:s,multiplicitySeconds:u,multiplicityMinutes:t})),React.createElement(DatePickerDropdown,{ref:w,anchorRef:v,isOpen:z,value:a.value||void 0,type:"time",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,form:g,className:h,onChange:a.onChange,renderAdditionalControls:m,multiplicityHours:s,multiplicitySeconds:u,multiplicityMinutes:t,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHours","multiplicityMinutes","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeTime}from"../DatePickerFieldTypeTime/DatePickerFieldTypeTime";import{datePickerPropFormatTypeDateTime,getDropdownZIndex,getMultiplicityTime}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";export var DatePickerTypeTime=forwardRef(function(a,b){var c=a.onChange,d=a.events,e=a.dateTimeView,f=void 0===e?datePickerPropDateTimeViewDefault:e,g=a.locale,h=a.dropdownForm,i=a.dropdownClassName,j=a.multiplicityHours,k=a.multiplicityMinutes,l=a.multiplicitySeconds,m=a.renderAdditionalControls,n=a.currentVisibleDate,o=a.onChangeCurrentVisibleDate,p=a.onDropdownOpen,q=a.dropdownOpen,r=a.ignoreOutsideClicksRefs,s=_objectWithoutProperties(a,_excluded),t=getMultiplicityTime(s.format||datePickerPropFormatTypeDateTime,j,k,l),u=_slicedToArray(t,3),v=u[0],w=u[1],x=u[2],y=useRef(null),z=useRef(null),A=useRef(null),B=useCalendarVisible({dropdownOpen:q,onDropdownOpen:p,startRef:A}),C=_slicedToArray(B,2),D=C[0],E=C[1];return useEffect(function(){b&&setRef(b,y.current)},[b,y]),useClickOutside({isActive:D,ignoreClicksInsideRefs:[y,z].concat(_toConsumableArray(null!==r&&void 0!==r?r:[])),handler:E.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeTime,Object.assign({},s,{ref:y,inputRef:A,onChange:function onChange(a){null===c||void 0===c?void 0:c(a),E.on()},onClick:E.on,multiplicityHours:v,multiplicitySeconds:x,multiplicityMinutes:w})),React.createElement(DatePickerDropdown,{ref:z,anchorRef:y,isOpen:D,value:a.value||void 0,type:"time",view:f,events:d,locale:g,minDate:a.minDate,maxDate:a.maxDate,form:h,className:i,onChange:a.onChange,renderAdditionalControls:m,multiplicityHours:v,multiplicitySeconds:x,multiplicityMinutes:w,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","useFlag","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","otherProps","format","fieldRef","calendarRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","onFocusHandler","e","on","value","minDate","maxDate","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n onFocus,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const onFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n onFocus && onFocus(e);\n setCalendarVisible.on();\n };\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","format","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","date","on","value","minDate","maxDate","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n inputRef={inputRef}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYear}from"../DatePickerFieldTypeYear/DatePickerFieldTypeYear";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYear=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.onFocus,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=_objectWithoutProperties(a,_excluded),n=useRef(null),o=useRef(null),p=useFlag(!1),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:k,calendarVisible:r}),u=_slicedToArray(t,2),v=u[0],w=u[1];return useEffect(function(){b&&setRef(b,n.current)},[b,n]),useEffect(function(){if(a.value&&"classic"===e&&v){var b=startOfDecade(a.value);return void(b.getTime()!==v.getTime()&&w(b))}if(a.value&&"classic"!==e&&v){var c=startOfDecade(a.value);c.getTime()!==v.getTime()&&c.getTime()!==addYears(v,10).getTime()&&w(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[n,o],handler:s.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYear,Object.assign({},m,{ref:n,onFocus:function onFocusHandler(a){i&&i(a),s.on()}})),React.createElement(DatePickerDropdown,{ref:o,anchorRef:n,className:h,isOpen:r,value:a.value||void 0,type:"year",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:v,form:g,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),s.off()},renderAdditionalControls:l,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:w}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYear}from"../DatePickerFieldTypeYear/DatePickerFieldTypeYear";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYear=forwardRef(function(a,b){var c=a.onChange,d=a.events,e=a.dateTimeView,f=void 0===e?datePickerPropDateTimeViewDefault:e,g=a.locale,h=a.dropdownForm,i=a.dropdownClassName,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.disabled,p=a.ignoreOutsideClicksRefs,q=_objectWithoutProperties(a,_excluded),r=useRef(null),s=useRef(null),t=useRef(null),u=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,startRef:t}),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:k,calendarVisible:w}),z=_slicedToArray(y,2),A=z[0],B=z[1];return useEffect(function(){b&&setRef(b,r.current)},[b,r]),useEffect(function(){if(a.value&&"classic"===f&&A){var b=startOfDecade(a.value);return void(b.getTime()!==A.getTime()&&B(b))}if(a.value&&"classic"!==f&&A){var c=startOfDecade(a.value);c.getTime()!==A.getTime()&&c.getTime()!==addYears(A,10).getTime()&&B(c)}},[a.value]),useClickOutside({isActive:w,ignoreClicksInsideRefs:[r,s].concat(_toConsumableArray(null!==p&&void 0!==p?p:[])),handler:x.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYear,Object.assign({},q,{ref:r,inputRef:t,disabled:o,onChange:function onChange(a){null===c||void 0===c?void 0:c(a),x.on()},onClick:x.on})),React.createElement(DatePickerDropdown,{ref:s,anchorRef:r,className:i,isOpen:w,value:a.value||void 0,type:"year",view:f,events:d,locale:g,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:A,form:h,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),x.off()},renderAdditionalControls:l,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:B}))});
2
2
  //# sourceMappingURL=DatePickerTypeYear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeYear.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useClickOutside","useFlag","setRef","DatePickerDropdown","DatePickerFieldTypeYear","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeYear","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","onFocus","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","onFocusHandler","e","on","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYear } from '../DatePickerFieldTypeYear/DatePickerFieldTypeYear';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYear: DatePickerTypeComponent<'year'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n onFocus,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const onFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n onFocus && onFocus(e);\n setCalendarVisible.on();\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 = startOfDecade(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 = startOfDecade(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addYears(currentVisibleDate, 10).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeYear\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"year\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeYear.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeYear","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYear","props","ref","onChange","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs","otherProps","fieldRef","calendarRef","inputRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","params","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYear } from '../DatePickerFieldTypeYear/DatePickerFieldTypeYear';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYear: DatePickerTypeComponent<'year'> = forwardRef(\n (props, ref) => {\n const {\n onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n disabled,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\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 = startOfDecade(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 = startOfDecade(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addYears(currentVisibleDate, 10).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 <DatePickerFieldTypeYear\n {...otherProps}\n ref={fieldRef}\n inputRef={inputRef}\n disabled={disabled}\n onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"year\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYearRange}from"../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYearRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.dropdownClassName,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useState(!1),C=_slicedToArray(B,2),D=C[0],E=C[1],F="start"===D,G="end"===D,H=useFlag(!1),I=_slicedToArray(H,2),J=I[0],K=I[1],L=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:r,calendarVisible:J}),M=_slicedToArray(L,2),N=M[0],O=M[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&F){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&F){var e=startOfDecade(a.value[0]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addYears(N,10).getTime())&&O(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),J,F]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&G){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&G){var e=startOfDecade(a.value[1]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addYears(N,10).getTime())&&O(addYears(e,-10))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),J,G]),useClickOutside({isActive:J,ignoreClicksInsideRefs:[w,x,A],handler:function handler(){E(!1),K.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([z,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;E("start"),K.on(),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;E("end"),K.on(),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:F,endFocused:G,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end")})),React.createElement(DatePickerDropdown,{type:"year",ref:A,anchorRef:w,isOpen:J,onChangeCurrentVisibleDate:O,currentVisibleDate:N,value:a.value||void 0,view:i,events:g,locale:j,className:n,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(F){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(G){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onChange","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/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.onChange,h=a.events,i=a.dateTimeView,j=void 0===i?datePickerPropDateTimeViewDefault:i,k=a.locale,l=a.dropdownForm,m=a.onFocus,n=a.onBlur,o=a.dropdownClassName,p=a.leftSide,q=a.rightSide,r=a.currentVisibleDate,s=a.onChangeCurrentVisibleDate,t=a.renderAdditionalControls,u=a.inputRef,v=a.name,w=a.onDropdownOpen,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:x,onDropdownOpen:w,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:r,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:s,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===j&&J){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==j&&J){var e=startOfDecade(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===j&&K){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==j&&K){var e=startOfDecade(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(addYears(e,-10))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==y&&void 0!==y?y:[])),handler:function handler(){I(!1),O.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,onChange:function onChange(a){null===g||void 0===g?void 0:g(a),O.on()},startFieldInputRef:useForkRef([C,null===u||void 0===u?void 0:u[0]]),endFieldInputRef:useForkRef([D,null===u||void 0===u?void 0:u[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),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)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),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)},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(n)?null===(b=n[0])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(n)?null===(b=n[1])||void 0===b?void 0:b.call(n,a):null===n||void 0===n?void 0:n(a)},startFocused:J,endFocused:K,startFieldOnClick:O.on,endFieldOnClick:O.on,startFieldName:Array.isArray(v)?v[0]:"".concat(v,"_start"),endFieldName:Array.isArray(v)?v[1]:"".concat(v,"_end")})),React.createElement(DatePickerDropdown,{type:"year",ref:E,anchorRef:A,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:j,events:h,locale:k,className:o,minDate:a.minDate,maxDate:a.maxDate,form:l,onChange:function hadleChange(b){var c=b.e,d=b.value;if(J){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(K){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:t,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeYearRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: 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 setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = 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: [startFieldRef, endFieldRef, calendarRef],\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 startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","onChange","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","date","on","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { 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 onChange,\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: 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 onChange={(date) => {\n onChange?.(date);\n setCalendarVisible.on();\n }}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -79,6 +79,9 @@ export declare type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =
79
79
  multiplicityHours?: number;
80
80
  isMobile?: number;
81
81
  withClearButton?: boolean;
82
+ onDropdownOpen?: (isOpen: boolean) => void;
83
+ dropdownOpen?: boolean;
84
+ ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
82
85
  }, HTMLDivElement>;
83
86
  export declare type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(props: DatePickerProps<TYPE>) => React.ReactElement | null;
84
87
  export declare type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (props: Omit<DatePickerProps<TYPE>, 'type'>) => React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { DateTimePropView, dateTimePropViewDefault } from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n TextFieldPropWidth,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (props: {\n value: DatePickerPropValue<TYPE>;\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n}) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropWidth<TYPE> = TYPE extends Range\n ? TextFieldPropWidth\n : never;\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n dropdownClassName?: string;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n width?: DatePickerPropWidth<TYPE>;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n isMobile?: number;\n withClearButton?: boolean;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n },\n) => void;\n"],"mappings":"AAKA,OAA2BA,uBAA3B,2BASA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAIP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAA7B,CAeP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}
1
+ {"version":3,"file":"types.js","names":["dateTimePropViewDefault","datePickerPropType","datePickerPropTypeDefault","datePickerPropDateTimeViewDefault","datePickerErrorTypes","datePickerPropDropdownForm","datePickerPropDropdownFormDefault"],"sources":["../../../../../src/components/DatePicker/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { Locale } from 'date-fns';\n\nimport { DateRange } from '../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { DateTimePropView, dateTimePropViewDefault } from '../DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n TextFieldPropWidth,\n} from '../TextField/TextField';\n\nexport const datePickerPropType = [\n 'date',\n 'date-range',\n 'date-time',\n 'date-time-range',\n 'time',\n 'year',\n 'year-range',\n 'month',\n 'month-range',\n] as const;\n\nexport type DatePickerPropType = typeof datePickerPropType[number];\nexport const datePickerPropTypeDefault = datePickerPropType[0];\n\nexport type DatePickerPropDateTimeView = DateTimePropView;\nexport const datePickerPropDateTimeViewDefault = dateTimePropViewDefault;\n\ntype Range = 'date-range' | 'date-time-range' | 'year-range' | 'month-range';\n\nexport const datePickerErrorTypes = [\n 'outOfRange',\n 'invalidInputAttempt',\n 'startDateIsGreaterThanEndDate',\n] as const;\n\nexport type DatePickerPropValue<TYPE extends DatePickerPropType> =\n | (TYPE extends Range ? DateRange : Date)\n | null;\n\nexport type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (props: {\n value: DatePickerPropValue<TYPE>;\n e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;\n}) => void;\n\nexport const datePickerPropDropdownForm = [\n 'default',\n 'brick',\n 'round',\n] as const;\nexport type DatePickerPropDropdownForm =\n typeof datePickerPropDropdownForm[number];\nexport const datePickerPropDropdownFormDefault = datePickerPropDropdownForm[0];\n\ntype DatePickerPropWidth<TYPE> = TYPE extends Range\n ? TextFieldPropWidth\n : never;\n\ntype DatePickerPropInputRef<TYPE> = TYPE extends Range\n ? [React.Ref<HTMLInputElement>?, React.Ref<HTMLInputElement>?]\n : React.Ref<HTMLInputElement>;\n\ntype DatePickerPropSide<TYPE> = TYPE extends Range\n ?\n | [(string | IconComponent)?, (string | IconComponent)?]\n | string\n | IconComponent\n : string | IconComponent;\n\ntype DatePickerPropOnFocus<TYPE> = TYPE extends Range\n ?\n | [\n React.FocusEventHandler<HTMLElement>?,\n React.FocusEventHandler<HTMLElement>?,\n ]\n | React.FocusEventHandler<HTMLElement>\n : React.FocusEventHandler<HTMLElement>;\n\ntype DatePickerPropName<TYPE> = TYPE extends Range\n ? [string?, string?] | string\n : string;\n\nexport type DatePickerAdditionalControlRenderFn = (props: {\n currentVisibleDate?: Date;\n}) => React.ReactNode | React.ReactNode[];\n\nexport type DatePickerAdditionalControlRenderProp =\n | React.ReactNode\n | DatePickerAdditionalControlRenderFn;\n\nexport type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =\n PropsWithHTMLAttributesAndRef<\n {\n type?: TYPE;\n value?: DatePickerPropValue<TYPE>;\n onChange?: DatePickerPropOnChange<TYPE>;\n minDate?: Date;\n maxDate?: Date;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n events?: Date[];\n dateTimeView?: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: DatePickerPropName<TYPE>;\n disabled?: boolean;\n dropdownClassName?: string;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: DatePickerPropOnFocus<TYPE>;\n onBlur?: DatePickerPropOnFocus<TYPE>;\n autoFocus?: boolean;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: DatePickerPropInputRef<TYPE>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n format?: string;\n separator?: string;\n dropdownForm?: DatePickerPropDropdownForm;\n width?: DatePickerPropWidth<TYPE>;\n leftSide?: DatePickerPropSide<TYPE>;\n rightSide?: DatePickerPropSide<TYPE>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n onChangeCurrentVisibleDate?: (date: Date) => void;\n currentVisibleDate?: Date;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n isMobile?: number;\n withClearButton?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n >;\n\nexport type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(\n props: DatePickerProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (\n props: Omit<DatePickerProps<TYPE>, 'type'>,\n) => React.ReactElement | null;\n\nexport type DatePickerPropOnError = (\n props:\n | {\n type: typeof datePickerErrorTypes[0];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n date: Date;\n }\n | {\n type: typeof datePickerErrorTypes[1];\n stringValue: string;\n dd?: string;\n MM?: string;\n yyyy?: string;\n ss?: string;\n mm?: string;\n HH?: string;\n }\n | {\n type: typeof datePickerErrorTypes[2];\n date: [Date, Date];\n },\n) => void;\n"],"mappings":"AAKA,OAA2BA,uBAA3B,2BASA,MAAO,IAAMC,mBAAkB,CAAG,CAChC,MADgC,CAEhC,YAFgC,CAGhC,WAHgC,CAIhC,iBAJgC,CAKhC,MALgC,CAMhC,MANgC,CAOhC,YAPgC,CAQhC,OARgC,CAShC,aATgC,CAA3B,CAaP,MAAO,IAAMC,0BAAyB,CAAGD,kBAAkB,CAAC,CAAD,CAApD,CAGP,MAAO,IAAME,kCAAiC,CAAGH,uBAA1C,CAIP,MAAO,IAAMI,qBAAoB,CAAG,CAClC,YADkC,CAElC,qBAFkC,CAGlC,+BAHkC,CAA7B,CAeP,MAAO,IAAMC,2BAA0B,CAAG,CACxC,SADwC,CAExC,OAFwC,CAGxC,OAHwC,CAAnC,CAOP,MAAO,IAAMC,kCAAiC,CAAGD,0BAA0B,CAAC,CAAD,CAApE"}