@elliemae/ds-form-date-time-picker 3.62.1 → 3.70.0-alpha.9

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 (114) hide show
  1. package/dist/cjs/config/useFocusTracker.js.map +2 -2
  2. package/dist/cjs/config/useGetReferences.js.map +2 -2
  3. package/dist/cjs/parts/ControlledDateTimePickerContent.js +2 -2
  4. package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +2 -2
  5. package/dist/cjs/parts/DateInputs/DDInput.js +2 -3
  6. package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
  7. package/dist/cjs/parts/DateInputs/DateInputs.js +0 -4
  8. package/dist/cjs/parts/DateInputs/DateInputs.js.map +2 -2
  9. package/dist/cjs/parts/DateInputs/MMInput.js +2 -3
  10. package/dist/cjs/parts/DateInputs/MMInput.js.map +2 -2
  11. package/dist/cjs/parts/DateInputs/YYYYInput.js +2 -3
  12. package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
  13. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +19 -7
  14. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +2 -2
  15. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +5 -1
  16. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +2 -2
  17. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +20 -8
  18. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +2 -2
  19. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +4 -4
  20. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +2 -2
  21. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +4 -4
  22. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +2 -2
  23. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +4 -4
  24. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +2 -2
  25. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  26. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +19 -7
  27. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +2 -2
  28. package/dist/cjs/parts/Styleds.js.map +2 -2
  29. package/dist/cjs/parts/TimeInputs/HHInput.js +2 -3
  30. package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
  31. package/dist/cjs/parts/TimeInputs/MeridiemInput.js +1 -2
  32. package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
  33. package/dist/cjs/parts/TimeInputs/MinutesInput.js +2 -3
  34. package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
  35. package/dist/cjs/parts/TimeInputs/TimeInputs.js +0 -4
  36. package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +2 -2
  37. package/dist/esm/config/useFocusTracker.js.map +2 -2
  38. package/dist/esm/config/useGetReferences.js.map +2 -2
  39. package/dist/esm/parts/ControlledDateTimePickerContent.js +2 -2
  40. package/dist/esm/parts/ControlledDateTimePickerContent.js.map +2 -2
  41. package/dist/esm/parts/DateInputs/DDInput.js +2 -3
  42. package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
  43. package/dist/esm/parts/DateInputs/DateInputs.js +0 -4
  44. package/dist/esm/parts/DateInputs/DateInputs.js.map +2 -2
  45. package/dist/esm/parts/DateInputs/MMInput.js +2 -3
  46. package/dist/esm/parts/DateInputs/MMInput.js.map +2 -2
  47. package/dist/esm/parts/DateInputs/YYYYInput.js +2 -3
  48. package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
  49. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +19 -7
  50. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +2 -2
  51. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +5 -1
  52. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +2 -2
  53. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +20 -8
  54. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +2 -2
  55. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +4 -4
  56. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +2 -2
  57. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +4 -4
  58. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +2 -2
  59. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +4 -4
  60. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +2 -2
  61. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  62. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +19 -7
  63. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +2 -2
  64. package/dist/esm/parts/Styleds.js.map +2 -2
  65. package/dist/esm/parts/TimeInputs/HHInput.js +2 -3
  66. package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
  67. package/dist/esm/parts/TimeInputs/MeridiemInput.js +1 -2
  68. package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
  69. package/dist/esm/parts/TimeInputs/MinutesInput.js +2 -3
  70. package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
  71. package/dist/esm/parts/TimeInputs/TimeInputs.js +0 -4
  72. package/dist/esm/parts/TimeInputs/TimeInputs.js.map +2 -2
  73. package/dist/types/parts/DateInputs/DDInput.d.ts +1 -2
  74. package/dist/types/parts/DateInputs/MMInput.d.ts +1 -2
  75. package/dist/types/parts/DateInputs/YYYYInput.d.ts +1 -2
  76. package/dist/types/parts/Pickers/Calendar/Calendar.d.ts +3 -2
  77. package/dist/types/parts/Pickers/Calendar/CalendarBody.d.ts +1 -1
  78. package/dist/types/parts/Pickers/Calendar/CalendarWeekDays.d.ts +1 -1
  79. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +2 -1
  80. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +2 -1
  81. package/dist/types/parts/Pickers/TimeWheel/TimeWheel.d.ts +2 -1
  82. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +1 -1
  83. package/dist/types/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +2 -1
  84. package/dist/types/parts/TimeInputs/HHInput.d.ts +1 -2
  85. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +1 -2
  86. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +1 -2
  87. package/package.json +15 -15
  88. package/dist/types/tests/DSControlledDateTimePicker.PUI-16014.test.d.ts +0 -1
  89. package/dist/types/tests/DSControlledDateTimePicker.PUI-17323.test.d.ts +0 -1
  90. package/dist/types/tests/DSControlledDateTimePicker.data-testid.test.d.ts +0 -1
  91. package/dist/types/tests/DSControlledDateTimePicker.exports.test.d.ts +0 -1
  92. package/dist/types/tests/custom-props/customProps.d.ts +0 -397
  93. package/dist/types/tests/custom-props/date-time-picker.date-custom-props.test.d.ts +0 -1
  94. package/dist/types/tests/custom-props/date-time-picker.date-time-custom-props.test.d.ts +0 -1
  95. package/dist/types/tests/custom-props/date-time-picker.time-custom-props.test.d.ts +0 -1
  96. package/dist/types/tests/date-time-picker.a11y.test.d.ts +0 -1
  97. package/dist/types/tests/date-time-picker.applyAriaDisabled.test.d.ts +0 -1
  98. package/dist/types/tests/date-time-picker.auto-advance.test.d.ts +0 -1
  99. package/dist/types/tests/date-time-picker.clear-button.test.d.ts +0 -1
  100. package/dist/types/tests/date-time-picker.keyboard-focus.test.d.ts +0 -1
  101. package/dist/types/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +0 -1
  102. package/dist/types/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +0 -1
  103. package/dist/types/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +0 -1
  104. package/dist/types/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +0 -1
  105. package/dist/types/tests/date-time-picker.manual-delete-values.test.d.ts +0 -1
  106. package/dist/types/tests/date-time-picker.onChange-meta-info.test.d.ts +0 -1
  107. package/dist/types/tests/date-time-picker.readOnly.test.d.ts +0 -1
  108. package/dist/types/tests/date-time-picker.types-button.test.d.ts +0 -1
  109. package/dist/types/tests/date-time-picker.types-dom.test.d.ts +0 -1
  110. package/dist/types/tests/playwright-tests/full/ControlledTestRenderer.d.ts +0 -2
  111. package/dist/types/tests/playwright-tests/full/DSControlledDateTimePicker.full.navigation.test.playwright.d.ts +0 -1
  112. package/dist/types/typescript-testing/slot-arguments-engine.d.ts +0 -95
  113. package/dist/types/typescript-testing/slot-props.d.ts +0 -1
  114. package/dist/types/typescript-testing/typescript-date-time-picker-valid.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { DSPopperJS } from "@elliemae/ds-popperjs";
