@elliemae/ds-controlled-form 1.57.0-rc.7 → 1.57.1-rc.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 (75) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js +3 -1
  2. package/cjs/controlled-checkbox/ControlledCheckbox.js.map +1 -1
  3. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +1 -0
  4. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  5. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  6. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js.map +1 -1
  7. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +3 -1
  8. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  9. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
  10. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  11. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +0 -1
  12. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  13. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -4
  14. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  15. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  16. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  17. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +3 -0
  18. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  19. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +5 -44
  20. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  21. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +5 -3
  22. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  23. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  24. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  25. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +19 -8
  26. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  27. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +11 -1
  28. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  29. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +2 -50
  30. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +38 -90
  32. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  33. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +10 -6
  34. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  35. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +7 -4
  36. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  37. package/cjs/controlled-date-time-picker/utils/constants.js.map +1 -1
  38. package/esm/controlled-checkbox/ControlledCheckbox.js +3 -1
  39. package/esm/controlled-checkbox/ControlledCheckbox.js.map +1 -1
  40. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js +1 -0
  41. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  42. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  43. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js.map +1 -1
  44. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +3 -1
  45. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  46. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
  47. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  48. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +0 -1
  49. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  50. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -4
  51. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  52. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  53. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  54. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +3 -0
  55. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  56. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +5 -44
  57. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  58. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +6 -4
  59. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  60. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +31 -15
  61. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  62. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +20 -9
  63. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  64. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +11 -1
  65. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  66. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +2 -50
  67. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  68. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +39 -91
  69. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  70. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -7
  71. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  72. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +7 -4
  73. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  74. package/esm/controlled-date-time-picker/utils/constants.js.map +1 -1
  75. package/package.json +8 -8
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
6
  var React = require('react');
7
+ var controlledDateTimePicker_ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
8
  var controlledDateTimePicker_utils_dateHelpers = require('../../../utils/dateHelpers.js');
8
9
  var controlledDateTimePicker_utils_hooks_useGetStartingFocusedDay = require('../../../utils/hooks/useGetStartingFocusedDay.js');
10
+ require('../../../ControlledDateTimePickerTypes.js');
9
11
  require('@babel/runtime/helpers/toConsumableArray');
10
12
  require('../../../utils/constants.js');
11
13
  require('../../../utils/stringHelpers.js');
12
14
  require('../../../utils/numberHelpers.js');
