@elliemae/ds-form-date-time-picker 3.18.0-next.0 → 3.18.0-next.2

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 (140) hide show
  1. package/dist/cjs/config/useControlledDateTimePicker.js +7 -4
  2. package/dist/cjs/config/useControlledDateTimePicker.js.map +2 -2
  3. package/dist/cjs/config/useGlobalKeyHandlers.js.map +2 -2
  4. package/dist/cjs/parts/ClearButton/ClearButton.js +4 -10
  5. package/dist/cjs/parts/ClearButton/ClearButton.js.map +3 -3
  6. package/dist/cjs/parts/ControlledDateTimePickerContent.js +3 -8
  7. package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +3 -3
  8. package/dist/cjs/parts/DateInputs/DDInput.js +2 -2
  9. package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
  10. package/dist/cjs/parts/DateInputs/DateInputs.js +5 -19
  11. package/dist/cjs/parts/DateInputs/DateInputs.js.map +3 -3
  12. package/dist/cjs/parts/DateInputs/MMInput.js +2 -2
  13. package/dist/cjs/parts/DateInputs/MMInput.js.map +2 -2
  14. package/dist/cjs/parts/DateInputs/YYYYInput.js +2 -2
  15. package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
  16. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +3 -8
  17. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  18. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +3 -8
  19. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  20. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +6 -27
  21. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  22. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +4 -16
  23. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  24. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +6 -9
  25. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  26. package/dist/cjs/parts/Pickers/Calendar/Day.js +3 -5
  27. package/dist/cjs/parts/Pickers/Calendar/Day.js.map +2 -2
  28. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  29. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -9
  30. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  31. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +4 -9
  32. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  33. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +4 -9
  34. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  35. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +6 -9
  36. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  37. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
  38. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +5 -22
  39. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  40. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +6 -23
  41. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  42. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +5 -22
  43. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  44. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  45. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -12
  46. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  47. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -8
  48. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  49. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +4 -9
  50. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  51. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -9
  52. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  53. package/dist/cjs/parts/Styleds.js.map +1 -1
  54. package/dist/cjs/parts/TimeInputs/HHInput.js +2 -2
  55. package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
  56. package/dist/cjs/parts/TimeInputs/MeridiemInput.js +2 -2
  57. package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
  58. package/dist/cjs/parts/TimeInputs/MinutesInput.js +2 -2
  59. package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
  60. package/dist/cjs/parts/TimeInputs/TimeInputs.js +5 -19
  61. package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +3 -3
  62. package/dist/cjs/sharedTypes.js.map +1 -1
  63. package/dist/cjs/utils/dateHelpers.js.map +1 -1
  64. package/dist/esm/config/useControlledDateTimePicker.js +8 -5
  65. package/dist/esm/config/useControlledDateTimePicker.js.map +2 -2
  66. package/dist/esm/config/useGlobalKeyHandlers.js.map +2 -2
  67. package/dist/esm/parts/ClearButton/ClearButton.js +4 -10
  68. package/dist/esm/parts/ClearButton/ClearButton.js.map +3 -3
  69. package/dist/esm/parts/ControlledDateTimePickerContent.js +3 -8
  70. package/dist/esm/parts/ControlledDateTimePickerContent.js.map +3 -3
  71. package/dist/esm/parts/DateInputs/DDInput.js +2 -2
  72. package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
  73. package/dist/esm/parts/DateInputs/DateInputs.js +5 -19
  74. package/dist/esm/parts/DateInputs/DateInputs.js.map +3 -3
  75. package/dist/esm/parts/DateInputs/MMInput.js +2 -2
  76. package/dist/esm/parts/DateInputs/MMInput.js.map +2 -2
  77. package/dist/esm/parts/DateInputs/YYYYInput.js +2 -2
  78. package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
  79. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +3 -8
  80. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  81. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +3 -8
  82. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  83. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +6 -27
  84. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  85. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +4 -16
  86. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  87. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +6 -9
  88. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  89. package/dist/esm/parts/Pickers/Calendar/Day.js +3 -5
  90. package/dist/esm/parts/Pickers/Calendar/Day.js.map +2 -2
  91. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  92. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -9
  93. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  94. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +4 -9
  95. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  96. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +4 -9
  97. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  98. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +6 -9
  99. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  100. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
  101. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +5 -22
  102. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  103. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +6 -23
  104. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  105. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +5 -22
  106. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  107. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  108. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -12
  109. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  110. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -8
  111. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  112. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +4 -9
  113. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  114. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -9
  115. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  116. package/dist/esm/parts/Styleds.js.map +1 -1
  117. package/dist/esm/parts/TimeInputs/HHInput.js +2 -2
  118. package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
  119. package/dist/esm/parts/TimeInputs/MeridiemInput.js +2 -2
  120. package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
  121. package/dist/esm/parts/TimeInputs/MinutesInput.js +2 -2
  122. package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
  123. package/dist/esm/parts/TimeInputs/TimeInputs.js +5 -19
  124. package/dist/esm/parts/TimeInputs/TimeInputs.js.map +3 -3
  125. package/dist/esm/utils/dateHelpers.js.map +1 -1
  126. package/dist/types/config/useControlledDateTimePicker.d.ts +1 -0
  127. package/dist/types/config/useGlobalKeyHandlers.d.ts +2 -2
  128. package/dist/types/parts/DateInputs/DDInput.d.ts +3 -2
  129. package/dist/types/parts/DateInputs/MMInput.d.ts +4 -3
  130. package/dist/types/parts/DateInputs/YYYYInput.d.ts +3 -2
  131. package/dist/types/parts/Pickers/Calendar/Styleds.d.ts +11 -11
  132. package/dist/types/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +4 -4
  133. package/dist/types/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +1 -1
  134. package/dist/types/parts/Pickers/TimeWheel/Styleds.d.ts +24 -0
  135. package/dist/types/parts/Styleds.d.ts +17 -10
  136. package/dist/types/parts/TimeInputs/HHInput.d.ts +3 -2
  137. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +3 -2
  138. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +3 -2
  139. package/dist/types/sharedTypes.d.ts +1 -1
  140. package/package.json +11 -11