3
+ import { useFloatingContext, FloatingWrapper } from "@elliemae/ds-floating-context";
4
4
  import { styled } from "@elliemae/ds-system";
5
5
  import React2 from "react";
6
6
  import {
@@ -11,23 +11,35 @@ import {
11
11
  import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX.js";
12
12
  import { TimeWheelContent } from "./TimeWheelContent.js";
13
13
  import { TimeWheelContext } from "./TimeWheelContext.js";
14
- const StyledPopper = styled(DSPopperJS, {
14
+ const StyledFloatingWrapper = styled(FloatingWrapper, {
15
15
  name: DSControlledDateTimePickerName,
16
16
  slot: DSControlledDateTimePickerSlots.CONTEXTUAL_MENU.TIMEWHEEL
17
17
  })``;
18
18
  const TimeWheelWrapper = () => {
19
19
  const { referenceElement, closeTimePicker } = React2.useContext(TimeWheelContext);
20
20
  const { isControllerOnly, getProps } = React2.useContext(ControlledDateTimePickerContext);
21
+ const {
22
+ refs,
23
+ floatingStyles,
24
+ context,
25
+ isOpen: isFloatingOpen
26
+ } = useFloatingContext({
27
+ externallyControlledIsOpen: !isControllerOnly && !!referenceElement,
28
+ externalReferenceElement: referenceElement,
29
+ withoutAnimation: true,
30
+ customOffset: [0, 0],
31
+ onClickOutside: isControllerOnly ? void 0 : closeTimePicker
32
+ });
21
33
  if (isControllerOnly) return /* @__PURE__ */ jsx(TimeWheelContent, {});
22
34
  if (!referenceElement) return null;
23
35
  return /* @__PURE__ */ jsx(
24
- StyledPopper,
36
+ StyledFloatingWrapper,
25
37
  {
26
- showPopover: true,
38
+ innerRef: refs.setFloating,
39
+ isOpen: isFloatingOpen,
40
+ floatingStyles,
41
+ context,
27
42
  "data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL,
28
- referenceElement,
29
- withoutArrow: true,
30
- onClickOutside: closeTimePicker,
31
43
  getOwnerProps: getProps,
32
44
  "aria-label": "time wheel header",
33
45
  role: "dialog",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelWrapper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport React from 'react';\nimport {\n ControlledDateTimePickerDatatestid,\n DSControlledDateTimePickerName,\n DSControlledDateTimePickerSlots,\n} from '../../../constants/index.js';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';\nimport { TimeWheelContent } from './TimeWheelContent.js';\nimport { TimeWheelContext } from './TimeWheelContext.js';\n\nconst StyledPopper = styled(DSPopperJS, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTEXTUAL_MENU.TIMEWHEEL,\n})``;\n\nexport const TimeWheelWrapper = () => {\n const { referenceElement, closeTimePicker } = React.useContext(TimeWheelContext);\n const { isControllerOnly, getProps } = React.useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\n if (!referenceElement) return null;\n return (\n <StyledPopper\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n getOwnerProps={getProps}\n aria-label=\"time wheel header\"\n role=\"dialog\"\n >\n <TimeWheelContent />\n </StyledPopper>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACoBQ;AApB/B,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AACvB,OAAOA,YAAW;AAClB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAEjC,MAAM,eAAe,OAAO,YAAY;AAAA,EACtC,MAAM;AAAA,EACN,MAAM,gCAAgC,gBAAgB;AACxD,CAAC;AAEM,MAAM,mBAAmB,MAAM;AACpC,QAAM,EAAE,kBAAkB,gBAAgB,IAAIA,OAAM,WAAW,gBAAgB;AAC/E,QAAM,EAAE,kBAAkB,SAAS,IAAIA,OAAM,WAAW,+BAA+B;AACvF,MAAI,iBAAkB,QAAO,oBAAC,oBAAiB;AAC/C,MAAI,CAAC,iBAAkB,QAAO;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,mCAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,cAAW;AAAA,MACX,MAAK;AAAA,MAEL,8BAAC,oBAAiB;AAAA;AAAA,EACpB;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useFloatingContext, FloatingWrapper } from '@elliemae/ds-floating-context';\nimport { styled } from '@elliemae/ds-system';\nimport React from 'react';\nimport {\n ControlledDateTimePickerDatatestid,\n DSControlledDateTimePickerName,\n DSControlledDateTimePickerSlots,\n} from '../../../constants/index.js';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';\nimport { TimeWheelContent } from './TimeWheelContent.js';\nimport { TimeWheelContext } from './TimeWheelContext.js';\n\nconst StyledFloatingWrapper = styled(FloatingWrapper, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTEXTUAL_MENU.TIMEWHEEL,\n})``;\n\nexport const TimeWheelWrapper = () => {\n const { referenceElement, closeTimePicker } = React.useContext(TimeWheelContext);\n const { isControllerOnly, getProps } = React.useContext(ControlledDateTimePickerContext);\n\n const {\n refs,\n floatingStyles,\n context,\n isOpen: isFloatingOpen,\n } = useFloatingContext({\n externallyControlledIsOpen: !isControllerOnly && !!referenceElement,\n externalReferenceElement: referenceElement,\n withoutAnimation: true,\n customOffset: [0, 0],\n onClickOutside: isControllerOnly ? undefined : closeTimePicker,\n });\n\n if (isControllerOnly) return <TimeWheelContent />;\n if (!referenceElement) return null;\n\n return (\n <StyledFloatingWrapper\n innerRef={refs.setFloating}\n isOpen={isFloatingOpen}\n floatingStyles={floatingStyles}\n context={context}\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n getOwnerProps={getProps}\n aria-label=\"time wheel header\"\n role=\"dialog\"\n >\n <TimeWheelContent />\n </StyledFloatingWrapper>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACkCQ;AAlC/B,SAAS,oBAAoB,uBAAuB;AACpD,SAAS,cAAc;AACvB,OAAOA,YAAW;AAClB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAEjC,MAAM,wBAAwB,OAAO,iBAAiB;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,gCAAgC,gBAAgB;AACxD,CAAC;AAEM,MAAM,mBAAmB,MAAM;AACpC,QAAM,EAAE,kBAAkB,gBAAgB,IAAIA,OAAM,WAAW,gBAAgB;AAC/E,QAAM,EAAE,kBAAkB,SAAS,IAAIA,OAAM,WAAW,+BAA+B;AAEvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV,IAAI,mBAAmB;AAAA,IACrB,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;AAAA,IACnD,0BAA0B;AAAA,IAC1B,kBAAkB;AAAA,IAClB,cAAc,CAAC,GAAG,CAAC;AAAA,IACnB,gBAAgB,mBAAmB,SAAY;AAAA,EACjD,CAAC;AAED,MAAI,iBAAkB,QAAO,oBAAC,oBAAiB;AAC/C,MAAI,CAAC,iBAAkB,QAAO;AAE9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,KAAK;AAAA,MACf,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,eAAa,mCAAmC,gBAAgB;AAAA,MAChE,eAAe;AAAA,MACf,cAAW;AAAA,MACX,MAAK;AAAA,MAEL,8BAAC,oBAAiB;AAAA;AAAA,EACpB;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Styleds.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled, th } from '@elliemae/ds-system';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../constants/index.js';\n\nconst ResettedInput = styled('input')`\n border: none;\n box-shadow: none;\n background: none;\n text-align: center;\n height: 100%;\n display: flex;\n align-items: center;\n :focus {\n outline: none;\n }\n :disabled {\n cursor: not-allowed;\n }\n padding-top: 2px;\n\n color: ${th.color('neutral-700')};\n\n ::placeholder {\n font-weight: ${th.fontWeight('regular')};\n color: ${th.color('neutral-500')};\n }\n`;\n\nexport const StyledSeparator = styled(Grid)`\n padding-top: 2px;\n margin: auto;\n color: neutral-500;\n`;\n\nexport const StyledColonSeparator = styled(Grid)`\n padding-bottom: 1px;\n margin: auto;\n`;\n\nexport const Styled2DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled, theme }) => (disabled ? `color: ${theme.colors.neutral[500]};` : ``)}\n`;\n\nexport const StyledDateInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.DAY,\n})``;\n\nexport const StyledMonthInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.MONTH,\n})``;\n\nexport const StyledYearInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.YEAR,\n})``;\n\nexport const StyledHourInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.HOUR,\n})``;\n\nexport const StyledMinuteInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.MINUTE,\n})``;\n\nexport const StyledMeridiemInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.MERIDIEM,\n})``;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled, theme }) => (disabled ? `color: ${theme.colors.neutral[500]};` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})<{\n isControllerOnly: boolean;\n onlyPicker: boolean;\n hasError: boolean;\n justPicker: boolean;\n disabled: boolean;\n $readOnlyStyles?: boolean;\n}>`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 2.153rem; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError }) => {\n if (hasError) return theme.colors.danger[900];\n return theme.colors.neutral[400];\n }};\n\n border-radius: 2px;\n padding-left: ${({ justPicker }) => (justPicker ? '0' : '2px')};\n\n position: relative;\n ${({ theme, disabled }) => (disabled ? `background-color: ${theme.colors.neutral[100]};` : ``)}\n ${({ $readOnlyStyles, hasError, onlyPicker, theme }) =>\n $readOnlyStyles &&\n !hasError &&\n !onlyPicker &&\n `\n border-left: 1px solid ${theme.colors.neutral['080']};\n border-top: 1px solid ${theme.colors.neutral['080']};\n border-right: 1px solid ${theme.colors.neutral['080']};\n\n `}\n ${({ $readOnlyStyles, hasError, theme }) =>\n $readOnlyStyles &&\n !hasError &&\n `\n background-color: ${theme.colors.neutral['050']};\n `}\n`;\n\nexport const StyledDateInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 48px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledTimeInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 24px min-content 24px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledPickersIconsWrapperGrid = styled(Grid)<{ isControllerOnly: boolean; hasError: boolean }>`\n position: relative;\n ${({ isControllerOnly }) => (isControllerOnly ? `` : `height: 2rem;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\n // this shoudnt be rounded as specified in the design\n /* border-radius: 2px; */\n ${({ theme, isControllerOnly, hasError }) =>\n isControllerOnly\n ? ``\n : `\n border-left: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[400]}\n `}\n }\n`;\n\nexport const StyledFocusWithIn = styled(Grid)`\n position: relative;\n &:focus-within {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: -5px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 10px);\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n`;\n\nexport const StyledClearButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CLEAR_BUTTON,\n})<{ shouldDisplay: boolean }>`\n height: 26px;\n position: relative;\n visibility: ${({ shouldDisplay }) => (shouldDisplay ? 'visible' : 'hidden')};\n &:focus {\n &:after {\n z-index: 1;\n }\n }\n`;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled, th } from '@elliemae/ds-system';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../constants/index.js';\n\nconst ResettedInput = styled('input')`\n border: none;\n box-shadow: none;\n background: none;\n text-align: center;\n height: 100%;\n display: flex;\n align-items: center;\n :focus {\n outline: none;\n }\n :disabled {\n cursor: not-allowed;\n }\n padding-top: 2px;\n\n color: ${th.color('neutral-700')};\n\n ::placeholder {\n font-weight: ${th.fontWeight('regular')};\n color: ${th.color('neutral-500')};\n }\n`;\n\nexport const StyledSeparator = styled(Grid)`\n padding-top: 2px;\n margin: auto;\n color: neutral-500;\n`;\n\nexport const StyledColonSeparator = styled(Grid)`\n padding-bottom: 1px;\n margin: auto;\n`;\n\nexport const Styled2DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled, theme }) => (disabled ? `color: ${theme.colors.neutral[500]};` : ``)}\n`;\n\nexport const StyledDateInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.DAY,\n})``;\n\nexport const StyledMonthInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.MONTH,\n})``;\n\nexport const StyledYearInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.DATE_INPUTS.YEAR,\n})``;\n\nexport const StyledHourInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.HOUR,\n})``;\n\nexport const StyledMinuteInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.MINUTE,\n})``;\n\nexport const StyledMeridiemInput = styled(Styled2DigitsInput, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIME_INPUTS.MERIDIEM,\n})``;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled, theme }) => (disabled ? `color: ${theme.colors.neutral[500]};` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})<{\n isControllerOnly: boolean;\n onlyPicker: boolean;\n hasError: boolean;\n justPicker: boolean;\n disabled: boolean;\n $readOnlyStyles?: boolean;\n}>`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 2.153rem; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError }) => {\n if (hasError) return theme.colors.danger[900];\n return theme.colors.neutral[400];\n }};\n\n border-radius: 2px;\n padding-left: ${({ justPicker }) => (justPicker ? '0' : '2px')};\n\n position: relative;\n ${({ theme, disabled }) => (disabled ? `background-color: ${theme.colors.neutral[100]};` : ``)}\n ${({ $readOnlyStyles, hasError, onlyPicker, theme }) =>\n $readOnlyStyles &&\n !hasError &&\n !onlyPicker &&\n `\n border-left: 1px solid ${theme.colors.neutral['080']};\n border-top: 1px solid ${theme.colors.neutral['080']};\n border-right: 1px solid ${theme.colors.neutral['080']};\n\n `}\n ${({ $readOnlyStyles, hasError, theme }) =>\n $readOnlyStyles &&\n !hasError &&\n `\n background-color: ${theme.colors.neutral['050']};\n `}\n`;\n\nexport const StyledDateInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 48px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledTimeInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 24px min-content 24px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledPickersIconsWrapperGrid = styled(Grid)<{ isControllerOnly: boolean; hasError: boolean }>`\n position: relative;\n ${({ isControllerOnly }) => (isControllerOnly ? `` : `height: 2rem;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\n // this shoudnt be rounded as specified in the design\n /* border-radius: 2px; */\n ${({ theme, isControllerOnly, hasError }) =>\n isControllerOnly\n ? ``\n : `\n border-left: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[400]}\n `}\n }\n`;\n\nexport const StyledFocusWithIn = styled(Grid)`\n position: relative;\n &:focus-within {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: -5px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 10px);\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n`;\n\nexport const StyledClearButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CLEAR_BUTTON,\n})<{ shouldDisplay: boolean }>`\n height: 26px;\n position: relative;\n visibility: ${({ shouldDisplay }) => (shouldDisplay ? 'visible' : 'hidden')};\n &:focus {\n &:after {\n z-index: 1;\n }\n }\n`;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -20,7 +20,6 @@ const HHInput = React2.memo(
20
20
  disabled,
21
21
  applyAriaDisabled,
22
22
  placeholder,
23
- ariaCurrentValueForInputs,
24
23
  contextRef,
25
24
  autoFocusHourInput,
26
25
  isFocused,
@@ -55,7 +54,7 @@ const HHInput = React2.memo(
55
54
  tabIndex,
56
55
  placeholder,
57
56
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR,
58
- "aria-label": `hours input field ${ariaCurrentValueForInputs}`,
57
+ "aria-label": "hours",
59
58
  disabled,
60
59
  "aria-disabled": applyAriaDisabled,
61
60
  getOwnerProps: getProps,
@@ -63,7 +62,7 @@ const HHInput = React2.memo(
63
62
  role: "spinbutton",
64
63
  "aria-valuemin": 1,
65
64
  "aria-valuemax": 12,
66
- "aria-valuenow": hoursNum === -1 ? void 0 : hoursNum,
65
+ "aria-valuenow": hoursNum === -1 ? 1 : hoursNum,
67
66
  "aria-valuetext": hoursNum === -1 ? "empty" : hoursNum
68
67
  }
69
68
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/HHInput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledHourInput } from '../Styleds.js';\nimport { convertToPositiveNumberIfPossible } from '../../utils/numberHelpers.js';\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidHour = (hours: string) => {\n if (hours === '') return false;\n const numberOnly = regExpNumbers.test(hours);\n return hours.length > 2 || hours === '00' || !numberOnly || Number.parseInt(hours, 10) > 12;\n};\ninterface HHInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n autoFocusHourInput: boolean;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const HHInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n autoFocusHourInput,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: HHInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidHour(e.target.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n const hoursNum = convertToPositiveNumberIfPossible(value);\n return (\n <StyledHourInput\n autoFocus={autoFocusHourInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n placeholder={placeholder}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR}\n aria-label={`hours input field ${ariaCurrentValueForInputs}`}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={12}\n aria-valuenow={hoursNum === -1 ? undefined : hoursNum}\n aria-valuetext={hoursNum === -1 ? 'empty' : hoursNum}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC4DjB;AA3DN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,uBAAuB;AAChC,SAAS,yCAAyC;AAClD,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,UAAkB;AACvC,MAAI,UAAU,GAAI,QAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAkBO,MAAM,UAAUA,OAAM;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAmC;AACjC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,cAAc,EAAE,OAAO,KAAK,GAAG;AAC9E,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,UAAM,WAAW,kCAAkC,KAAK;AACxD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D,cAAY,qBAAqB,yBAAyB;AAAA,QAC1D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,iBAAe,aAAa,KAAK,SAAY;AAAA,QAC7C,kBAAgB,aAAa,KAAK,UAAU;AAAA;AAAA,IAC9C;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledHourInput } from '../Styleds.js';\nimport { convertToPositiveNumberIfPossible } from '../../utils/numberHelpers.js';\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidHour = (hours: string) => {\n if (hours === '') return false;\n const numberOnly = regExpNumbers.test(hours);\n return hours.length > 2 || hours === '00' || !numberOnly || Number.parseInt(hours, 10) > 12;\n};\ninterface HHInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n autoFocusHourInput: boolean;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const HHInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n contextRef,\n autoFocusHourInput,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: HHInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidHour(e.target.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n const hoursNum = convertToPositiveNumberIfPossible(value);\n return (\n <StyledHourInput\n autoFocus={autoFocusHourInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n placeholder={placeholder}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR}\n aria-label=\"hours\"\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={1}\n aria-valuemax={12}\n // when empty, valuenow falls back to the min (not omitted) so VoiceOver honors\n // aria-valuetext=\"empty\" instead of announcing a computed position percentage\n aria-valuenow={hoursNum === -1 ? 1 : hoursNum}\n aria-valuetext={hoursNum === -1 ? 'empty' : hoursNum}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC0DjB;AAzDN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,uBAAuB;AAChC,SAAS,yCAAyC;AAClD,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,UAAkB;AACvC,MAAI,UAAU,GAAI,QAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAiBO,MAAM,UAAUA,OAAM;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAmC;AACjC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,cAAc,EAAE,OAAO,KAAK,GAAG;AAC9E,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,UAAM,WAAW,kCAAkC,KAAK;AACxD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D,cAAW;AAAA,QACX;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe;AAAA,QAGf,iBAAe,aAAa,KAAK,IAAI;AAAA,QACrC,kBAAgB,aAAa,KAAK,UAAU;AAAA;AAAA,IAC9C;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -22,7 +22,6 @@ const MeridiemInput = React2.memo(
22
22
  disabled,
23
23
  applyAriaDisabled,
24
24
  placeholder,
25
- ariaCurrentValueForInputs,
26
25
  contextRef,
27
26
  isFocused,
28
27
  getProps,
@@ -54,7 +53,7 @@ const MeridiemInput = React2.memo(
54
53
  tabIndex,
55
54
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM,
56
55
  placeholder,
57
- "aria-label": `meridiem input field ${ariaCurrentValueForInputs}`,
56
+ "aria-label": "meridiem",
58
57
  disabled,
59
58
  "aria-disabled": applyAriaDisabled,
60
59
  getOwnerProps: getProps,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MeridiemInput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledMeridiemInput } from '../Styleds.js';\n\nconst validFirstDigits = ['a', 'A', 'p', 'P'];\nconst validSecondDigits = ['m', 'M'];\nconst isInvalidMeridiem = (meridiem: string) => {\n if (meridiem === '') return false;\n const [firstDigit, secondDigit] = meridiem.split('');\n const isValidFirstDigit = (meridiem.length < 1 && !firstDigit) || validFirstDigits.includes(firstDigit);\n const isValidSecondDigit = !secondDigit || validSecondDigits.includes(secondDigit);\n return meridiem.length > 2 || !isValidFirstDigit || !isValidSecondDigit;\n};\n\ninterface MeridiemInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n return (\n <StyledMeridiemInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC6DjB;AA5DN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,2BAA2B;AAEpC,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa,GAAI,QAAO;AAC5B,QAAM,CAAC,YAAY,WAAW,IAAI,SAAS,MAAM,EAAE;AACnD,QAAM,oBAAqB,SAAS,SAAS,KAAK,CAAC,cAAe,iBAAiB,SAAS,UAAU;AACtG,QAAM,qBAAqB,CAAC,eAAe,kBAAkB,SAAS,WAAW;AACjF,SAAO,SAAS,SAAS,KAAK,CAAC,qBAAqB,CAAC;AACvD;AAkBO,MAAM,gBAAgBA,OAAM;AAAA,EACjC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACpF,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,cAAY,wBAAwB,yBAAyB;AAAA,QAC7D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledMeridiemInput } from '../Styleds.js';\n\nconst validFirstDigits = ['a', 'A', 'p', 'P'];\nconst validSecondDigits = ['m', 'M'];\nconst isInvalidMeridiem = (meridiem: string) => {\n if (meridiem === '') return false;\n const [firstDigit, secondDigit] = meridiem.split('');\n const isValidFirstDigit = (meridiem.length < 1 && !firstDigit) || validFirstDigits.includes(firstDigit);\n const isValidSecondDigit = !secondDigit || validSecondDigits.includes(secondDigit);\n return meridiem.length > 2 || !isValidFirstDigit || !isValidSecondDigit;\n};\n\ninterface MeridiemInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n contextRef,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n return (\n <StyledMeridiemInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n placeholder={placeholder}\n aria-label=\"meridiem\"\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC2DjB;AA1DN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,2BAA2B;AAEpC,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa,GAAI,QAAO;AAC5B,QAAM,CAAC,YAAY,WAAW,IAAI,SAAS,MAAM,EAAE;AACnD,QAAM,oBAAqB,SAAS,SAAS,KAAK,CAAC,cAAe,iBAAiB,SAAS,UAAU;AACtG,QAAM,qBAAqB,CAAC,eAAe,kBAAkB,SAAS,WAAW;AACjF,SAAO,SAAS,SAAS,KAAK,CAAC,qBAAqB,CAAC;AACvD;AAiBO,MAAM,gBAAgBA,OAAM;AAAA,EACjC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACpF,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,cAAW;AAAA,QACX;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -20,7 +20,6 @@ const MinutesInput = React2.memo(
20
20
  disabled,
21
21
  applyAriaDisabled,
22
22
  placeholder,
23
- ariaCurrentValueForInputs,
24
23
  contextRef,
25
24
  isFocused,
26
25
  getProps,
@@ -53,7 +52,7 @@ const MinutesInput = React2.memo(
53
52
  tabIndex,
54
53
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE,
55
54
  placeholder,
56
- "aria-label": `minutes input field ${ariaCurrentValueForInputs}`,
55
+ "aria-label": "minutes",
57
56
  disabled,
58
57
  "aria-disabled": applyAriaDisabled,
59
58
  getOwnerProps: getProps,
@@ -61,7 +60,7 @@ const MinutesInput = React2.memo(
61
60
  role: "spinbutton",
62
61
  "aria-valuemin": 0,
63
62
  "aria-valuemax": 59,
64
- "aria-valuenow": minutesNum === -1 ? void 0 : minutesNum,
63
+ "aria-valuenow": minutesNum === -1 ? 0 : minutesNum,
65
64
  "aria-valuetext": minutesNum === -1 ? "empty" : minutesNum
66
65
  }
67
66
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MinutesInput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledMinuteInput } from '../Styleds.js';\nimport { convertToPositiveNumberIfPossible } from '../../utils/numberHelpers.js';\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMinute = (minutes: string) => {\n if (minutes === '') return false;\n const numberOnly = regExpNumbers.test(minutes);\n return minutes.length > 2 || !numberOnly || Number.parseInt(minutes, 10) > 60;\n};\ninterface MinutesInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n const minutesNum = convertToPositiveNumberIfPossible(value);\n return (\n <StyledMinuteInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={0}\n aria-valuemax={59}\n aria-valuenow={minutesNum === -1 ? undefined : minutesNum}\n aria-valuetext={minutesNum === -1 ? 'empty' : minutesNum}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC0DjB;AAzDN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,yBAAyB;AAClC,SAAS,yCAAyC;AAClD,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY,GAAI,QAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAiBO,MAAM,eAAeA,OAAM;AAAA,EAChC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AAClF,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,UAAM,aAAa,kCAAkC,KAAK;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,cAAY,uBAAuB,yBAAyB;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,iBAAe,eAAe,KAAK,SAAY;AAAA,QAC/C,kBAAgB,eAAe,KAAK,UAAU;AAAA;AAAA,IAChD;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport React, { useCallback } from 'react';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\nimport { ControlledDateTimePickerDatatestid } from '../../constants/index.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport { StyledMinuteInput } from '../Styleds.js';\nimport { convertToPositiveNumberIfPossible } from '../../utils/numberHelpers.js';\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMinute = (minutes: string) => {\n if (minutes === '') return false;\n const numberOnly = regExpNumbers.test(minutes);\n return minutes.length > 2 || !numberOnly || Number.parseInt(minutes, 10) > 60;\n};\ninterface MinutesInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n applyAriaDisabled?: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n readOnly: boolean;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n applyAriaDisabled,\n placeholder,\n contextRef,\n isFocused,\n getProps,\n tabIndex,\n readOnly,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly || applyAriaDisabled || disabled || isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [applyAriaDisabled, disabled, onChange, readOnly],\n );\n const minutesNum = convertToPositiveNumberIfPossible(value);\n return (\n <StyledMinuteInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n innerRef={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n tabIndex={tabIndex}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n placeholder={placeholder}\n aria-label=\"minutes\"\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n getOwnerProps={getProps}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={0}\n aria-valuemax={59}\n // when empty, valuenow falls back to the min (not omitted) so VoiceOver honors\n // aria-valuetext=\"empty\" instead of announcing a computed position percentage\n aria-valuenow={minutesNum === -1 ? 0 : minutesNum}\n aria-valuetext={minutesNum === -1 ? 'empty' : minutesNum}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwDjB;AAvDN,OAAOA,UAAS,mBAAmB;AAEnC,SAAS,0CAA0C;AAEnD,SAAS,yBAAyB;AAClC,SAAS,yCAAyC;AAClD,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY,GAAI,QAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAgBO,MAAM,eAAeA,OAAM;AAAA,EAChC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,YAAY,qBAAqB,YAAY,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AAClF,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,mBAAmB,UAAU,UAAU,QAAQ;AAAA,IAClD;AACA,UAAM,aAAa,kCAAkC,KAAK;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,CAAC,YAA8B;AACvC,qBAAW,UAAU;AACrB,cAAI,UAAW,UAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,cAAW;AAAA,QACX;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA,QACf;AAAA,QACA,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe;AAAA,QAGf,iBAAe,eAAe,KAAK,IAAI;AAAA,QACvC,kBAAgB,eAAe,KAAK,UAAU;AAAA;AAAA,IAChD;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -34,7 +34,6 @@ const TimeInputs = () => {
34
34
  hourInputRef,
35
35
  minutesInputRef,
36
36
  meridiemInputRef,
37
- ariaCurrentValueForInputs,
38
37
  latestInteractionRegion,
39
38
  currFocusDescriber,
40
39
  getProps,
@@ -62,7 +61,6 @@ const TimeInputs = () => {
62
61
  contextRef: hourInputRef,
63
62
  tabIndex,
64
63
  placeholder: "HH",
65
- ariaCurrentValueForInputs,
66
64
  autoFocusHourInput,
67
65
  disabled,
68
66
  "aria-disabled": applyAriaDisabled,
@@ -84,7 +82,6 @@ const TimeInputs = () => {
84
82
  contextRef: minutesInputRef,
85
83
  tabIndex,
86
84
  placeholder: "MM",
87
- ariaCurrentValueForInputs,
88
85
  disabled,
89
86
  "aria-disabled": applyAriaDisabled,
90
87
  applyAriaDisabled,
@@ -105,7 +102,6 @@ const TimeInputs = () => {
105
102
  contextRef: meridiemInputRef,
106
103
  tabIndex,
107
104
  placeholder: "AM",
108
- ariaCurrentValueForInputs,
109
105
  disabled,
110
106
  "aria-disabled": applyAriaDisabled,
111
107
  applyAriaDisabled,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/TimeInputs.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';\nimport { HHInput } from './HHInput.js';\nimport { MinutesInput } from './MinutesInput.js';\nimport { MeridiemInput } from './MeridiemInput.js';\nimport { useTimeInputs } from './useTimeInputs.js';\nimport { fixedValues } from '../config.js';\nimport { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from '../Styleds.js';\n\nexport const TimeInputs = (): JSX.Element => {\n const {\n autoFocusHourInput,\n disabled,\n applyAriaDisabled,\n onHoursChange,\n onMinutesChange,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursFocus,\n onMeridiemFocus,\n onMinutesFocus,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n } = useTimeInputs();\n\n // we do this here so HHInput,MinutesInput, MeridiemInput can be pure components memoized via React.memo\n const {\n hours,\n minutes,\n meridiem,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n getProps,\n props: { tabIndex, readOnly },\n } = useContext(ControlledDateTimePickerContext);\n\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <HHInput\n value={hours}\n onChange={onHoursChange}\n onBlur={onHoursBlur}\n onFocus={onHoursFocus}\n onKeyDown={onHoursKeyDown}\n contextRef={hourInputRef}\n tabIndex={tabIndex}\n placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n <StyledColonSeparator alignItems=\"center\">:</StyledColonSeparator>\n <StyledFocusWithIn>\n <MinutesInput\n value={minutes}\n onChange={onMinutesChange}\n onBlur={onMinutesBlur}\n onFocus={onMinutesFocus}\n onKeyDown={onMinutesKeyDown}\n contextRef={minutesInputRef}\n tabIndex={tabIndex}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n <StyledSeparator> </StyledSeparator>\n <StyledFocusWithIn>\n <MeridiemInput\n value={meridiem}\n onChange={onMeridiemChange}\n onBlur={onMeridiemBlur}\n onFocus={onMeridiemFocus}\n onKeyDown={onMeridiemKeyDown}\n contextRef={meridiemInputRef}\n tabIndex={tabIndex}\n placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC6CnB,SAUI,KAVJ;AA7CJ,SAAgB,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,uCAAuC;AAChD,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB,iBAAiB,yBAAyB;AAElE,MAAM,aAAa,MAAmB;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,cAAc;AAGlB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,SAAS;AAAA,EAC9B,IAAI,WAAW,+BAA+B;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MAEA;AAAA,4BAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,QACA,oBAAC,wBAAqB,YAAW,UAAS,eAAC;AAAA,QAC3C,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,QACA,oBAAC,mBAAgB,eAAC;AAAA,QAClB,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';\nimport { HHInput } from './HHInput.js';\nimport { MinutesInput } from './MinutesInput.js';\nimport { MeridiemInput } from './MeridiemInput.js';\nimport { useTimeInputs } from './useTimeInputs.js';\nimport { fixedValues } from '../config.js';\nimport { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from '../Styleds.js';\n\nexport const TimeInputs = (): JSX.Element => {\n const {\n autoFocusHourInput,\n disabled,\n applyAriaDisabled,\n onHoursChange,\n onMinutesChange,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursFocus,\n onMeridiemFocus,\n onMinutesFocus,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n } = useTimeInputs();\n\n // we do this here so HHInput,MinutesInput, MeridiemInput can be pure components memoized via React.memo\n const {\n hours,\n minutes,\n meridiem,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n latestInteractionRegion,\n currFocusDescriber,\n getProps,\n props: { tabIndex, readOnly },\n } = useContext(ControlledDateTimePickerContext);\n\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <HHInput\n value={hours}\n onChange={onHoursChange}\n onBlur={onHoursBlur}\n onFocus={onHoursFocus}\n onKeyDown={onHoursKeyDown}\n contextRef={hourInputRef}\n tabIndex={tabIndex}\n placeholder=\"HH\"\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n <StyledColonSeparator alignItems=\"center\">:</StyledColonSeparator>\n <StyledFocusWithIn>\n <MinutesInput\n value={minutes}\n onChange={onMinutesChange}\n onBlur={onMinutesBlur}\n onFocus={onMinutesFocus}\n onKeyDown={onMinutesKeyDown}\n contextRef={minutesInputRef}\n tabIndex={tabIndex}\n placeholder=\"MM\"\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n <StyledSeparator> </StyledSeparator>\n <StyledFocusWithIn>\n <MeridiemInput\n value={meridiem}\n onChange={onMeridiemChange}\n onBlur={onMeridiemBlur}\n onFocus={onMeridiemFocus}\n onKeyDown={onMeridiemKeyDown}\n contextRef={meridiemInputRef}\n tabIndex={tabIndex}\n placeholder=\"AM\"\n disabled={disabled}\n aria-disabled={applyAriaDisabled}\n applyAriaDisabled={applyAriaDisabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n getProps={getProps}\n readOnly={readOnly}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC4CnB,SAUI,KAVJ;AA5CJ,SAAgB,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,uCAAuC;AAChD,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB,iBAAiB,yBAAyB;AAElE,MAAM,aAAa,MAAmB;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,cAAc;AAGlB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,SAAS;AAAA,EAC9B,IAAI,WAAW,+BAA+B;AAE9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MAEA;AAAA,4BAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,QACA,oBAAC,wBAAqB,YAAW,UAAS,eAAC;AAAA,QAC3C,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,QACA,oBAAC,mBAAgB,eAAC;AAAA,QAClB,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ;AAAA,YACA,aAAY;AAAA,YACZ;AAAA,YACA,iBAAe;AAAA,YACf;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -12,12 +12,11 @@ interface DDInputsPropsT {
12
12
  applyAriaDisabled?: boolean;
13
13
  hasError: boolean;
14
14
  placeholder: string;
15
- ariaCurrentValueForInputs: string;
16
15
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
17
16
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
18
17
  isFocused: boolean;
19
18
  getProps: ControlledDateTimePickerContextT['getProps'];
20
19
  readOnly: boolean;
21
20
  }
22
- export declare const DDInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, contextRef, tabIndex, placeholder, ariaCurrentValueForInputs, isFocused, getProps, readOnly, }: DDInputsPropsT) => JSX.Element>;
21
+ export declare const DDInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, contextRef, tabIndex, placeholder, isFocused, getProps, readOnly, }: DDInputsPropsT) => JSX.Element>;
23
22
  export {};
@@ -14,12 +14,11 @@ interface MMInputsPropsT {
14
14
  hasError: boolean;
15
15
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
16
16
  placeholder: string;
17
- ariaCurrentValueForInputs: string;
18
17
  isFocused: boolean;
19
18
  innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null> | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);
20
19
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
21
20
  getProps: ControlledDateTimePickerContextT['getProps'];
22
21
  readOnly: boolean;
23
22
  }
24
- export declare const MMInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, placeholder, contextRef, innerRef, tabIndex, autoFocusMonthInput, ariaCurrentValueForInputs, isFocused, getProps, readOnly, }: MMInputsPropsT) => JSX.Element>;
23
+ export declare const MMInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, placeholder, contextRef, innerRef, tabIndex, autoFocusMonthInput, isFocused, getProps, readOnly, }: MMInputsPropsT) => JSX.Element>;
25
24
  export {};
@@ -14,10 +14,9 @@ interface YYYYInputsPropsT {
14
14
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
15
15
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
16
16
  placeholder: string;
17
- ariaCurrentValueForInputs: string;
18
17
  isFocused: boolean;
19
18
  getProps: ControlledDateTimePickerContextT['getProps'];
20
19
  readOnly: boolean;
21
20
  }
22
- export declare const YYYYInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, placeholder, contextRef, tabIndex, ariaCurrentValueForInputs, isFocused, getProps, readOnly, }: YYYYInputsPropsT) => JSX.Element>;
21
+ export declare const YYYYInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, hasError, placeholder, contextRef, tabIndex, isFocused, getProps, readOnly, }: YYYYInputsPropsT) => JSX.Element>;
23
22
  export {};
@@ -1,4 +1,5 @@
1
+ import React from 'react';
1
2
  export declare const WrappedCalendarContext: ({ children }: {
2
3
  children: JSX.Element;
3
- }) => import("react/jsx-runtime.js").JSX.Element;
4
- export declare const Calendar: () => import("react/jsx-runtime.js").JSX.Element;
4
+ }) => React.JSX.Element;
5
+ export declare const Calendar: () => React.JSX.Element;
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  interface CalendarBodyPropsT {
3
3
  weekRowsNum: number;
4
4
  }
5
- export declare const CalendarBody: React.MemoExoticComponent<({ weekRowsNum }: CalendarBodyPropsT) => import("react/jsx-runtime.js").JSX.Element>;
5
+ export declare const CalendarBody: React.MemoExoticComponent<({ weekRowsNum }: CalendarBodyPropsT) => React.JSX.Element>;
6
6
  export {};
@@ -1,2 +1,2 @@
1
1
  import React from 'react';
2
- export declare const CalendarWeekDays: React.MemoExoticComponent<() => import("react/jsx-runtime.js").JSX.Element>;
2
+ export declare const CalendarWeekDays: React.MemoExoticComponent<() => React.JSX.Element>;
@@ -1 +1,2 @@
1
- export declare const CalendarWithTimeWheel: () => import("react/jsx-runtime.js").JSX.Element;
1
+ import React from 'react';
2
+ export declare const CalendarWithTimeWheel: () => React.JSX.Element;
@@ -1 +1,2 @@
1
- export declare const CalendarWithTimeWheelWrapper: () => import("react/jsx-runtime.js").JSX.Element | null;
1
+ import React from 'react';
2
+ export declare const CalendarWithTimeWheelWrapper: () => React.JSX.Element | null;
@@ -1,4 +1,5 @@
1
+ import React from 'react';
1
2
  export declare const WrappedTimeWheelContext: ({ children }: {
2
3
  children: JSX.Element;
3
- }) => import("react/jsx-runtime.js").JSX.Element;
4
+ }) => React.JSX.Element;
4
5
  export declare const TimeWheel: () => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import React from 'react';