13
- require('../../../ControlledDateTimePickerCTX.js');
14
- require('../../../ControlledDateTimePickerTypes.js');
15
15
  require('../../../utils/hooks/useGetDayFromDateString.js');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -35,9 +35,11 @@ var loopWhileWaiting = function loopWhileWaiting(cb) {
35
35
 
36
36
  var useFocusLogic = function useFocusLogic(_ref) {
37
37
  var daysArray = _ref.daysArray,
38
- calendarDaysWrapperRef = _ref.calendarDaysWrapperRef,
39
38
  showCalendar = _ref.showCalendar;
40
39
 
40
+ var _useContext = React.useContext(controlledDateTimePicker_ControlledDateTimePickerCTX.ControlledDateTimePickerContext),
41
+ calendarDaysWrapperRef = _useContext.calendarDaysWrapperRef;
42
+
41
43
  var _useGetStartingFocuse = controlledDateTimePicker_utils_hooks_useGetStartingFocusedDay.useGetStartingFocusedDay(),
42
44
  startFocusedDate = _useGetStartingFocuse.startFocusedDate;
43
45
 
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useLayoutEffect } from 'react';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { FocusLogicT } from './CalendarContext';\n\n// eslint-disable-next-line max-params\nconst loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {\n let ab = maxTries;\n const inter = setInterval(() => {\n cb();\n if (shortcircuit() || ab === 0) clearInterval(inter);\n ab -= 1;\n }, timePerTry);\n};\n\ninterface useFocusLogicArgsT {\n daysArray: metaMonthDayT[];\n calendarDaysWrapperRef: React.RefObject<HTMLDivElement>;\n showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, calendarDaysWrapperRef, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<metaMonthDayT>(\n daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate)),\n );\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n const newFocusedDay = metadayToFocus\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day))\n : daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const tryToFocusCurrentlyDataIsFocusedDay = useCallback(\n (wrapperDOM: HTMLElement | Document = calendarDaysWrapperRef?.current || document) => {\n let shortcircuit = false;\n loopWhileWaiting(\n () => {\n const domElem = wrapperDOM?.querySelector<HTMLButtonElement>('[data-isfocused=\"true\"]');\n if (domElem) {\n domElem?.focus?.();\n shortcircuit = true;\n }\n },\n () => shortcircuit,\n );\n },\n [calendarDaysWrapperRef],\n );\n\n useLayoutEffect(() => {\n if (showCalendar) tryToFocusCurrentlyDataIsFocusedDay(calendarDaysWrapperRef?.current);\n }, [calendarDaysWrapperRef, focusedDay, showCalendar, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(null);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n ],\n );\n};\n"],"names":["loopWhileWaiting","cb","shortcircuit","timePerTry","maxTries","ab","inter","setInterval","clearInterval","useFocusLogic","daysArray","calendarDaysWrapperRef","showCalendar","useGetStartingFocusedDay","startFocusedDate","useState","find","currDay","day","compareTwoDatesDayEquality","metadayToFocus","setMetadayToFocus","focusedDay","useMemo","newFocusedDay","tryToFocusCurrentlyDataIsFocusedDay","useCallback","wrapperDOM","current","document","domElem","querySelector","focus","useLayoutEffect","handleFocusMetaDay","metaDayToFocus","newFocusedMetaDay","handleFocusMetaDayByDay","dayDate","resetFocusedDayToStartDate"],"mappings":"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"}
1
+ {"version":3,"file":"useFocusLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useLayoutEffect, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { FocusLogicT } from './CalendarContext';\n\n// eslint-disable-next-line max-params\nconst loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {\n let ab = maxTries;\n const inter = setInterval(() => {\n cb();\n if (shortcircuit() || ab === 0) clearInterval(inter);\n ab -= 1;\n }, timePerTry);\n};\n\ninterface useFocusLogicArgsT {\n daysArray: metaMonthDayT[];\n showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { calendarDaysWrapperRef } = useContext(ControlledDateTimePickerContext);\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<metaMonthDayT>(\n daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate)),\n );\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n const newFocusedDay = metadayToFocus\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day))\n : daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const tryToFocusCurrentlyDataIsFocusedDay = useCallback(\n (wrapperDOM: HTMLElement | Document = calendarDaysWrapperRef?.current || document) => {\n let shortcircuit = false;\n loopWhileWaiting(\n () => {\n const domElem = wrapperDOM?.querySelector<HTMLButtonElement>('[data-isfocused=\"true\"]');\n if (domElem) {\n domElem?.focus?.();\n shortcircuit = true;\n }\n },\n () => shortcircuit,\n );\n },\n [calendarDaysWrapperRef],\n );\n\n useLayoutEffect(() => {\n if (showCalendar) tryToFocusCurrentlyDataIsFocusedDay(calendarDaysWrapperRef?.current);\n }, [calendarDaysWrapperRef, focusedDay, showCalendar, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(null);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n ],\n );\n};\n"],"names":["loopWhileWaiting","cb","shortcircuit","timePerTry","maxTries","ab","inter","setInterval","clearInterval","useFocusLogic","daysArray","showCalendar","useContext","ControlledDateTimePickerContext","calendarDaysWrapperRef","useGetStartingFocusedDay","startFocusedDate","useState","find","currDay","day","compareTwoDatesDayEquality","metadayToFocus","setMetadayToFocus","focusedDay","useMemo","newFocusedDay","tryToFocusCurrentlyDataIsFocusedDay","useCallback","wrapperDOM","current","document","domElem","querySelector","focus","useLayoutEffect","handleFocusMetaDay","metaDayToFocus","newFocusedMetaDay","handleFocusMetaDayByDay","dayDate","resetFocusedDayToStartDate"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUA;AACA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,EAAD,EAAoE;AAAA,MAA/DC,YAA+D,uEAAhD;AAAA,WAAM,KAAN;AAAA,GAAgD;AAAA,MAAnCC,UAAmC,uEAAtB,GAAsB;AAAA,MAAjBC,QAAiB,uEAAN,CAAM;AAC3F,MAAIC,EAAE,GAAGD,QAAT;AACA,MAAME,KAAK,GAAGC,WAAW,CAAC,YAAM;AAC9BN,IAAAA,EAAE;AACF,QAAIC,YAAY,MAAMG,EAAE,KAAK,CAA7B,EAAgCG,aAAa,CAACF,KAAD,CAAb;AAChCD,IAAAA,EAAE,IAAI,CAAN;AACD,GAJwB,EAItBF,UAJsB,CAAzB;AAKD,CAPD;;IAcaM,aAAa,GAAG,SAAhBA,aAAgB,OAAkE;AAAA,MAA/DC,SAA+D,QAA/DA,SAA+D;AAAA,MAApDC,YAAoD,QAApDA,YAAoD;;AAC7F,oBAAmCC,gBAAU,CAACC,oFAAD,CAA7C;AAAA,MAAQC,sBAAR,eAAQA,sBAAR;;AACA,8BAA6BC,sFAAwB,EAArD;AAAA,MAAQC,gBAAR,yBAAQA,gBAAR;;AACA,kBAA4CC,cAAQ,CAClDP,SAAS,CAACQ,IAAV,CAAe;AAAA,QAAQC,OAAR,SAAGC,GAAH;AAAA,WAAsBC,qEAA0B,CAACF,OAAD,EAAUH,gBAAV,CAAhD;AAAA,GAAf,CADkD,CAApD;AAAA;AAAA,MAAOM,cAAP;AAAA,MAAuBC,iBAAvB,iBAH6F;AAO7F;AACA;AACA;;;AACA,MAAMC,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,aAAa,GAAGJ,cAAc,GAChCZ,SAAS,CAACQ,IAAV,CAAe;AAAA,UAAQC,OAAR,SAAGC,GAAH;AAAA,aAAsBC,qEAA0B,CAACF,OAAD,EAAUG,cAAc,CAACF,GAAzB,CAAhD;AAAA,KAAf,CADgC,GAEhCV,SAAS,CAACQ,IAAV,CAAe;AAAA,UAAQC,OAAR,SAAGC,GAAH;AAAA,aAAsBC,qEAA0B,CAACF,OAAD,EAAUH,gBAAV,CAAhD;AAAA,KAAf,CAFJ;AAGA,WAAOU,aAAP;AACD,GALyB,EAKvB,CAAChB,SAAD,EAAYM,gBAAZ,EAA8BM,cAA9B,CALuB,CAA1B;AAOA,MAAMK,mCAAmC,GAAGC,iBAAW,CACrD,YAAsF;AAAA,QAArFC,UAAqF,uEAAhD,CAAAf,sBAAsB,SAAtB,IAAAA,sBAAsB,WAAtB,YAAAA,sBAAsB,CAAEgB,OAAxB,KAAmCC,QAAa;AACpF,QAAI7B,YAAY,GAAG,KAAnB;AACAF,IAAAA,gBAAgB,CACd,YAAM;AACJ,UAAMgC,OAAO,GAAGH,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAEI,aAAZ,CAA6C,yBAA7C,CAAhB;;AACA,UAAID,OAAJ,EAAa;AAAA;;AACXA,QAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,8BAAAA,OAAO,CAAEE,KAAT,uEAAAF,OAAO;AACP9B,QAAAA,YAAY,GAAG,IAAf;AACD;AACF,KAPa,EAQd;AAAA,aAAMA,YAAN;AAAA,KARc,CAAhB;AAUD,GAboD,EAcrD,CAACY,sBAAD,CAdqD,CAAvD;AAiBAqB,EAAAA,qBAAe,CAAC,YAAM;AACpB,QAAIxB,YAAJ,EAAkBgB,mCAAmC,CAACb,sBAAD,aAACA,sBAAD,uBAACA,sBAAsB,CAAEgB,OAAzB,CAAnC;AACnB,GAFc,EAEZ,CAAChB,sBAAD,EAAyBU,UAAzB,EAAqCb,YAArC,EAAmDgB,mCAAnD,CAFY,CAAf;AAIA,MAAMS,kBAAkB,GAAGR,iBAAW,CACpC,UAACS,cAAD,EAAoB;AAClB;AACA,QAAMC,iBAAiB,GAAG5B,SAAS,CAACQ,IAAV,CAAe;AAAA,UAAQC,OAAR,SAAGC,GAAH;AAAA,aACvCC,qEAA0B,CAACF,OAAD,EAAUkB,cAAc,CAACjB,GAAzB,CADa;AAAA,KAAf,CAA1B;AAGA,QAAII,UAAU,KAAKc,iBAAnB,EAAsCf,iBAAiB,CAACe,iBAAD,CAAjB;AACvC,GAPmC,EAQpC,CAAC5B,SAAD,EAAYc,UAAZ,CARoC,CAAtC;AAWA,MAAMe,uBAAuB,GAAGX,iBAAW,CACzC,UAACY,OAAD,EAAa;AACX;AACA,QAAMF,iBAAiB,GAAG5B,SAAS,CAACQ,IAAV,CAAe;AAAA,UAAQC,OAAR,SAAGC,GAAH;AAAA,aAAsBC,qEAA0B,CAACF,OAAD,EAAUqB,OAAV,CAAhD;AAAA,KAAf,CAA1B;AACA,QAAIhB,UAAU,KAAKc,iBAAnB,EAAsCf,iBAAiB,CAACe,iBAAD,CAAjB;AACvC,GALwC,EAMzC,CAAC5B,SAAD,EAAYc,UAAZ,CANyC,CAA3C;AASA,MAAMiB,0BAA0B,GAAGb,iBAAW,CAAC,YAAM;AACnDL,IAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,GAF6C,EAE3C,EAF2C,CAA9C;AAIA,SAAOE,aAAO,CACZ;AAAA,WAAO;AACLD,MAAAA,UAAU,EAAVA,UADK;AAELG,MAAAA,mCAAmC,EAAnCA,mCAFK;AAGLc,MAAAA,0BAA0B,EAA1BA,0BAHK;AAILL,MAAAA,kBAAkB,EAAlBA,kBAJK;AAKLG,MAAAA,uBAAuB,EAAvBA;AALK,KAAP;AAAA,GADY,EAQZ,CACEf,UADF,EAEEG,mCAFF,EAGEc,0BAHF,EAIEL,kBAJF,EAKEG,uBALF,CARY,CAAd;AAgBD;;;;"}
@@ -3,8 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var controlledDateTimePicker_ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
6
7
  var controlledDateTimePicker_utils_dateHelpers = require('../../../utils/dateHelpers.js');
7
8
  var controlledDateTimePicker_utils_constants = require('../../../utils/constants.js');
9
+ require('../../../ControlledDateTimePickerTypes.js');
8
10
  require('@babel/runtime/helpers/toConsumableArray');
9
11
  require('../../../utils/stringHelpers.js');
10
12
  require('@babel/runtime/helpers/slicedToArray');
@@ -16,21 +18,29 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
16
18
  daysArray = _ref.daysArray,
17
19
  handlePrevMonth = _ref.handlePrevMonth,
18
20
  handleNextMonth = _ref.handleNextMonth,
19
- prevYearBtnRef = _ref.prevYearBtnRef,
20
- prevMonthBtnRef = _ref.prevMonthBtnRef,
21
- nextMonthBtnRef = _ref.nextMonthBtnRef,
22
- nextYearBtnRef = _ref.nextYearBtnRef,
23
- currMeridiemBtnRef = _ref.currMeridiemBtnRef,
24
- isWithTimeWheelToo = _ref.isWithTimeWheelToo,
25
- isControllerOnly = _ref.isControllerOnly,
26
21
  handleFocusMetaDay = _ref.handleFocusMetaDay,
27
22
  handleFocusMetaDayByDay = _ref.handleFocusMetaDayByDay,
28
- tryToFocusCurrentlyDataIsFocusedDay = _ref.tryToFocusCurrentlyDataIsFocusedDay,
29
- hideDate = _ref.hideDate,
30
- hideTime = _ref.hideTime,
31
- monthInputRef = _ref.monthInputRef,
32
- hourInputRef = _ref.hourInputRef,
33
- setLatestInteractionRegion = _ref.setLatestInteractionRegion;
23
+ tryToFocusCurrentlyDataIsFocusedDay = _ref.tryToFocusCurrentlyDataIsFocusedDay;
24
+
25
+ var _useContext = React.useContext(controlledDateTimePicker_ControlledDateTimePickerCTX.ControlledDateTimePickerContext),
26
+ hideDate = _useContext.hideDate,
27
+ hideTime = _useContext.hideTime,
28
+ monthInputRef = _useContext.monthInputRef,
29
+ hourInputRef = _useContext.hourInputRef,
30
+ prevYearBtnRef = _useContext.prevYearBtnRef,
31
+ prevMonthBtnRef = _useContext.prevMonthBtnRef,
32
+ nextMonthBtnRef = _useContext.nextMonthBtnRef,
33
+ nextYearBtnRef = _useContext.nextYearBtnRef,
34
+ currMeridiemBtnRef = _useContext.currMeridiemBtnRef,
35
+ isControllerOnly = _useContext.isControllerOnly,
36
+ isWithTimeWheelToo = _useContext.isWithTimeWheelToo,
37
+ setLatestInteractionRegion = _useContext.setLatestInteractionRegion,
38
+ withAnyInputs = _useContext.withAnyInputs,
39
+ isWithTimeInputs = _useContext.isWithTimeInputs,
40
+ meridiemInputRef = _useContext.meridiemInputRef,
41
+ isWithDateInputs = _useContext.isWithDateInputs,
42
+ yearInputRef = _useContext.yearInputRef;
43
+
34
44
  var tryToFocusDayRegion = React.useCallback(function () {
35
45
  setLatestInteractionRegion('calendar-days');
36
46
 
@@ -66,7 +76,13 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
66
76
  if (controlledDateTimePicker_utils_constants.homeEndKeys.includes(key)) e.preventDefault();
67
77
  if (controlledDateTimePicker_utils_constants.homeEndKeys.includes(key)) e.stopPropagation();
68
78
  if (key === 'Home') onHomeKeyDownTriggerIcon();
69
- }, [onHomeKeyDownTriggerIcon]);
79
+
80
+ if (key === 'Backspace' && withAnyInputs) {
81
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
82
+
83
+ if (isWithTimeInputs) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);else if (isWithDateInputs) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
84
+ }
85
+ }, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef]);
70
86
  var handleDayOnKeyDown = React.useCallback(function (e, metaDay) {
71
87
  var newFocusedDayDate;
72
88
  var day = metaDay.day;
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback } from 'react';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { metaMonthDayT, onKeyDownT, latestInteractionRegionT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\nimport { homeEndAllArrowKeys, homeEndKeys } from '../../../utils/constants';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: metaMonthDayT;\n daysArray: metaMonthDayT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n currMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;\n currHourBtnRef: React.MutableRefObject<HTMLButtonElement>;\n isWithTimeWheelToo: boolean;\n isControllerOnly: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n setLatestInteractionRegion: React.Dispatch<React.SetStateAction<latestInteractionRegionT>>;\n handleFocusMetaDay: (metaDayToFocus: metaMonthDayT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n hideDate: boolean;\n hideTime: boolean;\n preventCloseOnSelection: boolean;\n monthInputRef: React.RefObject<HTMLInputElement>;\n hourInputRef: React.RefObject<HTMLInputElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n setLatestInteractionRegion,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const tryToFocusDayRegion = useCallback(() => {\n setLatestInteractionRegion('calendar-days');\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay)\n setTimeout(() => {\n handleFocusMetaDay(newFocusDay);\n });\n } else {\n tryToFocusCurrentlyDataIsFocusedDay();\n }\n }, [daysArray, focusedDay, handleFocusMetaDay, setLatestInteractionRegion, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n prevMonthBtnRef?.current?.focus?.();\n }, [prevMonthBtnRef]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }, [currMeridiemBtnRef, isWithTimeWheelToo, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n },\n [onHomeKeyDownTriggerIcon],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (homeEndAllArrowKeys.includes(key)) e.preventDefault();\n if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n setTimeout(tryToFocusCurrentlyDataIsFocusedDay);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n prevMonthBtnRef?.current?.focus?.();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n prevMonthBtnRef,\n tryToFocusCurrentlyDataIsFocusedDay,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n nextMonthBtnRef.current.focus();\n } else {\n nextYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [nextMonthBtnRef, nextYearBtnRef, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n nextMonthBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n nextMonthBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevMonthBtnRef.current.focus();\n } else {\n prevYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, prevYearBtnRef],\n );\n const handleNextYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevYearBtnRef?.current?.focus?.();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, prevYearBtnRef, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","focusedDay","daysArray","handlePrevMonth","handleNextMonth","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","isWithTimeWheelToo","isControllerOnly","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","hideDate","hideTime","monthInputRef","hourInputRef","setLatestInteractionRegion","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","homeEndAllArrowKeys","sumValuesToDate","daysToSum","length","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { metaMonthDayT, onKeyDownT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\nimport { homeEndAllArrowKeys, homeEndKeys } from '../../../utils/constants';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: metaMonthDayT;\n daysArray: metaMonthDayT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n handleFocusMetaDay: (metaDayToFocus: metaMonthDayT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const {\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n isWithDateInputs,\n yearInputRef,\n } = useContext(ControlledDateTimePickerContext);\n const tryToFocusDayRegion = useCallback(() => {\n setLatestInteractionRegion('calendar-days');\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay)\n setTimeout(() => {\n handleFocusMetaDay(newFocusDay);\n });\n } else {\n tryToFocusCurrentlyDataIsFocusedDay();\n }\n }, [daysArray, focusedDay, handleFocusMetaDay, setLatestInteractionRegion, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n prevMonthBtnRef?.current?.focus?.();\n }, [prevMonthBtnRef]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }, [currMeridiemBtnRef, isWithTimeWheelToo, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else if (isWithDateInputs) yearInputRef?.current?.focus?.();\n }\n },\n [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (homeEndAllArrowKeys.includes(key)) e.preventDefault();\n if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n setTimeout(tryToFocusCurrentlyDataIsFocusedDay);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n prevMonthBtnRef?.current?.focus?.();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n prevMonthBtnRef,\n tryToFocusCurrentlyDataIsFocusedDay,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n nextMonthBtnRef.current.focus();\n } else {\n nextYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [nextMonthBtnRef, nextYearBtnRef, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n nextMonthBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n nextMonthBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevMonthBtnRef.current.focus();\n } else {\n prevYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, prevYearBtnRef],\n );\n const handleNextYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevYearBtnRef?.current?.focus?.();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, prevYearBtnRef, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","focusedDay","daysArray","handlePrevMonth","handleNextMonth","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","withAnyInputs","isWithTimeInputs","meridiemInputRef","isWithDateInputs","yearInputRef","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","homeEndAllArrowKeys","sumValuesToDate","daysToSum","length","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","useMemo"],"mappings":"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"}
@@ -5,7 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
6
  var React = require('react');
