@elliemae/ds-form-date-time-picker 3.16.0-next.2 → 3.16.0-next.4

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 (160) hide show
  1. package/dist/cjs/ControlledDateTimePicker.js +2 -2
  2. package/dist/cjs/ControlledDateTimePicker.js.map +2 -2
  3. package/dist/cjs/config/useChangeHandlers.js.map +2 -2
  4. package/dist/cjs/config/useControlledDateTimePicker.js +3 -3
  5. package/dist/cjs/config/useControlledDateTimePicker.js.map +2 -2
  6. package/dist/cjs/config/useGetFlags.js +6 -6
  7. package/dist/cjs/config/useGetFlags.js.map +2 -2
  8. package/dist/cjs/config/useGetPropsWithDefault.js +2 -2
  9. package/dist/cjs/config/useGetPropsWithDefault.js.map +2 -2
  10. package/dist/cjs/package.json +7 -0
  11. package/dist/cjs/parts/ClearButton/ClearButton.js +8 -2
  12. package/dist/cjs/parts/ClearButton/ClearButton.js.map +3 -3
  13. package/dist/cjs/parts/ControlledDateTimePickerContent.js +8 -1
  14. package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +3 -3
  15. package/dist/cjs/parts/DateInputs/DDInput.js +4 -2
  16. package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
  17. package/dist/cjs/parts/DateInputs/DateInputs.js +23 -5
  18. package/dist/cjs/parts/DateInputs/DateInputs.js.map +3 -3
  19. package/dist/cjs/parts/DateInputs/MMInput.js +4 -2
  20. package/dist/cjs/parts/DateInputs/MMInput.js.map +2 -2
  21. package/dist/cjs/parts/DateInputs/YYYYInput.js +4 -2
  22. package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
  23. package/dist/cjs/parts/DateInputs/useDateInputs.js +1 -1
  24. package/dist/cjs/parts/DateInputs/useDateInputs.js.map +2 -2
  25. package/dist/cjs/parts/Pickers/Calendar/Calendar.js.map +2 -2
  26. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +9 -1
  27. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  28. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +16 -2
  29. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  30. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +35 -2
  31. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  32. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +16 -2
  33. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  34. package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js.map +2 -2
  35. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +8 -2
  36. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  37. package/dist/cjs/parts/Pickers/Calendar/Day.js +4 -0
  38. package/dist/cjs/parts/Pickers/Calendar/Day.js.map +2 -2
  39. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +8 -2
  40. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  41. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +8 -1
  42. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  43. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +10 -1
  44. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  45. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +9 -1
  46. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  47. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +23 -2
  48. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  49. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +24 -2
  50. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  51. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +23 -2
  52. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  53. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +19 -2
  54. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  55. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +16 -2
  56. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  57. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +16 -2
  58. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  59. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +8 -2
  60. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  61. package/dist/cjs/parts/TimeInputs/HHInput.js +4 -2
  62. package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
  63. package/dist/cjs/parts/TimeInputs/MeridiemInput.js +4 -2
  64. package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
  65. package/dist/cjs/parts/TimeInputs/MinutesInput.js +4 -2
  66. package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
  67. package/dist/cjs/parts/TimeInputs/TimeInputs.js +23 -5
  68. package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +3 -3
  69. package/dist/cjs/propTypes.js +28 -26
  70. package/dist/cjs/propTypes.js.map +2 -2
  71. package/dist/cjs/sharedTypes.js.map +1 -1
  72. package/dist/cjs/tests/custom-props/customProps.js +233 -0
  73. package/dist/cjs/tests/custom-props/customProps.js.map +7 -0
  74. package/dist/esm/ControlledDateTimePicker.js +1 -1
  75. package/dist/esm/ControlledDateTimePicker.js.map +1 -1
  76. package/dist/esm/config/useChangeHandlers.js.map +2 -2
  77. package/dist/esm/config/useControlledDateTimePicker.js +1 -1
  78. package/dist/esm/config/useControlledDateTimePicker.js.map +1 -1
  79. package/dist/esm/config/useGetFlags.js +6 -6
  80. package/dist/esm/config/useGetFlags.js.map +2 -2
  81. package/dist/esm/config/useGetPropsWithDefault.js +1 -1
  82. package/dist/esm/config/useGetPropsWithDefault.js.map +1 -1
  83. package/dist/esm/package.json +7 -0
  84. package/dist/esm/parts/ClearButton/ClearButton.js +8 -2
  85. package/dist/esm/parts/ClearButton/ClearButton.js.map +3 -3
  86. package/dist/esm/parts/ControlledDateTimePickerContent.js +8 -1
  87. package/dist/esm/parts/ControlledDateTimePickerContent.js.map +3 -3
  88. package/dist/esm/parts/DateInputs/DDInput.js +4 -2
  89. package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
  90. package/dist/esm/parts/DateInputs/DateInputs.js +23 -5
  91. package/dist/esm/parts/DateInputs/DateInputs.js.map +3 -3
  92. package/dist/esm/parts/DateInputs/MMInput.js +4 -2
  93. package/dist/esm/parts/DateInputs/MMInput.js.map +2 -2
  94. package/dist/esm/parts/DateInputs/YYYYInput.js +4 -2
  95. package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
  96. package/dist/esm/parts/DateInputs/useDateInputs.js +1 -1
  97. package/dist/esm/parts/DateInputs/useDateInputs.js.map +2 -2
  98. package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +2 -2
  99. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +9 -1
  100. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  101. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +16 -2
  102. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  103. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +35 -2
  104. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  105. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +16 -2
  106. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  107. package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +2 -2
  108. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +8 -2
  109. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  110. package/dist/esm/parts/Pickers/Calendar/Day.js +4 -0
  111. package/dist/esm/parts/Pickers/Calendar/Day.js.map +2 -2
  112. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +8 -2
  113. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  114. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +8 -1
  115. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  116. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +10 -1
  117. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  118. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +9 -1
  119. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  120. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +23 -2
  121. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  122. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +24 -2
  123. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  124. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +23 -2
  125. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  126. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +19 -2
  127. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  128. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +16 -2
  129. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  130. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +16 -2
  131. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  132. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +8 -2
  133. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  134. package/dist/esm/parts/TimeInputs/HHInput.js +4 -2
  135. package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
  136. package/dist/esm/parts/TimeInputs/MeridiemInput.js +4 -2
  137. package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
  138. package/dist/esm/parts/TimeInputs/MinutesInput.js +4 -2
  139. package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
  140. package/dist/esm/parts/TimeInputs/TimeInputs.js +23 -5
  141. package/dist/esm/parts/TimeInputs/TimeInputs.js.map +3 -3
  142. package/dist/esm/propTypes.js +9 -2
  143. package/dist/esm/propTypes.js.map +2 -2
  144. package/dist/esm/tests/custom-props/customProps.js +207 -0
  145. package/dist/esm/tests/custom-props/customProps.js.map +7 -0
  146. package/dist/types/ControlledDateTimePicker.d.ts +1 -1
  147. package/dist/types/config/useGetFlags.d.ts +2 -2
  148. package/dist/types/parts/DateInputs/DDInput.d.ts +2 -1
  149. package/dist/types/parts/DateInputs/MMInput.d.ts +3 -2
  150. package/dist/types/parts/DateInputs/YYYYInput.d.ts +2 -1
  151. package/dist/types/parts/TimeInputs/HHInput.d.ts +2 -1
  152. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +2 -1
  153. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +2 -1
  154. package/dist/types/propTypes.d.ts +11 -3
  155. package/dist/types/sharedTypes.d.ts +1 -1
  156. package/dist/types/tests/custom-props/customProps.d.ts +397 -0
  157. package/dist/types/tests/custom-props/date-time-picker.date-custom-props.test.d.ts +1 -0
  158. package/dist/types/tests/custom-props/date-time-picker.date-time-custom-props.test.d.ts +1 -0
  159. package/dist/types/tests/custom-props/date-time-picker.time-custom-props.test.d.ts +1 -0
  160. package/package.json +10 -9
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/Calendar/CalendarWrapper.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContent } from './CalendarContent';\nimport { CalendarContext } from './CalendarContext';\n\nexport const CalendarWrapper = (): JSX.Element => {\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n const { referenceElement, closeCalendar } = useContext(CalendarContext);\n if (isControllerOnly) return <CalendarContent />;\n\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeCalendar}\n >\n <CalendarContent />\n </DSPopperJS>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUQ;AAV/B,mBAAkC;AAClC,yBAA2B;AAC3B,gDAAmD;AACnD,yCAAgD;AAChD,6BAAgC;AAChC,6BAAgC;AAEzB,MAAM,kBAAkB,MAAmB;AAChD,QAAM,EAAE,iBAAiB,QAAI,yBAAW,kEAA+B;AACvE,QAAM,EAAE,kBAAkB,cAAc,QAAI,yBAAW,sCAAe;AACtE,MAAI;AAAkB,WAAO,4CAAC,0CAAgB;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,6EAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MAEhB,sDAAC,0CAAgB;AAAA;AAAA,EACnB;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContent } from './CalendarContent';\nimport { CalendarContext } from './CalendarContext';\n\nexport const CalendarWrapper = (): JSX.Element => {\n const { isControllerOnly, props } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR]),\n [props],\n );\n const { referenceElement, closeCalendar } = useContext(CalendarContext);\n if (isControllerOnly) return <CalendarContent />;\n\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeCalendar}\n {...ariaAndDataProps}\n >\n <CalendarContent />\n </DSPopperJS>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADeQ;AAf/B,mBAAkC;AAClC,8BAAsC;AACtC,yBAA2B;AAC3B,gDAAmD;AACnD,yCAAgD;AAChD,6BAAgC;AAChC,6BAAgC;AAEzB,MAAM,kBAAkB,MAAmB;AAChD,QAAM,EAAE,kBAAkB,MAAM,QAAI,yBAAW,kEAA+B;AAC9E,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,UAAM,+CAAsB,MAAM,6EAAmC,gBAAgB,SAAS;AAAA,IAC9F,CAAC,KAAK;AAAA,EACR;AACA,QAAM,EAAE,kBAAkB,cAAc,QAAI,yBAAW,sCAAe;AACtE,MAAI;AAAkB,WAAO,4CAAC,0CAAgB;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,6EAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MACf,GAAG;AAAA,MAEJ,sDAAC,0CAAgB;AAAA;AAAA,EACnB;AAEJ;",
6
+ "names": ["React"]
7
7
  }