2
- export declare const TimeWheelContent: React.MemoExoticComponent<() => import("react/jsx-runtime.js").JSX.Element>;
2
+ export declare const TimeWheelContent: React.MemoExoticComponent<() => React.JSX.Element>;
@@ -1 +1,2 @@
1
- export declare const TimeWheelWrapper: () => import("react/jsx-runtime.js").JSX.Element | null;
1
+ import React from 'react';
2
+ export declare const TimeWheelWrapper: () => React.JSX.Element | null;
@@ -12,12 +12,11 @@ interface HHInputsPropsT {
12
12
  applyAriaDisabled?: boolean;
13
13
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
14
14
  placeholder: string;
15
- ariaCurrentValueForInputs: string;
16
15
  autoFocusHourInput: boolean;
17
16
  isFocused: boolean;
18
17
  getProps: ControlledDateTimePickerContextT['getProps'];
19
18
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
20
19
  readOnly: boolean;
21
20
  }
22
- export declare const HHInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, ariaCurrentValueForInputs, contextRef, autoFocusHourInput, isFocused, getProps, tabIndex, readOnly, }: HHInputsPropsT) => JSX.Element>;
21
+ export declare const HHInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, contextRef, autoFocusHourInput, isFocused, getProps, tabIndex, readOnly, }: HHInputsPropsT) => JSX.Element>;
23
22
  export {};