7
7
  var reactPopper = require('react-popper');
8
+ var controlledDateTimePicker_ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
9
  var controlledDateTimePicker_utils_hooks_useOnClickOutside = require('../../../utils/hooks/useOnClickOutside.js');
10
+ require('../../../ControlledDateTimePickerTypes.js');
9
11
 
10
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
13
 
@@ -14,12 +16,16 @@ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray)
14
16
  var usePopperTriggerLogic = function usePopperTriggerLogic(_ref) {
15
17
  var focusedDay = _ref.focusedDay,
16
18
  resetFocusedDayToStartDate = _ref.resetFocusedDayToStartDate,
17
- prevMonthBtnRef = _ref.prevMonthBtnRef,
18
- pickerButtonRef = _ref.pickerButtonRef,
19
- onPickerOpen = _ref.onPickerOpen,
20
- onPickerClose = _ref.onPickerClose,
21
19
  showCalendar = _ref.showCalendar,
22
- setShowCalendar = _ref.setShowCalendar;
20
+ setShowCalendar = _ref.setShowCalendar,
21
+ tryToFocusCurrentlyDataIsFocusedDay = _ref.tryToFocusCurrentlyDataIsFocusedDay;
22
+
23
+ var _useContext = React.useContext(controlledDateTimePicker_ControlledDateTimePickerCTX.ControlledDateTimePickerContext),
24
+ _useContext$props = _useContext.props,
25
+ onPickerOpen = _useContext$props.onPickerOpen,
26
+ onPickerClose = _useContext$props.onPickerClose,
27
+ prevMonthBtnRef = _useContext.prevMonthBtnRef,
28
+ pickerButtonRef = _useContext.pickerButtonRef;
23
29
 
24
30
  var _useState = React.useState(null),
25
31
  _useState2 = _slicedToArray__default['default'](_useState, 2),
@@ -43,7 +49,12 @@ var usePopperTriggerLogic = function usePopperTriggerLogic(_ref) {
43
49
  element: arrowElement
44
50
  }
45
51
  }]