@@ -30,6 +30,7 @@ module.exports = __toCommonJS(Day_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var import_react = require("react");
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_dateHelpers = require("../../../utils/dateHelpers");
34
35
  var import_constants = require("../../../utils/constants");
35
36
  var import_stringHelpers = require("../../../utils/stringHelpers");
@@ -43,6 +44,7 @@ const Day = ({ metaDay, colIndex, isInvisible }) => {
43
44
  const {
44
45
  handleChangeComposedDateString,
45
46
  dateStringFromProps,
47
+ props,
46
48
  props: { preventCloseOnSelection },
47
49
  getIsDisabledDay,
48
50
  getIsOutOfRangeDay,
@@ -141,6 +143,7 @@ const Day = ({ metaDay, colIndex, isInvisible }) => {
141
143
  dataTestid = import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.END_RANGE_DAY;
142
144
  if (isDayInRange)
143
145
  dataTestid = import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.IN_RANGE_DAY;
146
+ const ariaAndDataProps = (0, import_react.useMemo)(() => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[dataTestid]), [dataTestid, props]);
144
147
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
145
148
  "div",
146
149
  {
@@ -166,6 +169,7 @@ const Day = ({ metaDay, colIndex, isInvisible }) => {
166
169
  "data-isfocused": isFocused,
167
170
  "data-testid": dataTestid,
168
171
  type: "button",
172
+ ...ariaAndDataProps,
169
173
  children: `${day.getDate()}`
170
174
  }
171
175
  )
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/Calendar/Day.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport {\n getDateStringFromDay,\n getDayFromDateString,\n getDateValuesFromDate,\n isSameDateMoment,\n compareTwoDatesDayEquality,\n} from '../../../utils/dateHelpers';\nimport { defaultMetaInfo, weekDays } from '../../../utils/constants';\nimport { getAriaDayFromDateString } from '../../../utils/stringHelpers';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContext } from './CalendarContext';\nimport { StyledDayBtn } from './Styleds';\nimport type { DSControlledDateTimePickerT } from '../../../propTypes';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\n\ninterface CalendarDayPropsT {\n metaDay: DSControlledDateTimePickerInternalsT.MetaMonthDay;\n colIndex?: number;\n isInvisible?: boolean;\n}\nconst displayNone = { display: 'none' };\n\nexport const Day = ({ metaDay, colIndex, isInvisible }: CalendarDayPropsT): JSX.Element => {\n const { day, isCurrMonthDay, isHidden, dayBtnRef, dayAsString } = metaDay;\n const {\n handleChangeComposedDateString,\n dateStringFromProps,\n props: { preventCloseOnSelection },\n getIsDisabledDay,\n getIsOutOfRangeDay,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n latestInteractionRegion,\n isWithTimeWheelToo,\n trackFocusCalendarMetafocusedDay,\n } = useContext(ControlledDateTimePickerContext);\n const { focusedDay, handleDayOnKeyDown, handleFocusMetaDayByDay, closeCalendar } = useContext(CalendarContext);\n const isFocusedMetaDay = focusedDay?.day ? compareTwoDatesDayEquality(metaDay?.day, focusedDay?.day) : false;\n const isSelected = useMemo(() => {\n const selectedDate = getDayFromDateString(dateStringFromProps);\n return selectedDate ? isSameDateMoment(day, selectedDate) : false;\n }, [dateStringFromProps, day]);\n const isFocused = latestInteractionRegion === 'calendar-days' && isFocusedMetaDay;\n const isDisabled = getIsDisabledDay(metaDay.dayAsString);\n const isOutOfRange = getIsOutOfRangeDay(metaDay.dayAsString);\n const isStartRangeDay = getIsStartRangeDay(metaDay.dayAsString);\n const isEndRangeDay = getIsEndRangeDay(metaDay.dayAsString);\n const isDayInRangeImproper = getIsDayInRange(metaDay.dayAsString);\n const isDayInRange = !isStartRangeDay && !isEndRangeDay && isDayInRangeImproper;\n\n const handleOnDayClick = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleFocusMetaDayByDay(day);\n if (!isDisabled && !isOutOfRange) {\n const newDateString = getDateStringFromDay(day);\n const metaInfo = { ...defaultMetaInfo, newDateString };\n const { month, day: dayNumber, year } = getDateValuesFromDate(day);\n appOnMonthChange(`${month + 1}`, e, metaInfo);\n if (dayNumber) appOnDayChange(`${dayNumber}`, e, metaInfo);\n appOnYearChange(`${year}`, e, metaInfo);\n handleChangeComposedDateString(newDateString, metaInfo);\n trackFocusCalendarMetafocusedDay();\n if (!isWithTimeWheelToo && !preventCloseOnSelection) closeCalendar();\n }\n },\n [\n handleFocusMetaDayByDay,\n day,\n isDisabled,\n isOutOfRange,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n handleChangeComposedDateString,\n trackFocusCalendarMetafocusedDay,\n isWithTimeWheelToo,\n preventCloseOnSelection,\n closeCalendar,\n ],\n );\n\n const handleInnerRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n window.requestAnimationFrame(() => {\n dayBtnRef.current = ButtonDomNode;\n if (isFocused) ButtonDomNode?.focus?.();\n });\n },\n [dayBtnRef, isFocused],\n );\n\n const handleOnDayFocus = useCallback(() => {\n trackFocusCalendarMetafocusedDay('calendar-days');\n }, [trackFocusCalendarMetafocusedDay]);\n\n const dayClassModifiers = useMemo(\n () =>\n `dayWrapper ${isSelected ? 'selectedDay ' : ''}${isDisabled ? 'disabledDay ' : ''}${\n isOutOfRange ? 'outOfRangeDay ' : ''\n }${isFocused ? 'focusedDay ' : ''}${isStartRangeDay ? 'startRangeDay ' : ''}${\n isDayInRangeImproper ? 'inRangeImproperDay ' : ''\n }${isDayInRange ? 'inRangeDay ' : ''}${isEndRangeDay ? 'endRangeDay ' : ''}${\n isCurrMonthDay ? '' : 'notCurrentMonth'\n }`,\n [\n isSelected,\n isDisabled,\n isOutOfRange,\n isFocused,\n isStartRangeDay,\n isDayInRangeImproper,\n isDayInRange,\n isEndRangeDay,\n isCurrMonthDay,\n ],\n );\n\n let dataTestid: string = ControlledDateTimePickerDatatestid.CALENDAR.DAY;\n if (isSelected) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_DAY;\n if (isFocused) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.FOCUSED_DAY;\n if (isFocused && isSelected) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_FOCUSED_DAY;\n if (isStartRangeDay) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.START_RANGE_DAY;\n if (isEndRangeDay) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.END_RANGE_DAY;\n if (isDayInRange) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.IN_RANGE_DAY;\n\n return (\n <div\n className={dayClassModifiers}\n style={isHidden ? displayNone : undefined}\n role={!isInvisible ? 'gridcell' : undefined}\n {...(Number.isInteger(colIndex) && { 'aria-colindex': colIndex })}\n >\n <StyledDayBtn\n aria-label={`${getAriaDayFromDateString(dayAsString)}, ${weekDays[metaDay.day.getDay()]}`}\n aria-disabled={isOutOfRange || isDisabled}\n aria-hidden={!!isInvisible}\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleOnDayClick} // DSButton triggers this with \"spacebar\" and \"enter\" too...\n onFocus={handleOnDayFocus}\n onKeyDown={(e: React.KeyboardEvent<Element>) => {\n handleDayOnKeyDown(e, metaDay);\n }}\n innerRef={handleInnerRef}\n tabIndex={-1}\n data-isfocused={isFocused}\n data-testid={dataTestid}\n type=\"button\"\n >\n {`${day.getDate()}`}\n </StyledDayBtn>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport {\n getDateStringFromDay,\n getDayFromDateString,\n getDateValuesFromDate,\n isSameDateMoment,\n compareTwoDatesDayEquality,\n} from '../../../utils/dateHelpers';\nimport { defaultMetaInfo, weekDays } from '../../../utils/constants';\nimport { getAriaDayFromDateString } from '../../../utils/stringHelpers';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContext } from './CalendarContext';\nimport { StyledDayBtn } from './Styleds';\nimport type { DSControlledDateTimePickerT } from '../../../propTypes';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\n\ninterface CalendarDayPropsT {\n metaDay: DSControlledDateTimePickerInternalsT.MetaMonthDay;\n colIndex?: number;\n isInvisible?: boolean;\n}\nconst displayNone = { display: 'none' };\n\nexport const Day = ({ metaDay, colIndex, isInvisible }: CalendarDayPropsT): JSX.Element => {\n const { day, isCurrMonthDay, isHidden, dayBtnRef, dayAsString } = metaDay;\n const {\n handleChangeComposedDateString,\n dateStringFromProps,\n props,\n props: { preventCloseOnSelection },\n getIsDisabledDay,\n getIsOutOfRangeDay,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n latestInteractionRegion,\n isWithTimeWheelToo,\n trackFocusCalendarMetafocusedDay,\n } = useContext(ControlledDateTimePickerContext);\n\n const { focusedDay, handleDayOnKeyDown, handleFocusMetaDayByDay, closeCalendar } = useContext(CalendarContext);\n const isFocusedMetaDay = focusedDay?.day ? compareTwoDatesDayEquality(metaDay?.day, focusedDay?.day) : false;\n const isSelected = useMemo(() => {\n const selectedDate = getDayFromDateString(dateStringFromProps);\n return selectedDate ? isSameDateMoment(day, selectedDate) : false;\n }, [dateStringFromProps, day]);\n const isFocused = latestInteractionRegion === 'calendar-days' && isFocusedMetaDay;\n const isDisabled = getIsDisabledDay(metaDay.dayAsString);\n const isOutOfRange = getIsOutOfRangeDay(metaDay.dayAsString);\n const isStartRangeDay = getIsStartRangeDay(metaDay.dayAsString);\n const isEndRangeDay = getIsEndRangeDay(metaDay.dayAsString);\n const isDayInRangeImproper = getIsDayInRange(metaDay.dayAsString);\n const isDayInRange = !isStartRangeDay && !isEndRangeDay && isDayInRangeImproper;\n\n const handleOnDayClick = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleFocusMetaDayByDay(day);\n if (!isDisabled && !isOutOfRange) {\n const newDateString = getDateStringFromDay(day);\n const metaInfo = { ...defaultMetaInfo, newDateString };\n const { month, day: dayNumber, year } = getDateValuesFromDate(day);\n appOnMonthChange(`${month + 1}`, e, metaInfo);\n if (dayNumber) appOnDayChange(`${dayNumber}`, e, metaInfo);\n appOnYearChange(`${year}`, e, metaInfo);\n handleChangeComposedDateString(newDateString, metaInfo);\n trackFocusCalendarMetafocusedDay();\n if (!isWithTimeWheelToo && !preventCloseOnSelection) closeCalendar();\n }\n },\n [\n handleFocusMetaDayByDay,\n day,\n isDisabled,\n isOutOfRange,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n handleChangeComposedDateString,\n trackFocusCalendarMetafocusedDay,\n isWithTimeWheelToo,\n preventCloseOnSelection,\n closeCalendar,\n ],\n );\n\n const handleInnerRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n window.requestAnimationFrame(() => {\n dayBtnRef.current = ButtonDomNode;\n if (isFocused) ButtonDomNode?.focus?.();\n });\n },\n [dayBtnRef, isFocused],\n );\n\n const handleOnDayFocus = useCallback(() => {\n trackFocusCalendarMetafocusedDay('calendar-days');\n }, [trackFocusCalendarMetafocusedDay]);\n\n const dayClassModifiers = useMemo(\n () =>\n `dayWrapper ${isSelected ? 'selectedDay ' : ''}${isDisabled ? 'disabledDay ' : ''}${\n isOutOfRange ? 'outOfRangeDay ' : ''\n }${isFocused ? 'focusedDay ' : ''}${isStartRangeDay ? 'startRangeDay ' : ''}${\n isDayInRangeImproper ? 'inRangeImproperDay ' : ''\n }${isDayInRange ? 'inRangeDay ' : ''}${isEndRangeDay ? 'endRangeDay ' : ''}${\n isCurrMonthDay ? '' : 'notCurrentMonth'\n }`,\n [\n isSelected,\n isDisabled,\n isOutOfRange,\n isFocused,\n isStartRangeDay,\n isDayInRangeImproper,\n isDayInRange,\n isEndRangeDay,\n isCurrMonthDay,\n ],\n );\n\n let dataTestid: (typeof ControlledDateTimePickerDatatestid)['CALENDAR'][keyof (typeof ControlledDateTimePickerDatatestid)['CALENDAR']] =\n ControlledDateTimePickerDatatestid.CALENDAR.DAY;\n\n if (isSelected) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_DAY;\n if (isFocused) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.FOCUSED_DAY;\n if (isFocused && isSelected) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_FOCUSED_DAY;\n if (isStartRangeDay) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.START_RANGE_DAY;\n if (isEndRangeDay) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.END_RANGE_DAY;\n if (isDayInRange) dataTestid = ControlledDateTimePickerDatatestid.CALENDAR.IN_RANGE_DAY;\n const ariaAndDataProps = useMemo(() => getPropsPerDatatestid(props[dataTestid]), [dataTestid, props]);\n return (\n <div\n className={dayClassModifiers}\n style={isHidden ? displayNone : undefined}\n role={!isInvisible ? 'gridcell' : undefined}\n {...(Number.isInteger(colIndex) && { 'aria-colindex': colIndex })}\n >\n <StyledDayBtn\n aria-label={`${getAriaDayFromDateString(dayAsString)}, ${weekDays[metaDay.day.getDay()]}`}\n aria-disabled={isOutOfRange || isDisabled}\n aria-hidden={!!isInvisible}\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleOnDayClick} // DSButton triggers this with \"spacebar\" and \"enter\" too...\n onFocus={handleOnDayFocus}\n onKeyDown={(e: React.KeyboardEvent<Element>) => {\n handleDayOnKeyDown(e, metaDay);\n }}\n innerRef={handleInnerRef}\n tabIndex={-1}\n data-isfocused={isFocused}\n data-testid={dataTestid}\n type=\"button\"\n {...ariaAndDataProps}\n >\n {`${day.getDate()}`}\n </StyledDayBtn>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -29,19 +29,25 @@ __export(CalendarWithTimeWheelContent_exports, {
29
29
  module.exports = __toCommonJS(CalendarWithTimeWheelContent_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
32
+ var import_react = __toESM(require("react"));
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
34
35
  var import_Styleds = require("./Styleds");
35
36
  var import_CalendarWithTimeWheelFooter = require("./CalendarWithTimeWheelFooter");
36
37
  var import_TimeWheelContent = require("../TimeWheel/TimeWheelContent");
37
38
  var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
38
39
  const CalendarWithTimeWheelContent = () => {
39
- const { isControllerOnly } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
40
+ const { isControllerOnly, props } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
41
+ const ariaAndDataProps = import_react.default.useMemo(
42
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL]),
43
+ [props]
44
+ );
40
45
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
41
46
  import_Styleds.StyledCalendarWithTimeWheelWrapper,