@@ -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 React, { useContext } from 'react';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';\nimport { TimeWheelContent } from './TimeWheelContent.js';\nimport { TimeWheelContext } from './TimeWheelContext.js';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly, props } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataProps = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL]),\n [props],\n );\n if (isControllerOnly) return <TimeWheelContent />;\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n {...ariaAndDataProps}\n >\n <TimeWheelContent />\n </DSPopperJS>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACeQ;AAf/B,OAAOA,UAAS,kBAAkB;AAClC,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAC3B,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,gBAAgB,IAAI,WAAW,gBAAgB;AACzE,QAAM,EAAE,kBAAkB,MAAM,IAAI,WAAW,+BAA+B;AAC9E,QAAM,mBAAmBA,OAAM;AAAA,IAC7B,MAAM,sBAAsB,MAAM,mCAAmC,gBAAgB,SAAS,CAAC;AAAA,IAC/F,CAAC,KAAK;AAAA,EACR;AACA,MAAI;AAAkB,WAAO,oBAAC,oBAAiB;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,mCAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MACf,GAAG;AAAA,MAEJ,8BAAC,oBAAiB;AAAA;AAAA,EACpB;AAEJ;",
6
- "names": ["React"]
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';\nimport { TimeWheelContent } from './TimeWheelContent.js';\nimport { TimeWheelContext } from './TimeWheelContext.js';\nimport { styled } from '@elliemae/ds-system';\n\nconst StyledPopper = styled(DSPopperJS)``;\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly, getProps } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\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 >\n <TimeWheelContent />\n </StyledPopper>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACaQ;AAb/B,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAEvB,MAAM,eAAe,OAAO,UAAU;AAE/B,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,gBAAgB,IAAI,WAAW,gBAAgB;AACzE,QAAM,EAAE,kBAAkB,SAAS,IAAI,WAAW,+BAA+B;AACjF,MAAI;AAAkB,WAAO,oBAAC,oBAAiB;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,eAAa,mCAAmC,gBAAgB;AAAA,MAChE;AAAA,MACA,cAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,MAEf,8BAAC,oBAAiB;AAAA;AAAA,EACpB;AAEJ;",
6
+ "names": []
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 { styled, th } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../exported-related/theming.js';\n\nconst ResettedInput = styled('input', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.INPUT,\n})`\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 padding-top: 2px;\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 }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 28px; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError, disabled }) => {\n if (hasError) return theme.colors.danger[900];\n if (disabled) return theme.colors.neutral[400];\n return theme.colors.neutral[200];\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`;\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 }>`\n position: relative;\n ${({ isControllerOnly }) => (isControllerOnly ? `` : `height: 26px;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\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[200]}\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})`\n height: 26px;\n position: relative;\n visibility: ${({ shouldDisplay }) => (shouldDisplay ? 'visible' : 'hidden')};\n &:focus {\n &:after {\n z-index: 1;\n }\n }\n`;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { styled, th } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../exported-related/theming.js';\n\nconst ResettedInput = styled('input', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.INPUT,\n})`\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 padding-top: 2px;\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 }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTAINER,\n})<{ isControllerOnly: boolean; hasError: boolean; justPicker: boolean }>`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 28px; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError, disabled }) => {\n if (hasError) return theme.colors.danger[900];\n if (disabled) return theme.colors.neutral[400];\n return theme.colors.neutral[200];\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`;\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: 26px;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\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[200]}\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
5
  "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,QAAQ,UAAU;AAC3B,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC,uCAAuC;AAEhF,MAAM,gBAAgB,OAAO,SAAS;AAAA,EACpC,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAckB,GAAG,WAAW,SAAS;AAAA,aAC7B,GAAG,MAAM,aAAa;AAAA;AAAA;AAI5B,MAAM,kBAAkB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAMnC,MAAM,uBAAuB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKxC,MAAM,qBAAqB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGlD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,wBAAwB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGrD,CAAC,EAAE,SAAS,MAAO,WAAW,oBAAoB;AAAA;AAG/C,MAAM,0BAA0B,OAAO,MAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA;AAAA,IAIG,CAAC,EAAE,iBAAiB,MACpB,mBACI,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMU,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM;AACjD,MAAI;AAAU,WAAO,MAAM,OAAO,OAAO,GAAG;AAC5C,MAAI;AAAU,WAAO,MAAM,OAAO,QAAQ,GAAG;AAC7C,SAAO,MAAM,OAAO,QAAQ,GAAG;AACjC;AAAA;AAAA;AAAA,kBAGgB,CAAC,EAAE,WAAW,MAAO,aAAa,MAAM;AAAA;AAAA;AAAA,IAGtD,CAAC,EAAE,OAAO,SAAS,MAAO,WAAW,qBAAqB,MAAM,OAAO,QAAQ,GAAG,OAAO;AAAA;AAGtF,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,gCAAgC,OAAO,IAAI;AAAA;AAAA,IAEpD,CAAC,EAAE,iBAAiB,MAAO,mBAAmB,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASjD,CAAC,EAAE,OAAO,kBAAkB,SAAS,MACrC,mBACI,KACA;AAAA,6BACmB,WAAW,MAAM,OAAO,OAAO,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA;AAAA;AAKpF,MAAM,oBAAoB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAWlB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAOxD,MAAM,oBAAoB,OAAO,YAAY;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,gCAAgC;AACxC,CAAC;AAAA;AAAA;AAAA,gBAGe,CAAC,EAAE,cAAc,MAAO,gBAAgB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -23,7 +23,7 @@ const HHInput = React2.memo(
23
23
  contextRef,
24
24
  autoFocusHourInput,
25
25
  isFocused,
26
- ariaAndDataProps
26
+ getProps
27
27
  }) => {
28
28
  const validateOnChange = useCallback(
29
29
  (e) => {
@@ -54,7 +54,7 @@ const HHInput = React2.memo(
54
54
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR,
55
55
  disabled,
56
56
  "aria-disabled": disabled,
57
- ...ariaAndDataProps
57
+ getOwnerProps: getProps
58
58
  }
59
59
  );
60
60
  }
@@ -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 React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\n\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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n autoFocusHourInput: boolean;\n isFocused: boolean;\n ariaAndDataProps?: AriaAndDataProps;\n}\nexport const HHInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n autoFocusHourInput,\n isFocused,\n ariaAndDataProps,\n }: HHInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidHour(e.target.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n autoFocus={autoFocusHourInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`hours input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR}\n disabled={disabled}\n aria-disabled={disabled}\n {...ariaAndDataProps}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACmDjB;AAnDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAGnD,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,UAAkB;AACvC,MAAI,UAAU;AAAI,WAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAeO,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,EACF,MAAmC;AACjC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,cAAc,EAAE,OAAO,KAAK,GAAG;AACjC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,qBAAqB;AAAA,QACjC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACd,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\n\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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n autoFocusHourInput: boolean;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n}\nexport const HHInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n autoFocusHourInput,\n isFocused,\n getProps,\n }: HHInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidHour(e.target.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n autoFocus={autoFocusHourInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`hours input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR}\n disabled={disabled}\n aria-disabled={disabled}\n getOwnerProps={getProps}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACoDjB;AApDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAInD,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,UAAkB;AACvC,MAAI,UAAU;AAAI,WAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAeO,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,EACF,MAAmC;AACjC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,cAAc,EAAE,OAAO,KAAK,GAAG;AACjC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,qBAAqB;AAAA,QACjC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA;AAAA,IACjB;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -25,7 +25,7 @@ const MeridiemInput = React2.memo(
25
25
  ariaCurrentValueForInputs,
26
26
  contextRef,
27
27
  isFocused,
28
- ariaAndDataProps
28
+ getProps
29
29
  }) => {
30
30
  const validateOnChange = useCallback(
31
31
  (e) => {
@@ -55,7 +55,7 @@ const MeridiemInput = React2.memo(
55
55
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM,
56
56
  disabled,
57
57
  "aria-disabled": disabled,
58
- ...ariaAndDataProps
58
+ getOwnerProps: getProps
59
59
  }
60
60
  );
61
61
  }
@@ -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 React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n ariaAndDataProps?: AriaAndDataProps;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n ariaAndDataProps,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n disabled={disabled}\n aria-disabled={disabled}\n {...ariaAndDataProps}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACqDjB;AArDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAGnD,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa;AAAI,WAAO;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;AAeO,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,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACvC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,wBAAwB;AAAA,QACpC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACd,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n getProps,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n disabled={disabled}\n aria-disabled={disabled}\n getOwnerProps={getProps}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACsDjB;AAtDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAInD,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa;AAAI,WAAO;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;AAeO,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,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACvC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,wBAAwB;AAAA,QACpC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA;AAAA,IACjB;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -22,7 +22,7 @@ const MinutesInput = React2.memo(
22
22
  ariaCurrentValueForInputs,
23
23
  contextRef,
24
24
  isFocused,
25
- ariaAndDataProps
25
+ getProps
26
26
  }) => {
27
27
  const validateOnChange = useCallback(
28
28
  (e) => {
@@ -52,7 +52,7 @@ const MinutesInput = React2.memo(
52
52
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE,
53
53
  disabled,
54
54
  "aria-disabled": disabled,
55
- ...ariaAndDataProps
55
+ getOwnerProps: getProps
56
56
  }
57
57
  );
58
58
  }
@@ -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 React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\n\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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n ariaAndDataProps?: AriaAndDataProps;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n ariaAndDataProps,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n disabled={disabled}\n aria-disabled={disabled}\n {...ariaAndDataProps}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACiDjB;AAjDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0CAA0C;AACnD,SAAS,0BAA0B;AAGnC,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY;AAAI,WAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAcO,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,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AACrC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,uBAAuB;AAAA,QACnC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACd,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\nimport type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';\n\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 contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n getProps: ControlledDateTimePickerContextT['getProps'];\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n getProps,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n disabled={disabled}\n aria-disabled={disabled}\n getOwnerProps={getProps}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACkDjB;AAlDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0CAA0C;AACnD,SAAS,0BAA0B;AAInC,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY;AAAI,WAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAcO,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,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AACrC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,uBAAuB;AAAA,QACnC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACf,eAAe;AAAA;AAAA,IACjB;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,10 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import React2, { useContext } from "react";
3
+ import { useContext } from "react";
4
4
  import { Grid } from "@elliemae/ds-grid";
5
- import { getPropsPerDatatestid } from "@elliemae/ds-props-helpers";
6
5
  import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX.js";
7
- import { ControlledDateTimePickerDatatestid } from "../../ControlledDateTimePickerDatatestid.js";
8
6
  import { HHInput } from "./HHInput.js";
9
7
  import { MinutesInput } from "./MinutesInput.js";
10
8
  import { MeridiemInput } from "./MeridiemInput.js";
@@ -38,20 +36,8 @@ const TimeInputs = () => {
38
36
  ariaCurrentValueForInputs,
39
37
  latestInteractionRegion,
40
38
  currFocusDescriber,
41
- props
39
+ getProps
42
40
  } = useContext(ControlledDateTimePickerContext);
43
- const ariaAndDataPropsHoursInput = React2.useMemo(
44
- () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR]),
45
- [props]
46
- );
47
- const ariaAndDataPropsMinutesInput = React2.useMemo(
48
- () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE]),
49
- [props]
50
- );
51
- const ariaAndDataPropsMeridiemInput = React2.useMemo(
52
- () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM]),
53
- [props]
54
- );
55
41
  return /* @__PURE__ */ jsxs(
56
42
  Grid,
57
43
  {
@@ -77,7 +63,7 @@ const TimeInputs = () => {
77
63
  autoFocusHourInput,
78
64
  disabled,
79
65
  isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "hour-input",
80
- ariaAndDataProps: ariaAndDataPropsHoursInput
66
+ getProps
81
67
  }
82
68
  ) }),
83
69
  /* @__PURE__ */ jsx(StyledColonSeparator, { alignItems: "center", children: ":" }),
@@ -94,7 +80,7 @@ const TimeInputs = () => {
94
80
  ariaCurrentValueForInputs,
95
81
  disabled,
96
82
  isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "minute-input",
97
- ariaAndDataProps: ariaAndDataPropsMinutesInput
83
+ getProps
98
84
  }
99
85
  ) }),
100
86
  /* @__PURE__ */ jsx(StyledSeparator, { children: " " }),
@@ -111,7 +97,7 @@ const TimeInputs = () => {
111
97
  ariaCurrentValueForInputs,
112
98
  disabled,
113
99
  isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "meridiem-input",
114
- ariaAndDataProps: ariaAndDataPropsMeridiemInput
100
+ getProps
115
101
  }
116
102
  ) })
117
103
  ]
@@ -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 { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.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 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 props,\n } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataPropsHoursInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR]),\n [props],\n );\n const ariaAndDataPropsMinutesInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE]),\n [props],\n );\n const ariaAndDataPropsMeridiemInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM]),\n [props],\n );\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 placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n ariaAndDataProps={ariaAndDataPropsHoursInput}\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 placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n ariaAndDataProps={ariaAndDataPropsMinutesInput}\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 placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n ariaAndDataProps={ariaAndDataPropsMeridiemInput}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACyDnB,SAUI,KAVJ;AAzDJ,OAAOA,UAAS,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,6BAA6B;AACtC,SAAS,uCAAuC;AAChD,SAAS,0CAA0C;AACnD,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,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,EACF,IAAI,WAAW,+BAA+B;AAC9C,QAAM,6BAA6BA,OAAM;AAAA,IACvC,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,IAAI,CAAC;AAAA,IACtF,CAAC,KAAK;AAAA,EACR;AACA,QAAM,+BAA+BA,OAAM;AAAA,IACzC,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,MAAM,CAAC;AAAA,IACxF,CAAC,KAAK;AAAA,EACR;AACA,QAAM,gCAAgCA,OAAM;AAAA,IAC1C,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,QAAQ,CAAC;AAAA,IAC1F,CAAC,KAAK;AAAA,EACR;AAEA,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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
- "names": ["React"]
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 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 } = 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 placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n getProps={getProps}\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 placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n getProps={getProps}\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 placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n getProps={getProps}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC2CnB,SAUI,KAVJ;AA3CJ,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,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,EACF,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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;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,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E;AAAA;AAAA,QACF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/utils/dateHelpers.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { createRef } from 'react';\nimport { monthNames } from './constants.js';\nimport { prependStringWithPlaceHolders, deconstructValuesFromDateString, isIncompleteString } from './stringHelpers.js';\nimport { convertToPositiveNumberIfPossible } from './numberHelpers.js';\nimport type { DSControlledDateTimePickerT } from '../propTypes.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes.js';\n\nexport const getDateValuesFromDate = (day: Date): DateValuesT => ({\n month: day?.getMonth?.() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: day?.getDate?.() as DSControlledDateTimePickerInternalsT.DateDay,\n year: day?.getFullYear?.(),\n});\nexport const getDateStringFromDay = (day: Date): string => {\n const monthFromDay = prependStringWithPlaceHolders(`${day.getMonth() + 1}`, 2); // months from 1-12\n const dayFromDay = prependStringWithPlaceHolders(`${day.getDate()}`, 2);\n const yearFromDay = prependStringWithPlaceHolders(`${day.getFullYear()}`, 4);\n\n return `${monthFromDay}/${dayFromDay}/${yearFromDay}`;\n};\nexport const getTimeStringFromDay = (day: Date): string => {\n const hoursNum = day.getHours();\n const meridiem = hoursNum > 12 ? 'PM' : 'AM';\n const twelveHourFormat = hoursNum > 12 ? hoursNum - 12 : hoursNum;\n const minutesNum = day.getMinutes();\n\n const hoursFromDay = prependStringWithPlaceHolders(`${twelveHourFormat}`, 2);\n const minutesFromDay = prependStringWithPlaceHolders(`${minutesNum}`, 2);\n\n return `${hoursFromDay}:${minutesFromDay} ${meridiem}`;\n};\nexport const getMonthNameByMonthNumber = (monthNumber: number): string => monthNames[monthNumber];\nexport const isSameDateMoment = (dateA: Date, dateB: Date): boolean => dateA?.getTime?.() === dateB?.getTime?.();\n\nexport const compareTwoDatesDayEquality = (dayA: Date, dayB: Date): boolean => {\n const { day: currD, month: currM, year: currY } = getDateValuesFromDate(dayA);\n const { day: focusD, month: focusM, year: focusY } = getDateValuesFromDate(dayB);\n return currD === focusD && currM === focusM && currY === focusY;\n};\n\nexport const getLastDayOfMonth = (month: DSControlledDateTimePickerInternalsT.DateMonth, year: number): Date =>\n new Date(year, month + 1, 0);\nexport const isValidDayForTheMonth = (\n month: DSControlledDateTimePickerInternalsT.DateMonth,\n year: number,\n day: DSControlledDateTimePickerInternalsT.DateDay,\n): boolean => new Date(year, month, day)?.getMonth?.() === month;\nexport const getDayFromDateString = (dateString: string): Date | null => {\n const { month, day, year } = deconstructValuesFromDateString(dateString);\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day) as DSControlledDateTimePickerInternalsT.DateDay | -1;\n const yearNum = convertToPositiveNumberIfPossible(year);\n if (\n monthNum !== -1 &&\n dayNum !== -1 &&\n yearNum !== -1 &&\n isValidDayForTheMonth((monthNum - 1) as DSControlledDateTimePickerInternalsT.DateMonth, yearNum, dayNum)\n )\n return new Date(yearNum, monthNum - 1, dayNum);\n return null;\n};\nexport const isValidDayForTheMonthDateString = (dateString: string): boolean => {\n if (isIncompleteString(dateString)) return true;\n const { month } = deconstructValuesFromDateString(dateString);\n const monthInt = convertToPositiveNumberIfPossible(month);\n if (monthInt === -1) return false;\n const monthDateMonth = (monthInt - 1) as DSControlledDateTimePickerInternalsT.DateMonth;\n return getDayFromDateString(dateString)?.getMonth?.() === monthDateMonth;\n};\n\nexport const getValidationDateStringMetaInfo = (\n dateString: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsOutOfRangeDay = (day: string) => false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsDisabledDay = (day: string) => false,\n): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {};\n if (!isIncompleteString(dateString)) {\n metaInfo.isDayPresentInMonth = isValidDayForTheMonthDateString(dateString);\n if (!metaInfo.isDayPresentInMonth)\n metaInfo.suggestedErrorMsg = 'The selected day is not part of the selected month';\n const day = getDayFromDateString(dateString);\n if (day) {\n metaInfo.isOutOfRangeDay = getIsOutOfRangeDay(dateString);\n metaInfo.isDisabledDay = getIsDisabledDay(dateString);\n if (metaInfo.isOutOfRangeDay || metaInfo.isDisabledDay)\n metaInfo.suggestedErrorMsg = 'The selected day is not allowed';\n }\n }\n return metaInfo;\n};\n// code adapted from https://github.com/datejs/Datejs/blob/master/src/core.js\nexport const isLeapYear = (year: number): boolean => (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\nexport const getHowManyDaysInMonth = (year: number, month: number): number => {\n const daysPerMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n return daysPerMonth[month];\n};\n\nexport const dateIsLeapYear = (date: Date): boolean => isLeapYear(date.getFullYear());\n\nexport const dateGetDaysInMonth = (date: Date): number => getHowManyDaysInMonth(date.getFullYear(), date.getMonth());\n\nexport const dateAddMonths = (date: Date, value: number): Date => {\n const copiedDate = new Date(date.getTime());\n const n = copiedDate.getDate();\n copiedDate.setDate(1);\n copiedDate.setMonth(copiedDate.getMonth() + value);\n copiedDate.setDate(Math.min(n, dateGetDaysInMonth(copiedDate)));\n return copiedDate;\n};\nexport const dateAddYear = (date: Date, value: number): Date => dateAddMonths(date, value * 12);\n\ninterface DateValuesT {\n month: DSControlledDateTimePickerInternalsT.DateMonth;\n year: number;\n day?: DSControlledDateTimePickerInternalsT.DateDay;\n}\ninterface DateSumValuesT {\n monthsToSum?: number;\n yearsToSum?: number;\n daysToSum?: number;\n}\n// sumFromDateValues supports negative values to \"subtract\"\nexport const sumFromDateValues = (\n { month, year, day = 1 }: DateValuesT,\n { monthsToSum = 0, yearsToSum = 0, daysToSum = 0 }: DateSumValuesT,\n): DateValuesT => {\n let newDate = new Date(year, month, day);\n if (yearsToSum) newDate = dateAddYear(newDate, yearsToSum);\n\n if (monthsToSum) newDate = dateAddMonths(newDate, monthsToSum);\n\n if (daysToSum) newDate.setDate(newDate.getDate() + daysToSum);\n\n return {\n month: newDate.getMonth() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: newDate.getDate() as DSControlledDateTimePickerInternalsT.DateDay,\n year: newDate.getFullYear(),\n };\n};\nexport const sumValuesToDate = (day: Date, sumValues: DateSumValuesT): Date => {\n const dateAsVals = getDateValuesFromDate(day);\n const { month, year, day: newD } = sumFromDateValues(dateAsVals, sumValues);\n return new Date(year, month, newD);\n};\nexport const subtractYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() - howManyMore);\n return newDate;\n};\nexport const subtractMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() - howManyMore);\n return newDate;\n};\nexport const sumMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() + howManyMore);\n return newDate;\n};\nexport const sumYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() + howManyMore);\n return newDate;\n};\n\nexport const getDaysInMonth = (month: number, year: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (date.getMonth() === month) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\nexport const getLastXDaysFromPreviousMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n date.setDate(date.getDate() - 1);\n days.push(new Date(date));\n }\n return days.reverse();\n};\nexport const getFirstXDaysFromNextMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = sumMonths(new Date(year, month, 1), 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\n\nexport const getFiveBySevenCurrentMonthDaysMatrix = (\n month: number,\n year: number,\n): DSControlledDateTimePickerInternalsT.MetaMonthDay[] => {\n const currentMonthDays = getDaysInMonth(month, year).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: false,\n isCurrMonthDay: true,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }));\n const firstDayOfTheMonthWeekDay = currentMonthDays?.[0]?.day?.getDay();\n const previousMonthDaysToPrepend = getLastXDaysFromPreviousMonth(month, year, firstDayOfTheMonthWeekDay).map(\n (day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: true,\n isNextMonthDay: false,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }),\n );\n const lastDayOfTheMonthWeekDay = currentMonthDays?.[currentMonthDays.length - 1]?.day?.getDay();\n const nextMonthDaysToAppend = getFirstXDaysFromNextMonth(month, year, 6 - lastDayOfTheMonthWeekDay).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: true,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }));\n\n return [...previousMonthDaysToPrepend, ...currentMonthDays, ...nextMonthDaysToAppend];\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { createRef } from 'react';\nimport { monthNames } from './constants.js';\nimport { prependStringWithPlaceHolders, deconstructValuesFromDateString, isIncompleteString } from './stringHelpers.js';\nimport { convertToPositiveNumberIfPossible } from './numberHelpers.js';\nimport type { DSControlledDateTimePickerT } from '../propTypes.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes.js';\n\nexport const getDateValuesFromDate = (day: Date): DateValuesT => ({\n month: day?.getMonth?.() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: day?.getDate?.() as DSControlledDateTimePickerInternalsT.DateDay,\n year: day?.getFullYear?.(),\n});\nexport const getDateStringFromDay = (day: Date): string => {\n const monthFromDay = prependStringWithPlaceHolders(`${day.getMonth() + 1}`, 2); // months from 1-12\n const dayFromDay = prependStringWithPlaceHolders(`${day.getDate()}`, 2);\n const yearFromDay = prependStringWithPlaceHolders(`${day.getFullYear()}`, 4);\n\n return `${monthFromDay}/${dayFromDay}/${yearFromDay}`;\n};\nexport const getTimeStringFromDay = (day: Date): string => {\n const hoursNum = day.getHours();\n const meridiem = hoursNum > 12 ? 'PM' : 'AM';\n const twelveHourFormat = hoursNum > 12 ? hoursNum - 12 : hoursNum;\n const minutesNum = day.getMinutes();\n\n const hoursFromDay = prependStringWithPlaceHolders(`${twelveHourFormat}`, 2);\n const minutesFromDay = prependStringWithPlaceHolders(`${minutesNum}`, 2);\n\n return `${hoursFromDay}:${minutesFromDay} ${meridiem}`;\n};\nexport const getMonthNameByMonthNumber = (monthNumber: number): string => monthNames[monthNumber];\nexport const isSameDateMoment = (dateA: Date, dateB: Date): boolean => dateA?.getTime?.() === dateB?.getTime?.();\n\nexport const compareTwoDatesDayEquality = (dayA: Date, dayB: Date): boolean => {\n const { day: currD, month: currM, year: currY } = getDateValuesFromDate(dayA);\n const { day: focusD, month: focusM, year: focusY } = getDateValuesFromDate(dayB);\n return currD === focusD && currM === focusM && currY === focusY;\n};\n\nexport const getLastDayOfMonth = (month: DSControlledDateTimePickerInternalsT.DateMonth, year: number): Date =>\n new Date(year, month + 1, 0);\nexport const isValidDayForTheMonth = (\n month: DSControlledDateTimePickerInternalsT.DateMonth,\n year: number,\n day: DSControlledDateTimePickerInternalsT.DateDay,\n): boolean => new Date(year, month, day)?.getMonth?.() === month;\nexport const getDayFromDateString = (dateString: string): Date | null => {\n const { month, day, year } = deconstructValuesFromDateString(dateString);\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day) as DSControlledDateTimePickerInternalsT.DateDay | -1;\n const yearNum = convertToPositiveNumberIfPossible(year);\n if (\n monthNum !== -1 &&\n dayNum !== -1 &&\n yearNum !== -1 &&\n isValidDayForTheMonth((monthNum - 1) as DSControlledDateTimePickerInternalsT.DateMonth, yearNum, dayNum)\n )\n return new Date(yearNum, monthNum - 1, dayNum);\n return null;\n};\nexport const isValidDayForTheMonthDateString = (dateString: string): boolean => {\n if (isIncompleteString(dateString)) return true;\n const { month } = deconstructValuesFromDateString(dateString);\n const monthInt = convertToPositiveNumberIfPossible(month);\n if (monthInt === -1) return false;\n const monthDateMonth = (monthInt - 1) as DSControlledDateTimePickerInternalsT.DateMonth;\n return getDayFromDateString(dateString)?.getMonth?.() === monthDateMonth;\n};\n\nexport const getValidationDateStringMetaInfo = (\n dateString: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsOutOfRangeDay = (day: string) => false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsDisabledDay = (day: string) => false,\n): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {};\n if (!isIncompleteString(dateString)) {\n metaInfo.isDayPresentInMonth = isValidDayForTheMonthDateString(dateString);\n if (!metaInfo.isDayPresentInMonth)\n metaInfo.suggestedErrorMsg = 'The selected day is not part of the selected month';\n const day = getDayFromDateString(dateString);\n if (day) {\n metaInfo.isOutOfRangeDay = getIsOutOfRangeDay(dateString);\n metaInfo.isDisabledDay = getIsDisabledDay(dateString);\n if (metaInfo.isOutOfRangeDay || metaInfo.isDisabledDay)\n metaInfo.suggestedErrorMsg = 'The selected day is not allowed';\n }\n }\n return metaInfo;\n};\n// code adapted from https://github.com/datejs/Datejs/blob/master/src/core.js\nexport const isLeapYear = (year: number): boolean => (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\nexport const getHowManyDaysInMonth = (year: number, month: number): number => {\n const daysPerMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n return daysPerMonth[month];\n};\n\nexport const dateIsLeapYear = (date: Date): boolean => isLeapYear(date.getFullYear());\n\nexport const dateGetDaysInMonth = (date: Date): number => getHowManyDaysInMonth(date.getFullYear(), date.getMonth());\n\nexport const dateAddMonths = (date: Date, value: number): Date => {\n const copiedDate = new Date(date.getTime());\n const n = copiedDate.getDate();\n copiedDate.setDate(1);\n copiedDate.setMonth(copiedDate.getMonth() + value);\n copiedDate.setDate(Math.min(n, dateGetDaysInMonth(copiedDate)));\n return copiedDate;\n};\nexport const dateAddYear = (date: Date, value: number): Date => dateAddMonths(date, value * 12);\n\ninterface DateValuesT {\n month: DSControlledDateTimePickerInternalsT.DateMonth;\n year: number;\n day?: DSControlledDateTimePickerInternalsT.DateDay;\n}\ninterface DateSumValuesT {\n monthsToSum?: number;\n yearsToSum?: number;\n daysToSum?: number;\n}\n// sumFromDateValues supports negative values to \"subtract\"\nexport const sumFromDateValues = (\n { month, year, day = 1 }: DateValuesT,\n { monthsToSum = 0, yearsToSum = 0, daysToSum = 0 }: DateSumValuesT,\n): DateValuesT => {\n let newDate = new Date(year, month, day);\n if (yearsToSum) newDate = dateAddYear(newDate, yearsToSum);\n\n if (monthsToSum) newDate = dateAddMonths(newDate, monthsToSum);\n\n if (daysToSum) newDate.setDate(newDate.getDate() + daysToSum);\n\n return {\n month: newDate.getMonth() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: newDate.getDate() as DSControlledDateTimePickerInternalsT.DateDay,\n year: newDate.getFullYear(),\n };\n};\nexport const sumValuesToDate = (day: Date, sumValues: DateSumValuesT): Date => {\n const dateAsVals = getDateValuesFromDate(day);\n const { month, year, day: newD } = sumFromDateValues(dateAsVals, sumValues);\n return new Date(year, month, newD);\n};\nexport const subtractYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() - howManyMore);\n return newDate;\n};\nexport const subtractMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() - howManyMore);\n return newDate;\n};\nexport const sumMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() + howManyMore);\n return newDate;\n};\nexport const sumYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() + howManyMore);\n return newDate;\n};\n\nexport const getDaysInMonth = (month: number, year: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (date.getMonth() === month) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\nexport const getLastXDaysFromPreviousMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n date.setDate(date.getDate() - 1);\n days.push(new Date(date));\n }\n return days.reverse();\n};\nexport const getFirstXDaysFromNextMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = sumMonths(new Date(year, month, 1), 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\n\nexport const getFiveBySevenCurrentMonthDaysMatrix = (\n month: number,\n year: number,\n): DSControlledDateTimePickerInternalsT.MetaMonthDay[] => {\n const currentMonthDays = getDaysInMonth(month, year).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: false,\n isCurrMonthDay: true,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>() as React.MutableRefObject<HTMLButtonElement>,\n }));\n const firstDayOfTheMonthWeekDay = currentMonthDays?.[0]?.day?.getDay();\n const previousMonthDaysToPrepend = getLastXDaysFromPreviousMonth(month, year, firstDayOfTheMonthWeekDay).map(\n (day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: true,\n isNextMonthDay: false,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>() as React.MutableRefObject<HTMLButtonElement>,\n }),\n );\n const lastDayOfTheMonthWeekDay = currentMonthDays?.[currentMonthDays.length - 1]?.day?.getDay();\n const nextMonthDaysToAppend = getFirstXDaysFromNextMonth(month, year, 6 - lastDayOfTheMonthWeekDay).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: true,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>() as React.MutableRefObject<HTMLButtonElement>,\n }));\n\n return [...previousMonthDaysToPrepend, ...currentMonthDays, ...nextMonthDaysToAppend];\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,7 @@ import { useGlobalKeyHandlers } from './useGlobalKeyHandlers.js';
9
9
  import type { DSControlledDateTimePickerT } from '../propTypes.js';
10
10
  export type ControlledDateTimePickerContextT = ReturnType<typeof useGetFlags> & ReturnType<typeof useFocusTracker> & ReturnType<typeof useGetReferences> & ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useRelevantValueFromProps> & ReturnType<typeof useGetDestructuredValues> & ReturnType<typeof useChangeHandlers> & ReturnType<typeof useGlobalKeyHandlers> & {
11
11
  props: DSControlledDateTimePickerT.InternalProps;
12
+ getProps: () => DSControlledDateTimePickerT.InternalProps;
12
13
  ariaCurrentValueForInputs: string;
13
14
  globalAttrs: Record<string, unknown>;
14
15
  xstyledAttrs: Record<string, unknown>;
@@ -12,7 +12,7 @@ interface Config {
12
12
  focusTrackers: ReturnType<typeof useFocusTracker>;
13
13
  }
14
14
  export declare const useGlobalKeyHandlers: ({ propsBasedOnType, changeHandlers, focusTrackers, flags }: Config) => {
15
- onFillWithCurrentDateKeys: (e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>, metaInfo?: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => void;
16
- onGlobalKeyDown: (e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>) => void;
15
+ onFillWithCurrentDateKeys: (e: React.KeyboardEvent<HTMLDivElement>, metaInfo?: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => void;
16
+ onGlobalKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
17
17
  };
18
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ import type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';
3
4
  interface DDInputsPropsT {
4
5
  onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
6
  onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
@@ -11,7 +12,7 @@ interface DDInputsPropsT {
11
12
  ariaCurrentValueForInputs: string;
12
13
  contextRef: React.MutableRefObject<HTMLInputElement | null>;
13
14
  isFocused: boolean;
14
- ariaAndDataProps?: AriaAndDataProps;
15
+ getProps: ControlledDateTimePickerContextT['getProps'];
15
16
  }
16
- export declare const DDInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, contextRef, placeholder, ariaCurrentValueForInputs, isFocused, ariaAndDataProps, }: DDInputsPropsT) => JSX.Element>;
17
+ export declare const DDInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, contextRef, placeholder, ariaCurrentValueForInputs, isFocused, getProps, }: DDInputsPropsT) => JSX.Element>;
17
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ import type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';
3
4
  interface MMInputsPropsT {
4
5
  onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
6
  onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
@@ -12,8 +13,8 @@ interface MMInputsPropsT {
12
13
  placeholder: string;
13
14
  ariaCurrentValueForInputs: string;
14
15
  isFocused: boolean;
15
- innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>;
16
- ariaAndDataProps?: AriaAndDataProps;
16
+ innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null> | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);
17
+ getProps: ControlledDateTimePickerContextT['getProps'];
17
18
  }
18
- export declare const MMInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, contextRef, innerRef, autoFocusMonthInput, ariaCurrentValueForInputs, isFocused, ariaAndDataProps, }: MMInputsPropsT) => JSX.Element>;
19
+ export declare const MMInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, contextRef, innerRef, autoFocusMonthInput, ariaCurrentValueForInputs, isFocused, getProps, }: MMInputsPropsT) => JSX.Element>;
19
20
  export {};
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ import type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';
3
4
  interface YYYYInputsPropsT {
4
5
  onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
6
  onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
@@ -11,7 +12,7 @@ interface YYYYInputsPropsT {
11
12
  placeholder: string;
12
13
  ariaCurrentValueForInputs: string;
13
14
  isFocused: boolean;
14
- ariaAndDataProps?: AriaAndDataProps;
15
+ getProps: ControlledDateTimePickerContextT['getProps'];
15
16
  }
16
- export declare const YYYYInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, contextRef, ariaCurrentValueForInputs, isFocused, ariaAndDataProps, }: YYYYInputsPropsT) => JSX.Element>;
17
+ export declare const YYYYInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, contextRef, ariaCurrentValueForInputs, isFocused, getProps, }: YYYYInputsPropsT) => JSX.Element>;
17
18
  export {};
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
3
- export declare const StyledShadowWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
4
- export declare const StyledCalendarWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
5
- export declare const StyledHeader: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
- export declare const StyledHeaderLabel: import("styled-components").StyledComponent<"h3", import("@elliemae/ds-system").Theme, object, never>;
7
- export declare const StyledHeaderButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
8
- export declare const StyledBody: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
9
- export declare const StyledDayBtn: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
2
+ export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
3
+ export declare const StyledShadowWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
4
+ export declare const StyledCalendarWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
5
+ export declare const StyledHeader: import("styled-components").StyledComponent<"section", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
6
+ export declare const StyledHeaderLabel: import("styled-components").StyledComponent<"h3", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
7
+ export declare const StyledHeaderButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
8
+ export declare const StyledBody: import("styled-components").StyledComponent<"section", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
9
+ export declare const StyledDayBtn: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
10
10
  export declare const StyledWeekDaysListWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, {
11
11
  [x: string]: any;
12
12
  [x: number]: any;
@@ -16,6 +16,6 @@ export declare const StyledWeekDaysListWrapper: import("styled-components").Styl
16
16
  } & {
17
17
  as?: string | import("react").ComponentType<any> | undefined;
18
18
  forwardedAs?: string | import("react").ComponentType<any> | undefined;
19
- }, never>;
20
- export declare const StyledWeekDaysHeaderItem: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
21
- export declare const CalendarFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object, never>;
19
+ } & import("@elliemae/ds-system").OwnerInterface, never>;
20
+ export declare const StyledWeekDaysHeaderItem: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
21
+ export declare const CalendarFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
3
- export declare const StyledCalendarWithTimeWheelWrapper: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
2
+ export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
3
+ export declare const StyledCalendarWithTimeWheelWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
4
4
  export declare const StyledCalendar: import("styled-components").StyledComponent<({ className }: {
5
5
  className?: string | undefined;
6
- }) => JSX.Element, import("@elliemae/ds-system").Theme, object, never>;
7
- export declare const CalendarWithTimeWheelFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object, never>;
6
+ }) => JSX.Element, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
7
+ export declare const CalendarWithTimeWheelFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
@@ -4,7 +4,7 @@ export interface CalendarWithTimeWheelContextT {
4
4
  ariaCurrentValueForInputs: string;
5
5
  showCalendarWithTimeWheel: boolean;
6
6
  closeCalendar: () => void;
7
- handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;
7
+ handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
8
8
  handleSetTriggerRef: (instance: HTMLButtonElement) => void;
9
9
  handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
10
10
  handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ interface StyledWheelListItemPropsT {
3
+ isCurrentListItem?: boolean;
4
+ selected?: boolean;
5
+ }
6
+ interface StyledTimePickerContainerT {
7
+ showShadow?: boolean;
8
+ isControllerOnly: boolean;
9
+ }
10
+ export declare const StyledIconTriggerButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
11
+ export declare const StyledWheelList: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
12
+ export declare const StyledTimePickerContainer: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledTimePickerContainerT & import("@elliemae/ds-system").OwnerInterface, never>;
13
+ export declare const StyledTimePickerHead: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
14
+ export declare const StyledTimePickerWheelsLegend: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
15
+ export declare const StyledTimePickerWheelWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
16
+ export declare const StyledTimeBtn: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, {
17
+ isCurrentListItem: boolean;
18
+ selected: boolean;
19
+ isDisabled: boolean;
20
+ } & import("@elliemae/ds-system").OwnerInterface, never>;
21
+ export declare const StyledWheelListItem: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledWheelListItemPropsT & import("@elliemae/ds-system").OwnerInterface, never>;
22
+ export declare const StyledWheelChangeTimeBtn: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
23
+ export declare const TimeWheelFooterMessage: import("styled-components").StyledComponent<"footer", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
24
+ export {};
@@ -1,13 +1,20 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
3
- export declare const StyledColonSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
4
- export declare const Styled2DigitsInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
5
- export declare const StyledMin4DigitsInput: import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
6
- export declare const StyledInputsWrapperGrid: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
7
- export declare const StyledDateInputsWrapperGrid: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
8
- export declare const StyledTimeInputsWrapperGrid: import("styled-components").StyledComponent<keyof JSX.IntrinsicElements, import("@elliemae/ds-system").Theme, Record<string, unknown> & object, never>;
2
+ export declare const StyledSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
3
+ export declare const StyledColonSeparator: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
4
+ export declare const Styled2DigitsInput: import("styled-components").StyledComponent<import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
5
+ export declare const StyledMin4DigitsInput: import("styled-components").StyledComponent<import("styled-components").StyledComponent<"input", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
6
+ export declare const StyledInputsWrapperGrid: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, {
7
+ isControllerOnly: boolean;
8
+ hasError: boolean;
9
+ justPicker: boolean;
10
+ } & import("@elliemae/ds-system").OwnerInterface, never>;
11
+ export declare const StyledDateInputsWrapperGrid: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
12
+ export declare const StyledTimeInputsWrapperGrid: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
9
13
  export declare const StyledPickersIconsWrapperGrid: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, {
10
14
  isControllerOnly: boolean;
11
- }, never>;
12
- export declare const StyledFocusWithIn: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object, never>;
13
- export declare const StyledClearButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, object, never>;
15
+ hasError: boolean;
16
+ } & import("@elliemae/ds-system").OwnerInterface, never>;
17
+ export declare const StyledFocusWithIn: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid/dist/types/react-desc-prop-types.js").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface, never>;
18
+ export declare const StyledClearButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button").DSButtonT.Props>, import("@elliemae/ds-system").Theme, {
19
+ shouldDisplay: boolean;
20
+ } & import("@elliemae/ds-system").OwnerInterface, never>;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';
3
+ import type { ControlledDateTimePickerContextT } from '../../config/useControlledDateTimePicker.js';
3
4
  interface HHInputsPropsT {
4
5
  onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;
5
6
  onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;
@@ -12,7 +13,7 @@ interface HHInputsPropsT {
12
13
  ariaCurrentValueForInputs: string;
13
14
  autoFocusHourInput: boolean;
14
15
  isFocused: boolean;
15
- ariaAndDataProps?: AriaAndDataProps;
16
+ getProps: ControlledDateTimePickerContextT['getProps'];
16
17
  }
17
- export declare const HHInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, ariaCurrentValueForInputs, contextRef, autoFocusHourInput, isFocused, ariaAndDataProps, }: HHInputsPropsT) => JSX.Element>;
18
+ export declare const HHInput: React.MemoExoticComponent<({ onChange, onBlur, onFocus, onKeyDown, value, disabled, placeholder, ariaCurrentValueForInputs, contextRef, autoFocusHourInput, isFocused, getProps, }: HHInputsPropsT) => JSX.Element>;
18
19
  export {};