46
- });
52
+ }); // onOpen we try to focus the day we should focus, if we should focus one
53
+
54
+ var handleOnPickerOpen = React.useCallback(function () {
55
+ onPickerOpen();
56
+ tryToFocusCurrentlyDataIsFocusedDay();
57
+ }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);
47
58
  var openCalendar = React.useCallback(function () {
48
59
  if (focusedDay) setTimeout(function () {
49
60
  var _focusedDay$dayBtnRef, _focusedDay$dayBtnRef2, _focusedDay$dayBtnRef3;
@@ -55,8 +66,8 @@ var usePopperTriggerLogic = function usePopperTriggerLogic(_ref) {
55
66
  return prevMonthBtnRef === null || prevMonthBtnRef === void 0 ? void 0 : (_prevMonthBtnRef$curr = prevMonthBtnRef.current) === null || _prevMonthBtnRef$curr === void 0 ? void 0 : (_prevMonthBtnRef$curr2 = _prevMonthBtnRef$curr.focus) === null || _prevMonthBtnRef$curr2 === void 0 ? void 0 : _prevMonthBtnRef$curr2.call(_prevMonthBtnRef$curr);
56
67
  }, 100);
57
68
  setShowCalendar(true);
58
- onPickerOpen();
59
- }, [focusedDay, onPickerOpen, prevMonthBtnRef, setShowCalendar]);
69
+ handleOnPickerOpen();
70
+ }, [focusedDay, handleOnPickerOpen, prevMonthBtnRef, setShowCalendar]);
60
71
  var closeCalendar = React.useCallback(function () {
61
72
  var _pickerButtonRef$curr, _pickerButtonRef$curr2;
62
73
 
@@ -1 +1 @@
1
- {"version":3,"file":"usePopperTriggerLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useState } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n focusedDay: metaMonthDayT;\n resetFocusedDayToStartDate: () => void;\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n onPickerOpen();\n }, [focusedDay, onPickerOpen, prevMonthBtnRef, setShowCalendar]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n pickerButtonRef?.current?.focus?.();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, pickerButtonRef]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar();\n });\n\n return useMemo(\n () => ({\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, usePopperHelpers],\n );\n};\n"],"names":["usePopperTriggerLogic","focusedDay","resetFocusedDayToStartDate","prevMonthBtnRef","pickerButtonRef","onPickerOpen","onPickerClose","showCalendar","setShowCalendar","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","useCallback","setTimeout","dayBtnRef","current","focus","closeCalendar","handleToggleCalendar","isOpening","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","e","key","useOnClickOutside","contains","target","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"usePopperTriggerLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useState, useContext } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n resetFocusedDayToStartDate: () => void;\n focusedDay: metaMonthDayT;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n showCalendar,\n setShowCalendar,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const {\n props: { onPickerOpen, onPickerClose },\n prevMonthBtnRef,\n pickerButtonRef,\n } = useContext(ControlledDateTimePickerContext);\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n tryToFocusCurrentlyDataIsFocusedDay();\n }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);\n const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n handleOnPickerOpen();\n }, [focusedDay, handleOnPickerOpen, prevMonthBtnRef, setShowCalendar]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n pickerButtonRef?.current?.focus?.();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, pickerButtonRef]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar();\n });\n\n return useMemo(\n () => ({\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, usePopperHelpers],\n );\n};\n"],"names":["usePopperTriggerLogic","focusedDay","resetFocusedDayToStartDate","showCalendar","setShowCalendar","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","props","onPickerOpen","onPickerClose","prevMonthBtnRef","pickerButtonRef","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","handleOnPickerOpen","useCallback","openCalendar","setTimeout","dayBtnRef","current","focus","closeCalendar","handleToggleCalendar","isOpening","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","e","key","useOnClickOutside","contains","target","useMemo"],"mappings":"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"}
@@ -28,6 +28,10 @@ var useConfigCalendarWithTimeWheelCTX = function useConfigCalendarWithTimeWheelC
28
28
  hideTime = _useContext.hideTime,