42
47
  {
43
48
  isControllerOnly,
44
49
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL,
50
+ ...ariaAndDataProps,
45
51
  children: [
46
52
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledCalendar, {}),
47
53
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TimeWheelContent.TimeWheelContent, {}),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds';\nimport { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter';\nimport { TimeWheelContent } from '../TimeWheel/TimeWheelContent';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelContent = (): JSX.Element => {\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledCalendarWithTimeWheelWrapper\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL}\n >\n <StyledCalendar />\n <TimeWheelContent />\n <CalendarWithTimeWheelFooter />\n </StyledCalendarWithTimeWheelWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUnB;AAVJ,mBAAkC;AAClC,gDAAmD;AACnD,qBAAmE;AACnE,yCAA4C;AAC5C,8BAAiC;AACjC,yCAAgD;AAEzC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,iBAAiB,QAAI,yBAAW,kEAA+B;AACvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,6EAAmC,qBAAqB;AAAA,MAErE;AAAA,oDAAC,iCAAe;AAAA,QAChB,4CAAC,4CAAiB;AAAA,QAClB,4CAAC,kEAA4B;AAAA;AAAA;AAAA,EAC/B;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds';\nimport { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter';\nimport { TimeWheelContent } from '../TimeWheel/TimeWheelContent';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelContent = (): JSX.Element => {\n const { isControllerOnly, props } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL]),\n [props],\n );\n return (\n <StyledCalendarWithTimeWheelWrapper\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL}\n {...ariaAndDataProps}\n >\n <StyledCalendar />\n <TimeWheelContent />\n <CalendarWithTimeWheelFooter />\n </StyledCalendarWithTimeWheelWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADenB;AAfJ,mBAAkC;AAClC,8BAAsC;AACtC,gDAAmD;AACnD,qBAAmE;AACnE,yCAA4C;AAC5C,8BAAiC;AACjC,yCAAgD;AAEzC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,kBAAkB,MAAM,QAAI,yBAAW,kEAA+B;AAC9E,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,UAAM,+CAAsB,MAAM,6EAAmC,qBAAqB,mBAAmB;AAAA,IAC7G,CAAC,KAAK;AAAA,EACR;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa,6EAAmC,qBAAqB;AAAA,MACpE,GAAG;AAAA,MAEJ;AAAA,oDAAC,iCAAe;AAAA,QAChB,4CAAC,4CAAiB;AAAA,QAClB,4CAAC,kEAA4B;AAAA;AAAA;AAAA,EAC/B;AAEJ;",
6
+ "names": ["React"]
7
7
  }