@@ -12,11 +12,10 @@ interface MeridiemInputsPropsT {
12
12
  applyAriaDisabled?: boolean;
13
13
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
14
14
  placeholder: string;
15
- ariaCurrentValueForInputs: string;
16
15
  isFocused: boolean;
17
16
  getProps: ControlledDateTimePickerContextT['getProps'];
18
17
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
19
18
  readOnly: boolean;
20
19
  }
21
- export declare const MeridiemInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, ariaCurrentValueForInputs, contextRef, isFocused, getProps, tabIndex, readOnly, }: MeridiemInputsPropsT) => JSX.Element>;
20
+ export declare const MeridiemInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, contextRef, isFocused, getProps, tabIndex, readOnly, }: MeridiemInputsPropsT) => JSX.Element>;
22
21
  export {};
@@ -12,11 +12,10 @@ interface MinutesInputsPropsT {
12
12
  applyAriaDisabled?: boolean;
13
13
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
14
14
  placeholder: string;
15
- ariaCurrentValueForInputs: string;
16
15
  isFocused: boolean;
17
16
  getProps: ControlledDateTimePickerContextT['getProps'];
18
17
  tabIndex?: TypescriptHelpersT.WCAGTabIndex;
19
18
  readOnly: boolean;
20
19
  }