29
29
  monthInputRef = _useContext.monthInputRef,
30
30
  hourInputRef = _useContext.hourInputRef,
31
+ withAnyInputs = _useContext.withAnyInputs,
32
+ isWithTimeInputs = _useContext.isWithTimeInputs,
33
+ meridiemInputRef = _useContext.meridiemInputRef,
34
+ yearInputRef = _useContext.yearInputRef,
31
35
  ariaCurrentValueForInputs = _useContext.ariaCurrentValueForInputs;
32
36
 
33
37
  var _useContext2 = React.useContext(controlledDateTimePicker_parts_Pickers_Calendar_CalendarContext.CalendarContext),
@@ -51,7 +55,13 @@ var useConfigCalendarWithTimeWheelCTX = function useConfigCalendarWithTimeWheelC
51
55
  if (controlledDateTimePicker_utils_constants.homeEndKeys.includes(key)) e.preventDefault();
52
56
  if (controlledDateTimePicker_utils_constants.homeEndKeys.includes(key)) e.stopPropagation();
53
57
  if (key === 'Home') onHomeKeyDown();
54
- }, [onHomeKeyDown]);
58
+
59
+ if (key === 'Backspace' && withAnyInputs) {
60
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
61
+
62
+ if (isWithTimeInputs) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);else yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
63
+ }
64
+ }, [isWithTimeInputs, meridiemInputRef, onHomeKeyDown, withAnyInputs, yearInputRef]);
55
65
 