@@ -29,19 +29,26 @@ __export(CalendarWithTimeWheelFooter_exports, {
29
29
  module.exports = __toCommonJS(CalendarWithTimeWheelFooter_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
32
+ var import_react = __toESM(require("react"));
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
34
35
  var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
35
36
  var import_Styleds = require("./Styleds");
36
37
  const CalendarWithTimeWheelFooter = () => {
37
38
  const {
39
+ props,
38
40
  props: { pickerFooterMsg, hasError }
39
41
  } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
42
+ const ariaAndDataProps = import_react.default.useMemo(
43
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL]),
44
+ [props]
45
+ );
40
46
  return pickerFooterMsg !== void 0 && hasError ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
41
47
  import_Styleds.CalendarWithTimeWheelFooterMessage,
42
48
  {
43
49
  role: "alert",
44
50
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL,
51
+ ...ariaAndDataProps,
45
52
  children: pickerFooterMsg
46
53
  }
47
54
  ) : null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarWithTimeWheelFooterMessage } from './Styleds';\n\nexport const CalendarWithTimeWheelFooter: React.ComponentType = () => {\n const {\n props: { pickerFooterMsg, hasError },\n } = useContext(ControlledDateTimePickerContext);\n return pickerFooterMsg !== undefined && hasError ? (\n <CalendarWithTimeWheelFooterMessage\n role=\"alert\"\n data-testid={ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL}\n >\n {pickerFooterMsg}\n </CalendarWithTimeWheelFooterMessage>\n ) : null;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUnB;AAVJ,mBAAkC;AAClC,gDAAmD;AACnD,yCAAgD;AAChD,qBAAmD;AAE5C,MAAM,8BAAmD,MAAM;AACpE,QAAM;AAAA,IACJ,OAAO,EAAE,iBAAiB,SAAS;AAAA,EACrC,QAAI,yBAAW,kEAA+B;AAC9C,SAAO,oBAAoB,UAAa,WACtC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAa,6EAAmC,QAAQ;AAAA,MAEvD;AAAA;AAAA,EACH,IACE;AACN;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarWithTimeWheelFooterMessage } from './Styleds';\n\nexport const CalendarWithTimeWheelFooter: React.ComponentType = () => {\n const {\n props,\n props: { pickerFooterMsg, hasError },\n } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL]),\n [props],\n );\n return pickerFooterMsg !== undefined && hasError ? (\n <CalendarWithTimeWheelFooterMessage\n role=\"alert\"\n data-testid={ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL}\n {...ariaAndDataProps}\n >\n {pickerFooterMsg}\n </CalendarWithTimeWheelFooterMessage>\n ) : null;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADgBnB;AAhBJ,mBAAkC;AAClC,8BAAsC;AACtC,gDAAmD;AACnD,yCAAgD;AAChD,qBAAmD;AAE5C,MAAM,8BAAmD,MAAM;AACpE,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,iBAAiB,SAAS;AAAA,EACrC,QAAI,yBAAW,kEAA+B;AAC9C,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,UAAM,+CAAsB,MAAM,6EAAmC,QAAQ,mBAAmB;AAAA,IAChG,CAAC,KAAK;AAAA,EACR;AACA,SAAO,oBAAoB,UAAa,WACtC;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAa,6EAAmC,QAAQ;AAAA,MACvD,GAAG;AAAA,MAEH;AAAA;AAAA,EACH,IACE;AACN;",
6
+ "names": ["React"]
7
7
  }
@@ -29,11 +29,13 @@ __export(CalendarWithTimeWheelIconTrigger_exports, {
29
29
  module.exports = __toCommonJS(CalendarWithTimeWheelIconTrigger_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
32
+ var import_react = __toESM(require("react"));
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_ds_button = require("@elliemae/ds-button");
34
35
  var import_ds_icons = require("@elliemae/ds-icons");
35
36
  var import_CalendarWithTimeWheelContext = require("./CalendarWithTimeWheelContext");
36
37
  var import_Styleds = require("./Styleds");
38
+ var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
37
39
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
38
40
  const CalendarWithTimeWheelIconTrigger = () => {
39
41
  const {
@@ -43,6 +45,11 @@ const CalendarWithTimeWheelIconTrigger = () => {
43
45
  ariaCurrentValueForInputs,
44
46
  disabled
45
47
  } = (0, import_react.useContext)(import_CalendarWithTimeWheelContext.CalendarWithTimeWheelContext);
48
+ const { props } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
49
+ const ariaAndDataProps = import_react.default.useMemo(
50
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL]),
51
+ [props]
52
+ );
46
53
  return (0, import_react.useMemo)(
47
54
  () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
48
55
  import_Styleds.StyledIconTriggerButton,
@@ -56,10 +63,12 @@ const CalendarWithTimeWheelIconTrigger = () => {
56
63
  onKeyDown: handlePickerIconKeyDown,
57
64
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL,
58
65
  disabled,
66
+ ...ariaAndDataProps,
59
67
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.DatePicker, {})
60
68
  }
61
69
  ),
62
70
  [
71
+ ariaAndDataProps,
63
72
  ariaCurrentValueForInputs,
64
73
  disabled,
65
74
  handlePickerIconKeyDown,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { BUTTON_SIZES } from '@elliemae/ds-button';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { StyledIconTriggerButton } from './Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const CalendarWithTimeWheelIconTrigger = (): JSX.Element => {\n const {\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n handlePickerIconKeyDown,\n ariaCurrentValueForInputs,\n disabled,\n } = useContext(CalendarWithTimeWheelContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`date time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n type=\"button\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleCalendarWithTimeWheel}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL}\n disabled={disabled}\n >\n <DatePicker />\n </StyledIconTriggerButton>\n ),\n [\n ariaCurrentValueForInputs,\n disabled,\n handlePickerIconKeyDown,\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+Bf;AA/BR,mBAA2C;AAC3C,uBAA6B;AAC7B,sBAA2B;AAC3B,0CAA6C;AAC7C,qBAAwC;AACxC,gDAAmD;AAK5C,MAAM,mCAAmC,MAAmB;AACjE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gEAA4B;AAC3C,aAAO;AAAA,IACL,MACE;AAAA,MAAC;AAAA;AAAA,QACC,cAAY,0CAA0C;AAAA,QACtD,YAAW;AAAA,QACX,MAAK;AAAA,QACL,MAAM,8BAAa;AAAA,QACnB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,QACX,eAAa,6EAAmC,aAAa;AAAA,QAC7D;AAAA,QAEA,sDAAC,8BAAW;AAAA;AAAA,IACd;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { BUTTON_SIZES } from '@elliemae/ds-button';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { StyledIconTriggerButton } from './Styleds';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const CalendarWithTimeWheelIconTrigger = (): JSX.Element => {\n const {\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n handlePickerIconKeyDown,\n ariaCurrentValueForInputs,\n disabled,\n } = useContext(CalendarWithTimeWheelContext);\n const { props } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL]),\n [props],\n );\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`date time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n type=\"button\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleCalendarWithTimeWheel}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL}\n disabled={disabled}\n {...ariaAndDataProps}\n >\n <DatePicker />\n </StyledIconTriggerButton>\n ),\n [\n ariaAndDataProps,\n ariaCurrentValueForInputs,\n disabled,\n handlePickerIconKeyDown,\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuCf;AAvCR,mBAA2C;AAC3C,8BAAsC;AACtC,uBAA6B;AAC7B,sBAA2B;AAC3B,0CAA6C;AAC7C,qBAAwC;AACxC,yCAAgD;AAChD,gDAAmD;AAK5C,MAAM,mCAAmC,MAAmB;AACjE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gEAA4B;AAC3C,QAAM,EAAE,MAAM,QAAI,yBAAW,kEAA+B;AAC5D,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,UAAM,+CAAsB,MAAM,6EAAmC,aAAa,mBAAmB;AAAA,IACrG,CAAC,KAAK;AAAA,EACR;AACA,aAAO;AAAA,IACL,MACE;AAAA,MAAC;AAAA;AAAA,QACC,cAAY,0CAA0C;AAAA,QACtD,YAAW;AAAA,QACX,MAAK;AAAA,QACL,MAAM,8BAAa;AAAA,QACnB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,QACX,eAAa,6EAAmC,aAAa;AAAA,QAC7D;AAAA,QACC,GAAG;AAAA,QAEJ,sDAAC,8BAAW;AAAA;AAAA,IACd;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": ["React"]
7
7
  }
@@ -29,13 +29,20 @@ __export(CalendarWithTimeWheelWrapper_exports, {
29
29
  module.exports = __toCommonJS(CalendarWithTimeWheelWrapper_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
32
+ var import_react = __toESM(require("react"));
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
34
35
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
35
36
  var import_CalendarWithTimeWheelContent = require("./CalendarWithTimeWheelContent");
36
37
  var import_CalendarWithTimeWheelContext = require("./CalendarWithTimeWheelContext");
38
+ var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
37
39
  const CalendarWithTimeWheelWrapper = () => {
38
40
  const { referenceElement, closeCalendar, isControllerOnly } = (0, import_react.useContext)(import_CalendarWithTimeWheelContext.CalendarWithTimeWheelContext);
41
+ const { props } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
42
+ const ariaAndDataProps = import_react.default.useMemo(
43
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL]),
44
+ [props]
45
+ );
39
46
  if (isControllerOnly)
40
47
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_CalendarWithTimeWheelContent.CalendarWithTimeWheelContent, {});
41
48
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -46,6 +53,7 @@ const CalendarWithTimeWheelWrapper = () => {
46
53
  referenceElement,
47
54
  withoutArrow: true,
48
55
  onClickOutside: closeCalendar,
56
+ ...ariaAndDataProps,
49
57
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_CalendarWithTimeWheelContent.CalendarWithTimeWheelContent, {})
50
58
  }
51
59
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\n\nexport const CalendarWithTimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeCalendar, isControllerOnly } = useContext(CalendarWithTimeWheelContext);\n if (isControllerOnly) return <CalendarWithTimeWheelContent />;\n\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeCalendar}\n >\n <CalendarWithTimeWheelContent />\n </DSPopperJS>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADQQ;AAR/B,mBAAkC;AAClC,yBAA2B;AAC3B,gDAAmD;AACnD,0CAA6C;AAC7C,0CAA6C;AAEtC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,kBAAkB,eAAe,iBAAiB,QAAI,yBAAW,gEAA4B;AACrG,MAAI;AAAkB,WAAO,4CAAC,oEAA6B;AAE3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,6EAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MAEhB,sDAAC,oEAA6B;AAAA;AAAA,EAChC;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeCalendar, isControllerOnly } = useContext(CalendarWithTimeWheelContext);\n const { props } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL]),\n [props],\n );\n if (isControllerOnly) return <CalendarWithTimeWheelContent />;\n\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeCalendar}\n {...ariaAndDataProps}\n >\n <CalendarWithTimeWheelContent />\n </DSPopperJS>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADeQ;AAf/B,mBAAkC;AAClC,8BAAsC;AACtC,yBAA2B;AAC3B,gDAAmD;AACnD,0CAA6C;AAC7C,0CAA6C;AAC7C,yCAAgD;AAEzC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,kBAAkB,eAAe,iBAAiB,QAAI,yBAAW,gEAA4B;AACrG,QAAM,EAAE,MAAM,QAAI,yBAAW,kEAA+B;AAC5D,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,UAAM,+CAAsB,MAAM,6EAAmC,gBAAgB,mBAAmB;AAAA,IACxG,CAAC,KAAK;AAAA,EACR;AACA,MAAI;AAAkB,WAAO,4CAAC,oEAA6B;AAE3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,6EAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MACf,GAAG;AAAA,MAEJ,sDAAC,oEAA6B;AAAA;AAAA,EAChC;AAEJ;",
6
+ "names": ["React"]
7
7
  }