21
- export declare const MinutesInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, ariaCurrentValueForInputs, contextRef, isFocused, getProps, tabIndex, readOnly, }: MinutesInputsPropsT) => JSX.Element>;
20
+ export declare const MinutesInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, applyAriaDisabled, placeholder, contextRef, isFocused, getProps, tabIndex, readOnly, }: MinutesInputsPropsT) => JSX.Element>;
22
21
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-form-date-time-picker",
3
- "version": "3.62.1",
3
+ "version": "3.70.0-alpha.9",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Controlled Form Date Time Picker",
6
6
  "files": [
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "https://git.elliemae.io/platform-ui/dimsum.git"
25
+ "url": "https://github.com/intcx/PLATFORM-UI.dimsum.git"
26
26
  },
27
27
  "engines": {
28
28
  "pnpm": ">=9",
@@ -37,28 +37,28 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "uid": "^2.0.2",
40
- "@elliemae/ds-grid": "3.62.1",
41
- "@elliemae/ds-button-v2": "3.62.1",
42
- "@elliemae/ds-system": "3.62.1",
43
- "@elliemae/ds-icons": "3.62.1",
44
- "@elliemae/ds-props-helpers": "3.62.1",
45
- "@elliemae/ds-popperjs": "3.62.1",
46
- "@elliemae/ds-typescript-helpers": "3.62.1"
40
+ "@elliemae/ds-button-v2": "3.70.0-alpha.9",
41
+ "@elliemae/ds-grid": "3.70.0-alpha.9",
42
+ "@elliemae/ds-icons": "3.70.0-alpha.9",
43
+ "@elliemae/ds-system": "3.70.0-alpha.9",
44
+ "@elliemae/ds-floating-context": "3.70.0-alpha.9",
45
+ "@elliemae/ds-props-helpers": "3.70.0-alpha.9",
46
+ "@elliemae/ds-typescript-helpers": "3.70.0-alpha.9"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@elliemae/pui-theme": "~2.13.0",
50
- "@playwright/experimental-ct-react": "^1.60.0",
50
+ "@playwright/experimental-ct-react": "1.61.1",
51
51
  "jest": "^30.0.0",
52
- "styled-components": "~5.3.9",
52
+ "styled-components": "~5.3.11",
53
53
  "styled-system": "^5.1.5",
54
- "@elliemae/ds-monorepo-devops": "3.62.1",
55
- "@elliemae/ds-test-utils": "3.62.1"
54
+ "@elliemae/ds-test-utils": "3.70.0-alpha.9",
55
+ "@elliemae/ds-monorepo-devops": "3.70.0-alpha.9"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@elliemae/pui-theme": "~2.13.0",
59
59
  "react": "^18.3.1",
60
60
  "react-dom": "^18.3.1",
61
- "styled-components": "~5.3.9",
61
+ "styled-components": "~5.3.11",
62
62
  "styled-system": "^5.1.5"
63
63
  },
64
64
  "publishConfig": {
@@ -67,7 +67,7 @@
67
67
  },
68
68
  "scripts": {
69
69
  "dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
70
- "test": "playwright test -c ./playwright.config.mjs --pass-with-no-tests && ds-monorepo-devops test --passWithNoTests --coverage=\"false\"",
70
+ "test": "playwright test -c ./playwright.config.mjs && ds-monorepo-devops test --passWithNoTests --coverage=\"false\"",
71
71
  "lint": "node ../../../scripts/lint.mjs --fix",
72
72
  "lint:strict": "node ../../../scripts/lint-strict.mjs",
73
73
  "dts": "node ../../../scripts/dts.mjs",