56
66
  var _useState3 = React.useState(null),
57
67
  _useState4 = _slicedToArray__default['default'](_useState3, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"useConfigCalendarWithTimeWheelCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useState, useCallback, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { onKeyDownT } from '../../../index.d';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { CalendarWithTimeWheelContextT } from './CalendarWithTimeWheelContext';\nimport { homeEndKeys } from '../../../utils/constants';\n\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n },\n [onHomeKeyDown],\n );\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerOpen],\n );\n const closeCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerClose],\n );\n\n const handleToggleCalendarWithTimeWheel = useCallback(\n (e) => {\n if (!showCalendarWithTimeWheel) openCalendar(e);\n else closeCalendar(e);\n },\n [closeCalendar, openCalendar, showCalendarWithTimeWheel],\n );\n\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar(e);\n });\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar(e);\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n showCalendarWithTimeWheel,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendarWithTimeWheel,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],"names":["useConfigCalendarWithTimeWheelCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","type","onPickerOpen","onPickerClose","disabled","hideDate","hideTime","monthInputRef","hourInputRef","ariaCurrentValueForInputs","CalendarContext","handleToggleCalendar","TimeWheelContext","handleToggleTimePicker","useState","showCalendarWithTimeWheel","setShowCalendarWithTimeWheel","onHomeKeyDown","useCallback","current","focus","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","setTimeout","closeCalendar","handleToggleCalendarWithTimeWheel","useOnClickOutside","contains","target","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","isControllerOnly","useMemo","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","CONTROLLER_ONLY"],"mappings":"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"}
1
+ {"version":3,"file":"useConfigCalendarWithTimeWheelCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useState, useCallback, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { onKeyDownT } from '../../../index.d';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { CalendarWithTimeWheelContextT } from './CalendarWithTimeWheelContext';\nimport { homeEndKeys } from '../../../utils/constants';\n\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n yearInputRef,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else yearInputRef?.current?.focus?.();\n }\n },\n [isWithTimeInputs, meridiemInputRef, onHomeKeyDown, withAnyInputs, yearInputRef],\n );\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerOpen],\n );\n const closeCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerClose],\n );\n\n const handleToggleCalendarWithTimeWheel = useCallback(\n (e) => {\n if (!showCalendarWithTimeWheel) openCalendar(e);\n else closeCalendar(e);\n },\n [closeCalendar, openCalendar, showCalendarWithTimeWheel],\n );\n\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar(e);\n });\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar(e);\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n showCalendarWithTimeWheel,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendarWithTimeWheel,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],"names":["useConfigCalendarWithTimeWheelCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","type","onPickerOpen","onPickerClose","disabled","hideDate","hideTime","monthInputRef","hourInputRef","withAnyInputs","isWithTimeInputs","meridiemInputRef","yearInputRef","ariaCurrentValueForInputs","CalendarContext","handleToggleCalendar","TimeWheelContext","handleToggleTimePicker","useState","showCalendarWithTimeWheel","setShowCalendarWithTimeWheel","onHomeKeyDown","useCallback","current","focus","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","setTimeout","closeCalendar","handleToggleCalendarWithTimeWheel","useOnClickOutside","contains","target","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","isControllerOnly","useMemo","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","CONTROLLER_ONLY"],"mappings":"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"}
@@ -19,19 +19,11 @@ require('../../../utils/numberHelpers.js');
19
19
  /* eslint-disable max-statements */
20
20
  var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
21
21
  var _useContext = React.useContext(controlledDateTimePicker_ControlledDateTimePickerCTX.ControlledDateTimePickerContext),
22
- pickerButtonRef = _useContext.pickerButtonRef,
23
22
  _useContext$props = _useContext.props,
24
23
  minutesInterval = _useContext$props.minutesInterval,
25
24
  getIsDisabledTime = _useContext$props.getIsDisabledTime,
26
- onPickerClose = _useContext$props.onPickerClose,
27
- onPickerOpen = _useContext$props.onPickerOpen,
28
25
  disabled = _useContext$props.disabled,
29
- hideDate = _useContext.hideDate,
30
- hideTime = _useContext.hideTime,
31
- monthInputRef = _useContext.monthInputRef,
32
- hourInputRef = _useContext.hourInputRef,
33
26
  tempTimeString = _useContext.tempTimeString,
34
- prevMonthBtnRef = _useContext.prevMonthBtnRef,
35
27
  prevHourBtnRef = _useContext.prevHourBtnRef,
36
28
  currHourBtnRef = _useContext.currHourBtnRef,
37
29
  nextHourBtnRef = _useContext.nextHourBtnRef,
@@ -42,7 +34,6 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
42
34
  currMeridiemBtnRef = _useContext.currMeridiemBtnRef,
43
35
  nextMeridiemBtnRef = _useContext.nextMeridiemBtnRef,
44
36
  isControllerOnly = _useContext.isControllerOnly,
45
- isWithCalendarToo = _useContext.isWithCalendarToo,
46
37
  autoFocusHourTimeWheel = _useContext.autoFocusHourTimeWheel,
47
38
  ariaCurrentValueForInputs = _useContext.ariaCurrentValueForInputs;
48
39
 
@@ -64,13 +55,7 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
64
55
  meridiem = _useCurrentDisplayedW.meridiem,
65
56
  handleTimeWheelBtnChangeMeridiem = _useCurrentDisplayedW.handleTimeWheelBtnChangeMeridiem;
66
57
 
67
- var _usePopperTriggerLogi = controlledDateTimePicker_parts_Pickers_TimeWheel_usePopperTriggerLogic.usePopperTriggerLogic({
68
- pickerButtonRef: pickerButtonRef,
69
- currHourBtnRef: currHourBtnRef,
70
- onPickerClose: onPickerClose,
71
- onPickerOpen: onPickerOpen,
72
- isWithCalendarToo: isWithCalendarToo
73
- }),
58
+ var _usePopperTriggerLogi = controlledDateTimePicker_parts_Pickers_TimeWheel_usePopperTriggerLogic.usePopperTriggerLogic(),
74
59
  showTimePicker = _usePopperTriggerLogi.showTimePicker,
75
60
  setShowTimePicker = _usePopperTriggerLogi.setShowTimePicker,
76
61
  setPopperElement = _usePopperTriggerLogi.setPopperElement,
@@ -85,28 +70,7 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
85
70
  handleNextHour: handleNextHour,
86
71
  handlePrevMinute: handlePrevMinute,
87
72
  handleNextMinute: handleNextMinute,
88
- // handlePrevSecond,
89
- // handleNextSecond,
90
- handleTimeWheelBtnChangeMeridiem: handleTimeWheelBtnChangeMeridiem,
91
- prevMonthBtnRef: prevMonthBtnRef,
92
- prevHourBtnRef: prevHourBtnRef,
93
- currHourBtnRef: currHourBtnRef,
94
- nextHourBtnRef: nextHourBtnRef,
95
- prevMinutesBtnRef: prevMinutesBtnRef,
96
- currMinutesBtnRef: currMinutesBtnRef,
97
- nextMinutesBtnRef: nextMinutesBtnRef,
98
- // prevSecondsBtnRef,
99
- // currSecondsBtnRef,
100
- // nextSecondsBtnRef,
101
- prevMeridiemBtnRef: prevMeridiemBtnRef,
102
- currMeridiemBtnRef: currMeridiemBtnRef,
103
- nextMeridiemBtnRef: nextMeridiemBtnRef,
104
- hideDate: hideDate,
105
- hideTime: hideTime,
106
- monthInputRef: monthInputRef,
107
- hourInputRef: hourInputRef,
108
- isWithCalendarToo: isWithCalendarToo,
109
- isControllerOnly: isControllerOnly
73
+ handleTimeWheelBtnChangeMeridiem: handleTimeWheelBtnChangeMeridiem
110
74
  }),