@@ -29,7 +29,8 @@ __export(HoursList_exports, {
29
29
  module.exports = __toCommonJS(HoursList_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
32
+ var import_react = __toESM(require("react"));
33
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
33
34
  var import_ds_icons = require("@elliemae/ds-icons");
34
35
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
35
36
  var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
@@ -55,8 +56,25 @@ const HoursList = () => {
55
56
  autoFocusHourTimeWheel,
56
57
  hours,
57
58
  latestInteractionRegion,
58
- currFocusDescriber
59
+ currFocusDescriber,
60
+ props
59
61
  } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
62
+ const ariaAndDataPropsPrevHour = import_react.default.useMemo(
63
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR]),
64
+ [props]
65
+ );
66
+ const ariaAndDataPropsNextHour = import_react.default.useMemo(
67
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR]),
68
+ [props]
69
+ );
70
+ const ariaAndDataPropsCurrHour = import_react.default.useMemo(
71
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_HOUR]),
72
+ [props]
73
+ );
74
+ const ariaAndDataPropsHour = import_react.default.useMemo(
75
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.HOUR]),
76
+ [props]
77
+ );
60
78
  const handleCurrYearRef = (0, import_react.useCallback)(
61
79
  (ButtonDomNode) => {
62
80
  setTimeout(() => {
@@ -77,6 +95,7 @@ const HoursList = () => {
77
95
  onClick: handlePrevHour,
78
96
  innerRef: prevHourBtnRef,
79
97
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR,
98
+ ...ariaAndDataPropsPrevHour,
80
99
  tabIndex: -1,
81
100
  type: "button",
82
101
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallUp, { color: ["brand-primary", "700"] })
@@ -119,6 +138,7 @@ const HoursList = () => {
119
138
  "aria-valuetext": `${hourString} hours`,
120
139
  type: "button",
121
140
  ...btnProps,
141
+ ...isCurrentListItem ? ariaAndDataPropsCurrHour : ariaAndDataPropsHour,
122
142
  children: hourString
123
143
  }
124
144
  ) }, key);
@@ -133,6 +153,7 @@ const HoursList = () => {
133
153
  innerRef: nextHourBtnRef,
134
154
  tabIndex: -1,
135
155
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR,
156
+ ...ariaAndDataPropsNextHour,
136
157
  type: "button",
137
158
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallDown, { color: ["brand-primary", "700"] })
138
159
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/TimeWheel/HoursList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const HoursList = (): JSX.Element => {\n const {\n currHourNum,\n currMinuteNum,\n currMeridiem,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n handleCurrHourOnKeyDown,\n } = useContext(TimeWheelContext);\n const {\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n getIsDisabledTime,\n autoFocusHourTimeWheel,\n hours,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const handleCurrYearRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currHourBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-hour')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currHourBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevHour}\n innerRef={prevHourBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallUp color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleHours.map((hourString) => {\n const key = `timewheel-hour-${hourString || ''}`;\n if (!hourString) return <StyledWheelListItem key={key} />;\n const currHourTimeString = `${hourString}:${currMinuteNum} ${currMeridiem}`;\n\n const isEmptyCurrValueCurrentListItem = !hours && convertToPositiveNumberIfPossible(hourString) === currHourNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;\n const isDisabled = getIsDisabledTime(currHourTimeString);\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrHourOnKeyDown : undefined,\n innerRef: isCurrentListItem ? handleCurrYearRef : undefined,\n };\n const styleProps = {\n isCurrentListItem,\n isDisabled,\n };\n return (\n <StyledWheelListItem isCurrentListItem={isCurrentListItem} key={key}>\n <StyledTimeBtn\n {...styleProps}\n autoFocus={autoFocusHourTimeWheel && isCurrentListItem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR']}\n selected={hours.length === 2 && convertToPositiveNumberIfPossible(hourString) === currHourNum}\n aria-label={`${hourString} hours`}\n aria-disabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeHours(hourString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax={12}\n aria-valuemin={1}\n aria-valuenow={currHourNum}\n aria-valuetext={`${hourString} hours`}\n type=\"button\"\n {...btnProps}\n >\n {hourString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextHour}\n innerRef={nextHourBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR}\n type=\"button\"\n >\n <ChevronSmallDown color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyCnB;AAxCJ,mBAA+C;AAC/C,sBAAiD;AACjD,gDAAmD;AACnD,yCAAgD;AAChD,2BAAkD;AAClD,qBAA8F;AAC9F,8BAAiC;AAE1B,MAAM,YAAY,MAAmB;AAC1C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,wCAAgB;AAC/B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,kEAA+B;AAC9C,QAAM,wBAAoB;AAAA,IACxB,CAAC,kBAAqC;AACpC,iBAAW,MAAM;AACf,uBAAe,UAAU;AACzB,YAAI,4BAA4B,eAAe,uBAAuB;AACpE,yBAAe,QAAQ;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,IACA,CAAC,oBAAoB,yBAAyB,cAAc;AAAA,EAC9D;AACA,SACE,6CAAC,kCACC;AAAA,gDAAC,sCACC;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAK;AAAA,QACL,SAAS;AAAA,QACT,UAAU;AAAA,QACV,eAAa,6EAAmC,UAAU;AAAA,QAC1D,UAAU;AAAA,QACV,MAAK;AAAA,QAEL,sDAAC,kCAAe,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA;AAAA,IACnD,GACF;AAAA,IACC,aAAa,IAAI,CAAC,eAAe;AAChC,YAAM,MAAM,kBAAkB,cAAc;AAC5C,UAAI,CAAC;AAAY,eAAO,4CAAC,wCAAyB,GAAK;AACvD,YAAM,qBAAqB,GAAG,cAAc,iBAAiB;AAE7D,YAAM,kCAAkC,CAAC,aAAS,wDAAkC,UAAU,MAAM;AACpG,YAAM,oBAAoB,mCAAmC,UAAU;AACvE,YAAM,aAAa,kBAAkB,kBAAkB;AACvD,YAAM,WAAW,oBAAoB,IAAI;AACzC,YAAM,WAAW;AAAA,QACf,WAAW,oBAAoB,0BAA0B;AAAA,QACzD,UAAU,oBAAoB,oBAAoB;AAAA,MACpD;AACA,YAAM,aAAa;AAAA,QACjB;AAAA,QACA;AAAA,MACF;AACA,aACE,4CAAC,sCAAoB,mBACnB;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,WAAW,0BAA0B;AAAA,UACrC,eAAa,6EAAmC,UAAU,oBAAoB,iBAAiB;AAAA,UAC/F,UAAU,MAAM,WAAW,SAAK,wDAAkC,UAAU,MAAM;AAAA,UAClF,cAAY,GAAG;AAAA,UACf,iBAAe;AAAA,UACf,YAAW;AAAA,UACX,MAAK;AAAA,UACL,SAAS,CAAC,MAA2C,8BAA8B,YAAY,CAAC;AAAA,UAChG;AAAA,UACA,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,iBAAe;AAAA,UACf,iBAAe;AAAA,UACf,kBAAgB,GAAG;AAAA,UACnB,MAAK;AAAA,UACJ,GAAG;AAAA,UAEH;AAAA;AAAA,MACH,KArB8D,GAsBhE;AAAA,IAEJ,CAAC;AAAA,IACD,4CAAC,sCACC;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACX,YAAW;AAAA,QACX,MAAK;AAAA,QACL,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,eAAa,6EAAmC,UAAU;AAAA,QAC1D,MAAK;AAAA,QAEL,sDAAC,oCAAiB,OAAO,CAAC,iBAAiB,KAAK,GAAG;AAAA;AAAA,IACrD,GACF;AAAA,KACF;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const HoursList = (): JSX.Element => {\n const {\n currHourNum,\n currMinuteNum,\n currMeridiem,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n handleCurrHourOnKeyDown,\n } = useContext(TimeWheelContext);\n const {\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n getIsDisabledTime,\n autoFocusHourTimeWheel,\n hours,\n latestInteractionRegion,\n currFocusDescriber,\n props,\n } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataPropsPrevHour = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR]),\n [props],\n );\n const ariaAndDataPropsNextHour = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR]),\n [props],\n );\n const ariaAndDataPropsCurrHour = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_HOUR]),\n [props],\n );\n const ariaAndDataPropsHour = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.HOUR]),\n [props],\n );\n const handleCurrYearRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currHourBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-hour')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currHourBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevHour}\n innerRef={prevHourBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR}\n {...ariaAndDataPropsPrevHour}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallUp color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleHours.map((hourString) => {\n const key = `timewheel-hour-${hourString || ''}`;\n if (!hourString) return <StyledWheelListItem key={key} />;\n const currHourTimeString = `${hourString}:${currMinuteNum} ${currMeridiem}`;\n\n const isEmptyCurrValueCurrentListItem = !hours && convertToPositiveNumberIfPossible(hourString) === currHourNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;\n const isDisabled = getIsDisabledTime(currHourTimeString);\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrHourOnKeyDown : undefined,\n innerRef: isCurrentListItem ? handleCurrYearRef : undefined,\n };\n const styleProps = {\n isCurrentListItem,\n isDisabled,\n };\n return (\n <StyledWheelListItem isCurrentListItem={isCurrentListItem} key={key}>\n <StyledTimeBtn\n {...styleProps}\n autoFocus={autoFocusHourTimeWheel && isCurrentListItem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR']}\n selected={hours.length === 2 && convertToPositiveNumberIfPossible(hourString) === currHourNum}\n aria-label={`${hourString} hours`}\n aria-disabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeHours(hourString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax={12}\n aria-valuemin={1}\n aria-valuenow={currHourNum}\n aria-valuetext={`${hourString} hours`}\n type=\"button\"\n {...btnProps}\n {...(isCurrentListItem ? ariaAndDataPropsCurrHour : ariaAndDataPropsHour)}\n >\n {hourString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextHour}\n innerRef={nextHourBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR}\n {...ariaAndDataPropsNextHour}\n type=\"button\"\n >\n <ChevronSmallDown color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": ["React"]
7
7
  }
@@ -30,8 +30,9 @@ __export(MeridiemList_exports, {
30
30
  module.exports = __toCommonJS(MeridiemList_exports);
31
31
  var React = __toESM(require("react"));
32
32
  var import_jsx_runtime = require("react/jsx-runtime");
33
- var import_react = require("react");
33
+ var import_react = __toESM(require("react"));
34
34
  var import_ds_icons = require("@elliemae/ds-icons");
35
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
35
36
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
36
37
  var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
37
38
  var import_Styleds = require("./Styleds");
@@ -46,8 +47,25 @@ const MeridiemList = () => {
46
47
  hours,
47
48
  minutes,
48
49
  latestInteractionRegion,
49
- currFocusDescriber
50
+ currFocusDescriber,
51
+ props
50
52
  } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
53
+ const ariaAndDataPropsPrevMeridiem = import_react.default.useMemo(
54
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM]),
55
+ [props]
56
+ );
57
+ const ariaAndDataPropsNextMeridiem = import_react.default.useMemo(
58
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM]),
59
+ [props]
60
+ );
61
+ const ariaAndDataPropsCurrMeridiem = import_react.default.useMemo(
62
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_MERIDIEM]),
63
+ [props]
64
+ );
65
+ const ariaAndDataPropsMeridiem = import_react.default.useMemo(
66
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.MERIDIEM]),
67
+ [props]
68
+ );
51
69
  const isAmCurrent = !currMeridiem || currMeridiem === "AM";
52
70
  const isPmCurrent = currMeridiem === "PM";
53
71
  const hourMinuteString = `${hours || "01"}:${minutes || "00"}`;
@@ -83,6 +101,7 @@ const MeridiemList = () => {
83
101
  innerRef: prevMeridiemBtnRef,
84
102
  tabIndex: -1,
85
103
  type: "button",
104
+ ...ariaAndDataPropsPrevMeridiem,
86
105
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallUp, { color: ["brand-primary", "700"] })
87
106
  }
88
107
  ) }),
@@ -107,6 +126,7 @@ const MeridiemList = () => {
107
126
  "aria-valuenow": isPmCurrent ? 1 : 0,
108
127
  "aria-valuetext": isAmCurrent ? "ante meridiem" : "post meridiem",
109
128
  type: "button",
129
+ ...isAmCurrent ? ariaAndDataPropsCurrMeridiem : ariaAndDataPropsMeridiem,
110
130
  children: "AM"
111
131
  }
112
132
  ) }),
@@ -130,6 +150,7 @@ const MeridiemList = () => {
130
150
  "aria-valuenow": isPmCurrent ? 1 : 0,
131
151
  "aria-valuetext": isAmCurrent ? "ante meridiem" : "post meridiem",
132
152
  type: "button",
153
+ ...isPmCurrent ? ariaAndDataPropsCurrMeridiem : ariaAndDataPropsMeridiem,
133
154
  children: "PM"
134
155
  }