111
75
  handlePrevHourBtnOnKeyDown = _useKeyboardHandlers.handlePrevHourBtnOnKeyDown,
112
76
  handleCurrHourOnKeyDown = _useKeyboardHandlers.handleCurrHourOnKeyDown,
@@ -144,12 +108,6 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
144
108
  handlePrevMinute: handlePrevMinute,
145
109
  handleNextMinute: handleNextMinute,
146
110
  handleTimeWheelBtnChangeMinutes: handleTimeWheelBtnChangeMinutes,
147
- // currSecondNum,
148
- // seconds,
149
- // visibleSeconds,
150
- // handlePrevSecond,
151
- // handleNextSecond,
152
- // handleTimeWheelBtnChangeSeconds,
153
111
  meridiem: meridiem,
154
112
  handleTimeWheelBtnChangeMeridiem: handleTimeWheelBtnChangeMeridiem,
155
113
  handlePrevHourBtnOnKeyDown: handlePrevHourBtnOnKeyDown,
@@ -158,9 +116,6 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
158
116
  handlePrevMinuteBtnOnKeyDown: handlePrevMinuteBtnOnKeyDown,
159
117
  handleCurrMinutesOnKeyDown: handleCurrMinutesOnKeyDown,
160
118
  handleNextMinuteBtnOnKeyDown: handleNextMinuteBtnOnKeyDown,
161
- // handlePrevSecondBtnOnKeyDown,
162
- // handleCurrSecondsOnKeyDown,
163
- // handleNextSecondBtnOnKeyDown,
164
119
  handlePrevMeridiemBtnOnKeyDown: handlePrevMeridiemBtnOnKeyDown,
165
120
  handleCurrMeridiemOnKeyDown: handleCurrMeridiemOnKeyDown,
166
121
  handleNextMeridiemBtnOnKeyDown: handleNextMeridiemBtnOnKeyDown,
@@ -171,9 +126,6 @@ var useConfigTimePickerCTX = function useConfigTimePickerCTX() {
171
126
  prevMinutesBtnRef: prevMinutesBtnRef,
172
127
  currMinutesBtnRef: currMinutesBtnRef,
173
128
  nextMinutesBtnRef: nextMinutesBtnRef,
174
- // prevSecondsBtnRef,
175
- // currSecondsBtnRef,
176
- // nextSecondsBtnRef,
177
129
  prevMeridiemBtnRef: prevMeridiemBtnRef,
178
130
  currMeridiemBtnRef: currMeridiemBtnRef,
179
131
  nextMeridiemBtnRef: nextMeridiemBtnRef,
@@ -1 +1 @@
1
- {"version":3,"file":"useConfigTimePickerCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useContext } from 'react';\nimport { TimeWheelContextT } from './TimeWheelContext';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\n\nexport const useConfigTimePickerCTX = (): TimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { minutesInterval, getIsDisabledTime, onPickerClose, onPickerOpen, disabled },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n tempTimeString,\n prevMonthBtnRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n isControllerOnly,\n isWithCalendarToo,\n autoFocusHourTimeWheel,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n\n const {\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n } = useCurrentDisplayedWheelsLogic({ minutesInterval });\n\n const {\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({ pickerButtonRef, currHourBtnRef, onPickerClose, onPickerOpen, isWithCalendarToo });\n\n const {\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n handlePrevHour,\n handleNextHour,\n handlePrevMinute,\n handleNextMinute,\n // handlePrevSecond,\n // handleNextSecond,\n handleTimeWheelBtnChangeMeridiem,\n prevMonthBtnRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n // prevSecondsBtnRef,\n // currSecondsBtnRef,\n // nextSecondsBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n isWithCalendarToo,\n isControllerOnly,\n });\n\n return useMemo(\n () => ({\n tempTimeString,\n isControllerOnly,\n autoFocusHourTimeWheel,\n\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n // currSecondNum,\n // seconds,\n // visibleSeconds,\n // handlePrevSecond,\n // handleNextSecond,\n // handleTimeWheelBtnChangeSeconds,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n // prevSecondsBtnRef,\n // currSecondsBtnRef,\n // nextSecondsBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n\n getIsDisabledTime,\n ariaCurrentValueForInputs,\n disabled,\n }),\n [\n tempTimeString,\n isControllerOnly,\n autoFocusHourTimeWheel,\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n getIsDisabledTime,\n ariaCurrentValueForInputs,\n disabled,\n ],\n );\n};\n"],"names":["useConfigTimePickerCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","minutesInterval","getIsDisabledTime","onPickerClose","onPickerOpen","disabled","hideDate","hideTime","monthInputRef","hourInputRef","tempTimeString","prevMonthBtnRef","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","isControllerOnly","isWithCalendarToo","autoFocusHourTimeWheel","ariaCurrentValueForInputs","useCurrentDisplayedWheelsLogic","currHourNum","hours","visibleHours","handlePrevHour","handleNextHour","handleTimeWheelBtnChangeHours","currMinuteNum","minutes","visibleMinutes","handlePrevMinute","handleNextMinute","handleTimeWheelBtnChangeMinutes","meridiem","handleTimeWheelBtnChangeMeridiem","usePopperTriggerLogic","showTimePicker","setShowTimePicker","setPopperElement","setArrowElement","usePopperHelpers","handleToggleTimePicker","handleSetTriggerRef","handleMenuWrapperKeyDown","useKeyboardHandlers","handlePrevHourBtnOnKeyDown","handleCurrHourOnKeyDown","handleNextHourBtnOnKeyDown","handlePrevMinuteBtnOnKeyDown","handleCurrMinutesOnKeyDown","handleNextMinuteBtnOnKeyDown","handlePrevMeridiemBtnOnKeyDown","handleCurrMeridiemOnKeyDown","handleNextMeridiemBtnOnKeyDown","handlePickerIconKeyDown","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useConfigTimePickerCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useContext } from 'react';\nimport { TimeWheelContextT } from './TimeWheelContext';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\n\nexport const useConfigTimePickerCTX = (): TimeWheelContextT => {\n const {\n props: { minutesInterval, getIsDisabledTime, disabled },\n tempTimeString,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n isControllerOnly,\n autoFocusHourTimeWheel,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n\n const {\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n } = useCurrentDisplayedWheelsLogic({ minutesInterval });\n\n const {\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic();\n\n const {\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n handlePrevHour,\n handleNextHour,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMeridiem,\n });\n\n return useMemo(\n () => ({\n tempTimeString,\n isControllerOnly,\n autoFocusHourTimeWheel,\n\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n\n getIsDisabledTime,\n ariaCurrentValueForInputs,\n disabled,\n }),\n [\n tempTimeString,\n isControllerOnly,\n autoFocusHourTimeWheel,\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n currHourNum,\n hours,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n minutes,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n meridiem,\n handleTimeWheelBtnChangeMeridiem,\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n getIsDisabledTime,\n ariaCurrentValueForInputs,\n disabled,\n ],\n );\n};\n"],"names":["useConfigTimePickerCTX","useContext","ControlledDateTimePickerContext","props","minutesInterval","getIsDisabledTime","disabled","tempTimeString","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","isControllerOnly","autoFocusHourTimeWheel","ariaCurrentValueForInputs","useCurrentDisplayedWheelsLogic","currHourNum","hours","visibleHours","handlePrevHour","handleNextHour","handleTimeWheelBtnChangeHours","currMinuteNum","minutes","visibleMinutes","handlePrevMinute","handleNextMinute","handleTimeWheelBtnChangeMinutes","meridiem","handleTimeWheelBtnChangeMeridiem","usePopperTriggerLogic","showTimePicker","setShowTimePicker","setPopperElement","setArrowElement","usePopperHelpers","handleToggleTimePicker","handleSetTriggerRef","handleMenuWrapperKeyDown","useKeyboardHandlers","handlePrevHourBtnOnKeyDown","handleCurrHourOnKeyDown","handleNextHourBtnOnKeyDown","handlePrevMinuteBtnOnKeyDown","handleCurrMinutesOnKeyDown","handleNextMinuteBtnOnKeyDown","handlePrevMeridiemBtnOnKeyDown","handleCurrMeridiemOnKeyDown","handleNextMeridiemBtnOnKeyDown","handlePickerIconKeyDown","useMemo"],"mappings":"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"}