135
156
  ) }),
@@ -147,6 +168,7 @@ const MeridiemList = () => {
147
168
  innerRef: nextMeridiemBtnRef,
148
169
  tabIndex: -1,
149
170
  type: "button",
171
+ ...ariaAndDataPropsNextMeridiem,
150
172
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallDown, { color: ["brand-primary", "700"] })
151
173
  }
152
174
  ) })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/TimeWheel/MeridiemList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const MeridiemList = (): JSX.Element => {\n const { currMeridiem, handleTimeWheelBtnChangeMeridiem, handleCurrMeridiemOnKeyDown } = useContext(TimeWheelContext);\n const {\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n getIsDisabledTime,\n hours,\n minutes,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const isAmCurrent = !currMeridiem || currMeridiem === 'AM';\n const isPmCurrent = currMeridiem === 'PM';\n const hourMinuteString = `${hours || '01'}:${minutes || '00'}`;\n const amTimeString = `${hourMinuteString} AM`;\n const pmTimeString = `${hourMinuteString} PM`;\n const isDisabledAm = getIsDisabledTime(amTimeString);\n const isDisabledPm = getIsDisabledTime(pmTimeString);\n const styledPropsPrevMeridiem = { isDisabled: isDisabledAm };\n const styledPropsCurrentAmMeridiem = { isCurrentListItem: isAmCurrent, isDisabled: isDisabledAm };\n const styledPropsCurrentPmMeridiem = { isCurrentListItem: isPmCurrent, isDisabled: isDisabledPm };\n const styledPropsNextMeridiem = { isDisabled: isDisabledPm };\n const handleCurrMeridiemRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currMeridiemBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-meridiem')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currMeridiemBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n {...styledPropsPrevMeridiem}\n aria-label=\"set am meridiem\"\n aria-disabled={isDisabledAm}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('AM', e)}\n innerRef={prevMeridiemBtnRef}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallUp color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {currMeridiem === 'AM' || currMeridiem === '' ? <StyledWheelListItem /> : null}\n <StyledWheelListItem isCurrentListItem={isAmCurrent}>\n <StyledTimeBtn\n {...styledPropsCurrentAmMeridiem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isAmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM']}\n selected={currMeridiem === 'AM'}\n aria-label={`AM ${isAmCurrent ? 'selected' : ''}`}\n aria-disabled={isDisabledAm}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('AM', e)}\n onKeyDown={isAmCurrent ? handleCurrMeridiemOnKeyDown : undefined}\n innerRef={isAmCurrent ? handleCurrMeridiemRef : undefined}\n tabIndex={isAmCurrent ? 0 : -1}\n role=\"spinbutton\"\n aria-valuemax={1}\n aria-valuemin={0}\n aria-valuenow={isPmCurrent ? 1 : 0}\n aria-valuetext={isAmCurrent ? 'ante meridiem' : 'post meridiem'}\n type=\"button\"\n >\n AM\n </StyledTimeBtn>\n </StyledWheelListItem>\n <StyledWheelListItem isCurrentListItem={isPmCurrent}>\n <StyledTimeBtn\n {...styledPropsCurrentPmMeridiem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM']}\n selected={currMeridiem === 'PM'}\n aria-label={`PM ${isPmCurrent ? 'selected' : ''}`}\n aria-disabled={isDisabledPm}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('PM', e)}\n onKeyDown={isPmCurrent ? handleCurrMeridiemOnKeyDown : undefined}\n innerRef={isPmCurrent ? handleCurrMeridiemRef : undefined}\n tabIndex={isPmCurrent ? 0 : -1}\n role=\"spinbutton\"\n aria-valuemax={1}\n aria-valuemin={0}\n aria-valuenow={isPmCurrent ? 1 : 0}\n aria-valuetext={isAmCurrent ? 'ante meridiem' : 'post meridiem'}\n type=\"button\"\n >\n PM\n </StyledTimeBtn>\n </StyledWheelListItem>\n {currMeridiem === 'PM' ? <StyledWheelListItem /> : null}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n {...styledPropsNextMeridiem}\n aria-label=\"set pm meridiem\"\n aria-disabled={isDisabledPm}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('PM', e)}\n innerRef={nextMeridiemBtnRef}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallDown color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n\nexport default MeridiemList;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "sourcesContent": ["/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const MeridiemList = (): JSX.Element => {\n const { currMeridiem, handleTimeWheelBtnChangeMeridiem, handleCurrMeridiemOnKeyDown } = useContext(TimeWheelContext);\n const {\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n getIsDisabledTime,\n hours,\n minutes,\n latestInteractionRegion,\n currFocusDescriber,\n props,\n } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataPropsPrevMeridiem = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM]),\n [props],\n );\n const ariaAndDataPropsNextMeridiem = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM]),\n [props],\n );\n const ariaAndDataPropsCurrMeridiem = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_MERIDIEM]),\n [props],\n );\n const ariaAndDataPropsMeridiem = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIMEWHEEL.MERIDIEM]),\n [props],\n );\n const isAmCurrent = !currMeridiem || currMeridiem === 'AM';\n const isPmCurrent = currMeridiem === 'PM';\n const hourMinuteString = `${hours || '01'}:${minutes || '00'}`;\n const amTimeString = `${hourMinuteString} AM`;\n const pmTimeString = `${hourMinuteString} PM`;\n const isDisabledAm = getIsDisabledTime(amTimeString);\n const isDisabledPm = getIsDisabledTime(pmTimeString);\n const styledPropsPrevMeridiem = { isDisabled: isDisabledAm };\n const styledPropsCurrentAmMeridiem = { isCurrentListItem: isAmCurrent, isDisabled: isDisabledAm };\n const styledPropsCurrentPmMeridiem = { isCurrentListItem: isPmCurrent, isDisabled: isDisabledPm };\n const styledPropsNextMeridiem = { isDisabled: isDisabledPm };\n const handleCurrMeridiemRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currMeridiemBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-meridiem')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currMeridiemBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n {...styledPropsPrevMeridiem}\n aria-label=\"set am meridiem\"\n aria-disabled={isDisabledAm}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('AM', e)}\n innerRef={prevMeridiemBtnRef}\n tabIndex={-1}\n type=\"button\"\n {...ariaAndDataPropsPrevMeridiem}\n >\n <ChevronSmallUp color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {currMeridiem === 'AM' || currMeridiem === '' ? <StyledWheelListItem /> : null}\n <StyledWheelListItem isCurrentListItem={isAmCurrent}>\n <StyledTimeBtn\n {...styledPropsCurrentAmMeridiem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isAmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM']}\n selected={currMeridiem === 'AM'}\n aria-label={`AM ${isAmCurrent ? 'selected' : ''}`}\n aria-disabled={isDisabledAm}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('AM', e)}\n onKeyDown={isAmCurrent ? handleCurrMeridiemOnKeyDown : undefined}\n innerRef={isAmCurrent ? handleCurrMeridiemRef : undefined}\n tabIndex={isAmCurrent ? 0 : -1}\n role=\"spinbutton\"\n aria-valuemax={1}\n aria-valuemin={0}\n aria-valuenow={isPmCurrent ? 1 : 0}\n aria-valuetext={isAmCurrent ? 'ante meridiem' : 'post meridiem'}\n type=\"button\"\n {...(isAmCurrent ? ariaAndDataPropsCurrMeridiem : ariaAndDataPropsMeridiem)}\n >\n AM\n </StyledTimeBtn>\n </StyledWheelListItem>\n <StyledWheelListItem isCurrentListItem={isPmCurrent}>\n <StyledTimeBtn\n {...styledPropsCurrentPmMeridiem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM']}\n selected={currMeridiem === 'PM'}\n aria-label={`PM ${isPmCurrent ? 'selected' : ''}`}\n aria-disabled={isDisabledPm}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('PM', e)}\n onKeyDown={isPmCurrent ? handleCurrMeridiemOnKeyDown : undefined}\n innerRef={isPmCurrent ? handleCurrMeridiemRef : undefined}\n tabIndex={isPmCurrent ? 0 : -1}\n role=\"spinbutton\"\n aria-valuemax={1}\n aria-valuemin={0}\n aria-valuenow={isPmCurrent ? 1 : 0}\n aria-valuetext={isAmCurrent ? 'ante meridiem' : 'post meridiem'}\n type=\"button\"\n {...(isPmCurrent ? ariaAndDataPropsCurrMeridiem : ariaAndDataPropsMeridiem)}\n >\n PM\n </StyledTimeBtn>\n </StyledWheelListItem>\n {currMeridiem === 'PM' ? <StyledWheelListItem /> : null}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n {...styledPropsNextMeridiem}\n aria-label=\"set pm meridiem\"\n aria-disabled={isDisabledPm}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMeridiem('PM', e)}\n innerRef={nextMeridiemBtnRef}\n tabIndex={-1}\n type=\"button\"\n {...ariaAndDataPropsNextMeridiem}\n >\n <ChevronSmallDown color={['brand-primary', '700']} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n\nexport default MeridiemList;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": ["React"]
7
7
  }
@@ -30,7 +30,8 @@ __export(MinutesList_exports, {
30
30
  module.exports = __toCommonJS(MinutesList_exports);
31
31
  var React = __toESM(require("react"));
32
32
  var import_jsx_runtime = require("react/jsx-runtime");
33
- var import_react = require("react");
33
+ var import_react = __toESM(require("react"));
34
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
34
35
  var import_ds_icons = require("@elliemae/ds-icons");
35
36
  var import_ControlledDateTimePickerDatatestid = require("../../../ControlledDateTimePickerDatatestid");
36
37
  var import_ControlledDateTimePickerCTX = require("../../../ControlledDateTimePickerCTX");
@@ -55,8 +56,25 @@ const MinutesList = () => {
55
56
  getIsDisabledTime,
56
57
  minutes,
57
58
  currFocusDescriber,
58
- latestInteractionRegion
59
+ latestInteractionRegion,
60
+ props
59
61
  } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
62
+ const ariaAndDataPropsPrevMinute = import_react.default.useMemo(
63
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE]),
64
+ [props]
65
+ );
66
+ const ariaAndDataPropsNextMinute = import_react.default.useMemo(
67
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE]),
68
+ [props]
69
+ );
70
+ const ariaAndDataPropsCurrMinute = import_react.default.useMemo(
71
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_MINUTE]),
72
+ [props]
73
+ );
74
+ const ariaAndDataPropsMinute = import_react.default.useMemo(
75
+ () => (0, import_ds_props_helpers.getPropsPerDatatestid)(props[import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.MINUTE]),
76
+ [props]
77
+ );
60
78
  const handleCurrMeridiemRef = (0, import_react.useCallback)(
61
79
  (ButtonDomNode) => {
62
80
  setTimeout(() => {
@@ -79,6 +97,7 @@ const MinutesList = () => {
79
97
  tabIndex: -1,
80
98
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE,
81
99
  type: "button",
100
+ ...ariaAndDataPropsPrevMinute,
82
101
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallUp, { color: ["brand-primary", "700"] })
83
102
  }
84
103
  ) }),
@@ -120,6 +139,7 @@ const MinutesList = () => {
120
139
  "aria-valuetext": `${minutesString} minutes`,
121
140
  type: "button",
122
141
  ...btnProps,
142
+ ...isCurrentListItem ? ariaAndDataPropsCurrMinute : ariaAndDataPropsMinute,
123
143
  children: minutesString
124
144
  }
125
145
  )
@@ -138,6 +158,7 @@ const MinutesList = () => {
138
158
  "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE,
139
159
  tabIndex: -1,
140
160
  type: "button",
161
+ ...ariaAndDataPropsNextMinute,
141
162
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallDown, { color: ["brand-primary", "700"] })
142
163
  }
143
164
  ) })